@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.
Files changed (79) hide show
  1. package/dist/all.js +20442 -16034
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +174 -62
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/calendar.js +45 -9
  6. package/dist/calendar.js.map +1 -1
  7. package/dist/calendar.min.js +5 -5
  8. package/dist/calendar.min.js.map +1 -1
  9. package/dist/core-anchoring.js +19 -16
  10. package/dist/core-anchoring.js.map +1 -1
  11. package/dist/core-anchoring.min.js +1 -1
  12. package/dist/core-anchoring.min.js.map +1 -1
  13. package/dist/core.js +95 -82
  14. package/dist/core.js.map +1 -1
  15. package/dist/core.min.js +1 -1
  16. package/dist/core.min.js.map +1 -1
  17. package/dist/css-custom-data.json +50 -50
  18. package/dist/custom-elements.json +1209 -583
  19. package/dist/datepicker.js +53 -27
  20. package/dist/datepicker.js.map +1 -1
  21. package/dist/datepicker.min.js +1 -1
  22. package/dist/datepicker.min.js.map +1 -1
  23. package/dist/fab-menu.js +115 -113
  24. package/dist/fab-menu.js.map +1 -1
  25. package/dist/fab-menu.min.js +1 -1
  26. package/dist/fab-menu.min.js.map +1 -1
  27. package/dist/form-field.js +9 -6
  28. package/dist/form-field.js.map +1 -1
  29. package/dist/form-field.min.js +1 -1
  30. package/dist/form-field.min.js.map +1 -1
  31. package/dist/html-custom-data.json +29 -14
  32. package/dist/icon.js +1 -1
  33. package/dist/icon.js.map +1 -1
  34. package/dist/icon.min.js +1 -1
  35. package/dist/icon.min.js.map +1 -1
  36. package/dist/menu.js +26 -19
  37. package/dist/menu.js.map +1 -1
  38. package/dist/menu.min.js +1 -1
  39. package/dist/menu.min.js.map +1 -1
  40. package/dist/src/calendar/CalendarElement.d.ts +2 -0
  41. package/dist/src/calendar/CalendarElement.d.ts.map +1 -1
  42. package/dist/src/calendar/CalendarViewElementBase.d.ts +2 -0
  43. package/dist/src/calendar/CalendarViewElementBase.d.ts.map +1 -1
  44. package/dist/src/calendar/MonthViewElement.d.ts +1 -0
  45. package/dist/src/calendar/MonthViewElement.d.ts.map +1 -1
  46. package/dist/src/calendar/MultiYearViewElement.d.ts.map +1 -1
  47. package/dist/src/calendar/YearViewElement.d.ts.map +1 -1
  48. package/dist/src/core/anchoring/FloatingPanelElement.d.ts.map +1 -1
  49. package/dist/src/core/shared/controllers/ClickOutsideController.d.ts +24 -0
  50. package/dist/src/core/shared/controllers/ClickOutsideController.d.ts.map +1 -0
  51. package/dist/src/core/shared/controllers/FocusController.d.ts +5 -11
  52. package/dist/src/core/shared/controllers/FocusController.d.ts.map +1 -1
  53. package/dist/src/core/shared/controllers/HoverController.d.ts +2 -8
  54. package/dist/src/core/shared/controllers/HoverController.d.ts.map +1 -1
  55. package/dist/src/core/shared/controllers/IntersectionController.d.ts +2 -8
  56. package/dist/src/core/shared/controllers/IntersectionController.d.ts.map +1 -1
  57. package/dist/src/core/shared/controllers/LongPressController.d.ts +2 -8
  58. package/dist/src/core/shared/controllers/LongPressController.d.ts.map +1 -1
  59. package/dist/src/core/shared/controllers/MonitorControllerBase.d.ts +4 -0
  60. package/dist/src/core/shared/controllers/MonitorControllerBase.d.ts.map +1 -1
  61. package/dist/src/core/shared/controllers/PressedController.d.ts +6 -8
  62. package/dist/src/core/shared/controllers/PressedController.d.ts.map +1 -1
  63. package/dist/src/core/shared/controllers/ResizeController.d.ts +2 -8
  64. package/dist/src/core/shared/controllers/ResizeController.d.ts.map +1 -1
  65. package/dist/src/core/shared/controllers/index.d.ts +1 -0
  66. package/dist/src/core/shared/controllers/index.d.ts.map +1 -1
  67. package/dist/src/datepicker/DatepickerElement.d.ts +1 -2
  68. package/dist/src/datepicker/DatepickerElement.d.ts.map +1 -1
  69. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
  70. package/dist/src/form-field/FormFieldElement.d.ts +1 -0
  71. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  72. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  73. package/dist/src/tooltip/RichTooltipElement.d.ts +0 -2
  74. package/dist/src/tooltip/RichTooltipElement.d.ts.map +1 -1
  75. package/dist/tooltip.js +24 -25
  76. package/dist/tooltip.js.map +1 -1
  77. package/dist/tooltip.min.js +1 -1
  78. package/dist/tooltip.min.js.map +1 -1
  79. 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, html, nothing, unsafeCSS } from 'lit';
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><m3e-tooltip for="weekday-${x.id}-month-${month}">${x.long}</m3e-tooltip></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>`;
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._activeView = this.startView;
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: view === this._activeView && offset === 0
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: view === this._activeView && offset === 0
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: view === this._activeView && offset === 0
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) {