@3mo/date-time-fields 0.0.1

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 (183) hide show
  1. package/README.md +3 -0
  2. package/dist/Color/Color.d.ts +18 -0
  3. package/dist/Color/Color.d.ts.map +1 -0
  4. package/dist/Color/index.d.ts +2 -0
  5. package/dist/Color/index.d.ts.map +1 -0
  6. package/dist/DateParser.d.ts +9 -0
  7. package/dist/DateParser.d.ts.map +1 -0
  8. package/dist/DateParser.js +93 -0
  9. package/dist/DateRangeParser.d.ts +7 -0
  10. package/dist/DateRangeParser.d.ts.map +1 -0
  11. package/dist/DateRangeParser.js +38 -0
  12. package/dist/DateTime/DateTime.d.ts +48 -0
  13. package/dist/DateTime/DateTime.d.ts.map +1 -0
  14. package/dist/DateTime/DateTimeRange.d.ts +23 -0
  15. package/dist/DateTime/DateTimeRange.d.ts.map +1 -0
  16. package/dist/DateTime/TimeSpan.d.ts +40 -0
  17. package/dist/DateTime/TimeSpan.d.ts.map +1 -0
  18. package/dist/DateTime/index.d.ts +4 -0
  19. package/dist/DateTime/index.d.ts.map +1 -0
  20. package/dist/DateTimeFields/DateParser.d.ts +9 -0
  21. package/dist/DateTimeFields/DateParser.d.ts.map +1 -0
  22. package/dist/DateTimeFields/DateRangeParser.d.ts +7 -0
  23. package/dist/DateTimeFields/DateRangeParser.d.ts.map +1 -0
  24. package/dist/DateTimeFields/FieldDate.d.ts +22 -0
  25. package/dist/DateTimeFields/FieldDate.d.ts.map +1 -0
  26. package/dist/DateTimeFields/FieldDateBase.d.ts +26 -0
  27. package/dist/DateTimeFields/FieldDateBase.d.ts.map +1 -0
  28. package/dist/DateTimeFields/FieldDateRange.d.ts +34 -0
  29. package/dist/DateTimeFields/FieldDateRange.d.ts.map +1 -0
  30. package/dist/DateTimeFields/FieldTime.d.ts +11 -0
  31. package/dist/DateTimeFields/FieldTime.d.ts.map +1 -0
  32. package/dist/DateTimeFields/calendar/Calendar.d.ts +30 -0
  33. package/dist/DateTimeFields/calendar/Calendar.d.ts.map +1 -0
  34. package/dist/DateTimeFields/calendar/CalendarSelectionAdapter.d.ts +11 -0
  35. package/dist/DateTimeFields/calendar/CalendarSelectionAdapter.d.ts.map +1 -0
  36. package/dist/DateTimeFields/calendar/SelectableCalendar.d.ts +16 -0
  37. package/dist/DateTimeFields/calendar/SelectableCalendar.d.ts.map +1 -0
  38. package/dist/DateTimeFields/calendar/index.d.ts +4 -0
  39. package/dist/DateTimeFields/calendar/index.d.ts.map +1 -0
  40. package/dist/DateTimeFields/index.d.ts +11 -0
  41. package/dist/DateTimeFields/index.d.ts.map +1 -0
  42. package/dist/Field/Field.d.ts +38 -0
  43. package/dist/Field/Field.d.ts.map +1 -0
  44. package/dist/Field/FieldComponent.d.ts +48 -0
  45. package/dist/Field/FieldComponent.d.ts.map +1 -0
  46. package/dist/Field/FieldCurrency.d.ts +22 -0
  47. package/dist/Field/FieldCurrency.d.ts.map +1 -0
  48. package/dist/Field/FieldEmail.d.ts +17 -0
  49. package/dist/Field/FieldEmail.d.ts.map +1 -0
  50. package/dist/Field/FieldNumber.d.ts +28 -0
  51. package/dist/Field/FieldNumber.d.ts.map +1 -0
  52. package/dist/Field/FieldPassword.d.ts +17 -0
  53. package/dist/Field/FieldPassword.d.ts.map +1 -0
  54. package/dist/Field/FieldPercent.d.ts +19 -0
  55. package/dist/Field/FieldPercent.d.ts.map +1 -0
  56. package/dist/Field/FieldSearch.d.ts +16 -0
  57. package/dist/Field/FieldSearch.d.ts.map +1 -0
  58. package/dist/Field/FieldText.d.ts +29 -0
  59. package/dist/Field/FieldText.d.ts.map +1 -0
  60. package/dist/Field/FieldTextArea.d.ts +26 -0
  61. package/dist/Field/FieldTextArea.d.ts.map +1 -0
  62. package/dist/Field/InputFieldComponent.d.ts +30 -0
  63. package/dist/Field/InputFieldComponent.d.ts.map +1 -0
  64. package/dist/Field/index.d.ts +13 -0
  65. package/dist/Field/index.d.ts.map +1 -0
  66. package/dist/FieldDate.d.ts +22 -0
  67. package/dist/FieldDate.d.ts.map +1 -0
  68. package/dist/FieldDate.js +45 -0
  69. package/dist/FieldDateBase.d.ts +26 -0
  70. package/dist/FieldDateBase.d.ts.map +1 -0
  71. package/dist/FieldDateBase.js +95 -0
  72. package/dist/FieldDateRange.d.ts +34 -0
  73. package/dist/FieldDateRange.d.ts.map +1 -0
  74. package/dist/FieldDateRange.js +123 -0
  75. package/dist/FieldTime.d.ts +11 -0
  76. package/dist/FieldTime.d.ts.map +1 -0
  77. package/dist/FieldTime.js +19 -0
  78. package/dist/Flex/AsteriskSyntaxStyleHandler.d.ts +9 -0
  79. package/dist/Flex/AsteriskSyntaxStyleHandler.d.ts.map +1 -0
  80. package/dist/Flex/Flex.d.ts +39 -0
  81. package/dist/Flex/Flex.d.ts.map +1 -0
  82. package/dist/Flex/index.d.ts +3 -0
  83. package/dist/Flex/index.d.ts.map +1 -0
  84. package/dist/FocusController/FocusController.d.ts +17 -0
  85. package/dist/FocusController/FocusController.d.ts.map +1 -0
  86. package/dist/FocusController/index.d.ts +2 -0
  87. package/dist/FocusController/index.d.ts.map +1 -0
  88. package/dist/Icon/Icon.d.ts +33 -0
  89. package/dist/Icon/Icon.d.ts.map +1 -0
  90. package/dist/Icon/MaterialIcon.d.ts +2 -0
  91. package/dist/Icon/MaterialIcon.d.ts.map +1 -0
  92. package/dist/Icon/index.d.ts +3 -0
  93. package/dist/Icon/index.d.ts.map +1 -0
  94. package/dist/IconButton/IconButton.d.ts +24 -0
  95. package/dist/IconButton/IconButton.d.ts.map +1 -0
  96. package/dist/IconButton/index.d.ts +3 -0
  97. package/dist/IconButton/index.d.ts.map +1 -0
  98. package/dist/PointerController/PointerController.d.ts +16 -0
  99. package/dist/PointerController/PointerController.d.ts.map +1 -0
  100. package/dist/PointerController/index.d.ts +2 -0
  101. package/dist/PointerController/index.d.ts.map +1 -0
  102. package/dist/Popover/Popover.d.ts +33 -0
  103. package/dist/Popover/Popover.d.ts.map +1 -0
  104. package/dist/Popover/PopoverController.d.ts +16 -0
  105. package/dist/Popover/PopoverController.d.ts.map +1 -0
  106. package/dist/Popover/PopoverPlacement.d.ts +7 -0
  107. package/dist/Popover/PopoverPlacement.d.ts.map +1 -0
  108. package/dist/Popover/index.d.ts +3 -0
  109. package/dist/Popover/index.d.ts.map +1 -0
  110. package/dist/SlotController/SlotController.d.ts +19 -0
  111. package/dist/SlotController/SlotController.d.ts.map +1 -0
  112. package/dist/SlotController/index.d.ts +2 -0
  113. package/dist/SlotController/index.d.ts.map +1 -0
  114. package/dist/Theme/Accent.d.ts +14 -0
  115. package/dist/Theme/Accent.d.ts.map +1 -0
  116. package/dist/Theme/Background.d.ts +12 -0
  117. package/dist/Theme/Background.d.ts.map +1 -0
  118. package/dist/Theme/ColorSet.d.ts +7 -0
  119. package/dist/Theme/ColorSet.d.ts.map +1 -0
  120. package/dist/Theme/Theme.d.ts +7 -0
  121. package/dist/Theme/Theme.d.ts.map +1 -0
  122. package/dist/Theme/ThemeController.d.ts +10 -0
  123. package/dist/Theme/ThemeController.d.ts.map +1 -0
  124. package/dist/Theme/index.d.ts +7 -0
  125. package/dist/Theme/index.d.ts.map +1 -0
  126. package/dist/Theme/styles.css.d.ts +2 -0
  127. package/dist/Theme/styles.css.d.ts.map +1 -0
  128. package/dist/bundle.js +1 -0
  129. package/dist/calendar/Calendar.d.ts +30 -0
  130. package/dist/calendar/Calendar.d.ts.map +1 -0
  131. package/dist/calendar/Calendar.js +203 -0
  132. package/dist/calendar/CalendarSelectionAdapter.d.ts +11 -0
  133. package/dist/calendar/CalendarSelectionAdapter.d.ts.map +1 -0
  134. package/dist/calendar/CalendarSelectionAdapter.js +11 -0
  135. package/dist/calendar/SelectableCalendar.d.ts +16 -0
  136. package/dist/calendar/SelectableCalendar.d.ts.map +1 -0
  137. package/dist/calendar/SelectableCalendar.js +35 -0
  138. package/dist/calendar/index.d.ts +4 -0
  139. package/dist/calendar/index.d.ts.map +1 -0
  140. package/dist/calendar/index.js +3 -0
  141. package/dist/disabledProperty/disabledProperty.d.ts +6 -0
  142. package/dist/disabledProperty/disabledProperty.d.ts.map +1 -0
  143. package/dist/disabledProperty/index.d.ts +2 -0
  144. package/dist/disabledProperty/index.d.ts.map +1 -0
  145. package/dist/index.d.ts +11 -0
  146. package/dist/index.d.ts.map +1 -0
  147. package/dist/index.js +10 -0
  148. package/dist/localization/CardinalPluralizationRulesByLanguage.d.ts +13 -0
  149. package/dist/localization/CardinalPluralizationRulesByLanguage.d.ts.map +1 -0
  150. package/dist/localization/DirectionsByLanguage.d.ts +11 -0
  151. package/dist/localization/DirectionsByLanguage.d.ts.map +1 -0
  152. package/dist/localization/LanguageCode.d.ts +187 -0
  153. package/dist/localization/LanguageCode.d.ts.map +1 -0
  154. package/dist/localization/LanguageController.d.ts +10 -0
  155. package/dist/localization/LanguageController.d.ts.map +1 -0
  156. package/dist/localization/Localizer.d.ts +41 -0
  157. package/dist/localization/Localizer.d.ts.map +1 -0
  158. package/dist/localization/formatters/Currency.d.ts +373 -0
  159. package/dist/localization/formatters/Currency.d.ts.map +1 -0
  160. package/dist/localization/formatters/Date.format.d.ts +31 -0
  161. package/dist/localization/formatters/Date.format.d.ts.map +1 -0
  162. package/dist/localization/formatters/Date.formatAsDate.d.ts +9 -0
  163. package/dist/localization/formatters/Date.formatAsDate.d.ts.map +1 -0
  164. package/dist/localization/formatters/Date.formatAsTime.d.ts +9 -0
  165. package/dist/localization/formatters/Date.formatAsTime.d.ts.map +1 -0
  166. package/dist/localization/formatters/Number.format.d.ts +9 -0
  167. package/dist/localization/formatters/Number.format.d.ts.map +1 -0
  168. package/dist/localization/formatters/Number.formatAsCurrency.d.ts +12 -0
  169. package/dist/localization/formatters/Number.formatAsCurrency.d.ts.map +1 -0
  170. package/dist/localization/formatters/Number.formatAsPercent.d.ts +9 -0
  171. package/dist/localization/formatters/Number.formatAsPercent.d.ts.map +1 -0
  172. package/dist/localization/formatters/Number.formatAsUnit.d.ts +11 -0
  173. package/dist/localization/formatters/Number.formatAsUnit.d.ts.map +1 -0
  174. package/dist/localization/formatters/OptionsWithLanguage.d.ts +5 -0
  175. package/dist/localization/formatters/OptionsWithLanguage.d.ts.map +1 -0
  176. package/dist/localization/formatters/String.toNumber.d.ts +7 -0
  177. package/dist/localization/formatters/String.toNumber.d.ts.map +1 -0
  178. package/dist/localization/formatters/index.d.ts +10 -0
  179. package/dist/localization/formatters/index.d.ts.map +1 -0
  180. package/dist/localization/index.d.ts +7 -0
  181. package/dist/localization/index.d.ts.map +1 -0
  182. package/dist/tsconfig.tsbuildinfo +1 -0
  183. package/package.json +38 -0
