@sbb-esta/lyne-elements-dev 4.7.0-dev.1773737228 → 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 (116) 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 +4273 -375
  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/development/popover/popover.component.d.ts.map +1 -1
  88. package/development/popover/popover.component.js +1 -1
  89. package/development/{popover.component-BTfbUEzF.js → popover.component-BpYi6btR.js} +2 -2
  90. package/development/popover.js +1 -1
  91. package/development/popover.pure.js +1 -1
  92. package/index.d.ts +5 -1
  93. package/index.js +5 -1
  94. package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  95. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  96. package/mini-calendar/mini-calendar-day.js +1 -1
  97. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  98. package/mini-calendar/mini-calendar-month.js +1 -1
  99. package/mini-calendar/mini-calendar.js +1 -1
  100. package/{mini-calendar.component-DpPMb47Y.js → mini-calendar.component-_YJbFi4P.js} +4 -4
  101. package/mini-calendar.js +3 -3
  102. package/mini-calendar.pure.js +3 -3
  103. package/off-brand-theme.css +40 -0
  104. package/package.json +27 -2
  105. package/popover/popover.component.js +1 -1
  106. package/{popover.component-Dh9vbuDG.js → popover.component-D_nJwaqJ.js} +1 -1
  107. package/popover.js +1 -1
  108. package/popover.pure.js +1 -1
  109. package/safety-theme.css +40 -0
  110. package/standard-theme.css +40 -0
  111. package/calendar-day.component-DqAXvoP3.js +0 -113
  112. package/development/calendar-day.component-De9Xn3-q.js +0 -283
  113. package/development/calendar.component-PHpgLc0z.js +0 -2458
  114. package/{carousel.component-Bd0iGUbf.js → carousel.component-BA0V2JHI.js} +1 -1
  115. package/{mini-calendar-day.component-cAawa9Gr.js → mini-calendar-day.component-D5HlCTH0.js} +1 -1
  116. package/{mini-calendar-month.component-DiYSVb-Y.js → mini-calendar-month.component-CGAOxDtz.js} +1 -1
