@i-cell/ids-angular 0.0.0-watch
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/README.md +24 -0
- package/accordion/index.d.ts +81 -0
- package/accordion/package.json +3 -0
- package/avatar/index.d.ts +66 -0
- package/avatar/package.json +3 -0
- package/badge/index.d.ts +61 -0
- package/badge/package.json +3 -0
- package/breadcrumb/index.d.ts +67 -0
- package/breadcrumb/package.json +3 -0
- package/button/index.d.ts +81 -0
- package/button/package.json +3 -0
- package/card/index.d.ts +91 -0
- package/card/package.json +3 -0
- package/checkbox/index.d.ts +137 -0
- package/checkbox/package.json +3 -0
- package/chip/index.d.ts +82 -0
- package/chip/package.json +3 -0
- package/core/index.d.ts +168 -0
- package/core/package.json +3 -0
- package/datepicker/index.d.ts +112 -0
- package/datepicker/package.json +3 -0
- package/dialog/index.d.ts +72 -0
- package/dialog/package.json +3 -0
- package/divider/index.d.ts +45 -0
- package/divider/package.json +3 -0
- package/fesm2022/i-cell-ids-angular-accordion.mjs +223 -0
- package/fesm2022/i-cell-ids-angular-accordion.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-avatar.mjs +125 -0
- package/fesm2022/i-cell-ids-angular-avatar.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-badge.mjs +172 -0
- package/fesm2022/i-cell-ids-angular-badge.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +313 -0
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-button.mjs +149 -0
- package/fesm2022/i-cell-ids-angular-button.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-card.mjs +222 -0
- package/fesm2022/i-cell-ids-angular-card.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-checkbox.mjs +350 -0
- package/fesm2022/i-cell-ids-angular-checkbox.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-chip.mjs +166 -0
- package/fesm2022/i-cell-ids-angular-chip.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-core.mjs +409 -0
- package/fesm2022/i-cell-ids-angular-core.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-datepicker.mjs +860 -0
- package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-dialog.mjs +183 -0
- package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-divider.mjs +76 -0
- package/fesm2022/i-cell-ids-angular-divider.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-forms.mjs +972 -0
- package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-icon-button.mjs +120 -0
- package/fesm2022/i-cell-ids-angular-icon-button.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-icon.mjs +158 -0
- package/fesm2022/i-cell-ids-angular-icon.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-menu.mjs +154 -0
- package/fesm2022/i-cell-ids-angular-menu.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-notification.mjs +167 -0
- package/fesm2022/i-cell-ids-angular-notification.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-overlay-panel.mjs +72 -0
- package/fesm2022/i-cell-ids-angular-overlay-panel.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-paginator.mjs +319 -0
- package/fesm2022/i-cell-ids-angular-paginator.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-radio.mjs +312 -0
- package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs +264 -0
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs +283 -0
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-select.mjs +549 -0
- package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-side-nav.mjs +375 -0
- package/fesm2022/i-cell-ids-angular-side-nav.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs +179 -0
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-snackbar.mjs +440 -0
- package/fesm2022/i-cell-ids-angular-snackbar.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-spinner.mjs +67 -0
- package/fesm2022/i-cell-ids-angular-spinner.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-switch.mjs +181 -0
- package/fesm2022/i-cell-ids-angular-switch.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-tab.mjs +142 -0
- package/fesm2022/i-cell-ids-angular-tab.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-table.mjs +663 -0
- package/fesm2022/i-cell-ids-angular-table.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-tag.mjs +116 -0
- package/fesm2022/i-cell-ids-angular-tag.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-tooltip.mjs +586 -0
- package/fesm2022/i-cell-ids-angular-tooltip.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular.mjs +9 -0
- package/fesm2022/i-cell-ids-angular.mjs.map +1 -0
- package/forms/index.d.ts +470 -0
- package/forms/package.json +3 -0
- package/icon/index.d.ts +69 -0
- package/icon/package.json +3 -0
- package/icon-button/index.d.ts +68 -0
- package/icon-button/package.json +3 -0
- package/index.d.ts +2 -0
- package/menu/index.d.ts +68 -0
- package/menu/package.json +3 -0
- package/notification/index.d.ts +68 -0
- package/notification/package.json +3 -0
- package/overlay-panel/index.d.ts +41 -0
- package/overlay-panel/package.json +3 -0
- package/package.json +180 -0
- package/paginator/index.d.ts +122 -0
- package/paginator/package.json +3 -0
- package/radio/index.d.ts +95 -0
- package/radio/package.json +3 -0
- package/segmented-control/index.d.ts +98 -0
- package/segmented-control/package.json +3 -0
- package/segmented-control-toggle/index.d.ts +103 -0
- package/segmented-control-toggle/package.json +3 -0
- package/select/index.d.ts +103 -0
- package/select/package.json +3 -0
- package/side-nav/index.d.ts +107 -0
- package/side-nav/package.json +3 -0
- package/side-sheet/index.d.ts +84 -0
- package/side-sheet/package.json +3 -0
- package/snackbar/index.d.ts +149 -0
- package/snackbar/package.json +3 -0
- package/spinner/index.d.ts +41 -0
- package/spinner/package.json +3 -0
- package/switch/index.d.ts +89 -0
- package/switch/package.json +3 -0
- package/tab/index.d.ts +78 -0
- package/tab/package.json +3 -0
- package/table/index.d.ts +393 -0
- package/table/package.json +3 -0
- package/tag/index.d.ts +70 -0
- package/tag/package.json +3 -0
- package/tooltip/index.d.ts +96 -0
- package/tooltip/package.json +3 -0
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, DestroyRef, Directive, input, NgZone, Injectable, ElementRef, signal, Pipe } from '@angular/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
function addClassPrefix(hostClass, className) {
|
|
6
|
+
if (className == null) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
if (Array.isArray(className)) {
|
|
10
|
+
if (className.some((item) => item == null)) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return `${hostClass}-${className.filter(Boolean).join('-')}`;
|
|
14
|
+
}
|
|
15
|
+
return `${hostClass}-${className}`;
|
|
16
|
+
}
|
|
17
|
+
function createClassList(hostClass, appendableClassNames = [], nonAppendableClassNames = []) {
|
|
18
|
+
return [
|
|
19
|
+
hostClass,
|
|
20
|
+
...appendableClassNames.map((className) => addClassPrefix(hostClass, className)),
|
|
21
|
+
...nonAppendableClassNames,
|
|
22
|
+
].filter(Boolean).join(' ');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
class DirectiveBase {
|
|
26
|
+
constructor() {
|
|
27
|
+
this._hostClassName = `ids-${this._hostName}`;
|
|
28
|
+
this._destroyRef = inject(DestroyRef);
|
|
29
|
+
}
|
|
30
|
+
get _hostName() {
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
_getHostClasses(appendableClassNames = [], nonAppendableClassNames = []) {
|
|
34
|
+
return createClassList(this._hostClassName, appendableClassNames, nonAppendableClassNames);
|
|
35
|
+
}
|
|
36
|
+
_createHostError(message) {
|
|
37
|
+
return new Error(`${this._hostClassName}: ${message}`);
|
|
38
|
+
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DirectiveBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: DirectiveBase, isStandalone: false, host: { properties: { "class": "_hostClasses()" } }, ngImport: i0 }); }
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DirectiveBase, decorators: [{
|
|
43
|
+
type: Directive,
|
|
44
|
+
args: [{
|
|
45
|
+
host: {
|
|
46
|
+
'[class]': '_hostClasses()',
|
|
47
|
+
},
|
|
48
|
+
standalone: false,
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
class DirectiveBaseWithDefaults extends DirectiveBase {
|
|
52
|
+
_getDefaultConfig(defaultConfig, injectionToken) {
|
|
53
|
+
return {
|
|
54
|
+
...defaultConfig,
|
|
55
|
+
...inject(injectionToken, { optional: true }),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function fallbackValue(value, fallbackValue) {
|
|
61
|
+
return value ? value : fallbackValue;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
let nextUniqueId = 0;
|
|
65
|
+
class ComponentBase extends DirectiveBase {
|
|
66
|
+
constructor() {
|
|
67
|
+
super(...arguments);
|
|
68
|
+
this._uniqueId = `${this._hostClassName}-${++nextUniqueId}`;
|
|
69
|
+
this.id = input(this._uniqueId, ...(ngDevMode ? [{ debugName: "id", transform: (val) => fallbackValue(val, this._uniqueId) }] : [{ transform: (val) => fallbackValue(val, this._uniqueId) }]));
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
72
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: ComponentBase, isStandalone: false, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "id()" } }, usesInheritance: true, ngImport: i0 }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ComponentBase, decorators: [{
|
|
75
|
+
type: Directive,
|
|
76
|
+
args: [{
|
|
77
|
+
host: {
|
|
78
|
+
'[id]': 'id()',
|
|
79
|
+
},
|
|
80
|
+
standalone: false,
|
|
81
|
+
}]
|
|
82
|
+
}] });
|
|
83
|
+
class ComponentBaseWithDefaults extends ComponentBase {
|
|
84
|
+
_getDefaultConfig(defaultConfig, injectionToken) {
|
|
85
|
+
return {
|
|
86
|
+
...defaultConfig,
|
|
87
|
+
...inject(injectionToken, { optional: true }),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
class ResizeObserverService {
|
|
93
|
+
constructor() {
|
|
94
|
+
this._zone = inject(NgZone);
|
|
95
|
+
this._observers = new Map();
|
|
96
|
+
this._resizeObserver = new ResizeObserver((entries) => {
|
|
97
|
+
entries.forEach((entry) => {
|
|
98
|
+
const observer = this._observers.get(entry.target);
|
|
99
|
+
this._zone.run(() => observer?.next(entry));
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
observe(target) {
|
|
104
|
+
if (this._observers.has(target)) {
|
|
105
|
+
return this._observers.get(target).asObservable();
|
|
106
|
+
}
|
|
107
|
+
const newObserver = new Subject();
|
|
108
|
+
this._observers.set(target, newObserver);
|
|
109
|
+
this._resizeObserver.observe(target);
|
|
110
|
+
return newObserver.asObservable();
|
|
111
|
+
}
|
|
112
|
+
unobserve(target) {
|
|
113
|
+
const observer = this._observers.get(target);
|
|
114
|
+
if (observer) {
|
|
115
|
+
observer.complete();
|
|
116
|
+
this._observers.delete(target);
|
|
117
|
+
}
|
|
118
|
+
this._resizeObserver.unobserve(target);
|
|
119
|
+
}
|
|
120
|
+
ngOnDestroy() {
|
|
121
|
+
this._resizeObserver.disconnect();
|
|
122
|
+
}
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
124
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ResizeObserverService, providedIn: 'root' }); }
|
|
125
|
+
}
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ResizeObserverService, decorators: [{
|
|
127
|
+
type: Injectable,
|
|
128
|
+
args: [{ providedIn: 'root' }]
|
|
129
|
+
}] });
|
|
130
|
+
|
|
131
|
+
class IdsDetectScrollableDirective {
|
|
132
|
+
constructor() {
|
|
133
|
+
this._hostElement = inject(ElementRef).nativeElement;
|
|
134
|
+
this._resizeObserver = inject(ResizeObserverService);
|
|
135
|
+
this.isScrollable = signal(false, ...(ngDevMode ? [{ debugName: "isScrollable" }] : []));
|
|
136
|
+
}
|
|
137
|
+
ngOnInit() {
|
|
138
|
+
this._resizeObserver.observe(this._hostElement).subscribe(() => {
|
|
139
|
+
this.isScrollable.set(this._hostElement.scrollHeight > this._hostElement.clientHeight);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
ngOnDestroy() {
|
|
143
|
+
this._resizeObserver.unobserve(this._hostElement);
|
|
144
|
+
}
|
|
145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsDetectScrollableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
146
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: IdsDetectScrollableDirective, isStandalone: true, selector: "[idsDetectScrollable]", exportAs: ["idsDetectScrollable"], ngImport: i0 }); }
|
|
147
|
+
}
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsDetectScrollableDirective, decorators: [{
|
|
149
|
+
type: Directive,
|
|
150
|
+
args: [{
|
|
151
|
+
selector: '[idsDetectScrollable]',
|
|
152
|
+
standalone: true,
|
|
153
|
+
exportAs: 'idsDetectScrollable',
|
|
154
|
+
}]
|
|
155
|
+
}] });
|
|
156
|
+
|
|
157
|
+
class IdsSentenceCasePipe {
|
|
158
|
+
transform(value) {
|
|
159
|
+
return value.charAt(0).toUpperCase().concat(value.substring(1));
|
|
160
|
+
}
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSentenceCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
162
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.7", ngImport: i0, type: IdsSentenceCasePipe, isStandalone: true, name: "sentenceCase" }); }
|
|
163
|
+
}
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSentenceCasePipe, decorators: [{
|
|
165
|
+
type: Pipe,
|
|
166
|
+
args: [{
|
|
167
|
+
name: 'sentenceCase',
|
|
168
|
+
standalone: true,
|
|
169
|
+
}]
|
|
170
|
+
}] });
|
|
171
|
+
|
|
172
|
+
const IdsOrientation = {
|
|
173
|
+
VERTICAL: 'vertical',
|
|
174
|
+
HORIZONTAL: 'horizontal',
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
const IdsHorizontalPosition = {
|
|
178
|
+
LEFT: 'left',
|
|
179
|
+
RIGHT: 'right',
|
|
180
|
+
};
|
|
181
|
+
const IdsExtendedHorizontalPosition = {
|
|
182
|
+
...IdsHorizontalPosition,
|
|
183
|
+
CENTER: 'center',
|
|
184
|
+
};
|
|
185
|
+
const IdsVerticalPosition = {
|
|
186
|
+
TOP: 'top',
|
|
187
|
+
BOTTOM: 'bottom',
|
|
188
|
+
};
|
|
189
|
+
const IdsExtendedVerticalPosition = {
|
|
190
|
+
...IdsVerticalPosition,
|
|
191
|
+
CENTER: 'center',
|
|
192
|
+
};
|
|
193
|
+
const IdsPosition = {
|
|
194
|
+
...IdsHorizontalPosition,
|
|
195
|
+
...IdsVerticalPosition,
|
|
196
|
+
};
|
|
197
|
+
const IdsExtendedPosition = {
|
|
198
|
+
...IdsExtendedHorizontalPosition,
|
|
199
|
+
...IdsExtendedVerticalPosition,
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const IdsSizeCollection = {
|
|
203
|
+
SMALL: 'small',
|
|
204
|
+
BIG: 'big',
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
const IdsSize = {
|
|
208
|
+
DENSE: 'dense',
|
|
209
|
+
COMPACT: 'compact',
|
|
210
|
+
COMFORTABLE: 'comfortable',
|
|
211
|
+
SPACIOUS: 'spacious',
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
function isTypeDerivedFrom(type, ancestorType) {
|
|
215
|
+
if (!type || !ancestorType) {
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
const superType = Object.getPrototypeOf(type);
|
|
219
|
+
return superType === ancestorType || isTypeDerivedFrom(superType, ancestorType);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/** Converts a bound attribute's value to a boolean. */
|
|
223
|
+
function coerceBooleanAttribute(value) {
|
|
224
|
+
return value != null && `${value}` !== 'false';
|
|
225
|
+
}
|
|
226
|
+
/** Converts a bound attribute's value to a number. */
|
|
227
|
+
function coerceNumberAttribute(value, fallbackValue = NaN) {
|
|
228
|
+
const isNumberValue = !isNaN(Number(value));
|
|
229
|
+
return isNumberValue ? Number(value) : fallbackValue;
|
|
230
|
+
}
|
|
231
|
+
/** Converts a bound attribute's value to a string and trim. */
|
|
232
|
+
function coerceStringAttribute(value) {
|
|
233
|
+
return value ? String(value).trim() : '';
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function isNumber(value) {
|
|
237
|
+
return typeof value === 'number' || value instanceof Number;
|
|
238
|
+
}
|
|
239
|
+
function isNumberEven(val) {
|
|
240
|
+
return val % 2 === 0;
|
|
241
|
+
}
|
|
242
|
+
function isNumberOdd(val) {
|
|
243
|
+
return val % 2 === 1;
|
|
244
|
+
}
|
|
245
|
+
function positiveModulus(num, divisor) {
|
|
246
|
+
return ((num % divisor) + divisor) % divisor;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function isString(value) {
|
|
250
|
+
return typeof value == 'string' || value instanceof String;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* eslint-disable no-magic-numbers */
|
|
254
|
+
const ISO_8601_REGEXP = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
|
|
255
|
+
const weekLength = 7;
|
|
256
|
+
function padDigits(num) {
|
|
257
|
+
return num > 9 ? String(num) : `0${num}`;
|
|
258
|
+
}
|
|
259
|
+
function dayOfWeekWithOffset(weekDay, offset) {
|
|
260
|
+
return (weekLength + weekDay.getDay() - offset) % weekLength;
|
|
261
|
+
}
|
|
262
|
+
function isDate(value) {
|
|
263
|
+
return value instanceof Date;
|
|
264
|
+
}
|
|
265
|
+
function isValidDate(value) {
|
|
266
|
+
return isDate(value) && !isNaN(value.getTime());
|
|
267
|
+
}
|
|
268
|
+
function getValidDateOrNull(value) {
|
|
269
|
+
return isValidDate(value) ? value : null;
|
|
270
|
+
}
|
|
271
|
+
function equalDates(date1, date2) {
|
|
272
|
+
// eslint-disable-next-line eqeqeq
|
|
273
|
+
return date1 && date2 ? Object.is(+startOfDay(date1), +startOfDay(date2)) : date1 == date2;
|
|
274
|
+
}
|
|
275
|
+
function compareDates(date1, date2) {
|
|
276
|
+
return Math.sign(+date1 - +date2);
|
|
277
|
+
}
|
|
278
|
+
function clampDate(date, min, max) {
|
|
279
|
+
if (!isValidDate(date)) {
|
|
280
|
+
return date;
|
|
281
|
+
}
|
|
282
|
+
const dateMillis = date.getTime();
|
|
283
|
+
const minDate = isValidDate(min) ? min.getTime() : dateMillis;
|
|
284
|
+
const maxDate = isValidDate(max) ? max.getTime() : dateMillis;
|
|
285
|
+
return new Date(Math.max(minDate, Math.min(dateMillis, maxDate)));
|
|
286
|
+
}
|
|
287
|
+
function invalidDate() {
|
|
288
|
+
return new Date(NaN);
|
|
289
|
+
}
|
|
290
|
+
function cloneDate(date) {
|
|
291
|
+
return new Date(date);
|
|
292
|
+
}
|
|
293
|
+
function parseDate(value, utc = false) {
|
|
294
|
+
if (!value) {
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
if (ISO_8601_REGEXP.test(value)) {
|
|
298
|
+
return new Date(utc ? value : `${value}T00:00:00`);
|
|
299
|
+
}
|
|
300
|
+
return invalidDate();
|
|
301
|
+
}
|
|
302
|
+
function deserializeDate(value) {
|
|
303
|
+
// Numeric timestamp
|
|
304
|
+
if (isNumber(value)) {
|
|
305
|
+
return new Date(value);
|
|
306
|
+
}
|
|
307
|
+
// Empty value -> null
|
|
308
|
+
if (!value) {
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
// value is a Date instance, nothing to process
|
|
312
|
+
if (isDate(value)) {
|
|
313
|
+
return value;
|
|
314
|
+
}
|
|
315
|
+
if (isString(value)) {
|
|
316
|
+
return parseDate(value);
|
|
317
|
+
}
|
|
318
|
+
return invalidDate();
|
|
319
|
+
}
|
|
320
|
+
function formatDate(date) {
|
|
321
|
+
const year = date.getFullYear();
|
|
322
|
+
const month = date.getMonth() + 1;
|
|
323
|
+
const day = date.getDate();
|
|
324
|
+
return `${year}-${padDigits(month)}-${padDigits(day)}`;
|
|
325
|
+
}
|
|
326
|
+
function formatUTCDate(date) {
|
|
327
|
+
return date.toISOString().split('T')[0];
|
|
328
|
+
}
|
|
329
|
+
function addDays(date, days) {
|
|
330
|
+
const clonedDate = cloneDate(date);
|
|
331
|
+
clonedDate.setDate(clonedDate.getDate() + days);
|
|
332
|
+
return clonedDate;
|
|
333
|
+
}
|
|
334
|
+
function addMonths(date, months) {
|
|
335
|
+
const newDate = new Date();
|
|
336
|
+
newDate.setFullYear(date.getFullYear(), date.getMonth() + months, date.getDate());
|
|
337
|
+
newDate.setHours(0, 0, 0, 0);
|
|
338
|
+
const newMonth = newDate.getMonth();
|
|
339
|
+
const desiredMonth = positiveModulus(date.getMonth() + months, 12);
|
|
340
|
+
if (newMonth !== desiredMonth) {
|
|
341
|
+
newDate.setDate(0);
|
|
342
|
+
}
|
|
343
|
+
return newDate;
|
|
344
|
+
}
|
|
345
|
+
function addYears(date, years) {
|
|
346
|
+
return addMonths(date, years * 12);
|
|
347
|
+
}
|
|
348
|
+
function startOfDay(date) {
|
|
349
|
+
const clonedDate = cloneDate(date);
|
|
350
|
+
clonedDate.setHours(0, 0, 0, 0);
|
|
351
|
+
return clonedDate;
|
|
352
|
+
}
|
|
353
|
+
function endOfDay(date) {
|
|
354
|
+
const clonedDate = cloneDate(date);
|
|
355
|
+
clonedDate.setHours(23, 59, 59, 999);
|
|
356
|
+
return clonedDate;
|
|
357
|
+
}
|
|
358
|
+
function startOfWeek(weekDay, offset) {
|
|
359
|
+
return addDays(weekDay, -dayOfWeekWithOffset(weekDay, offset));
|
|
360
|
+
}
|
|
361
|
+
function endOfWeek(weekDay, offset) {
|
|
362
|
+
return addDays(weekDay, 6 - dayOfWeekWithOffset(weekDay, offset));
|
|
363
|
+
}
|
|
364
|
+
function startOfMonth(date) {
|
|
365
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
366
|
+
}
|
|
367
|
+
function endOfMonth(date) {
|
|
368
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
369
|
+
}
|
|
370
|
+
function startOfYear(date) {
|
|
371
|
+
return new Date(date.getFullYear(), 0, 1);
|
|
372
|
+
}
|
|
373
|
+
function endOfYear(date) {
|
|
374
|
+
return new Date(date.getFullYear(), 12, 0);
|
|
375
|
+
}
|
|
376
|
+
function getDatesBetween(startDate, endDate) {
|
|
377
|
+
if (!isValidDate(startDate) || !isValidDate(endDate)) {
|
|
378
|
+
return [];
|
|
379
|
+
}
|
|
380
|
+
let current = startOfDay(startDate);
|
|
381
|
+
const end = startOfDay(endDate);
|
|
382
|
+
const result = [];
|
|
383
|
+
while (current <= end) {
|
|
384
|
+
result.push(new Date(current));
|
|
385
|
+
current = addDays(current, 1);
|
|
386
|
+
}
|
|
387
|
+
return result;
|
|
388
|
+
}
|
|
389
|
+
function createNormalizedDate(year, month, date) {
|
|
390
|
+
const daysInMonth = new Date(year, month + 1, 0).getDate();
|
|
391
|
+
return new Date(year, month, Math.min(date, daysInMonth));
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
function compare(value1, value2) {
|
|
395
|
+
if (Number.isFinite(value1) && Number.isFinite(value2)) {
|
|
396
|
+
return Math.sign(value1 - value2);
|
|
397
|
+
}
|
|
398
|
+
if (isValidDate(value1) && isValidDate(value2)) {
|
|
399
|
+
return compare(value1.valueOf(), value2.valueOf());
|
|
400
|
+
}
|
|
401
|
+
return String(value1).localeCompare(String(value2));
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Generated bundle index. Do not edit.
|
|
406
|
+
*/
|
|
407
|
+
|
|
408
|
+
export { ComponentBase, ComponentBaseWithDefaults, DirectiveBase, DirectiveBaseWithDefaults, IdsDetectScrollableDirective, IdsExtendedHorizontalPosition, IdsExtendedPosition, IdsExtendedVerticalPosition, IdsHorizontalPosition, IdsOrientation, IdsPosition, IdsSentenceCasePipe, IdsSize, IdsSizeCollection, IdsVerticalPosition, ResizeObserverService, addClassPrefix, addDays, addMonths, addYears, clampDate, cloneDate, coerceBooleanAttribute, coerceNumberAttribute, coerceStringAttribute, compare, compareDates, createClassList, createNormalizedDate, deserializeDate, endOfDay, endOfMonth, endOfWeek, endOfYear, equalDates, fallbackValue, formatDate, formatUTCDate, getDatesBetween, getValidDateOrNull, invalidDate, isDate, isNumber, isNumberEven, isNumberOdd, isString, isTypeDerivedFrom, isValidDate, parseDate, positiveModulus, startOfDay, startOfMonth, startOfWeek, startOfYear };
|
|
409
|
+
//# sourceMappingURL=i-cell-ids-angular-core.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-core.mjs","sources":["../../../projects/widgets/core/utils/class-prefix.ts","../../../projects/widgets/core/base-classes/directive-base.ts","../../../projects/widgets/core/utils/fallback-value.ts","../../../projects/widgets/core/base-classes/component-base.ts","../../../projects/widgets/core/services/resize-observer.service.ts","../../../projects/widgets/core/directives/detect-scrollable.directive.ts","../../../projects/widgets/core/pipes/sentence-case.pipe.ts","../../../projects/widgets/core/types/orientation.type.ts","../../../projects/widgets/core/types/position.type.ts","../../../projects/widgets/core/types/size-collection.type.ts","../../../projects/widgets/core/types/size.type.ts","../../../projects/widgets/core/utils/class.ts","../../../projects/widgets/core/utils/coercion.ts","../../../projects/widgets/core/utils/number.ts","../../../projects/widgets/core/utils/string.ts","../../../projects/widgets/core/utils/date.ts","../../../projects/widgets/core/utils/compare.ts","../../../projects/widgets/core/i-cell-ids-angular-core.ts"],"sourcesContent":["export function addClassPrefix(\n hostClass: string,\n className: string | Array<string | null | undefined> | null | undefined,\n): string | null {\n if (className == null) {\n return null;\n }\n\n if (Array.isArray(className)) {\n if (className.some((item) => item == null)) {\n return null;\n }\n return `${hostClass}-${className.filter(Boolean).join('-')}`;\n }\n\n return `${hostClass}-${className}`;\n}\n\nexport function createClassList(\n hostClass: string,\n appendableClassNames: Array<string | Array<string | null | undefined> | null | undefined> = [],\n nonAppendableClassNames: Array<string | null> = [],\n): string {\n return [\n hostClass,\n ...appendableClassNames.map((className) => addClassPrefix(hostClass, className)),\n ...nonAppendableClassNames,\n ].filter(Boolean).join(' ');\n}\n","import { createClassList } from '../utils/class-prefix';\n\nimport { DestroyRef, Directive, inject, InjectionToken, Signal } from '@angular/core';\n\n@Directive({\n host: {\n '[class]': '_hostClasses()',\n },\n standalone: false,\n})\nexport abstract class DirectiveBase {\n protected get _hostName(): string {\n return '';\n }\n\n protected readonly _hostClassName = `ids-${this._hostName}`;\n\n protected readonly _destroyRef = inject(DestroyRef);\n\n protected abstract _hostClasses: Signal<string>;\n protected _getHostClasses(\n appendableClassNames: Array<string | Array<string | null | undefined> | null | undefined> = [],\n nonAppendableClassNames: Array<string | null> = [],\n ): string {\n return createClassList(this._hostClassName, appendableClassNames, nonAppendableClassNames);\n }\n\n protected _createHostError(message: string): Error {\n return new Error(`${this._hostClassName}: ${message}`);\n }\n}\n\nexport abstract class DirectiveBaseWithDefaults<D> extends DirectiveBase {\n protected abstract readonly _defaultConfig: D;\n\n protected _getDefaultConfig(defaultConfig: Required<D>, injectionToken: InjectionToken<D>): Required<D> {\n return {\n ...defaultConfig,\n ...inject(injectionToken, { optional: true }),\n };\n }\n}\n","export function fallbackValue<T>(value: T | undefined, fallbackValue: T): T {\n return value ? value : fallbackValue;\n}\n","import { DirectiveBase } from './directive-base';\n\nimport { fallbackValue } from '../utils/fallback-value';\n\nimport { Directive, inject, InjectionToken, input } from '@angular/core';\n\nlet nextUniqueId = 0;\n\n@Directive({\n host: {\n '[id]': 'id()',\n },\n standalone: false,\n})\nexport abstract class ComponentBase extends DirectiveBase {\n protected readonly _uniqueId = `${this._hostClassName}-${++nextUniqueId}`;\n\n public readonly id = input<string, string | undefined>(this._uniqueId, { transform: (val) => fallbackValue(val, this._uniqueId) });\n}\n\nexport abstract class ComponentBaseWithDefaults<D> extends ComponentBase {\n protected abstract readonly _defaultConfig: D;\n\n protected _getDefaultConfig(defaultConfig: Required<D>, injectionToken: InjectionToken<D>): Required<D> {\n return {\n ...defaultConfig,\n ...inject(injectionToken, { optional: true }),\n };\n }\n}\n","import { Injectable, NgZone, OnDestroy, inject } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n private _zone = inject(NgZone);\n\n private _observers = new Map<Element, Subject<ResizeObserverEntry>>();\n private _resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const observer = this._observers.get(entry.target);\n this._zone.run(() => observer?.next(entry));\n });\n });\n\n public observe(target: Element): Observable<ResizeObserverEntry> {\n if (this._observers.has(target)) {\n return this._observers.get(target)!.asObservable();\n }\n\n const newObserver = new Subject<ResizeObserverEntry>();\n\n this._observers.set(target, newObserver);\n this._resizeObserver.observe(target);\n\n return newObserver.asObservable();\n }\n\n public unobserve(target: Element): void {\n const observer = this._observers.get(target);\n\n if (observer) {\n observer.complete();\n this._observers.delete(target);\n }\n\n this._resizeObserver.unobserve(target);\n }\n\n public ngOnDestroy(): void {\n this._resizeObserver.disconnect();\n }\n}\n","import { ResizeObserverService } from '../services/resize-observer.service';\n\nimport { Directive, ElementRef, OnDestroy, OnInit, inject, signal } from '@angular/core';\n\n@Directive({\n selector: '[idsDetectScrollable]',\n standalone: true,\n exportAs: 'idsDetectScrollable',\n})\nexport class IdsDetectScrollableDirective implements OnInit, OnDestroy {\n private _hostElement = inject(ElementRef).nativeElement;\n private _resizeObserver = inject(ResizeObserverService);\n\n public isScrollable = signal(false);\n\n public ngOnInit(): void {\n this._resizeObserver.observe(this._hostElement).subscribe(() => {\n this.isScrollable.set(this._hostElement.scrollHeight > this._hostElement.clientHeight);\n },\n );\n }\n\n public ngOnDestroy(): void {\n this._resizeObserver.unobserve(this._hostElement);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'sentenceCase',\n standalone: true,\n})\nexport class IdsSentenceCasePipe implements PipeTransform {\n public transform(value: string): unknown {\n return value.charAt(0).toUpperCase().concat(value.substring(1));\n }\n\n}\n","export const IdsOrientation = {\n VERTICAL: 'vertical',\n HORIZONTAL: 'horizontal',\n} as const;\n\nexport type IdsOrientationType = (typeof IdsOrientation)[keyof typeof IdsOrientation];\n","export const IdsHorizontalPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsHorizontalPositionType = (typeof IdsHorizontalPosition)[keyof typeof IdsHorizontalPosition];\n\nexport const IdsExtendedHorizontalPosition = {\n ...IdsHorizontalPosition,\n CENTER: 'center',\n} as const;\n\nexport type IdsExtendedHorizontalPositionType = (typeof IdsExtendedHorizontalPosition)[keyof typeof IdsExtendedHorizontalPosition];\n\nexport const IdsVerticalPosition = {\n TOP: 'top',\n BOTTOM: 'bottom',\n} as const;\n\nexport type IdsVerticalPositionType = (typeof IdsVerticalPosition)[keyof typeof IdsVerticalPosition];\n\nexport const IdsExtendedVerticalPosition = {\n ...IdsVerticalPosition,\n CENTER: 'center',\n} as const;\n\nexport type IdsExtendedVerticalPositionType = (typeof IdsExtendedVerticalPosition)[keyof typeof IdsExtendedVerticalPosition];\n\nexport const IdsPosition = {\n ...IdsHorizontalPosition,\n ...IdsVerticalPosition,\n} as const;\n\nexport type IdsPositionType = (typeof IdsPosition)[keyof typeof IdsPosition];\n\nexport type IdsPositionPairType = [IdsHorizontalPositionType, IdsVerticalPositionType];\n\nexport const IdsExtendedPosition = {\n ...IdsExtendedHorizontalPosition,\n ...IdsExtendedVerticalPosition,\n} as const;\n\nexport type IdsExtendedPositionType = (typeof IdsExtendedPosition)[keyof typeof IdsExtendedPosition];\n\nexport type IdsExtendedPositionPairType = [IdsExtendedHorizontalPositionType, IdsExtendedVerticalPositionType];\n","export const IdsSizeCollection = {\n SMALL: 'small',\n BIG: 'big',\n} as const;\n\nexport type IdsSizeCollectionType = (typeof IdsSizeCollection)[keyof typeof IdsSizeCollection];\n","export const IdsSize = {\n DENSE: 'dense',\n COMPACT: 'compact',\n COMFORTABLE: 'comfortable',\n SPACIOUS: 'spacious',\n} as const;\n\nexport type IdsSizeType = (typeof IdsSize)[keyof typeof IdsSize];\n","import { AbstractType, Type } from '@angular/core';\n\nexport function isTypeDerivedFrom<T1, T2>(type: Type<T1> | AbstractType<T1>, ancestorType: Type<T2> | AbstractType<T2>): boolean {\n if (!type || !ancestorType) {\n return false;\n }\n\n const superType = Object.getPrototypeOf(type);\n\n return superType === ancestorType || isTypeDerivedFrom(superType, ancestorType);\n}\n","/** Converts a bound attribute's value to a boolean. */\nexport function coerceBooleanAttribute(value: unknown): boolean {\n return value != null && `${value}` !== 'false';\n}\n\n/** Converts a bound attribute's value to a number. */\nexport function coerceNumberAttribute(value: unknown, fallbackValue = NaN): number {\n const isNumberValue = !isNaN(Number(value));\n return isNumberValue ? Number(value) : fallbackValue;\n}\n\n/** Converts a bound attribute's value to a string and trim. */\nexport function coerceStringAttribute(value: unknown): string {\n return value ? String(value).trim() : '';\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number' || value instanceof Number;\n}\n\nexport function isNumberEven(val: number): boolean {\n return val % 2 === 0;\n}\n\nexport function isNumberOdd(val: number): boolean {\n return val % 2 === 1;\n}\n\nexport function positiveModulus(num: number, divisor: number): number {\n return ((num % divisor) + divisor) % divisor;\n}\n","export function isString(value: unknown): value is string {\n return typeof value == 'string' || value instanceof String;\n}\n","/* eslint-disable no-magic-numbers */\n\nimport { isNumber, positiveModulus } from './number';\nimport { isString } from './string';\n\nconst ISO_8601_REGEXP = /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\n\nconst weekLength = 7;\n\nfunction padDigits(num: number): string {\n return num > 9 ? String(num) : `0${num}`;\n}\n\nfunction dayOfWeekWithOffset(weekDay: Date, offset: number): number {\n return (weekLength + weekDay.getDay() - offset) % weekLength;\n}\n\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n\nexport function isValidDate(value: unknown): value is Date {\n return isDate(value) && !isNaN(value.getTime());\n}\n\nexport function getValidDateOrNull(value: unknown): Date | null {\n return isValidDate(value) ? value : null;\n}\n\nexport function equalDates(date1: Date | null, date2: Date | null): boolean {\n // eslint-disable-next-line eqeqeq\n return date1 && date2 ? Object.is(+startOfDay(date1), +startOfDay(date2)) : date1 == date2;\n}\n\nexport function compareDates(date1: Date, date2: Date): number {\n return Math.sign(+date1 - +date2);\n}\n\nexport function clampDate(date: Date, min: Date | null, max: Date | null): Date;\nexport function clampDate(date: Date | null, min: Date | null, max: Date | null): Date | null {\n if (!isValidDate(date)) {\n return date;\n }\n\n const dateMillis = date.getTime();\n const minDate = isValidDate(min) ? min.getTime() : dateMillis;\n const maxDate = isValidDate(max) ? max.getTime() : dateMillis;\n\n return new Date(Math.max(minDate, Math.min(dateMillis, maxDate)));\n}\n\nexport function invalidDate(): Date {\n return new Date(NaN);\n}\n\nexport function cloneDate(date: Date): Date {\n return new Date(date);\n}\n\nexport function parseDate(value: string, utc = false): Date | null {\n if (!value) {\n return null;\n }\n if (ISO_8601_REGEXP.test(value)) {\n return new Date(utc ? value : `${value}T00:00:00`);\n }\n return invalidDate();\n}\n\nexport function deserializeDate(value: unknown): Date | null {\n // Numeric timestamp\n if (isNumber(value)) {\n return new Date(value);\n }\n\n // Empty value -> null\n if (!value) {\n return null;\n }\n\n // value is a Date instance, nothing to process\n if (isDate(value)) {\n return value;\n }\n\n if (isString(value)) {\n return parseDate(value);\n }\n\n return invalidDate();\n}\n\nexport function formatDate(date: Date): string {\n const year = date.getFullYear();\n const month = date.getMonth() + 1;\n const day = date.getDate();\n\n return `${year}-${padDigits(month)}-${padDigits(day)}`;\n}\n\nexport function formatUTCDate(date: Date): string {\n return date.toISOString().split('T')[0];\n}\n\nexport function addDays(date: Date, days: number): Date {\n const clonedDate = cloneDate(date);\n clonedDate.setDate(clonedDate.getDate() + days);\n return clonedDate;\n}\n\nexport function addMonths(date: Date, months: number): Date {\n const newDate = new Date();\n newDate.setFullYear(date.getFullYear(), date.getMonth() + months, date.getDate());\n newDate.setHours(0, 0, 0, 0);\n\n const newMonth = newDate.getMonth();\n const desiredMonth = positiveModulus(date.getMonth() + months, 12);\n\n if (newMonth !== desiredMonth) {\n newDate.setDate(0);\n }\n\n return newDate;\n}\n\nexport function addYears(date: Date, years: number): Date {\n return addMonths(date, years * 12);\n}\n\nexport function startOfDay(date: Date): Date {\n const clonedDate = cloneDate(date);\n clonedDate.setHours(0, 0, 0, 0);\n return clonedDate;\n}\n\nexport function endOfDay(date: Date): Date {\n const clonedDate = cloneDate(date);\n clonedDate.setHours(23, 59, 59, 999);\n return clonedDate;\n}\n\nexport function startOfWeek(weekDay: Date, offset: number): Date {\n return addDays(weekDay, -dayOfWeekWithOffset(weekDay, offset));\n}\n\nexport function endOfWeek(weekDay: Date, offset: number): Date {\n return addDays(weekDay, 6 - dayOfWeekWithOffset(weekDay, offset));\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport function endOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\n}\n\nexport function startOfYear(date: Date): Date {\n return new Date(date.getFullYear(), 0, 1);\n}\n\nexport function endOfYear(date: Date): Date {\n return new Date(date.getFullYear(), 12, 0);\n}\n\nexport function getDatesBetween(startDate: Date, endDate: Date): Date[] {\n if (!isValidDate(startDate) || !isValidDate(endDate)) {\n return [];\n }\n\n let current = startOfDay(startDate);\n const end = startOfDay(endDate);\n const result = [];\n\n while (current <= end) {\n result.push(new Date(current));\n current = addDays(current, 1);\n }\n\n return result;\n}\n\nexport function createNormalizedDate(year: number, month: number, date: number): Date {\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n return new Date(year, month, Math.min(date, daysInMonth));\n}\n","import { isValidDate } from './date';\n\nexport function compare(value1: unknown, value2: unknown): number {\n if (Number.isFinite(value1) && Number.isFinite(value2)) {\n return Math.sign((value1 as number) - (value2 as number));\n }\n\n if (isValidDate(value1) && isValidDate(value2)) {\n return compare(value1.valueOf(), value2.valueOf());\n }\n\n return String(value1).localeCompare(String(value2));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAAM,SAAU,cAAc,CAC5B,SAAiB,EACjB,SAAuE,EAAA;AAEvE,IAAA,IAAI,SAAS,IAAI,IAAI,EAAE;AACrB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAC5B,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE;AAC1C,YAAA,OAAO,IAAI;QACb;AACA,QAAA,OAAO,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC9D;AAEA,IAAA,OAAO,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,SAAS,EAAE;AACpC;AAEM,SAAU,eAAe,CAC7B,SAAiB,EACjB,oBAAA,GAA4F,EAAE,EAC9F,uBAAA,GAAgD,EAAE,EAAA;IAElD,OAAO;QACL,SAAS;AACT,QAAA,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChF,QAAA,GAAG,uBAAuB;KAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B;;MClBsB,aAAa,CAAA;AANnC,IAAA,WAAA,GAAA;AAWqB,QAAA,IAAA,CAAA,cAAc,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,SAAS,EAAE;AAExC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAapD,IAAA;AAnBC,IAAA,IAAc,SAAS,GAAA;AACrB,QAAA,OAAO,EAAE;IACX;AAOU,IAAA,eAAe,CACvB,oBAAA,GAA4F,EAAE,EAC9F,0BAAgD,EAAE,EAAA;QAElD,OAAO,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;IAC5F;AAEU,IAAA,gBAAgB,CAAC,OAAe,EAAA;QACxC,OAAO,IAAI,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,cAAc,CAAA,EAAA,EAAK,OAAO,CAAA,CAAE,CAAC;IACxD;8GAnBoB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,gBAAgB;AAC5B,qBAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;AAuBK,MAAgB,yBAA6B,SAAQ,aAAa,CAAA;IAG5D,iBAAiB,CAAC,aAA0B,EAAE,cAAiC,EAAA;QACvF,OAAO;AACL,YAAA,GAAG,aAAa;YAChB,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC9C;IACH;AACD;;ACzCK,SAAU,aAAa,CAAI,KAAoB,EAAE,aAAgB,EAAA;IACrE,OAAO,KAAK,GAAG,KAAK,GAAG,aAAa;AACtC;;ACIA,IAAI,YAAY,GAAG,CAAC;AAQd,MAAgB,aAAc,SAAQ,aAAa,CAAA;AANzD,IAAA,WAAA,GAAA;;QAOqB,IAAA,CAAA,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,CAAA,CAAA,EAAI,EAAE,YAAY,CAAA,CAAE;AAEzD,QAAA,IAAA,CAAA,EAAE,GAAG,KAAK,CAA6B,IAAI,CAAC,SAAS,sCAAI,SAAS,EAAE,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAxD,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAC;AACnI,IAAA;8GAJqB,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,IAAI,EAAE;AACJ,wBAAA,MAAM,EAAE,MAAM;AACf,qBAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;AAOK,MAAgB,yBAA6B,SAAQ,aAAa,CAAA;IAG5D,iBAAiB,CAAC,aAA0B,EAAE,cAAiC,EAAA;QACvF,OAAO;AACL,YAAA,GAAG,aAAa;YAChB,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC9C;IACH;AACD;;MCzBY,qBAAqB,CAAA;AADlC,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;AAEtB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,GAAG,EAAyC;AAC7D,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;AACvD,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACxB,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;AAClD,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7C,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AA6BH,IAAA;AA3BQ,IAAA,OAAO,CAAC,MAAe,EAAA;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,YAAY,EAAE;QACpD;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,OAAO,EAAuB;QAEtD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;AACxC,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;AAEpC,QAAA,OAAO,WAAW,CAAC,YAAY,EAAE;IACnC;AAEO,IAAA,SAAS,CAAC,MAAe,EAAA;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;QAE5C,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC;AAEA,QAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC;IACxC;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;IACnC;8GArCW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA,CAAA;;2FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCMrB,4BAA4B,CAAA;AALzC,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa;AAC/C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAEhD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK,wDAAC;AAYpC,IAAA;IAVQ,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,MAAK;AAC7D,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;AACxF,QAAA,CAAC,CACA;IACH;IAEO,WAAW,GAAA;QAChB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;IACnD;8GAfW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA;;;MCFY,mBAAmB,CAAA;AACvB,IAAA,SAAS,CAAC,KAAa,EAAA;AAC5B,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjE;8GAHW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACLM,MAAM,cAAc,GAAG;AAC5B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,UAAU,EAAE,YAAY;;;ACFnB,MAAM,qBAAqB,GAAG;AACnC,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,OAAO;;AAKT,MAAM,6BAA6B,GAAG;AAC3C,IAAA,GAAG,qBAAqB;AACxB,IAAA,MAAM,EAAE,QAAQ;;AAKX,MAAM,mBAAmB,GAAG;AACjC,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,MAAM,EAAE,QAAQ;;AAKX,MAAM,2BAA2B,GAAG;AACzC,IAAA,GAAG,mBAAmB;AACtB,IAAA,MAAM,EAAE,QAAQ;;AAKX,MAAM,WAAW,GAAG;AACzB,IAAA,GAAG,qBAAqB;AACxB,IAAA,GAAG,mBAAmB;;AAOjB,MAAM,mBAAmB,GAAG;AACjC,IAAA,GAAG,6BAA6B;AAChC,IAAA,GAAG,2BAA2B;;;ACvCzB,MAAM,iBAAiB,GAAG;AAC/B,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,GAAG,EAAE,KAAK;;;ACFL,MAAM,OAAO,GAAG;AACrB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,QAAQ,EAAE,UAAU;;;ACFhB,SAAU,iBAAiB,CAAS,IAAiC,EAAE,YAAyC,EAAA;AACpH,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;AAC1B,QAAA,OAAO,KAAK;IACd;IAEA,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;IAE7C,OAAO,SAAS,KAAK,YAAY,IAAI,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC;AACjF;;ACVA;AACM,SAAU,sBAAsB,CAAC,KAAc,EAAA;IACnD,OAAO,KAAK,IAAI,IAAI,IAAI,GAAG,KAAK,CAAA,CAAE,KAAK,OAAO;AAChD;AAEA;SACgB,qBAAqB,CAAC,KAAc,EAAE,aAAa,GAAG,GAAG,EAAA;IACvE,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3C,IAAA,OAAO,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa;AACtD;AAEA;AACM,SAAU,qBAAqB,CAAC,KAAc,EAAA;AAClD,IAAA,OAAO,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;AAC1C;;ACdM,SAAU,QAAQ,CAAC,KAAc,EAAA;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM;AAC7D;AAEM,SAAU,YAAY,CAAC,GAAW,EAAA;AACtC,IAAA,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;AACtB;AAEM,SAAU,WAAW,CAAC,GAAW,EAAA;AACrC,IAAA,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;AACtB;AAEM,SAAU,eAAe,CAAC,GAAW,EAAE,OAAe,EAAA;IAC1D,OAAO,CAAC,CAAC,GAAG,GAAG,OAAO,IAAI,OAAO,IAAI,OAAO;AAC9C;;ACdM,SAAU,QAAQ,CAAC,KAAc,EAAA;IACrC,OAAO,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,YAAY,MAAM;AAC5D;;ACFA;AAKA,MAAM,eAAe,GAAG,oFAAoF;AAE5G,MAAM,UAAU,GAAG,CAAC;AAEpB,SAAS,SAAS,CAAC,GAAW,EAAA;AAC5B,IAAA,OAAO,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,GAAG,EAAE;AAC1C;AAEA,SAAS,mBAAmB,CAAC,OAAa,EAAE,MAAc,EAAA;AACxD,IAAA,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,IAAI,UAAU;AAC9D;AAEM,SAAU,MAAM,CAAC,KAAc,EAAA;IACnC,OAAO,KAAK,YAAY,IAAI;AAC9B;AAEM,SAAU,WAAW,CAAC,KAAc,EAAA;AACxC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AACjD;AAEM,SAAU,kBAAkB,CAAC,KAAc,EAAA;AAC/C,IAAA,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI;AAC1C;AAEM,SAAU,UAAU,CAAC,KAAkB,EAAE,KAAkB,EAAA;;AAE/D,IAAA,OAAO,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK;AAC5F;AAEM,SAAU,YAAY,CAAC,KAAW,EAAE,KAAW,EAAA;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC;AACnC;SAGgB,SAAS,CAAC,IAAiB,EAAE,GAAgB,EAAE,GAAgB,EAAA;AAC7E,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AACtB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;AACjC,IAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU;AAC7D,IAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU;AAE7D,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AACnE;SAEgB,WAAW,GAAA;AACzB,IAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC;AACtB;AAEM,SAAU,SAAS,CAAC,IAAU,EAAA;AAClC,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;AACvB;SAEgB,SAAS,CAAC,KAAa,EAAE,GAAG,GAAG,KAAK,EAAA;IAClD,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,IAAI;IACb;AACA,IAAA,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC/B,QAAA,OAAO,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,CAAA,EAAG,KAAK,CAAA,SAAA,CAAW,CAAC;IACpD;IACA,OAAO,WAAW,EAAE;AACtB;AAEM,SAAU,eAAe,CAAC,KAAc,EAAA;;AAE5C,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,QAAA,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC;IACxB;;IAGA,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,IAAI;IACb;;AAGA,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;AACjB,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,QAAA,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB;IAEA,OAAO,WAAW,EAAE;AACtB;AAEM,SAAU,UAAU,CAAC,IAAU,EAAA;AACnC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;AACjC,IAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAE1B,IAAA,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,SAAS,CAAC,KAAK,CAAC,CAAA,CAAA,EAAI,SAAS,CAAC,GAAG,CAAC,EAAE;AACxD;AAEM,SAAU,aAAa,CAAC,IAAU,EAAA;AACtC,IAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzC;AAEM,SAAU,OAAO,CAAC,IAAU,EAAE,IAAY,EAAA;AAC9C,IAAA,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC;IAClC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAC/C,IAAA,OAAO,UAAU;AACnB;AAEM,SAAU,SAAS,CAAC,IAAU,EAAE,MAAc,EAAA;AAClD,IAAA,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE;IAC1B,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjF,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE5B,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE;AACnC,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;AAElE,IAAA,IAAI,QAAQ,KAAK,YAAY,EAAE;AAC7B,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACpB;AAEA,IAAA,OAAO,OAAO;AAChB;AAEM,SAAU,QAAQ,CAAC,IAAU,EAAE,KAAa,EAAA;IAChD,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;AACpC;AAEM,SAAU,UAAU,CAAC,IAAU,EAAA;AACnC,IAAA,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC;IAClC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/B,IAAA,OAAO,UAAU;AACnB;AAEM,SAAU,QAAQ,CAAC,IAAU,EAAA;AACjC,IAAA,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC;IAClC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;AACpC,IAAA,OAAO,UAAU;AACnB;AAEM,SAAU,WAAW,CAAC,OAAa,EAAE,MAAc,EAAA;AACvD,IAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAChE;AAEM,SAAU,SAAS,CAAC,OAAa,EAAE,MAAc,EAAA;AACrD,IAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACnE;AAEM,SAAU,YAAY,CAAC,IAAU,EAAA;AACrC,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACzD;AAEM,SAAU,UAAU,CAAC,IAAU,EAAA;AACnC,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7D;AAEM,SAAU,WAAW,CAAC,IAAU,EAAA;AACpC,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3C;AAEM,SAAU,SAAS,CAAC,IAAU,EAAA;AAClC,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5C;AAEM,SAAU,eAAe,CAAC,SAAe,EAAE,OAAa,EAAA;AAC5D,IAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;AACpD,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,IAAI,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC;AACnC,IAAA,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAG,EAAE;AAEjB,IAAA,OAAO,OAAO,IAAI,GAAG,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,QAAA,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/B;AAEA,IAAA,OAAO,MAAM;AACf;SAEgB,oBAAoB,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY,EAAA;AAC5E,IAAA,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;AAC1D,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC3D;;ACvLM,SAAU,OAAO,CAAC,MAAe,EAAE,MAAe,EAAA;AACtD,IAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACtD,OAAO,IAAI,CAAC,IAAI,CAAE,MAAiB,GAAI,MAAiB,CAAC;IAC3D;IAEA,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;AAC9C,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACpD;AAEA,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrD;;ACZA;;AAEG;;;;"}
|