@getflip/swirl-components 0.425.0 → 0.426.1
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/components.json +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/swirl-button.cjs.entry.js +1 -1
- package/dist/cjs/swirl-components.cjs.js +1 -1
- package/dist/cjs/swirl-table.cjs.entry.js +1 -1
- package/dist/cjs/wc-datepicker.cjs.entry.js +160 -34
- package/dist/collection/components/swirl-button/swirl-button.css +6 -3
- package/dist/collection/components/swirl-table/swirl-table.css +11 -4
- package/dist/components/assets/pdfjs/pdf.worker.min.mjs +1 -1
- package/dist/components/swirl-button2.js +1 -1
- package/dist/components/swirl-table.js +1 -1
- package/dist/components/wc-datepicker2.js +162 -34
- package/dist/esm/loader.js +1 -1
- package/dist/esm/swirl-button.entry.js +1 -1
- package/dist/esm/swirl-components.js +1 -1
- package/dist/esm/swirl-table.entry.js +1 -1
- package/dist/esm/wc-datepicker.entry.js +160 -34
- package/dist/swirl-components/{p-8c4c52c4.entry.js → p-54d0e3eb.entry.js} +1 -1
- package/dist/swirl-components/p-64c8be03.entry.js +1 -0
- package/dist/swirl-components/p-a001b2e3.entry.js +1 -0
- package/dist/swirl-components/swirl-components.esm.js +1 -1
- package/package.json +2 -2
- package/dist/swirl-components/p-26d34e31.entry.js +0 -1
- package/dist/swirl-components/p-69df6086.entry.js +0 -1
|
@@ -106,7 +106,9 @@ function getWeekDays(firstDayOfWeek, locale) {
|
|
|
106
106
|
return [
|
|
107
107
|
Intl.DateTimeFormat(locale, {
|
|
108
108
|
weekday: 'short'
|
|
109
|
-
})
|
|
109
|
+
})
|
|
110
|
+
.format(date)
|
|
111
|
+
.slice(0, 3),
|
|
110
112
|
Intl.DateTimeFormat(locale, {
|
|
111
113
|
weekday: 'long'
|
|
112
114
|
}).format(date)
|
|
@@ -172,12 +174,96 @@ const WCDatepicker = class {
|
|
|
172
174
|
this.showTodayButton = false;
|
|
173
175
|
this.showYearStepper = false;
|
|
174
176
|
this.startDate = getISODateString(new Date());
|
|
177
|
+
this.maxSearchDays = 365;
|
|
178
|
+
this.goToRangeStartOnSelect = true;
|
|
175
179
|
this.init = () => {
|
|
176
180
|
this.currentDate = this.startDate
|
|
177
181
|
? removeTimezoneOffset(new Date(this.startDate))
|
|
178
182
|
: new Date();
|
|
179
183
|
this.updateWeekdays();
|
|
180
184
|
};
|
|
185
|
+
this.getAvailableDate = (date, direction) => {
|
|
186
|
+
let potentialDate;
|
|
187
|
+
let outOfRange = false;
|
|
188
|
+
switch (direction) {
|
|
189
|
+
case 'previousDay':
|
|
190
|
+
potentialDate = getPreviousDay(date);
|
|
191
|
+
break;
|
|
192
|
+
case 'nextDay':
|
|
193
|
+
potentialDate = getNextDay(date);
|
|
194
|
+
break;
|
|
195
|
+
case 'previousSameWeekDay':
|
|
196
|
+
potentialDate = subDays(date, 7);
|
|
197
|
+
break;
|
|
198
|
+
case 'nextSameWeekDay':
|
|
199
|
+
potentialDate = addDays(date, 7);
|
|
200
|
+
break;
|
|
201
|
+
case 'firstOfMonth':
|
|
202
|
+
potentialDate = getFirstOfMonth(date);
|
|
203
|
+
break;
|
|
204
|
+
case 'lastOfMonth':
|
|
205
|
+
potentialDate = getLastOfMonth(date);
|
|
206
|
+
break;
|
|
207
|
+
case 'previousMonth':
|
|
208
|
+
potentialDate = getPreviousMonth(date);
|
|
209
|
+
break;
|
|
210
|
+
case 'nextMonth':
|
|
211
|
+
potentialDate = getNextMonth(date);
|
|
212
|
+
break;
|
|
213
|
+
case 'previousYear':
|
|
214
|
+
potentialDate = getPreviousYear(date);
|
|
215
|
+
break;
|
|
216
|
+
case 'nextYear':
|
|
217
|
+
potentialDate = getNextYear(date);
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
while (this.disableDate(potentialDate) && !outOfRange) {
|
|
221
|
+
switch (direction) {
|
|
222
|
+
case 'previousDay':
|
|
223
|
+
case 'lastOfMonth':
|
|
224
|
+
potentialDate = getPreviousDay(potentialDate);
|
|
225
|
+
break;
|
|
226
|
+
case 'nextDay':
|
|
227
|
+
case 'firstOfMonth':
|
|
228
|
+
case 'previousMonth':
|
|
229
|
+
case 'nextMonth':
|
|
230
|
+
case 'previousYear':
|
|
231
|
+
case 'nextYear':
|
|
232
|
+
potentialDate = getNextDay(potentialDate);
|
|
233
|
+
break;
|
|
234
|
+
case 'previousSameWeekDay':
|
|
235
|
+
potentialDate = subDays(potentialDate, 7);
|
|
236
|
+
break;
|
|
237
|
+
case 'nextSameWeekDay':
|
|
238
|
+
potentialDate = addDays(potentialDate, 7);
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
switch (direction) {
|
|
242
|
+
case 'firstOfMonth':
|
|
243
|
+
case 'lastOfMonth':
|
|
244
|
+
case 'previousYear':
|
|
245
|
+
case 'nextYear':
|
|
246
|
+
outOfRange = potentialDate.getMonth() !== date.getMonth();
|
|
247
|
+
break;
|
|
248
|
+
case 'previousMonth':
|
|
249
|
+
outOfRange = potentialDate.getMonth() !== date.getMonth() - 1;
|
|
250
|
+
break;
|
|
251
|
+
case 'nextMonth':
|
|
252
|
+
outOfRange = potentialDate.getMonth() !== date.getMonth() + 1;
|
|
253
|
+
break;
|
|
254
|
+
default:
|
|
255
|
+
outOfRange = !isDateInRange(potentialDate, {
|
|
256
|
+
from: subDays(date, this.maxSearchDays),
|
|
257
|
+
to: addDays(date, this.maxSearchDays)
|
|
258
|
+
});
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
if (outOfRange) {
|
|
263
|
+
return date;
|
|
264
|
+
}
|
|
265
|
+
return potentialDate;
|
|
266
|
+
};
|
|
181
267
|
this.nextMonth = () => {
|
|
182
268
|
this.updateCurrentDate(getNextMonth(this.currentDate));
|
|
183
269
|
};
|
|
@@ -211,9 +297,12 @@ const WCDatepicker = class {
|
|
|
211
297
|
};
|
|
212
298
|
this.onMonthSelect = (event) => {
|
|
213
299
|
const month = +event.target.value - 1;
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
|
|
300
|
+
const currentDay = this.currentDate.getDate();
|
|
301
|
+
const targetDate = new Date(this.currentDate.getFullYear(), month, 1);
|
|
302
|
+
const lastDayOfTargetMonth = getLastOfMonth(targetDate).getDate();
|
|
303
|
+
const clampedDay = Math.min(currentDay, lastDayOfTargetMonth);
|
|
304
|
+
const updatedDate = new Date(this.currentDate.getFullYear(), month, clampedDay);
|
|
305
|
+
this.updateCurrentDate(updatedDate);
|
|
217
306
|
};
|
|
218
307
|
this.onYearSelect = (event) => {
|
|
219
308
|
let year = +event.target.value;
|
|
@@ -230,9 +319,15 @@ const WCDatepicker = class {
|
|
|
230
319
|
year = 9999;
|
|
231
320
|
input.value = String(year);
|
|
232
321
|
}
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
|
|
322
|
+
const currentDay = this.currentDate.getDate();
|
|
323
|
+
const currentMonth = this.currentDate.getMonth();
|
|
324
|
+
const targetDate = new Date();
|
|
325
|
+
targetDate.setFullYear(year, currentMonth, 1);
|
|
326
|
+
const lastDayOfTargetMonth = getLastOfMonth(targetDate).getDate();
|
|
327
|
+
const clampedDay = Math.min(currentDay, lastDayOfTargetMonth);
|
|
328
|
+
const updatedDate = new Date();
|
|
329
|
+
updatedDate.setFullYear(year, currentMonth, clampedDay);
|
|
330
|
+
this.updateCurrentDate(updatedDate);
|
|
236
331
|
};
|
|
237
332
|
this.onKeyDown = (event) => {
|
|
238
333
|
if (this.disabled) {
|
|
@@ -240,45 +335,45 @@ const WCDatepicker = class {
|
|
|
240
335
|
}
|
|
241
336
|
if (event.code === 'ArrowLeft') {
|
|
242
337
|
event.preventDefault();
|
|
243
|
-
this.updateCurrentDate(
|
|
338
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'previousDay'), true);
|
|
244
339
|
}
|
|
245
340
|
else if (event.code === 'ArrowRight') {
|
|
246
341
|
event.preventDefault();
|
|
247
|
-
this.updateCurrentDate(
|
|
342
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'nextDay'), true);
|
|
248
343
|
}
|
|
249
344
|
else if (event.code === 'ArrowUp') {
|
|
250
345
|
event.preventDefault();
|
|
251
|
-
this.updateCurrentDate(
|
|
346
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'previousSameWeekDay'), true);
|
|
252
347
|
}
|
|
253
348
|
else if (event.code === 'ArrowDown') {
|
|
254
349
|
event.preventDefault();
|
|
255
|
-
this.updateCurrentDate(
|
|
350
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'nextSameWeekDay'), true);
|
|
256
351
|
}
|
|
257
352
|
else if (event.code === 'PageUp') {
|
|
258
353
|
event.preventDefault();
|
|
259
354
|
if (event.shiftKey) {
|
|
260
|
-
this.updateCurrentDate(
|
|
355
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'previousYear'), true);
|
|
261
356
|
}
|
|
262
357
|
else {
|
|
263
|
-
this.updateCurrentDate(
|
|
358
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'previousMonth'), true);
|
|
264
359
|
}
|
|
265
360
|
}
|
|
266
361
|
else if (event.code === 'PageDown') {
|
|
267
362
|
event.preventDefault();
|
|
268
363
|
if (event.shiftKey) {
|
|
269
|
-
this.updateCurrentDate(
|
|
364
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'nextYear'), true);
|
|
270
365
|
}
|
|
271
366
|
else {
|
|
272
|
-
this.updateCurrentDate(
|
|
367
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'nextMonth'), true);
|
|
273
368
|
}
|
|
274
369
|
}
|
|
275
370
|
else if (event.code === 'Home') {
|
|
276
371
|
event.preventDefault();
|
|
277
|
-
this.updateCurrentDate(
|
|
372
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'firstOfMonth'), true);
|
|
278
373
|
}
|
|
279
374
|
else if (event.code === 'End') {
|
|
280
375
|
event.preventDefault();
|
|
281
|
-
this.updateCurrentDate(
|
|
376
|
+
this.updateCurrentDate(this.getAvailableDate(this.currentDate, 'lastOfMonth'), true);
|
|
282
377
|
}
|
|
283
378
|
else if (event.code === 'Space' || event.code === 'Enter') {
|
|
284
379
|
event.preventDefault();
|
|
@@ -318,13 +413,17 @@ const WCDatepicker = class {
|
|
|
318
413
|
: new Date();
|
|
319
414
|
}
|
|
320
415
|
watchValue() {
|
|
321
|
-
if (Boolean(this.value)) {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
this.
|
|
327
|
-
|
|
416
|
+
if (!Boolean(this.value)) {
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
if (Array.isArray(this.value)) {
|
|
420
|
+
this.currentDate =
|
|
421
|
+
this.value.length > 1 && !this.goToRangeStartOnSelect
|
|
422
|
+
? this.value[1]
|
|
423
|
+
: this.value[0];
|
|
424
|
+
}
|
|
425
|
+
else if (this.value instanceof Date) {
|
|
426
|
+
this.currentDate = this.value;
|
|
328
427
|
}
|
|
329
428
|
}
|
|
330
429
|
componentDidRender() {
|
|
@@ -351,14 +450,36 @@ const WCDatepicker = class {
|
|
|
351
450
|
return calendarRows;
|
|
352
451
|
}
|
|
353
452
|
getTitle() {
|
|
354
|
-
if (!Boolean(this.
|
|
453
|
+
if (!Boolean(this.value)) {
|
|
355
454
|
return;
|
|
356
455
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
456
|
+
if (this.isRangeValue(this.value)) {
|
|
457
|
+
const startDate = Intl.DateTimeFormat(this.locale, {
|
|
458
|
+
day: 'numeric',
|
|
459
|
+
month: 'long',
|
|
460
|
+
year: 'numeric'
|
|
461
|
+
}).format(this.value[0]);
|
|
462
|
+
const endDate = this.value[1]
|
|
463
|
+
? Intl.DateTimeFormat(this.locale, {
|
|
464
|
+
day: 'numeric',
|
|
465
|
+
month: 'long',
|
|
466
|
+
year: 'numeric'
|
|
467
|
+
}).format(this.value[1])
|
|
468
|
+
: undefined;
|
|
469
|
+
if (Boolean(endDate)) {
|
|
470
|
+
return `${startDate} - ${endDate}`;
|
|
471
|
+
}
|
|
472
|
+
else {
|
|
473
|
+
return startDate;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
return Intl.DateTimeFormat(this.locale, {
|
|
478
|
+
day: 'numeric',
|
|
479
|
+
month: 'long',
|
|
480
|
+
year: 'numeric'
|
|
481
|
+
}).format(this.value);
|
|
482
|
+
}
|
|
362
483
|
}
|
|
363
484
|
focusDate(date) {
|
|
364
485
|
var _a;
|
|
@@ -374,7 +495,11 @@ const WCDatepicker = class {
|
|
|
374
495
|
const monthChanged = month !== this.currentDate.getMonth() ||
|
|
375
496
|
year !== this.currentDate.getFullYear();
|
|
376
497
|
if (monthChanged) {
|
|
377
|
-
this.changeMonth.emit({
|
|
498
|
+
this.changeMonth.emit({
|
|
499
|
+
month: getMonth(date),
|
|
500
|
+
year: getYear(date),
|
|
501
|
+
day: date.getDate()
|
|
502
|
+
});
|
|
378
503
|
if (moveFocus) {
|
|
379
504
|
this.moveFocusAfterMonthChanged = true;
|
|
380
505
|
}
|
|
@@ -419,7 +544,7 @@ const WCDatepicker = class {
|
|
|
419
544
|
return (index.h(index.Host, null, index.h("div", { "aria-disabled": String(this.disabled), "aria-label": this.labels.picker, class: {
|
|
420
545
|
[this.getClassName()]: true,
|
|
421
546
|
[`${this.getClassName()}--disabled`]: this.disabled
|
|
422
|
-
}, role: "group" }, index.h("div", { class: this.getClassName('header') }, index.h("span", { "aria-atomic": "true", "aria-live": "polite", class: "visually-hidden" }, this.getTitle()), this.showYearStepper && (index.h("button", { "aria-label": this.labels.previousYearButton, class: this.getClassName('previous-year-button'), disabled: this.disabled, innerHTML: this.previousYearButtonContent || undefined, onClick: this.previousYear, type: "button" }, index.h("svg", { fill: "none", height: "24", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", stroke: "currentColor", viewBox: "0 0 24 24", width: "24" }, index.h("polyline", { points: "11 17 6 12 11 7" }), index.h("polyline", { points: "18 17 13 12 18 7" })))), this.showMonthStepper && (index.h("button", { "aria-label": this.labels.previousMonthButton, class: this.getClassName('previous-month-button'), disabled: this.disabled, innerHTML: this.previousMonthButtonContent || undefined, onClick: this.previousMonth, type: "button" }, index.h("svg", { fill: "none", height: "24", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", stroke: "currentColor", viewBox: "0 0 24 24", width: "24" }, index.h("polyline", { points: "15 18 9 12 15 6" })))), index.h("span", { class: this.getClassName('current-month') }, index.h("select", { "aria-label": this.labels.monthSelect, class: this.getClassName('month-select'), disabled: this.disabled, name: "month", onChange: this.onMonthSelect }, getMonths(this.locale).map((month, index$1) => (index.h("option", { key: month, selected: this.currentDate.getMonth() === index$1, value: index$1 + 1 }, month)))), index.h("input", { "aria-label": this.labels.yearSelect, class: this.getClassName('year-select'), disabled: this.disabled, max: 9999, maxLength: 4, min: 1, name: "year", onChange: this.onYearSelect, type: "number", value: this.currentDate.getFullYear() })), this.showMonthStepper && (index.h("button", { "aria-label": this.labels.nextMonthButton, class: this.getClassName('next-month-button'), disabled: this.disabled, innerHTML: this.nextMonthButtonContent || undefined, onClick: this.nextMonth, type: "button" }, index.h("svg", { fill: "none", height: "24", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", stroke: "currentColor", viewBox: "0 0 24 24", width: "24" }, index.h("polyline", { points: "9 18 15 12 9 6" })))), this.showYearStepper && (index.h("button", { "aria-label": this.labels.nextYearButton, class: this.getClassName('next-year-button'), disabled: this.disabled, innerHTML: this.nextYearButtonContent || undefined, onClick: this.nextYear, type: "button" }, index.h("svg", { fill: "none", height: "24", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", stroke: "currentColor", viewBox: "0 0 24 24", width: "24" }, index.h("polyline", { points: "13 17 18 12 13 7" }), index.h("polyline", { points: "6 17 11 12 6 7" }))))), index.h("div", { class: this.getClassName('body') }, index.h("table", { class: this.getClassName('calendar'), onKeyDown: this.onKeyDown, role: "grid" }, index.h("thead", { class: this.getClassName('calendar-header') }, index.h("tr", { class: this.getClassName('weekday-row') }, this.weekdays.map((weekday) => (index.h("th", { abbr: weekday[1], class: this.getClassName('weekday'), key: weekday[0], scope: "col" }, index.h("span", null, weekday[0])))))), index.h("tbody", null, this.getCalendarRows().map((calendarRow) => {
|
|
547
|
+
}, role: "group" }, index.h("div", { class: this.getClassName('header') }, index.h("span", { "aria-atomic": "true", "aria-live": "polite", class: "visually-hidden" }, this.getTitle()), this.showYearStepper && (index.h("button", { "aria-label": this.labels.previousYearButton, class: this.getClassName('previous-year-button'), disabled: this.disabled, innerHTML: this.previousYearButtonContent || undefined, onClick: this.previousYear, type: "button" }, index.h("svg", { fill: "none", height: "24", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", stroke: "currentColor", viewBox: "0 0 24 24", width: "24" }, index.h("polyline", { points: "11 17 6 12 11 7" }), index.h("polyline", { points: "18 17 13 12 18 7" })))), this.showMonthStepper && (index.h("button", { "aria-label": this.labels.previousMonthButton, class: this.getClassName('previous-month-button'), disabled: this.disabled, innerHTML: this.previousMonthButtonContent || undefined, onClick: this.previousMonth, type: "button" }, index.h("svg", { fill: "none", height: "24", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", stroke: "currentColor", viewBox: "0 0 24 24", width: "24" }, index.h("polyline", { points: "15 18 9 12 15 6" })))), index.h("span", { class: this.getClassName('current-month') }, index.h("select", { title: this.labels.monthSelect, "aria-label": this.labels.monthSelect, class: this.getClassName('month-select'), disabled: this.disabled, name: "month", onChange: this.onMonthSelect }, getMonths(this.locale).map((month, index$1) => (index.h("option", { key: month, selected: this.currentDate.getMonth() === index$1, value: index$1 + 1 }, month)))), index.h("input", { title: this.labels.yearSelect, "aria-label": this.labels.yearSelect, class: this.getClassName('year-select'), disabled: this.disabled, max: 9999, maxLength: 4, min: 1, name: "year", onChange: this.onYearSelect, type: "number", value: this.currentDate.getFullYear() })), this.showMonthStepper && (index.h("button", { "aria-label": this.labels.nextMonthButton, class: this.getClassName('next-month-button'), disabled: this.disabled, innerHTML: this.nextMonthButtonContent || undefined, onClick: this.nextMonth, type: "button" }, index.h("svg", { fill: "none", height: "24", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", stroke: "currentColor", viewBox: "0 0 24 24", width: "24" }, index.h("polyline", { points: "9 18 15 12 9 6" })))), this.showYearStepper && (index.h("button", { "aria-label": this.labels.nextYearButton, class: this.getClassName('next-year-button'), disabled: this.disabled, innerHTML: this.nextYearButtonContent || undefined, onClick: this.nextYear, type: "button" }, index.h("svg", { fill: "none", height: "24", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", stroke: "currentColor", viewBox: "0 0 24 24", width: "24" }, index.h("polyline", { points: "13 17 18 12 13 7" }), index.h("polyline", { points: "6 17 11 12 6 7" }))))), index.h("div", { class: this.getClassName('body') }, index.h("table", { class: this.getClassName('calendar'), onKeyDown: this.onKeyDown, role: "grid" }, index.h("thead", { class: this.getClassName('calendar-header') }, index.h("tr", { class: this.getClassName('weekday-row') }, this.weekdays.map((weekday) => (index.h("th", { "aria-label": weekday[1], abbr: weekday[1], class: this.getClassName('weekday'), key: weekday[0], scope: "col" }, index.h("span", null, weekday[0])))))), index.h("tbody", null, this.getCalendarRows().map((calendarRow) => {
|
|
423
548
|
const rowKey = `row-${calendarRow[0].getMonth()}-${calendarRow[0].getDate()}`;
|
|
424
549
|
return (index.h("tr", { class: this.getClassName('calendar-row'), key: rowKey }, calendarRow.map((day) => {
|
|
425
550
|
var _a, _b, _c, _d, _e;
|
|
@@ -464,11 +589,12 @@ const WCDatepicker = class {
|
|
|
464
589
|
: isToday
|
|
465
590
|
? 'em'
|
|
466
591
|
: 'span';
|
|
467
|
-
return (index.h("td", { "aria-disabled": String(isDisabled), "aria-selected": isSelected ? 'true' : undefined, class: className, "data-date": getISODateString(day), key: cellKey, onClick: this.onClick, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "gridcell", tabIndex: isSameDay(day, this.currentDate) && !this.disabled
|
|
592
|
+
return (index.h("td", { "aria-disabled": String(isDisabled), "aria-selected": isSelected ? 'true' : undefined, "aria-current": isToday ? 'date' : isSelected ? 'true' : undefined, class: className, "data-date": getISODateString(day), key: cellKey, onClick: this.onClick, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "gridcell", tabIndex: isSameDay(day, this.currentDate) && !this.disabled
|
|
468
593
|
? 0
|
|
469
594
|
: -1 }, index.h(Tag, { "aria-hidden": "true" }, day.getDate()), index.h("span", { class: "visually-hidden" }, Intl.DateTimeFormat(this.locale, {
|
|
470
595
|
day: 'numeric',
|
|
471
|
-
month: 'long'
|
|
596
|
+
month: 'long',
|
|
597
|
+
year: 'numeric'
|
|
472
598
|
}).format(day))));
|
|
473
599
|
})));
|
|
474
600
|
})))), showFooter && (index.h("div", { class: this.getClassName('footer') }, this.showTodayButton && (index.h("button", { class: this.getClassName('today-button'), disabled: this.disabled, innerHTML: this.todayButtonContent || undefined, onClick: this.showToday, type: "button" }, this.labels.todayButton)), this.showClearButton && (index.h("button", { class: this.getClassName('clear-button'), disabled: this.disabled, innerHTML: this.clearButtonContent || undefined, onClick: this.clear, type: "button" }, this.labels.clearButton)))))));
|
|
@@ -47,10 +47,13 @@
|
|
|
47
47
|
.button:disabled,
|
|
48
48
|
.button.button--disabled {
|
|
49
49
|
color: var(--s-text-disabled);
|
|
50
|
-
background-color: var(--swirl-ghost-button-background-disabled);
|
|
51
50
|
cursor: default;
|
|
52
51
|
}
|
|
53
52
|
|
|
53
|
+
.button:disabled:where(:not(.button--variant-ghost)), .button.button--disabled:where(:not(.button--variant-ghost)) {
|
|
54
|
+
background-color: var(--swirl-ghost-button-background-disabled);
|
|
55
|
+
}
|
|
56
|
+
|
|
54
57
|
.button:disabled .button__icon, .button.button--disabled .button__icon {
|
|
55
58
|
color: var(--s-icon-disabled);
|
|
56
59
|
}
|
|
@@ -422,7 +425,8 @@
|
|
|
422
425
|
|
|
423
426
|
.button--variant-translucent {
|
|
424
427
|
color: var(--s-text-default);
|
|
425
|
-
outline: var(--s-border-width-default) solid
|
|
428
|
+
outline: var(--s-border-width-default) solid
|
|
429
|
+
var(--s-border-translucent-outline);
|
|
426
430
|
outline-offset: calc(var(--s-border-width-default) * -1);
|
|
427
431
|
background: var(--s-translucent-medium-default);
|
|
428
432
|
box-shadow: var(--s-shadow-level-2);
|
|
@@ -452,7 +456,6 @@
|
|
|
452
456
|
color: var(--s-icon-default);
|
|
453
457
|
}
|
|
454
458
|
|
|
455
|
-
|
|
456
459
|
.button--icon-position-end .button__icon {
|
|
457
460
|
margin-right: calc(-1 * var(--s-space-4));
|
|
458
461
|
margin-left: 0;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
:host {
|
|
2
|
+
--swirl-table-shadow-rgba: rgba(23, 23, 23, 0.2);
|
|
3
|
+
|
|
2
4
|
position: relative;
|
|
3
5
|
display: block;
|
|
4
6
|
}
|
|
@@ -7,6 +9,10 @@
|
|
|
7
9
|
box-sizing: border-box;
|
|
8
10
|
}
|
|
9
11
|
|
|
12
|
+
:host-context(html.theme-dark) {
|
|
13
|
+
--swirl-table-shadow-rgba: rgba(0, 0, 0, 0.2);
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
.table--keyboard-move:focus-within {
|
|
11
17
|
--swirl-table-moving-row-border: var(--s-border-width-default) solid
|
|
12
18
|
var(--s-border-highlight);
|
|
@@ -23,13 +29,14 @@
|
|
|
23
29
|
}
|
|
24
30
|
|
|
25
31
|
.table__container--scrolled {
|
|
26
|
-
--swirl-table-sticky-right-shadow: 4px 0 16px -4px rgba
|
|
27
|
-
2px 0 4px -2px rgba
|
|
32
|
+
--swirl-table-sticky-right-shadow: 4px 0 16px -4px var(--swirl-table-shadow-rgba),
|
|
33
|
+
2px 0 4px -2px var(--swirl-table-shadow-rgba);
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
.table__container--scrollable:not(.table__container--scrolled-to-end) {
|
|
31
|
-
--swirl-table-sticky-left-shadow: 0px 4px 16px 0px
|
|
32
|
-
|
|
37
|
+
--swirl-table-sticky-left-shadow: 0px 4px 16px 0px
|
|
38
|
+
var(--swirl-table-shadow-rgba),
|
|
39
|
+
0px 1px 4px 0px var(--swirl-table-shadow-rgba);
|
|
33
40
|
}
|
|
34
41
|
|
|
35
42
|
.table__table {
|