@@ -0,0 +1,203 @@
1
+ var Calendar_1;
2
+ import { __decorate } from "tslib";
3
+ import { Component, css, component, html, state, nothing, property, query, classMap, style } from '@a11d/lit';
4
+ import '@a11d/array.prototype.group';
5
+ let Calendar = Calendar_1 = class Calendar extends Component {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.includeWeekNumbers = false;
9
+ this.navigatingDate = new DateTime();
10
+ this.yearSelection = false;
11
+ this.today = new DateTime().round({ smallestUnit: 'day', roundingMode: 'floor' });
12
+ this.years = new Array(200).fill(undefined).map((_n, i) => Calendar_1.startingYearDate.addYears(i));
13
+ }
14
+ static get styles() {
15
+ return css `
16
+ :host {
17
+ --mo-calendar-max-width: 325px;
18
+ --mo-calendar-min-height: 230px;
19
+ --mo-calendar-day-size: 36px;
20
+ --mo-calendar-week-number-width: var(--mo-calendar-day-size);
21
+ }
22
+
23
+ .monthHeader, .week {
24
+ color: var(--mo-color-gray);
25
+ }
26
+
27
+ .monthHeader {
28
+ align-items: center;
29
+ }
30
+
31
+ .navigatingMonth, .navigatingYear {
32
+ font-size: var(--mo-font-size-l);
33
+ transition: var(--mo-duration-quick);
34
+ }
35
+
36
+ .navigatingYear:hover {
37
+ color: var(--mo-color-accent);
38
+ cursor: pointer;
39
+ }
40
+
41
+ .day, .year {
42
+ text-align: center;
43
+ border-radius: 100px;
44
+ cursor: pointer;
45
+ transition: var(--mo-duration-quick);
46
+ font-weight: 500;
47
+ user-select: none;
48
+ font-size: var(--mo-font-size-m);
49
+ width: var(--mo-calendar-day-size);
50
+ -webkit-user-select: none;
51
+ align-items: center;
52
+ justify-content: center;
53
+ }
54
+
55
+ .year {
56
+ width: 100%;
57
+ justify-content: center;
58
+ align-items: center;
59
+ }
60
+
61
+ .selected {
62
+ background: var(--mo-color-accent);
63
+ color: var(--mo-color-accessible) !important;
64
+ }
65
+
66
+ .day {
67
+ height: var(--mo-calendar-day-size);
68
+ }
69
+
70
+ .day:hover, .year:hover {
71
+ background: var(--mo-color-transparent-gray-3);
72
+ }
73
+
74
+ .day:not(.isInMonth) {
75
+ color: var(--mo-color-gray);
76
+ }
77
+
78
+ .day.today {
79
+ color: var(--mo-color-accent);
80
+ }
81
+ `;
82
+ }
83
+ get template() {
84
+ return html `
85
+ <mo-flex alignItems='center' justifyContent='center' ${style({ width: 'var(--mo-calendar-max-width)', minHeight: 'var(--mo-calendar-min-height)' })}>
86
+ <mo-flex direction='horizontal' justifyContent='space-between' alignItems='center' ${style({ width: '100%' })}>
87
+ <mo-icon-button icon=${getComputedStyle(this).direction === 'rtl' ? 'keyboard_arrow_right' : 'keyboard_arrow_left'}
88
+ @click=${() => this.navigatingDate = this.navigatingDate.addMonths(-1)}
89
+ ></mo-icon-button>
90
+ <div>
91
+ <a class='navigatingMonth'>${this.navigatingDate.monthName}</a>
92
+ <a class='navigatingYear' @click=${() => this.toggleYearSelection()}>${this.navigatingDate.yearName}</a>
93
+ </div>
94
+ <mo-icon-button icon=${getComputedStyle(this).direction === 'rtl' ? 'keyboard_arrow_left' : 'keyboard_arrow_right'}
95
+ @click=${() => this.navigatingDate = this.navigatingDate.addMonths(+1)}
96
+ ></mo-icon-button>
97
+ </mo-flex>
98
+
99
+ ${this.yearSelection ? this.yearSelectionTemplate : this.daySelectionTemplate}
100
+ </mo-flex>
101
+ `;
102
+ }
103
+ get daySelectionTemplate() {
104
+ var _a, _b;
105
+ const start = (_a = this.navigatingDate.monthStart) === null || _a === void 0 ? void 0 : _a.weekStart;
106
+ const end = (_b = this.navigatingDate.monthEnd) === null || _b === void 0 ? void 0 : _b.weekEnd;
107
+ const range = this.rangeOf(start, end);
108
+ const weekDaysInMonth = [...range.groupToMap(d => String(d.weekOfYear))]
109
+ .sort(([, dates1], [, dates2]) => { var _a; return ((_a = dates1[0]) === null || _a === void 0 ? void 0 : _a.isBefore(dates2[0])) ? -1 : +1; });
110
+ return html `
111
+ <mo-grid class='month'
112
+ rows='repeat(auto-fill, var(--mo-calendar-day-size))'
113
+ columns=${this.includeWeekNumbers ? 'var(--mo-calendar-week-number-width) repeat(7, var(--mo-calendar-day-size))' : 'repeat(7, var(--mo-calendar-day-size))'}
114
+ ${style({ alignItems: 'center', justifyItems: 'center' })}
115
+ >
116
+ ${this.includeWeekNumbers === false ? nothing : html `<div></div>`}
117
+
118
+ ${DateTime.getWeekDayNames().map(dayName => html `
119
+ <div class='monthHeader'>
120
+ ${dayName.charAt(0).toUpperCase() + dayName.charAt(1)}
121
+ </div>
122
+ `)}
123
+
124
+ ${weekDaysInMonth.map(([weekNumber, days]) => html `
125
+ ${this.includeWeekNumbers === false ? nothing : html `
126
+ <div class='week'>
127
+ ${weekNumber}
128
+ </div>
129
+ `}
130
+
131
+ ${days.map(day => this.getDayTemplate(day))}
132
+ `)}
133
+ </mo-grid>
134
+ `;
135
+ }
136
+ getDayTemplate(day) {
137
+ return html `
138
+ <mo-flex class=${classMap(this.getDefaultDayElementClasses(day))}>${day.format({ day: 'numeric' })}</mo-flex>
139
+ `;
140
+ }
141
+ getDefaultDayElementClasses(day) {
142
+ var _a, _b;
143
+ const monthRange = this.rangeOf(day.monthStart, day.monthEnd);
144
+ const daysOfMonth = (_a = [...monthRange.groupToMap(day => String(day.month))]
145
+ .sort(([, days1], [, days2]) => days1.length > days2.length ? -1 : +1)[0]) === null || _a === void 0 ? void 0 : _a[1];
146
+ return {
147
+ day: true,
148
+ today: day.equals(this.today),
149
+ isInMonth: day.localMonth === ((_b = daysOfMonth === null || daysOfMonth === void 0 ? void 0 : daysOfMonth[0]) === null || _b === void 0 ? void 0 : _b.localMonth),
150
+ };
151
+ }
152
+ get yearSelectionTemplate() {
153
+ return html `
154
+ <mo-scroller ${style({ height: '*' })}>
155
+ <mo-grid rows='repeat(50, var(--mo-calendar-day-size))' columns='repeat(4, 1fr)'>
156
+ ${this.years.map(year => html `
157
+ <mo-flex class=${classMap({ year: true, selected: this.navigatingDate.year === year.year })} @click=${() => this.selectYear(year.year)}>
158
+ ${year.yearName}
159
+ </mo-flex>
160
+ `)}
161
+ </mo-grid>
162
+ </mo-scroller>
163
+ `;
164
+ }
165
+ selectYear(year) {
166
+ this.navigatingDate.setFullYear(year);
167
+ this.yearSelection = false;
168
+ }
169
+ toggleYearSelection() {
170
+ this.yearSelection = !this.yearSelection;
171
+ if (this.yearSelection) {
172
+ new Promise(() => setTimeout(() => {
173
+ this.selectedYearElement.scrollIntoView({
174
+ behavior: 'smooth',
175
+ block: 'center',
176
+ inline: 'center'
177
+ });
178
+ }, 1));
179
+ }
180
+ }
181
+ rangeOf(start, end) {
182
+ return new Array(Math.abs(Math.round(end.until(start).days)) + 1)
183
+ .fill(undefined)
184
+ .map((_, i) => start.addDays(i));
185
+ }
186
+ };
187
+ Calendar.startingYearDate = new DateTime(1900, 6, 1);
188
+ __decorate([
189
+ property({ type: Boolean, reflect: true })
190
+ ], Calendar.prototype, "includeWeekNumbers", void 0);
191
+ __decorate([
192
+ state()
193
+ ], Calendar.prototype, "navigatingDate", void 0);
194
+ __decorate([
195
+ state()
196
+ ], Calendar.prototype, "yearSelection", void 0);
197
+ __decorate([
198
+ query('.year.selected')
199
+ ], Calendar.prototype, "selectedYearElement", void 0);
200
+ Calendar = Calendar_1 = __decorate([
201
+ component('mo-calendar')
202
+ ], Calendar);
203
+ export { Calendar };
@@ -0,0 +1,11 @@
1
+ import { ClassInfo, HTMLTemplateResult } from '@a11d/lit';
2
+ import { SelectableCalendar } from './SelectableCalendar.js';
3
+ export declare abstract class CalendarSelectionAdapter<T> {
4
+ protected readonly calendar: SelectableCalendar<T>;
5
+ constructor(calendar: SelectableCalendar<T>);
6
+ get styles(): import("@a11d/lit").CSSResult;
7
+ abstract getDayTemplate(day: DateTime, classInfo: ClassInfo): HTMLTemplateResult;
8
+ abstract getNavigatingDate(value: T | undefined): DateTime;
9
+ protected select(value: T): void;
10
+ }
11
+ //# sourceMappingURL=CalendarSelectionAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarSelectionAdapter.d.ts","sourceRoot":"","sources":["../../calendar/CalendarSelectionAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,8BAAsB,wBAAwB,CAAC,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBAA/B,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE9D,IAAI,MAAM,kCAAmB;IAE7B,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAEhF,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,QAAQ;IAE1D,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;CAIzB"}
@@ -0,0 +1,11 @@
1
+ import { css } from '@a11d/lit';
2
+ export class CalendarSelectionAdapter {
3
+ constructor(calendar) {
4
+ this.calendar = calendar;
5
+ }
6
+ get styles() { return css ``; }
7
+ select(value) {
8
+ this.calendar.value = value;
9
+ this.calendar.change.dispatch(value);
10
+ }
11
+ }
@@ -0,0 +1,16 @@
1
+ import { CalendarSelectionAdapter, Calendar } from './index.js';
2
+ /** @fires change {CustomEvent<T>} */
3
+ export declare class SelectableCalendar<T> extends Calendar {
4
+ readonly change: EventDispatcher<T>;
5
+ selectionAdapterConstructor: Constructor<CalendarSelectionAdapter<T>>;
6
+ value?: T;
7
+ private _selectionAdapter?;
8
+ get selectionAdapter(): CalendarSelectionAdapter<T>;
9
+ protected getDayTemplate(day: DateTime): import("lit-html").HTMLTemplateResult;
10
+ }
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'mo-selectable-calendar': SelectableCalendar<unknown>;
14
+ }
15
+ }
16
+ //# sourceMappingURL=SelectableCalendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectableCalendar.d.ts","sourceRoot":"","sources":["../../calendar/SelectableCalendar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE/D,qCAAqC;AACrC,qBACa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,QAAQ;IACzC,QAAQ,CAAC,MAAM,EAAG,eAAe,CAAC,CAAC,CAAC,CAAA;IAEjB,2BAA2B,EAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAA;IAK/F,KAAK,CAAC,EAAE,CAAC,CAAA;IAEZ,OAAO,CAAC,iBAAiB,CAAC,CAA6B;IACvD,IAAI,gBAAgB,gCAOnB;cAEkB,cAAc,CAAC,GAAG,EAAE,QAAQ;CAG/C;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,wBAAwB,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;KACrD;CACD"}
@@ -0,0 +1,35 @@
1
+ var SelectableCalendar_1;
2
+ import { __decorate } from "tslib";
3
+ import { component, property, event } from '@a11d/lit';
4
+ import { Calendar } from './index.js';
5
+ /** @fires change {CustomEvent<T>} */
6
+ let SelectableCalendar = SelectableCalendar_1 = class SelectableCalendar extends Calendar {
7
+ get selectionAdapter() {
8
+ if (this._selectionAdapter) {
9
+ return this._selectionAdapter;
10
+ }
11
+ this._selectionAdapter = new this.selectionAdapterConstructor(this);
12
+ SelectableCalendar_1.elementStyles.push(this._selectionAdapter.styles);
13
+ return this._selectionAdapter;
14
+ }
15
+ getDayTemplate(day) {
16
+ return this.selectionAdapter.getDayTemplate(day, this.getDefaultDayElementClasses(day));
17
+ }
18
+ };
19
+ __decorate([
20
+ event()
21
+ ], SelectableCalendar.prototype, "change", void 0);
22
+ __decorate([
23
+ property({ type: Object })
24
+ ], SelectableCalendar.prototype, "selectionAdapterConstructor", void 0);
25
+ __decorate([
26
+ property({
27
+ type: Object, updated() {
28
+ this.navigatingDate = this.selectionAdapter.getNavigatingDate(this.value);
29
+ }
30
+ })
31
+ ], SelectableCalendar.prototype, "value", void 0);
32
+ SelectableCalendar = SelectableCalendar_1 = __decorate([
33
+ component('mo-selectable-calendar')
34
+ ], SelectableCalendar);
35
+ export { SelectableCalendar };
@@ -0,0 +1,4 @@
1
+ export * from './CalendarSelectionAdapter.js';
2
+ export * from './Calendar.js';
3
+ export * from './SelectableCalendar.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../calendar/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,eAAe,CAAA;AAC7B,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './CalendarSelectionAdapter.js';
2
+ export * from './Calendar.js';
3
+ export * from './SelectableCalendar.js';
@@ -0,0 +1,6 @@
1
+ import { LitElement, type UpdatedCallback } from '@a11d/lit';
2
+ export declare const disabledProperty: (options?: {
3
+ blockFocus?: boolean;
4
+ updated?: UpdatedCallback<boolean> | undefined;
5
+ }) => (prototype: LitElement, propertyKey: 'disabled') => void;
6
+ //# sourceMappingURL=disabledProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disabledProperty.d.ts","sourceRoot":"","sources":["../../../disabledProperty/disabledProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,UAAU,EAAY,KAAK,eAAe,EAAE,MAAM,WAAW,CAAA;AAI3E,eAAO,MAAM,gBAAgB,aAAc;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,gBAAgB,OAAO,CAAC,GAAG,SAAS,CAAA;CAC9C,iBACmB,UAAU,eAAe,UAAU,SAgCtD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './disabledProperty.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../disabledProperty/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,11 @@
1
+ import '@3mo/date-time';
2
+ import '@3mo/icon';
3
+ import '@3mo/icon-button';
4
+ import '@3mo/popover';
5
+ import '@3mo/flex';
6
+ import '@3mo/field';
7
+ export * from './FieldTime.js';
8
+ export * from './calendar/index.js';
9
+ export * from './FieldDate.js';
10
+ export * from './FieldDateRange.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAA;AACvB,OAAO,WAAW,CAAA;AAClB,OAAO,kBAAkB,CAAA;AACzB,OAAO,cAAc,CAAA;AACrB,OAAO,WAAW,CAAA;AAClB,OAAO,YAAY,CAAA;AACnB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ import '@3mo/date-time';
2
+ import '@3mo/icon';
3
+ import '@3mo/icon-button';
4
+ import '@3mo/popover';
5
+ import '@3mo/flex';
6
+ import '@3mo/field';
7
+ export * from './FieldTime.js';
8
+ export * from './calendar/index.js';
9
+ export * from './FieldDate.js';
10
+ export * from './FieldDateRange.js';
@@ -0,0 +1,13 @@
1
+ import { LanguageCode } from './LanguageCode.js';
2
+ type PluralizationRuleFunction = (count: number) => number;
3
+ /**
4
+ * Provides cardinal pluralization rules based on the Unicode Common Locale Data Repository.
5
+ * @see http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html
6
+ */
7
+ export declare class CardinalPluralizationRulesByLanguage {
8
+ private static readonly rules;
9
+ static get(languageCode: LanguageCode): PluralizationRuleFunction | undefined;
10
+ private static add;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=CardinalPluralizationRulesByLanguage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardinalPluralizationRulesByLanguage.d.ts","sourceRoot":"","sources":["../../../localization/CardinalPluralizationRulesByLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,KAAK,yBAAyB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;AAE1D;;;GAGG;AACH,qBAAa,oCAAoC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAqD;IA8HlF,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY;IAIrC,OAAO,CAAC,MAAM,CAAC,GAAG;CAGlB"}
@@ -0,0 +1,11 @@
1
+ import { LanguageCode } from './LanguageCode.js';
2
+ type Direction = 'ltr' | 'rtl';
3
+ /** Provides direction for a given language code. */
4
+ export declare class DirectionsByLanguage {
5
+ private static readonly directions;
6
+ static get(languageCode: LanguageCode): Direction;
7
+ static updateAttributes(): void;
8
+ private static add;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=DirectionsByLanguage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DirectionsByLanguage.d.ts","sourceRoot":"","sources":["../../../localization/DirectionsByLanguage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK,CAAA;AAE9B,oDAAoD;AACpD,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAoBvE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY;IAIrC,MAAM,CAAC,gBAAgB;IAKvB,OAAO,CAAC,MAAM,CAAC,GAAG;CAGlB"}
@@ -0,0 +1,187 @@
1
+ export declare const enum LanguageCode {
2
+ Afrikaans = "af",
3
+ Aghem = "agq",
4
+ Akan = "ak",
5
+ Albanian = "sq",
6
+ Amharic = "am",
7
+ Arabic = "ar",
8
+ Armenian = "hy",
9
+ Assamese = "as",
10
+ Asu = "asa",
11
+ Aymara = "ay",
12
+ Azerbaijani = "az",
13
+ Bafia = "ksf",
14
+ Bambara = "bm",
15
+ Basa = "bas",
16
+ Basque = "eu",
17
+ Belarusian = "be",
18
+ Bemba = "bem",
19
+ Bena = "bez",
20
+ Bengali = "bn",
21
+ Bodo = "brx",
22
+ Bosnian = "bs",
23
+ Breton = "br",
24
+ Bulgarian = "bg",
25
+ Burmese = "my",
26
+ Cambodian = "km",
27
+ Catalan = "ca",
28
+ CentralAtlasTamazight = "tzm",
29
+ Cherokee = "chr",
30
+ Chiga = "cgg",
31
+ Chinese = "zh",
32
+ CongoSwahili = "swc",
33
+ Cornish = "kw",
34
+ Criol = "kea",
35
+ Croatian = "hr",
36
+ Czech = "cs",
37
+ Danish = "da",
38
+ Dawida = "dav",
39
+ Douala = "dua",
40
+ Dutch = "nl",
41
+ Dzongkha = "dz",
42
+ Ekugusii = "guz",
43
+ English = "en",
44
+ Esperanto = "eo",
45
+ Estonian = "et",
46
+ Ewe = "ee",
47
+ Ewondo = "ewo",
48
+ Faroese = "fo",
49
+ Farsi = "fa",
50
+ Filipino = "fil",
51
+ Finnish = "fi",
52
+ French = "fr",
53
+ Galician = "gl",
54
+ Ganda = "lg",
55
+ Georgian = "ka",
56
+ GermanSwiss = "gsw",
57
+ German = "de",
58
+ Greek = "el",
59
+ Greenlandic = "kl",
60
+ Guarani = "gn",
61
+ Gujarati = "gu",
62
+ Hausa = "ha",
63
+ Hawaiian = "haw",
64
+ Hebrew = "he",
65
+ Hindi = "hi",
66
+ Hungarian = "hu",
67
+ Icelandic = "is",
68
+ Igbo = "ig",
69
+ Indonesian = "id",
70
+ Inuktitut = "iu",
71
+ Irish = "ga",
72
+ Italian = "it",
73
+ Japanese = "ja",
74
+ Javanese = "jv",
75
+ JolaFonyi = "dyo",
76
+ Kabyle = "kab",
77
+ Kalenjin = "kln",
78
+ Kamba = "kam",
79
+ Kannada = "kn",
80
+ Kashmiri = "ks",
81
+ Kazakh = "kk",
82
+ Kiembu = "ebu",
83
+ Kikuyu = "ki",
84
+ Kinyarwanda = "rw",
85
+ Kirghiz = "ky",
86
+ Konkani = "kok",
87
+ Korean = "ko",
88
+ KoyraboroSenni = "ses",
89
+ Kurdish = "ku",
90
+ Lao = "lo",
91
+ Latin = "la",
92
+ Latvian = "lv",
93
+ Lingala = "ln",
94
+ Lithuanian = "lt",
95
+ LubaKatanga = "lu",
96
+ Luo = "luo",
97
+ Luxembourgish = "lb",
98
+ Luyia = "luy",
99
+ Macedonian = "mk",
100
+ Machame = "jmc",
101
+ MakhuwaMeetto = "mgh",
102
+ Makonde = "kde",
103
+ Malagasy = "mg",
104
+ Malayalam = "ml",
105
+ Malay = "ms",
106
+ Maltese = "mt",
107
+ Manx = "gv",
108
+ Marathi = "mr",
109
+ Masai = "mas",
110
+ Meru = "mer",
111
+ Moldavian = "mo",
112
+ Mongolian = "mn",
113
+ Morisyen = "mfe",
114
+ Mundang = "mua",
115
+ Maldivian = "mdv",
116
+ Nama = "naq",
117
+ Nepali = "ne",
118
+ NorthNdebele = "nd",
119
+ Norwegian = "nb",
120
+ Nuer = "nus",
121
+ Nyankole = "nyn",
122
+ Nynorsk = "nn",
123
+ Oriya = "or",
124
+ Oromo = "om",
125
+ Pashto = "ps",
126
+ Peul = "ff",
127
+ Polish = "pl",
128
+ Portuguese = "pt",
129
+ Punjabi = "pa",
130
+ Quechua = "qu",
131
+ RaetoRomance = "rm",
132
+ Romanian = "ro",
133
+ Rombo = "rof",
134
+ Rundi = "rn",
135
+ Russian = "ru",
136
+ Rwa = "rwk",
137
+ Samburu = "saq",
138
+ Sami = "se",
139
+ Sangu = "sbp",
140
+ Sanskrit = "sa",
141
+ Scottish = "gd",
142
+ Sena = "seh",
143
+ Serbian = "sr",
144
+ Shambala = "ksb",
145
+ Shona = "sn",
146
+ SichuanYi = "ii",
147
+ Sindhi = "sd",
148
+ Sinhalese = "si",
149
+ Slovak = "sk",
150
+ Slovenian = "sl",
151
+ Soga = "xog",
152
+ Somali = "so",
153
+ Songhay = "khq",
154
+ Spanish = "es",
155
+ Sundanese = "su",
156
+ Swahili = "sw",
157
+ Swedish = "sv",
158
+ Tachelhit = "shi",
159
+ Tagalog = "tl",
160
+ Tajiki = "tg",
161
+ Tamil = "ta",
162
+ Tasawaq = "twq",
163
+ Tatar = "tt",
164
+ Telugu = "te",
165
+ Teso = "teo",
166
+ Thai = "th",
167
+ Tibetan = "bo",
168
+ Tigrinya = "ti",
169
+ Tongan = "to",
170
+ Turkish = "tr",
171
+ Turkmen = "tk",
172
+ Uighur = "ug",
173
+ Ukrainian = "uk",
174
+ Urdu = "ur",
175
+ Uzbek = "uz",
176
+ Vai = "vai",
177
+ Vietnamese = "vi",
178
+ Vunjo = "vun",
179
+ Welsh = "cy",
180
+ Xhosa = "xh",
181
+ Yangben = "yav",
182
+ Yiddish = "yi",
183
+ Yoruba = "yo",
184
+ Zarma = "dje",
185
+ Zulu = "zu"
186
+ }
187
+ //# sourceMappingURL=LanguageCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageCode.d.ts","sourceRoot":"","sources":["../../../localization/LanguageCode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Controller, ReactiveElement } from '@a11d/lit';
2
+ export declare class LocalizerController extends Controller {
3
+ protected readonly host: ReactiveElement;
4
+ static readonly connectedComponents: Set<ReactiveElement>;
5
+ static requestUpdate(): void;
6
+ constructor(host: ReactiveElement);
7
+ hostConnected(): void;
8
+ hostDisconnected(): void;
9
+ }
10
+ //# sourceMappingURL=LanguageController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageController.d.ts","sourceRoot":"","sources":["../../../localization/LanguageController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGvD,qBAAa,mBAAoB,SAAQ,UAAU;uBAaV,IAAI,EAAE,eAAe;IAZ7D,MAAM,CAAC,QAAQ,CAAC,mBAAmB,uBAA6B;IAMhE,MAAM,CAAC,aAAa;gBAMoB,IAAI,EAAE,eAAe;IAIpD,aAAa;IAIb,gBAAgB;CAGzB"}
@@ -0,0 +1,41 @@
1
+ import { LanguageCode } from './LanguageCode.js';
2
+ type Dictionary = Map<string, string | Array<string>>;
3
+ type ExtractProperties<T extends string> = T extends `${string}${'${'}${infer P}${'}'}${infer Rest}` ? P | ExtractProperties<Rest> : never;
4
+ type ExtractKey<TProperty extends string> = TProperty extends `${infer Key}:${string}` ? Key : TProperty;
5
+ type ExtractType<T extends string> = T extends `${string}:${infer Type}:${string}` ? GetMatchedType<Type> : T extends `${string}:${infer Type}` ? GetMatchedType<Type> : GetMatchedType<''>;
6
+ type GetMatchedType<T extends string> = T extends keyof LocalizationFormatterTypeMap ? LocalizationFormatterTypeMap[T] : string;
7
+ interface LocalizationFormatterTypeMap {
8
+ [Localizer.pluralityIdentityType]: number;
9
+ 'string': string;
10
+ 'number': number;
11
+ 'Date': Date;
12
+ '': string;
13
+ }
14
+ type LocalizationParameters<T extends string> = {
15
+ [P in ExtractProperties<T> as ExtractKey<P>]: ExtractType<P>;
16
+ };
17
+ export declare class Localizer {
18
+ static readonly defaultLanguage = LanguageCode.English;
19
+ static readonly pluralityIdentityType = "pluralityNumber";
20
+ static readonly languageChange: EventDispatcher<LanguageCode>;
21
+ static get currentLanguage(): LanguageCode;
22
+ static set currentLanguage(value: LanguageCode);
23
+ private static readonly languageCodeStorage;
24
+ private static readonly dictionariesByLanguageCode;
25
+ private static readonly regex;
26
+ static register(languageCode: LanguageCode, dictionary: Dictionary | Record<string, string | Array<string>>): void;
27
+ static get currentLanguageDictionary(): Dictionary | undefined;
28
+ static localize<T extends string>(key: T, parameters?: LocalizationParameters<T>): string;
29
+ static matchLocalizationParameters(key: string): {
30
+ group: string;
31
+ key: string | undefined;
32
+ type: string | undefined;
33
+ }[];
34
+ static getLocalization<T extends string>(key: T, parameters?: LocalizationParameters<T>): string;
35
+ static getLocalizationParameter(key: string, parameter: string): void;
36
+ }
37
+ declare global {
38
+ var t: typeof Localizer.localize;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=Localizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Localizer.d.ts","sourceRoot":"","sources":["../../../localization/Localizer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,KAAK,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AAErD,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IACtC,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;AAEhG,KAAK,UAAU,CAAC,SAAS,SAAS,MAAM,IACvC,SAAS,SAAS,GAAG,MAAM,GAAG,IAAI,MAAM,EAAE,GAAG,GAAG,GAAG,SAAS,CAAA;AAE7D,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAChC,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,IAAI,MAAM,EAAE,GAC3C,cAAc,CAAC,IAAI,CAAC,GACpB,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,EAAE,GACnC,cAAc,CAAC,IAAI,CAAC,GACpB,cAAc,CAAC,EAAE,CAAC,CAAA;AAErB,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,4BAA4B,GACjF,4BAA4B,CAAC,CAAC,CAAC,GAC/B,MAAM,CAAA;AAET,UAAU,4BAA4B;IACrC,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,IAAI,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACV;AAED,KAAK,sBAAsB,CAAC,CAAC,SAAS,MAAM,IAAI;KAC9C,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;CAC5D,CAAA;AAED,qBAAa,SAAS;IACrB,MAAM,CAAC,QAAQ,CAAC,eAAe,wBAAuB;IACtD,MAAM,CAAC,QAAQ,CAAC,qBAAqB,qBAAoB;IAEhD,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAEtE,MAAM,KAAK,eAAe,iBAKzB;IAED,MAAM,KAAK,eAAe,CAAC,KAAK,cAAA,EAG/B;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAA8E;IACzH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAsC;IAExF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAEvD,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAO3G,MAAM,KAAK,yBAAyB,2BAEnC;IAED,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAShF,MAAM,CAAC,2BAA2B,CAAC,GAAG,EAAE,MAAM;;;;;IAK9C,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC;IA2BvF,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAG9D;AAID,OAAO,CAAC,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAA;CAWhC"}