@sbb-esta/lyne-elements 3.9.0 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
- package/calendar/calendar.component.d.ts +2 -1
- package/calendar/calendar.component.d.ts.map +1 -1
- package/calendar/calendar.component.js +211 -225
- package/carousel/carousel/carousel.component.d.ts.map +1 -1
- package/carousel/carousel/carousel.component.js +5 -5
- package/core/controllers/escapable-overlay-controller.d.ts +3 -0
- package/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
- package/core/controllers/overlay-position-controller.d.ts +60 -0
- package/core/controllers/overlay-position-controller.d.ts.map +1 -0
- package/core/controllers/overlay-position-controller.js +224 -0
- package/core/controllers.d.ts +1 -0
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +12 -10
- package/core/styles/core.scss +27 -2
- package/core.css +21 -2
- package/custom-elements.json +2238 -769
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +7 -1
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -1
- package/development/calendar/calendar.component.d.ts +2 -1
- package/development/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar.component.js +20 -36
- package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
- package/development/carousel/carousel/carousel.component.js +2 -2
- package/development/core/controllers/escapable-overlay-controller.d.ts +3 -0
- package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
- package/development/core/controllers/escapable-overlay-controller.js +1 -1
- package/development/core/controllers/overlay-position-controller.d.ts +60 -0
- package/development/core/controllers/overlay-position-controller.d.ts.map +1 -0
- package/development/core/controllers/overlay-position-controller.js +306 -0
- package/development/core/controllers.d.ts +1 -0
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +3 -1
- package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +35 -0
- package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar/mini-calendar.component.js +201 -0
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +23 -0
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +181 -0
- package/development/mini-calendar/mini-calendar-day.d.ts +5 -0
- package/development/mini-calendar/mini-calendar-day.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar-day.js +5 -0
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +25 -0
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +123 -0
- package/development/mini-calendar/mini-calendar-month.d.ts +5 -0
- package/development/mini-calendar/mini-calendar-month.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar-month.js +5 -0
- package/development/mini-calendar/mini-calendar.d.ts +5 -0
- package/development/mini-calendar/mini-calendar.d.ts.map +1 -0
- package/development/mini-calendar/mini-calendar.js +5 -0
- package/development/mini-calendar.d.ts +7 -0
- package/development/mini-calendar.d.ts.map +1 -0
- package/development/mini-calendar.js +9 -0
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +14 -3
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +4 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +5 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +4 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +5 -1
- package/development/tabs/tab/tab.component.d.ts +9 -0
- package/development/tabs/tab/tab.component.d.ts.map +1 -1
- package/development/tabs/tab/tab.component.js +48 -7
- package/development/tabs/tab-group/tab-group.component.d.ts +7 -3
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +19 -39
- package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/development/tabs/tab-label/tab-label.component.js +4 -3
- package/development/tooltip/tooltip.component.d.ts +11 -4
- package/development/tooltip/tooltip.component.d.ts.map +1 -1
- package/development/tooltip/tooltip.component.js +57 -78
- package/index.d.ts +6 -0
- package/index.js +6 -0
- package/mini-calendar/mini-calendar/mini-calendar.component.d.ts +35 -0
- package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -0
- package/mini-calendar/mini-calendar/mini-calendar.component.js +133 -0
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +23 -0
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -0
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +66 -0
- package/mini-calendar/mini-calendar-day.d.ts +5 -0
- package/mini-calendar/mini-calendar-day.d.ts.map +1 -0
- package/mini-calendar/mini-calendar-day.js +4 -0
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +25 -0
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -0
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +59 -0
- package/mini-calendar/mini-calendar-month.d.ts +5 -0
- package/mini-calendar/mini-calendar-month.d.ts.map +1 -0
- package/mini-calendar/mini-calendar-month.js +4 -0
- package/mini-calendar/mini-calendar.d.ts +5 -0
- package/mini-calendar/mini-calendar.d.ts.map +1 -0
- package/mini-calendar/mini-calendar.js +4 -0
- package/mini-calendar.d.ts +7 -0
- package/mini-calendar.d.ts.map +1 -0
- package/mini-calendar.js +8 -0
- package/off-brand-theme.css +21 -2
- package/package.json +21 -1
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common/paginator-common.js +30 -25
- package/safety-theme.css +21 -2
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +4 -1
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +9 -6
- package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +4 -1
- package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
- package/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +13 -10
- package/standard-theme.css +21 -2
- package/tabs/tab/tab.component.d.ts +9 -0
- package/tabs/tab/tab.component.d.ts.map +1 -1
- package/tabs/tab/tab.component.js +37 -18
- package/tabs/tab-group/tab-group.component.d.ts +7 -3
- package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/tabs/tab-group/tab-group.component.js +51 -52
- package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/tabs/tab-label/tab-label.component.js +12 -12
- package/tooltip/tooltip.component.d.ts +11 -4
- package/tooltip/tooltip.component.d.ts.map +1 -1
- package/tooltip/tooltip.component.js +60 -84
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
var __typeError = (msg) => {
|
|
2
|
+
throw TypeError(msg);
|
|
3
|
+
};
|
|
4
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
|
+
import { MutationController } from "@lit-labs/observers/mutation-controller.js";
|
|
10
|
+
import { css, LitElement, html } from "lit";
|
|
11
|
+
import { customElement, property } from "lit/decorators.js";
|
|
12
|
+
import { isArrowKeyOrPageKeysPressed } from "../../core/a11y.js";
|
|
13
|
+
import { readConfig } from "../../core/config/config.js";
|
|
14
|
+
import { defaultDateAdapter } from "../../core/datetime/native-date-adapter.js";
|
|
15
|
+
const style = css`*,
|
|
16
|
+
::before,
|
|
17
|
+
::after {
|
|
18
|
+
box-sizing: border-box;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:host {
|
|
22
|
+
display: block;
|
|
23
|
+
}`;
|
|
24
|
+
let SbbMiniCalendarElement = (() => {
|
|
25
|
+
var _orientation_accessor_storage, _a;
|
|
26
|
+
let _classDecorators = [customElement("sbb-mini-calendar")];
|
|
27
|
+
let _classDescriptor;
|
|
28
|
+
let _classExtraInitializers = [];
|
|
29
|
+
let _classThis;
|
|
30
|
+
let _classSuper = LitElement;
|
|
31
|
+
let _orientation_decorators;
|
|
32
|
+
let _orientation_initializers = [];
|
|
33
|
+
let _orientation_extraInitializers = [];
|
|
34
|
+
_a = class extends _classSuper {
|
|
35
|
+
constructor() {
|
|
36
|
+
super();
|
|
37
|
+
__privateAdd(this, _orientation_accessor_storage);
|
|
38
|
+
__privateSet(this, _orientation_accessor_storage, __runInitializers(this, _orientation_initializers, "horizontal"));
|
|
39
|
+
this._keydownAbortController = (__runInitializers(this, _orientation_extraInitializers), null);
|
|
40
|
+
this._dateAdapter = readConfig().datetime?.dateAdapter ?? defaultDateAdapter;
|
|
41
|
+
this.addController(new MutationController(this, {
|
|
42
|
+
config: { childList: true, subtree: true },
|
|
43
|
+
callback: () => this._setMonthsShowYear()
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
/** The orientation of days in the calendar. */
|
|
47
|
+
get orientation() {
|
|
48
|
+
return __privateGet(this, _orientation_accessor_storage);
|
|
49
|
+
}
|
|
50
|
+
set orientation(value) {
|
|
51
|
+
__privateSet(this, _orientation_accessor_storage, value);
|
|
52
|
+
}
|
|
53
|
+
_getMiniCalendarMonths() {
|
|
54
|
+
return Array.from(this.querySelectorAll?.("sbb-mini-calendar-month") ?? []);
|
|
55
|
+
}
|
|
56
|
+
_getMiniCalendarDays() {
|
|
57
|
+
return Array.from(this._getMiniCalendarMonths().flatMap((month) => Array.from(month.querySelectorAll?.("sbb-mini-calendar-day") ?? [])));
|
|
58
|
+
}
|
|
59
|
+
_setMonthsShowYear() {
|
|
60
|
+
this._getMiniCalendarMonths().forEach((monthElement, index) => {
|
|
61
|
+
const splittedDate = monthElement.date.split("-");
|
|
62
|
+
if (splittedDate.length > 0) {
|
|
63
|
+
if (index === 0 || +splittedDate[1] === 1) {
|
|
64
|
+
monthElement["toggleState"]("show-year", true);
|
|
65
|
+
} else {
|
|
66
|
+
monthElement["toggleState"]("show-year", false);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
_handleKeydownCalendarDay(event) {
|
|
72
|
+
if (isArrowKeyOrPageKeysPressed(event)) {
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
}
|
|
75
|
+
const days = this._getMiniCalendarDays();
|
|
76
|
+
const day = days.find((e) => e === event.target);
|
|
77
|
+
const nextEl = this._navigateByKeyboardDayView(days, day, event);
|
|
78
|
+
const activeEl = document.activeElement;
|
|
79
|
+
if (nextEl !== activeEl) {
|
|
80
|
+
nextEl.tabIndex = 0;
|
|
81
|
+
nextEl?.focus();
|
|
82
|
+
activeEl.tabIndex = -1;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
_navigateByKeyboardDayView(days, day, event) {
|
|
86
|
+
const arrowsOffset = this.orientation === "horizontal" ? { leftRight: 1, upDown: 7 } : { leftRight: 7, upDown: 1 };
|
|
87
|
+
const fullDate = this._dateAdapter.parse(day.date);
|
|
88
|
+
const dayDate = this._dateAdapter.getDate(fullDate);
|
|
89
|
+
const offsetForVertical = this._dateAdapter.getFirstWeekOffset(fullDate);
|
|
90
|
+
switch (event.key) {
|
|
91
|
+
case "ArrowUp":
|
|
92
|
+
return this._findDayArrowKeys(days, day, -arrowsOffset.upDown);
|
|
93
|
+
case "ArrowDown":
|
|
94
|
+
return this._findDayArrowKeys(days, day, arrowsOffset.upDown);
|
|
95
|
+
case "ArrowLeft":
|
|
96
|
+
return this._findDayArrowKeys(days, day, -arrowsOffset.leftRight);
|
|
97
|
+
case "ArrowRight":
|
|
98
|
+
return this._findDayArrowKeys(days, day, arrowsOffset.leftRight);
|
|
99
|
+
case "PageUp": {
|
|
100
|
+
if (this.orientation === "horizontal") {
|
|
101
|
+
const delta = dayDate - (dayDate % 7 || 7);
|
|
102
|
+
return this._findDaySpecialKeys(days, day, -delta, arrowsOffset.upDown);
|
|
103
|
+
} else {
|
|
104
|
+
const weekNumber = Math.ceil((dayDate + offsetForVertical) / 7);
|
|
105
|
+
const firstOfWeek = (weekNumber - 1) * 7 - offsetForVertical + 1;
|
|
106
|
+
const delta = firstOfWeek - dayDate;
|
|
107
|
+
return this._findDaySpecialKeys(days, day, delta, arrowsOffset.upDown);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
case "PageDown": {
|
|
111
|
+
if (this.orientation === "horizontal") {
|
|
112
|
+
const lastDayMonth = this._dateAdapter.getNumDaysInMonth(fullDate);
|
|
113
|
+
const delta = lastDayMonth - dayDate - (lastDayMonth - dayDate) % 7;
|
|
114
|
+
return this._findDaySpecialKeys(days, day, delta, -arrowsOffset.upDown);
|
|
115
|
+
} else {
|
|
116
|
+
const weekNumber = Math.ceil((dayDate + offsetForVertical) / 7);
|
|
117
|
+
const lastOfWeek = weekNumber * 7 - offsetForVertical;
|
|
118
|
+
const delta = lastOfWeek - dayDate;
|
|
119
|
+
return this._findDaySpecialKeys(days, day, delta, -arrowsOffset.upDown);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
case "Home": {
|
|
123
|
+
const date = dayDate - 1;
|
|
124
|
+
return this._findDaySpecialKeys(days, day, -date, 1);
|
|
125
|
+
}
|
|
126
|
+
case "End": {
|
|
127
|
+
const lastDayMonth = this._dateAdapter.getNumDaysInMonth(fullDate);
|
|
128
|
+
return this._findDaySpecialKeys(days, day, lastDayMonth - dayDate, -1);
|
|
129
|
+
}
|
|
130
|
+
default:
|
|
131
|
+
return day;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
_findDayArrowKeys(days, day, delta) {
|
|
135
|
+
const newDate = this._dateAdapter.addCalendarDays(this._dateAdapter.deserialize(day.date), delta);
|
|
136
|
+
const newDateString = this._dateAdapter.toIso8601(newDate);
|
|
137
|
+
const newDay = days.find((d) => d.date === newDateString);
|
|
138
|
+
if (!newDay) {
|
|
139
|
+
return day;
|
|
140
|
+
}
|
|
141
|
+
return newDay;
|
|
142
|
+
}
|
|
143
|
+
_findDaySpecialKeys(days, day, delta, recursiveDelta) {
|
|
144
|
+
const newDate = this._dateAdapter.addCalendarDays(this._dateAdapter.deserialize(day.date), delta);
|
|
145
|
+
const newDateString = this._dateAdapter.toIso8601(newDate);
|
|
146
|
+
const newDay = days.find((d) => d.date === newDateString);
|
|
147
|
+
if (!newDay) {
|
|
148
|
+
return this._findDaySpecialKeys(days, day, delta + recursiveDelta, recursiveDelta);
|
|
149
|
+
}
|
|
150
|
+
return newDay;
|
|
151
|
+
}
|
|
152
|
+
_handleSlotchange() {
|
|
153
|
+
this._setupKeydownListener();
|
|
154
|
+
}
|
|
155
|
+
_setupKeydownListener() {
|
|
156
|
+
this._keydownAbortController?.abort();
|
|
157
|
+
this._keydownAbortController = new AbortController();
|
|
158
|
+
this._getMiniCalendarDays().forEach((day, index) => {
|
|
159
|
+
day.addEventListener("keydown", (e) => this._handleKeydownCalendarDay(e), {
|
|
160
|
+
signal: this._keydownAbortController.signal
|
|
161
|
+
});
|
|
162
|
+
if (index !== 0) {
|
|
163
|
+
day.tabIndex = -1;
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
/** @internal */
|
|
168
|
+
focus() {
|
|
169
|
+
this._getMiniCalendarDays()?.find((e) => e.tabIndex === 0)?.focus();
|
|
170
|
+
}
|
|
171
|
+
connectedCallback() {
|
|
172
|
+
super.connectedCallback();
|
|
173
|
+
this._setupKeydownListener();
|
|
174
|
+
}
|
|
175
|
+
disconnectedCallback() {
|
|
176
|
+
super.disconnectedCallback();
|
|
177
|
+
this._keydownAbortController?.abort();
|
|
178
|
+
}
|
|
179
|
+
render() {
|
|
180
|
+
return html`
|
|
181
|
+
<div class="sbb-mini-calendar">
|
|
182
|
+
<slot @slotchange=${this._handleSlotchange}></slot>
|
|
183
|
+
</div>
|
|
184
|
+
`;
|
|
185
|
+
}
|
|
186
|
+
}, _orientation_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
187
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
188
|
+
_orientation_decorators = [property({ reflect: true })];
|
|
189
|
+
__esDecorate(_a, null, _orientation_decorators, { kind: "accessor", name: "orientation", static: false, private: false, access: { has: (obj) => "orientation" in obj, get: (obj) => obj.orientation, set: (obj, value) => {
|
|
190
|
+
obj.orientation = value;
|
|
191
|
+
} }, metadata: _metadata }, _orientation_initializers, _orientation_extraInitializers);
|
|
192
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
193
|
+
_classThis = _classDescriptor.value;
|
|
194
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
195
|
+
})(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
196
|
+
return _classThis;
|
|
197
|
+
})();
|
|
198
|
+
export {
|
|
199
|
+
SbbMiniCalendarElement
|
|
200
|
+
};
|
|
201
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9taW5pLWNhbGVuZGFyL21pbmktY2FsZW5kYXIvbWluaS1jYWxlbmRhci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXV0YXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9tdXRhdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcvY29uZmlnLmpzJztcbmltcG9ydCB0eXBlIHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGV0aW1lL25hdGl2ZS1kYXRlLWFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcmllbnRhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk1pbmlDYWxlbmRhckRheUVsZW1lbnQgfSBmcm9tICcuLi9taW5pLWNhbGVuZGFyLWRheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk1pbmlDYWxlbmRhck1vbnRoRWxlbWVudCB9IGZyb20gJy4uL21pbmktY2FsZW5kYXItbW9udGguanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9taW5pLWNhbGVuZGFyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBtaW5pbWFsIGNhbGVuZGFyLCB0b2dldGhlciB3aXRoIHRoZSBgc2JiLW1pbmktY2FsZW5kYXItbW9udGhgIGFuZCBgc2JiLW1pbmktY2FsZW5kYXItZGF5YC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW1pbmktY2FsZW5kYXItbW9udGhgIGVsZW1lbnRzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItbWluaS1jYWxlbmRhcicpXG5jbGFzcyBTYmJNaW5pQ2FsZW5kYXJFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogVGhlIG9yaWVudGF0aW9uIG9mIGRheXMgaW4gdGhlIGNhbGVuZGFyLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBvcmllbnRhdGlvbjogU2JiT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCc7XG5cbiAgcHJpdmF0ZSBfa2V5ZG93bkFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPiA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IE11dGF0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgICAgIGNvbmZpZzogeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3NldE1vbnRoc1Nob3dZZWFyKCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TWluaUNhbGVuZGFyTW9udGhzKCk6IFNiYk1pbmlDYWxlbmRhck1vbnRoRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLW1pbmktY2FsZW5kYXItbW9udGgnKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRNaW5pQ2FsZW5kYXJEYXlzKCk6IFNiYk1pbmlDYWxlbmRhckRheUVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICB0aGlzLl9nZXRNaW5pQ2FsZW5kYXJNb250aHMoKS5mbGF0TWFwKChtb250aCkgPT5cbiAgICAgICAgQXJyYXkuZnJvbShtb250aC5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1taW5pLWNhbGVuZGFyLWRheScpID8/IFtdKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE1vbnRoc1Nob3dZZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX2dldE1pbmlDYWxlbmRhck1vbnRocygpLmZvckVhY2goXG4gICAgICAobW9udGhFbGVtZW50OiBTYmJNaW5pQ2FsZW5kYXJNb250aEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3Qgc3BsaXR0ZWREYXRlID0gbW9udGhFbGVtZW50LmRhdGUuc3BsaXQoJy0nKTtcbiAgICAgICAgaWYgKHNwbGl0dGVkRGF0ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgaWYgKGluZGV4ID09PSAwIHx8ICtzcGxpdHRlZERhdGVbMV0gPT09IDEpIHtcbiAgICAgICAgICAgIG1vbnRoRWxlbWVudFsndG9nZ2xlU3RhdGUnXSgnc2hvdy15ZWFyJywgdHJ1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1vbnRoRWxlbWVudFsndG9nZ2xlU3RhdGUnXSgnc2hvdy15ZWFyJywgZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5ZG93bkNhbGVuZGFyRGF5KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZChldmVudCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF5czogU2JiTWluaUNhbGVuZGFyRGF5RWxlbWVudFtdID0gdGhpcy5fZ2V0TWluaUNhbGVuZGFyRGF5cygpO1xuICAgIGNvbnN0IGRheSA9IGRheXMuZmluZCgoZSkgPT4gZSA9PT0gZXZlbnQudGFyZ2V0KSE7XG4gICAgY29uc3QgbmV4dEVsOiBTYmJNaW5pQ2FsZW5kYXJEYXlFbGVtZW50ID0gdGhpcy5fbmF2aWdhdGVCeUtleWJvYXJkRGF5VmlldyhkYXlzLCBkYXksIGV2ZW50KTtcbiAgICBjb25zdCBhY3RpdmVFbDogU2JiTWluaUNhbGVuZGFyRGF5RWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgU2JiTWluaUNhbGVuZGFyRGF5RWxlbWVudDtcbiAgICBpZiAobmV4dEVsICE9PSBhY3RpdmVFbCkge1xuICAgICAgbmV4dEVsLnRhYkluZGV4ID0gMDtcbiAgICAgIG5leHRFbD8uZm9jdXMoKTtcbiAgICAgIGFjdGl2ZUVsLnRhYkluZGV4ID0gLTE7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbmF2aWdhdGVCeUtleWJvYXJkRGF5VmlldyhcbiAgICBkYXlzOiBTYmJNaW5pQ2FsZW5kYXJEYXlFbGVtZW50W10sXG4gICAgZGF5OiBTYmJNaW5pQ2FsZW5kYXJEYXlFbGVtZW50LFxuICAgIGV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICApOiBTYmJNaW5pQ2FsZW5kYXJEYXlFbGVtZW50IHtcbiAgICBjb25zdCBhcnJvd3NPZmZzZXQgPVxuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8geyBsZWZ0UmlnaHQ6IDEsIHVwRG93bjogNyB9IDogeyBsZWZ0UmlnaHQ6IDcsIHVwRG93bjogMSB9O1xuICAgIGNvbnN0IGZ1bGxEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIucGFyc2UoZGF5LmRhdGUpITtcbiAgICBjb25zdCBkYXlEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0RGF0ZShmdWxsRGF0ZSk7XG4gICAgY29uc3Qgb2Zmc2V0Rm9yVmVydGljYWwgPSB0aGlzLl9kYXRlQWRhcHRlci5nZXRGaXJzdFdlZWtPZmZzZXQoZnVsbERhdGUpO1xuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICByZXR1cm4gdGhpcy5fZmluZERheUFycm93S2V5cyhkYXlzLCBkYXksIC1hcnJvd3NPZmZzZXQudXBEb3duKTtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIHJldHVybiB0aGlzLl9maW5kRGF5QXJyb3dLZXlzKGRheXMsIGRheSwgYXJyb3dzT2Zmc2V0LnVwRG93bik7XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICByZXR1cm4gdGhpcy5fZmluZERheUFycm93S2V5cyhkYXlzLCBkYXksIC1hcnJvd3NPZmZzZXQubGVmdFJpZ2h0KTtcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICByZXR1cm4gdGhpcy5fZmluZERheUFycm93S2V5cyhkYXlzLCBkYXksIGFycm93c09mZnNldC5sZWZ0UmlnaHQpO1xuICAgICAgY2FzZSAnUGFnZVVwJzoge1xuICAgICAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgICAgY29uc3QgZGVsdGEgPSBkYXlEYXRlIC0gKGRheURhdGUgJSA3IHx8IDcpO1xuICAgICAgICAgIHJldHVybiB0aGlzLl9maW5kRGF5U3BlY2lhbEtleXMoZGF5cywgZGF5LCAtZGVsdGEsIGFycm93c09mZnNldC51cERvd24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHdlZWtOdW1iZXI6IG51bWJlciA9IE1hdGguY2VpbCgoZGF5RGF0ZSArIG9mZnNldEZvclZlcnRpY2FsKSAvIDcpO1xuICAgICAgICAgIGNvbnN0IGZpcnN0T2ZXZWVrOiBudW1iZXIgPSAod2Vla051bWJlciAtIDEpICogNyAtIG9mZnNldEZvclZlcnRpY2FsICsgMTtcbiAgICAgICAgICBjb25zdCBkZWx0YTogbnVtYmVyID0gZmlyc3RPZldlZWsgLSBkYXlEYXRlO1xuICAgICAgICAgIHJldHVybiB0aGlzLl9maW5kRGF5U3BlY2lhbEtleXMoZGF5cywgZGF5LCBkZWx0YSwgYXJyb3dzT2Zmc2V0LnVwRG93bik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNhc2UgJ1BhZ2VEb3duJzoge1xuICAgICAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgICAgY29uc3QgbGFzdERheU1vbnRoID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0TnVtRGF5c0luTW9udGgoZnVsbERhdGUpO1xuICAgICAgICAgIGNvbnN0IGRlbHRhID0gbGFzdERheU1vbnRoIC0gZGF5RGF0ZSAtICgobGFzdERheU1vbnRoIC0gZGF5RGF0ZSkgJSA3KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fZmluZERheVNwZWNpYWxLZXlzKGRheXMsIGRheSwgZGVsdGEsIC1hcnJvd3NPZmZzZXQudXBEb3duKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB3ZWVrTnVtYmVyOiBudW1iZXIgPSBNYXRoLmNlaWwoKGRheURhdGUgKyBvZmZzZXRGb3JWZXJ0aWNhbCkgLyA3KTtcbiAgICAgICAgICBjb25zdCBsYXN0T2ZXZWVrOiBudW1iZXIgPSB3ZWVrTnVtYmVyICogNyAtIG9mZnNldEZvclZlcnRpY2FsO1xuICAgICAgICAgIGNvbnN0IGRlbHRhOiBudW1iZXIgPSBsYXN0T2ZXZWVrIC0gZGF5RGF0ZTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fZmluZERheVNwZWNpYWxLZXlzKGRheXMsIGRheSwgZGVsdGEsIC1hcnJvd3NPZmZzZXQudXBEb3duKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY2FzZSAnSG9tZSc6IHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IGRheURhdGUgLSAxO1xuICAgICAgICByZXR1cm4gdGhpcy5fZmluZERheVNwZWNpYWxLZXlzKGRheXMsIGRheSwgLWRhdGUsICsxKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0VuZCc6IHtcbiAgICAgICAgY29uc3QgbGFzdERheU1vbnRoID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0TnVtRGF5c0luTW9udGgoZnVsbERhdGUpO1xuICAgICAgICByZXR1cm4gdGhpcy5fZmluZERheVNwZWNpYWxLZXlzKGRheXMsIGRheSwgbGFzdERheU1vbnRoIC0gZGF5RGF0ZSwgLTEpO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGRheTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maW5kRGF5QXJyb3dLZXlzKFxuICAgIGRheXM6IFNiYk1pbmlDYWxlbmRhckRheUVsZW1lbnRbXSxcbiAgICBkYXk6IFNiYk1pbmlDYWxlbmRhckRheUVsZW1lbnQsXG4gICAgZGVsdGE6IG51bWJlcixcbiAgKTogU2JiTWluaUNhbGVuZGFyRGF5RWxlbWVudCB7XG4gICAgY29uc3QgbmV3RGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyhcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmRlc2VyaWFsaXplKGRheS5kYXRlKSEsXG4gICAgICBkZWx0YSxcbiAgICApO1xuICAgIGNvbnN0IG5ld0RhdGVTdHJpbmcgPSB0aGlzLl9kYXRlQWRhcHRlci50b0lzbzg2MDEobmV3RGF0ZSk7XG4gICAgY29uc3QgbmV3RGF5ID0gZGF5cy5maW5kKChkKSA9PiBkLmRhdGUgPT09IG5ld0RhdGVTdHJpbmcpO1xuICAgIGlmICghbmV3RGF5KSB7XG4gICAgICByZXR1cm4gZGF5O1xuICAgIH1cbiAgICByZXR1cm4gbmV3RGF5O1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluZERheVNwZWNpYWxLZXlzKFxuICAgIGRheXM6IFNiYk1pbmlDYWxlbmRhckRheUVsZW1lbnRbXSxcbiAgICBkYXk6IFNiYk1pbmlDYWxlbmRhckRheUVsZW1lbnQsXG4gICAgZGVsdGE6IG51bWJlcixcbiAgICByZWN1cnNpdmVEZWx0YTogbnVtYmVyLFxuICApOiBTYmJNaW5pQ2FsZW5kYXJEYXlFbGVtZW50IHtcbiAgICBjb25zdCBuZXdEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJEYXlzKFxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUoZGF5LmRhdGUpISxcbiAgICAgIGRlbHRhLFxuICAgICk7XG4gICAgY29uc3QgbmV3RGF0ZVN0cmluZyA9IHRoaXMuX2RhdGVBZGFwdGVyLnRvSXNvODYwMShuZXdEYXRlKTtcbiAgICBjb25zdCBuZXdEYXkgPSBkYXlzLmZpbmQoKGQpID0+IGQuZGF0ZSA9PT0gbmV3RGF0ZVN0cmluZyk7XG4gICAgaWYgKCFuZXdEYXkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9maW5kRGF5U3BlY2lhbEtleXMoZGF5cywgZGF5LCBkZWx0YSArIHJlY3Vyc2l2ZURlbHRhLCByZWN1cnNpdmVEZWx0YSk7XG4gICAgfVxuICAgIHJldHVybiBuZXdEYXkhO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXR1cEtleWRvd25MaXN0ZW5lcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBLZXlkb3duTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy5fa2V5ZG93bkFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9rZXlkb3duQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX2dldE1pbmlDYWxlbmRhckRheXMoKS5mb3JFYWNoKChkYXksIGluZGV4KSA9PiB7XG4gICAgICBkYXkuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlkb3duQ2FsZW5kYXJEYXkoZSksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9rZXlkb3duQWJvcnRDb250cm9sbGVyIS5zaWduYWwsXG4gICAgICB9KTtcbiAgICAgIGlmIChpbmRleCAhPT0gMCkge1xuICAgICAgICBkYXkudGFiSW5kZXggPSAtMTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2dldE1pbmlDYWxlbmRhckRheXMoKVxuICAgICAgPy5maW5kKChlKSA9PiBlLnRhYkluZGV4ID09PSAwKVxuICAgICAgPy5mb2N1cygpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0dXBLZXlkb3duTGlzdGVuZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2tleWRvd25BYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbWluaS1jYWxlbmRhclwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1taW5pLWNhbGVuZGFyJzogU2JiTWluaUNhbGVuZGFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBc0JNLDBCQUFzQixNQUFBOzswQkFEM0IsY0FBYyxtQkFBbUIsQ0FBQzs7OztvQkFDWTs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBLElBVXZELGNBQUE7QUFDRSxZQUFBO0FBTkY7QUFBZ0IseUJBQUEsK0JBQUEsa0JBQUEsTUFBQSwyQkFBOEIsWUFBWTtBQUVsRCxXQUFBLDJCQUF1QixrQkFBQSxNQUFBLDhCQUFBLEdBQTJCO0FBQ2xELFdBQUEsZUFBK0IsV0FBQSxFQUFhLFVBQVUsZUFBZTtBQUszRSxXQUFLLGNBQ0gsSUFBSSxtQkFBbUIsTUFBTTtBQUFBLFFBQzNCLFFBQVEsRUFBRSxXQUFXLE1BQU0sU0FBUyxLQUFBO0FBQUEsUUFDcEMsVUFBVSxNQUFNLEtBQUssbUJBQUE7QUFBQSxNQUFrQixDQUN4QyxDQUFDO0FBQUEsSUFFTjtBQUFBO0FBQUEsSUFkQSxJQUFnQixjQUFXO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUEzQixJQUFnQixZQUFXLE9BQUE7QUFBQSx5QkFBQSwrQkFBQTtBQUFBLElBQUE7QUFBQSxJQWdCbkIseUJBQXNCO0FBQzVCLGFBQU8sTUFBTSxLQUFLLEtBQUssbUJBQW1CLHlCQUF5QixLQUFLLEVBQUU7QUFBQSxJQUM1RTtBQUFBLElBRVEsdUJBQW9CO0FBQzFCLGFBQU8sTUFBTSxLQUNYLEtBQUssdUJBQUEsRUFBeUIsUUFBUSxDQUFDLFVBQ3JDLE1BQU0sS0FBSyxNQUFNLG1CQUFt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
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
|
|
2
|
+
import { SbbButtonBaseElement } from '../../core/base-elements.js';
|
|
3
|
+
/**
|
|
4
|
+
* It displays a day in the `sbb-mini-calendar-month`.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SbbMiniCalendarDayElement<T = Date> extends SbbButtonBaseElement {
|
|
7
|
+
static styles: CSSResultGroup;
|
|
8
|
+
private _dateAdapter;
|
|
9
|
+
/** Date as ISO string (YYYY-MM-DD) */
|
|
10
|
+
accessor date: string;
|
|
11
|
+
/** The type of the marker. */
|
|
12
|
+
accessor marker: 'target' | 'circle' | 'slash' | 'cross' | string;
|
|
13
|
+
/** The color of the marker. */
|
|
14
|
+
accessor color: 'charcoal' | 'cloud' | 'orange' | 'red' | 'sky' | string;
|
|
15
|
+
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
16
|
+
protected renderTemplate(): TemplateResult;
|
|
17
|
+
}
|
|
18
|
+
declare global {
|
|
19
|
+
interface HTMLElementTagNameMap {
|
|
20
|
+
'sbb-mini-calendar-day': SbbMiniCalendarDayElement;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=mini-calendar-day.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-calendar-day.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/mini-calendar/mini-calendar-day/mini-calendar-day.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAQnE;;GAEG;AACH,qBAEM,yBAAyB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,oBAAoB;IACpE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,YAAY,CAA4E;IAEhG,sCAAsC;IACtC,SAEgB,IAAI,EAAE,MAAM,CAAM;IAElC,8BAA8B;IAC9B,SAEgB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAM;IAE9E,+BAA+B;IAC/B,SAEgB,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAM;cAElE,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAQzD,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,yBAAyB,CAAC;KACpD;CACF"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
var __typeError = (msg) => {
|
|
2
|
+
throw TypeError(msg);
|
|
3
|
+
};
|
|
4
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
|
+
import { css, html } from "lit";
|
|
10
|
+
import { customElement, property } from "lit/decorators.js";
|
|
11
|
+
import { SbbButtonBaseElement } from "../../core/base-elements.js";
|
|
12
|
+
import { readConfig } from "../../core/config/config.js";
|
|
13
|
+
import "../../core/datetime/date-adapter.js";
|
|
14
|
+
import { defaultDateAdapter } from "../../core/datetime/native-date-adapter.js";
|
|
15
|
+
import { forceType, omitEmptyConverter } from "../../core/decorators.js";
|
|
16
|
+
const style = css`*,
|
|
17
|
+
::before,
|
|
18
|
+
::after {
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host {
|
|
23
|
+
--sbb-mini-calendar-day-scale: 1.333;
|
|
24
|
+
--sbb-mini-calendar-day-animation-easing: var(--sbb-animation-easing);
|
|
25
|
+
--sbb-mini-calendar-day-animation-duration: var(
|
|
26
|
+
--sbb-disable-animation-duration,
|
|
27
|
+
var(--sbb-animation-duration-2x)
|
|
28
|
+
);
|
|
29
|
+
display: block;
|
|
30
|
+
height: 0.375rem;
|
|
31
|
+
width: 0.375rem;
|
|
32
|
+
margin: 0.0625rem;
|
|
33
|
+
border-radius: var(--sbb-border-radius-infinity);
|
|
34
|
+
color: var(--sbb-color-storm);
|
|
35
|
+
color: light-dark(var(--sbb-color-storm), var(--sbb-color-smoke));
|
|
36
|
+
background-color: currentcolor;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@media (any-hover: hover) {
|
|
40
|
+
:host(:hover) {
|
|
41
|
+
scale: var(--sbb-mini-calendar-day-scale);
|
|
42
|
+
transition: scale var(--sbb-mini-calendar-day-animation-easing) var(--sbb-mini-calendar-day-animation-duration);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host(:focus-visible) {
|
|
47
|
+
outline-offset: var(--sbb-focus-outline-offset);
|
|
48
|
+
outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
|
|
49
|
+
outline-offset: 0.125rem;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:host([color=charcoal]) {
|
|
53
|
+
color: var(--sbb-background-color-2-inverted);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
:host([color=cloud]) {
|
|
57
|
+
color: var(--sbb-background-color-4-inverted);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:host([color=orange]) {
|
|
61
|
+
color: var(--sbb-color-orange-light);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
:host([color=red]) {
|
|
65
|
+
color: var(--sbb-color-error);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host([color=sky]) {
|
|
69
|
+
color: var(--sbb-color-sky-light);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
:host([marker=circle]) {
|
|
73
|
+
background-color: var(--sbb-color-1-inverted);
|
|
74
|
+
border: 0.0625rem solid currentcolor;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
:host([marker=target]) {
|
|
78
|
+
background: radial-gradient(circle, currentcolor 0%, currentcolor 25%, var(--sbb-color-1-inverted) 25%, var(--sbb-color-1-inverted) 50%, currentcolor 50%, currentcolor 100%);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
:host([marker=slash]) {
|
|
82
|
+
position: relative;
|
|
83
|
+
}
|
|
84
|
+
:host([marker=slash])::before {
|
|
85
|
+
content: "";
|
|
86
|
+
position: absolute;
|
|
87
|
+
inset: 0;
|
|
88
|
+
background-image: linear-gradient(-45deg, transparent 45%, var(--sbb-color-1-inverted) 45%, var(--sbb-color-1-inverted) 55%, transparent 55%);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
:host([marker=cross]) {
|
|
92
|
+
position: relative;
|
|
93
|
+
}
|
|
94
|
+
:host([marker=cross])::before {
|
|
95
|
+
content: "";
|
|
96
|
+
position: absolute;
|
|
97
|
+
inset: 0;
|
|
98
|
+
background-image: linear-gradient(-45deg, transparent 45%, var(--sbb-color-1-inverted) 45%, var(--sbb-color-1-inverted) 55%, transparent 55%), linear-gradient(45deg, transparent 45%, var(--sbb-color-1-inverted) 45%, var(--sbb-color-1-inverted) 55%, transparent 55%);
|
|
99
|
+
}`;
|
|
100
|
+
let SbbMiniCalendarDayElement = (() => {
|
|
101
|
+
var _date_accessor_storage, _marker_accessor_storage, _color_accessor_storage, _a;
|
|
102
|
+
let _classDecorators = [customElement("sbb-mini-calendar-day")];
|
|
103
|
+
let _classDescriptor;
|
|
104
|
+
let _classExtraInitializers = [];
|
|
105
|
+
let _classThis;
|
|
106
|
+
let _classSuper = SbbButtonBaseElement;
|
|
107
|
+
let _date_decorators;
|
|
108
|
+
let _date_initializers = [];
|
|
109
|
+
let _date_extraInitializers = [];
|
|
110
|
+
let _marker_decorators;
|
|
111
|
+
let _marker_initializers = [];
|
|
112
|
+
let _marker_extraInitializers = [];
|
|
113
|
+
let _color_decorators;
|
|
114
|
+
let _color_initializers = [];
|
|
115
|
+
let _color_extraInitializers = [];
|
|
116
|
+
_a = class extends _classSuper {
|
|
117
|
+
constructor() {
|
|
118
|
+
super(...arguments);
|
|
119
|
+
__privateAdd(this, _date_accessor_storage);
|
|
120
|
+
__privateAdd(this, _marker_accessor_storage);
|
|
121
|
+
__privateAdd(this, _color_accessor_storage);
|
|
122
|
+
this._dateAdapter = readConfig().datetime?.dateAdapter ?? defaultDateAdapter;
|
|
123
|
+
__privateSet(this, _date_accessor_storage, __runInitializers(this, _date_initializers, ""));
|
|
124
|
+
__privateSet(this, _marker_accessor_storage, (__runInitializers(this, _date_extraInitializers), __runInitializers(this, _marker_initializers, "")));
|
|
125
|
+
__privateSet(this, _color_accessor_storage, (__runInitializers(this, _marker_extraInitializers), __runInitializers(this, _color_initializers, "")));
|
|
126
|
+
__runInitializers(this, _color_extraInitializers);
|
|
127
|
+
}
|
|
128
|
+
/** Date as ISO string (YYYY-MM-DD) */
|
|
129
|
+
get date() {
|
|
130
|
+
return __privateGet(this, _date_accessor_storage);
|
|
131
|
+
}
|
|
132
|
+
set date(value) {
|
|
133
|
+
__privateSet(this, _date_accessor_storage, value);
|
|
134
|
+
}
|
|
135
|
+
/** The type of the marker. */
|
|
136
|
+
get marker() {
|
|
137
|
+
return __privateGet(this, _marker_accessor_storage);
|
|
138
|
+
}
|
|
139
|
+
set marker(value) {
|
|
140
|
+
__privateSet(this, _marker_accessor_storage, value);
|
|
141
|
+
}
|
|
142
|
+
/** The color of the marker. */
|
|
143
|
+
get color() {
|
|
144
|
+
return __privateGet(this, _color_accessor_storage);
|
|
145
|
+
}
|
|
146
|
+
set color(value) {
|
|
147
|
+
__privateSet(this, _color_accessor_storage, value);
|
|
148
|
+
}
|
|
149
|
+
willUpdate(changedProperties) {
|
|
150
|
+
super.willUpdate(changedProperties);
|
|
151
|
+
if (changedProperties.has("date") && this.date) {
|
|
152
|
+
this.internals.ariaLabel = this._dateAdapter.getAccessibilityFormatDate(this.date);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
renderTemplate() {
|
|
156
|
+
return html``;
|
|
157
|
+
}
|
|
158
|
+
}, _date_accessor_storage = new WeakMap(), _marker_accessor_storage = new WeakMap(), _color_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
159
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
160
|
+
_date_decorators = [forceType(), property()];
|
|
161
|
+
_marker_decorators = [forceType(), property({ reflect: true, converter: omitEmptyConverter })];
|
|
162
|
+
_color_decorators = [forceType(), property({ reflect: true, converter: omitEmptyConverter })];
|
|
163
|
+
__esDecorate(_a, null, _date_decorators, { kind: "accessor", name: "date", static: false, private: false, access: { has: (obj) => "date" in obj, get: (obj) => obj.date, set: (obj, value) => {
|
|
164
|
+
obj.date = value;
|
|
165
|
+
} }, metadata: _metadata }, _date_initializers, _date_extraInitializers);
|
|
166
|
+
__esDecorate(_a, null, _marker_decorators, { kind: "accessor", name: "marker", static: false, private: false, access: { has: (obj) => "marker" in obj, get: (obj) => obj.marker, set: (obj, value) => {
|
|
167
|
+
obj.marker = value;
|
|
168
|
+
} }, metadata: _metadata }, _marker_initializers, _marker_extraInitializers);
|
|
169
|
+
__esDecorate(_a, null, _color_decorators, { kind: "accessor", name: "color", static: false, private: false, access: { has: (obj) => "color" in obj, get: (obj) => obj.color, set: (obj, value) => {
|
|
170
|
+
obj.color = value;
|
|
171
|
+
} }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
|
|
172
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
173
|
+
_classThis = _classDescriptor.value;
|
|
174
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
175
|
+
})(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
176
|
+
return _classThis;
|
|
177
|
+
})();
|
|
178
|
+
export {
|
|
179
|
+
SbbMiniCalendarDayElement
|
|
180
|
+
};
|
|
181
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1jYWxlbmRhci1kYXkuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbWluaS1jYWxlbmRhci9taW5pLWNhbGVuZGFyLWRheS9taW5pLWNhbGVuZGFyLWRheS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlnL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyB0eXBlIERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRldGltZS9kYXRlLWFkYXB0ZXIuanMnO1xuaW1wb3J0IHsgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRldGltZS9uYXRpdmUtZGF0ZS1hZGFwdGVyLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgb21pdEVtcHR5Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbWluaS1jYWxlbmRhci1kYXkuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGRheSBpbiB0aGUgYHNiYi1taW5pLWNhbGVuZGFyLW1vbnRoYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW1pbmktY2FsZW5kYXItZGF5JylcbmNsYXNzIFNiYk1pbmlDYWxlbmRhckRheUVsZW1lbnQ8VCA9IERhdGU+IGV4dGVuZHMgU2JiQnV0dG9uQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIF9kYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8VD4gPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcblxuICAvKiogRGF0ZSBhcyBJU08gc3RyaW5nIChZWVlZLU1NLUREKSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGRhdGU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgbWFya2VyLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1hcmtlcjogJ3RhcmdldCcgfCAnY2lyY2xlJyB8ICdzbGFzaCcgfCAnY3Jvc3MnIHwgc3RyaW5nID0gJyc7XG5cbiAgLyoqIFRoZSBjb2xvciBvZiB0aGUgbWFya2VyLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvbG9yOiAnY2hhcmNvYWwnIHwgJ2Nsb3VkJyB8ICdvcmFuZ2UnIHwgJ3JlZCcgfCAnc2t5JyB8IHN0cmluZyA9ICcnO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGF0ZScpICYmIHRoaXMuZGF0ZSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0QWNjZXNzaWJpbGl0eUZvcm1hdERhdGUodGhpcy5kYXRlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1taW5pLWNhbGVuZGFyLWRheSc6IFNiYk1pbmlDYWxlbmRhckRheUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFnQk0sNkJBQXlCLE1BQUE7OzBCQUQ5QixjQUFjLHVCQUF1QixDQUFDOzs7O29CQUNXOzs7Ozs7Ozs7O0FBQVIsRUFBQSxtQkFBUSxZQUFvQjtBQUFBOztBQVFwRTtBQUtBO0FBS0E7QUFmUSxXQUFBLGVBQStCLFdBQUEsRUFBYSxVQUFVLGVBQWU7QUFLN0QseUJBQUEsd0JBQUEsa0JBQUEsTUFBQSxvQkFBZSxFQUFFO0FBS2pCLHlCQUFBLDJCQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHNCQUEyRCxFQUFFO0FBSzdELHlCQUFBLDBCQUFBLGtCQUFBLE1BQUEseUJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFrRSxFQUFFOzs7O0lBVnBGLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFLcEIsSUFBZ0IsU0FBTTtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBdEIsSUFBZ0IsT0FBTSxPQUFBO0FBQUEseUJBQUEsMEJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUt0QixJQUFnQixRQUFLO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFyQixJQUFnQixNQUFLLE9BQUE7QUFBQSx5QkFBQSx5QkFBQTtBQUFBLElBQUE7QUFBQSxJQUVGLFdBQVcsbUJBQXVDO0FBQ25FLFlBQU0sV0FBVyxpQkFBaUI7QUFFbEMsVUFBSSxrQkFBa0IsSUFBSSxNQUFNLEtBQUssS0FBSyxNQUFNO0FBQzlDLGFBQUssVUFBVSxZQUFZLEtBQUssYUFBYSwyQkFBMkIsS0FBSyxJQUFJO0FBQUEsTUFDbkY7QUFBQSxJQUNGO0FBQUEsSUFFbUIsaUJBQWM7QUFDL0IsYUFBTztBQUFBLElBQ1Q7QUFBQSxLQXRCQSx3Q0FLQSwwQ0FLQTs7d0JBWkMsYUFDQSxVQUFVO0FBSVYseUJBQUEsQ0FBQSxVQUFBLEdBQ0EsU0FBUyxFQUFFLFNBQVMsTUFBTSxXQUFXLG1CQUFBLENBQW9CLENBQUM7QUFJMUQsd0JBQUEsQ0FBQSxVQUFBLEdBQ0EsU0FBUyxFQUFFLFNBQVMsTUFBTSxXQUFXLG1CQUFBLENBQW9CLENBQUM7QUFUM0QsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLG9CQUFBLHVCQUFBO0FBS3BCLGlCQUFBLElBQUEsTUFBQSxvQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFVBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsWUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLFFBQU0sS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQU4sU0FBTTtBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxzQkFBQSx5QkFBQTtBQUt0QixpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixPQUFLLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEscUJBQUEsd0JBQUE7QUFsQnZCLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixPQUQ1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQW9DOzs7In0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-calendar-day.d.ts","sourceRoot":"","sources":["../../../../src/elements/mini-calendar/mini-calendar-day.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oDAAoD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SbbMiniCalendarDayElement } from "./mini-calendar-day/mini-calendar-day.component.js";
|
|
2
|
+
export {
|
|
3
|
+
SbbMiniCalendarDayElement
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1jYWxlbmRhci1kYXkuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
|
|
2
|
+
declare const SbbMiniCalendarMonthElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbElementInternalsMixinType> & typeof LitElement & import('../../core/mixins.js').SbbElementInternalsConstructor;
|
|
3
|
+
/**
|
|
4
|
+
* It displays a month in the `sbb-mini-calendar`.
|
|
5
|
+
*
|
|
6
|
+
* @slot - Use the unnamed slot to add `sbb-mini-calendar-day` elements.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SbbMiniCalendarMonthElement<T = Date> extends SbbMiniCalendarMonthElement_base {
|
|
9
|
+
static styles: CSSResultGroup;
|
|
10
|
+
/** Date as ISO string (YYYY-MM-DD) */
|
|
11
|
+
accessor date: string;
|
|
12
|
+
private _dateAdapter;
|
|
13
|
+
private _monthNames;
|
|
14
|
+
private _monthLabel;
|
|
15
|
+
private _yearLabel;
|
|
16
|
+
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
17
|
+
protected render(): TemplateResult;
|
|
18
|
+
}
|
|
19
|
+
declare global {
|
|
20
|
+
interface HTMLElementTagNameMap {
|
|
21
|
+
'sbb-mini-calendar-month': SbbMiniCalendarMonthElement;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=mini-calendar-month.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-calendar-month.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/mini-calendar/mini-calendar-month/mini-calendar-month.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACpF,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAWvC;;;;GAIG;AACH,qBAEM,2BAA2B,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,gCAAoC;IACtF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,sCAAsC;IACtC,SAEgB,IAAI,EAAE,MAAM,CAAM;IAElC,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAuB;cAEtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAgBzD,MAAM,IAAI,cAAc;CAW5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,yBAAyB,EAAE,2BAA2B,CAAC;KACxD;CACF"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
var __typeError = (msg) => {
|
|
2
|
+
throw TypeError(msg);
|
|
3
|
+
};
|
|
4
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
+
import { __runInitializers, __esDecorate } from "tslib";
|
|
9
|
+
import { css, LitElement, html } from "lit";
|
|
10
|
+
import { customElement, property } from "lit/decorators.js";
|
|
11
|
+
import { readConfig } from "../../core/config/config.js";
|
|
12
|
+
import "../../core/datetime/date-adapter.js";
|
|
13
|
+
import { defaultDateAdapter } from "../../core/datetime/native-date-adapter.js";
|
|
14
|
+
import { forceType } from "../../core/decorators.js";
|
|
15
|
+
import { SbbElementInternalsMixin } from "../../core/mixins.js";
|
|
16
|
+
const style = css`*,
|
|
17
|
+
::before,
|
|
18
|
+
::after {
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host {
|
|
23
|
+
--sbb-mini-calendar-month-offset: 0;
|
|
24
|
+
--sbb-mini-calendar-month-display-year: none;
|
|
25
|
+
display: inline-block;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:host(:is(:state(show-year),[state--show-year])) {
|
|
29
|
+
--sbb-mini-calendar-month-display-year: block;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.sbb-mini-calendar-month-wrapper {
|
|
33
|
+
display: grid;
|
|
34
|
+
height: var(--sbb-mini-calendar-month-height);
|
|
35
|
+
grid-auto-flow: var(--sbb-mini-calendar-grid-auto-flow);
|
|
36
|
+
grid-auto-rows: 0.5rem;
|
|
37
|
+
grid-template-columns: var(--sbb-mini-calendar-month-grid-template-columns);
|
|
38
|
+
grid-template-rows: var(--sbb-mini-calendar-month-grid-template-rows);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.sbb-mini-calendar-month-label-year,
|
|
42
|
+
.sbb-mini-calendar-month-label-month {
|
|
43
|
+
--sbb-text-font-size: var(--sbb-font-size-text-xxs);
|
|
44
|
+
font-family: var(--sbb-typo-font-family);
|
|
45
|
+
font-weight: normal;
|
|
46
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
47
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
48
|
+
font-size: var(--sbb-text-font-size);
|
|
49
|
+
color: var(--sbb-color-granite);
|
|
50
|
+
color: light-dark(var(--sbb-color-granite), var(--sbb-color-silver));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.sbb-mini-calendar-month-label-year {
|
|
54
|
+
display: var(--sbb-mini-calendar-month-display-year);
|
|
55
|
+
}`;
|
|
56
|
+
let SbbMiniCalendarMonthElement = (() => {
|
|
57
|
+
var _date_accessor_storage, _a;
|
|
58
|
+
let _classDecorators = [customElement("sbb-mini-calendar-month")];
|
|
59
|
+
let _classDescriptor;
|
|
60
|
+
let _classExtraInitializers = [];
|
|
61
|
+
let _classThis;
|
|
62
|
+
let _classSuper = SbbElementInternalsMixin(LitElement);
|
|
63
|
+
let _date_decorators;
|
|
64
|
+
let _date_initializers = [];
|
|
65
|
+
let _date_extraInitializers = [];
|
|
66
|
+
_a = class extends _classSuper {
|
|
67
|
+
constructor() {
|
|
68
|
+
super(...arguments);
|
|
69
|
+
__privateAdd(this, _date_accessor_storage);
|
|
70
|
+
__privateSet(this, _date_accessor_storage, __runInitializers(this, _date_initializers, ""));
|
|
71
|
+
this._dateAdapter = (__runInitializers(this, _date_extraInitializers), readConfig().datetime?.dateAdapter ?? defaultDateAdapter);
|
|
72
|
+
this._monthNames = this._dateAdapter.getMonthNames("short");
|
|
73
|
+
this._monthLabel = null;
|
|
74
|
+
this._yearLabel = null;
|
|
75
|
+
}
|
|
76
|
+
/** Date as ISO string (YYYY-MM-DD) */
|
|
77
|
+
get date() {
|
|
78
|
+
return __privateGet(this, _date_accessor_storage);
|
|
79
|
+
}
|
|
80
|
+
set date(value) {
|
|
81
|
+
__privateSet(this, _date_accessor_storage, value);
|
|
82
|
+
}
|
|
83
|
+
willUpdate(changedProperties) {
|
|
84
|
+
super.willUpdate(changedProperties);
|
|
85
|
+
if (changedProperties.has("date") && this.date) {
|
|
86
|
+
if (!this.date.match(/^\d{4}-(0[1-9]|1[0-2])$/)) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const splittedDate = this.date.split("-");
|
|
90
|
+
const date = this._dateAdapter.createDate(+splittedDate[0], +splittedDate[1], 1);
|
|
91
|
+
const offset = this._dateAdapter.getFirstWeekOffset(date);
|
|
92
|
+
this.style?.setProperty("--sbb-mini-calendar-month-offset", `${offset + 1}`);
|
|
93
|
+
this._monthLabel = `${this._monthNames[+splittedDate[1] - 1]}.`;
|
|
94
|
+
this._yearLabel = String(this._dateAdapter.getYear(date));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
render() {
|
|
98
|
+
return html`
|
|
99
|
+
<div class="sbb-mini-calendar-month">
|
|
100
|
+
<div class="sbb-mini-calendar-month-label-year">${this._yearLabel}</div>
|
|
101
|
+
<div class="sbb-mini-calendar-month-wrapper">
|
|
102
|
+
<slot></slot>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="sbb-mini-calendar-month-label-month">${this._monthLabel}</div>
|
|
105
|
+
</div>
|
|
106
|
+
`;
|
|
107
|
+
}
|
|
108
|
+
}, _date_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
109
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
110
|
+
_date_decorators = [forceType(), property()];
|
|
111
|
+
__esDecorate(_a, null, _date_decorators, { kind: "accessor", name: "date", static: false, private: false, access: { has: (obj) => "date" in obj, get: (obj) => obj.date, set: (obj, value) => {
|
|
112
|
+
obj.date = value;
|
|
113
|
+
} }, metadata: _metadata }, _date_initializers, _date_extraInitializers);
|
|
114
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
115
|
+
_classThis = _classDescriptor.value;
|
|
116
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
117
|
+
})(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
118
|
+
return _classThis;
|
|
119
|
+
})();
|
|
120
|
+
export {
|
|
121
|
+
SbbMiniCalendarMonthElement
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1jYWxlbmRhci1tb250aC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9taW5pLWNhbGVuZGFyL21pbmktY2FsZW5kYXItbW9udGgvbWluaS1jYWxlbmRhci1tb250aC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcvY29uZmlnLmpzJztcbmltcG9ydCB7IHR5cGUgRGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGV0aW1lL25hdGl2ZS1kYXRlLWFkYXB0ZXIuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbWluaS1jYWxlbmRhci1tb250aC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbW9udGggaW4gdGhlIGBzYmItbWluaS1jYWxlbmRhcmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1taW5pLWNhbGVuZGFyLWRheWAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1taW5pLWNhbGVuZGFyLW1vbnRoJylcbmNsYXNzIFNiYk1pbmlDYWxlbmRhck1vbnRoRWxlbWVudDxUID0gRGF0ZT4gZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogRGF0ZSBhcyBJU08gc3RyaW5nIChZWVlZLU1NLUREKSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGRhdGU6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPiA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICBwcml2YXRlIF9tb250aE5hbWVzID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0TW9udGhOYW1lcygnc2hvcnQnKTtcbiAgcHJpdmF0ZSBfbW9udGhMYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3llYXJMYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGF0ZScpICYmIHRoaXMuZGF0ZSkge1xuICAgICAgaWYgKCF0aGlzLmRhdGUubWF0Y2goL15cXGR7NH0tKDBbMS05XXwxWzAtMl0pJC8pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNwbGl0dGVkRGF0ZSA9IHRoaXMuZGF0ZS5zcGxpdCgnLScpO1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmNyZWF0ZURhdGUoK3NwbGl0dGVkRGF0ZVswXSwgK3NwbGl0dGVkRGF0ZVsxXSwgMSk7XG4gICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLl9kYXRlQWRhcHRlci5nZXRGaXJzdFdlZWtPZmZzZXQoZGF0ZSk7XG4gICAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItbWluaS1jYWxlbmRhci1tb250aC1vZmZzZXQnLCBgJHtvZmZzZXQgKyAxfWApO1xuXG4gICAgICB0aGlzLl9tb250aExhYmVsID0gYCR7dGhpcy5fbW9udGhOYW1lc1src3BsaXR0ZWREYXRlWzFdIC0gMV19LmA7XG4gICAgICB0aGlzLl95ZWFyTGFiZWwgPSBTdHJpbmcodGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0WWVhcihkYXRlKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW1pbmktY2FsZW5kYXItbW9udGhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1taW5pLWNhbGVuZGFyLW1vbnRoLWxhYmVsLXllYXJcIj4ke3RoaXMuX3llYXJMYWJlbH08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1taW5pLWNhbGVuZGFyLW1vbnRoLXdyYXBwZXJcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW1pbmktY2FsZW5kYXItbW9udGgtbGFiZWwtbW9udGhcIj4ke3RoaXMuX21vbnRoTGFiZWx9PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbWluaS1jYWxlbmRhci1tb250aCc6IFNiYk1pbmlDYWxlbmRhck1vbnRoRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFtQk0sK0JBQTJCLE1BQUE7OzBCQURoQyxjQUFjLHlCQUF5QixDQUFDOzs7O29CQUNXLHlCQUF5QixVQUFVOzs7O0FBQTNDLEVBQUEsbUJBQVEsWUFBb0M7QUFBQTs7QUFNdEY7QUFBZ0IseUJBQUEsd0JBQUEsa0JBQUEsTUFBQSxvQkFBZSxFQUFFO0FBRXpCLFdBQUEsZ0JBQVksa0JBQUEsTUFBQSx1QkFBQSxHQUFtQixhQUFhLFVBQVUsZUFBZTtBQUNyRSxXQUFBLGNBQWMsS0FBSyxhQUFhLGNBQWMsT0FBTztBQUNyRCxXQUFBLGNBQTZCO0FBQzdCLFdBQUEsYUFBNEI7QUFBQSxJQTZCdEM7QUFBQTtBQUFBLElBbENFLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBLElBT0QsV0FBVyxtQkFBdUM7QUFDbkUsWUFBTSxXQUFXLGlCQUFpQjtBQUNsQyxVQUFJLGtCQUFrQixJQUFJLE1BQU0sS0FBSyxLQUFLLE1BQU07QUFDOUMsWUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLHlCQUF5QixHQUFHO0FBQy9DO0FBQUEsUUFDRjtBQUNBLGNBQU0sZUFBZSxLQUFLLEtBQUssTUFBTSxHQUFHO0FBQ3hDLGNBQU0sT0FBTyxLQUFLLGFBQWEsV0FBVyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztBQUMvRSxjQUFNLFNBQVMsS0FBSyxhQUFhLG1CQUFtQixJQUFJO0FBQ3hELGFBQUssT0FBTyxZQUFZLG9DQUFvQyxHQUFHLFNBQVMsQ0FBQyxFQUFFO0FBRTNFLGFBQUssY0FBYyxHQUFHLEtBQUssWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1RCxhQUFLLGFBQWEsT0FBTyxLQUFLLGFBQWEsUUFBUSxJQUFJLENBQUM7QUFBQSxNQUMxRDtBQUFBLElBQ0Y7QUFBQSxJQUVtQixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBLDBEQUUrQyxLQUFLLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQSwyREFJZCxLQUFLLFdBQVc7QUFBQTtBQUFBO0FBQUEsSUFHekU7QUFBQSxLQWpDQTs7d0JBRkMsYUFDQSxVQUFVO0FBQ1gsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLG9CQUFBLHVCQUFBO0FBTnRCLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixPQUQ1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQXNDOzs7In0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-calendar-month.d.ts","sourceRoot":"","sources":["../../../../src/elements/mini-calendar/mini-calendar-month.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,wDAAwD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SbbMiniCalendarMonthElement } from "./mini-calendar-month/mini-calendar-month.component.js";
|
|
2
|
+
export {
|
|
3
|
+
SbbMiniCalendarMonthElement
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1jYWxlbmRhci1tb250aC5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7In0=
|