@m3e/web 2.5.12 → 2.5.13
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/dist/all.js +20442 -16034
- package/dist/all.js.map +1 -1
- package/dist/all.min.js +174 -62
- package/dist/all.min.js.map +1 -1
- package/dist/calendar.js +45 -9
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.min.js +5 -5
- package/dist/calendar.min.js.map +1 -1
- package/dist/core-anchoring.js +19 -16
- package/dist/core-anchoring.js.map +1 -1
- package/dist/core-anchoring.min.js +1 -1
- package/dist/core-anchoring.min.js.map +1 -1
- package/dist/core.js +95 -82
- package/dist/core.js.map +1 -1
- package/dist/core.min.js +1 -1
- package/dist/core.min.js.map +1 -1
- package/dist/css-custom-data.json +50 -50
- package/dist/custom-elements.json +1209 -583
- package/dist/datepicker.js +53 -27
- package/dist/datepicker.js.map +1 -1
- package/dist/datepicker.min.js +1 -1
- package/dist/datepicker.min.js.map +1 -1
- package/dist/fab-menu.js +115 -113
- package/dist/fab-menu.js.map +1 -1
- package/dist/fab-menu.min.js +1 -1
- package/dist/fab-menu.min.js.map +1 -1
- package/dist/form-field.js +9 -6
- package/dist/form-field.js.map +1 -1
- package/dist/form-field.min.js +1 -1
- package/dist/form-field.min.js.map +1 -1
- package/dist/html-custom-data.json +29 -14
- package/dist/icon.js +1 -1
- package/dist/icon.js.map +1 -1
- package/dist/icon.min.js +1 -1
- package/dist/icon.min.js.map +1 -1
- package/dist/menu.js +26 -19
- package/dist/menu.js.map +1 -1
- package/dist/menu.min.js +1 -1
- package/dist/menu.min.js.map +1 -1
- package/dist/src/calendar/CalendarElement.d.ts +2 -0
- package/dist/src/calendar/CalendarElement.d.ts.map +1 -1
- package/dist/src/calendar/CalendarViewElementBase.d.ts +2 -0
- package/dist/src/calendar/CalendarViewElementBase.d.ts.map +1 -1
- package/dist/src/calendar/MonthViewElement.d.ts +1 -0
- package/dist/src/calendar/MonthViewElement.d.ts.map +1 -1
- package/dist/src/calendar/MultiYearViewElement.d.ts.map +1 -1
- package/dist/src/calendar/YearViewElement.d.ts.map +1 -1
- package/dist/src/core/anchoring/FloatingPanelElement.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/ClickOutsideController.d.ts +24 -0
- package/dist/src/core/shared/controllers/ClickOutsideController.d.ts.map +1 -0
- package/dist/src/core/shared/controllers/FocusController.d.ts +5 -11
- package/dist/src/core/shared/controllers/FocusController.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/HoverController.d.ts +2 -8
- package/dist/src/core/shared/controllers/HoverController.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/IntersectionController.d.ts +2 -8
- package/dist/src/core/shared/controllers/IntersectionController.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/LongPressController.d.ts +2 -8
- package/dist/src/core/shared/controllers/LongPressController.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/MonitorControllerBase.d.ts +4 -0
- package/dist/src/core/shared/controllers/MonitorControllerBase.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/PressedController.d.ts +6 -8
- package/dist/src/core/shared/controllers/PressedController.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/ResizeController.d.ts +2 -8
- package/dist/src/core/shared/controllers/ResizeController.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/index.d.ts +1 -0
- package/dist/src/core/shared/controllers/index.d.ts.map +1 -1
- package/dist/src/datepicker/DatepickerElement.d.ts +1 -2
- package/dist/src/datepicker/DatepickerElement.d.ts.map +1 -1
- package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
- package/dist/src/form-field/FormFieldElement.d.ts +1 -0
- package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
- package/dist/src/menu/MenuElement.d.ts.map +1 -1
- package/dist/src/tooltip/RichTooltipElement.d.ts +0 -2
- package/dist/src/tooltip/RichTooltipElement.d.ts.map +1 -1
- package/dist/tooltip.js +24 -25
- package/dist/tooltip.js.map +1 -1
- package/dist/tooltip.min.js +1 -1
- package/dist/tooltip.min.js.map +1 -1
- package/package.json +1 -1
package/dist/calendar.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* See LICENSE file in the project root for full license text.
|
|
5
5
|
*/
|
|
6
6
|
import { __decorate, __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
|
|
7
|
-
import { css, LitElement,
|
|
7
|
+
import { css, LitElement, nothing, html, unsafeCSS } from 'lit';
|
|
8
8
|
import { query, property, state } from 'lit/decorators.js';
|
|
9
9
|
import { classMap } from 'lit/directives/class-map.js';
|
|
10
10
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
@@ -94,6 +94,8 @@ const MONTHS_PER_ROW = 4;
|
|
|
94
94
|
class CalendarViewElementBase extends LitElement {
|
|
95
95
|
constructor() {
|
|
96
96
|
super(...arguments);
|
|
97
|
+
/** Whether the view is active. */
|
|
98
|
+
this.active = false;
|
|
97
99
|
/** Today's date. */
|
|
98
100
|
this.today = new Date();
|
|
99
101
|
/** The selected date. */
|
|
@@ -134,6 +136,9 @@ class CalendarViewElementBase extends LitElement {
|
|
|
134
136
|
/** The styles of the element. */
|
|
135
137
|
CalendarViewElementBase.styles = css`:host { display: inline-block; user-select: none; vertical-align: top; } .visually-hidden { position: absolute; appearance: none; visibility: hidden; border: none; outline: none; overflow: hidden; left: 0; height: 1px; width: 1px; margin: -1px; padding: 0; white-space: nowrap; } table { border-collapse: collapse; border-spacing: 0; width: calc(3rem * 7); } td, th { font: inherit; text-align: center; padding: unset; } td { box-sizing: border-box; height: 3rem; padding: 0.25rem; position: relative; color: var(--m3e-calendar-item-color, ${DesignToken.color.onSurface}); } .item, .item > span { position: relative; } .item { display: flex; align-items: center; justify-content: center; border-radius: inherit; outline: none; width: 100%; height: 100%; border-radius: ${DesignToken.shape.corner.full}; } .item:not([aria-disabled]) { cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } td:not(:has(.item[aria-disabled])).selected { color: var(--m3e-calendar-item-selected-color, ${DesignToken.color.onPrimary}); --m3e-ripple-color: var(--m3e-calendar-item-selected-ripple-color, ${DesignToken.color.onPrimary}); --m3e-state-layer-hover-color: var(--m3e-calendar-item-selected-hover-color, ${DesignToken.color.onPrimary}); --m3e-state-layer-focus-color: var(--m3e-calendar-item-selected-focus-color, ${DesignToken.color.onPrimary}); } td:not(:has(.item[aria-disabled])).selected .state-layer { background-color: var(--m3e-calendar-item-selected-container-color, ${DesignToken.color.primary}); } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) { color: var(--m3e-calendar-item-current-outline-color, ${DesignToken.color.primary}); } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) .state-layer { outline-style: solid; outline-offset: -1px; outline-width: var(--m3e-calendar-item-current-outline-thickness, 1px); outline-color: var(--m3e-calendar-item-current-outline-color, ${DesignToken.color.primary}); } td:has(.item[aria-disabled]) { color: color-mix( in srgb, var(--m3e-calendar-item-disabled-color, ${DesignToken.color.onSurface}) var(--m3e-calendar-item-disabled-color-opacity, 38%), transparent ); } @media (forced-colors: active) { td:not(:has(.item[aria-disabled])).selected { forced-color-adjust: none; color: ButtonFace; } td:not(:has(.item[aria-disabled])).selected .state-layer { background-color: ButtonText; } td:has(.item[aria-disabled]) { color: GrayText; } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) { color: ButtonText; } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) .state-layer { border-color: ButtonText; } }`;
|
|
136
138
|
__decorate([query(".active > .item")], CalendarViewElementBase.prototype, "_activeItem", void 0);
|
|
139
|
+
__decorate([property({
|
|
140
|
+
type: Boolean
|
|
141
|
+
})], CalendarViewElementBase.prototype, "active", void 0);
|
|
137
142
|
__decorate([property({
|
|
138
143
|
converter: dateConverter
|
|
139
144
|
})], CalendarViewElementBase.prototype, "today", void 0);
|
|
@@ -218,7 +223,7 @@ let M3eMonthViewElement = class M3eMonthViewElement extends CalendarViewElementB
|
|
|
218
223
|
dayOfWeek = (dayOfWeek + 1) % 7;
|
|
219
224
|
}
|
|
220
225
|
weeks = weeks.filter(x => !!x.length);
|
|
221
|
-
return html`<table role="grid"><thead><tr>${weekdays.map(x => html`<th scope="col"><span class="visually-hidden">${x.long}</span><div id="weekday-${x.id}-month-${month}" aria-hidden="true">${x.narrow}</div
|
|
226
|
+
return html`<table role="grid"><thead><tr>${weekdays.map(x => html`<th scope="col"><span class="visually-hidden">${x.long}</span><div id="weekday-${x.id}-month-${month}" aria-hidden="true">${x.narrow}</div>${this.active ? html`<m3e-tooltip for="weekday-${x.id}-month-${month}">${x.long}</m3e-tooltip>` : nothing}</th>`)}</tr></thead><tbody>${weeks.map((row, i) => html`<tr role="row">${i === 0 && row.length < 7 ? html`<td colspan="${7 - row.length}"></td>` : nothing} ${row.map(y => __classPrivateFieldGet(this, _M3eMonthViewElement_instances, "m", _M3eMonthViewElement_renderItem).call(this, new Date(year, month, y)))} ${i > 0 && row.length < 7 ? html`<td colspan="${7 - row.length}"></td>` : nothing}</tr>`)}</tbody></table>`;
|
|
222
227
|
}
|
|
223
228
|
};
|
|
224
229
|
_M3eMonthViewElement_instances = new WeakSet();
|
|
@@ -253,6 +258,18 @@ _M3eMonthViewElement_renderItem = function _M3eMonthViewElement_renderItem(value
|
|
|
253
258
|
}
|
|
254
259
|
}
|
|
255
260
|
}
|
|
261
|
+
if (!this.active) {
|
|
262
|
+
return html`<td role="gridcell" class="${classMap({
|
|
263
|
+
current,
|
|
264
|
+
selected,
|
|
265
|
+
active,
|
|
266
|
+
special,
|
|
267
|
+
range,
|
|
268
|
+
"range-start": rangeStart,
|
|
269
|
+
"range-start-range": rangeStartRange,
|
|
270
|
+
"range-end": rangeEnd
|
|
271
|
+
})}"><div id="${id}" role="button" class="item" data-value="${value.toISOString()}" tabindex="${active ? "0" : "-1"}" aria-disabled="${ifDefined(disabled || undefined)}" aria-current="${ifDefined(current ? "date" : undefined)}" aria-pressed="${selected || rangeStart || rangeEnd}"><m3e-state-layer class="state-layer" disabled="disabled" disable-hover></m3e-state-layer><span aria-hidden="true">${value.getDate()}</span></div></td>`;
|
|
272
|
+
}
|
|
256
273
|
return html`<td role="gridcell" class="${classMap({
|
|
257
274
|
current,
|
|
258
275
|
selected,
|
|
@@ -418,6 +435,13 @@ _M3eMultiYearViewElement_renderItem = function _M3eMultiYearViewElement_renderIt
|
|
|
418
435
|
const current = this.today.getFullYear() === year;
|
|
419
436
|
const disabled = this.minDate && year < this.minDate.getFullYear() || this.maxDate && year > this.maxDate.getFullYear();
|
|
420
437
|
const id = `year-${year}`;
|
|
438
|
+
if (!this.active) {
|
|
439
|
+
return html`<td role="gridcell" class="${classMap({
|
|
440
|
+
current,
|
|
441
|
+
selected,
|
|
442
|
+
active
|
|
443
|
+
})}"><div id="${id}" class="item" role="button" tabindex="${active ? "0" : "-1"}" data-value="${year}" aria-disabled="${ifDefined(disabled || undefined)}" aria-current="${ifDefined(current ? "date" : undefined)}" aria-pressed="${selected}"><m3e-state-layer class="state-layer" disabled="disabled" disable-hover></m3e-state-layer><span>${yearFormat.format(new Date(year, 0, 1))}</span></div></td>`;
|
|
444
|
+
}
|
|
421
445
|
return html`<td role="gridcell" class="${classMap({
|
|
422
446
|
current,
|
|
423
447
|
selected,
|
|
@@ -530,6 +554,13 @@ _M3eYearViewElement_renderItem = function _M3eYearViewElement_renderItem(month)
|
|
|
530
554
|
const current = this.today.getFullYear() === month.date.getFullYear() && this.today.getMonth() === month.date.getMonth();
|
|
531
555
|
const disabled = this.minDate && (month.date.getFullYear() < this.minDate.getFullYear() || month.date.getFullYear() === this.minDate.getFullYear() && month.date.getMonth() < this.minDate.getMonth()) || this.maxDate && (month.date.getFullYear() > this.maxDate.getFullYear() || month.date.getFullYear() === this.maxDate.getFullYear() && month.date.getMonth() > this.maxDate.getMonth());
|
|
532
556
|
const id = `month-${month.date.getMonth()}`;
|
|
557
|
+
if (!this.active) {
|
|
558
|
+
return html`<td role="gridcell" class="${classMap({
|
|
559
|
+
current,
|
|
560
|
+
selected,
|
|
561
|
+
active
|
|
562
|
+
})}"><div id="${id}" class="item" role="button" tabindex="${active ? "0" : "-1"}" data-value="${month.date.toISOString()}" aria-disabled="${ifDefined(disabled || undefined)}" aria-current="${ifDefined(current ? "date" : undefined)}" aria-pressed="${selected}"><m3e-state-layer class="state-layer" disabled="disabled" disable-hover></m3e-state-layer><span aria-hidden="true">${month.narrow}</span></div></td>`;
|
|
563
|
+
}
|
|
533
564
|
return html`<td role="gridcell" class="${classMap({
|
|
534
565
|
current,
|
|
535
566
|
selected,
|
|
@@ -817,6 +848,10 @@ let M3eCalendarElement = class M3eCalendarElement extends LitElement {
|
|
|
817
848
|
updateTodayDate() {
|
|
818
849
|
this._today = new Date();
|
|
819
850
|
}
|
|
851
|
+
/** Resets the active view. */
|
|
852
|
+
resetActiveView() {
|
|
853
|
+
this._activeView = this.startView;
|
|
854
|
+
}
|
|
820
855
|
/**
|
|
821
856
|
* Moves the calendar to the previous period.
|
|
822
857
|
* @returns {Promise<void>} A promise that resolves when the operation is complete.
|
|
@@ -914,7 +949,7 @@ let M3eCalendarElement = class M3eCalendarElement extends LitElement {
|
|
|
914
949
|
}
|
|
915
950
|
}
|
|
916
951
|
if (changedProperties.has("startView")) {
|
|
917
|
-
this.
|
|
952
|
+
this.resetActiveView();
|
|
918
953
|
}
|
|
919
954
|
}
|
|
920
955
|
/** @inheritdoc */
|
|
@@ -942,26 +977,27 @@ _M3eCalendarElement_renderHeader = function _M3eCalendarElement_renderHeader() {
|
|
|
942
977
|
})}" slot="trailing-icon" viewBox="0 -960 960 960" fill="currentColor"><path d="M480-360 280-560h400L480-360Z"/></svg></m3e-button><div class="spacer"></div><m3e-icon-button ?disabled="${!this.canMovePreviousPeriod}" @click="${this.movePreviousPeriod}" aria-label="${this._activeView === "month" ? this.previousMonthLabel : this._activeView === "year" ? this.previousYearLabel : this.previousMultiYearLabel}">${M3eDirectionality.current === "ltr" ? html`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z"/></svg>` : html`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"/></svg>`}</m3e-icon-button><m3e-icon-button ?disabled="${!this.canMoveNextPeriod}" @click="${this.moveNextPeriod}" aria-label="${this._activeView === "month" ? this.nextMonthLabel : this._activeView === "year" ? this.nextYearLabel : this.nextMultiYearLabel}">${M3eDirectionality.current === "ltr" ? html`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"/></svg>` : html`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z"/></svg>`}</m3e-icon-button></div>`;
|
|
943
978
|
};
|
|
944
979
|
_M3eCalendarElement_renderView = function _M3eCalendarElement_renderView(view, offset) {
|
|
980
|
+
const active = view === this._activeView && offset === 0;
|
|
945
981
|
const activeDate = offset < 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_getPreviousPeriod).call(this, view) : offset > 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_getNextPeriod).call(this, view) : new Date(this._activeDate);
|
|
946
982
|
switch (view) {
|
|
947
983
|
case "month":
|
|
948
984
|
return html`<m3e-month-view class="view ${classMap({
|
|
949
985
|
before: offset < 0,
|
|
950
986
|
after: offset > 0,
|
|
951
|
-
active
|
|
952
|
-
})}" ?inert="${offset !== 0}" today="${this._today.toISOString()}" date="${ifDefined(this.date?.toISOString())}" active-date="${activeDate.toISOString()}" min-date="${ifDefined(this.minDate?.toISOString())}" max-date="${ifDefined(this.maxDate?.toISOString())}" range-start="${ifDefined(this.rangeStart?.toISOString())}" range-end="${ifDefined(this.rangeEnd?.toISOString())}" @active-change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleActiveChange) : undefined}" @change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleDateChange) : undefined}"></m3e-month-view>`;
|
|
987
|
+
active
|
|
988
|
+
})}" ?active="${active}" ?inert="${offset !== 0}" today="${this._today.toISOString()}" date="${ifDefined(this.date?.toISOString())}" active-date="${activeDate.toISOString()}" min-date="${ifDefined(this.minDate?.toISOString())}" max-date="${ifDefined(this.maxDate?.toISOString())}" range-start="${ifDefined(this.rangeStart?.toISOString())}" range-end="${ifDefined(this.rangeEnd?.toISOString())}" @active-change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleActiveChange) : undefined}" @change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleDateChange) : undefined}"></m3e-month-view>`;
|
|
953
989
|
case "year":
|
|
954
990
|
return html`<m3e-year-view class="view ${classMap({
|
|
955
991
|
before: offset < 0,
|
|
956
992
|
after: offset > 0,
|
|
957
|
-
active
|
|
958
|
-
})}" ?inert="${offset !== 0}" today="${this._today.toISOString()}" date="${ifDefined(this.date?.toISOString())}" active-date="${activeDate.toISOString()}" min-date="${ifDefined(this.minDate?.toISOString())}" max-date="${ifDefined(this.maxDate?.toISOString())}" @active-change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleActiveChange) : undefined}" @change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleMonthChange) : undefined}"></m3e-year-view>`;
|
|
993
|
+
active
|
|
994
|
+
})}" ?active="${active}" ?inert="${offset !== 0}" today="${this._today.toISOString()}" date="${ifDefined(this.date?.toISOString())}" active-date="${activeDate.toISOString()}" min-date="${ifDefined(this.minDate?.toISOString())}" max-date="${ifDefined(this.maxDate?.toISOString())}" @active-change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleActiveChange) : undefined}" @change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleMonthChange) : undefined}"></m3e-year-view>`;
|
|
959
995
|
case "multi-year":
|
|
960
996
|
return html`<m3e-multi-year-view class="view ${classMap({
|
|
961
997
|
before: offset < 0,
|
|
962
998
|
after: offset > 0,
|
|
963
|
-
active
|
|
964
|
-
})}" ?inert="${offset !== 0}" today="${this._today.toISOString()}" date="${ifDefined(this.date?.toISOString())}" active-date="${activeDate.toISOString()}" min-date="${ifDefined(this.minDate?.toISOString())}" max-date="${ifDefined(this.maxDate?.toISOString())}" @active-change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleActiveChange) : undefined}" @change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleYearChange) : undefined}"></m3e-multi-year-view>`;
|
|
999
|
+
active
|
|
1000
|
+
})}" ?active="${active}" ?inert="${offset !== 0}" today="${this._today.toISOString()}" date="${ifDefined(this.date?.toISOString())}" active-date="${activeDate.toISOString()}" min-date="${ifDefined(this.minDate?.toISOString())}" max-date="${ifDefined(this.maxDate?.toISOString())}" @active-change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleActiveChange) : undefined}" @change="${offset === 0 ? __classPrivateFieldGet(this, _M3eCalendarElement_instances, "m", _M3eCalendarElement_handleYearChange) : undefined}"></m3e-multi-year-view>`;
|
|
965
1001
|
}
|
|
966
1002
|
};
|
|
967
1003
|
_M3eCalendarElement_handleDateChange = function _M3eCalendarElement_handleDateChange(e) {
|