juxscript 1.1.158 → 1.1.161
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/index.d.ts +4 -0
- package/index.d.ts.map +1 -1
- package/index.js +5 -0
- package/lib/components/checkbox.js +4 -4
- package/lib/components/checkbox.ts +5 -5
- package/lib/components/datepicker.d.ts.map +1 -1
- package/lib/components/datepicker.js +5 -4
- package/lib/components/datepicker.ts +5 -4
- package/lib/components/dialog.d.ts.map +1 -1
- package/lib/components/dialog.js +2 -0
- package/lib/components/dialog.ts +2 -0
- package/lib/components/dropdown.d.ts +1 -0
- package/lib/components/dropdown.d.ts.map +1 -1
- package/lib/components/dropdown.js +5 -6
- package/lib/components/dropdown.ts +6 -9
- package/lib/components/fileupload.d.ts +6 -0
- package/lib/components/fileupload.d.ts.map +1 -1
- package/lib/components/fileupload.js +31 -61
- package/lib/components/fileupload.ts +38 -67
- package/lib/components/input.js +6 -6
- package/lib/components/input.ts +6 -6
- package/lib/components/modal.d.ts.map +1 -1
- package/lib/components/modal.js +2 -0
- package/lib/components/modal.ts +2 -0
- package/lib/components/select.d.ts.map +1 -1
- package/lib/components/select.js +5 -0
- package/lib/components/select.ts +6 -0
- package/lib/components/switch.js +4 -4
- package/lib/components/switch.ts +5 -5
- package/lib/components/tabs.js +4 -4
- package/lib/components/tabs.ts +4 -4
- package/lib/storage/DataFrame.d.ts +59 -0
- package/lib/storage/DataFrame.d.ts.map +1 -0
- package/lib/storage/DataFrame.js +443 -0
- package/lib/storage/DataFrame.ts +472 -0
- package/lib/storage/FileStorage.d.ts +53 -0
- package/lib/storage/FileStorage.d.ts.map +1 -0
- package/lib/storage/FileStorage.js +80 -0
- package/lib/storage/FileStorage.ts +95 -0
- package/lib/storage/IndexedDBDriver.d.ts +75 -0
- package/lib/storage/IndexedDBDriver.d.ts.map +1 -0
- package/lib/storage/IndexedDBDriver.js +177 -0
- package/lib/storage/IndexedDBDriver.ts +226 -0
- package/lib/storage/TabularDriver.d.ts +75 -0
- package/lib/storage/TabularDriver.d.ts.map +1 -0
- package/lib/storage/TabularDriver.js +399 -0
- package/lib/storage/TabularDriver.ts +491 -0
- package/machinery/errors.js +22 -5
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { BaseComponent, BaseState } from './base/BaseComponent.js';
|
|
2
2
|
import { renderIcon } from './icons.js';
|
|
3
|
-
import { formatIdAsLabel } from '../utils/formatId.js';
|
|
3
|
+
import { formatIdAsLabel } from '../utils/formatId.js';
|
|
4
|
+
import { FileStorage } from '../storage/FileStorage.js';
|
|
4
5
|
|
|
5
6
|
// Event definitions
|
|
6
7
|
const TRIGGER_EVENTS = [] as const;
|
|
7
|
-
const CALLBACK_EVENTS = ['change', 'filesSelected', 'clear'] as const;
|
|
8
|
+
const CALLBACK_EVENTS = ['change', 'filesSelected', 'clear', 'stored'] as const;
|
|
8
9
|
|
|
9
10
|
export interface FileUploadOptions {
|
|
10
11
|
label?: string;
|
|
@@ -17,6 +18,8 @@ export interface FileUploadOptions {
|
|
|
17
18
|
style?: string;
|
|
18
19
|
class?: string;
|
|
19
20
|
onValidate?: (files: File[]) => boolean | string;
|
|
21
|
+
storage?: FileStorage;
|
|
22
|
+
metadata?: Record<string, any>;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
interface FileUploadState extends BaseState {
|
|
@@ -28,6 +31,8 @@ interface FileUploadState extends BaseState {
|
|
|
28
31
|
|
|
29
32
|
export class FileUpload extends BaseComponent<FileUploadState> {
|
|
30
33
|
private _fileListElement: HTMLElement | null = null;
|
|
34
|
+
private _storage: FileStorage | null = null;
|
|
35
|
+
private _metadata: Record<string, any> | undefined;
|
|
31
36
|
|
|
32
37
|
constructor(id: string, options: FileUploadOptions = {}) {
|
|
33
38
|
super(id, {
|
|
@@ -37,7 +42,7 @@ export class FileUpload extends BaseComponent<FileUploadState> {
|
|
|
37
42
|
class: options.class ?? '',
|
|
38
43
|
style: options.style ?? '',
|
|
39
44
|
attributes: {},
|
|
40
|
-
label: options.label ?? formatIdAsLabel(id),
|
|
45
|
+
label: options.label ?? formatIdAsLabel(id),
|
|
41
46
|
required: options.required ?? false,
|
|
42
47
|
name: options.name ?? id,
|
|
43
48
|
errorMessage: undefined,
|
|
@@ -50,6 +55,9 @@ export class FileUpload extends BaseComponent<FileUploadState> {
|
|
|
50
55
|
if (options.onValidate) {
|
|
51
56
|
this._onValidate = options.onValidate;
|
|
52
57
|
}
|
|
58
|
+
|
|
59
|
+
this._storage = options.storage ?? null;
|
|
60
|
+
this._metadata = options.metadata;
|
|
53
61
|
}
|
|
54
62
|
|
|
55
63
|
protected getTriggerEvents(): readonly string[] {
|
|
@@ -79,6 +87,12 @@ export class FileUpload extends BaseComponent<FileUploadState> {
|
|
|
79
87
|
return this;
|
|
80
88
|
}
|
|
81
89
|
|
|
90
|
+
storage(store: FileStorage, metadata?: Record<string, any>): this {
|
|
91
|
+
this._storage = store;
|
|
92
|
+
this._metadata = metadata;
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
|
|
82
96
|
clear(): this {
|
|
83
97
|
this.state.files = [];
|
|
84
98
|
if (this._inputElement) {
|
|
@@ -87,7 +101,7 @@ export class FileUpload extends BaseComponent<FileUploadState> {
|
|
|
87
101
|
if (this._fileListElement) {
|
|
88
102
|
this._fileListElement.innerHTML = '';
|
|
89
103
|
}
|
|
90
|
-
this._triggerCallback('clear');
|
|
104
|
+
this._triggerCallback('clear', null, null, this);
|
|
91
105
|
return this;
|
|
92
106
|
}
|
|
93
107
|
|
|
@@ -153,13 +167,13 @@ export class FileUpload extends BaseComponent<FileUploadState> {
|
|
|
153
167
|
input.multiple = multiple;
|
|
154
168
|
input.required = required!;
|
|
155
169
|
input.disabled = disabled!;
|
|
156
|
-
input.style.display = 'none';
|
|
170
|
+
input.style.display = 'none';
|
|
157
171
|
|
|
158
172
|
return input;
|
|
159
173
|
}
|
|
160
174
|
|
|
161
175
|
private _updateFileList(): void {
|
|
162
|
-
if (!this._fileListElement) return;
|
|
176
|
+
if (!this._fileListElement) return;
|
|
163
177
|
|
|
164
178
|
this._fileListElement.innerHTML = '';
|
|
165
179
|
|
|
@@ -180,10 +194,10 @@ export class FileUpload extends BaseComponent<FileUploadState> {
|
|
|
180
194
|
removeBtn?.addEventListener('click', () => {
|
|
181
195
|
this.state.files = this.state.files.filter((_, i) => i !== index);
|
|
182
196
|
this._updateFileList();
|
|
183
|
-
this._triggerCallback('change', this.state.files);
|
|
197
|
+
this._triggerCallback('change', this.state.files, null, this);
|
|
184
198
|
});
|
|
185
199
|
|
|
186
|
-
this._fileListElement!.appendChild(fileItem);
|
|
200
|
+
this._fileListElement!.appendChild(fileItem);
|
|
187
201
|
});
|
|
188
202
|
}
|
|
189
203
|
|
|
@@ -204,24 +218,20 @@ export class FileUpload extends BaseComponent<FileUploadState> {
|
|
|
204
218
|
|
|
205
219
|
const { icon, style, class: className } = this.state;
|
|
206
220
|
|
|
207
|
-
// Build wrapper
|
|
208
221
|
const wrapper = document.createElement('div');
|
|
209
222
|
wrapper.className = 'jux-input jux-fileupload';
|
|
210
223
|
wrapper.id = this._id;
|
|
211
224
|
if (className) wrapper.className += ` ${className}`;
|
|
212
225
|
if (style) wrapper.setAttribute('style', style);
|
|
213
226
|
|
|
214
|
-
// Label
|
|
215
227
|
if (this.state.label) {
|
|
216
228
|
wrapper.appendChild(this._renderLabel());
|
|
217
229
|
}
|
|
218
230
|
|
|
219
|
-
// Hidden file input
|
|
220
231
|
const inputEl = this._buildInputElement() as HTMLInputElement;
|
|
221
232
|
this._inputElement = inputEl;
|
|
222
233
|
wrapper.appendChild(inputEl);
|
|
223
234
|
|
|
224
|
-
// Button container
|
|
225
235
|
const buttonContainer = document.createElement('div');
|
|
226
236
|
buttonContainer.className = 'jux-fileupload-button-container';
|
|
227
237
|
|
|
@@ -241,80 +251,41 @@ export class FileUpload extends BaseComponent<FileUploadState> {
|
|
|
241
251
|
buttonContainer.appendChild(button);
|
|
242
252
|
wrapper.appendChild(buttonContainer);
|
|
243
253
|
|
|
244
|
-
// File list
|
|
245
254
|
const fileList = document.createElement('div');
|
|
246
255
|
fileList.className = 'jux-fileupload-list';
|
|
247
256
|
this._fileListElement = fileList;
|
|
248
257
|
wrapper.appendChild(fileList);
|
|
249
258
|
|
|
250
|
-
// Error element
|
|
251
259
|
wrapper.appendChild(this._renderError());
|
|
252
260
|
|
|
253
|
-
// Button click triggers file input
|
|
254
261
|
button.addEventListener('click', () => inputEl.click());
|
|
255
262
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
if (filesSync) {
|
|
263
|
-
const { stateObj, toState, toComponent } = filesSync;
|
|
264
|
-
|
|
265
|
-
const transformToState = toState || ((v: File[]) => v);
|
|
266
|
-
const transformToComponent = toComponent || ((v: any) => v);
|
|
267
|
-
|
|
268
|
-
let isUpdating = false;
|
|
269
|
-
|
|
270
|
-
// State → Component
|
|
271
|
-
stateObj.subscribe((val: any) => {
|
|
272
|
-
if (isUpdating) return;
|
|
273
|
-
const transformed = transformToComponent(val);
|
|
274
|
-
this.setValue(transformed);
|
|
275
|
-
});
|
|
276
|
-
|
|
277
|
-
// Component → State
|
|
278
|
-
inputEl.addEventListener('change', () => {
|
|
279
|
-
if (isUpdating) return;
|
|
280
|
-
isUpdating = true;
|
|
281
|
-
|
|
282
|
-
const files = Array.from(inputEl.files || []);
|
|
283
|
-
this.state.files = files;
|
|
284
|
-
this._updateFileList();
|
|
285
|
-
this._clearError();
|
|
286
|
-
|
|
287
|
-
const transformed = transformToState(files);
|
|
288
|
-
stateObj.set(transformed);
|
|
263
|
+
inputEl.addEventListener('change', (e) => {
|
|
264
|
+
const files = Array.from(inputEl.files || []);
|
|
265
|
+
this.state.files = files;
|
|
266
|
+
this._updateFileList();
|
|
267
|
+
this._clearError();
|
|
289
268
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
this._triggerCallback('filesSelected', files);
|
|
269
|
+
this._triggerCallback('change', files, e, this);
|
|
270
|
+
this._triggerCallback('filesSelected', files, e, this);
|
|
293
271
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
this._clearError();
|
|
272
|
+
if (this._storage && files.length > 0) {
|
|
273
|
+
this._storage.storeAll(files, this._metadata).then((stored) => {
|
|
274
|
+
this._triggerCallback('stored', stored, e, this);
|
|
275
|
+
}).catch((err) => {
|
|
276
|
+
console.error('[FileUpload] Storage error:', err);
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
});
|
|
303
280
|
|
|
304
|
-
|
|
305
|
-
this._triggerCallback('change', files);
|
|
306
|
-
this._triggerCallback('filesSelected', files);
|
|
307
|
-
});
|
|
308
|
-
}
|
|
281
|
+
this._wireStandardEvents(wrapper);
|
|
309
282
|
|
|
310
|
-
// Always add blur validation
|
|
311
283
|
inputEl.addEventListener('blur', () => {
|
|
312
284
|
if (this._hasBeenValidated) {
|
|
313
285
|
this.validate();
|
|
314
286
|
}
|
|
315
287
|
});
|
|
316
288
|
|
|
317
|
-
// Sync label changes
|
|
318
289
|
const labelSync = this._syncBindings.find(b => b.property === 'label');
|
|
319
290
|
if (labelSync) {
|
|
320
291
|
const transform = labelSync.toComponent || ((v: any) => String(v));
|
package/lib/components/input.js
CHANGED
|
@@ -245,24 +245,24 @@ export class Input extends BaseComponent {
|
|
|
245
245
|
counterEl.id = `${this._id}-counter`;
|
|
246
246
|
counterEl.textContent = `${this.state.value.length}/${maxLength}`;
|
|
247
247
|
wrapper.appendChild(counterEl);
|
|
248
|
-
inputEl.addEventListener('input', () => {
|
|
248
|
+
inputEl.addEventListener('input', (e) => {
|
|
249
249
|
const input = inputEl;
|
|
250
250
|
counterEl.textContent = `${input.value.length}/${maxLength}`;
|
|
251
251
|
this.state.value = input.value;
|
|
252
|
-
this._triggerCallback('input', input.value);
|
|
252
|
+
this._triggerCallback('input', input.value, e, this);
|
|
253
253
|
});
|
|
254
254
|
}
|
|
255
255
|
else {
|
|
256
|
-
inputEl.addEventListener('input', () => {
|
|
256
|
+
inputEl.addEventListener('input', (e) => {
|
|
257
257
|
const input = inputEl;
|
|
258
258
|
this.state.value = input.value;
|
|
259
|
-
this._triggerCallback('input', input.value);
|
|
259
|
+
this._triggerCallback('input', input.value, e, this);
|
|
260
260
|
});
|
|
261
261
|
}
|
|
262
262
|
// Fire change event on blur
|
|
263
|
-
inputEl.addEventListener('change', () => {
|
|
263
|
+
inputEl.addEventListener('change', (e) => {
|
|
264
264
|
const input = inputEl;
|
|
265
|
-
this._triggerCallback('change', input.value);
|
|
265
|
+
this._triggerCallback('change', input.value, e, this);
|
|
266
266
|
});
|
|
267
267
|
// Wire events
|
|
268
268
|
this._wireStandardEvents(wrapper);
|
package/lib/components/input.ts
CHANGED
|
@@ -324,24 +324,24 @@ export class Input extends BaseComponent<InputState> {
|
|
|
324
324
|
counterEl.textContent = `${this.state.value.length}/${maxLength}`;
|
|
325
325
|
wrapper.appendChild(counterEl);
|
|
326
326
|
|
|
327
|
-
inputEl.addEventListener('input', () => {
|
|
327
|
+
inputEl.addEventListener('input', (e) => {
|
|
328
328
|
const input = inputEl as HTMLInputElement | HTMLTextAreaElement;
|
|
329
329
|
counterEl.textContent = `${input.value.length}/${maxLength}`;
|
|
330
330
|
this.state.value = input.value;
|
|
331
|
-
this._triggerCallback('input', input.value);
|
|
331
|
+
this._triggerCallback('input', input.value, e, this);
|
|
332
332
|
});
|
|
333
333
|
} else {
|
|
334
|
-
inputEl.addEventListener('input', () => {
|
|
334
|
+
inputEl.addEventListener('input', (e) => {
|
|
335
335
|
const input = inputEl as HTMLInputElement | HTMLTextAreaElement;
|
|
336
336
|
this.state.value = input.value;
|
|
337
|
-
this._triggerCallback('input', input.value);
|
|
337
|
+
this._triggerCallback('input', input.value, e, this);
|
|
338
338
|
});
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
// Fire change event on blur
|
|
342
|
-
inputEl.addEventListener('change', () => {
|
|
342
|
+
inputEl.addEventListener('change', (e) => {
|
|
343
343
|
const input = inputEl as HTMLInputElement | HTMLTextAreaElement;
|
|
344
|
-
this._triggerCallback('change', input.value);
|
|
344
|
+
this._triggerCallback('change', input.value, e, this);
|
|
345
345
|
});
|
|
346
346
|
|
|
347
347
|
// Wire events
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["modal.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD,MAAM,MAAM,aAAa,GAAG;IAE1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;CAC9F,CAAA;AACD,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,CAAC;IACxI,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,CAAC;IACxI,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,KAAM,SAAQ,aAAa,CAAC,UAAU,CAAC;IAClD,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IAgBlD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAqDtC,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,eAAe;IAgDvB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;IAKtF,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKhC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK3B,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKnC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI;IAK/C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,GAAG,IAAI;IAKnJ,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,GAAG,IAAI;IAKpF,SAAS,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAKhF,IAAI,IAAI,IAAI;IAMZ,UAAU,IAAI,IAAI;IAMlB,MAAM,IAAI,IAAI;IAKd;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAQnB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;IAwB3F;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,iBAAiB,IAAI,WAAW,GAAG,IAAI;IAQvC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;CAmMnE;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,CAEnE"}
|
package/lib/components/modal.js
CHANGED
|
@@ -214,10 +214,12 @@ export class Modal extends BaseComponent {
|
|
|
214
214
|
}
|
|
215
215
|
open() {
|
|
216
216
|
this.state.open = true;
|
|
217
|
+
this._triggerCallback('open', true, null, this);
|
|
217
218
|
return this;
|
|
218
219
|
}
|
|
219
220
|
closeModal() {
|
|
220
221
|
this.state.open = false;
|
|
222
|
+
this._triggerCallback('close', false, null, this);
|
|
221
223
|
return this;
|
|
222
224
|
}
|
|
223
225
|
toggle() {
|
package/lib/components/modal.ts
CHANGED
|
@@ -285,11 +285,13 @@ export class Modal extends BaseComponent<ModalState> {
|
|
|
285
285
|
|
|
286
286
|
open(): this {
|
|
287
287
|
this.state.open = true;
|
|
288
|
+
this._triggerCallback('open', true, null, this);
|
|
288
289
|
return this;
|
|
289
290
|
}
|
|
290
291
|
|
|
291
292
|
closeModal(): this {
|
|
292
293
|
this.state.open = false;
|
|
294
|
+
this._triggerCallback('close', false, null, this);
|
|
293
295
|
return this;
|
|
294
296
|
}
|
|
295
297
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOnE,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;CACpD;AAED,UAAU,WAAY,SAAQ,SAAS;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,MAAO,SAAQ,aAAa,CAAC,WAAW,CAAC;gBACtC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAsBnD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAehD,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAKpC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASrC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAU7B,QAAQ,IAAI,OAAO;IAcnB,OAAO,IAAI,OAAO;IAKlB,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAsBzD,SAAS,CAAC,kBAAkB,IAAI,WAAW;IAqC3C,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOnE,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;CACpD;AAED,UAAU,WAAY,SAAQ,SAAS;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,MAAO,SAAQ,aAAa,CAAC,WAAW,CAAC;gBACtC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAsBnD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAehD,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAKpC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASrC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAU7B,QAAQ,IAAI,OAAO;IAcnB,OAAO,IAAI,OAAO;IAKlB,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAsBzD,SAAS,CAAC,kBAAkB,IAAI,WAAW;IAqC3C,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;CAuFrE;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAEtE"}
|
package/lib/components/select.js
CHANGED
|
@@ -157,6 +157,11 @@ export class Select extends BaseComponent {
|
|
|
157
157
|
wrapper.appendChild(selectContainer);
|
|
158
158
|
// Error element
|
|
159
159
|
wrapper.appendChild(this._renderError());
|
|
160
|
+
// Wire change callback with (value, event, component)
|
|
161
|
+
selectEl.addEventListener('change', (e) => {
|
|
162
|
+
this.state.value = selectEl.value;
|
|
163
|
+
this._triggerCallback('change', selectEl.value, e, this);
|
|
164
|
+
});
|
|
160
165
|
// Wire events
|
|
161
166
|
this._wireStandardEvents(wrapper);
|
|
162
167
|
this._wireFormSync(selectEl, 'change');
|
package/lib/components/select.ts
CHANGED
|
@@ -217,6 +217,12 @@ export class Select extends BaseComponent<SelectState> {
|
|
|
217
217
|
// Error element
|
|
218
218
|
wrapper.appendChild(this._renderError());
|
|
219
219
|
|
|
220
|
+
// Wire change callback with (value, event, component)
|
|
221
|
+
selectEl.addEventListener('change', (e) => {
|
|
222
|
+
this.state.value = selectEl.value;
|
|
223
|
+
this._triggerCallback('change', selectEl.value, e, this);
|
|
224
|
+
});
|
|
225
|
+
|
|
220
226
|
// Wire events
|
|
221
227
|
this._wireStandardEvents(wrapper);
|
|
222
228
|
this._wireFormSync(selectEl, 'change');
|
package/lib/components/switch.js
CHANGED
|
@@ -159,7 +159,7 @@ export class Switch extends BaseComponent {
|
|
|
159
159
|
this.setValue(transformed);
|
|
160
160
|
});
|
|
161
161
|
// Component → State
|
|
162
|
-
inputEl.addEventListener('change', () => {
|
|
162
|
+
inputEl.addEventListener('change', (e) => {
|
|
163
163
|
if (isUpdating)
|
|
164
164
|
return;
|
|
165
165
|
isUpdating = true;
|
|
@@ -169,17 +169,17 @@ export class Switch extends BaseComponent {
|
|
|
169
169
|
const transformed = transformToState(checked);
|
|
170
170
|
stateObj.set(transformed);
|
|
171
171
|
// 🎯 Fire the change callback event
|
|
172
|
-
this._triggerCallback('change', checked);
|
|
172
|
+
this._triggerCallback('change', checked, e, this);
|
|
173
173
|
setTimeout(() => { isUpdating = false; }, 0);
|
|
174
174
|
});
|
|
175
175
|
}
|
|
176
176
|
else {
|
|
177
177
|
// Default behavior without sync
|
|
178
|
-
inputEl.addEventListener('change', () => {
|
|
178
|
+
inputEl.addEventListener('change', (e) => {
|
|
179
179
|
this.state.checked = inputEl.checked;
|
|
180
180
|
this._clearError();
|
|
181
181
|
// 🎯 Fire the change callback event
|
|
182
|
-
this._triggerCallback('change', inputEl.checked);
|
|
182
|
+
this._triggerCallback('change', inputEl.checked, e, this);
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
185
|
// Always add blur validation
|
package/lib/components/switch.ts
CHANGED
|
@@ -212,11 +212,11 @@ export class Switch extends BaseComponent<SwitchState> {
|
|
|
212
212
|
});
|
|
213
213
|
|
|
214
214
|
// Component → State
|
|
215
|
-
inputEl.addEventListener('change', () => {
|
|
215
|
+
inputEl.addEventListener('change', (e) => {
|
|
216
216
|
if (isUpdating) return;
|
|
217
217
|
isUpdating = true;
|
|
218
218
|
|
|
219
|
-
const checked = inputEl.checked;
|
|
219
|
+
const checked = (inputEl as HTMLInputElement).checked;
|
|
220
220
|
this.state.checked = checked;
|
|
221
221
|
this._clearError();
|
|
222
222
|
|
|
@@ -224,18 +224,18 @@ export class Switch extends BaseComponent<SwitchState> {
|
|
|
224
224
|
stateObj.set(transformed);
|
|
225
225
|
|
|
226
226
|
// 🎯 Fire the change callback event
|
|
227
|
-
this._triggerCallback('change', checked);
|
|
227
|
+
this._triggerCallback('change', checked, e, this);
|
|
228
228
|
|
|
229
229
|
setTimeout(() => { isUpdating = false; }, 0);
|
|
230
230
|
});
|
|
231
231
|
} else {
|
|
232
232
|
// Default behavior without sync
|
|
233
|
-
inputEl.addEventListener('change', () => {
|
|
233
|
+
inputEl.addEventListener('change', (e) => {
|
|
234
234
|
this.state.checked = inputEl.checked;
|
|
235
235
|
this._clearError();
|
|
236
236
|
|
|
237
237
|
// 🎯 Fire the change callback event
|
|
238
|
-
this._triggerCallback('change', inputEl.checked);
|
|
238
|
+
this._triggerCallback('change', inputEl.checked, e, this);
|
|
239
239
|
});
|
|
240
240
|
}
|
|
241
241
|
|
package/lib/components/tabs.js
CHANGED
|
@@ -88,9 +88,9 @@ export class Tabs extends BaseComponent {
|
|
|
88
88
|
tabButton.appendChild(icon);
|
|
89
89
|
}
|
|
90
90
|
tabButton.appendChild(document.createTextNode(tab.label));
|
|
91
|
-
tabButton.addEventListener('click', () => {
|
|
91
|
+
tabButton.addEventListener('click', (e) => {
|
|
92
92
|
this.state.activeTab = tab.id;
|
|
93
|
-
this._triggerCallback('tabChange', tab.id);
|
|
93
|
+
this._triggerCallback('tabChange', tab.id, e, this);
|
|
94
94
|
});
|
|
95
95
|
tabList.appendChild(tabButton);
|
|
96
96
|
// Panel with unique ID
|
|
@@ -240,9 +240,9 @@ export class Tabs extends BaseComponent {
|
|
|
240
240
|
tabButton.appendChild(icon);
|
|
241
241
|
}
|
|
242
242
|
tabButton.appendChild(document.createTextNode(tab.label));
|
|
243
|
-
tabButton.addEventListener('click', () => {
|
|
243
|
+
tabButton.addEventListener('click', (e) => {
|
|
244
244
|
this.state.activeTab = tab.id;
|
|
245
|
-
this._triggerCallback('tabChange', tab.id);
|
|
245
|
+
this._triggerCallback('tabChange', tab.id, e, this);
|
|
246
246
|
});
|
|
247
247
|
tabList.appendChild(tabButton);
|
|
248
248
|
// Tab panel with unique ID
|
package/lib/components/tabs.ts
CHANGED
|
@@ -128,9 +128,9 @@ export class Tabs extends BaseComponent<TabsState> {
|
|
|
128
128
|
|
|
129
129
|
tabButton.appendChild(document.createTextNode(tab.label));
|
|
130
130
|
|
|
131
|
-
tabButton.addEventListener('click', () => {
|
|
131
|
+
tabButton.addEventListener('click', (e) => {
|
|
132
132
|
this.state.activeTab = tab.id;
|
|
133
|
-
this._triggerCallback('tabChange', tab.id);
|
|
133
|
+
this._triggerCallback('tabChange', tab.id, e, this);
|
|
134
134
|
});
|
|
135
135
|
|
|
136
136
|
tabList.appendChild(tabButton);
|
|
@@ -308,9 +308,9 @@ export class Tabs extends BaseComponent<TabsState> {
|
|
|
308
308
|
|
|
309
309
|
tabButton.appendChild(document.createTextNode(tab.label));
|
|
310
310
|
|
|
311
|
-
tabButton.addEventListener('click', () => {
|
|
311
|
+
tabButton.addEventListener('click', (e) => {
|
|
312
312
|
this.state.activeTab = tab.id;
|
|
313
|
-
this._triggerCallback('tabChange', tab.id);
|
|
313
|
+
this._triggerCallback('tabChange', tab.id, e, this);
|
|
314
314
|
});
|
|
315
315
|
|
|
316
316
|
tabList.appendChild(tabButton);
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export type DType = 'string' | 'number' | 'boolean' | 'date' | 'null';
|
|
2
|
+
export interface Series {
|
|
3
|
+
name: string;
|
|
4
|
+
dtype: DType;
|
|
5
|
+
values: any[];
|
|
6
|
+
}
|
|
7
|
+
export declare class DataFrame {
|
|
8
|
+
private _columns;
|
|
9
|
+
private _height;
|
|
10
|
+
constructor(data?: Record<string, any[]> | Array<Record<string, any>>);
|
|
11
|
+
private _fromRows;
|
|
12
|
+
private _fromColumns;
|
|
13
|
+
private _inferDtype;
|
|
14
|
+
get height(): number;
|
|
15
|
+
get width(): number;
|
|
16
|
+
get columns(): string[];
|
|
17
|
+
get dtypes(): Record<string, DType>;
|
|
18
|
+
get shape(): [number, number];
|
|
19
|
+
select(...cols: string[]): DataFrame;
|
|
20
|
+
drop(...cols: string[]): DataFrame;
|
|
21
|
+
col(name: string): any[];
|
|
22
|
+
row(index: number): Record<string, any>;
|
|
23
|
+
head(n?: number): DataFrame;
|
|
24
|
+
tail(n?: number): DataFrame;
|
|
25
|
+
slice(start: number, end?: number): DataFrame;
|
|
26
|
+
private _sliceRows;
|
|
27
|
+
filter(predicate: (row: Record<string, any>, index: number) => boolean): DataFrame;
|
|
28
|
+
where(col: string, op: '==' | '!=' | '>' | '<' | '>=' | '<=' | 'contains' | 'startsWith' | 'endsWith', value: any): DataFrame;
|
|
29
|
+
private _takeIndices;
|
|
30
|
+
sort(col: string, descending?: boolean): DataFrame;
|
|
31
|
+
groupBy(col: string): GroupedDataFrame;
|
|
32
|
+
sum(col: string): number;
|
|
33
|
+
mean(col: string): number;
|
|
34
|
+
min(col: string): number;
|
|
35
|
+
max(col: string): number;
|
|
36
|
+
count(): number;
|
|
37
|
+
unique(col: string): any[];
|
|
38
|
+
nunique(col: string): number;
|
|
39
|
+
private _numericValues;
|
|
40
|
+
withColumn(name: string, fn: (row: Record<string, any>, index: number) => any): DataFrame;
|
|
41
|
+
rename(mapping: Record<string, string>): DataFrame;
|
|
42
|
+
cast(col: string, dtype: DType): DataFrame;
|
|
43
|
+
private _castValue;
|
|
44
|
+
join(other: DataFrame, on: string, how?: 'inner' | 'left'): DataFrame;
|
|
45
|
+
describe(): Record<string, any>;
|
|
46
|
+
toRows(): Record<string, any>[];
|
|
47
|
+
toColumns(): Record<string, any[]>;
|
|
48
|
+
toCSV(delimiter?: string): string;
|
|
49
|
+
toString(): string;
|
|
50
|
+
}
|
|
51
|
+
export declare class GroupedDataFrame {
|
|
52
|
+
private _groups;
|
|
53
|
+
private _groupCol;
|
|
54
|
+
constructor(df: DataFrame, col: string);
|
|
55
|
+
agg(aggregations: Record<string, 'sum' | 'mean' | 'min' | 'max' | 'count' | 'first' | 'last'>): DataFrame;
|
|
56
|
+
count(): DataFrame;
|
|
57
|
+
get groups(): Map<any, DataFrame>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=DataFrame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataFrame.d.ts","sourceRoot":"","sources":["DataFrame.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtE,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;CACjB;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAAa;gBAEhB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAcrE,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAenB,IAAI,MAAM,IAAI,MAAM,CAAyB;IAC7C,IAAI,KAAK,IAAI,MAAM,CAA+B;IAClD,IAAI,OAAO,IAAI,MAAM,EAAE,CAA6C;IACpE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAIlC;IACD,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAA+C;IAM5E,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS;IASpC,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS;IAKlC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE;IAIxB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAYvC,IAAI,CAAC,CAAC,GAAE,MAAU,GAAG,SAAS;IAI9B,IAAI,CAAC,CAAC,GAAE,MAAU,GAAG,SAAS;IAI9B,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS;IAI7C,OAAO,CAAC,UAAU;IAYlB,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS;IAQlF,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS;IAwB7H,OAAO,CAAC,YAAY;IAYpB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,SAAS;IAqBzD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;IAItC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxB,KAAK,IAAI,MAAM;IAIf,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE;IAI1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI5B,OAAO,CAAC,cAAc;IAQtB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,GAAG,GAAG,SAAS;IAWzF,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAQlD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS;IAY1C,OAAO,CAAC,UAAU;IAelB,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,OAAO,GAAG,MAAgB,GAAG,SAAS;IAuC9E,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAwB/B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAQ/B,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAMlC,KAAK,CAAC,SAAS,GAAE,MAAY,GAAG,MAAM;IAetC,QAAQ,IAAI,MAAM;CAsBrB;AAMD,qBAAa,gBAAgB;IACzB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAAS;gBAEd,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IAmBtC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,SAAS;IAuBzG,KAAK,IAAI,SAAS;IASlB,IAAI,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAEhC;CACJ"}
|