igniteui-webcomponents 1.0.0 → 2.0.0
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/CHANGELOG.md +45 -1
- package/README.md +17 -1
- package/components/avatar/avatar.d.ts +19 -3
- package/components/avatar/avatar.js.map +1 -1
- package/components/avatar/avatar.material.css.d.ts +0 -1
- package/components/avatar/avatar.material.css.js +1 -1
- package/components/avatar/avatar.material.css.js.map +1 -1
- package/components/badge/badge.d.ts +17 -5
- package/components/badge/badge.js.map +1 -1
- package/components/badge/badge.material.css.d.ts +0 -1
- package/components/badge/badge.material.css.js +1 -1
- package/components/badge/badge.material.css.js.map +1 -1
- package/components/button/button-base.d.ts +18 -1
- package/components/button/button-base.js +16 -0
- package/components/button/button-base.js.map +1 -1
- package/components/button/button.d.ts +20 -3
- package/components/button/button.js.map +1 -1
- package/components/button/button.material.css.d.ts +0 -1
- package/components/button/button.material.css.js +1 -1
- package/components/button/button.material.css.js.map +1 -1
- package/components/button/icon-button.d.ts +14 -3
- package/components/button/icon-button.js +15 -1
- package/components/button/icon-button.js.map +1 -1
- package/components/button/icon-button.material.css.d.ts +0 -1
- package/components/button/icon-button.material.css.js +1 -1
- package/components/button/icon-button.material.css.js.map +1 -1
- package/components/calendar/calendar.d.ts +39 -4
- package/components/calendar/calendar.js +34 -12
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/calendar.material.css.d.ts +0 -1
- package/components/calendar/calendar.material.css.js +1 -1
- package/components/calendar/calendar.material.css.js.map +1 -1
- package/components/calendar/common/calendar-base.d.ts +17 -2
- package/components/calendar/common/calendar-base.js +28 -4
- package/components/calendar/common/calendar-base.js.map +1 -1
- package/components/calendar/common/calendar.model.d.ts +57 -1
- package/components/calendar/common/utils.d.ts +0 -1
- package/components/calendar/days-view/days-view.d.ts +23 -3
- package/components/calendar/days-view/days-view.js +38 -35
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/days-view/days-view.material.css.d.ts +0 -1
- package/components/calendar/days-view/days-view.material.css.js +1 -1
- package/components/calendar/days-view/days-view.material.css.js.map +1 -1
- package/components/calendar/months-view/months-view.d.ts +15 -3
- package/components/calendar/months-view/months-view.js +4 -2
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/months-view/months-view.material.css.d.ts +0 -1
- package/components/calendar/years-view/years-view.d.ts +13 -2
- package/components/calendar/years-view/years-view.js +4 -2
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/calendar/years-view/years-view.material.css.d.ts +0 -1
- package/components/card/card.actions.d.ts +9 -3
- package/components/card/card.actions.js.map +1 -1
- package/components/card/card.actions.material.css.d.ts +0 -1
- package/components/card/card.actions.material.css.js +1 -1
- package/components/card/card.actions.material.css.js.map +1 -1
- package/components/card/card.content.d.ts +7 -3
- package/components/card/card.content.js.map +1 -1
- package/components/card/card.content.material.css.d.ts +0 -1
- package/components/card/card.content.material.css.js +1 -1
- package/components/card/card.content.material.css.js.map +1 -1
- package/components/card/card.d.ts +9 -4
- package/components/card/card.header.d.ts +12 -3
- package/components/card/card.header.js.map +1 -1
- package/components/card/card.header.material.css.d.ts +0 -1
- package/components/card/card.header.material.css.js +1 -1
- package/components/card/card.header.material.css.js.map +1 -1
- package/components/card/card.js +2 -2
- package/components/card/card.js.map +1 -1
- package/components/card/card.material.css.d.ts +0 -1
- package/components/card/card.material.css.js +1 -1
- package/components/card/card.material.css.js.map +1 -1
- package/components/card/card.media.d.ts +7 -3
- package/components/card/card.media.js.map +1 -1
- package/components/card/card.media.material.css.d.ts +0 -1
- package/components/card/card.media.material.css.js +1 -1
- package/components/card/card.media.material.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +16 -1
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +20 -4
- package/components/checkbox/checkbox.js +25 -27
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/checkbox.material.css.d.ts +0 -1
- package/components/checkbox/checkbox.material.css.js +1 -1
- package/components/checkbox/checkbox.material.css.js.map +1 -1
- package/components/checkbox/switch.d.ts +18 -3
- package/components/checkbox/switch.js +17 -18
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/switch.material.css.d.ts +0 -1
- package/components/checkbox/switch.material.css.js +1 -1
- package/components/checkbox/switch.material.css.js.map +1 -1
- package/components/common/decorators/alternateName.d.ts +6 -1
- package/components/common/decorators/blazorInclude.d.ts +4 -1
- package/components/common/decorators/blazorIndirectRender.d.ts +4 -0
- package/components/common/decorators/blazorIndirectRender.js +2 -0
- package/components/common/decorators/blazorIndirectRender.js.map +1 -0
- package/components/common/decorators/blazorSuppress.d.ts +4 -1
- package/components/common/decorators/blazorSuppressComponent.d.ts +4 -0
- package/components/common/decorators/blazorSuppressComponent.js +2 -0
- package/components/common/decorators/blazorSuppressComponent.js.map +1 -0
- package/components/common/decorators/blazorTwoWayBind.d.ts +6 -1
- package/components/common/decorators/index.d.ts +2 -1
- package/components/common/decorators/index.js +2 -0
- package/components/common/decorators/index.js.map +1 -1
- package/components/common/decorators/watch.d.ts +0 -1
- package/components/common/definitions/defineAllComponents.d.ts +0 -1
- package/components/common/definitions/defineAllComponents.js +6 -0
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/definitions/defineComponents.d.ts +0 -1
- package/components/common/i18n/calendar.resources.d.ts +0 -1
- package/components/common/mixins/constructor.d.ts +0 -1
- package/components/common/mixins/event-emitter.d.ts +0 -1
- package/components/common/mixins/event-emitter.js.map +1 -1
- package/components/common/mixins/sizable.d.ts +4 -1
- package/components/common/util.d.ts +0 -1
- package/components/form/form.d.ts +18 -3
- package/components/form/form.js +4 -1
- package/components/form/form.js.map +1 -1
- package/components/icon/icon.d.ts +23 -3
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.material.css.d.ts +0 -1
- package/components/icon/icon.material.css.js +1 -1
- package/components/icon/icon.material.css.js.map +1 -1
- package/components/icon/icon.registry.d.ts +0 -1
- package/components/input/input.d.ts +54 -3
- package/components/input/input.dark.material.css.d.ts +1 -0
- package/components/input/input.dark.material.css.js +3 -0
- package/components/input/input.dark.material.css.js.map +1 -0
- package/components/input/input.js +3 -3
- package/components/input/input.js.map +1 -1
- package/components/input/input.material.css.d.ts +0 -1
- package/components/input/input.material.css.js +1 -1
- package/components/input/input.material.css.js.map +1 -1
- package/components/list/list-header.d.ts +9 -3
- package/components/list/list-header.js.map +1 -1
- package/components/list/list-header.material.css.d.ts +0 -1
- package/components/list/list-header.material.css.js +1 -1
- package/components/list/list-header.material.css.js.map +1 -1
- package/components/list/list-item.d.ts +21 -3
- package/components/list/list-item.js.map +1 -1
- package/components/list/list-item.material.css.d.ts +0 -1
- package/components/list/list-item.material.css.js +1 -1
- package/components/list/list-item.material.css.js.map +1 -1
- package/components/list/list.d.ts +9 -3
- package/components/list/list.js.map +1 -1
- package/components/list/list.material.css.d.ts +0 -1
- package/components/list/list.material.css.js +1 -1
- package/components/list/list.material.css.js.map +1 -1
- package/components/nav-drawer/nav-drawer-header-item.d.ts +8 -3
- package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer-header-item.material.css.d.ts +0 -1
- package/components/nav-drawer/nav-drawer-header-item.material.css.js +1 -1
- package/components/nav-drawer/nav-drawer-header-item.material.css.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.d.ts +16 -3
- package/components/nav-drawer/nav-drawer-item.js +2 -2
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.material.css.d.ts +0 -1
- package/components/nav-drawer/nav-drawer-item.material.css.js +1 -1
- package/components/nav-drawer/nav-drawer-item.material.css.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +21 -15
- package/components/nav-drawer/nav-drawer.js +1 -34
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/nav-drawer/nav-drawer.material.css.d.ts +0 -1
- package/components/nav-drawer/nav-drawer.material.css.js +1 -1
- package/components/nav-drawer/nav-drawer.material.css.js.map +1 -1
- package/components/navbar/navbar.d.ts +17 -3
- package/components/navbar/navbar.js.map +1 -1
- package/components/navbar/navbar.material.css.d.ts +0 -1
- package/components/navbar/navbar.material.css.js +1 -1
- package/components/navbar/navbar.material.css.js.map +1 -1
- package/components/radio/radio.d.ts +33 -3
- package/components/radio/radio.js +15 -1
- package/components/radio/radio.js.map +1 -1
- package/components/radio/radio.material.css.d.ts +0 -1
- package/components/radio/radio.material.css.js +1 -1
- package/components/radio/radio.material.css.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +4 -5
- package/components/radio-group/radio-group.js +21 -7
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/radio-group/radio-group.material.css.d.ts +0 -1
- package/components/radio-group/radio-group.material.css.js +1 -1
- package/components/radio-group/radio-group.material.css.js.map +1 -1
- package/components/ripple/ripple.d.ts +8 -3
- package/components/ripple/ripple.js.map +1 -1
- package/components/ripple/ripple.material.css.d.ts +0 -1
- package/components/ripple/ripple.material.css.js +1 -1
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/slider/range-slider.d.ts +85 -0
- package/components/slider/range-slider.js +141 -0
- package/components/slider/range-slider.js.map +1 -0
- package/components/slider/slider-base.d.ts +131 -0
- package/components/slider/slider-base.js +503 -0
- package/components/slider/slider-base.js.map +1 -0
- package/components/slider/slider-label.d.ts +6 -0
- package/components/slider/slider-label.js +13 -0
- package/components/slider/slider-label.js.map +1 -0
- package/components/slider/slider.d.ts +76 -0
- package/components/slider/slider.js +80 -0
- package/components/slider/slider.js.map +1 -0
- package/components/slider/slider.material.css.d.ts +1 -0
- package/components/slider/slider.material.css.js +3 -0
- package/components/slider/slider.material.css.js.map +1 -0
- package/custom-elements.json +1017 -45
- package/index.d.ts +5 -1
- package/index.js +4 -0
- package/index.js.map +1 -1
- package/package.json +5 -4
- package/themes/dark/bootstrap.css +1 -0
- package/themes/dark/fluent.css +1 -0
- package/themes/dark/indigo.css +1 -0
- package/themes/dark/material.css +1 -0
- package/themes/light/bootstrap.css +1 -0
- package/themes/light/fluent.css +1 -0
- package/themes/light/indigo.css +1 -0
- package/themes/light/material.css +1 -0
- package/vscode-html-custom-data.json +313 -56
- package/components/avatar/avatar.d.ts.map +0 -1
- package/components/avatar/avatar.material.css.d.ts.map +0 -1
- package/components/badge/badge.d.ts.map +0 -1
- package/components/badge/badge.material.css.d.ts.map +0 -1
- package/components/button/button-base.d.ts.map +0 -1
- package/components/button/button.d.ts.map +0 -1
- package/components/button/button.material.css.d.ts.map +0 -1
- package/components/button/icon-button.d.ts.map +0 -1
- package/components/button/icon-button.material.css.d.ts.map +0 -1
- package/components/calendar/calendar.d.ts.map +0 -1
- package/components/calendar/calendar.material.css.d.ts.map +0 -1
- package/components/calendar/common/calendar-base.d.ts.map +0 -1
- package/components/calendar/common/calendar.model.d.ts.map +0 -1
- package/components/calendar/common/utils.d.ts.map +0 -1
- package/components/calendar/days-view/days-view.d.ts.map +0 -1
- package/components/calendar/days-view/days-view.material.css.d.ts.map +0 -1
- package/components/calendar/months-view/months-view.d.ts.map +0 -1
- package/components/calendar/months-view/months-view.material.css.d.ts.map +0 -1
- package/components/calendar/years-view/years-view.d.ts.map +0 -1
- package/components/calendar/years-view/years-view.material.css.d.ts.map +0 -1
- package/components/card/card.actions.d.ts.map +0 -1
- package/components/card/card.actions.material.css.d.ts.map +0 -1
- package/components/card/card.content.d.ts.map +0 -1
- package/components/card/card.content.material.css.d.ts.map +0 -1
- package/components/card/card.d.ts.map +0 -1
- package/components/card/card.header.d.ts.map +0 -1
- package/components/card/card.header.material.css.d.ts.map +0 -1
- package/components/card/card.material.css.d.ts.map +0 -1
- package/components/card/card.media.d.ts.map +0 -1
- package/components/card/card.media.material.css.d.ts.map +0 -1
- package/components/checkbox/checkbox-base.d.ts.map +0 -1
- package/components/checkbox/checkbox.d.ts.map +0 -1
- package/components/checkbox/checkbox.material.css.d.ts.map +0 -1
- package/components/checkbox/switch.d.ts.map +0 -1
- package/components/checkbox/switch.material.css.d.ts.map +0 -1
- package/components/common/decorators/alternateName.d.ts.map +0 -1
- package/components/common/decorators/blazorInclude.d.ts.map +0 -1
- package/components/common/decorators/blazorSuppress.d.ts.map +0 -1
- package/components/common/decorators/blazorTwoWayBind.d.ts.map +0 -1
- package/components/common/decorators/index.d.ts.map +0 -1
- package/components/common/decorators/watch.d.ts.map +0 -1
- package/components/common/definitions/defineAllComponents.d.ts.map +0 -1
- package/components/common/definitions/defineComponents.d.ts.map +0 -1
- package/components/common/i18n/calendar.resources.d.ts.map +0 -1
- package/components/common/mixins/constructor.d.ts.map +0 -1
- package/components/common/mixins/event-emitter.d.ts.map +0 -1
- package/components/common/mixins/sizable.d.ts.map +0 -1
- package/components/common/util.d.ts.map +0 -1
- package/components/form/form.d.ts.map +0 -1
- package/components/icon/icon.d.ts.map +0 -1
- package/components/icon/icon.material.css.d.ts.map +0 -1
- package/components/icon/icon.registry.d.ts.map +0 -1
- package/components/input/input.d.ts.map +0 -1
- package/components/input/input.material.css.d.ts.map +0 -1
- package/components/list/list-header.d.ts.map +0 -1
- package/components/list/list-header.material.css.d.ts.map +0 -1
- package/components/list/list-item.d.ts.map +0 -1
- package/components/list/list-item.material.css.d.ts.map +0 -1
- package/components/list/list.d.ts.map +0 -1
- package/components/list/list.material.css.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer-header-item.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer-header-item.material.css.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer-item.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer-item.material.css.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer.d.ts.map +0 -1
- package/components/nav-drawer/nav-drawer.material.css.d.ts.map +0 -1
- package/components/navbar/navbar.d.ts.map +0 -1
- package/components/navbar/navbar.material.css.d.ts.map +0 -1
- package/components/radio/radio.d.ts.map +0 -1
- package/components/radio/radio.material.css.d.ts.map +0 -1
- package/components/radio-group/radio-group.d.ts.map +0 -1
- package/components/radio-group/radio-group.material.css.d.ts.map +0 -1
- package/components/ripple/ripple.d.ts.map +0 -1
- package/components/ripple/ripple.material.css.d.ts.map +0 -1
- package/index.d.ts.map +0 -1
- package/themes/bootstrap.css +0 -1
- package/themes/fluent.css +0 -1
- package/themes/indigo.css +0 -1
- package/themes/material.css +0 -1
|
@@ -10,6 +10,9 @@ export declare enum DateRangeType {
|
|
|
10
10
|
Weekdays = 4,
|
|
11
11
|
Weekends = 5
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
13
16
|
export declare enum TimeDeltaInterval {
|
|
14
17
|
Second = 0,
|
|
15
18
|
Minute = 1,
|
|
@@ -21,8 +24,23 @@ export declare enum TimeDeltaInterval {
|
|
|
21
24
|
Year = 7
|
|
22
25
|
}
|
|
23
26
|
export declare const range: (start: number | undefined, stop: number, step?: number) => number[];
|
|
27
|
+
/**
|
|
28
|
+
* Returns true for leap years, false for non-leap years.
|
|
29
|
+
*
|
|
30
|
+
* @export
|
|
31
|
+
* @param year
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
24
34
|
export declare const isLeap: (year: number) => boolean;
|
|
25
35
|
export declare const weekDay: (year: number, month: number, day: number) => number;
|
|
36
|
+
/**
|
|
37
|
+
* Return weekday and number of days for year, month.
|
|
38
|
+
*
|
|
39
|
+
* @export
|
|
40
|
+
* @param year
|
|
41
|
+
* @param month
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
26
44
|
export declare const monthRange: (year: number, month: number) => number[];
|
|
27
45
|
export declare const isDateInRanges: (date: Date, ranges: DateRangeDescriptor[]) => boolean;
|
|
28
46
|
export interface ICalendarDate {
|
|
@@ -54,19 +72,57 @@ export declare enum WEEKDAYS {
|
|
|
54
72
|
export declare class Calendar {
|
|
55
73
|
private _firstWeekDay;
|
|
56
74
|
constructor(firstWeekDay?: number | WEEKDAYS);
|
|
75
|
+
/** Gets the starting day of the week. */
|
|
57
76
|
get firstWeekDay(): number;
|
|
77
|
+
/** Sets the starting day of the week. */
|
|
58
78
|
set firstWeekDay(value: number);
|
|
79
|
+
/**
|
|
80
|
+
* Returns an array of weekdays for one week starting
|
|
81
|
+
* with the currently set `firstWeekDay`
|
|
82
|
+
*
|
|
83
|
+
* this.firstWeekDay = 0 (Sunday) --> [0, 1, 2, 3, 4, 5, 6]
|
|
84
|
+
* this.firstWeekDay = 1 (Monday) --> [1, 2, 3, 4, 5, 6, 0]
|
|
85
|
+
*
|
|
86
|
+
* @returns
|
|
87
|
+
*
|
|
88
|
+
* @memberof Calendar
|
|
89
|
+
*/
|
|
59
90
|
weekdays(): number[];
|
|
91
|
+
/**
|
|
92
|
+
* Returns the date values for one month. It will always iterate throught
|
|
93
|
+
* complete weeks, so it will contain dates outside the specified month.
|
|
94
|
+
*
|
|
95
|
+
* @param year
|
|
96
|
+
* @param month
|
|
97
|
+
* @param boolean
|
|
98
|
+
* @returns
|
|
99
|
+
*
|
|
100
|
+
* @memberof Calendar
|
|
101
|
+
*/
|
|
60
102
|
monthdates(year: number, month: number, extraWeek?: boolean): ICalendarDate[];
|
|
103
|
+
/**
|
|
104
|
+
* Returns a matrix (array of arrays) representing a month's calendar.
|
|
105
|
+
* Each row represents a full week; week entries are ICalendarDate objects.
|
|
106
|
+
*
|
|
107
|
+
* @param year
|
|
108
|
+
* @param month
|
|
109
|
+
* @returns
|
|
110
|
+
*
|
|
111
|
+
* @memberof Calendar
|
|
112
|
+
*/
|
|
61
113
|
monthdatescalendar(year: number, month: number, extraWeek?: boolean): ICalendarDate[][];
|
|
62
114
|
timedelta(date: Date, interval: TimeDeltaInterval, units: number): Date;
|
|
115
|
+
/** Gets the same date the month after. */
|
|
63
116
|
getNextMonth(date: Date): Date;
|
|
117
|
+
/** Gets the same date the month prior. */
|
|
64
118
|
getPrevMonth(date: Date): Date;
|
|
119
|
+
/** Gets the same date the year after. */
|
|
65
120
|
getNextYear(date: Date): Date;
|
|
121
|
+
/** Gets the same date the year prior. */
|
|
66
122
|
getPrevYear(date: Date): Date;
|
|
123
|
+
/** Gets the week number of a given date. */
|
|
67
124
|
getWeekNumber(date: Date): number;
|
|
68
125
|
private generateICalendarDate;
|
|
69
126
|
private isPreviousMonth;
|
|
70
127
|
private isNextMonth;
|
|
71
128
|
}
|
|
72
|
-
//# sourceMappingURL=calendar.model.d.ts.map
|
|
@@ -10,4 +10,3 @@ export declare const validateDate: (value: Date) => Date;
|
|
|
10
10
|
export declare const getDateOnly: (date: Date) => Date;
|
|
11
11
|
export declare const getWeekDayNumber: (day: WeekDays) => number;
|
|
12
12
|
export declare const calculateYearsRangeStart: (date: Date, rangeCount: number) => number;
|
|
13
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -7,20 +7,41 @@ export interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {
|
|
|
7
7
|
igcRangePreviewDateChange: CustomEvent<Date>;
|
|
8
8
|
}
|
|
9
9
|
declare const IgcDaysViewComponent_base: Constructor<import("../../common/mixins/event-emitter").EventEmitterInterface<IgcDaysViewEventMap>> & Constructor<IgcCalendarBaseComponent>;
|
|
10
|
+
/**
|
|
11
|
+
* Instantiate a days view as a separate component in the calendar.
|
|
12
|
+
*
|
|
13
|
+
* @element igc-days-view
|
|
14
|
+
*
|
|
15
|
+
* @fires igcActiveDateChange - Emitted when the active date changes.
|
|
16
|
+
* @fires igcRangePreviewDateChange - Emitted when the range preview date changes.
|
|
17
|
+
*
|
|
18
|
+
* @csspart days-row - The days row container.
|
|
19
|
+
* @csspart label - The label container.
|
|
20
|
+
* @csspart label-inner - The inner label container.
|
|
21
|
+
* @csspart week-number - The week number container.
|
|
22
|
+
* @csspart week-number-inner - The inner week number container.
|
|
23
|
+
*/
|
|
10
24
|
export default class IgcDaysViewComponent extends IgcDaysViewComponent_base {
|
|
11
25
|
static styles: import("lit").CSSResult[];
|
|
12
26
|
private formatterWeekday;
|
|
13
27
|
private dates;
|
|
14
28
|
private activeDay;
|
|
29
|
+
/** Controls the visibility of the leading dates that do not belong to the current month. */
|
|
15
30
|
hideLeadingDays: boolean;
|
|
31
|
+
/** Controls the visibility of the trailing dates that do not belong to the current month. */
|
|
16
32
|
hideTrailingDays: boolean;
|
|
33
|
+
/** Gets/sets the active state of the days view. */
|
|
17
34
|
active: boolean;
|
|
35
|
+
/** The range preview date. */
|
|
18
36
|
rangePreviewDate?: Date;
|
|
19
|
-
|
|
37
|
+
/** The format of the days. Defaults to narrow. */
|
|
38
|
+
weekDayFormat: 'long' | 'short' | 'narrow' | undefined;
|
|
39
|
+
/** The resource strings. */
|
|
20
40
|
resourceStrings: IgcCalendarResourceStrings;
|
|
21
41
|
protected formattersChange(): void;
|
|
22
42
|
protected datesChange(): void;
|
|
23
43
|
constructor();
|
|
44
|
+
/** Focuses the active date. */
|
|
24
45
|
focusActiveDate(): void;
|
|
25
46
|
private initFormatters;
|
|
26
47
|
private generateWeekHeader;
|
|
@@ -55,7 +76,7 @@ export default class IgcDaysViewComponent extends IgcDaysViewComponent_base {
|
|
|
55
76
|
private renderWeekHeaders;
|
|
56
77
|
private renderDates;
|
|
57
78
|
private renderDateItem;
|
|
58
|
-
protected render(): import("lit").TemplateResult<1>;
|
|
79
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
59
80
|
}
|
|
60
81
|
declare global {
|
|
61
82
|
interface HTMLElementTagNameMap {
|
|
@@ -63,4 +84,3 @@ declare global {
|
|
|
63
84
|
}
|
|
64
85
|
}
|
|
65
86
|
export {};
|
|
66
|
-
//# sourceMappingURL=days-view.d.ts.map
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { html } from 'lit';
|
|
8
|
-
import { watch } from '../../common/decorators';
|
|
8
|
+
import { blazorIndirectRender, blazorSuppressComponent, watch, } from '../../common/decorators';
|
|
9
9
|
import { DateRangeType, isDateInRanges, TimeDeltaInterval, } from '../common/calendar.model';
|
|
10
10
|
import { IgcCalendarBaseComponent, } from '../common/calendar-base';
|
|
11
11
|
import { areEqualDates, getDateOnly, isEqual } from '../common/utils';
|
|
@@ -66,10 +66,10 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
66
66
|
return this.selection !== 'range';
|
|
67
67
|
}
|
|
68
68
|
isLastInRange(date) {
|
|
69
|
-
if (this.isSingleSelection || !this.
|
|
69
|
+
if (this.isSingleSelection || !this.values || this.values.length === 0) {
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
72
|
-
const dates = this.
|
|
72
|
+
const dates = this.values;
|
|
73
73
|
let lastDate = dates[dates.length - 1];
|
|
74
74
|
if (this.rangePreviewDate) {
|
|
75
75
|
if (this.rangePreviewDate > lastDate) {
|
|
@@ -79,10 +79,10 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
79
79
|
return isEqual(lastDate, date.date);
|
|
80
80
|
}
|
|
81
81
|
isFirstInRange(date) {
|
|
82
|
-
if (this.isSingleSelection || !this.
|
|
82
|
+
if (this.isSingleSelection || !this.values || this.values.length === 0) {
|
|
83
83
|
return false;
|
|
84
84
|
}
|
|
85
|
-
const dates = this.
|
|
85
|
+
const dates = this.values;
|
|
86
86
|
let firstDate = dates[0];
|
|
87
87
|
if (this.rangePreviewDate) {
|
|
88
88
|
if (this.rangePreviewDate < firstDate) {
|
|
@@ -98,9 +98,6 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
98
98
|
return isDateInRanges(date, this.disabledDates);
|
|
99
99
|
}
|
|
100
100
|
isWithinRange(date, min, max) {
|
|
101
|
-
const valueArr = this.value;
|
|
102
|
-
min = min ? min : valueArr[0];
|
|
103
|
-
max = max ? max : valueArr[valueArr.length - 1];
|
|
104
101
|
return isDateInRanges(date, [
|
|
105
102
|
{
|
|
106
103
|
type: DateRangeType.Between,
|
|
@@ -110,11 +107,11 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
110
107
|
}
|
|
111
108
|
isRangeDate(date) {
|
|
112
109
|
if (this.selection !== 'range' ||
|
|
113
|
-
!this.
|
|
114
|
-
this.
|
|
110
|
+
!this.values ||
|
|
111
|
+
this.values.length === 0) {
|
|
115
112
|
return false;
|
|
116
113
|
}
|
|
117
|
-
const dates = this.
|
|
114
|
+
const dates = this.values;
|
|
118
115
|
const min = dates[0];
|
|
119
116
|
let max;
|
|
120
117
|
if (dates.length === 1) {
|
|
@@ -134,36 +131,40 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
134
131
|
]);
|
|
135
132
|
}
|
|
136
133
|
isRangePreview(date) {
|
|
137
|
-
if (this.selection === 'range' &&
|
|
134
|
+
if (this.selection === 'range' &&
|
|
135
|
+
this.values &&
|
|
136
|
+
this.values.length > 0 &&
|
|
137
|
+
this.rangePreviewDate) {
|
|
138
138
|
return isDateInRanges(date, [
|
|
139
139
|
{
|
|
140
140
|
type: DateRangeType.Between,
|
|
141
|
-
dateRange: [this.
|
|
141
|
+
dateRange: [this.values[0], this.rangePreviewDate],
|
|
142
142
|
},
|
|
143
143
|
]);
|
|
144
144
|
}
|
|
145
145
|
return false;
|
|
146
146
|
}
|
|
147
147
|
isSelected(date) {
|
|
148
|
-
|
|
149
|
-
if (this.isDisabled(date.date) ||
|
|
150
|
-
!this.value ||
|
|
151
|
-
(Array.isArray(this.value) && this.value.length === 0)) {
|
|
148
|
+
if (this.isDisabled(date.date)) {
|
|
152
149
|
return false;
|
|
153
150
|
}
|
|
154
151
|
if (this.selection === 'single') {
|
|
155
|
-
|
|
156
|
-
|
|
152
|
+
if (!this.value) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
return getDateOnly(this.value).getTime() === date.date.getTime();
|
|
156
|
+
}
|
|
157
|
+
if (!this.values || this.values.length === 0) {
|
|
158
|
+
return false;
|
|
157
159
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
return getDateOnly(selectedDates[0]).getTime() === date.date.getTime();
|
|
160
|
+
if (this.selection === 'range' && this.values.length === 1) {
|
|
161
|
+
return getDateOnly(this.values[0]).getTime() === date.date.getTime();
|
|
161
162
|
}
|
|
162
163
|
if (this.selection === 'multiple') {
|
|
163
|
-
const start = getDateOnly(
|
|
164
|
-
const end = getDateOnly(
|
|
164
|
+
const start = getDateOnly(this.values[0]);
|
|
165
|
+
const end = getDateOnly(this.values[this.values.length - 1]);
|
|
165
166
|
if (this.isWithinRange(date.date, start, end)) {
|
|
166
|
-
const currentDate =
|
|
167
|
+
const currentDate = this.values.find((element) => element.getTime() === date.date.getTime());
|
|
167
168
|
return !!currentDate;
|
|
168
169
|
}
|
|
169
170
|
else {
|
|
@@ -171,7 +172,7 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
171
172
|
}
|
|
172
173
|
}
|
|
173
174
|
else {
|
|
174
|
-
return this.isWithinRange(date.date);
|
|
175
|
+
return this.isWithinRange(date.date, this.values[0], this.values[this.values.length - 1]);
|
|
175
176
|
}
|
|
176
177
|
}
|
|
177
178
|
isToday(day) {
|
|
@@ -240,13 +241,13 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
240
241
|
var _a;
|
|
241
242
|
let start;
|
|
242
243
|
let end;
|
|
243
|
-
let selectedDates = ((_a = this.
|
|
244
|
+
let selectedDates = ((_a = this.values) !== null && _a !== void 0 ? _a : []);
|
|
244
245
|
if (selectedDates.length !== 1) {
|
|
245
246
|
selectedDates = [value];
|
|
246
247
|
}
|
|
247
248
|
else {
|
|
248
249
|
if (selectedDates[0].getTime() === value.getTime()) {
|
|
249
|
-
this.
|
|
250
|
+
this.values = [];
|
|
250
251
|
return;
|
|
251
252
|
}
|
|
252
253
|
selectedDates.push(value);
|
|
@@ -256,14 +257,14 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
256
257
|
selectedDates = [start, ...this.generateDateRange(start, end)];
|
|
257
258
|
}
|
|
258
259
|
selectedDates = selectedDates.filter((d) => !this.isDisabled(d));
|
|
259
|
-
this.
|
|
260
|
+
this.values = [...selectedDates];
|
|
260
261
|
}
|
|
261
262
|
selectSingle(value) {
|
|
262
263
|
this.value = getDateOnly(value);
|
|
263
264
|
}
|
|
264
265
|
selectMultiple(value) {
|
|
265
266
|
var _a;
|
|
266
|
-
let selectedDates = ((_a = this.
|
|
267
|
+
let selectedDates = ((_a = this.values) !== null && _a !== void 0 ? _a : []);
|
|
267
268
|
const valueDateOnly = getDateOnly(value);
|
|
268
269
|
const newSelection = [];
|
|
269
270
|
if (selectedDates.every((date) => date.getTime() !== valueDateOnly.getTime())) {
|
|
@@ -277,7 +278,7 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
277
278
|
}
|
|
278
279
|
selectedDates = selectedDates.filter((d) => !this.isDisabled(d));
|
|
279
280
|
selectedDates.sort((a, b) => a.valueOf() - b.valueOf());
|
|
280
|
-
this.
|
|
281
|
+
this.values = [...selectedDates];
|
|
281
282
|
}
|
|
282
283
|
changeActiveDate(day) {
|
|
283
284
|
this.activeDate = day.date;
|
|
@@ -291,9 +292,9 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
|
|
|
291
292
|
}
|
|
292
293
|
changeRangePreview(date) {
|
|
293
294
|
if (this.selection === 'range' &&
|
|
294
|
-
this.
|
|
295
|
-
this.
|
|
296
|
-
!isEqual(this.
|
|
295
|
+
this.values &&
|
|
296
|
+
this.values.length === 1 &&
|
|
297
|
+
!isEqual(this.values[0], date)) {
|
|
297
298
|
this.setRangePreviewDate(date);
|
|
298
299
|
}
|
|
299
300
|
}
|
|
@@ -425,7 +426,9 @@ __decorate([
|
|
|
425
426
|
watch('activeDate')
|
|
426
427
|
], IgcDaysViewComponent.prototype, "datesChange", null);
|
|
427
428
|
IgcDaysViewComponent = __decorate([
|
|
428
|
-
customElement('igc-days-view')
|
|
429
|
+
customElement('igc-days-view'),
|
|
430
|
+
blazorSuppressComponent,
|
|
431
|
+
blazorIndirectRender
|
|
429
432
|
], IgcDaysViewComponent);
|
|
430
433
|
export default IgcDaysViewComponent;
|
|
431
434
|
//# sourceMappingURL=days-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"days-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { watch } from '../../common/decorators';\nimport {\n DateRangeType,\n ICalendarDate,\n isDateInRanges,\n TimeDeltaInterval,\n} from '../common/calendar.model';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from '../common/calendar-base';\nimport { areEqualDates, getDateOnly, isEqual } from '../common/utils';\nimport { styles } from './days-view.material.css';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter';\nimport { Constructor } from '../../common/mixins/constructor';\nimport { property, query, customElement } from 'lit/decorators.js';\nimport { partNameMap } from '../../common/util';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../../common/i18n/calendar.resources';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {\n igcActiveDateChange: CustomEvent<ICalendarDate>;\n igcRangePreviewDateChange: CustomEvent<Date>;\n}\n\n/**\n * Instantiate a days view as a separate component in the calendar.\n *\n * @element igc-days-view\n *\n * @fires igcActiveDateChange - Emitted when the active date changes.\n * @fires igcRangePreviewDateChange - Emitted when the range preview date changes.\n *\n * @csspart days-row - The days row container.\n * @csspart label - The label container.\n * @csspart label-inner - The inner label container.\n * @csspart week-number - The week number container.\n * @csspart week-number-inner - The inner week number container.\n */\n@customElement('igc-days-view')\nexport default class IgcDaysViewComponent extends EventEmitterMixin<\n IgcDaysViewEventMap,\n Constructor<IgcCalendarBaseComponent>\n>(IgcCalendarBaseComponent) {\n /**\n * @private\n */\n public static styles = [styles];\n\n private formatterWeekday!: Intl.DateTimeFormat;\n private dates!: ICalendarDate[][];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** Controls the visibility of the leading dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /** Controls the visibility of the trailing dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** Gets/sets the active state of the days view. */\n @property({ type: Boolean })\n public active = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public rangePreviewDate?: Date;\n\n /** The format of the days. Defaults to narrow. */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' = 'narrow';\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings = IgcCalendarResourceStringEN;\n\n @watch('weekDayFormat')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = this.getCalendarMonth();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initFormatters();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n private initFormatters() {\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: this.weekDayFormat,\n });\n }\n\n private generateWeekHeader(): { label: string; ariaLabel: string }[] {\n const dayNames = [];\n const rv = this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth()\n )[0];\n for (const day of rv) {\n dayNames.push({\n label: this.formatterWeekday.format(day.date),\n ariaLabel: day.date.toLocaleString(this.locale, { weekday: 'long' }),\n });\n }\n\n return dayNames;\n }\n\n private getCalendarMonth(): ICalendarDate[][] {\n return this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth(),\n true\n );\n }\n\n private titleCase(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private getWeekNumber(date: Date): number {\n return this.calendarModel.getWeekNumber(date);\n }\n\n private formattedDate(value: Date): string {\n return `${value.getDate()}`;\n }\n\n private get isSingleSelection(): boolean {\n return this.selection !== 'range';\n }\n\n private isLastInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.value) {\n return false;\n }\n\n const dates = this.value as Date[];\n let lastDate = dates[dates.length - 1];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate > lastDate) {\n lastDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(lastDate, date.date);\n }\n\n private isFirstInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.value) {\n return false;\n }\n\n const dates = this.value as Date[];\n let firstDate = dates[0];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate < firstDate) {\n firstDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(firstDate, date.date);\n }\n\n private isDisabled(date: Date): boolean {\n if (!this.disabledDates) {\n return false;\n }\n\n return isDateInRanges(date, this.disabledDates);\n }\n\n private isWithinRange(date: Date, min?: Date, max?: Date): boolean {\n const valueArr = this.value as Date[];\n min = min ? min : valueArr[0];\n max = max ? max : valueArr[valueArr.length - 1];\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangeDate(date: Date) {\n if (\n this.selection !== 'range' ||\n !this.value ||\n (this.value as Date[]).length === 0\n ) {\n return false;\n }\n\n const dates = this.value as Date[];\n const min = dates[0];\n let max;\n\n if (dates.length === 1) {\n if (!this.rangePreviewDate) {\n return false;\n }\n\n max = this.rangePreviewDate;\n } else {\n max = dates[dates.length - 1];\n }\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangePreview(date: Date) {\n if (this.selection === 'range' && this.rangePreviewDate) {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [(this.value as Date[])[0], this.rangePreviewDate],\n },\n ]);\n }\n\n return false;\n }\n\n private isSelected(date: ICalendarDate) {\n let selectedDates: Date | Date[];\n if (\n this.isDisabled(date.date) ||\n !this.value ||\n (Array.isArray(this.value) && this.value.length === 0)\n ) {\n return false;\n }\n\n if (this.selection === 'single') {\n selectedDates = this.value as Date;\n return getDateOnly(selectedDates).getTime() === date.date.getTime();\n }\n\n selectedDates = this.value as Date[];\n if (this.selection === 'range' && selectedDates.length === 1) {\n return getDateOnly(selectedDates[0]).getTime() === date.date.getTime();\n }\n\n if (this.selection === 'multiple') {\n const start = getDateOnly(selectedDates[0]);\n const end = getDateOnly(selectedDates[selectedDates.length - 1]);\n\n if (this.isWithinRange(date.date, start, end)) {\n const currentDate = selectedDates.find(\n (element) => element.getTime() === date.date.getTime()\n );\n return !!currentDate;\n } else {\n return false;\n }\n } else {\n return this.isWithinRange(date.date);\n }\n }\n\n private isToday(day: ICalendarDate): boolean {\n const today = new Date(Date.now());\n const date = day.date;\n\n // TODO\n // if (date.getDate() === today.getDate()) {\n // this.nativeElement.setAttribute('aria-current', 'date');\n // }\n\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private isWeekend(date: ICalendarDate): boolean {\n const day = date.date.getDay();\n return day === 0 || day === 6;\n }\n\n private isSpecial(day: ICalendarDate): boolean {\n if (this.specialDates === null) {\n return false;\n }\n\n return isDateInRanges(day.date, this.specialDates);\n }\n\n private dateClicked(event: Event, day: ICalendarDate) {\n event.stopPropagation();\n\n this.selectDay(day);\n\n this.changeActiveDate(day);\n }\n\n private selectDay(day: ICalendarDate) {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n\n const result = this.selectDate(day.date);\n\n if (result) {\n this.emitEvent('igcChange', { detail: day.date });\n }\n }\n\n private selectDate(value: Date) {\n if (this.isDisabled(value)) {\n return false;\n }\n\n switch (this.selection) {\n case 'single':\n if ((this.value as Date)?.getTime() === value.getTime()) {\n return false;\n }\n this.selectSingle(value);\n break;\n case 'multiple':\n this.selectMultiple(value);\n break;\n case 'range':\n this.selectRange(value);\n break;\n }\n\n return true;\n }\n\n private generateDateRange(start: Date, end: Date): Date[] {\n const result = [];\n start = getDateOnly(start);\n end = getDateOnly(end);\n while (start.getTime() < end.getTime()) {\n start = this.calendarModel.timedelta(start, TimeDeltaInterval.Day, 1);\n result.push(start);\n }\n\n return result;\n }\n\n private selectRange(value: Date) {\n let start: Date;\n let end: Date;\n let selectedDates: Date[] = (this.value ?? []) as Date[];\n\n if (selectedDates.length !== 1) {\n // start new range\n selectedDates = [value];\n } else {\n if (selectedDates[0].getTime() === value.getTime()) {\n this.value = [];\n return;\n }\n\n selectedDates.push(value);\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n\n start = selectedDates.shift()!;\n end = selectedDates.pop()!;\n selectedDates = [start, ...this.generateDateRange(start, end)];\n }\n\n // exclude disabled dates\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n\n this.value = [...selectedDates];\n }\n\n private selectSingle(value: Date) {\n this.value = getDateOnly(value);\n }\n\n private selectMultiple(value: Date) {\n let selectedDates: Date[] = (this.value ?? []) as Date[];\n const valueDateOnly = getDateOnly(value);\n const newSelection = [];\n\n if (\n selectedDates.every(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n )\n ) {\n newSelection.push(valueDateOnly);\n } else {\n selectedDates = selectedDates.filter(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n );\n }\n\n if (newSelection.length > 0) {\n selectedDates = selectedDates.concat(newSelection);\n }\n\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n this.value = [...selectedDates];\n }\n\n private changeActiveDate(day: ICalendarDate) {\n this.activeDate = day.date;\n this.emitEvent('igcActiveDateChange', { detail: day });\n }\n\n private dateKeyDown(event: KeyboardEvent, day: ICalendarDate) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectDay(day);\n }\n }\n\n private changeRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.value &&\n (this.value as Date[]).length === 1 &&\n !isEqual((this.value as Date[])[0], date)\n ) {\n this.setRangePreviewDate(date);\n }\n }\n\n private clearRangePreview() {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n }\n\n private setRangePreviewDate(value?: Date) {\n this.rangePreviewDate = value;\n this.emitEvent('igcRangePreviewDateChange', { detail: value });\n }\n\n private resolveDayItemPartName(day: ICalendarDate) {\n const isInactive = day.isNextMonth || day.isPrevMonth;\n const isHidden =\n (this.hideLeadingDays && day.isPrevMonth) ||\n (this.hideTrailingDays && day.isNextMonth);\n const isDisabled = this.isDisabled(day.date);\n\n return {\n date: true,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n selected: !isDisabled && this.isSelected(day),\n inactive: isInactive,\n hidden: isHidden,\n current: this.isToday(day),\n weekend: this.isWeekend(day),\n range: this.selection === 'range' && this.isRangeDate(day.date),\n special: this.isSpecial(day),\n disabled: isHidden || isDisabled,\n single: this.selection !== 'range',\n preview: this.isRangePreview(day.date),\n };\n }\n\n private renderWeekHeaders() {\n return html`<div role=\"row\" part=\"days-row first\">\n ${this.showWeekNumbers\n ? html`<span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\"\n >${this.resourceStrings.weekLabel}</span\n >\n </span>`\n : ''}\n ${this.generateWeekHeader().map(\n (weekday) => html`<span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${weekday.ariaLabel}\n >\n <span part=\"label-inner\">${this.titleCase(weekday.label)}</span>\n </span> `\n )}\n </div>`;\n }\n\n private renderDates() {\n return this.dates.map((week, i) => {\n const last = i === this.dates.length - 1;\n\n return html`<div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? html`<span\n role=\"rowheader\"\n part=${partNameMap({ 'week-number': true, last })}\n >\n <span part=${partNameMap({ 'week-number-inner': true, last })}\n >${this.getWeekNumber(week[0].date)}</span\n >\n </span>`\n : ''}\n ${week.map((day) => this.renderDateItem(day))}\n </div>`;\n });\n }\n\n private renderDateItem(day: ICalendarDate) {\n const datePartName = partNameMap(this.resolveDayItemPartName(day));\n const dateInnerPartName = datePartName.replace('date', 'date-inner');\n\n return html`<span part=${datePartName}>\n <span\n part=${dateInnerPartName}\n role=\"gridcell\"\n aria-label=${day.date.toLocaleString(this.locale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n })}\n aria-selected=${this.isSelected(day)}\n aria-disabled=${this.isDisabled(day.date)}\n tabindex=${this.active && areEqualDates(this.activeDate, day.date)\n ? 0\n : -1}\n @click=${(event: MouseEvent) => this.dateClicked(event, day)}\n @focus=${() => this.changeRangePreview(day.date)}\n @blur=${() => this.clearRangePreview()}\n @keydown=${(event: KeyboardEvent) => this.dateKeyDown(event, day)}\n @mouseenter=${() => this.changeRangePreview(day.date)}\n @mouseleave=${() => this.clearRangePreview()}\n >${this.formattedDate(day.date)}</span\n >\n </span>`;\n }\n\n protected render() {\n return html`${this.renderWeekHeaders()} ${this.renderDates()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"days-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport {\n blazorIndirectRender,\n blazorSuppressComponent,\n watch,\n} from '../../common/decorators';\nimport {\n DateRangeType,\n ICalendarDate,\n isDateInRanges,\n TimeDeltaInterval,\n} from '../common/calendar.model';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from '../common/calendar-base';\nimport { areEqualDates, getDateOnly, isEqual } from '../common/utils';\nimport { styles } from './days-view.material.css';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter';\nimport { Constructor } from '../../common/mixins/constructor';\nimport { property, query, customElement } from 'lit/decorators.js';\nimport { partNameMap } from '../../common/util';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../../common/i18n/calendar.resources';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {\n igcActiveDateChange: CustomEvent<ICalendarDate>;\n igcRangePreviewDateChange: CustomEvent<Date>;\n}\n\n/**\n * Instantiate a days view as a separate component in the calendar.\n *\n * @element igc-days-view\n *\n * @fires igcActiveDateChange - Emitted when the active date changes.\n * @fires igcRangePreviewDateChange - Emitted when the range preview date changes.\n *\n * @csspart days-row - The days row container.\n * @csspart label - The label container.\n * @csspart label-inner - The inner label container.\n * @csspart week-number - The week number container.\n * @csspart week-number-inner - The inner week number container.\n */\n@customElement('igc-days-view')\n@blazorSuppressComponent\n@blazorIndirectRender\nexport default class IgcDaysViewComponent extends EventEmitterMixin<\n IgcDaysViewEventMap,\n Constructor<IgcCalendarBaseComponent>\n>(IgcCalendarBaseComponent) {\n public static styles = [styles];\n\n private formatterWeekday!: Intl.DateTimeFormat;\n private dates!: ICalendarDate[][];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** Controls the visibility of the leading dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /** Controls the visibility of the trailing dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** Gets/sets the active state of the days view. */\n @property({ type: Boolean })\n public active = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public rangePreviewDate?: Date;\n\n /** The format of the days. Defaults to narrow. */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' | undefined = 'narrow';\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings = IgcCalendarResourceStringEN;\n\n @watch('weekDayFormat')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = this.getCalendarMonth();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initFormatters();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n private initFormatters() {\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: this.weekDayFormat,\n });\n }\n\n private generateWeekHeader(): { label: string; ariaLabel: string }[] {\n const dayNames = [];\n const rv = this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth()\n )[0];\n for (const day of rv) {\n dayNames.push({\n label: this.formatterWeekday.format(day.date),\n ariaLabel: day.date.toLocaleString(this.locale, { weekday: 'long' }),\n });\n }\n\n return dayNames;\n }\n\n private getCalendarMonth(): ICalendarDate[][] {\n return this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth(),\n true\n );\n }\n\n private titleCase(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private getWeekNumber(date: Date): number {\n return this.calendarModel.getWeekNumber(date);\n }\n\n private formattedDate(value: Date): string {\n return `${value.getDate()}`;\n }\n\n private get isSingleSelection(): boolean {\n return this.selection !== 'range';\n }\n\n private isLastInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let lastDate = dates[dates.length - 1];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate > lastDate) {\n lastDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(lastDate, date.date);\n }\n\n private isFirstInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let firstDate = dates[0];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate < firstDate) {\n firstDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(firstDate, date.date);\n }\n\n private isDisabled(date: Date): boolean {\n if (!this.disabledDates) {\n return false;\n }\n\n return isDateInRanges(date, this.disabledDates);\n }\n\n private isWithinRange(date: Date, min: Date, max: Date): boolean {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangeDate(date: Date) {\n if (\n this.selection !== 'range' ||\n !this.values ||\n this.values.length === 0\n ) {\n return false;\n }\n\n const dates = this.values;\n const min = dates[0];\n let max;\n\n if (dates.length === 1) {\n if (!this.rangePreviewDate) {\n return false;\n }\n\n max = this.rangePreviewDate;\n } else {\n max = dates[dates.length - 1];\n }\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length > 0 &&\n this.rangePreviewDate\n ) {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [this.values[0], this.rangePreviewDate],\n },\n ]);\n }\n\n return false;\n }\n\n private isSelected(date: ICalendarDate) {\n if (this.isDisabled(date.date)) {\n return false;\n }\n\n if (this.selection === 'single') {\n if (!this.value) {\n return false;\n }\n return getDateOnly(this.value).getTime() === date.date.getTime();\n }\n\n if (!this.values || this.values.length === 0) {\n return false;\n }\n\n if (this.selection === 'range' && this.values.length === 1) {\n return getDateOnly(this.values[0]).getTime() === date.date.getTime();\n }\n\n if (this.selection === 'multiple') {\n const start = getDateOnly(this.values[0]);\n const end = getDateOnly(this.values[this.values.length - 1]);\n\n if (this.isWithinRange(date.date, start, end)) {\n const currentDate = this.values.find(\n (element) => element.getTime() === date.date.getTime()\n );\n return !!currentDate;\n } else {\n return false;\n }\n } else {\n return this.isWithinRange(\n date.date,\n this.values[0],\n this.values[this.values.length - 1]\n );\n }\n }\n\n private isToday(day: ICalendarDate): boolean {\n const today = new Date(Date.now());\n const date = day.date;\n\n // TODO\n // if (date.getDate() === today.getDate()) {\n // this.nativeElement.setAttribute('aria-current', 'date');\n // }\n\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private isWeekend(date: ICalendarDate): boolean {\n const day = date.date.getDay();\n return day === 0 || day === 6;\n }\n\n private isSpecial(day: ICalendarDate): boolean {\n if (this.specialDates === null) {\n return false;\n }\n\n return isDateInRanges(day.date, this.specialDates);\n }\n\n private dateClicked(event: Event, day: ICalendarDate) {\n event.stopPropagation();\n\n this.selectDay(day);\n\n this.changeActiveDate(day);\n }\n\n private selectDay(day: ICalendarDate) {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n\n const result = this.selectDate(day.date);\n\n if (result) {\n this.emitEvent('igcChange', { detail: day.date });\n }\n }\n\n private selectDate(value: Date) {\n if (this.isDisabled(value)) {\n return false;\n }\n\n switch (this.selection) {\n case 'single':\n if (this.value?.getTime() === value.getTime()) {\n return false;\n }\n this.selectSingle(value);\n break;\n case 'multiple':\n this.selectMultiple(value);\n break;\n case 'range':\n this.selectRange(value);\n break;\n }\n\n return true;\n }\n\n private generateDateRange(start: Date, end: Date): Date[] {\n const result = [];\n start = getDateOnly(start);\n end = getDateOnly(end);\n while (start.getTime() < end.getTime()) {\n start = this.calendarModel.timedelta(start, TimeDeltaInterval.Day, 1);\n result.push(start);\n }\n\n return result;\n }\n\n private selectRange(value: Date) {\n let start: Date;\n let end: Date;\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n\n if (selectedDates.length !== 1) {\n // start new range\n selectedDates = [value];\n } else {\n if (selectedDates[0].getTime() === value.getTime()) {\n this.values = [];\n return;\n }\n\n selectedDates.push(value);\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n\n start = selectedDates.shift()!;\n end = selectedDates.pop()!;\n selectedDates = [start, ...this.generateDateRange(start, end)];\n }\n\n // exclude disabled dates\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n\n this.values = [...selectedDates];\n }\n\n private selectSingle(value: Date) {\n this.value = getDateOnly(value);\n }\n\n private selectMultiple(value: Date) {\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n const valueDateOnly = getDateOnly(value);\n const newSelection = [];\n\n if (\n selectedDates.every(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n )\n ) {\n newSelection.push(valueDateOnly);\n } else {\n selectedDates = selectedDates.filter(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n );\n }\n\n if (newSelection.length > 0) {\n selectedDates = selectedDates.concat(newSelection);\n }\n\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n this.values = [...selectedDates];\n }\n\n private changeActiveDate(day: ICalendarDate) {\n this.activeDate = day.date;\n this.emitEvent('igcActiveDateChange', { detail: day });\n }\n\n private dateKeyDown(event: KeyboardEvent, day: ICalendarDate) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectDay(day);\n }\n }\n\n private changeRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length === 1 &&\n !isEqual(this.values[0], date)\n ) {\n this.setRangePreviewDate(date);\n }\n }\n\n private clearRangePreview() {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n }\n\n private setRangePreviewDate(value?: Date) {\n this.rangePreviewDate = value;\n this.emitEvent('igcRangePreviewDateChange', { detail: value });\n }\n\n private resolveDayItemPartName(day: ICalendarDate) {\n const isInactive = day.isNextMonth || day.isPrevMonth;\n const isHidden =\n (this.hideLeadingDays && day.isPrevMonth) ||\n (this.hideTrailingDays && day.isNextMonth);\n const isDisabled = this.isDisabled(day.date);\n\n return {\n date: true,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n selected: !isDisabled && this.isSelected(day),\n inactive: isInactive,\n hidden: isHidden,\n current: this.isToday(day),\n weekend: this.isWeekend(day),\n range: this.selection === 'range' && this.isRangeDate(day.date),\n special: this.isSpecial(day),\n disabled: isHidden || isDisabled,\n single: this.selection !== 'range',\n preview: this.isRangePreview(day.date),\n };\n }\n\n private renderWeekHeaders() {\n return html`<div role=\"row\" part=\"days-row first\">\n ${this.showWeekNumbers\n ? html`<span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\"\n >${this.resourceStrings.weekLabel}</span\n >\n </span>`\n : ''}\n ${this.generateWeekHeader().map(\n (weekday) => html`<span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${weekday.ariaLabel}\n >\n <span part=\"label-inner\">${this.titleCase(weekday.label)}</span>\n </span> `\n )}\n </div>`;\n }\n\n private renderDates() {\n return this.dates.map((week, i) => {\n const last = i === this.dates.length - 1;\n\n return html`<div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? html`<span\n role=\"rowheader\"\n part=${partNameMap({ 'week-number': true, last })}\n >\n <span part=${partNameMap({ 'week-number-inner': true, last })}\n >${this.getWeekNumber(week[0].date)}</span\n >\n </span>`\n : ''}\n ${week.map((day) => this.renderDateItem(day))}\n </div>`;\n });\n }\n\n private renderDateItem(day: ICalendarDate) {\n const datePartName = partNameMap(this.resolveDayItemPartName(day));\n const dateInnerPartName = datePartName.replace('date', 'date-inner');\n\n return html`<span part=${datePartName}>\n <span\n part=${dateInnerPartName}\n role=\"gridcell\"\n aria-label=${day.date.toLocaleString(this.locale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n })}\n aria-selected=${this.isSelected(day)}\n aria-disabled=${this.isDisabled(day.date)}\n tabindex=${this.active && areEqualDates(this.activeDate, day.date)\n ? 0\n : -1}\n @click=${(event: MouseEvent) => this.dateClicked(event, day)}\n @focus=${() => this.changeRangePreview(day.date)}\n @blur=${() => this.clearRangePreview()}\n @keydown=${(event: KeyboardEvent) => this.dateKeyDown(event, day)}\n @mouseenter=${() => this.changeRangePreview(day.date)}\n @mouseleave=${() => this.clearRangePreview()}\n >${this.formattedDate(day.date)}</span\n >\n </span>`;\n }\n\n protected override render() {\n return html`${this.renderWeekHeaders()} ${this.renderDates()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:290px;gap:.375rem;outline:none;padding:0 .75rem 1rem .75rem;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}[part~=days-row]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[part~=date-inner]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}[part~=date-inner]:hover,[part~=date-inner]:focus{background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=date-inner][part~=current][part~=selected]{-webkit-box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a)),0 0 0 .0625rem hsla(var(--igc-secondary-500), var(--igc-secondary-a));box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a)),0 0 0 .0625rem hsla(var(--igc-secondary-500), var(--igc-secondary-a))}[part~=current][part~=date-inner]{-webkit-box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-gray-600), var(--igc-gray-a));box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-gray-600), var(--igc-gray-a))}[part~=date],[part~=week-number],[part~=label]{font-size:var(--igc-subtitle-1-font-size);width:100%;color:hsla(var(--igc-gray-800), var(--igc-gray-a));position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;outline:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-top:.0625rem solid transparent;border-bottom:.0625rem solid transparent}[part=label-inner]{-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;min-width:4ch;text-align:center}[part~=date-inner],[part~=week-number-inner]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:.0625rem solid transparent}[part~=date-inner]:focus,[part~=week-number-inner]:focus{outline:none}[part~=date][part~=range]{background:hsla(var(--igc-secondary-50), var(--igc-secondary-a))}[part~=date][part~=range][part~=preview]{background:transparent;border-top:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));border-bottom:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a))}[part~=date][part~=range][part~=preview][part~=first],[part~=date][part~=range][part~=preview][part~=last]{background:transparent;border-top-color:transparent;border-bottom-color:transparent}[part~=date][part~=range][part~=preview][part~=first]::after,[part~=date][part~=range][part~=preview][part~=last]::after{border-top:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));border-bottom:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));background:transparent}[part~=date][part~=range][part~=first],[part~=date][part~=range][part~=last]{background:transparent}[part~=date][part~=range][part~=first]::after,[part~=date][part~=range][part~=last]::after{content:"";position:absolute;height:100%;width:calc(50% + 0.0625rem);background:hsla(var(--igc-secondary-50), var(--igc-secondary-a));border-top:.0625rem solid hsla(var(--igc-secondary-50), var(--igc-secondary-a));border-bottom:.0625rem solid hsla(var(--igc-secondary-50), var(--igc-secondary-a));z-index:1}[part~=date][part~=range][part~=first]::after{inset-inline-start:50%}[part~=date][part~=range][part~=last]::after{inset-inline-end:calc(50% - 0.0625rem)}[part~=date][part~=range]+[part~=date][part~=range][part~=last]::after{inset-inline-end:50%}[part~=date-inner][part~=weekend],[part~=date-inner][part~=inactive],[part~=date-inner][part~=label],[part~=date-inner][part~=disabled]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}[part~=date-inner][part~=selected][part~=range][part~=first],[part~=date-inner][part~=selected][part~=range][part~=last],[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=first],[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=last],[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=first],[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=last]{color:var(--igc-secondary-700-contrast)}[part~=date-inner][part~=selected][part~=range][part~=weekend],[part~=date-inner][part~=selected][part~=range][part~=inactive],[part~=date-inner][part~=selected][part~=range]{color:var(--igc-secondary-50-contrast)}[part~=date-inner][part~=selected][part~=range][part~=weekend]:hover,[part~=date-inner][part~=selected][part~=range][part~=weekend]:focus,[part~=date-inner][part~=selected][part~=range][part~=inactive]:hover,[part~=date-inner][part~=selected][part~=range][part~=inactive]:focus,[part~=date-inner][part~=selected][part~=range]:hover,[part~=date-inner][part~=selected][part~=range]:focus{color:var(--igc-secondary-100-contrast);background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=date-inner][part~=selected][part~=range][part~=first],[part~=date-inner][part~=selected][part~=range][part~=last],[part~=date-inner][part~=selected]:not([part~=range]){background:hsla(var(--igc-secondary-500), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-500), var(--igc-secondary-a))}[part~=date-inner][part~=selected][part~=range][part~=first]:hover,[part~=date-inner][part~=selected][part~=range][part~=first]:focus,[part~=date-inner][part~=selected][part~=range][part~=last]:hover,[part~=date-inner][part~=selected][part~=range][part~=last]:focus,[part~=date-inner][part~=selected]:not([part~=range]):hover,[part~=date-inner][part~=selected]:not([part~=range]):focus{background:hsla(var(--igc-secondary-700), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-700), var(--igc-secondary-a));color:var(--igc-secondary-700-contrast)}[part~=date-inner][part~=selected][part~=weekend]:not([part~=range]),[part~=date-inner][part~=selected][part~=inactive]:not([part~=range]),[part~=date-inner][part~=selected]:not([part~=range]){color:var(--igc-secondary-700-contrast)}[part~=week-number]{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;color:hsla(var(--igc-gray-500), var(--igc-gray-a));cursor:default}[part="week-number-inner first"]{border-top-left-radius:.25rem;border-top-right-radius:.25rem}[part="week-number-inner last"]{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}[part~=week-number-inner]{position:relative;background:hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-end-color:hsla(var(--igc-gray-200), var(--igc-gray-a))}[part~=week-number-inner]::after{content:"";position:absolute;bottom:100%;height:calc(0.375rem + (0.0625rem * 2 + 2px));width:100%;background:hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-border-start:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-start:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-border-end:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-end:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a))}[part~=date-inner][part~=disabled]{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:not-allowed}[part~=date-inner][part~=special][part~=range],[part~=date-inner][part~=special]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));border-color:hsla(var(--igc-gray-100), var(--igc-gray-a));color:hsla(var(--igc-gray-900), var(--igc-gray-a));font-weight:900}[part~=date-inner][part~=special][part~=range]:hover,[part~=date-inner][part~=special][part~=range]:focus,[part~=date-inner][part~=special]:hover,[part~=date-inner][part~=special]:focus{background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=hidden]{visibility:hidden}`;
|
|
2
|
+
export const styles = css `:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:290px;gap:.375rem;outline:none;padding:0 .75rem 1rem .75rem;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}[part~=days-row]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[part~=date-inner]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}[part~=date-inner]:hover,[part~=date-inner]:focus{background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));color:var(--igc-secondary-100-contrast);border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=date-inner][part~=current][part~=selected]{-webkit-box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a)),0 0 0 .0625rem hsla(var(--igc-secondary-500), var(--igc-secondary-a));box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a)),0 0 0 .0625rem hsla(var(--igc-secondary-500), var(--igc-secondary-a))}[part~=current][part~=date-inner]{-webkit-box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-gray-600), var(--igc-gray-a));box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-gray-600), var(--igc-gray-a))}[part~=current][part~=date-inner]:hover,[part~=current][part~=date-inner]:focus{-webkit-box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a));box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a))}[part~=date],[part~=week-number],[part~=label]{font-size:var(--igc-subtitle-1-font-size);width:100%;color:hsla(var(--igc-gray-800), var(--igc-gray-a));position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;outline:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-top:.0625rem solid transparent;border-bottom:.0625rem solid transparent}[part=label-inner]{-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;min-width:4ch;text-align:center}[part~=date-inner],[part~=week-number-inner]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:.0625rem solid transparent}[part~=date-inner]:focus,[part~=week-number-inner]:focus{outline:none}[part~=date][part~=range]{background:hsla(var(--igc-secondary-50), var(--igc-secondary-a))}[part~=date][part~=range][part~=preview]{background:transparent;border-top:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));border-bottom:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a))}[part~=date][part~=range][part~=preview][part~=first],[part~=date][part~=range][part~=preview][part~=last]{background:transparent;border-top-color:transparent;border-bottom-color:transparent}[part~=date][part~=range][part~=preview][part~=first]::after,[part~=date][part~=range][part~=preview][part~=last]::after{border-top:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));border-bottom:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));background:transparent}[part~=date][part~=range][part~=first],[part~=date][part~=range][part~=last]{background:transparent}[part~=date][part~=range][part~=first]::after,[part~=date][part~=range][part~=last]::after{content:"";position:absolute;height:100%;width:calc(50% + 0.0625rem);background:hsla(var(--igc-secondary-50), var(--igc-secondary-a));border-top:.0625rem solid hsla(var(--igc-secondary-50), var(--igc-secondary-a));border-bottom:.0625rem solid hsla(var(--igc-secondary-50), var(--igc-secondary-a));z-index:1}[part~=date][part~=range][part~=first]::after{inset-inline-start:50%}[part~=date][part~=range][part~=last]::after{inset-inline-end:calc(50% - 0.0625rem)}[part~=date][part~=range]+[part~=date][part~=range][part~=last]::after{inset-inline-end:50%}[part~=date-inner][part~=weekend],[part~=date-inner][part~=inactive],[part~=date-inner][part~=label],[part~=date-inner][part~=disabled]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}[part~=date-inner][part~=weekend]:hover,[part~=date-inner][part~=weekend]:focus,[part~=date-inner][part~=inactive]:hover,[part~=date-inner][part~=inactive]:focus{color:var(--igc-secondary-100-contrast)}[part~=date-inner][part~=selected][part~=range][part~=first],[part~=date-inner][part~=selected][part~=range][part~=last],[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=first],[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=last],[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=first],[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=last]{color:var(--igc-secondary-700-contrast)}[part~=date-inner][part~=selected][part~=range][part~=weekend],[part~=date-inner][part~=selected][part~=range][part~=inactive],[part~=date-inner][part~=selected][part~=range]{color:var(--igc-secondary-50-contrast)}[part~=date-inner][part~=selected][part~=range][part~=weekend]:hover,[part~=date-inner][part~=selected][part~=range][part~=weekend]:focus,[part~=date-inner][part~=selected][part~=range][part~=inactive]:hover,[part~=date-inner][part~=selected][part~=range][part~=inactive]:focus,[part~=date-inner][part~=selected][part~=range]:hover,[part~=date-inner][part~=selected][part~=range]:focus{color:var(--igc-secondary-100-contrast);background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=date-inner][part~=selected][part~=range][part~=first],[part~=date-inner][part~=selected][part~=range][part~=last],[part~=date-inner][part~=selected]:not([part~=range]){background:hsla(var(--igc-secondary-500), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-500), var(--igc-secondary-a))}[part~=date-inner][part~=selected][part~=range][part~=first]:hover,[part~=date-inner][part~=selected][part~=range][part~=first]:focus,[part~=date-inner][part~=selected][part~=range][part~=last]:hover,[part~=date-inner][part~=selected][part~=range][part~=last]:focus,[part~=date-inner][part~=selected]:not([part~=range]):hover,[part~=date-inner][part~=selected]:not([part~=range]):focus{background:hsla(var(--igc-secondary-700), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-700), var(--igc-secondary-a));color:var(--igc-secondary-700-contrast)}[part~=date-inner][part~=selected][part~=weekend]:not([part~=range]),[part~=date-inner][part~=selected][part~=inactive]:not([part~=range]),[part~=date-inner][part~=selected]:not([part~=range]){color:var(--igc-secondary-700-contrast)}[part~=week-number]{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;color:hsla(var(--igc-gray-500), var(--igc-gray-a));cursor:default}[part="week-number-inner first"]{border-top-left-radius:.25rem;border-top-right-radius:.25rem}[part="week-number-inner first"]::after{display:none}[part="week-number-inner last"]{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}[part~=week-number-inner]{position:relative;background:hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-end-color:hsla(var(--igc-gray-200), var(--igc-gray-a))}[part~=week-number-inner]::after{content:"";position:absolute;bottom:100%;height:calc(0.375rem + (0.0625rem * 2 + 2px));width:100%;background:hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-border-start:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-start:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-border-end:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-end:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a))}[part~=date-inner][part~=disabled]{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:not-allowed}[part~=date-inner][part~=special][part~=range],[part~=date-inner][part~=special]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));border-color:hsla(var(--igc-gray-100), var(--igc-gray-a));color:hsla(var(--igc-gray-900), var(--igc-gray-a));font-weight:900}[part~=date-inner][part~=special][part~=range]:hover,[part~=date-inner][part~=special][part~=range]:focus,[part~=date-inner][part~=special]:hover,[part~=date-inner][part~=special]:focus{background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=hidden]{visibility:hidden}`;
|
|
3
3
|
//# sourceMappingURL=days-view.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"days-view.material.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"days-view.material.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kmRAAkmR,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:290px;gap:.375rem;outline:none;padding:0 .75rem 1rem .75rem;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}[part~=days-row]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[part~=date-inner]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}[part~=date-inner]:hover,[part~=date-inner]:focus{background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));color:var(--igc-secondary-100-contrast);border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=date-inner][part~=current][part~=selected]{-webkit-box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a)),0 0 0 .0625rem hsla(var(--igc-secondary-500), var(--igc-secondary-a));box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a)),0 0 0 .0625rem hsla(var(--igc-secondary-500), var(--igc-secondary-a))}[part~=current][part~=date-inner]{-webkit-box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-gray-600), var(--igc-gray-a));box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-gray-600), var(--igc-gray-a))}[part~=current][part~=date-inner]:hover,[part~=current][part~=date-inner]:focus{-webkit-box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a));box-shadow:inset 0 0 0 .0625rem hsla(var(--igc-surface-500), var(--igc-surface-a))}[part~=date],[part~=week-number],[part~=label]{font-size:var(--igc-subtitle-1-font-size);width:100%;color:hsla(var(--igc-gray-800), var(--igc-gray-a));position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;outline:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-top:.0625rem solid transparent;border-bottom:.0625rem solid transparent}[part=label-inner]{-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;min-width:4ch;text-align:center}[part~=date-inner],[part~=week-number-inner]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:.0625rem solid transparent}[part~=date-inner]:focus,[part~=week-number-inner]:focus{outline:none}[part~=date][part~=range]{background:hsla(var(--igc-secondary-50), var(--igc-secondary-a))}[part~=date][part~=range][part~=preview]{background:transparent;border-top:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));border-bottom:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a))}[part~=date][part~=range][part~=preview][part~=first],[part~=date][part~=range][part~=preview][part~=last]{background:transparent;border-top-color:transparent;border-bottom-color:transparent}[part~=date][part~=range][part~=preview][part~=first]::after,[part~=date][part~=range][part~=preview][part~=last]::after{border-top:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));border-bottom:.0625rem dashed hsla(var(--igc-gray-300), var(--igc-gray-a));background:transparent}[part~=date][part~=range][part~=first],[part~=date][part~=range][part~=last]{background:transparent}[part~=date][part~=range][part~=first]::after,[part~=date][part~=range][part~=last]::after{content:\"\";position:absolute;height:100%;width:calc(50% + 0.0625rem);background:hsla(var(--igc-secondary-50), var(--igc-secondary-a));border-top:.0625rem solid hsla(var(--igc-secondary-50), var(--igc-secondary-a));border-bottom:.0625rem solid hsla(var(--igc-secondary-50), var(--igc-secondary-a));z-index:1}[part~=date][part~=range][part~=first]::after{inset-inline-start:50%}[part~=date][part~=range][part~=last]::after{inset-inline-end:calc(50% - 0.0625rem)}[part~=date][part~=range]+[part~=date][part~=range][part~=last]::after{inset-inline-end:50%}[part~=date-inner][part~=weekend],[part~=date-inner][part~=inactive],[part~=date-inner][part~=label],[part~=date-inner][part~=disabled]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}[part~=date-inner][part~=weekend]:hover,[part~=date-inner][part~=weekend]:focus,[part~=date-inner][part~=inactive]:hover,[part~=date-inner][part~=inactive]:focus{color:var(--igc-secondary-100-contrast)}[part~=date-inner][part~=selected][part~=range][part~=first],[part~=date-inner][part~=selected][part~=range][part~=last],[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=first],[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=last],[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=first],[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=last]{color:var(--igc-secondary-700-contrast)}[part~=date-inner][part~=selected][part~=range][part~=weekend],[part~=date-inner][part~=selected][part~=range][part~=inactive],[part~=date-inner][part~=selected][part~=range]{color:var(--igc-secondary-50-contrast)}[part~=date-inner][part~=selected][part~=range][part~=weekend]:hover,[part~=date-inner][part~=selected][part~=range][part~=weekend]:focus,[part~=date-inner][part~=selected][part~=range][part~=inactive]:hover,[part~=date-inner][part~=selected][part~=range][part~=inactive]:focus,[part~=date-inner][part~=selected][part~=range]:hover,[part~=date-inner][part~=selected][part~=range]:focus{color:var(--igc-secondary-100-contrast);background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=date-inner][part~=selected][part~=range][part~=first],[part~=date-inner][part~=selected][part~=range][part~=last],[part~=date-inner][part~=selected]:not([part~=range]){background:hsla(var(--igc-secondary-500), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-500), var(--igc-secondary-a))}[part~=date-inner][part~=selected][part~=range][part~=first]:hover,[part~=date-inner][part~=selected][part~=range][part~=first]:focus,[part~=date-inner][part~=selected][part~=range][part~=last]:hover,[part~=date-inner][part~=selected][part~=range][part~=last]:focus,[part~=date-inner][part~=selected]:not([part~=range]):hover,[part~=date-inner][part~=selected]:not([part~=range]):focus{background:hsla(var(--igc-secondary-700), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-700), var(--igc-secondary-a));color:var(--igc-secondary-700-contrast)}[part~=date-inner][part~=selected][part~=weekend]:not([part~=range]),[part~=date-inner][part~=selected][part~=inactive]:not([part~=range]),[part~=date-inner][part~=selected]:not([part~=range]){color:var(--igc-secondary-700-contrast)}[part~=week-number]{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;color:hsla(var(--igc-gray-500), var(--igc-gray-a));cursor:default}[part=\"week-number-inner first\"]{border-top-left-radius:.25rem;border-top-right-radius:.25rem}[part=\"week-number-inner first\"]::after{display:none}[part=\"week-number-inner last\"]{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}[part~=week-number-inner]{position:relative;background:hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-end-color:hsla(var(--igc-gray-200), var(--igc-gray-a))}[part~=week-number-inner]::after{content:\"\";position:absolute;bottom:100%;height:calc(0.375rem + (0.0625rem * 2 + 2px));width:100%;background:hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-border-start:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-start:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-border-end:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a));border-inline-end:.0625rem solid hsla(var(--igc-gray-200), var(--igc-gray-a))}[part~=date-inner][part~=disabled]{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:not-allowed}[part~=date-inner][part~=special][part~=range],[part~=date-inner][part~=special]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));border-color:hsla(var(--igc-gray-100), var(--igc-gray-a));color:hsla(var(--igc-gray-900), var(--igc-gray-a));font-weight:900}[part~=date-inner][part~=special][part~=range]:hover,[part~=date-inner][part~=special][part~=range]:focus,[part~=date-inner][part~=special]:hover,[part~=date-inner][part~=special]:focus{background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));border-color:hsla(var(--igc-secondary-100), var(--igc-secondary-a))}[part~=hidden]{visibility:hidden}`;\n"]}
|
|
@@ -2,16 +2,29 @@ import { LitElement } from 'lit';
|
|
|
2
2
|
import { Constructor } from '../../common/mixins/constructor';
|
|
3
3
|
import { IgcCalendarBaseEventMap } from '../common/calendar-base';
|
|
4
4
|
declare const IgcMonthsViewComponent_base: Constructor<import("../../common/mixins/event-emitter").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<LitElement>;
|
|
5
|
+
/**
|
|
6
|
+
* Instantiate a months view as a separate component in the calendar.
|
|
7
|
+
*
|
|
8
|
+
* @element igc-months-view
|
|
9
|
+
*
|
|
10
|
+
* @csspart months-row - The months row container.
|
|
11
|
+
* @csspart month - The month container.
|
|
12
|
+
* @csspart month-inner - The inner month container.
|
|
13
|
+
*/
|
|
5
14
|
export default class IgcMonthsViewComponent extends IgcMonthsViewComponent_base {
|
|
6
15
|
static styles: import("lit").CSSResult[];
|
|
7
16
|
private calendarModel;
|
|
8
17
|
private monthFormatter;
|
|
9
18
|
private activeMonth;
|
|
19
|
+
/** Тhe current value of the calendar. */
|
|
10
20
|
value: Date;
|
|
21
|
+
/** Sets the locale used for formatting and displaying the dates. */
|
|
11
22
|
locale: string;
|
|
12
|
-
|
|
23
|
+
/** The format of the month. Defaults to long. */
|
|
24
|
+
monthFormat: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' | undefined;
|
|
13
25
|
protected formatChange(): void;
|
|
14
26
|
constructor();
|
|
27
|
+
/** Focuses the active date. */
|
|
15
28
|
focusActiveDate(): void;
|
|
16
29
|
private initMonthFormatter;
|
|
17
30
|
private formattedMonth;
|
|
@@ -19,7 +32,7 @@ export default class IgcMonthsViewComponent extends IgcMonthsViewComponent_base
|
|
|
19
32
|
private resolveMonthPartName;
|
|
20
33
|
private selectMonth;
|
|
21
34
|
private monthKeyDown;
|
|
22
|
-
protected render(): import("lit").TemplateResult<1>;
|
|
35
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
23
36
|
}
|
|
24
37
|
declare global {
|
|
25
38
|
interface HTMLElementTagNameMap {
|
|
@@ -27,4 +40,3 @@ declare global {
|
|
|
27
40
|
}
|
|
28
41
|
}
|
|
29
42
|
export {};
|
|
30
|
-
//# sourceMappingURL=months-view.d.ts.map
|