@@ -0,0 +1,28 @@
1
+ import { CSSResultGroup, TemplateResult } from 'lit';
2
+ import { SbbCalendarElement } from '../calendar/calendar.component.ts';
3
+ import { SbbCalendarCellBaseElement } from '../common.ts';
4
+ /**
5
+ * It displays a single year cell in the `sbb-calendar` years view.
6
+ */
7
+ export declare class SbbCalendarYearElement<T = Date> extends SbbCalendarCellBaseElement<T> {
8
+ static readonly elementName: string;
9
+ static styles: CSSResultGroup;
10
+ /**
11
+ * Value of the calendar-year element.
12
+ */
13
+ set value(value: string | null);
14
+ get value(): string | null;
15
+ private _value;
16
+ connectedCallback(): void;
17
+ protected setSelectedState(parent: SbbCalendarElement<T>): void;
18
+ protected setDisabledFilteredState(parent: SbbCalendarElement<T>): void;
19
+ private _isActiveYear;
20
+ private _isYearInRange;
21
+ protected renderTemplate(): TemplateResult;
22
+ }
23
+ declare global {
24
+ interface HTMLElementTagNameMap {
25
+ 'sbb-calendar-year': SbbCalendarYearElement;
26
+ }
27
+ }
28
+ //# sourceMappingURL=calendar-year.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-year.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/calendar/calendar-year/calendar-year.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAyB,MAAM,cAAc,CAAC;AAEjF;;GAEG;AACH,qBAAa,sBAAsB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IACjF,gBAAgC,WAAW,EAAE,MAAM,CAAuB;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAA4C;IAEzF;;OAEG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAepC;IACD,IAAW,KAAK,IAAI,MAAM,GAAG,IAAI,CAEhC;IACD,OAAO,CAAC,MAAM,CAAuB;IAErB,iBAAiB,IAAI,IAAI;cAKtB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;cAUrD,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAShF,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,cAAc;cAWH,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -0,0 +1,103 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html } from "lit";
3
+ import { state } from "lit/decorators.js";
4
+ import { boxSizingStyles } from "../../core/styles.js";
5
+ import { SbbCalendarCellBaseElement, calendarCellBaseStyle } from "../common.js";
6
+ //#region src/elements/calendar/calendar-year/calendar-year.component.ts
7
+ /**
8
+ * It displays a single year cell in the `sbb-calendar` years view.
9
+ */
10
+ var SbbCalendarYearElement = (() => {
11
+ let _classSuper = SbbCalendarCellBaseElement;
12
+ let _instanceExtraInitializers = [];
13
+ let _set_value_decorators;
14
+ return class SbbCalendarYearElement extends _classSuper {
15
+ constructor() {
16
+ super(...arguments);
17
+ this._value = (__runInitializers(this, _instanceExtraInitializers), null);
18
+ }
19
+ static {
20
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
21
+ _set_value_decorators = [state()];
22
+ __esDecorate(this, null, _set_value_decorators, {
23
+ kind: "setter",
24
+ name: "value",
25
+ static: false,
26
+ private: false,
27
+ access: {
28
+ has: (obj) => "value" in obj,
29
+ set: (obj, value) => {
30
+ obj.value = value;
31
+ }
32
+ },
33
+ metadata: _metadata
34
+ }, null, _instanceExtraInitializers);
35
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: _metadata
40
+ });
41
+ }
42
+ static {
43
+ this.elementName = "sbb-calendar-year";
44
+ }
45
+ static {
46
+ this.styles = [boxSizingStyles, calendarCellBaseStyle];
47
+ }
48
+ /**
49
+ * Value of the calendar-year element.
50
+ */
51
+ set value(value) {
52
+ const year = Number(value);
53
+ if (isNaN(year)) return;
54
+ this._value = value;
55
+ const isToday = this.dateAdapter.getYear(this.dateAdapter.today()) === year;
56
+ this.toggleState("current", isToday);
57
+ this.internals.ariaLabel = String(year);
58
+ const parent = this.getParent();
59
+ if (parent) {
60
+ this.setDisabledFilteredState(parent);
61
+ this.setSelectedState(parent);
62
+ }
63
+ }
64
+ get value() {
65
+ return this._value;
66
+ }
67
+ connectedCallback() {
68
+ super.connectedCallback();
69
+ this.tabIndex = -1;
70
+ }
71
+ setSelectedState(parent) {
72
+ const selected = parent.multiple ? parent.selected?.some((date) => Number(this.value) === this.dateAdapter.getYear(date)) ?? false : !!parent.selected && this.dateAdapter.getYear(parent.selected) === Number(this.value);
73
+ this.toggleState("selected", selected);
74
+ this.internals.ariaPressed = String(selected);
75
+ }
76
+ setDisabledFilteredState(parent) {
77
+ const isFilteredOut = !this._isActiveYear(parent);
78
+ const isOutOfRange = !this._isYearInRange(parent.min, parent.max);
79
+ this.disabled = isFilteredOut || isOutOfRange;
80
+ this.internals.ariaDisabled = String(this.disabled);
81
+ this.toggleState("crossed-out", isFilteredOut && !isOutOfRange);
82
+ }
83
+ _isActiveYear(parent) {
84
+ if (!parent.dateFilter || !this.value) return true;
85
+ const firstOfYear = this.dateAdapter.createDate(Number(this.value), 1, 1);
86
+ for (let date = firstOfYear; this.dateAdapter.getYear(date) == Number(this.value); date = this.dateAdapter.addCalendarDays(date, 1)) if (parent.dateFilter(date)) return true;
87
+ return false;
88
+ }
89
+ _isYearInRange(min, max) {
90
+ if (!min && !max || !this.value) return true;
91
+ const isBeforeMin = this.dateAdapter.isValid(min) && this.dateAdapter.getYear(min) > Number(this.value);
92
+ const isAfterMax = this.dateAdapter.isValid(max) && this.dateAdapter.getYear(max) < Number(this.value);
93
+ return !(isBeforeMin || isAfterMax);
94
+ }
95
+ renderTemplate() {
96
+ return html`${this.value}`;
97
+ }
98
+ };
99
+ })();
100
+ //#endregion
101
+ export { SbbCalendarYearElement };
102
+
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5jb21wb25lbnQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLXllYXIvY2FsZW5kYXIteWVhci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgU2JiQ2FsZW5kYXJDZWxsQmFzZUVsZW1lbnQsIGNhbGVuZGFyQ2VsbEJhc2VTdHlsZSB9IGZyb20gJy4uL2NvbW1vbi50cyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBzaW5nbGUgeWVhciBjZWxsIGluIHRoZSBgc2JiLWNhbGVuZGFyYCB5ZWFycyB2aWV3LlxuICovXG5leHBvcnQgY2xhc3MgU2JiQ2FsZW5kYXJZZWFyRWxlbWVudDxUID0gRGF0ZT4gZXh0ZW5kcyBTYmJDYWxlbmRhckNlbGxCYXNlRWxlbWVudDxUPiB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItY2FsZW5kYXIteWVhcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIGNhbGVuZGFyQ2VsbEJhc2VTdHlsZV07XG5cbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBjYWxlbmRhci15ZWFyIGVsZW1lbnQuXG4gICAqL1xuICBAc3RhdGUoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgY29uc3QgeWVhciA9IE51bWJlcih2YWx1ZSk7XG4gICAgaWYgKGlzTmFOKHllYXIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICBjb25zdCBpc1RvZGF5ID0gdGhpcy5kYXRlQWRhcHRlci5nZXRZZWFyKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSkgPT09IHllYXI7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnY3VycmVudCcsIGlzVG9kYXkpO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9IFN0cmluZyh5ZWFyKTtcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudCgpO1xuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgIHRoaXMuc2V0RGlzYWJsZWRGaWx0ZXJlZFN0YXRlKHBhcmVudCk7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkU3RhdGUocGFyZW50KTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZXRTZWxlY3RlZFN0YXRlKHBhcmVudDogU2JiQ2FsZW5kYXJFbGVtZW50PFQ+KTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBwYXJlbnQubXVsdGlwbGVcbiAgICAgID8gKChwYXJlbnQuc2VsZWN0ZWQgYXMgRGF0ZVtdKT8uc29tZShcbiAgICAgICAgICAoZGF0ZTogRGF0ZSkgPT4gTnVtYmVyKHRoaXMudmFsdWUpID09PSB0aGlzLmRhdGVBZGFwdGVyLmdldFllYXIoZGF0ZSksXG4gICAgICAgICkgPz8gZmFsc2UpXG4gICAgICA6ICEhcGFyZW50LnNlbGVjdGVkICYmIHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0WWVhcihwYXJlbnQuc2VsZWN0ZWQpID09PSBOdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc2VsZWN0ZWQnLCBzZWxlY3RlZCk7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVByZXNzZWQgPSBTdHJpbmcoc2VsZWN0ZWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldERpc2FibGVkRmlsdGVyZWRTdGF0ZShwYXJlbnQ6IFNiYkNhbGVuZGFyRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGNvbnN0IGlzRmlsdGVyZWRPdXQgPSAhdGhpcy5faXNBY3RpdmVZZWFyKHBhcmVudCk7XG4gICAgY29uc3QgaXNPdXRPZlJhbmdlID0gIXRoaXMuX2lzWWVhckluUmFuZ2UocGFyZW50Lm1pbiwgcGFyZW50Lm1heCk7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRmlsdGVyZWRPdXQgfHwgaXNPdXRPZlJhbmdlO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFEaXNhYmxlZCA9IFN0cmluZyh0aGlzLmRpc2FibGVkKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjcm9zc2VkLW91dCcsIGlzRmlsdGVyZWRPdXQgJiYgIWlzT3V0T2ZSYW5nZSk7XG4gIH1cblxuICAvLyBJbXBsZW1lbnRhdGlvbiBhZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21haW4vc3JjL21hdGVyaWFsL2RhdGVwaWNrZXIvbXVsdGkteWVhci12aWV3LnRzI0wzNTFcbiAgcHJpdmF0ZSBfaXNBY3RpdmVZZWFyKHBhcmVudDogU2JiQ2FsZW5kYXJFbGVtZW50PFQ+KTogYm9vbGVhbiB7XG4gICAgaWYgKCFwYXJlbnQuZGF0ZUZpbHRlciB8fCAhdGhpcy52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RPZlllYXIgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoTnVtYmVyKHRoaXMudmFsdWUpLCAxLCAxKSE7XG4gICAgZm9yIChcbiAgICAgIGxldCBkYXRlID0gZmlyc3RPZlllYXI7XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmdldFllYXIoZGF0ZSkgPT0gTnVtYmVyKHRoaXMudmFsdWUpO1xuICAgICAgZGF0ZSA9IHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJEYXlzKGRhdGUsIDEpXG4gICAgKSB7XG4gICAgICBpZiAocGFyZW50LmRhdGVGaWx0ZXIoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNZZWFySW5SYW5nZShtaW46IFQgfCBudWxsLCBtYXg6IFQgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKCghbWluICYmICFtYXgpIHx8ICF0aGlzLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgaXNCZWZvcmVNaW46IGJvb2xlYW4gPVxuICAgICAgdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKG1pbikgJiYgdGhpcy5kYXRlQWRhcHRlci5nZXRZZWFyKG1pbikgPiBOdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgY29uc3QgaXNBZnRlck1heDogYm9vbGVhbiA9XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmlzVmFsaWQobWF4KSAmJiB0aGlzLmRhdGVBZGFwdGVyLmdldFllYXIobWF4KSA8IE51bWJlcih0aGlzLnZhbHVlKTtcbiAgICByZXR1cm4gIShpc0JlZm9yZU1pbiB8fCBpc0FmdGVyTWF4KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgJHt0aGlzLnZhbHVlfWA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYWxlbmRhci15ZWFyJzogU2JiQ2FsZW5kYXJZZWFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFVYSxnQ0FBc0I7bUJBQW1COzs7Y0FBekMsK0JBQXlDLFlBQTZCOzs7QUEyQnpFLFFBQUEsVUEzQkcsa0JBQUEsTUFBQSwyQkFBc0IsRUEyQkQ7Ozs7NEJBcEIvQixPQUFPLENBQUE7QUFDUixnQkFBQSxNQUFBLE1BQUEsdUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFXLFFBQUs7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxNQUFBLDJCQUFBOzs7Ozs7Ozs7QUFQZ0IsUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsc0JBQXNCOzs7OztFQU14RixJQUFXLE1BQU0sT0FBb0I7R0FDbkMsTUFBTSxPQUFPLE9BQU8sTUFBTTtBQUMxQixPQUFJLE1BQU0sS0FBSyxDQUNiO0FBR0YsUUFBSyxTQUFTO0dBQ2QsTUFBTSxVQUFVLEtBQUssWUFBWSxRQUFRLEtBQUssWUFBWSxPQUFPLENBQUMsS0FBSztBQUN2RSxRQUFLLFlBQVksV0FBVyxRQUFRO0FBQ3BDLFFBQUssVUFBVSxZQUFZLE9BQU8sS0FBSztHQUN2QyxNQUFNLFNBQVMsS0FBSyxXQUFXO0FBQy9CLE9BQUksUUFBUTtBQUNWLFNBQUsseUJBQXlCLE9BQU87QUFDckMsU0FBSyxpQkFBaUIsT0FBTzs7O0VBR2pDLElBQVcsUUFBSztBQUNkLFVBQU8sS0FBSzs7RUFJRSxvQkFBaUI7QUFDL0IsU0FBTSxtQkFBbUI7QUFDekIsUUFBSyxXQUFXOztFQUdDLGlCQUFpQixRQUE2QjtHQUMvRCxNQUFNLFdBQVcsT0FBTyxXQUNsQixPQUFPLFVBQXFCLE1BQzNCLFNBQWUsT0FBTyxLQUFLLE1BQU0sS0FBSyxLQUFLLFlBQVksUUFBUSxLQUFLLENBQ3RFLElBQUksUUFDTCxDQUFDLENBQUMsT0FBTyxZQUFZLEtBQUssWUFBWSxRQUFRLE9BQU8sU0FBUyxLQUFLLE9BQU8sS0FBSyxNQUFNO0FBQ3pGLFFBQUssWUFBWSxZQUFZLFNBQVM7QUFDdEMsUUFBSyxVQUFVLGNBQWMsT0FBTyxTQUFTOztFQUc1Qix5QkFBeUIsUUFBNkI7R0FDdkUsTUFBTSxnQkFBZ0IsQ0FBQyxLQUFLLGNBQWMsT0FBTztHQUNqRCxNQUFNLGVBQWUsQ0FBQyxLQUFLLGVBQWUsT0FBTyxLQUFLLE9BQU8sSUFBSTtBQUNqRSxRQUFLLFdBQVcsaUJBQWlCO0FBQ2pDLFFBQUssVUFBVSxlQUFlLE9BQU8sS0FBSyxTQUFTO0FBQ25ELFFBQUssWUFBWSxlQUFlLGlCQUFpQixDQUFDLGFBQWE7O0VBSXpELGNBQWMsUUFBNkI7QUFDakQsT0FBSSxDQUFDLE9BQU8sY0FBYyxDQUFDLEtBQUssTUFDOUIsUUFBTztHQUdULE1BQU0sY0FBYyxLQUFLLFlBQVksV0FBVyxPQUFPLEtBQUssTUFBTSxFQUFFLEdBQUcsRUFBRztBQUMxRSxRQUNFLElBQUksT0FBTyxhQUNYLEtBQUssWUFBWSxRQUFRLEtBQUssSUFBSSxPQUFPLEtBQUssTUFBTSxFQUNwRCxPQUFPLEtBQUssWUFBWSxnQkFBZ0IsTUFBTSxFQUFFLENBRWhELEtBQUksT0FBTyxXQUFXLEtBQUssQ0FDekIsUUFBTztBQUlYLFVBQU87O0VBR0QsZUFBZSxLQUFlLEtBQWE7QUFDakQsT0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFRLENBQUMsS0FBSyxNQUMxQixRQUFPO0dBRVQsTUFBTSxjQUNKLEtBQUssWUFBWSxRQUFRLElBQUksSUFBSSxLQUFLLFlBQVksUUFBUSxJQUFJLEdBQUcsT0FBTyxLQUFLLE1BQU07R0FDckYsTUFBTSxhQUNKLEtBQUssWUFBWSxRQUFRLElBQUksSUFBSSxLQUFLLFlBQVksUUFBUSxJQUFJLEdBQUcsT0FBTyxLQUFLLE1BQU07QUFDckYsVUFBTyxFQUFFLGVBQWU7O0VBR1AsaUJBQWM7QUFDL0IsVUFBTyxJQUFJLEdBQUcsS0FBSyJ9
@@ -0,0 +1,2 @@
1
+ export * from './calendar-year/calendar-year.component.ts';
2
+ //# sourceMappingURL=calendar-year.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-year.d.ts","sourceRoot":"","sources":["../../../../src/elements/calendar/calendar-year.ts"],"names":[],"mappings":"AAGA,cAAc,4CAA4C,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { SbbCalendarYearElement } from "./calendar-year/calendar-year.component.js";
2
+ //#region src/elements/calendar/calendar-year.ts
3
+ /** @entrypoint */
4
+ SbbCalendarYearElement.define();
5
+ console.warn(`The entrypoint '@sbb-esta/elements/calendar/calendar-year.js' has been deprecated.
6
+ Use either '@sbb-esta/elements/calendar.js' or '@sbb-esta/elements/calendar.pure.js' instead.`);
7
+ //#endregion
8
+ export { SbbCalendarYearElement };
9
+
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2FsZW5kYXIvY2FsZW5kYXIteWVhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7IFNiYkNhbGVuZGFyWWVhckVsZW1lbnQgfSBmcm9tICcuL2NhbGVuZGFyLXllYXIvY2FsZW5kYXIteWVhci5jb21wb25lbnQudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLXllYXIvY2FsZW5kYXIteWVhci5jb21wb25lbnQudHMnO1xuXG5TYmJDYWxlbmRhclllYXJFbGVtZW50LmRlZmluZSgpO1xuXG5jb25zb2xlLndhcm4oYFRoZSBlbnRyeXBvaW50ICdAc2JiLWVzdGEvZWxlbWVudHMvY2FsZW5kYXIvY2FsZW5kYXIteWVhci5qcycgaGFzIGJlZW4gZGVwcmVjYXRlZC5cblVzZSBlaXRoZXIgJ0BzYmItZXN0YS9lbGVtZW50cy9jYWxlbmRhci5qcycgb3IgJ0BzYmItZXN0YS9lbGVtZW50cy9jYWxlbmRhci5wdXJlLmpzJyBpbnN0ZWFkLmApO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFLQSx1QkFBdUIsUUFBUTtBQUUvQixRQUFRLEtBQUs7K0ZBQ2tGIn0=
@@ -1,4 +1,4 @@
1
- import { n as SbbMonthChangeEvent, t as SbbCalendarElement } from "../calendar.component-PHpgLc0z.js";
1
+ import { n as SbbMonthChangeEvent, t as SbbCalendarElement } from "../calendar.component-0Pl7qEXL.js";
2
2
  //#region src/elements/calendar/calendar.ts
