@sbb-esta/lyne-elements-dev 4.7.0-dev.1773737285 → 4.7.0-dev.1773741165

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 (107) hide show
  1. package/calendar/calendar/calendar.component.js +1 -1
  2. package/calendar/calendar-day/calendar-day.component.js +1 -1
  3. package/calendar/calendar-day.js +1 -1
  4. package/calendar/calendar-month/calendar-month.component.js +84 -0
  5. package/calendar/calendar-month.js +4 -0
  6. package/calendar/calendar-weekday/calendar-weekday.component.js +54 -0
  7. package/calendar/calendar-weekday.js +4 -0
  8. package/calendar/calendar-weeknumber/calendar-weeknumber.component.js +56 -0
  9. package/calendar/calendar-weeknumber.js +4 -0
  10. package/calendar/calendar-year/calendar-year.component.js +80 -0
  11. package/calendar/calendar-year.js +4 -0
  12. package/calendar/calendar.js +1 -1
  13. package/calendar/common/calendar-cell-base-element.js +23 -0
  14. package/calendar/common.js +6 -0
  15. package/calendar-day.component-Iewo-vBR.js +109 -0
  16. package/{calendar.component-BgZDy-rX.js → calendar.component-Cz-OGQu6.js} +140 -224
  17. package/calendar.js +8 -4
  18. package/calendar.pure.js +7 -3
  19. package/carousel/carousel/carousel.component.js +1 -1
  20. package/carousel/carousel.js +1 -1
  21. package/carousel.js +1 -1
  22. package/carousel.pure.js +1 -1
  23. package/core/styles/core.scss +8 -0
  24. package/core.css +40 -0
  25. package/custom-elements.json +4304 -406
  26. package/development/calendar/calendar/calendar.component.d.ts +7 -9
  27. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  28. package/development/calendar/calendar/calendar.component.js +1 -1
  29. package/development/calendar/calendar-day/calendar-day.component.d.ts +7 -21
  30. package/development/calendar/calendar-day/calendar-day.component.d.ts.map +1 -1
  31. package/development/calendar/calendar-day/calendar-day.component.js +1 -1
  32. package/development/calendar/calendar-day.js +1 -1
  33. package/development/calendar/calendar-month/calendar-month.component.d.ts +33 -0
  34. package/development/calendar/calendar-month/calendar-month.component.d.ts.map +1 -0
  35. package/development/calendar/calendar-month/calendar-month.component.js +112 -0
  36. package/development/calendar/calendar-month.d.ts +2 -0
  37. package/development/calendar/calendar-month.d.ts.map +1 -0
  38. package/development/calendar/calendar-month.js +10 -0
  39. package/development/calendar/calendar-weekday/calendar-weekday.component.d.ts +23 -0
  40. package/development/calendar/calendar-weekday/calendar-weekday.component.d.ts.map +1 -0
  41. package/development/calendar/calendar-weekday/calendar-weekday.component.js +67 -0
  42. package/development/calendar/calendar-weekday.d.ts +2 -0
  43. package/development/calendar/calendar-weekday.d.ts.map +1 -0
  44. package/development/calendar/calendar-weekday.js +10 -0
  45. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.d.ts +23 -0
  46. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.d.ts.map +1 -0
  47. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +70 -0
  48. package/development/calendar/calendar-weeknumber.d.ts +2 -0
  49. package/development/calendar/calendar-weeknumber.d.ts.map +1 -0
  50. package/development/calendar/calendar-weeknumber.js +10 -0
  51. package/development/calendar/calendar-year/calendar-year.component.d.ts +28 -0
  52. package/development/calendar/calendar-year/calendar-year.component.d.ts.map +1 -0
  53. package/development/calendar/calendar-year/calendar-year.component.js +103 -0
  54. package/development/calendar/calendar-year.d.ts +2 -0
  55. package/development/calendar/calendar-year.d.ts.map +1 -0
  56. package/development/calendar/calendar-year.js +10 -0
  57. package/development/calendar/calendar.js +1 -1
  58. package/development/calendar/common/calendar-cell-base-element.d.ts +24 -0
  59. package/development/calendar/common/calendar-cell-base-element.d.ts.map +1 -0
  60. package/development/calendar/common/calendar-cell-base-element.js +35 -0
  61. package/development/calendar/common.d.ts +3 -0
  62. package/development/calendar/common.d.ts.map +1 -0
  63. package/development/calendar/common.js +120 -0
  64. package/development/calendar-day.component-Brz0Wyai.js +178 -0
  65. package/development/calendar.component-0Pl7qEXL.js +2222 -0
  66. package/development/calendar.d.ts.map +1 -1
  67. package/development/calendar.js +12 -4
  68. package/development/calendar.pure.d.ts +4 -0
  69. package/development/calendar.pure.d.ts.map +1 -1
  70. package/development/calendar.pure.js +7 -3
  71. package/development/carousel/carousel/carousel.component.js +1 -1
  72. package/development/carousel/carousel.js +1 -1
  73. package/development/{carousel.component-b4C-hxkj.js → carousel.component-Cs0gWroH.js} +2 -2
  74. package/development/carousel.js +1 -1
  75. package/development/carousel.pure.js +1 -1
  76. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  77. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  78. package/development/mini-calendar/mini-calendar-day.js +1 -1
  79. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  80. package/development/mini-calendar/mini-calendar-month.js +1 -1
  81. package/development/mini-calendar/mini-calendar.js +1 -1
  82. package/development/{mini-calendar-day.component-DLP7Pa6R.js → mini-calendar-day.component-DdjlUG0k.js} +2 -2
  83. package/development/{mini-calendar-month.component-C1jsGlJ2.js → mini-calendar-month.component-BjxmoYz6.js} +2 -2
  84. package/development/{mini-calendar.component-BzqjMchx.js → mini-calendar.component-B38J84Gg.js} +2 -2
  85. package/development/mini-calendar.js +3 -3
  86. package/development/mini-calendar.pure.js +3 -3
  87. package/index.d.ts +5 -1
  88. package/index.js +5 -1
  89. package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  90. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  91. package/mini-calendar/mini-calendar-day.js +1 -1
  92. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  93. package/mini-calendar/mini-calendar-month.js +1 -1
  94. package/mini-calendar/mini-calendar.js +1 -1
  95. package/{mini-calendar.component-DpPMb47Y.js → mini-calendar.component-_YJbFi4P.js} +4 -4
  96. package/mini-calendar.js +3 -3
  97. package/mini-calendar.pure.js +3 -3
  98. package/off-brand-theme.css +40 -0
  99. package/package.json +27 -2
  100. package/safety-theme.css +40 -0
  101. package/standard-theme.css +40 -0
  102. package/calendar-day.component-DqAXvoP3.js +0 -113
  103. package/development/calendar-day.component-De9Xn3-q.js +0 -283
  104. package/development/calendar.component-PHpgLc0z.js +0 -2458
  105. package/{carousel.component-Bd0iGUbf.js → carousel.component-BA0V2JHI.js} +1 -1
  106. package/{mini-calendar-day.component-cAawa9Gr.js → mini-calendar-day.component-D5HlCTH0.js} +1 -1
  107. package/{mini-calendar-month.component-DiYSVb-Y.js → mini-calendar-month.component-CGAOxDtz.js} +1 -1
