@3mo/date-time-fields 0.0.7 → 0.0.8
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/README.md +2 -2
- package/dist/DateTimeFields/FieldDateBase.d.ts +3 -1
- package/dist/DateTimeFields/FieldDateBase.d.ts.map +1 -1
- package/dist/DateTimeFields/FieldDateRange.d.ts +1 -1
- package/dist/DateTimeFields/FieldDateRange.d.ts.map +1 -1
- package/dist/FieldDate.js +5 -5
- package/dist/FieldDateBase.d.ts +3 -1
- package/dist/FieldDateBase.d.ts.map +1 -1
- package/dist/FieldDateBase.js +53 -46
- package/dist/FieldDateRange.d.ts +1 -1
- package/dist/FieldDateRange.d.ts.map +1 -1
- package/dist/FieldDateRange.js +43 -43
- package/dist/FieldTime.js +3 -3
- package/dist/Popover/Popover.d.ts +9 -4
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/PopoverAlignment.d.ts +6 -0
- package/dist/Popover/PopoverAlignment.d.ts.map +1 -0
- package/dist/Popover/PopoverContainer.d.ts +26 -0
- package/dist/Popover/PopoverContainer.d.ts.map +1 -0
- package/dist/Popover/PopoverController.d.ts +8 -4
- package/dist/Popover/PopoverController.d.ts.map +1 -1
- package/dist/Popover/PopoverCoordinates.d.ts +2 -0
- package/dist/Popover/PopoverCoordinates.d.ts.map +1 -0
- package/dist/Popover/PopoverHost.d.ts +11 -0
- package/dist/Popover/PopoverHost.d.ts.map +1 -0
- package/dist/Popover/PopoverPlacement.d.ts +4 -4
- package/dist/Popover/PopoverPlacement.d.ts.map +1 -1
- package/dist/Popover/index.d.ts +4 -0
- package/dist/Popover/index.d.ts.map +1 -1
- package/dist/ResizeObserver/ResizeController.d.ts +2 -0
- package/dist/ResizeObserver/ResizeController.d.ts.map +1 -0
- package/dist/ResizeObserver/index.d.ts +3 -0
- package/dist/ResizeObserver/index.d.ts.map +1 -0
- package/dist/ResizeObserver/observeResize.d.ts +12 -0
- package/dist/ResizeObserver/observeResize.d.ts.map +1 -0
- package/dist/bundle.js +1 -1
- package/dist/calendar/Calendar.js +119 -119
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +39 -39
|
@@ -12,92 +12,92 @@ let Calendar = Calendar_1 = class Calendar extends Component {
|
|
|
12
12
|
this.years = new Array(200).fill(undefined).map((_n, i) => Calendar_1.startingYearDate.addYears(i));
|
|
13
13
|
}
|
|
14
14
|
static get styles() {
|
|
15
|
-
return css `
|
|
16
|
-
:host {
|
|
17
|
-
--mo-calendar-max-width: 325px;
|
|
18
|
-
--mo-calendar-min-height: 230px;
|
|
19
|
-
--mo-calendar-day-size: 36px;
|
|
20
|
-
--mo-calendar-week-number-width: var(--mo-calendar-day-size);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.monthHeader, .week {
|
|
24
|
-
color: var(--mo-color-gray);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.monthHeader {
|
|
28
|
-
align-items: center;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.navigatingMonth, .navigatingYear {
|
|
32
|
-
font-size: var(--mo-font-size-l);
|
|
33
|
-
transition: var(--mo-duration-quick);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.navigatingYear:hover {
|
|
37
|
-
color: var(--mo-color-accent);
|
|
38
|
-
cursor: pointer;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.day, .year {
|
|
42
|
-
text-align: center;
|
|
43
|
-
border-radius: 100px;
|
|
44
|
-
cursor: pointer;
|
|
45
|
-
transition: var(--mo-duration-quick);
|
|
46
|
-
font-weight: 500;
|
|
47
|
-
user-select: none;
|
|
48
|
-
font-size: var(--mo-font-size-m);
|
|
49
|
-
width: var(--mo-calendar-day-size);
|
|
50
|
-
-webkit-user-select: none;
|
|
51
|
-
align-items: center;
|
|
52
|
-
justify-content: center;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.year {
|
|
56
|
-
width: 100%;
|
|
57
|
-
justify-content: center;
|
|
58
|
-
align-items: center;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.selected {
|
|
62
|
-
background: var(--mo-color-accent);
|
|
63
|
-
color: var(--mo-color-accessible) !important;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.day {
|
|
67
|
-
height: var(--mo-calendar-day-size);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.day:hover, .year:hover {
|
|
71
|
-
background: var(--mo-color-transparent-gray-3);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.day:not(.isInMonth) {
|
|
75
|
-
color: var(--mo-color-gray);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.day.today {
|
|
79
|
-
color: var(--mo-color-accent);
|
|
80
|
-
}
|
|
15
|
+
return css `
|
|
16
|
+
:host {
|
|
17
|
+
--mo-calendar-max-width: 325px;
|
|
18
|
+
--mo-calendar-min-height: 230px;
|
|
19
|
+
--mo-calendar-day-size: 36px;
|
|
20
|
+
--mo-calendar-week-number-width: var(--mo-calendar-day-size);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.monthHeader, .week {
|
|
24
|
+
color: var(--mo-color-gray);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.monthHeader {
|
|
28
|
+
align-items: center;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.navigatingMonth, .navigatingYear {
|
|
32
|
+
font-size: var(--mo-font-size-l);
|
|
33
|
+
transition: var(--mo-duration-quick);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.navigatingYear:hover {
|
|
37
|
+
color: var(--mo-color-accent);
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.day, .year {
|
|
42
|
+
text-align: center;
|
|
43
|
+
border-radius: 100px;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
transition: var(--mo-duration-quick);
|
|
46
|
+
font-weight: 500;
|
|
47
|
+
user-select: none;
|
|
48
|
+
font-size: var(--mo-font-size-m);
|
|
49
|
+
width: var(--mo-calendar-day-size);
|
|
50
|
+
-webkit-user-select: none;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: center;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.year {
|
|
56
|
+
width: 100%;
|
|
57
|
+
justify-content: center;
|
|
58
|
+
align-items: center;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.selected {
|
|
62
|
+
background: var(--mo-color-accent);
|
|
63
|
+
color: var(--mo-color-accessible) !important;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.day {
|
|
67
|
+
height: var(--mo-calendar-day-size);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.day:hover, .year:hover {
|
|
71
|
+
background: var(--mo-color-transparent-gray-3);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.day:not(.isInMonth) {
|
|
75
|
+
color: var(--mo-color-gray);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.day.today {
|
|
79
|
+
color: var(--mo-color-accent);
|
|
80
|
+
}
|
|
81
81
|
`;
|
|
82
82
|
}
|
|
83
83
|
get template() {
|
|
84
|
-
return html `
|
|
85
|
-
<mo-flex alignItems='center' justifyContent='center' ${style({ width: 'var(--mo-calendar-max-width)', minHeight: 'var(--mo-calendar-min-height)' })}>
|
|
86
|
-
<mo-flex direction='horizontal' justifyContent='space-between' alignItems='center' ${style({ width: '100%' })}>
|
|
87
|
-
<mo-icon-button icon=${getComputedStyle(this).direction === 'rtl' ? 'keyboard_arrow_right' : 'keyboard_arrow_left'}
|
|
88
|
-
@click=${() => this.navigatingDate = this.navigatingDate.addMonths(-1)}
|
|
89
|
-
></mo-icon-button>
|
|
90
|
-
<div>
|
|
91
|
-
<a class='navigatingMonth'>${this.navigatingDate.monthName}</a>
|
|
92
|
-
<a class='navigatingYear' @click=${() => this.toggleYearSelection()}>${this.navigatingDate.yearName}</a>
|
|
93
|
-
</div>
|
|
94
|
-
<mo-icon-button icon=${getComputedStyle(this).direction === 'rtl' ? 'keyboard_arrow_left' : 'keyboard_arrow_right'}
|
|
95
|
-
@click=${() => this.navigatingDate = this.navigatingDate.addMonths(+1)}
|
|
96
|
-
></mo-icon-button>
|
|
97
|
-
</mo-flex>
|
|
98
|
-
|
|
99
|
-
${this.yearSelection ? this.yearSelectionTemplate : this.daySelectionTemplate}
|
|
100
|
-
</mo-flex>
|
|
84
|
+
return html `
|
|
85
|
+
<mo-flex alignItems='center' justifyContent='center' ${style({ width: 'var(--mo-calendar-max-width)', minHeight: 'var(--mo-calendar-min-height)' })}>
|
|
86
|
+
<mo-flex direction='horizontal' justifyContent='space-between' alignItems='center' ${style({ width: '100%' })}>
|
|
87
|
+
<mo-icon-button icon=${getComputedStyle(this).direction === 'rtl' ? 'keyboard_arrow_right' : 'keyboard_arrow_left'}
|
|
88
|
+
@click=${() => this.navigatingDate = this.navigatingDate.addMonths(-1)}
|
|
89
|
+
></mo-icon-button>
|
|
90
|
+
<div>
|
|
91
|
+
<a class='navigatingMonth'>${this.navigatingDate.monthName}</a>
|
|
92
|
+
<a class='navigatingYear' @click=${() => this.toggleYearSelection()}>${this.navigatingDate.yearName}</a>
|
|
93
|
+
</div>
|
|
94
|
+
<mo-icon-button icon=${getComputedStyle(this).direction === 'rtl' ? 'keyboard_arrow_left' : 'keyboard_arrow_right'}
|
|
95
|
+
@click=${() => this.navigatingDate = this.navigatingDate.addMonths(+1)}
|
|
96
|
+
></mo-icon-button>
|
|
97
|
+
</mo-flex>
|
|
98
|
+
|
|
99
|
+
${this.yearSelection ? this.yearSelectionTemplate : this.daySelectionTemplate}
|
|
100
|
+
</mo-flex>
|
|
101
101
|
`;
|
|
102
102
|
}
|
|
103
103
|
get daySelectionTemplate() {
|
|
@@ -107,35 +107,35 @@ let Calendar = Calendar_1 = class Calendar extends Component {
|
|
|
107
107
|
const range = this.rangeOf(start, end);
|
|
108
108
|
const weekDaysInMonth = [...range.groupToMap(d => String(d.weekOfYear))]
|
|
109
109
|
.sort(([, dates1], [, dates2]) => { var _a; return ((_a = dates1[0]) === null || _a === void 0 ? void 0 : _a.isBefore(dates2[0])) ? -1 : +1; });
|
|
110
|
-
return html `
|
|
111
|
-
<mo-grid class='month'
|
|
112
|
-
rows='repeat(auto-fill, var(--mo-calendar-day-size))'
|
|
113
|
-
columns=${this.includeWeekNumbers ? 'var(--mo-calendar-week-number-width) repeat(7, var(--mo-calendar-day-size))' : 'repeat(7, var(--mo-calendar-day-size))'}
|
|
114
|
-
${style({ alignItems: 'center', justifyItems: 'center' })}
|
|
115
|
-
>
|
|
116
|
-
${this.includeWeekNumbers === false ? nothing : html `<div></div>`}
|
|
117
|
-
|
|
118
|
-
${DateTime.getWeekDayNames().map(dayName => html `
|
|
119
|
-
<div class='monthHeader'>
|
|
120
|
-
${dayName.charAt(0).toUpperCase() + dayName.charAt(1)}
|
|
121
|
-
</div>
|
|
122
|
-
`)}
|
|
123
|
-
|
|
124
|
-
${weekDaysInMonth.map(([weekNumber, days]) => html `
|
|
125
|
-
${this.includeWeekNumbers === false ? nothing : html `
|
|
126
|
-
<div class='week'>
|
|
127
|
-
${weekNumber}
|
|
128
|
-
</div>
|
|
129
|
-
`}
|
|
130
|
-
|
|
131
|
-
${days.map(day => this.getDayTemplate(day))}
|
|
132
|
-
`)}
|
|
133
|
-
</mo-grid>
|
|
110
|
+
return html `
|
|
111
|
+
<mo-grid class='month'
|
|
112
|
+
rows='repeat(auto-fill, var(--mo-calendar-day-size))'
|
|
113
|
+
columns=${this.includeWeekNumbers ? 'var(--mo-calendar-week-number-width) repeat(7, var(--mo-calendar-day-size))' : 'repeat(7, var(--mo-calendar-day-size))'}
|
|
114
|
+
${style({ alignItems: 'center', justifyItems: 'center' })}
|
|
115
|
+
>
|
|
116
|
+
${this.includeWeekNumbers === false ? nothing : html `<div></div>`}
|
|
117
|
+
|
|
118
|
+
${DateTime.getWeekDayNames().map(dayName => html `
|
|
119
|
+
<div class='monthHeader'>
|
|
120
|
+
${dayName.charAt(0).toUpperCase() + dayName.charAt(1)}
|
|
121
|
+
</div>
|
|
122
|
+
`)}
|
|
123
|
+
|
|
124
|
+
${weekDaysInMonth.map(([weekNumber, days]) => html `
|
|
125
|
+
${this.includeWeekNumbers === false ? nothing : html `
|
|
126
|
+
<div class='week'>
|
|
127
|
+
${weekNumber}
|
|
128
|
+
</div>
|
|
129
|
+
`}
|
|
130
|
+
|
|
131
|
+
${days.map(day => this.getDayTemplate(day))}
|
|
132
|
+
`)}
|
|
133
|
+
</mo-grid>
|
|
134
134
|
`;
|
|
135
135
|
}
|
|
136
136
|
getDayTemplate(day) {
|
|
137
|
-
return html `
|
|
138
|
-
<mo-flex class=${classMap(this.getDefaultDayElementClasses(day))}>${day.format({ day: 'numeric' })}</mo-flex>
|
|
137
|
+
return html `
|
|
138
|
+
<mo-flex class=${classMap(this.getDefaultDayElementClasses(day))}>${day.format({ day: 'numeric' })}</mo-flex>
|
|
139
139
|
`;
|
|
140
140
|
}
|
|
141
141
|
getDefaultDayElementClasses(day) {
|
|
@@ -150,16 +150,16 @@ let Calendar = Calendar_1 = class Calendar extends Component {
|
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
get yearSelectionTemplate() {
|
|
153
|
-
return html `
|
|
154
|
-
<mo-scroller ${style({ height: '*' })}>
|
|
155
|
-
<mo-grid rows='repeat(50, var(--mo-calendar-day-size))' columns='repeat(4, 1fr)'>
|
|
156
|
-
${this.years.map(year => html `
|
|
157
|
-
<mo-flex class=${classMap({ year: true, selected: this.navigatingDate.year === year.year })} @click=${() => this.selectYear(year.year)}>
|
|
158
|
-
${year.yearName}
|
|
159
|
-
</mo-flex>
|
|
160
|
-
`)}
|
|
161
|
-
</mo-grid>
|
|
162
|
-
</mo-scroller>
|
|
153
|
+
return html `
|
|
154
|
+
<mo-scroller ${style({ height: '*' })}>
|
|
155
|
+
<mo-grid rows='repeat(50, var(--mo-calendar-day-size))' columns='repeat(4, 1fr)'>
|
|
156
|
+
${this.years.map(year => html `
|
|
157
|
+
<mo-flex class=${classMap({ year: true, selected: this.navigatingDate.year === year.year })} @click=${() => this.selectYear(year.year)}>
|
|
158
|
+
${year.yearName}
|
|
159
|
+
</mo-flex>
|
|
160
|
+
`)}
|
|
161
|
+
</mo-grid>
|
|
162
|
+
</mo-scroller>
|
|
163
163
|
`;
|
|
164
164
|
}
|
|
165
165
|
selectYear(year) {
|