3
3
  /** @entrypoint */
4
4
  SbbCalendarElement.define();
@@ -0,0 +1,24 @@
1
+ import { SbbButtonLikeBaseElement } from '../../core/base-elements/button-base-element.ts';
2
+ import { DateAdapter } from '../../core/datetime/date-adapter.ts';
3
+ import { FormRestoreReason, FormRestoreState } from '../../core/mixins/form-associated-mixin.ts';
4
+ import { SbbCalendarElement } from '../calendar/calendar.component.ts';
5
+ declare const SbbCalendarCellBaseElement_base: import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins/disabled-mixin.ts').SbbDisabledMixinType> & typeof SbbButtonLikeBaseElement;
6
+ export declare abstract class SbbCalendarCellBaseElement<T = Date> extends SbbCalendarCellBaseElement_base {
7
+ protected dateAdapter: DateAdapter;
8
+ constructor();
9
+ protected abstract setDisabledFilteredState(parent: SbbCalendarElement<T>): void;
10
+ protected abstract setSelectedState(parent: SbbCalendarElement<T>): void;
11
+ protected getParent(): SbbCalendarElement<T> | null;
12
+ /**
13
+ * Intentionally empty, as buttons are not targeted by form reset.
14
+ * @internal
15
+ */
16
+ formResetCallback(): void;
17
+ /**
18
+ * Intentionally empty, as buttons are not targeted by form restore.
19
+ * @internal
20
+ */
21
+ formStateRestoreCallback(_state: FormRestoreState | null, _reason: FormRestoreReason): void;
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=calendar-cell-base-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-cell-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/calendar/common/calendar-cell-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAG3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;;AAE5E,8BAAsB,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,+BAElE;IACC,SAAS,CAAC,WAAW,EAAE,WAAW,CAA4D;;IAc9F,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAChF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAExE,SAAS,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAMnD;;;OAGG;IACa,iBAAiB,IAAI,IAAI;IAEzC;;;OAGG;IACa,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAC/B,OAAO,EAAE,iBAAiB,GACzB,IAAI;CACR"}
@@ -0,0 +1,35 @@
1
+ import { readConfig } from "../../core/config/config.js";
2
+ import { defaultDateAdapter } from "../../core/datetime/native-date-adapter.js";
3
+ import { SbbButtonLikeBaseElement } from "../../core/base-elements/button-base-element.js";
4
+ import { SbbPropertyWatcherController } from "../../core/controllers/property-watcher-controller.js";
5
+ import { SbbDisabledMixin } from "../../core/mixins/disabled-mixin.js";
6
+ //#region src/elements/calendar/common/calendar-cell-base-element.ts
7
+ var SbbCalendarCellBaseElement = class extends SbbDisabledMixin(SbbButtonLikeBaseElement) {
8
+ constructor() {
9
+ super();
10
+ this.dateAdapter = readConfig().datetime?.dateAdapter ?? defaultDateAdapter;
11
+ this.addController(new SbbPropertyWatcherController(this, () => this.getParent(), {
12
+ dateFilter: (component) => this.setDisabledFilteredState(component),
13
+ min: (component) => this.setDisabledFilteredState(component),
14
+ max: (component) => this.setDisabledFilteredState(component),
15
+ selected: (component) => this.setSelectedState(component)
16
+ }));
17
+ }
18
+ getParent() {
19
+ return this.getRootNode?.()?.host?.closest("sbb-calendar");
20
+ }
21
+ /**
22
+ * Intentionally empty, as buttons are not targeted by form reset.
23
+ * @internal
24
+ */
25
+ formResetCallback() {}
26
+ /**
27
+ * Intentionally empty, as buttons are not targeted by form restore.
28
+ * @internal
29
+ */
30
+ formStateRestoreCallback(_state, _reason) {}
31
+ };
32
+ //#endregion
33
+ export { SbbCalendarCellBaseElement };
34
+
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2VsbC1iYXNlLWVsZW1lbnQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NhbGVuZGFyL2NvbW1vbi9jYWxlbmRhci1jZWxsLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMvYnV0dG9uLWJhc2UtZWxlbWVudC50cyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcvY29uZmlnLnRzJztcbmltcG9ydCB7IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzL3Byb3BlcnR5LXdhdGNoZXItY29udHJvbGxlci50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRldGltZS9kYXRlLWFkYXB0ZXIudHMnO1xuaW1wb3J0IHsgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRldGltZS9uYXRpdmUtZGF0ZS1hZGFwdGVyLnRzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy9kaXNhYmxlZC1taXhpbi50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIEZvcm1SZXN0b3JlUmVhc29uLFxuICBGb3JtUmVzdG9yZVN0YXRlLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy9mb3JtLWFzc29jaWF0ZWQtbWl4aW4udHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiQ2FsZW5kYXJDZWxsQmFzZUVsZW1lbnQ8VCA9IERhdGU+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiQnV0dG9uTGlrZUJhc2VFbGVtZW50LFxuKSB7XG4gIHByb3RlY3RlZCBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXIgPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmdldFBhcmVudCgpLCB7XG4gICAgICAgIGRhdGVGaWx0ZXI6IChjb21wb25lbnQpID0+IHRoaXMuc2V0RGlzYWJsZWRGaWx0ZXJlZFN0YXRlKGNvbXBvbmVudCksXG4gICAgICAgIG1pbjogKGNvbXBvbmVudCkgPT4gdGhpcy5zZXREaXNhYmxlZEZpbHRlcmVkU3RhdGUoY29tcG9uZW50KSxcbiAgICAgICAgbWF4OiAoY29tcG9uZW50KSA9PiB0aGlzLnNldERpc2FibGVkRmlsdGVyZWRTdGF0ZShjb21wb25lbnQpLFxuICAgICAgICBzZWxlY3RlZDogKGNvbXBvbmVudCkgPT4gdGhpcy5zZXRTZWxlY3RlZFN0YXRlKGNvbXBvbmVudCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldERpc2FibGVkRmlsdGVyZWRTdGF0ZShwYXJlbnQ6IFNiYkNhbGVuZGFyRWxlbWVudDxUPik6IHZvaWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRTZWxlY3RlZFN0YXRlKHBhcmVudDogU2JiQ2FsZW5kYXJFbGVtZW50PFQ+KTogdm9pZDtcblxuICBwcm90ZWN0ZWQgZ2V0UGFyZW50KCk6IFNiYkNhbGVuZGFyRWxlbWVudDxUPiB8IG51bGwge1xuICAgIHJldHVybiAodGhpcy5nZXRSb290Tm9kZT8uKCkgYXMgU2hhZG93Um9vdCk/Lmhvc3Q/LmNsb3Nlc3Q8U2JiQ2FsZW5kYXJFbGVtZW50PFQ+PihcbiAgICAgICdzYmItY2FsZW5kYXInLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSW50ZW50aW9uYWxseSBlbXB0eSwgYXMgYnV0dG9ucyBhcmUgbm90IHRhcmdldGVkIGJ5IGZvcm0gcmVzZXQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge31cblxuICAvKipcbiAgICogSW50ZW50aW9uYWxseSBlbXB0eSwgYXMgYnV0dG9ucyBhcmUgbm90IHRhcmdldGVkIGJ5IGZvcm0gcmVzdG9yZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIF9zdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICk6IHZvaWQge31cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBWUEsSUFBc0IsNkJBQXRCLGNBQW1FLGlCQUNqRSx5QkFDRCxDQUFBO0NBR0MsY0FBQTtBQUNFLFNBQU87QUFIQyxPQUFBLGNBQTJCLFlBQVksQ0FBQyxVQUFVLGVBQWU7QUFJekUsT0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxXQUFXLEVBQUU7R0FDN0QsYUFBYSxjQUFjLEtBQUsseUJBQXlCLFVBQVU7R0FDbkUsTUFBTSxjQUFjLEtBQUsseUJBQXlCLFVBQVU7R0FDNUQsTUFBTSxjQUFjLEtBQUsseUJBQXlCLFVBQVU7R0FDNUQsV0FBVyxjQUFjLEtBQUssaUJBQWlCLFVBQUE7R0FDaEQsQ0FBQyxDQUNIOztDQU1PLFlBQVM7QUFDakIsU0FBUSxLQUFLLGVBQThCLEVBQUUsTUFBTSxRQUNqRCxlQUNEOzs7Ozs7Q0FPYSxvQkFBaUI7Ozs7O0NBTWpCLHlCQUNkLFFBQ0EsU0FBMEIifQ==
@@ -0,0 +1,3 @@
1
+ /** @entrypoint */
2
+ export * from './common/calendar-cell-base-element.ts';
3
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/elements/calendar/common.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,cAAc,wCAAwC,CAAC;AAEvD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,qDAAqD,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { SbbCalendarCellBaseElement } from "./common/calendar-cell-base-element.js";
2
+ import { css } from "lit";
3
+ //#region src/elements/calendar/common/calendar-cell-base-element.scss?lit&inline
4
+ var calendar_cell_base_element_default = css`:host {
5
+ display: block;
6
+ --sbb-calendar-cell-transition-duration: var(
7
+ --sbb-disable-animation-duration,
8
+ var(--sbb-animation-duration-2x)
9
+ );
10
+ --sbb-calendar-cell-border-radius: calc(
11
+ var(--sbb-border-radius-4x) + var(--sbb-calendar-cell-border-width)
12
+ );
13
+ }
14
+ @media (forced-colors: active) {
15
+ :host {
16
+ --sbb-calendar-cell-border: transparent;
17
+ }
18
+ }
19
+
20
+ :host(:is(:state(current),[state--current])) {
21
+ --sbb-calendar-cell-font-weight: bold;
22
+ }
23
+
24
+ :host(:is(:state(selected),[state--selected])) {
25
+ --sbb-calendar-cell-border: var(--sbb-calendar-cell-border-width) solid var(--sbb-border-color-2);
26
+ }
27
+
28
+ :host(:disabled) {
29
+ --sbb-calendar-cell-color: var(--sbb-calendar-cell-disabled-color);
30
+ --sbb-calendar-cell-cursor: unset;
31
+ }
32
+
33
+ :host(:focus-visible) {
34
+ outline: 0;
35
+ }
36
+
37
+ :host(:not(:disabled):active) {
38
+ --sbb-calendar-cell-background-color: var(--sbb-calendar-cell-background-color-active);
39
+ }
40
+
41
+ .sbb-action-base {
42
+ display: inline-flex;
43
+ justify-content: center;
44
+ align-items: center;
45
+ position: relative;
46
+ font-size: var(--sbb-calendar-cell-font-size);
47
+ font-weight: var(--sbb-calendar-cell-font-weight);
48
+ letter-spacing: var(--sbb-typo-letter-spacing-text);
49
+ cursor: var(--sbb-calendar-cell-cursor);
50
+ color: var(--sbb-calendar-cell-color);
51
+ border-radius: var(--sbb-calendar-cell-border-radius);
52
+ }
53
+ :host(:focus-visible) .sbb-action-base {
54
+ outline-offset: var(--sbb-focus-outline-offset);
55
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
56
+ --sbb-focus-outline-offset: 0.0625rem;
57
+ }
58
+ .sbb-action-base::before {
59
+ content: "";
60
+ position: absolute;
61
+ background-color: var(--sbb-calendar-cell-background-color);
62
+ inset: var(--sbb-calendar-cell-inset);
63
+ border: var(--sbb-calendar-cell-border);
64
+ border-radius: var(--sbb-calendar-cell-border-radius);
65
+ transition-duration: var(--sbb-calendar-cell-transition-duration);
66
+ transition-timing-function: var(--sbb-calendar-cell-transition-easing-function);
67
+ transition-property: background-color;
68
+ z-index: -1;
69
+ }
70
+ @media (forced-colors: active) {
71
+ :host(:not(:disabled):active) .sbb-action-base::before {
72
+ outline-offset: var(--sbb-focus-outline-offset);
73
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
74
+ --sbb-focus-outline-style: initial;
75
+ }
76
+ }
77
+ @media (any-hover: hover) {
78
+ :host(:not(:active, :disabled):hover) .sbb-action-base {
79
+ --sbb-calendar-cell-background-color: var(--sbb-calendar-cell-background-color-hover);
80
+ }
81
+ }
82
+ @media (any-hover: hover) and (forced-colors: active) {
83
+ :host(:not(:active, :disabled):hover) .sbb-action-base::before {
84
+ outline-offset: var(--sbb-focus-outline-offset);
85
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
86
+ --sbb-focus-outline-offset: 0.0625rem;
87
+ --sbb-focus-outline-style: initial;
88
+ }
89
+ }
90
+
91
+ .sbb-calendar-year,
92
+ .sbb-calendar-month {
93
+ height: var(--sbb-calendar-cell-year-month-height);
94
+ width: var(--sbb-calendar-cell-year-month-width);
95
+ padding-block-end: var(--sbb-calendar-cell-padding);
96
+ }
97
+ :host(:is(:state(crossed-out),[state--crossed-out])) .sbb-calendar-year::after,
98
+ :host(:is(:state(crossed-out),[state--crossed-out])) .sbb-calendar-month::after {
99
+ content: "";
100
+ height: var(--sbb-calendar-cell-disabled-height);
101
+ width: var(--sbb-calendar-cell-disabled-width);
102
+ position: absolute;
103
+ background-color: var(--sbb-calendar-cell-disabled-color);
104
+ top: 50%;
105
+ left: 50%;
106
+ transform: translate(-50%, -50%) rotate(-45deg);
107
+ }
108
+
109
+ .sbb-calendar-weekday,
110
+ .sbb-calendar-weeknumber {
111
+ --sbb-calendar-cell-font-size: var(--sbb-text-font-size-xs);
112
+ --sbb-calendar-cell-font-weight: normal;
113
+ height: var(--sbb-calendar-day-width);
114
+ width: var(--sbb-calendar-day-width);
115
+ color: var(--sbb-calendar-header-color);
116
+ }`;
117
+ //#endregion
118
+ export { SbbCalendarCellBaseElement, calendar_cell_base_element_default as calendarCellBaseStyle };
119
+
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYWxlbmRhci9jb21tb24vY2FsZW5kYXItY2VsbC1iYXNlLWVsZW1lbnQuc2Nzcz9saXQmaW5saW5lIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLS1zYmItY2FsZW5kYXItY2VsbC10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcbiAgLS1zYmItY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzOiBjYWxjKFxuICAgIHZhcigtLXNiYi1ib3JkZXItcmFkaXVzLTR4KSArIHZhcigtLXNiYi1jYWxlbmRhci1jZWxsLWJvcmRlci13aWR0aClcbiAgKTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItY2FsZW5kYXItY2VsbC1ib3JkZXI6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShjdXJyZW50KSkge1xuICAtLXNiYi1jYWxlbmRhci1jZWxsLWZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG46aG9zdCg6c3RhdGUoc2VsZWN0ZWQpKSB7XG4gIC0tc2JiLWNhbGVuZGFyLWNlbGwtYm9yZGVyOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1ib3JkZXItY29sb3ItMik7XG59XG5cbjpob3N0KDpkaXNhYmxlZCkge1xuICAtLXNiYi1jYWxlbmRhci1jZWxsLWNvbG9yOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1kaXNhYmxlZC1jb2xvcik7XG4gIC0tc2JiLWNhbGVuZGFyLWNlbGwtY3Vyc29yOiB1bnNldDtcbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuOmhvc3QoOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSkge1xuICAtLXNiYi1jYWxlbmRhci1jZWxsLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1jYWxlbmRhci1jZWxsLWJhY2tncm91bmQtY29sb3ItYWN0aXZlKTtcbn1cblxuLnNiYi1hY3Rpb24tYmFzZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1jYWxlbmRhci1jZWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1mb250LXdlaWdodCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1jdXJzb3IpO1xuICBjb2xvcjogdmFyKC0tc2JiLWNhbGVuZGFyLWNlbGwtY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzKTtcblxuICA6aG9zdCg6Zm9jdXMtdmlzaWJsZSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgICAtLXNiYi1mb2N1cy1vdXRsaW5lLW9mZnNldDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEpfTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1jYWxlbmRhci1jZWxsLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGluc2V0OiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1pbnNldCk7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYWxlbmRhci1jZWxsLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1jYWxlbmRhci1jZWxsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC10cmFuc2l0aW9uLWVhc2luZy1mdW5jdGlvbik7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcjtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIDpob3N0KDpub3QoOmRpc2FibGVkKTphY3RpdmUpICYge1xuICAgICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcblxuICAgICAgICAvLyBCYXNpY2FsbHkgdGhlIGZvY3VzLW91dGxpbmUgbWl4aW4gaXMgbWFkZSBmb3IgdXNlIHdpdGggZm9jdXMtdmlzaWJsZS5cbiAgICAgICAgLy8gQXMgd2UgdXNlIGl0IGhlcmUgd2l0aCA6YWN0aXZlLCB3ZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRsaW5lIGlzIG5vdCBvdmVycmlkZGVuIHdoZW4gbW91c2Ugb3IgdG91Y2ggaXMgaW4gdXNlLlxuICAgICAgICAtLXNiYi1mb2N1cy1vdXRsaW5lLXN0eWxlOiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpub3QoOmFjdGl2ZSwgOmRpc2FibGVkKTpob3ZlcikgJiB7XG4gICAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgICAgLS1zYmItY2FsZW5kYXItY2VsbC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgICAgICAgLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX07XG5cbiAgICAgICAgICAvLyBCYXNpY2FsbHkgdGhlIGZvY3VzLW91dGxpbmUgbWl4aW4gaXMgbWFkZSBmb3IgdXNlIHdpdGggZm9jdXMtdmlzaWJsZS5cbiAgICAgICAgICAvLyBBcyB3ZSB1c2UgaXQgaGVyZSB3aXRoIGhvdmVyLCB3ZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRsaW5lIGlzIG5vdCBvdmVycmlkZGVuIHdoZW4gbW91c2Ugb3IgdG91Y2ggaXMgaW4gdXNlLlxuICAgICAgICAgIC0tc2JiLWZvY3VzLW91dGxpbmUtc3R5bGU6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNiYi1jYWxlbmRhci15ZWFyLFxuLnNiYi1jYWxlbmRhci1tb250aCB7XG4gIGhlaWdodDogdmFyKC0tc2JiLWNhbGVuZGFyLWNlbGwteWVhci1tb250aC1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0tc2JiLWNhbGVuZGFyLWNlbGwteWVhci1tb250aC13aWR0aCk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1wYWRkaW5nKTtcblxuICA6aG9zdCg6c3RhdGUoY3Jvc3NlZC1vdXQpKSAmIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogdmFyKC0tc2JiLWNhbGVuZGFyLWNlbGwtZGlzYWJsZWQtaGVpZ2h0KTtcbiAgICAgIHdpZHRoOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1kaXNhYmxlZC13aWR0aCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1kaXNhYmxlZC1jb2xvcik7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLWNhbGVuZGFyLXdlZWtkYXksXG4uc2JiLWNhbGVuZGFyLXdlZWtudW1iZXIge1xuICAtLXNiYi1jYWxlbmRhci1jZWxsLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1zYmItY2FsZW5kYXItY2VsbC1mb250LXdlaWdodDogbm9ybWFsO1xuXG4gIGhlaWdodDogdmFyKC0tc2JiLWNhbGVuZGFyLWRheS13aWR0aCk7XG4gIHdpZHRoOiB2YXIoLS1zYmItY2FsZW5kYXItZGF5LXdpZHRoKTtcbiAgY29sb3I6IHZhcigtLXNiYi1jYWxlbmRhci1oZWFkZXItY29sb3IpO1xufVxuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,178 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { css, html } from "lit";
3
+ import { property, state } from "lit/decorators.js";
4
+ import { boxSizingStyles } from "./core/styles.js";
5
+ import { SbbCalendarCellBaseElement, calendarCellBaseStyle } from "./calendar/common.js";
6
+ //#region src/elements/calendar/calendar-day/calendar-day.scss?lit&inline
7
+ var calendar_day_default = css`:host {
8
+ --sbb-calendar-day-value-height: var(--sbb-spacing-fixed-6x);
9
+ }
10
+
11
+ .sbb-calendar-day {
12
+ flex-direction: column;
13
+ justify-content: var(--sbb-calendar-cell-justify-content);
14
+ height: var(--sbb-calendar-day-height);
15
+ width: var(--sbb-calendar-day-width);
16
+ padding: var(--sbb-calendar-cell-padding);
17
+ }
18
+
19
+ .sbb-calendar-day__value {
20
+ height: var(--sbb-calendar-day-value-height);
21
+ }
22
+ :host(:is(:state(crossed-out),[state--crossed-out])) .sbb-calendar-day__value::after {
23
+ content: "";
24
+ height: var(--sbb-calendar-cell-disabled-height);
25
+ width: var(--sbb-calendar-cell-disabled-width);
26
+ position: absolute;
27
+ background-color: var(--sbb-calendar-cell-disabled-color);
28
+ inset-block-start: var(--sbb-calendar-day-crossed-out-top);
29
+ inset-inline-start: 50%;
30
+ transform: var(--sbb-calendar-day-crossed-out-translate);
31
+ }
32
+
33
+ .sbb-calendar-day__extra {
34
+ display: var(--sbb-calendar-day-extra-display);
35
+ height: var(--sbb-calendar-day-extra-height);
36
+ padding: var(--sbb-calendar-cell-padding);
37
+ }
38
+
39
+ ::slotted(*) {
40
+ height: var(--sbb-calendar-day-extra-height);
41
+ }`;
42
+ //#endregion
43
+ //#region src/elements/calendar/calendar-day/calendar-day.component.ts
44
+ /**
45
+ * It displays a single day cell in the `sbb-calendar` component.
46
+ *
47
+ * @slot - Use the unnamed slot to add some custom content to the day.
48
+ */
49
+ var SbbCalendarDayElement = (() => {
50
+ let _classSuper = SbbCalendarCellBaseElement;
51
+ let _instanceExtraInitializers = [];
52
+ let _set_slot_decorators;
53
+ let _set_value_decorators;
54
+ return class SbbCalendarDayElement extends _classSuper {
55
+ constructor() {
56
+ super(...arguments);
57
+ this._value = (__runInitializers(this, _instanceExtraInitializers), null);
58
+ }
59
+ static {
60
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
61
+ _set_slot_decorators = [property()];
62
+ _set_value_decorators = [state()];
63
+ __esDecorate(this, null, _set_slot_decorators, {
64
+ kind: "setter",
65
+ name: "slot",
66
+ static: false,
67
+ private: false,
68
+ access: {
69
+ has: (obj) => "slot" in obj,
70
+ set: (obj, value) => {
71
+ obj.slot = value;
72
+ }
73
+ },
74
+ metadata: _metadata
75
+ }, null, _instanceExtraInitializers);
76
+ __esDecorate(this, null, _set_value_decorators, {
77
+ kind: "setter",
78
+ name: "value",
79
+ static: false,
80
+ private: false,
81
+ access: {
82
+ has: (obj) => "value" in obj,
83
+ set: (obj, value) => {
84
+ obj.value = value;
85
+ }
86
+ },
87
+ metadata: _metadata
88
+ }, null, _instanceExtraInitializers);
89
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
90
+ enumerable: true,
91
+ configurable: true,
92
+ writable: true,
93
+ value: _metadata
94
+ });
95
+ }
96
+ static {
97
+ this.elementName = "sbb-calendar-day";
98
+ }
99
+ static {
100
+ this.styles = [
101
+ boxSizingStyles,
102
+ calendarCellBaseStyle,
103
+ calendar_day_default
104
+ ];
105
+ }
106
+ set slot(value) {
107
+ super.slot = value;
108
+ this.value = this.dateAdapter.deserialize(value);
109
+ }
110
+ get slot() {
111
+ return super.slot;
112
+ }
113
+ /** Value of the calendar-day element. */
114
+ set value(value) {
115
+ const date = this.dateAdapter.getValidDateOrNull(this.dateAdapter.deserialize(value));
116
+ if (date) {
117
+ this._value = date;
118
+ const isToday = this.dateAdapter.sameDate(date, this.dateAdapter.today());
119
+ this.toggleState("current", isToday);
120
+ this.internals.ariaCurrent = isToday ? "date" : null;
121
+ this.internals.ariaLabel = this.dateAdapter.getAccessibilityFormatDate(date);
122
+ const parent = this.getParent();
123
+ if (parent) {
124
+ this.setDisabledFilteredState(parent);
125
+ this.setSelectedState(parent);
126
+ }
127
+ }
128
+ }
129
+ get value() {
130
+ return this._value;
131
+ }
132
+ connectedCallback() {
133
+ super.connectedCallback();
134
+ this.tabIndex = -1;
135
+ }
136
+ /**
137
+ * The component is used as the default day cell within the `sbb-calendar`,
138
+ * or, if extra content is needed, it can be slotted.
139
+ */
140
+ getParent() {
141
+ return this.closest?.("sbb-calendar") ?? this.getRootNode?.()?.host?.closest("sbb-calendar");
142
+ }
143
+ setSelectedState(parent) {
144
+ const selected = parent.multiple ? parent.selected.some((selDay) => this.dateAdapter.sameDate(this.value, selDay)) : !!parent.selected && this.dateAdapter.compareDate(this.value, parent.selected) === 0;
145
+ this.toggleState("selected", selected);
146
+ this.internals.ariaPressed = String(selected);
147
+ }
148
+ setDisabledFilteredState(parent) {
149
+ const isFilteredOut = !this._isActiveDate(parent.dateFilter);
150
+ const isOutOfRange = !this._isDayInRange(parent.min, parent.max);
151
+ this.disabled = isFilteredOut || isOutOfRange;
152
+ this.internals.ariaDisabled = String(this.disabled);
153
+ this.toggleState("crossed-out", isFilteredOut && !isOutOfRange);
154
+ }
155
+ _isActiveDate(dateFilter) {
156
+ return dateFilter?.(this.value) ?? true;
157
+ }
158
+ _isDayInRange(min, max) {
159
+ if (!min && !max) return true;
160
+ return this.dateAdapter.sameDate(this.value, this.dateAdapter.clampDate(this.value, min, max));
161
+ }
162
+ _handleSlotchange(e) {
163
+ this.internals.ariaDescribedByElements = e.target.assignedElements();
164
+ }
165
+ renderTemplate() {
166
+ return html` <span class="sbb-calendar-day__value" aria-hidden="true">
167
+ ${this.dateAdapter.getDate(this.value)}
168
+ </span>
169
+ <span class="sbb-calendar-day__extra">
170
+ <slot @slotchange=${(event) => this._handleSlotchange(event)}></slot>
171
+ </span>`;
172
+ }
173
+ };
174
+ })();
175
+ //#endregion
176
+ export { SbbCalendarDayElement as t };
177
+
178
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmNvbXBvbmVudC1CcnowV3lhaS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2FsZW5kYXIvY2FsZW5kYXItZGF5L2NhbGVuZGFyLWRheS5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2FsZW5kYXIvY2FsZW5kYXItZGF5L2NhbGVuZGFyLWRheS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1jYWxlbmRhci1kYXktdmFsdWUtaGVpZ2h0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC02eCk7XG59XG5cbi5zYmItY2FsZW5kYXItZGF5IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1qdXN0aWZ5LWNvbnRlbnQpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1jYWxlbmRhci1kYXktaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLXNiYi1jYWxlbmRhci1kYXktd2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1wYWRkaW5nKTtcbn1cblxuLnNiYi1jYWxlbmRhci1kYXlfX3ZhbHVlIHtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItY2FsZW5kYXItZGF5LXZhbHVlLWhlaWdodCk7XG5cbiAgOmhvc3QoOnN0YXRlKGNyb3NzZWQtb3V0KSkgJiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNiYi1jYWxlbmRhci1jZWxsLWRpc2FibGVkLWhlaWdodCk7XG4gICAgICB3aWR0aDogdmFyKC0tc2JiLWNhbGVuZGFyLWNlbGwtZGlzYWJsZWQtd2lkdGgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWNhbGVuZGFyLWNlbGwtZGlzYWJsZWQtY29sb3IpO1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1jYWxlbmRhci1kYXktY3Jvc3NlZC1vdXQtdG9wKTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS1zYmItY2FsZW5kYXItZGF5LWNyb3NzZWQtb3V0LXRyYW5zbGF0ZSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItY2FsZW5kYXItZGF5X19leHRyYSB7XG4gIGRpc3BsYXk6IHZhcigtLXNiYi1jYWxlbmRhci1kYXktZXh0cmEtZGlzcGxheSk7XG4gIGhlaWdodDogdmFyKC0tc2JiLWNhbGVuZGFyLWRheS1leHRyYS1oZWlnaHQpO1xuICBwYWRkaW5nOiB2YXIoLS1zYmItY2FsZW5kYXItY2VsbC1wYWRkaW5nKTtcbn1cblxuOjpzbG90dGVkKCopIHtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItY2FsZW5kYXItZGF5LWV4dHJhLWhlaWdodCk7XG59XG4iLCJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgU2JiQ2FsZW5kYXJDZWxsQmFzZUVsZW1lbnQsIGNhbGVuZGFyQ2VsbEJhc2VTdHlsZSB9IGZyb20gJy4uL2NvbW1vbi50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NhbGVuZGFyLWRheS5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgc2luZ2xlIGRheSBjZWxsIGluIHRoZSBgc2JiLWNhbGVuZGFyYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgc29tZSBjdXN0b20gY29udGVudCB0byB0aGUgZGF5LlxuICovXG5leHBvcnQgY2xhc3MgU2JiQ2FsZW5kYXJEYXlFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYkNhbGVuZGFyQ2VsbEJhc2VFbGVtZW50PFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jYWxlbmRhci1kYXknO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBjYWxlbmRhckNlbGxCYXNlU3R5bGUsIHN0eWxlXTtcblxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHNsb3QodmFsdWU6IHN0cmluZykge1xuICAgIHN1cGVyLnNsb3QgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBzbG90KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnNsb3Q7XG4gIH1cblxuICAvKiogVmFsdWUgb2YgdGhlIGNhbGVuZGFyLWRheSBlbGVtZW50LiAqL1xuICBAc3RhdGUoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLmRhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLmRhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gZGF0ZTtcbiAgICAgIGNvbnN0IGlzVG9kYXkgPSB0aGlzLmRhdGVBZGFwdGVyLnNhbWVEYXRlKGRhdGUsIHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSk7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjdXJyZW50JywgaXNUb2RheSk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhQ3VycmVudCA9IGlzVG9kYXkgPyAnZGF0ZScgOiBudWxsO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5kYXRlQWRhcHRlci5nZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlKTtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZ2V0UGFyZW50KCk7XG4gICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZWRGaWx0ZXJlZFN0YXRlKHBhcmVudCk7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRTdGF0ZShwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnRhYkluZGV4ID0gLTE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvbXBvbmVudCBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0IGRheSBjZWxsIHdpdGhpbiB0aGUgYHNiYi1jYWxlbmRhcmAsXG4gICAqIG9yLCBpZiBleHRyYSBjb250ZW50IGlzIG5lZWRlZCwgaXQgY2FuIGJlIHNsb3R0ZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0UGFyZW50KCk6IFNiYkNhbGVuZGFyRWxlbWVudDxUPiB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNsb3Nlc3Q/LjxTYmJDYWxlbmRhckVsZW1lbnQ8VD4+KCdzYmItY2FsZW5kYXInKSA/P1xuICAgICAgKHRoaXMuZ2V0Um9vdE5vZGU/LigpIGFzIFNoYWRvd1Jvb3QpPy5ob3N0Py5jbG9zZXN0PFNiYkNhbGVuZGFyRWxlbWVudDxUPj4oJ3NiYi1jYWxlbmRhcicpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRTZWxlY3RlZFN0YXRlKHBhcmVudDogU2JiQ2FsZW5kYXJFbGVtZW50PFQ+KTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBwYXJlbnQubXVsdGlwbGVcbiAgICAgID8gKHBhcmVudC5zZWxlY3RlZCBhcyBEYXRlW10pLnNvbWUoKHNlbERheSkgPT4gdGhpcy5kYXRlQWRhcHRlci5zYW1lRGF0ZSh0aGlzLnZhbHVlLCBzZWxEYXkpKVxuICAgICAgOiAhIXBhcmVudC5zZWxlY3RlZCAmJiB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMudmFsdWUsIHBhcmVudC5zZWxlY3RlZCkgPT09IDA7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc2VsZWN0ZWQnLCBzZWxlY3RlZCk7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVByZXNzZWQgPSBTdHJpbmcoc2VsZWN0ZWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldERpc2FibGVkRmlsdGVyZWRTdGF0ZShwYXJlbnQ6IFNiYkNhbGVuZGFyRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGNvbnN0IGlzRmlsdGVyZWRPdXQgPSAhdGhpcy5faXNBY3RpdmVEYXRlKHBhcmVudC5kYXRlRmlsdGVyKTtcbiAgICBjb25zdCBpc091dE9mUmFuZ2UgPSAhdGhpcy5faXNEYXlJblJhbmdlKHBhcmVudC5taW4sIHBhcmVudC5tYXgpO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0ZpbHRlcmVkT3V0IHx8IGlzT3V0T2ZSYW5nZTtcbiAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSBTdHJpbmcodGhpcy5kaXNhYmxlZCk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnY3Jvc3NlZC1vdXQnLCBpc0ZpbHRlcmVkT3V0ICYmICFpc091dE9mUmFuZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNBY3RpdmVEYXRlKGRhdGVGaWx0ZXI6ICgoZGF0ZTogVCB8IG51bGwpID0+IGJvb2xlYW4pIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRlRmlsdGVyPy4odGhpcy52YWx1ZSkgPz8gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRGF5SW5SYW5nZShtaW46IFQgfCBudWxsLCBtYXg6IFQgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKCFtaW4gJiYgIW1heCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmRhdGVBZGFwdGVyLnNhbWVEYXRlKHRoaXMudmFsdWUsIHRoaXMuZGF0ZUFkYXB0ZXIuY2xhbXBEYXRlKHRoaXMudmFsdWUsIG1pbiwgbWF4KSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSAoZS50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZEVsZW1lbnRzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYCA8c3BhbiBjbGFzcz1cInNiYi1jYWxlbmRhci1kYXlfX3ZhbHVlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICR7dGhpcy5kYXRlQWRhcHRlci5nZXREYXRlKHRoaXMudmFsdWUpfVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2FsZW5kYXItZGF5X19leHRyYVwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2hhbmRsZVNsb3RjaGFuZ2UoZXZlbnQpfT48L3Nsb3Q+XG4gICAgICA8L3NwYW4+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNhbGVuZGFyLWRheSc6IFNiYkNhbGVuZGFyRGF5RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNlYSwrQkFBcUI7bUJBQW1COzs7O2NBQXhDLDhCQUF3QyxZQUE2Qjs7O0FBaUN4RSxRQUFBLFVBakNHLGtCQUFBLE1BQUEsMkJBQXFCLEVBaUNMOzs7OzJCQTdCMUIsVUFBVSxDQUFBOzRCQVVWLE9BQU8sQ0FBQTtBQVRSLGdCQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQW9CLE9BQUk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxNQUFBLDJCQUFBO0FBVXhCLGdCQUFBLE1BQUEsTUFBQSx1QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVcsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLE1BQUEsMkJBQUE7Ozs7Ozs7OztBQWRnQixRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QjtJQUFDO0lBQWlCO0lBQXVCO0lBQU07O0VBRy9GLElBQW9CLEtBQUssT0FBYTtBQUNwQyxTQUFNLE9BQU87QUFDYixRQUFLLFFBQVEsS0FBSyxZQUFZLFlBQVksTUFBTTs7RUFFbEQsSUFBb0IsT0FBSTtBQUN0QixVQUFPLE1BQU07OztFQUtmLElBQVcsTUFBTSxPQUFlO0dBQzlCLE1BQU0sT0FBTyxLQUFLLFlBQVksbUJBQW1CLEtBQUssWUFBWSxZQUFZLE1BQU0sQ0FBQztBQUNyRixPQUFJLE1BQU07QUFDUixTQUFLLFNBQVM7SUFDZCxNQUFNLFVBQVUsS0FBSyxZQUFZLFNBQVMsTUFBTSxLQUFLLFlBQVksT0FBTyxDQUFDO0FBQ3pFLFNBQUssWUFBWSxXQUFXLFFBQVE7QUFDcEMsU0FBSyxVQUFVLGNBQWMsVUFBVSxTQUFTO0FBQ2hELFNBQUssVUFBVSxZQUFZLEtBQUssWUFBWSwyQkFBMkIsS0FBSztJQUM1RSxNQUFNLFNBQVMsS0FBSyxXQUFXO0FBQy9CLFFBQUksUUFBUTtBQUNWLFVBQUsseUJBQXlCLE9BQU87QUFDckMsVUFBSyxpQkFBaUIsT0FBTzs7OztFQUluQyxJQUFXLFFBQUs7QUFDZCxVQUFPLEtBQUs7O0VBSUUsb0JBQWlCO0FBQy9CLFNBQU0sbUJBQW1CO0FBQ3pCLFFBQUssV0FBVzs7Ozs7O0VBT0MsWUFBUztBQUMxQixVQUNFLEtBQUssVUFBaUMsZUFBZSxJQUNwRCxLQUFLLGVBQThCLEVBQUUsTUFBTSxRQUErQixlQUFlOztFQUlwRixpQkFBaUIsUUFBNkI7R0FDdEQsTUFBTSxXQUFXLE9BQU8sV0FDbkIsT0FBTyxTQUFvQixNQUFNLFdBQVcsS0FBSyxZQUFZLFNBQVMsS0FBSyxPQUFPLE9BQU8sQ0FBQyxHQUMzRixDQUFDLENBQUMsT0FBTyxZQUFZLEtBQUssWUFBWSxZQUFZLEtBQUssT0FBTyxPQUFPLFNBQVMsS0FBSztBQUN2RixRQUFLLFlBQVksWUFBWSxTQUFTO0FBQ3RDLFFBQUssVUFBVSxjQUFjLE9BQU8sU0FBUzs7RUFHckMseUJBQXlCLFFBQTZCO0dBQzlELE1BQU0sZ0JBQWdCLENBQUMsS0FBSyxjQUFjLE9BQU8sV0FBVztHQUM1RCxNQUFNLGVBQWUsQ0FBQyxLQUFLLGNBQWMsT0FBTyxLQUFLLE9BQU8sSUFBSTtBQUNoRSxRQUFLLFdBQVcsaUJBQWlCO0FBQ2pDLFFBQUssVUFBVSxlQUFlLE9BQU8sS0FBSyxTQUFTO0FBQ25ELFFBQUssWUFBWSxlQUFlLGlCQUFpQixDQUFDLGFBQWE7O0VBR3pELGNBQWMsWUFBZ0Q7QUFDcEUsVUFBTyxhQUFhLEtBQUssTUFBTSxJQUFJOztFQUc3QixjQUFjLEtBQWUsS0FBYTtBQUNoRCxPQUFJLENBQUMsT0FBTyxDQUFDLElBQ1gsUUFBTztBQUVULFVBQU8sS0FBSyxZQUFZLFNBQVMsS0FBSyxPQUFPLEtBQUssWUFBWSxVQUFVLEtBQUssT0FBTyxLQUFLLElBQUksQ0FBQzs7RUFHeEYsa0JBQWtCLEdBQVE7QUFDaEMsUUFBSyxVQUFVLDBCQUEyQixFQUFFLE9BQTJCLGtCQUFrQjs7RUFHeEUsaUJBQWM7QUFDL0IsVUFBTyxJQUFJO1VBQ0wsS0FBSyxZQUFZLFFBQVEsS0FBSyxNQUFNLENBQUE7Ozs2QkFHakIsVUFBaUIsS0FBSyxrQkFBa0IsTUFBTSxDQUFBIn0=