@@ -8,65 +8,68 @@ import { SbbLanguageController as te, SbbMediaMatcherController as ne, SbbMediaQ
8
8
  import { i18nCalendarDateSelection as p, i18nCalendarWeekNumber as m, i18nNextMonth as re, i18nNextYear as ie, i18nNextYearRange as ae, i18nPreviousMonth as oe, i18nPreviousYear as se, i18nPreviousYearRange as ce, i18nYearMonthSelection as le } from "./core/i18n.js";
9
9
  import "./icon.js";
10
10
  import { isArrowKeyOrPageKeysPressed as ue } from "./core/a11y.js";
11
- import { classMap as h } from "lit/directives/class-map.js";
12
11
  import { readConfig as de } from "./core/config.js";
13
- import { DAYS_PER_ROW as g, MONTHS_PER_PAGE as fe, MONTHS_PER_ROW as _, YEARS_PER_PAGE as v, YEARS_PER_ROW as y, defaultDateAdapter as pe } from "./core/datetime.js";
14
- import { SbbCalendarDayElement as b } from "./calendar/calendar-day/calendar-day.component.js";
12
+ import { DAYS_PER_ROW as h, MONTHS_PER_PAGE as fe, MONTHS_PER_ROW as g, YEARS_PER_PAGE as _, YEARS_PER_ROW as v, defaultDateAdapter as pe } from "./core/datetime.js";
13
+ import { SbbCalendarDayElement as y } from "./calendar/calendar-day/calendar-day.component.js";
14
+ import { SbbCalendarMonthElement as b } from "./calendar/calendar-month/calendar-month.component.js";
15
+ import { SbbCalendarWeekdayElement as x } from "./calendar/calendar-weekday/calendar-weekday.component.js";
16
+ import { SbbCalendarWeeknumberElement as S } from "./calendar/calendar-weeknumber/calendar-weeknumber.component.js";
17
+ import { SbbCalendarYearElement as C } from "./calendar/calendar-year/calendar-year.component.js";
15
18
  import "./button/secondary-button.js";
16
19
  import "./screen-reader-only.js";
17
20
  //#region node_modules/date-fns/constants.js
18
- var x = 365.2425, S = 6048e5, C = 3600 * 24;
19
- C * 7, C * x / 12 * 3;
20
- var w = Symbol.for("constructDateFrom");
21
+ var w = 365.2425, T = 6048e5, E = 3600 * 24;
22
+ E * 7, E * w / 12 * 3;
23
+ var D = Symbol.for("constructDateFrom");
21
24
  //#endregion
22
25
  //#region node_modules/date-fns/constructFrom.js
23
- function T(e, t) {
24
- return typeof e == "function" ? e(t) : e && typeof e == "object" && w in e ? e[w](t) : e instanceof Date ? new e.constructor(t) : new Date(t);
26
+ function O(e, t) {
27
+ return typeof e == "function" ? e(t) : e && typeof e == "object" && D in e ? e[D](t) : e instanceof Date ? new e.constructor(t) : new Date(t);
25
28
  }
26
29
  //#endregion
27
30
  //#region node_modules/date-fns/toDate.js
28
- function E(e, t) {
29
- return T(t || e, e);
31
+ function k(e, t) {
32
+ return O(t || e, e);
30
33
  }
31
34
  //#endregion
32
35
  //#region node_modules/date-fns/addDays.js
33
- function D(e, t, n) {
34
- let r = E(e, n?.in);
35
- return isNaN(t) ? T(n?.in || e, NaN) : (t && r.setDate(r.getDate() + t), r);
36
+ function A(e, t, n) {
37
+ let r = k(e, n?.in);
38
+ return isNaN(t) ? O(n?.in || e, NaN) : (t && r.setDate(r.getDate() + t), r);
36
39
  }
37
40
  //#endregion
38
41
  //#region node_modules/date-fns/_lib/defaultOptions.js
39
- var O = {};
40
- function k() {
41
- return O;
42
+ var j = {};
43
+ function M() {
44
+ return j;
42
45
  }
43
46
  //#endregion
44
47
  //#region node_modules/date-fns/startOfWeek.js
45
- function A(e, t) {
46
- let n = k(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, i = E(e, t?.in), a = i.getDay(), o = (a < r ? 7 : 0) + a - r;
48
+ function N(e, t) {
49
+ let n = M(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, i = k(e, t?.in), a = i.getDay(), o = (a < r ? 7 : 0) + a - r;
47
50
  return i.setDate(i.getDate() - o), i.setHours(0, 0, 0, 0), i;
48
51
  }
49
52
  //#endregion
50
53
  //#region node_modules/date-fns/_lib/normalizeDates.js
51
- function j(e, ...t) {
52
- let n = T.bind(null, e || t.find((e) => typeof e == "object"));
54
+ function P(e, ...t) {
55
+ let n = O.bind(null, e || t.find((e) => typeof e == "object"));
53
56
  return t.map(n);
54
57
  }
55
58
  //#endregion
56
59
  //#region node_modules/date-fns/addWeeks.js
57
- function M(e, t, n) {
58
- return D(e, t * 7, n);
60
+ function F(e, t, n) {
61
+ return A(e, t * 7, n);
59
62
  }
60
63
  //#endregion
61
64
  //#region node_modules/date-fns/endOfMonth.js
62
65
  function me(e, t) {
63
- let n = E(e, t?.in), r = n.getMonth();
66
+ let n = k(e, t?.in), r = n.getMonth();
64
67
  return n.setFullYear(n.getFullYear(), r + 1, 0), n.setHours(23, 59, 59, 999), n;
65
68
  }
66
69
  //#endregion
67
70
  //#region node_modules/date-fns/_lib/normalizeInterval.js
68
- function N(e, t) {
69
- let [n, r] = j(e, t.start, t.end);
71
+ function I(e, t) {
72
+ let [n, r] = P(e, t.start, t.end);
70
73
  return {
71
74
  start: n,
72
75
  end: r
@@ -75,49 +78,47 @@ function N(e, t) {
75
78
  //#endregion
76
79
  //#region node_modules/date-fns/eachWeekOfInterval.js
77
80
  function he(e, t) {
78
- let { start: n, end: r } = N(t?.in, e), i = +n > +r, a = A(i ? r : n, t), o = A(i ? n : r, t);
81
+ let { start: n, end: r } = I(t?.in, e), i = +n > +r, a = N(i ? r : n, t), o = N(i ? n : r, t);
79
82
  a.setHours(15), o.setHours(15);
80
83
  let s = +o.getTime(), c = a, l = t?.step ?? 1;
81
84
  if (!l) return [];
82
85
  l < 0 && (l = -l, i = !i);
83
86
  let u = [];
84
- for (; +c <= s;) c.setHours(0), u.push(T(n, c)), c = M(c, l), c.setHours(15);
87
+ for (; +c <= s;) c.setHours(0), u.push(O(n, c)), c = F(c, l), c.setHours(15);
85
88
  return i ? u.reverse() : u;
86
89
  }
87
90
  //#endregion
88
91
  //#region node_modules/date-fns/startOfMonth.js
89
92
  function ge(e, t) {
90
- let n = E(e, t?.in);
93
+ let n = k(e, t?.in);
91
94
  return n.setDate(1), n.setHours(0, 0, 0, 0), n;
92
95
  }
93
96
  //#endregion
94
97
  //#region node_modules/date-fns/getWeekYear.js
95
- function P(e, t) {
96
- let n = E(e, t?.in), r = n.getFullYear(), i = k(), a = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? i.firstWeekContainsDate ?? i.locale?.options?.firstWeekContainsDate ?? 1, o = T(t?.in || e, 0);
98
+ function L(e, t) {
99
+ let n = k(e, t?.in), r = n.getFullYear(), i = M(), a = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? i.firstWeekContainsDate ?? i.locale?.options?.firstWeekContainsDate ?? 1, o = O(t?.in || e, 0);
97
100
  o.setFullYear(r + 1, 0, a), o.setHours(0, 0, 0, 0);
98
- let s = A(o, t), c = T(t?.in || e, 0);
101
+ let s = N(o, t), c = O(t?.in || e, 0);
99
102
  c.setFullYear(r, 0, a), c.setHours(0, 0, 0, 0);
100
- let l = A(c, t);
103
+ let l = N(c, t);
101
104
  return +n >= +s ? r + 1 : +n >= +l ? r : r - 1;
102
105
  }
103
106
  //#endregion
104
107
  //#region node_modules/date-fns/startOfWeekYear.js
105
- function F(e, t) {
106
- let n = k(), r = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? n.firstWeekContainsDate ?? n.locale?.options?.firstWeekContainsDate ?? 1, i = P(e, t), a = T(t?.in || e, 0);
107
- return a.setFullYear(i, 0, r), a.setHours(0, 0, 0, 0), A(a, t);
108
+ function R(e, t) {
109
+ let n = M(), r = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? n.firstWeekContainsDate ?? n.locale?.options?.firstWeekContainsDate ?? 1, i = L(e, t), a = O(t?.in || e, 0);
110
+ return a.setFullYear(i, 0, r), a.setHours(0, 0, 0, 0), N(a, t);
108
111
  }
109
112
  //#endregion
110
113
  //#region node_modules/date-fns/getWeek.js
111
- function I(e, t) {
112
- let n = E(e, t?.in), r = A(n, t) - +F(n, t);
113
- return Math.round(r / S) + 1;
114
+ function z(e, t) {
115
+ let n = k(e, t?.in), r = N(n, t) - +R(n, t);
116
+ return Math.round(r / T) + 1;
114
117
  }
115
118
  //#endregion
116
119
  //#region src/elements/calendar/calendar/calendar.scss?lit&inline
117
- var _e = n`:host{--sbb-calendar-cell-size:2.5rem;--sbb-calendar-hover-shift:.0625rem;--sbb-calendar-wide-cell-size:4.375rem;--sbb-calendar-header-color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-smoke));--sbb-calendar-cell-background-color:transparent;--sbb-calendar-cell-background-color-hover:var(--sbb-background-color-3);--sbb-calendar-cell-background-color-active:var(--sbb-background-color-4);--sbb-calendar-cell-padding:.125rem;--sbb-calendar-cell-color:var(--sbb-color-2);--sbb-calendar-cell-border-radius:var(--sbb-border-radius-4x);--sbb-calendar-cell-selected-border:var(--sbb-border-width-2x) solid var(--sbb-border-color-2);--sbb-calendar-cell-selected-background-color:var(--sbb-background-color-2-inverted);--sbb-calendar-cell-disabled-height:.09375rem;--sbb-calendar-cell-disabled-width:1.59375rem;--sbb-calendar-cell-disabled-color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-smoke));--sbb-calendar-cell-transition-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-2x));--sbb-calendar-cell-transition-easing-function:var(--sbb-animation-easing);--sbb-calendar-tables-gap:var(--sbb-spacing-fixed-10x);--sbb-calendar-table-animation-shift:.00625rem;--sbb-calendar-table-animation-duration:.1ms;--sbb-calendar-table-column-spaces:12;--sbb-calendar-control-view-change-height:2.75rem;--sbb-calendar-control-view-change-color:var(--sbb-color-3);--sbb-calendar-control-view-change-background:var(--sbb-background-color-1);--sbb-calendar-cell-year-month-width:4.8125rem;--sbb-calendar-cell-year-month-height:2.75rem;width:max-content;display:block}@media (width>=37.5rem){:host{--sbb-calendar-cell-size:2.75rem;--sbb-calendar-wide-cell-size:4.8125rem;--sbb-calendar-control-view-change-height:3rem}}:host(:is(:state(enhanced),[state--enhanced])){--sbb-calendar-cell-padding-block-end:var(--sbb-spacing-fixed-3x)}.sbb-calendar__wrapper{width:100%;transition-duration:var(--sbb-calendar-cell-transition-duration);display:block}.sbb-calendar__controls{align-items:center;gap:var(--sbb-spacing-fixed-2x);width:100%;margin-block-end:var(--sbb-spacing-fixed-4x);display:inline-flex}.sbb-calendar__controls-month{gap:var(--sbb-calendar-tables-gap);width:100%;display:flex}#sbb-calendar__controls-previous,#sbb-calendar__controls-next{-webkit-tap-highlight-color:transparent}.sbb-calendar__controls-change-date{appearance:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent;color:var(--sbb-calendar-control-view-change-color);--sbb-text-font-size:var(--sbb-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);margin:0;height:var(--sbb-calendar-control-view-change-height);text-transform:capitalize;cursor:var(--sbb-cursor-pointer);padding:0;padding-inline:var(--sbb-spacing-fixed-5x) var(--sbb-spacing-fixed-2x);border-radius:0;border-radius:var(--sbb-border-radius-infinity);background:0 0;background-color:var(--sbb-calendar-control-view-change-background);transition-duration:var(--sbb-calendar-cell-transition-duration);transition-timing-function:var(--sbb-calendar-cell-transition-easing-function);border:none;outline:none;align-items:center;margin:auto;transition-property:background-color,padding-block-end;display:flex}.sbb-calendar__controls-change-date:disabled{--sbb-calendar-control-view-change-background:var(--lightningcss-light,var(--sbb-color-milk))var(--lightningcss-dark,var(--sbb-color-anthracite));--sbb-calendar-control-view-change-color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-aluminium));cursor:unset}.sbb-calendar__controls-change-date:focus-visible{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width);outline-offset:var(--sbb-spacing-fixed-1x)}@media (any-hover:hover){.sbb-calendar__controls-change-date:not(:active,:disabled):hover{padding-block-end:var(--sbb-calendar-hover-shift)}}.sbb-calendar__controls-change-date:not(:disabled):active{--sbb-calendar-control-view-change-background:var(--sbb-background-color-3)}.sbb-calendar__table-month-view,.sbb-calendar__table-year-view{--sbb-calendar-table-column-spaces:6}.sbb-calendar__table-overflow-break{contain:layout}.sbb-calendar__table-container{gap:var(--sbb-calendar-tables-gap);margin-inline:var(--sbb-calendar-margin);--sbb-calendar-min-width:calc(7 * var(--sbb-calendar-cell-size));--sbb-calendar-overflow:calc(100% - var(--sbb-calendar-min-width));--sbb-calendar-start-offset:min(0px, -1 * (var(--sbb-calendar-overflow) / var(--sbb-calendar-table-column-spaces)));--sbb-calendar-margin:var(--sbb-calendar-start-offset);display:flex}:host(:is(:state(wide),[state--wide])) .sbb-calendar__table-container{--sbb-calendar-min-width:calc(2 * 7 * var(--sbb-calendar-cell-size) + var(--sbb-calendar-tables-gap));--sbb-calendar-margin:calc(.5 * var(--sbb-calendar-start-offset))}:host([orientation=horizontal][week-numbers]) .sbb-calendar__table-container{--sbb-calendar-min-width:calc(8 * var(--sbb-calendar-cell-size))}:host([orientation=horizontal][week-numbers]:is(:state(wide),[state--wide])) .sbb-calendar__table-container{--sbb-calendar-min-width:calc(2 * 8 * var(--sbb-calendar-cell-size) + var(--sbb-calendar-tables-gap))}:host([orientation=vertical]) .sbb-calendar__table-container{min-width:var(--sbb-calendar-min-width);--sbb-calendar-start-offset:0}:host([orientation=vertical]:is(:state(wide),[state--wide])) .sbb-calendar__table-container{--sbb-calendar-min-width:calc(13 * var(--sbb-calendar-cell-size) + var(--sbb-calendar-tables-gap))}.sbb-calendar__table{border-collapse:collapse;width:100%;height:max-content;animation-name:show;animation-duration:var(--sbb-calendar-table-animation-duration)}.sbb-calendar__table.sbb-calendar__table-hide{--sbb-calendar-cell-transition-duration:0s;animation-name:hide;animation-duration:var(--sbb-calendar-table-animation-duration)}:host(:not(:is(:state(wide),[state--wide]))) .sbb-calendar__table{min-width:100%}.sbb-calendar__table-header,.sbb-calendar__table-body{text-align:center}.sbb-calendar__table-header-cell,.sbb-calendar__table-header-cell-vertical{--sbb-text-font-size:var(--sbb-text-font-size-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);width:var(--sbb-calendar-cell-size);color:var(--sbb-calendar-header-color);padding:0}:host(:not([multiple])) .sbb-calendar__table-header-cell,:host(:not([multiple])) .sbb-calendar__table-header-cell-vertical{height:var(--sbb-calendar-cell-size)}.sbb-calendar__table-header-cell-vertical{padding-block-end:var(--sbb-calendar-cell-padding-block-end)}.sbb-calendar__table-data{text-align:center;padding:0;position:relative}.sbb-calendar__header-cell,.sbb-calendar__cell{appearance:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent;color:var(--sbb-calendar-cell-color);--sbb-text-font-size:var(--sbb-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);height:var(--sbb-calendar-cell-size);cursor:var(--sbb-cursor-pointer);z-index:0;background:0 0;border:none;border-radius:0;outline:none;margin:0;padding:0;position:relative}.sbb-calendar__header-cell:before,.sbb-calendar__cell:before{content:"";inset:var(--sbb-calendar-cell-padding);background-color:var(--sbb-calendar-cell-background-color);border-radius:var(--sbb-calendar-cell-border-radius);z-index:-1;transition-duration:var(--sbb-calendar-cell-transition-duration);transition-timing-function:var(--sbb-calendar-cell-transition-easing-function);transition-property:background-color;position:absolute}@media (any-hover:hover){.sbb-calendar__header-cell:not(:active,:disabled):hover,.sbb-calendar__cell:not(:active,:disabled):hover{--sbb-calendar-cell-background-color:var(--sbb-calendar-cell-background-color-hover);padding-block-end:var(--sbb-calendar-hover-shift)}}@media (any-hover:hover) and (forced-colors:active){.sbb-calendar__header-cell:not(:active,:disabled):hover:before,.sbb-calendar__cell:not(:active,:disabled):hover:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width);--sbb-focus-outline-style:initial}}.sbb-calendar__header-cell:disabled,.sbb-calendar__cell:disabled{--sbb-calendar-cell-color:var(--sbb-calendar-cell-disabled-color);cursor:unset}.sbb-calendar__header-cell:focus-visible:before,.sbb-calendar__cell:focus-visible:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width)}.sbb-calendar__header-cell:not(:disabled):active,.sbb-calendar__cell:not(:disabled):active{--sbb-calendar-cell-background-color:var(--sbb-calendar-cell-background-color-active)}@media (forced-colors:active){.sbb-calendar__header-cell:not(:disabled):active:before,.sbb-calendar__cell:not(:disabled):active:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width);--sbb-focus-outline-style:initial}}.sbb-calendar__header-cell{--sbb-text-font-size:var(--sbb-text-font-size-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);color:var(--sbb-calendar-header-color)}.sbb-calendar__cell{height:var(--sbb-calendar-cell-year-month-height);width:var(--sbb-calendar-cell-year-month-width)}.sbb-calendar__weekday{width:var(--sbb-calendar-cell-size)}.sbb-calendar__day-cell{padding-block-end:var(--sbb-calendar-cell-padding-block-end)}.sbb-calendar__crossed-out:after{content:"";height:var(--sbb-calendar-cell-disabled-height);width:var(--sbb-calendar-cell-disabled-width);background-color:var(--sbb-calendar-cell-disabled-color);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.sbb-calendar__cell-current{--sbb-text-font-size:var(--sbb-text-font-size-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);font-weight:700}.sbb-calendar__selected:before{border:var(--sbb-calendar-cell-selected-border);border-radius:var(--sbb-calendar-cell-border-radius)}sbb-calendar-day{--sbb-calendar-day-flex-direction:row;--sbb-calendar-day-justify-content:center;--sbb-calendar-day-align-items:center;--sbb-calendar-day-extra-display:none;--sbb-calendar-day-crossed-out-top:50%;--sbb-calendar-day-crossed-out-translate:translate(-50%, -50%) rotate(-45deg);--sbb-calendar-day-height:2.75rem;--sbb-calendar-day-value-height:unset}@keyframes show{0%{opacity:0;transform:translateY(var(--sbb-calendar-table-animation-shift))}to{opacity:1;transform:translateY(0%)}}@keyframes hide{0%{opacity:1;transform:translateY(0%)}to{opacity:0;transform:translateY(var(--sbb-calendar-table-animation-shift))}}`;
118
- //#endregion
119
- //#region src/elements/calendar/calendar/calendar.component.ts
120
- b.define();
120
+ var _e = n`:host{--sbb-calendar-cell-size:2.75rem;--sbb-calendar-cell-border-radius:calc(var(--sbb-border-radius-4x) + var(--sbb-calendar-cell-border-width));--sbb-calendar-cell-transition-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-2x));width:max-content;display:block}@media (width>=37.5rem){:host{--sbb-calendar-control-view-change-height:3rem}}:host(:is(:state(enhanced),[state--enhanced])){--sbb-calendar-cell-padding-block-end:var(--sbb-spacing-fixed-3x)}.sbb-calendar__wrapper{width:100%;transition-duration:var(--sbb-calendar-cell-transition-duration);display:block}.sbb-calendar__controls{align-items:center;gap:var(--sbb-calendar-control-gap);width:100%;margin-block-end:var(--sbb-calendar-control-margin-block-end);display:inline-flex}.sbb-calendar__controls-month{gap:var(--sbb-calendar-tables-gap);width:100%;display:flex}#sbb-calendar__controls-previous,#sbb-calendar__controls-next{-webkit-tap-highlight-color:transparent}.sbb-calendar__controls-change-date{appearance:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent;color:var(--sbb-calendar-control-view-change-color);margin:0;height:var(--sbb-calendar-control-view-change-height);font-size:var(--sbb-text-font-size-s);letter-spacing:var(--sbb-typo-letter-spacing-text);text-transform:capitalize;cursor:var(--sbb-cursor-pointer);padding:0;padding-inline:var(--sbb-calendar-control-view-change-padding-inline);border-radius:0;border-radius:var(--sbb-border-radius-infinity);background:0 0;background-color:var(--sbb-calendar-control-view-change-background);transition-duration:var(--sbb-calendar-cell-transition-duration);transition-timing-function:var(--sbb-calendar-cell-transition-easing-function);border:none;outline:none;align-items:center;margin:auto;transition-property:background-color,padding-block-end;display:flex}.sbb-calendar__controls-change-date:disabled{--sbb-calendar-control-view-change-background:var(--lightningcss-light,var(--sbb-color-milk))var(--lightningcss-dark,var(--sbb-color-anthracite));--sbb-calendar-control-view-change-color:var(--lightningcss-light,var(--sbb-color-granite))var(--lightningcss-dark,var(--sbb-color-aluminium));cursor:unset}.sbb-calendar__controls-change-date:focus-visible{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width);outline-offset:var(--sbb-spacing-fixed-1x)}@media (any-hover:hover){.sbb-calendar__controls-change-date:not(:active,:disabled):hover{padding-block-end:var(--sbb-calendar-cell-hover-shift)}}.sbb-calendar__controls-change-date:not(:disabled):active{--sbb-calendar-control-view-change-background:var(--sbb-background-color-3)}.sbb-calendar__table-month-view,.sbb-calendar__table-year-view{--sbb-calendar-table-column-spaces:6}.sbb-calendar__table-overflow-break{contain:layout}.sbb-calendar__table-container{gap:var(--sbb-calendar-tables-gap);margin-inline:var(--sbb-calendar-margin);--sbb-calendar-min-width:calc(7 * var(--sbb-calendar-cell-size));--sbb-calendar-overflow:calc(100% - var(--sbb-calendar-min-width));--sbb-calendar-start-offset:min(0px, -1 * (var(--sbb-calendar-overflow) / var(--sbb-calendar-table-column-spaces)));--sbb-calendar-margin:var(--sbb-calendar-start-offset);display:flex}:host(:is(:state(wide),[state--wide])) .sbb-calendar__table-container{--sbb-calendar-min-width:calc(2 * 7 * var(--sbb-calendar-cell-size) + var(--sbb-calendar-tables-gap));--sbb-calendar-margin:calc(.5 * var(--sbb-calendar-start-offset))}:host([orientation=horizontal][week-numbers]) .sbb-calendar__table-container{--sbb-calendar-min-width:calc(8 * var(--sbb-calendar-cell-size))}:host([orientation=horizontal][week-numbers]:is(:state(wide),[state--wide])) .sbb-calendar__table-container{--sbb-calendar-min-width:calc(2 * 8 * var(--sbb-calendar-cell-size) + var(--sbb-calendar-tables-gap))}:host([orientation=vertical]) .sbb-calendar__table-container{min-width:var(--sbb-calendar-min-width);--sbb-calendar-start-offset:0}:host([orientation=vertical]:is(:state(wide),[state--wide])) .sbb-calendar__table-container{--sbb-calendar-min-width:calc(13 * var(--sbb-calendar-cell-size) + var(--sbb-calendar-tables-gap))}.sbb-calendar__table{border-collapse:collapse;width:100%;height:max-content;animation-name:show;animation-duration:var(--sbb-calendar-table-animation-duration)}.sbb-calendar__table.sbb-calendar__table-hide{--sbb-calendar-cell-transition-duration:0s;animation-name:hide;animation-duration:var(--sbb-calendar-table-animation-duration)}:host(:not(:is(:state(wide),[state--wide]))) .sbb-calendar__table{min-width:100%}.sbb-calendar__table-header,.sbb-calendar__table-body{text-align:center}.sbb-calendar__table-header-cell,.sbb-calendar__table-header-cell-vertical{width:var(--sbb-calendar-cell-size);color:var(--sbb-calendar-header-color);font-size:var(--sbb-text-font-size-xs);letter-spacing:var(--sbb-typo-letter-spacing-text);padding:0;font-weight:400}:host(:not([multiple])) .sbb-calendar__table-header-cell,:host(:not([multiple])) .sbb-calendar__table-header-cell-vertical{height:var(--sbb-calendar-cell-size)}.sbb-calendar__table-header-cell-vertical{padding-block-end:var(--sbb-calendar-cell-padding-block-end)}.sbb-calendar__table-data{text-align:center;padding:0;position:relative}.sbb-calendar__day-cell{padding-block-end:var(--sbb-calendar-cell-padding-block-end)}:host(:not(:is(:state(enhanced),[state--enhanced]))) sbb-calendar-day{--sbb-calendar-cell-justify-content:center;--sbb-calendar-day-height:2.75rem;--sbb-calendar-day-extra-display:none;--sbb-calendar-day-value-height:unset;--sbb-calendar-day-crossed-out-top:50%;--sbb-calendar-day-crossed-out-translate:translate(-50%, -50%) rotate(-45deg)}@keyframes show{0%{opacity:0;transform:translateY(var(--sbb-calendar-table-animation-shift))}to{opacity:1;transform:translateY(0%)}}@keyframes hide{0%{opacity:1;transform:translateY(0%)}to{opacity:0;transform:translateY(var(--sbb-calendar-table-animation-shift))}}`;
121
+ y.define(), b.define(), C.define(), x.define(), S.define();
121
122
  var ve = class extends Event {
122
123
  get range() {
123
124
  return this._range;
@@ -128,19 +129,19 @@ var ve = class extends Event {
128
129
  composed: !0
129
130
  }), this._range = Object.freeze(e || []);
130
131
  }
131
- }, L = (() => {
132
- let n = c, b = [], x, S = [], C = [], w, T = [], E = [], D, O = [], k = [], A, j = [], M = [], N, P = [], F = [], L, R, z = [], B = [], V, H = [], U = [], W, G = [], K = [], q, J = [], Y = [], X, Z = [], Q = [], $, ye, be = [], xe = [], Se, Ce = [], we = [];
132
+ }, B = (() => {
133
+ let n = c, y = [], b, x = [], S = [], C, w = [], T = [], E, D = [], O = [], k, A = [], j = [], M, N = [], P = [], F, I, L = [], R = [], B, V = [], H = [], U, W = [], G = [], K, q = [], J = [], Y, X = [], Z = [], Q, ye, be = [], xe = [], Se, Ce = [], $ = [];
133
134
  return class extends n {
134
135
  static {
135
136
  let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(n[Symbol.metadata] ?? null) : void 0;
136
- x = [l(), o({ type: Boolean })], w = [o()], D = [d(), o()], A = [d(), o()], N = [
137
+ b = [l(), o({ type: Boolean })], C = [o()], E = [d(), o()], k = [d(), o()], M = [
137
138
  l(),
138
139
  u((e, t) => e._onMultipleChanged(t)),
139
140
  o({ type: Boolean })
140
- ], L = [o()], R = [s()], V = [o({ attribute: "date-filter" })], W = [o({ reflect: !0 })], q = [l(), o({
141
+ ], F = [o()], I = [s()], B = [o({ attribute: "date-filter" })], U = [o({ reflect: !0 })], K = [l(), o({
141
142
  attribute: "week-numbers",
142
143
  type: Boolean
143
- })], X = [s()], $ = [s()], ye = [s()], Se = [s()], e(this, null, x, {
144
+ })], Y = [s()], Q = [s()], ye = [s()], Se = [s()], e(this, null, b, {
144
145
  kind: "accessor",
145
146
  name: "wide",
146
147
  static: !1,
@@ -153,7 +154,7 @@ var ve = class extends Event {
153
154
  }
154
155
  },
155
156
  metadata: t
156
- }, S, C), e(this, null, w, {
157
+ }, x, S), e(this, null, C, {
157
158
  kind: "accessor",
158
159
  name: "view",
159
160
  static: !1,
@@ -166,7 +167,7 @@ var ve = class extends Event {
166
167
  }
167
168
  },
168
169
  metadata: t
169
- }, T, E), e(this, null, D, {
170
+ }, w, T), e(this, null, E, {
170
171
  kind: "accessor",
171
172
  name: "min",
172
173
  static: !1,
@@ -179,7 +180,7 @@ var ve = class extends Event {
179
180
  }
180
181
  },
181
182
  metadata: t
182
- }, O, k), e(this, null, A, {
183
+ }, D, O), e(this, null, k, {
183
184
  kind: "accessor",
184
185
  name: "max",
185
186
  static: !1,
@@ -192,7 +193,7 @@ var ve = class extends Event {
192
193
  }
193
194
  },
194
195
  metadata: t
195
- }, j, M), e(this, null, N, {
196
+ }, A, j), e(this, null, M, {
196
197
  kind: "accessor",
197
198
  name: "multiple",
198
199
  static: !1,
@@ -205,7 +206,7 @@ var ve = class extends Event {
205
206
  }
206
207
  },
207
208
  metadata: t
208
- }, P, F), e(this, null, L, {
209
+ }, N, P), e(this, null, F, {
209
210
  kind: "setter",
210
211
  name: "selected",
211
212
  static: !1,
@@ -217,7 +218,7 @@ var ve = class extends Event {
217
218
  }
218
219
  },
219
220
  metadata: t
220
- }, null, b), e(this, null, R, {
221
+ }, null, y), e(this, null, I, {
221
222
  kind: "accessor",
222
223
  name: "_selected",
223
224
  static: !1,
@@ -230,7 +231,7 @@ var ve = class extends Event {
230
231
  }
231
232
  },
232
233
  metadata: t
233
- }, z, B), e(this, null, V, {
234
+ }, L, R), e(this, null, B, {
234
235
  kind: "accessor",
235
236
  name: "dateFilter",
236
237
  static: !1,
@@ -243,7 +244,7 @@ var ve = class extends Event {
243
244
  }
244
245
  },
245
246
  metadata: t
246
- }, H, U), e(this, null, W, {
247
+ }, V, H), e(this, null, U, {
247
248
  kind: "accessor",
248
249
  name: "orientation",
249
250
  static: !1,
@@ -256,7 +257,7 @@ var ve = class extends Event {
256
257
  }
257
258
  },
258
259
  metadata: t
259
- }, G, K), e(this, null, q, {
260
+ }, W, G), e(this, null, K, {
260
261
  kind: "accessor",
261
262
  name: "weekNumbers",
262
263
  static: !1,
@@ -269,7 +270,7 @@ var ve = class extends Event {
269
270
  }
270
271
  },
271
272
  metadata: t
272
- }, J, Y), e(this, null, X, {
273
+ }, q, J), e(this, null, Y, {
273
274
  kind: "accessor",
274
275
  name: "_activeDate",
275
276
  static: !1,
@@ -282,7 +283,7 @@ var ve = class extends Event {
282
283
  }
283
284
  },
284
285
  metadata: t
285
- }, Z, Q), e(this, null, $, {
286
+ }, X, Z), e(this, null, Q, {
286
287
  kind: "setter",
287
288
  name: "_wide",
288
289
  static: !1,
@@ -294,7 +295,7 @@ var ve = class extends Event {
294
295
  }
295
296
  },
296
297
  metadata: t
297
- }, null, b), e(this, null, ye, {
298
+ }, null, y), e(this, null, ye, {
298
299
  kind: "accessor",
299
300
  name: "_calendarView",
300
301
  static: !1,
@@ -320,7 +321,7 @@ var ve = class extends Event {
320
321
  }
321
322
  },
322
323
  metadata: t
323
- }, Ce, we), t && Object.defineProperty(this, Symbol.metadata, {
324
+ }, Ce, $), t && Object.defineProperty(this, Symbol.metadata, {
324
325
  enumerable: !0,
325
326
  configurable: !0,
326
327
  writable: !0,
@@ -433,7 +434,7 @@ var ve = class extends Event {
433
434
  this.#u = e;
434
435
  }
435
436
  get _cells() {
436
- return Array.from((this._calendarView === "day" ? this._getRootForQuerySelector()?.querySelectorAll("sbb-calendar-day") : this.shadowRoot?.querySelectorAll(".sbb-calendar__cell")) ?? []);
437
+ return Array.from((this._calendarView === "day" ? Array.from(this.shadowRoot.querySelectorAll("slot")).flatMap((e) => e.assignedElements({ flatten: !0 })) : this.shadowRoot?.querySelectorAll(`sbb-calendar-${this._calendarView}`)) ?? []);
437
438
  }
438
439
  #d;
439
440
  get _initialized() {
@@ -443,13 +444,13 @@ var ve = class extends Event {
443
444
  this.#d = e;
444
445
  }
445
446
  constructor() {
446
- super(), this.#e = (t(this, b), t(this, S, !1)), this.#t = (t(this, C), t(this, T, "day")), this.#n = (t(this, E), t(this, O, null)), this.#r = (t(this, k), t(this, j, null)), this.#i = (t(this, M), t(this, P, !1)), this.#a = (t(this, F), t(this, z, null)), this.#o = (t(this, B), t(this, H, null)), this.#s = (t(this, U), t(this, G, "horizontal")), this.#c = (t(this, K), t(this, J, !1)), this._dateAdapter = (t(this, Y), de().datetime?.dateAdapter ?? pe), this.#l = t(this, Z, this._dateAdapter.today()), this._wideInternal = (t(this, Q), !1), this.#u = t(this, be, "day"), this._nextCalendarView = (t(this, xe), "day"), this._keyboardNavigationDayViewParameters = {
447
+ super(), this.#e = (t(this, y), t(this, x, !1)), this.#t = (t(this, S), t(this, w, "day")), this.#n = (t(this, T), t(this, D, null)), this.#r = (t(this, O), t(this, A, null)), this.#i = (t(this, j), t(this, N, !1)), this.#a = (t(this, P), t(this, L, null)), this.#o = (t(this, R), t(this, V, null)), this.#s = (t(this, H), t(this, W, "horizontal")), this.#c = (t(this, G), t(this, q, !1)), this._dateAdapter = (t(this, J), de().datetime?.dateAdapter ?? pe), this.#l = t(this, X, this._dateAdapter.today()), this._wideInternal = (t(this, Z), !1), this.#u = t(this, be, "day"), this._nextCalendarView = (t(this, xe), "day"), this._keyboardNavigationDayViewParameters = {
447
448
  firstDayInView: null,
448
449
  lastDayInView: null,
449
450
  firstMonthOffset: 0,
450
451
  firstMonthLength: 0,
451
452
  secondMonthOffset: 0
452
- }, this._weeks = [], this._monthNames = this._dateAdapter.getMonthNames("long"), this._enhancedVariant = !1, this._resetFocus = !1, this._containingFocus = !1, this.#d = t(this, Ce, !1), this._language = (t(this, we), new te(this).withHandler(() => {
453
+ }, this._weeks = [], this._monthNames = this._dateAdapter.getMonthNames("long"), this._enhancedVariant = !1, this._resetFocus = !1, this._containingFocus = !1, this.#d = t(this, Ce, !1), this._language = (t(this, $), new te(this).withHandler(() => {
453
454
  this._monthNames = this._dateAdapter.getMonthNames("long"), this._createMonthRows();
454
455
  })), this._mediaMatcher = new ne(this, { [f]: () => this._init() }), this._onSlotChange = () => {
455
456
  this._enhancedVariant = Array.from(this.children).some((e) => e.localName === "sbb-calendar-day"), this.toggleState("enhanced", this._enhancedVariant), this._setTabIndex();
@@ -460,9 +461,6 @@ var ve = class extends Event {
460
461
  e.target.localName === "sbb-calendar-day" && this._handleKeyboardEvent(e, this._mapDateToDay(e.target.value));
461
462
  });
462
463
  }
463
- _getRootForQuerySelector() {
464
- return this._enhancedVariant ? this : this.shadowRoot;
465
- }
466
464
  _dateFilter(e) {
467
465
  return this.dateFilter?.(e) ?? !0;
468
466
  }
@@ -495,7 +493,7 @@ var ve = class extends Event {
495
493
  }
496
494
  if (e && this._assignActiveDate(e), this._wide = (this._mediaMatcher.matches(f) ?? !1) && this.wide, this._weeks = this._createWeekRows(this._activeDate), this._years = this._createYearRows(), this._weekNumbers = this._createWeekNumbers(this._activeDate), this._nextMonthWeeks = [[]], this._nextMonthYears = [[]], this._wide) {
497
495
  let e = this._dateAdapter.addCalendarMonths(this._activeDate, 1);
498
- this._nextMonthWeeks = this._createWeekRows(e, !0), this._nextMonthYears = this._createYearRows(v), this._nextMonthWeekNumbers = this._createWeekNumbers(e);
496
+ this._nextMonthWeeks = this._createWeekRows(e, !0), this._nextMonthYears = this._createYearRows(_), this._nextMonthWeekNumbers = this._createWeekNumbers(e);
499
497
  }
500
498
  this._initialized = !0;
501
499
  }
@@ -514,7 +512,7 @@ var ve = class extends Event {
514
512
  return he({
515
513
  start: ge(e),
516
514
  end: me(e)
517
- }, { weekStartsOn: 1 }).map((e) => I(e, {
515
+ }, { weekStartsOn: 1 }).map((e) => z(e, {
518
516
  weekStartsOn: 1,
519
517
  firstWeekContainsDate: 4
520
518
  }));
@@ -526,16 +524,16 @@ var ve = class extends Event {
526
524
  _createWeekRowsHorizontal(e, t, n) {
527
525
  let r = [[]];
528
526
  for (let i = 0, a = n; i < t; i++, a++) {
529
- a === g && (r.push([]), a = 0);
527
+ a === h && (r.push([]), a = 0);
530
528
  let t = this._dateAdapter.createDate(this._dateAdapter.getYear(e), this._dateAdapter.getMonth(e), i + 1);
531
529
  r[r.length - 1].push(this._mapDateToDay(t));
532
530
  }
533
531
  return r;
534
532
  }
535
533
  _createWeekRowsVertical(e, t, n) {
536
- let r = Array.from({ length: g }, () => []);
534
+ let r = Array.from({ length: h }, () => []);
537
535
  for (let i = 0, a = n; i < t; i++, a++) {
538
- a === g && (a = 0);
536
+ a === h && (a = 0);
539
537
  let t = this._dateAdapter.createDate(this._dateAdapter.getYear(e), this._dateAdapter.getMonth(e), i + 1);
540
538
  r[a].push(this._mapDateToDay(t));
541
539
  }
@@ -549,7 +547,7 @@ var ve = class extends Event {
549
547
  dayValue: String(this._dateAdapter.getDate(e)),
550
548
  monthValue: String(this._dateAdapter.getMonth(e)),
551
549
  yearValue: String(this._dateAdapter.getYear(e)),
552
- weekValue: I(t, {
550
+ weekValue: z(t, {
553
551
  weekStartsOn: 1,
554
552
  firstWeekContainsDate: 4
555
553
  }),
@@ -560,52 +558,29 @@ var ve = class extends Event {
560
558
  return typeof e == "string" ? e : this._dateAdapter.toIso8601(e);
561
559
  }
562
560
  _createMonthRows() {
563
- let e = this._dateAdapter.getMonthNames("short"), t = Array(12).fill(null).map((t, n) => ({
564
- value: e[n],
565
- longValue: this._monthNames[n],
566
- monthValue: n + 1
567
- })), n = 12 / _, r = [];
568
- for (let e = 0; e < n; e++) r.push(t.slice(_ * e, _ * (e + 1)));
569
- this._months = r;
561
+ let e = Array(12).fill(null).map((e, t) => ({
562
+ value: String(t + 1).padStart(2, "0"),
563
+ monthValue: t + 1
564
+ })), t = 12 / g, n = [];
565
+ for (let r = 0; r < t; r++) n.push(e.slice(g * r, g * (r + 1)));
566
+ this._months = n;
570
567
  }
571
568
  _createYearRows(e = 0) {
572
- let t = this._getStartValueYearView(), n = Array(v).fill(0).map((n, r) => t + e + r), r = v / y, i = [];
573
- for (let e = 0; e < r; e++) i.push(n.slice(y * e, y * (e + 1)));
569
+ let t = this._getStartValueYearView(), n = Array(_).fill(0).map((n, r) => t + e + r), r = _ / v, i = [];
570
+ for (let e = 0; e < r; e++) i.push(n.slice(v * e, v * (e + 1)));
574
571
  return i;
575
572
  }
576
573
  _getStartValueYearView() {
577
574
  let e = 0;
578
- this.max ? e = this._dateAdapter.getYear(this.max) - v + 1 : this.min && (e = this._dateAdapter.getYear(this.min));
575
+ this.max ? e = this._dateAdapter.getYear(this.max) - _ + 1 : this.min && (e = this._dateAdapter.getYear(this.min));
579
576
  let t = this._dateAdapter.getYear(this._activeDate);
580
- return t - ((t - e) % v + v) % v;
577
+ return t - ((t - e) % _ + _) % _;
581
578
  }
582
579
  _isDayInRange(e) {
583
580
  if (!this.min && !this.max) return !0;
584
581
  let t = this._dateAdapter.deserialize(e);
585
582
  return this._dateAdapter.sameDate(t, this._dateAdapter.clampDate(t, this.min, this.max));
586
583
  }
587
- _isMonthInRange(e, t) {
588
- if (!this.min && !this.max) return !0;
589
- let n = this._dateAdapter.isValid(this.min) && (t < this._dateAdapter.getYear(this.min) || t === this._dateAdapter.getYear(this.min) && e < this._dateAdapter.getMonth(this.min)), r = this._dateAdapter.isValid(this.max) && (t > this._dateAdapter.getYear(this.max) || t === this._dateAdapter.getYear(this.max) && e > this._dateAdapter.getMonth(this.max));
590
- return !(n || r);
591
- }
592
- _isYearInRange(e) {
593
- if (!this.min && !this.max) return !0;
594
- let t = this._dateAdapter.isValid(this.min) && this._dateAdapter.getYear(this.min) > e, n = this._dateAdapter.isValid(this.max) && this._dateAdapter.getYear(this.max) < e;
595
- return !(t || n);
596
- }
597
- _isMonthFilteredOut(e, t) {
598
- if (!this.dateFilter) return !0;
599
- let n = this._dateAdapter.createDate(t, e, 1);
600
- for (let t = n; this._dateAdapter.getMonth(t) == e; t = this._dateAdapter.addCalendarDays(t, 1)) if (this.dateFilter(t)) return !0;
601
- return !1;
602
- }
603
- _isYearFilteredOut(e) {
604
- if (!this.dateFilter) return !0;
605
- let t = this._dateAdapter.createDate(e, 1, 1);
606
- for (let n = t; this._dateAdapter.getYear(n) == e; n = this._dateAdapter.addCalendarDays(n, 1)) if (this.dateFilter(n)) return !0;
607
- return !1;
608
- }
609
584
  _selectDate(e) {
610
585
  if (this._chosenMonth = void 0, this._setChosenYear(), this.multiple) {
611
586
  if (this._selected && this._selected.length > 0) {
@@ -693,27 +668,25 @@ var ve = class extends Event {
693
668
  e?.localName !== "sbb-calendar-day" && this._setTabIndex();
694
669
  }
695
670
  _setTabIndex() {
696
- let e = this._calendarView === "day" ? "sbb-calendar-day" : ".sbb-calendar__cell";
697
- Array.from(this._getRootForQuerySelector().querySelectorAll(`${e}[tabindex="0"]`) ?? []).forEach((e) => e.tabIndex = -1);
698
- let t = this._getFirstFocusable();
699
- t && (t.tabIndex = 0);
671
+ Array.from(this._cells.filter((e) => e.tabIndex === 0) ?? []).forEach((e) => e.tabIndex = -1);
672
+ let e = this._getFirstFocusable();
673
+ e && (e.tabIndex = 0);
700
674
  }
701
675
  _getFirstFocusable() {
702
- let e = this._getRootForQuerySelector();
703
676
  if (this._calendarView === "day") {
704
- let t = e.querySelector(":is(:state(selected),[state--selected])") ?? e.querySelector(":is(:state(current),[state--current])");
705
- return t && !t.disabled ? t : this._getFirstFocusableDay();
677
+ let e = this._cells.find((e) => e.matches(":is(:state(selected),[state--selected])")) ?? this._cells.find((e) => e.matches(":is(:state(current),[state--current])"));
678
+ return e && !e.disabled ? e : this._getFirstFocusableDay();
706
679
  } else {
707
- let e = this.shadowRoot?.querySelector(".sbb-calendar__cell-current");
708
- return e && !e.disabled ? e : this.shadowRoot.querySelector(".sbb-calendar__cell:not([disabled])");
680
+ let e = this.shadowRoot?.querySelector(":is(:state(selected),[state--selected])") ?? this.shadowRoot?.querySelector(":is(:state(current),[state--current])");
681
+ return e && !e.disabled ? e : this.shadowRoot.querySelector(`sbb-calendar-${this._calendarView}:not([disabled])`);
709
682
  }
710
683
  }
711
684
  _getFirstFocusableDay() {
712
- let e = Array.from(this._getRootForQuerySelector().querySelectorAll("sbb-calendar-day:not([disabled])"));
713
- if (!e || e.length === 0) return null;
685
+ let e = this._cells, t = e.filter((e) => !e.disabled);
686
+ if (!t || t.length === 0) return null;
714
687
  {
715
- let t = e.map((e) => this._dateAdapter.toIso8601(e.value)).sort()[0];
716
- return this._getRootForQuerySelector().querySelector(`sbb-calendar-day[slot="${t}"]`);
688
+ let n = t.map((e) => this._dateAdapter.toIso8601(e.value)).sort()[0];
689
+ return e.find((e) => e.matches(`[slot="${n}"]`)) ?? null;
717
690
  }
718
691
  }
719
692
  _handleKeyboardEvent(e, t) {
@@ -726,9 +699,9 @@ var ve = class extends Event {
726
699
  _navigateByKeyboardDayView(e, t, n, r) {
727
700
  let i = this.orientation === "horizontal" ? {
728
701
  leftRight: 1,
729
- upDown: g
702
+ upDown: h
730
703
  } : {
731
- leftRight: g,
704
+ leftRight: h,
732
705
  upDown: 1
733
706
  }, a = t < this._keyboardNavigationDayViewParameters.firstMonthLength ? this._keyboardNavigationDayViewParameters.firstMonthOffset : this._keyboardNavigationDayViewParameters.secondMonthOffset;
734
707
  switch (e.key) {
@@ -737,17 +710,17 @@ var ve = class extends Event {
737
710
  case "ArrowLeft": return this._findDayArrows(n, t, r.dateValue, -i.leftRight);
738
711
  case "ArrowRight": return this._findDayArrows(n, t, r.dateValue, i.leftRight);
739
712
  case "PageUp": if (this.orientation === "horizontal") {
740
- let e = (+r.dayValue % g || g) - +r.dayValue;
713
+ let e = (+r.dayValue % h || h) - +r.dayValue;
741
714
  return this._findDayPageUpDown(n, t, r, e, i.upDown);
742
715
  } else {
743
- let e = (Math.ceil((+r.dayValue + a) / g) - 1) * g - a + 1 - r.dayValue;
716
+ let e = (Math.ceil((+r.dayValue + a) / h) - 1) * h - a + 1 - r.dayValue;
744
717
  return this._findDayPageUpDown(n, t, r, e, i.upDown);
745
718
  }
746
719
  case "PageDown": if (this.orientation === "horizontal") {
747
- let e = +r.monthValue + 1 > 12 ? 1 : +r.monthValue + 1, a = +r.monthValue + 1 > 12 ? +r.yearValue + 1 : +r.yearValue, o = this._dateAdapter.createDate(a, e, 1), s = this._dateAdapter.getDate(this._dateAdapter.addCalendarDays(o, -1)), c = Math.trunc((s - +r.dayValue) / g) * g;
720
+ let e = +r.monthValue + 1 > 12 ? 1 : +r.monthValue + 1, a = +r.monthValue + 1 > 12 ? +r.yearValue + 1 : +r.yearValue, o = this._dateAdapter.createDate(a, e, 1), s = this._dateAdapter.getDate(this._dateAdapter.addCalendarDays(o, -1)), c = Math.trunc((s - +r.dayValue) / h) * h;
748
721
  return this._findDayPageUpDown(n, t, r, c, -i.upDown);
749
722
  } else {
750
- let e = Math.ceil((+r.dayValue + a) / g) * g - a - +r.dayValue;
723
+ let e = Math.ceil((+r.dayValue + a) / h) * h - a - +r.dayValue;
751
724
  return this._findDayPageUpDown(n, t, r, e, -i.upDown);
752
725
  }
753
726
  case "Home": return this._findDayFirst(n, t, r, 1);
@@ -800,9 +773,9 @@ var ve = class extends Event {
800
773
  }
801
774
  }
802
775
  _calculateParametersForKeyboardNavigation(e, t) {
803
- let n = t ? v : fe, r = Math.trunc(e / n) * n, i = r === 0 ? e : e - n;
776
+ let n = t ? _ : fe, r = Math.trunc(e / n) * n, i = r === 0 ? e : e - n;
804
777
  return {
805
- verticalOffset: t ? y : _,
778
+ verticalOffset: t ? v : g,
806
779
  elementIndexForWideMode: i,
807
780
  offsetForWideMode: e - i,
808
781
  lastElementIndexForWideMode: r === 0 ? n : n * 2
@@ -895,16 +868,13 @@ var ve = class extends Event {
895
868
  ${this._weekdays.map((e, t) => r`
896
869
  <th class="sbb-calendar__table-header-cell">
897
870
  ${this.multiple ? r`
898
- <button
899
- class="sbb-calendar__header-cell sbb-calendar__weekday"
900
- aria-label=${e.long}
871
+ <sbb-calendar-weekday
872
+ .value=${e}
901
873
  @click=${() => {
902
874
  let e = o.filter((e) => e.weekDayValue === (t + 1) % 7);
903
875
  this._selectMultipleDates(e);
904
876
  }}
905
- >
906
- ${e.narrow}
907
- </button>
877
+ ></sbb-calendar-weekday>
908
878
  ` : r`
909
879
  <sbb-screen-reader-only>${e.long}</sbb-screen-reader-only>
910
880
  <span aria-hidden="true">${e.narrow}</span>
@@ -915,22 +885,19 @@ var ve = class extends Event {
915
885
  </thead>
916
886
  <tbody class="sbb-calendar__table-body">
917
887
  ${e.map((e, n) => {
918
- let o = g - e.length;
888
+ let o = h - e.length;
919
889
  return n === 0 && o ? r`
920
890
  <tr>
921
891
  ${this.weekNumbers ? r`
922
892
  <td class="sbb-calendar__table-header-cell-vertical">
923
893
  ${this.multiple ? r`
924
- <button
925
- class="sbb-calendar__header-cell sbb-calendar__weekday"
926
- aria-label=${`${m[this._language.current]} ${t[0]}`}
894
+ <sbb-calendar-weeknumber
895
+ .value=${t[0]}
927
896
  @click=${() => {
928
897
  let e = i.filter((e) => e.weekValue === t[0]);
929
898
  this._selectMultipleDates(e);
930
899
  }}
931
- >
932
- ${t[0]}
933
- </button>
900
+ ></sbb-calendar-weeknumber>
934
901
  ` : r`
935
902
  <sbb-screen-reader-only
936
903
  >${`${m[this._language.current]} ${t[0]}`}</sbb-screen-reader-only
@@ -947,16 +914,13 @@ var ve = class extends Event {
947
914
  ${this.weekNumbers ? r`
948
915
  <td class="sbb-calendar__table-header-cell-vertical">
949
916
  ${this.multiple ? r`
950
- <button
951
- class="sbb-calendar__header-cell sbb-calendar__weekday"
952
- aria-label=${`${m[this._language.current]} ${t[n]}`}
917
+ <sbb-calendar-weeknumber
918
+ .value=${t[n]}
953
919
  @click=${() => {
954
920
  let e = i.filter((e) => e.weekValue === t[n]);
955
921
  this._selectMultipleDates(e);
956
922
  }}
957
- >
958
- ${t[n]}
959
- </button>
923
+ ></sbb-calendar-weeknumber>
960
924
  ` : r`
961
925
  <sbb-screen-reader-only
962
926
  >${`${m[this._language.current]} ${t[n]}`}</sbb-screen-reader-only
@@ -988,16 +952,13 @@ var ve = class extends Event {
988
952
  ${t.map((e) => r`
989
953
  <th class="sbb-calendar__table-header-cell">
990
954
  ${this.multiple ? r`
991
- <button
992
- class="sbb-calendar__header-cell sbb-calendar__weekday"
993
- aria-label=${`${m[this._language.current]} ${e}`}
955
+ <sbb-calendar-weeknumber
956
+ .value=${e}
994
957
  @click=${() => {
995
958
  let t = o.filter((t) => t.weekValue === e);
996
959
  this._selectMultipleDates(t);
997
960
  }}
998
- >
999
- ${e}
1000
- </button>
961
+ ></sbb-calendar-weeknumber>
1001
962
  ` : r`
1002
963
  <sbb-screen-reader-only
1003
964
  >${`${m[this._language.current]} ${e}`}</sbb-screen-reader-only
@@ -1017,13 +978,12 @@ var ve = class extends Event {
1017
978
  ${n ? a : r`
1018
979
  <td class="sbb-calendar__table-header-cell-vertical">
1019
980
  ${this.multiple ? r`
1020
- <button
1021
- class="sbb-calendar__header-cell sbb-calendar__weekday"
1022
- aria-label=${o.long}
981
+ <sbb-calendar-weekday
982
+ .value=${o}
1023
983
  @click=${() => this._selectMultipleDates(s)}
1024
984
  >
1025
985
  ${o.narrow}
1026
- </button>
986
+ </sbb-calendar-weekday>
1027
987
  ` : r`
1028
988
  <sbb-screen-reader-only>${o.long}</sbb-screen-reader-only>
1029
989
  <span aria-hidden="true">${o.narrow}</span>
@@ -1041,7 +1001,7 @@ var ve = class extends Event {
1041
1001
  }
1042
1002
  _createDayCells(e) {
1043
1003
  return e.map((e) => r`
1044
- <td class=" sbb-calendar__table-data sbb-calendar__day-cell">
1004
+ <td class="sbb-calendar__table-data sbb-calendar__day-cell">
1045
1005
  <slot name=${e.value}>
1046
1006
  <sbb-calendar-day
1047
1007
  slot=${e.value}
@@ -1088,46 +1048,22 @@ var ve = class extends Event {
1088
1048
  >
1089
1049
  ${this._wide ? r`<thead class="sbb-calendar__table-header" aria-hidden="true">
1090
1050
  <tr>
1091
- <th class="sbb-calendar__table-header-cell" colspan=${_}>${t}</th>
1051
+ <th class="sbb-calendar__table-header-cell" colspan=${g}>${t}</th>
1092
1052
  </tr>
1093
1053
  </thead>` : a}
1094
1054
  <tbody class="sbb-calendar__table-body">
1095
1055
  ${e.map((e) => r`
1096
1056
  <tr>
1097
- ${e.map((e) => {
1098
- let n;
1099
- if (this.multiple) n = this._selected.find((n) => t === this._dateAdapter.getYear(n) && e.monthValue === this._dateAdapter.getMonth(n)) !== void 0;
1100
- else {
1101
- let r = this._selected ? this._dateAdapter.getMonth(this._selected) : void 0, i = this._selected ? this._dateAdapter.getYear(this._selected) : void 0;
1102
- n = !!this._selected && t === i && e.monthValue === r;
1103
- }
1104
- let i = !this._isMonthInRange(e.monthValue, t), o = !this._isMonthFilteredOut(e.monthValue, t), s = t === this._dateAdapter.getYear(this._dateAdapter.today()) && this._dateAdapter.getMonth(this._dateAdapter.today()) === e.monthValue;
1105
- return r` <td
1106
- class=${h({
1107
- "sbb-calendar__table-data": !0,
1108
- "sbb-calendar__table-month": !0
1109
- })}
1110
- >
1111
- <button
1112
- class=${h({
1113
- "sbb-calendar__cell": !0,
1114
- "sbb-calendar__cell-current": s,
1115
- "sbb-calendar__crossed-out": !i && o,
1116
- "sbb-calendar__selected": n
1117
- })}
1118
- @click=${() => this._onMonthSelection(e.monthValue, t)}
1119
- ?disabled=${i || o}
1120
- aria-label=${`${e.longValue} ${t}`}
1121
- aria-pressed=${n}
1122
- aria-disabled=${String(i || o)}
1123
- tabindex="-1"
1124
- data-month=${e.monthValue || a}
1125
- @keydown=${(e) => this._handleKeyboardEvent(e)}
1126
- >
1127
- ${e.value}
1128
- </button>
1129
- </td>`;
1130
- })}
1057
+ ${e.map((e) => r`
1058
+ <td class="sbb-calendar__table-data">
1059
+ <sbb-calendar-month
1060
+ .value="${t}-${e.value}"
1061
+ @click=${() => this._onMonthSelection(e.monthValue, t)}
1062
+ @keydown=${(e) => this._handleKeyboardEvent(e)}
1063
+ >
1064
+ </sbb-calendar-month>
1065
+ </td>
1066
+ `)}
1131
1067
  </tr>
1132
1068
  `)}
1133
1069
  </tbody>
@@ -1140,9 +1076,9 @@ var ve = class extends Event {
1140
1076
  _renderYearView() {
1141
1077
  return r`
1142
1078
  <div class="sbb-calendar__controls">
1143
- ${this._getArrow("left", () => this._goToDifferentYearRange(-v), ce(v)[this._language.current], this._previousYearRangeDisabled())}
1079
+ ${this._getArrow("left", () => this._goToDifferentYearRange(-_), ce(_)[this._language.current], this._previousYearRangeDisabled())}
1144
1080
  <div class="sbb-calendar__controls-month">${this._createLabelForYearView()}</div>
1145
- ${this._getArrow("right", () => this._goToDifferentYearRange(v), ae(v)[this._language.current], this._nextYearRangeDisabled())}
1081
+ ${this._getArrow("right", () => this._goToDifferentYearRange(_), ae(_)[this._language.current], this._nextYearRangeDisabled())}
1146
1082
  </div>
1147
1083
  <div class="sbb-calendar__table-overflow-break">
1148
1084
  <div class="sbb-calendar__table-container sbb-calendar__table-year-view">
@@ -1179,42 +1115,22 @@ var ve = class extends Event {
1179
1115
  `;
1180
1116
  }
1181
1117
  _createYearTable(e, t = !1) {
1182
- let n = this._dateAdapter.today();
1183
1118
  return r` <table
1184
1119
  class="sbb-calendar__table"
1185
1120
  @animationend=${(e) => this._tableAnimationEnd(e)}
1186
1121
  >
1187
1122
  <tbody class="sbb-calendar__table-body">
1188
1123
  ${e.map((e) => r` <tr>
1189
- ${e.map((e) => {
1190
- let i;
1191
- if (this.multiple) i = this._selected.find((t) => e === this._dateAdapter.getYear(t)) !== void 0;
1192
- else {
1193
- let t = this._selected ? this._dateAdapter.getYear(this._selected) : void 0;
1194
- i = !!this._selected && e === t;
1195
- }
1196
- let o = !this._isYearInRange(e), s = !this._isYearFilteredOut(e), c = this._dateAdapter.getYear(n) === e;
1197
- return r` <td class="sbb-calendar__table-data sbb-calendar__table-year">
1198
- <button
1199
- class=${h({
1200
- "sbb-calendar__cell": !0,
1201
- "sbb-calendar__cell-current": c,
1202
- "sbb-calendar__crossed-out": !o && s,
1203
- "sbb-calendar__selected": i
1204
- })}
1205
- @click=${() => this._onYearSelection(e, t)}
1206
- ?disabled=${o || s}
1207
- aria-label=${e}
1208
- aria-pressed=${i}
1209
- aria-disabled=${String(o || s)}
1210
- tabindex="-1"
1211
- data-year=${e || a}
1212
- @keydown=${(e) => this._handleKeyboardEvent(e)}
1213
- >
1214
- ${e}
1215
- </button>
1216
- </td>`;
1217
- })}
1124
+ ${e.map((e) => r`
1125
+ <td class="sbb-calendar__table-data">
1126
+ <sbb-calendar-year
1127
+ .value=${String(e)}
1128
+ @keydown=${(e) => this._handleKeyboardEvent(e)}
1129
+ @click=${() => this._onYearSelection(e, t)}
1130
+ >
1131
+ </sbb-calendar-year>
1132
+ </td>
1133
+ `)}
1218
1134
  </tr>`)}
1219
1135
  </tbody>
1220
1136
  </table>`;
@@ -1243,4 +1159,4 @@ var ve = class extends Event {
1243
1159
  };
1244
1160
  })();
1245
1161
  //#endregion
1246
- export { ve as n, L as t };
1162
+ export { ve as n, B as t };