@unipin/angular-applet 21.0.1 → 21.1.2
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 +334 -37
- package/common/assets/styles/theme.css +3 -0
- package/fesm2022/unipin-angular-applet-accordion.mjs +30 -30
- package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs +92 -93
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert.mjs +16 -16
- package/fesm2022/unipin-angular-applet-alert.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-approval.mjs +129 -0
- package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -0
- package/fesm2022/unipin-angular-applet-auth.mjs +45 -26
- package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-avatar.mjs +6 -6
- package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-badge.mjs +6 -6
- package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-buttons.mjs +13 -17
- package/fesm2022/unipin-angular-applet-buttons.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-calendar.mjs +25 -25
- package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-collapsible.mjs +17 -17
- package/fesm2022/unipin-angular-applet-collapsible.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-common.mjs +60 -23
- package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-containers.mjs +22 -22
- package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-dialog.mjs +62 -73
- package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-forms.mjs +394 -152
- package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-froala.mjs +10 -12
- package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +5 -5
- package/fesm2022/unipin-angular-applet-infinite-scroll.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-json-viewer.mjs +8 -8
- package/fesm2022/unipin-angular-applet-json-viewer.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-kbd.mjs +32 -0
- package/fesm2022/unipin-angular-applet-kbd.mjs.map +1 -0
- package/fesm2022/unipin-angular-applet-loading-dialog.mjs +8 -8
- package/fesm2022/unipin-angular-applet-loading-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-markdown.mjs +19 -21
- package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-popover.mjs +21 -25
- package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-progress-bar.mjs +8 -8
- package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-skeleton.mjs +5 -5
- package/fesm2022/unipin-angular-applet-skeleton.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-spinner.mjs +6 -6
- package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-swipeable.mjs +26 -26
- package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-tabs.mjs +22 -22
- package/fesm2022/unipin-angular-applet-tabs.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-tooltip.mjs +5 -5
- package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
- package/package.json +9 -1
- package/types/unipin-angular-applet-alert-dialog.d.ts +3 -1
- package/types/unipin-angular-applet-approval.d.ts +55 -0
- package/types/unipin-angular-applet-common.d.ts +12 -2
- package/types/unipin-angular-applet-dialog.d.ts +1 -2
- package/types/unipin-angular-applet-forms.d.ts +70 -2
- package/types/unipin-angular-applet-kbd.d.ts +11 -0
|
@@ -69,7 +69,7 @@ class UpDialogRef {
|
|
|
69
69
|
this.open = open;
|
|
70
70
|
this.cdkDialogRef = cdkDialogRef;
|
|
71
71
|
this.options = options;
|
|
72
|
-
this.isOpen = computed(() => this.state() === 'open', ...(ngDevMode ?
|
|
72
|
+
this.isOpen = computed(() => this.state() === 'open', { ...(ngDevMode ? { debugName: "isOpen" } : {}) });
|
|
73
73
|
this.closed$ = this.cdkDialogRef.closed.pipe(take(1));
|
|
74
74
|
}
|
|
75
75
|
close(result, delay = this.options?.closeDelay ?? 0) {
|
|
@@ -120,9 +120,9 @@ class UpDialogService {
|
|
|
120
120
|
dialogRef.close(result, options?.closeDelay);
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
|
-
const open = signal(true, ...(ngDevMode ?
|
|
123
|
+
const open = signal(true, { ...(ngDevMode ? { debugName: "open" } : {}) });
|
|
124
124
|
const destroyed$ = new Subject();
|
|
125
|
-
const state = computed(() => open() ? 'open' : 'closed', ...(ngDevMode ?
|
|
125
|
+
const state = computed(() => open() ? 'open' : 'closed', { ...(ngDevMode ? { debugName: "state" } : {}) });
|
|
126
126
|
dialogSequence++;
|
|
127
127
|
const dialogId = options?.id ?? `up-dialog-${dialogSequence}`;
|
|
128
128
|
const cdkDialogRef = this.cdkDialog.open(content, {
|
|
@@ -200,10 +200,10 @@ class UpDialogService {
|
|
|
200
200
|
});
|
|
201
201
|
return dialogRef;
|
|
202
202
|
}
|
|
203
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
204
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.
|
|
203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
204
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogService, providedIn: 'root' }); }
|
|
205
205
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogService, decorators: [{
|
|
207
207
|
type: Injectable,
|
|
208
208
|
args: [{
|
|
209
209
|
providedIn: 'root'
|
|
@@ -218,40 +218,29 @@ class UpDialog {
|
|
|
218
218
|
this.positionBuilder = inject(OverlayPositionBuilder);
|
|
219
219
|
this.scrollStrategyOptions = inject(ScrollStrategyOptions);
|
|
220
220
|
this.defaultOptions = injectDialogDefaultOptions();
|
|
221
|
-
this.attachTo = input(null, ...(ngDevMode ?
|
|
222
|
-
this.role = input(this.defaultOptions.role, ...(ngDevMode ?
|
|
223
|
-
this.autoFocus = input(this.defaultOptions.autoFocus, ...(ngDevMode ?
|
|
224
|
-
this.restoreFocus = input(this.defaultOptions.restoreFocus, ...(ngDevMode ?
|
|
225
|
-
this.scrollStrategy = input(this.defaultOptions.scrollStrategy, ...(ngDevMode ?
|
|
226
|
-
this.attachPositions = input(this.defaultOptions.attachPositions, ...(ngDevMode ?
|
|
227
|
-
this.positionStrategy = input(this.defaultOptions.positionStrategy, ...(ngDevMode ?
|
|
228
|
-
this.hasBackdrop = input(this.defaultOptions.hasBackdrop, ...(ngDevMode ?
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
this.
|
|
232
|
-
transform: booleanAttribute,
|
|
233
|
-
}]));
|
|
234
|
-
this.closeDelay = input(this.defaultOptions.closeDelay, ...(ngDevMode ? [{ debugName: "closeDelay", transform: numberAttribute }] : [{
|
|
235
|
-
transform: numberAttribute
|
|
236
|
-
}]));
|
|
237
|
-
this.closeOnOutsidePointerEvents = input(this.defaultOptions.closeOnOutsidePointerEvents, ...(ngDevMode ? [{ debugName: "closeOnOutsidePointerEvents", transform: booleanAttribute }] : [{
|
|
238
|
-
transform: booleanAttribute
|
|
239
|
-
}]));
|
|
240
|
-
this.closeOnBackdropClick = input(this.defaultOptions.closeOnBackdropClick, ...(ngDevMode ? [{ debugName: "closeOnBackdropClick", transform: booleanAttribute }] : [{
|
|
241
|
-
transform: booleanAttribute
|
|
242
|
-
}]));
|
|
221
|
+
this.attachTo = input(null, { ...(ngDevMode ? { debugName: "attachTo" } : {}) });
|
|
222
|
+
this.role = input(this.defaultOptions.role, { ...(ngDevMode ? { debugName: "role" } : {}) });
|
|
223
|
+
this.autoFocus = input(this.defaultOptions.autoFocus, { ...(ngDevMode ? { debugName: "autoFocus" } : {}) });
|
|
224
|
+
this.restoreFocus = input(this.defaultOptions.restoreFocus, { ...(ngDevMode ? { debugName: "restoreFocus" } : {}) });
|
|
225
|
+
this.scrollStrategy = input(this.defaultOptions.scrollStrategy, { ...(ngDevMode ? { debugName: "scrollStrategy" } : {}) });
|
|
226
|
+
this.attachPositions = input(this.defaultOptions.attachPositions, { ...(ngDevMode ? { debugName: "attachPositions" } : {}) });
|
|
227
|
+
this.positionStrategy = input(this.defaultOptions.positionStrategy, { ...(ngDevMode ? { debugName: "positionStrategy" } : {}) });
|
|
228
|
+
this.hasBackdrop = input(this.defaultOptions.hasBackdrop, { ...(ngDevMode ? { debugName: "hasBackdrop" } : {}), transform: booleanAttribute });
|
|
229
|
+
this.disableClose = input(this.defaultOptions.disableClose, { ...(ngDevMode ? { debugName: "disableClose" } : {}), transform: booleanAttribute });
|
|
230
|
+
this.closeDelay = input(this.defaultOptions.closeDelay, { ...(ngDevMode ? { debugName: "closeDelay" } : {}), transform: numberAttribute });
|
|
231
|
+
this.closeOnOutsidePointerEvents = input(this.defaultOptions.closeOnOutsidePointerEvents, { ...(ngDevMode ? { debugName: "closeOnOutsidePointerEvents" } : {}), transform: booleanAttribute });
|
|
243
232
|
this.closed = output();
|
|
244
233
|
this.stateChanged = output();
|
|
245
|
-
this.state = signal(false, ...(ngDevMode ?
|
|
246
|
-
this.mutableAttachTo = computed(() => signal(this.attachTo()), ...(ngDevMode ?
|
|
247
|
-
this.stateComputed = computed(() => this.dialogRef?.state() ?? 'closed', ...(ngDevMode ?
|
|
248
|
-
this.mutableAttachPositions = computed(() => signal(this.attachPositions()), ...(ngDevMode ?
|
|
249
|
-
this.mutablePositionStrategy = computed(() => signal(this.positionStrategy()), ...(ngDevMode ?
|
|
250
|
-
this.mutableCloseOnOutsidePointerEvents = computed(() => signal(this.closeOnOutsidePointerEvents()), ...(ngDevMode ?
|
|
251
|
-
this.attachToState = computed(() => this.mutableAttachTo()(), ...(ngDevMode ?
|
|
252
|
-
this.positionStrategyState = computed(() => this.mutablePositionStrategy()(), ...(ngDevMode ?
|
|
253
|
-
this.closeOnOutsidePointerEventsState = computed(() => this.mutableCloseOnOutsidePointerEvents()(), ...(ngDevMode ?
|
|
254
|
-
this.attachPositionsState = computed(() => this.mutableAttachPositions()(), ...(ngDevMode ?
|
|
234
|
+
this.state = signal(false, { ...(ngDevMode ? { debugName: "state" } : {}) });
|
|
235
|
+
this.mutableAttachTo = computed(() => signal(this.attachTo()), { ...(ngDevMode ? { debugName: "mutableAttachTo" } : {}) });
|
|
236
|
+
this.stateComputed = computed(() => this.dialogRef?.state() ?? 'closed', { ...(ngDevMode ? { debugName: "stateComputed" } : {}) });
|
|
237
|
+
this.mutableAttachPositions = computed(() => signal(this.attachPositions()), { ...(ngDevMode ? { debugName: "mutableAttachPositions" } : {}) });
|
|
238
|
+
this.mutablePositionStrategy = computed(() => signal(this.positionStrategy()), { ...(ngDevMode ? { debugName: "mutablePositionStrategy" } : {}) });
|
|
239
|
+
this.mutableCloseOnOutsidePointerEvents = computed(() => signal(this.closeOnOutsidePointerEvents()), { ...(ngDevMode ? { debugName: "mutableCloseOnOutsidePointerEvents" } : {}) });
|
|
240
|
+
this.attachToState = computed(() => this.mutableAttachTo()(), { ...(ngDevMode ? { debugName: "attachToState" } : {}) });
|
|
241
|
+
this.positionStrategyState = computed(() => this.mutablePositionStrategy()(), { ...(ngDevMode ? { debugName: "positionStrategyState" } : {}) });
|
|
242
|
+
this.closeOnOutsidePointerEventsState = computed(() => this.mutableCloseOnOutsidePointerEvents()(), { ...(ngDevMode ? { debugName: "closeOnOutsidePointerEventsState" } : {}) });
|
|
243
|
+
this.attachPositionsState = computed(() => this.mutableAttachPositions()(), { ...(ngDevMode ? { debugName: "attachPositionsState" } : {}) });
|
|
255
244
|
this.options = computed(() => {
|
|
256
245
|
const scrollStrategyInput = this.scrollStrategy();
|
|
257
246
|
let scrollStrategy = scrollStrategyInput;
|
|
@@ -266,14 +255,14 @@ class UpDialog {
|
|
|
266
255
|
autoFocus: this.autoFocus(),
|
|
267
256
|
restoreFocus: this.restoreFocus(),
|
|
268
257
|
closeDelay: this.closeDelay(),
|
|
269
|
-
closeOnBackdropClick: this.
|
|
258
|
+
closeOnBackdropClick: !this.disableClose(),
|
|
270
259
|
closeOnOutsidePointerEvents: this.closeOnOutsidePointerEventsState(),
|
|
271
260
|
scrollStrategy,
|
|
272
261
|
positionStrategy: this.positionStrategyState(),
|
|
273
262
|
attachTo: this.attachToState(),
|
|
274
263
|
attachPositions: this.attachPositionsState(),
|
|
275
264
|
};
|
|
276
|
-
}, ...(ngDevMode ?
|
|
265
|
+
}, { ...(ngDevMode ? { debugName: "options" } : {}) });
|
|
277
266
|
this.context = {};
|
|
278
267
|
effect(() => {
|
|
279
268
|
const state = this.state();
|
|
@@ -309,7 +298,7 @@ class UpDialog {
|
|
|
309
298
|
this.dialogStateEffectRef = effect(() => {
|
|
310
299
|
const state = this.dialogRef.state();
|
|
311
300
|
untracked(() => this.stateChanged.emit(state));
|
|
312
|
-
}, ...(ngDevMode ?
|
|
301
|
+
}, { ...(ngDevMode ? { debugName: "dialogStateEffectRef" } : {}) });
|
|
313
302
|
});
|
|
314
303
|
this.dialogRef.closed$.pipe(take(1)).subscribe({
|
|
315
304
|
next: (result) => {
|
|
@@ -318,12 +307,12 @@ class UpDialog {
|
|
|
318
307
|
}
|
|
319
308
|
});
|
|
320
309
|
}
|
|
321
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
322
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
310
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
311
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: UpDialog, isStandalone: true, selector: "up-dialog", inputs: { attachTo: { classPropertyName: "attachTo", publicName: "attachTo", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, attachPositions: { classPropertyName: "attachPositions", publicName: "attachPositions", isSignal: true, isRequired: false, transformFunction: null }, positionStrategy: { classPropertyName: "positionStrategy", publicName: "positionStrategy", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, disableClose: { classPropertyName: "disableClose", publicName: "disableClose", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsidePointerEvents: { classPropertyName: "closeOnOutsidePointerEvents", publicName: "closeOnOutsidePointerEvents", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", stateChanged: "stateChanged" }, exportAs: ["upDialog"], ngImport: i0, template: `
|
|
323
312
|
<ng-content />
|
|
324
313
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
325
314
|
}
|
|
326
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
315
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialog, decorators: [{
|
|
327
316
|
type: Component,
|
|
328
317
|
args: [{
|
|
329
318
|
standalone: true,
|
|
@@ -335,21 +324,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
335
324
|
<ng-content />
|
|
336
325
|
`,
|
|
337
326
|
}]
|
|
338
|
-
}], ctorParameters: () => [], propDecorators: { attachTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "attachTo", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], autoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoFocus", required: false }] }], restoreFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreFocus", required: false }] }], scrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStrategy", required: false }] }], attachPositions: [{ type: i0.Input, args: [{ isSignal: true, alias: "attachPositions", required: false }] }], positionStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "positionStrategy", required: false }] }], hasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackdrop", required: false }] }], disableClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableClose", required: false }] }], closeDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeDelay", required: false }] }], closeOnOutsidePointerEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnOutsidePointerEvents", required: false }] }],
|
|
327
|
+
}], ctorParameters: () => [], propDecorators: { attachTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "attachTo", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], autoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoFocus", required: false }] }], restoreFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreFocus", required: false }] }], scrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStrategy", required: false }] }], attachPositions: [{ type: i0.Input, args: [{ isSignal: true, alias: "attachPositions", required: false }] }], positionStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "positionStrategy", required: false }] }], hasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackdrop", required: false }] }], disableClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableClose", required: false }] }], closeDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeDelay", required: false }] }], closeOnOutsidePointerEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnOutsidePointerEvents", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], stateChanged: [{ type: i0.Output, args: ["stateChanged"] }] } });
|
|
339
328
|
|
|
340
329
|
class UpDialogCloseDirective {
|
|
341
330
|
constructor() {
|
|
342
331
|
this.dialogRef = inject(UpDialogRef);
|
|
343
|
-
this.inlineClass = input('', ...(ngDevMode ?
|
|
344
|
-
this._computedClass = computed(() => up(this.inlineClass()), ...(ngDevMode ?
|
|
332
|
+
this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : {}), alias: 'class' });
|
|
333
|
+
this._computedClass = computed(() => up(this.inlineClass()), { ...(ngDevMode ? { debugName: "_computedClass" } : {}) });
|
|
345
334
|
}
|
|
346
335
|
close() {
|
|
347
336
|
this.dialogRef.close(undefined);
|
|
348
337
|
}
|
|
349
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
350
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.
|
|
338
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
339
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.2", type: UpDialogCloseDirective, isStandalone: true, selector: "button[upDialogClose]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "close()" }, properties: { "class": "_computedClass()" } }, ngImport: i0 }); }
|
|
351
340
|
}
|
|
352
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
341
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogCloseDirective, decorators: [{
|
|
353
342
|
type: Directive,
|
|
354
343
|
args: [{
|
|
355
344
|
standalone: true,
|
|
@@ -364,8 +353,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
364
353
|
class UpDialogContentDirective {
|
|
365
354
|
constructor() {
|
|
366
355
|
this.dialogRef = inject(UpDialogRef);
|
|
367
|
-
this.inlineClass = input('', ...(ngDevMode ?
|
|
368
|
-
this.state = computed(() => this.dialogRef?.state() ?? 'closed', ...(ngDevMode ?
|
|
356
|
+
this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : {}), alias: 'class' });
|
|
357
|
+
this.state = computed(() => this.dialogRef?.state() ?? 'closed', { ...(ngDevMode ? { debugName: "state" } : {}) });
|
|
369
358
|
this._computedClass = computed(() => {
|
|
370
359
|
return up(`
|
|
371
360
|
grid relative gap-4 bg-white rounded-xl shadow [animation-duration:200] data-[state=open]:animate-in data-[state=closed]:animate-out
|
|
@@ -376,12 +365,12 @@ class UpDialogContentDirective {
|
|
|
376
365
|
md:w-full md:min-w-[600px]
|
|
377
366
|
overflow-hidden outline-none
|
|
378
367
|
`, this.inlineClass());
|
|
379
|
-
}, ...(ngDevMode ?
|
|
368
|
+
}, { ...(ngDevMode ? { debugName: "_computedClass" } : {}) });
|
|
380
369
|
}
|
|
381
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
382
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.
|
|
370
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
371
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.2", type: UpDialogContentDirective, isStandalone: true, selector: "[upDialogContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-state": "state()" } }, exportAs: ["upDialogContent"], ngImport: i0 }); }
|
|
383
372
|
}
|
|
384
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
373
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogContentDirective, decorators: [{
|
|
385
374
|
type: Directive,
|
|
386
375
|
args: [{
|
|
387
376
|
standalone: true,
|
|
@@ -399,10 +388,10 @@ class UpDialogTriggerDirective {
|
|
|
399
388
|
constructor() {
|
|
400
389
|
this.dialogRef = inject(UpDialogRef, { optional: true });
|
|
401
390
|
this.dialog = inject(UpDialog, { optional: true });
|
|
402
|
-
this.id = input(`up-dialog-trigger-${idSequence++}`, ...(ngDevMode ?
|
|
403
|
-
this.dialogTriggerFor = input(undefined, ...(ngDevMode ?
|
|
404
|
-
this.mutableDialogTriggerFor = computed(() => signal(this.dialogTriggerFor()), ...(ngDevMode ?
|
|
405
|
-
this.dialogTriggerForState = computed(() => this.mutableDialogTriggerFor()(), ...(ngDevMode ?
|
|
391
|
+
this.id = input(`up-dialog-trigger-${idSequence++}`, { ...(ngDevMode ? { debugName: "id" } : {}) });
|
|
392
|
+
this.dialogTriggerFor = input(undefined, { ...(ngDevMode ? { debugName: "dialogTriggerFor" } : {}), alias: 'upDialogTriggerFor' });
|
|
393
|
+
this.mutableDialogTriggerFor = computed(() => signal(this.dialogTriggerFor()), { ...(ngDevMode ? { debugName: "mutableDialogTriggerFor" } : {}) });
|
|
394
|
+
this.dialogTriggerForState = computed(() => this.mutableDialogTriggerFor()(), { ...(ngDevMode ? { debugName: "dialogTriggerForState" } : {}) });
|
|
406
395
|
this.state = computed(() => {
|
|
407
396
|
const dialogFromInput = this.dialogTriggerForState();
|
|
408
397
|
if (dialogFromInput) {
|
|
@@ -415,7 +404,7 @@ class UpDialogTriggerDirective {
|
|
|
415
404
|
return this.dialogRef.state();
|
|
416
405
|
}
|
|
417
406
|
return 'closed';
|
|
418
|
-
}, ...(ngDevMode ?
|
|
407
|
+
}, { ...(ngDevMode ? { debugName: "state" } : {}) });
|
|
419
408
|
effect(() => {
|
|
420
409
|
const dialog = this.dialogTriggerForState();
|
|
421
410
|
if (!dialog) {
|
|
@@ -427,10 +416,10 @@ class UpDialogTriggerDirective {
|
|
|
427
416
|
open() {
|
|
428
417
|
this.dialog?.open();
|
|
429
418
|
}
|
|
430
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
431
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.
|
|
419
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
420
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.2", type: UpDialogTriggerDirective, isStandalone: true, selector: "button[upDialogTrigger], button[upDialogTriggerFor]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, dialogTriggerFor: { classPropertyName: "dialogTriggerFor", publicName: "upDialogTriggerFor", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "open()" }, properties: { "id": "id()", "attr.data-state": "state()" } }, exportAs: ["upDialogTrigger"], ngImport: i0 }); }
|
|
432
421
|
}
|
|
433
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogTriggerDirective, decorators: [{
|
|
434
423
|
type: Directive,
|
|
435
424
|
args: [{
|
|
436
425
|
standalone: true,
|
|
@@ -450,8 +439,8 @@ class UpDialogContentRefDirective {
|
|
|
450
439
|
this.dialog = inject(UpDialog, { optional: true });
|
|
451
440
|
this.dialogRef = inject(UpDialogRef, { optional: true });
|
|
452
441
|
this.dialogContext = injectDialogContext({ optional: true });
|
|
453
|
-
this.context = input(undefined, ...(ngDevMode ?
|
|
454
|
-
this.state = computed(() => this.dialog?.stateComputed() ?? this.dialogRef?.state() ?? 'closed', ...(ngDevMode ?
|
|
442
|
+
this.context = input(undefined, { ...(ngDevMode ? { debugName: "context" } : {}) });
|
|
443
|
+
this.state = computed(() => this.dialog?.stateComputed() ?? this.dialogRef?.state() ?? 'closed', { ...(ngDevMode ? { debugName: "state" } : {}) });
|
|
455
444
|
if (!this.dialog) {
|
|
456
445
|
return;
|
|
457
446
|
}
|
|
@@ -465,12 +454,12 @@ class UpDialogContentRefDirective {
|
|
|
465
454
|
untracked(() => this.dialog?.setContext(context));
|
|
466
455
|
});
|
|
467
456
|
}
|
|
468
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
469
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.
|
|
457
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogContentRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
458
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.2", type: UpDialogContentRefDirective, isStandalone: true, selector: "[upDialogContentRef]", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
470
459
|
provideExposesStateProviderExisting(() => UpDialogContentRefDirective)
|
|
471
460
|
], exportAs: ["upDialogContentRef"], ngImport: i0 }); }
|
|
472
461
|
}
|
|
473
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogContentRefDirective, decorators: [{
|
|
474
463
|
type: Directive,
|
|
475
464
|
args: [{
|
|
476
465
|
standalone: true,
|
|
@@ -485,7 +474,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
485
474
|
class UpDialogWrapperComponent extends UpDialog {
|
|
486
475
|
constructor() {
|
|
487
476
|
super();
|
|
488
|
-
this.isOpen = input(false, ...(ngDevMode ?
|
|
477
|
+
this.isOpen = input(false, { ...(ngDevMode ? { debugName: "isOpen" } : {}) });
|
|
489
478
|
this.dismissed = output();
|
|
490
479
|
effect(() => {
|
|
491
480
|
this.state.set(this.isOpen());
|
|
@@ -497,8 +486,8 @@ class UpDialogWrapperComponent extends UpDialog {
|
|
|
497
486
|
ngOnDestroy() {
|
|
498
487
|
this.closedSubscription.unsubscribe();
|
|
499
488
|
}
|
|
500
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
501
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
489
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
490
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: UpDialogWrapperComponent, isStandalone: true, selector: "up-dialog-wrapper", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, providers: [
|
|
502
491
|
{
|
|
503
492
|
provide: UpDialog,
|
|
504
493
|
useExisting: forwardRef(() => UpDialogWrapperComponent)
|
|
@@ -507,7 +496,7 @@ class UpDialogWrapperComponent extends UpDialog {
|
|
|
507
496
|
<ng-content />
|
|
508
497
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
509
498
|
}
|
|
510
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
499
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: UpDialogWrapperComponent, decorators: [{
|
|
511
500
|
type: Component,
|
|
512
501
|
args: [{
|
|
513
502
|
standalone: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unipin-angular-applet-dialog.mjs","sources":["../../../projects/unipin-angular/dialog/constants/default-dialog-options.const.ts","../../../projects/unipin-angular/dialog/tokens/dialog-context.token.ts","../../../projects/unipin-angular/dialog/tokens/dialog.token.ts","../../../projects/unipin-angular/dialog/utils/create-injection-token.util.ts","../../../projects/unipin-angular/dialog/utils/expose-state.util.ts","../../../projects/unipin-angular/dialog/dialog-ref.ts","../../../projects/unipin-angular/dialog/services/dialog.service.ts","../../../projects/unipin-angular/dialog/dialog.ts","../../../projects/unipin-angular/dialog/directives/dialog-close.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-content.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-trigger.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-content-ref.directive.ts","../../../projects/unipin-angular/dialog/components/dialog-wrapper.component.ts","../../../projects/unipin-angular/dialog/unipin-angular-applet-dialog.ts"],"sourcesContent":["import { UpDialogOptions } from '../types/dialog-options.type';\n\nexport const defaultDialogOptions: UpDialogOptions = {\n role: 'dialog',\n hasBackdrop: true,\n disableClose: false,\n autoFocus: 'first-tabbable',\n\n restoreFocus: true,\n\n closeDelay: 50,\n closeOnBackdropClick: true,\n closeOnOutsidePointerEvents: false,\n\n scrollStrategy: null,\n \n attachPositions: [],\n};\n","import { inject, InjectOptions } from '@angular/core';\nimport { DIALOG_DATA } from '@angular/cdk/dialog';\n\nexport const injectDialogContext = <DialogContext = any>(options: InjectOptions = {}) => {\n return inject(DIALOG_DATA, options) as DialogContext;\n};\n","import { inject, InjectionToken, ValueProvider } from '@angular/core';\nimport { UpDialogOptions } from '../types/dialog-options.type';\nimport { defaultDialogOptions } from '../constants/default-dialog-options.const';\n\nconst DEFAULT_OPTIONS = new InjectionToken<UpDialogOptions>(\n 'up-dialog-default-options',\n {\n providedIn: 'root',\n factory: () => defaultDialogOptions,\n }\n);\n\nexport function provideDialogDefaultOptions(options: Partial<UpDialogOptions>): ValueProvider{\n return {\n provide: DEFAULT_OPTIONS,\n useValue: { \n ...defaultDialogOptions, \n ...options \n },\n };\n}\n\nexport function injectDialogDefaultOptions(): UpDialogOptions{\n const opts = inject(\n DEFAULT_OPTIONS, \n { \n optional: true \n }\n );\n return opts?? defaultDialogOptions;\n}\n","import { InjectionToken, forwardRef, inject } from '@angular/core';\nimport type { InjectOptions, Provider, Type } from '@angular/core';\n\ntype InjectFn<TTokenValue> = {\n (): TTokenValue;\n (injectOptions: InjectOptions & { optional?: false }): TTokenValue;\n (injectOptions: InjectOptions & { optional: true }): TTokenValue | null;\n};\n\ntype ProvideFn<TTokenValue> = (value: TTokenValue) => Provider;\ntype ProvideExistingFn<TTokenValue> = (valueFactory: () => Type<TTokenValue>) => Provider;\n\nexport type CreateInjectionTokenReturn<TTokenValue> = [\n InjectFn<TTokenValue>,\n ProvideFn<TTokenValue>,\n ProvideExistingFn<TTokenValue>,\n InjectionToken<TTokenValue>\n];\n\nexport function createInjectionToken<TTokenValue>(description: string): CreateInjectionTokenReturn<TTokenValue>{\n \n const token = new InjectionToken<TTokenValue>(description);\n\n const provideFn = (value: TTokenValue) => {\n return { provide: token, useValue: value };\n };\n\n const provideExistingFn = (value: () => TTokenValue) => {\n return { provide: token, useExisting: forwardRef(value) };\n };\n\n const injectFn = (options: InjectOptions = {}) => {\n return inject(token, options);\n };\n\n return [\n injectFn,\n provideFn,\n provideExistingFn,\n token,\n ] as CreateInjectionTokenReturn<TTokenValue>;\n}\n","import type { Signal } from '@angular/core';\nimport { createInjectionToken } from './create-injection-token.util';\n\nexport type ExposesState = {\n state: Signal<'open' | 'closed'>;\n};\n\nexport const [\n injectExposesStateProvider,\n provideExposesStateProvider,\n provideExposesStateProviderExisting,\n EXPOSES_STATE_TOKEN,\n] = createInjectionToken<ExposesState>('@unipin-angular EXPOSES_STATE_TOKEN');\n","import { computed, Signal, WritableSignal } from '@angular/core';\nimport { Observable, take } from 'rxjs';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { UpDialogOptions } from './types/dialog-options.type';\n\nexport class UpDialogRef<DialogResult = any> {\n\n public readonly closed$: Observable<DialogResult | undefined>;\n\n public readonly isOpen = computed(\n () => this.state() === 'open'\n );\n\n public previousTimeout: ReturnType<typeof setTimeout> | undefined;\n\n constructor(\n public readonly state: Signal<'closed' | 'open'>,\n\n protected readonly open: WritableSignal<boolean>,\n protected readonly cdkDialogRef: DialogRef<DialogResult>,\n protected readonly options?: UpDialogOptions,\n ) {\n this.closed$ = this.cdkDialogRef.closed.pipe(take(1));\n }\n\n public close(result?: DialogResult, delay: number = this.options?.closeDelay ?? 0): void {\n if (!this.isOpen()) {\n return;\n }\n this.open.set(false);\n clearTimeout(this.previousTimeout);\n\n this.previousTimeout = setTimeout(\n () => {\n this.cdkDialogRef.close(result);\n }, \n delay\n );\n }\n}\n","import { computed, effect, EffectRef, ElementRef, inject, Injectable, Injector, RendererFactory2, runInInjectionContext, signal, StaticProvider, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { ComponentType, OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { filter, Subject, takeUntil } from 'rxjs';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogOptions } from '../types/dialog-options.type';\nimport { UpDialogRef } from '../dialog-ref';\n\nlet dialogSequence = 0;\ntype UpDialogContext<T> = T & { close: (result?: any) => void };\n\ntype DialogOpenOptions<T> = {\n content: ComponentType<unknown> | TemplateRef<unknown>;\n context?: T;\n vcr?: ViewContainerRef;\n options?: Partial<UpDialogOptions>;\n}\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class UpDialogService {\n \n public readonly cdkDialog = inject(Dialog);\n public readonly injector = inject(Injector);\n public readonly rendererFactory = inject(RendererFactory2);\n public readonly positionBuilder = inject(OverlayPositionBuilder);\n public readonly scrollStrategyOptions = inject(ScrollStrategyOptions);\n \n public readonly renderer = this.rendererFactory.createRenderer(null, null);\n\n public open<DialogContext>({ content, vcr, context, options }: DialogOpenOptions<DialogContext>): UpDialogRef{\n if (\n options?.id && \n this.cdkDialog.getDialogById(options.id)\n ) {\n throw new Error(`Dialog with ID: ${ options.id } already exists`);\n }\n\n let positionStrategy = options?.positionStrategy;\n if (!positionStrategy) {\n if (\n options?.attachTo &&\n options?.attachPositions &&\n options?.attachPositions?.length > 0\n ) {\n positionStrategy = this.positionBuilder?.flexibleConnectedTo(options.attachTo).withPositions(options.attachPositions?? [])\n } else {\n positionStrategy = this.positionBuilder.global()\n .centerHorizontally()\n .centerVertically();\n }\n }\n\n let effectRef!: EffectRef;\n let dialogRef!: UpDialogRef;\n\n const contextOrData: UpDialogContext<any> = {\n ...context,\n close: (result: any = undefined) => {\n dialogRef.close(result, options?.closeDelay)\n }\n };\n\n const open = signal<boolean>(true);\n const destroyed$ = new Subject<void>();\n \n const state = computed<'open' | 'closed'>(\n () => open() ? 'open' : 'closed'\n );\n\n dialogSequence++;\n const dialogId = options?.id?? `up-dialog-${ dialogSequence }`;\n\n const cdkDialogRef = this.cdkDialog.open(\n content as any, \n {\n id: dialogId,\n role: options?.role,\n data: contextOrData,\n hasBackdrop: options?.hasBackdrop,\n backdropClass: up('bg-black/30'),\n \n autoFocus: options?.autoFocus?? 'first-tabbable',\n restoreFocus: options?.restoreFocus instanceof ElementRef? options.restoreFocus.nativeElement : options?.restoreFocus,\n \n disableClose: true,\n viewContainerRef: vcr,\n \n positionStrategy,\n scrollStrategy: (options?.scrollStrategy?? this.scrollStrategyOptions?.block()) as ScrollStrategy,\n\n templateContext: () => ({ $implicit: contextOrData }),\n\n providers: (cdkDialogRef) => {\n dialogRef = new UpDialogRef(\n state,\n open,\n cdkDialogRef,\n options as UpDialogOptions\n );\n\n runInInjectionContext(\n this.injector, \n () => {\n effectRef = effect(\n () => {\n if (overlay) {\n this.renderer.setAttribute(overlay, 'data-state', state());\n }\n\n if (backdrop) {\n this.renderer.setAttribute(backdrop, 'data-state', state());\n }\n }\n );\n }\n );\n\n const providers: StaticProvider[] = [\n {\n provide: UpDialogRef,\n useValue: dialogRef,\n },\n ];\n\n if (options?.providers) {\n if (typeof options.providers === 'function') {\n providers.push(...options.providers());\n }\n\n if (Array.isArray(options.providers)) {\n providers.push(...options.providers);\n }\n }\n\n return providers;\n },\n }\n );\n\n const overlay = cdkDialogRef.overlayRef.overlayElement;\n const backdrop = cdkDialogRef.overlayRef.backdropElement;\n\n if (!options?.disableClose) {\n cdkDialogRef.keydownEvents.pipe(\n filter((e) => e.key === 'Escape'),\n takeUntil(destroyed$)\n ).subscribe({\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n });\n }\n\n if (options?.closeOnOutsidePointerEvents) {\n cdkDialogRef.outsidePointerEvents.pipe(\n takeUntil(destroyed$)\n )\n .subscribe({\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n });\n }\n\n if (options?.closeOnBackdropClick) {\n cdkDialogRef.backdropClick.pipe(\n takeUntil(destroyed$)\n ).subscribe({\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n });\n }\n\n cdkDialogRef.closed.pipe(\n takeUntil(destroyed$)\n ).subscribe({\n next: () => {\n effectRef?.destroy();\n \n destroyed$.next();\n destroyed$.complete();\n }\n });\n return dialogRef;\n }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, EffectRef, inject, Injector, input, numberAttribute, output, runInInjectionContext, signal, TemplateRef, untracked, ViewContainerRef, ViewEncapsulation, WritableSignal } from '@angular/core';\nimport { OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { take } from 'rxjs';\nimport { UpDialogOptions } from './types/dialog-options.type';\nimport { injectDialogDefaultOptions } from './tokens/dialog.token';\nimport { UpDialogService } from './services/dialog.service';\nimport { UpDialogRef } from './dialog-ref';\n\n@Component({\n standalone: true,\n exportAs: 'upDialog',\n selector: 'up-dialog',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-content />\n `,\n})\nexport class UpDialog {\n \n public readonly injector = inject(Injector);\n public readonly dialogService = inject(UpDialogService);\n public readonly viewContainerRef = inject(ViewContainerRef);\n public readonly positionBuilder = inject(OverlayPositionBuilder);\n public readonly scrollStrategyOptions = inject(ScrollStrategyOptions);\n \n public readonly defaultOptions = injectDialogDefaultOptions();\n\n public readonly attachTo = input<UpDialogOptions['attachTo']>(null);\n public readonly role = input<UpDialogOptions['role']>(this.defaultOptions.role);\n public readonly autoFocus = input<UpDialogOptions['autoFocus']>(this.defaultOptions.autoFocus);\n public readonly restoreFocus = input<UpDialogOptions['restoreFocus']>(this.defaultOptions.restoreFocus);\n public readonly scrollStrategy = input<UpDialogOptions['scrollStrategy']>(this.defaultOptions.scrollStrategy);\n public readonly attachPositions = input<UpDialogOptions['attachPositions']>(this.defaultOptions.attachPositions);\n public readonly positionStrategy = input<UpDialogOptions['positionStrategy']>(this.defaultOptions.positionStrategy);\n\n public readonly hasBackdrop = input(\n this.defaultOptions.hasBackdrop, \n {\n transform: booleanAttribute,\n }\n );\n public readonly disableClose = input(\n this.defaultOptions.disableClose, \n {\n transform: booleanAttribute,\n }\n );\n public readonly closeDelay = input(\n this.defaultOptions.closeDelay, \n {\n transform: numberAttribute\n }\n );\n public readonly closeOnOutsidePointerEvents = input(\n this.defaultOptions.closeOnOutsidePointerEvents,\n {\n transform: booleanAttribute \n }\n );\n public readonly closeOnBackdropClick = input(\n this.defaultOptions.closeOnBackdropClick,\n { \n transform: booleanAttribute \n }\n );\n\n public readonly closed = output<any>();\n public readonly stateChanged = output<'open' | 'closed'>();\n\n public readonly state: WritableSignal<boolean> = signal(false);\n\n public readonly mutableAttachTo = computed(() => signal(this.attachTo()));\n public readonly stateComputed = computed(() => this.dialogRef?.state()?? 'closed');\n public readonly mutableAttachPositions = computed(() => signal(this.attachPositions()));\n public readonly mutablePositionStrategy = computed(() => signal(this.positionStrategy()));\n public readonly mutableCloseOnOutsidePointerEvents = computed(() => signal(this.closeOnOutsidePointerEvents()));\n\n public dialogRef: UpDialogRef | undefined;\n\n protected readonly attachToState = computed(() => this.mutableAttachTo()());\n protected readonly positionStrategyState = computed(() => this.mutablePositionStrategy()());\n protected readonly closeOnOutsidePointerEventsState = computed(() => this.mutableCloseOnOutsidePointerEvents()());\n protected readonly attachPositionsState = computed(() => this.mutableAttachPositions()());\n\n protected readonly options = computed<Partial<UpDialogOptions>>(\n () => {\n const scrollStrategyInput = this.scrollStrategy();\n \n let scrollStrategy: ScrollStrategy = scrollStrategyInput as ScrollStrategy;\n if (\n scrollStrategyInput === 'close' ||\n scrollStrategyInput === 'reposition'\n ) {\n scrollStrategy = this.scrollStrategyOptions[scrollStrategyInput as 'close' | 'reposition']();\n }\n\n return {\n role: this.role(),\n hasBackdrop: this.hasBackdrop(),\n disableClose: this.disableClose(),\n \n autoFocus: this.autoFocus(),\n restoreFocus: this.restoreFocus(),\n \n closeDelay: this.closeDelay(),\n closeOnBackdropClick: this.closeOnBackdropClick(),\n closeOnOutsidePointerEvents: this.closeOnOutsidePointerEventsState(),\n \n scrollStrategy,\n positionStrategy: this.positionStrategyState(),\n\n attachTo: this.attachToState(),\n attachPositions: this.attachPositionsState(),\n };\n }\n );\n\n protected context = {};\n protected dialogStateEffectRef?: EffectRef;\n protected contentTemplate: TemplateRef<unknown> | undefined;\n\n constructor() {\n effect(\n () => {\n const state = this.state();\n untracked(() => (state? this.open() : this.close()));\n }\n );\n }\n\n public close(result?: any, delay?: number): void{\n this.dialogRef?.close(result, delay?? this.options().closeDelay);\n }\n\n public registerTemplate(template: TemplateRef<unknown>): void{\n this.contentTemplate = template;\n }\n\n //TODO: Remove if unused after v20 lib is done\n public setContext<T extends object>(context: T): void{\n this.context = { \n ...this.context, \n ...context \n };\n }\n\n public open<DialogContext>(): void {\n if (\n !this.contentTemplate ||\n this.dialogRef\n ) {\n return;\n }\n this.dialogStateEffectRef?.destroy();\n\n this.dialogRef = this.dialogService.open<DialogContext>(\n {\n content: this.contentTemplate,\n vcr: this.viewContainerRef,\n context: this.context as DialogContext,\n options: this.options()\n }\n );\n\n runInInjectionContext(\n this.injector, \n () => {\n this.dialogStateEffectRef = effect(\n () => {\n const state = this.dialogRef!.state();\n untracked(() => this.stateChanged.emit(state));\n }\n );\n }\n );\n\n this.dialogRef!.closed$.pipe(\n take(1)\n ).subscribe({\n next: (result) => {\n this.dialogRef = undefined;\n this.closed.emit(result);\n }\n });\n }\n}\n","import { Directive, inject, input, computed } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogRef } from '../dialog-ref';\n\n@Directive({\n standalone: true,\n selector: 'button[upDialogClose]',\n host: {\n '[class]': '_computedClass()',\n '(click)': 'close()',\n }\n})\nexport class UpDialogCloseDirective {\n \n public readonly dialogRef = inject(UpDialogRef);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n\tprotected readonly _computedClass = computed(\n () => up(this.inlineClass())\n );\n \n\tpublic close(): void{\n\t\tthis.dialogRef.close(undefined);\n\t}\n}\n","import { computed, Directive, inject, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogRef } from '../dialog-ref';\n\n@Directive({\n standalone: true,\n exportAs: 'upDialogContent',\n selector: '[upDialogContent]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-state]': 'state()',\n },\n})\nexport class UpDialogContentDirective {\n\n public readonly dialogRef = inject(UpDialogRef);\n\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public readonly state = computed(\n () => this.dialogRef?.state()?? 'closed'\n );\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n `\t\n grid relative gap-4 bg-white rounded-xl shadow [animation-duration:200] data-[state=open]:animate-in data-[state=closed]:animate-out \n data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 \n data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 \n data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] \n w-full max-w-[calc(100%-2rem)] mx-auto\n md:w-full md:min-w-[600px]\n overflow-hidden outline-none\n `,\n this.inlineClass(),\n );\n }\n );\n}\n","import { computed, Directive, effect, inject, input, signal } from '@angular/core';\nimport { UpDialogRef } from '../dialog-ref';\nimport { UpDialog } from '../dialog';\n\nlet idSequence = 0;\n\n@Directive({\n standalone: true,\n exportAs: 'upDialogTrigger',\n selector: 'button[upDialogTrigger], button[upDialogTriggerFor]',\n host: {\n '[id]': 'id()',\n '(click)': 'open()',\n '[attr.data-state]': 'state()',\n },\n})\nexport class UpDialogTriggerDirective {\n\n public readonly dialogRef = inject(UpDialogRef, { optional: true });\n public dialog = inject(UpDialog, { optional: true });\n\n public readonly id = input(`up-dialog-trigger-${ idSequence++ }`);\n public readonly dialogTriggerFor = input<UpDialog | undefined>(undefined, { alias: 'upDialogTriggerFor' });\n \n public readonly mutableDialogTriggerFor = computed(\n () => signal(this.dialogTriggerFor())\n );\n \n public readonly dialogTriggerForState = computed(\n () => this.mutableDialogTriggerFor()()\n );\n \n public readonly state = computed<'open' | 'closed'>(\n () => {\n const dialogFromInput = this.dialogTriggerForState();\n if (dialogFromInput) {\n return dialogFromInput.stateComputed();\n }\n \n if (this.dialog) {\n return this.dialog.stateComputed();\n }\n \n if (this.dialogRef) {\n return this.dialogRef.state();\n }\n return 'closed';\n }\n );\n\n constructor() {\n effect(\n () => {\n const dialog = this.dialogTriggerForState();\n \n if (!dialog) {\n return;\n }\n this.dialog = dialog\n }\n )\n }\n\n public open(): void{\n this.dialog?.open();\n }\n}\n","import { computed, Directive, effect, inject, input, TemplateRef, untracked } from '@angular/core';\nimport { injectDialogContext } from './../tokens/dialog-context.token';\nimport { provideExposesStateProviderExisting } from './../utils/expose-state.util';\nimport { UpDialog } from '../dialog';\nimport { UpDialogRef } from '../dialog-ref';\n\n@Directive({\n standalone: true,\n exportAs: 'upDialogContentRef',\n selector: '[upDialogContentRef]',\n providers: [\n provideExposesStateProviderExisting(() => UpDialogContentRefDirective)\n ]\n})\nexport class UpDialogContentRefDirective<T> {\n\n public readonly template = inject(TemplateRef);\n public readonly dialog = inject(UpDialog, { optional: true });\n public readonly dialogRef = inject(UpDialogRef, { optional: true });\n public readonly dialogContext = injectDialogContext({ optional: true });\n \n public readonly context = input<T | undefined>(undefined);\n\n public readonly state = computed(\n () => this.dialog?.stateComputed()?? this.dialogRef?.state()?? 'closed'\n );\n\n constructor() {\n if (!this.dialog) {\n return;\n }\n\n this.dialog.registerTemplate(this.template);\n effect(\n () => {\n const context = this.context();\n\n if (\n !this.dialog || \n !context\n ) {\n return;\n }\n untracked(() => this.dialog?.setContext(context));\n }\n );\n }\n}\n","import { ChangeDetectionStrategy, Component, effect, forwardRef, input, output, OnDestroy, OutputRefSubscription, ViewEncapsulation } from '@angular/core';\nimport { UpDialog } from '../dialog';\n\n@Component({\n standalone: true,\n exportAs: 'upDialogWrapper',\n selector: 'up-dialog-wrapper',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: UpDialog,\n useExisting: forwardRef(() => UpDialogWrapperComponent)\n }\n ],\n template: `\n <ng-content />\n `,\n})\nexport class UpDialogWrapperComponent extends UpDialog implements OnDestroy {\n \n public readonly isOpen = input(false);\n public readonly dismissed = output<void>();\n\n protected readonly closedSubscription: OutputRefSubscription;\n\n constructor() {\n super();\n \n effect(\n () => {\n this.state.set(\n this.isOpen()\n );\n }\n );\n\n this.closedSubscription = this.closed.subscribe(\n () => {\n this.dismissed.emit();\n }\n );\n }\n\n public ngOnDestroy(): void{\n this.closedSubscription.unsubscribe();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unipin-angular-applet-dialog.mjs","sources":["../../../projects/unipin-angular/dialog/constants/default-dialog-options.const.ts","../../../projects/unipin-angular/dialog/tokens/dialog-context.token.ts","../../../projects/unipin-angular/dialog/tokens/dialog.token.ts","../../../projects/unipin-angular/dialog/utils/create-injection-token.util.ts","../../../projects/unipin-angular/dialog/utils/expose-state.util.ts","../../../projects/unipin-angular/dialog/dialog-ref.ts","../../../projects/unipin-angular/dialog/services/dialog.service.ts","../../../projects/unipin-angular/dialog/dialog.ts","../../../projects/unipin-angular/dialog/directives/dialog-close.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-content.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-trigger.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-content-ref.directive.ts","../../../projects/unipin-angular/dialog/components/dialog-wrapper.component.ts","../../../projects/unipin-angular/dialog/unipin-angular-applet-dialog.ts"],"sourcesContent":["import { UpDialogOptions } from '../types/dialog-options.type';\n\nexport const defaultDialogOptions: UpDialogOptions = {\n role: 'dialog',\n hasBackdrop: true,\n disableClose: false,\n autoFocus: 'first-tabbable',\n\n restoreFocus: true,\n\n closeDelay: 50,\n closeOnBackdropClick: true,\n closeOnOutsidePointerEvents: false,\n\n scrollStrategy: null,\n \n attachPositions: [],\n};\n","import { inject, InjectOptions } from '@angular/core';\nimport { DIALOG_DATA } from '@angular/cdk/dialog';\n\nexport const injectDialogContext = <DialogContext = any>(options: InjectOptions = {}) => {\n return inject(DIALOG_DATA, options) as DialogContext;\n};\n","import { inject, InjectionToken, ValueProvider } from '@angular/core';\nimport { UpDialogOptions } from '../types/dialog-options.type';\nimport { defaultDialogOptions } from '../constants/default-dialog-options.const';\n\nconst DEFAULT_OPTIONS = new InjectionToken<UpDialogOptions>(\n 'up-dialog-default-options',\n {\n providedIn: 'root',\n factory: () => defaultDialogOptions,\n }\n);\n\nexport function provideDialogDefaultOptions(options: Partial<UpDialogOptions>): ValueProvider{\n return {\n provide: DEFAULT_OPTIONS,\n useValue: { \n ...defaultDialogOptions, \n ...options \n },\n };\n}\n\nexport function injectDialogDefaultOptions(): UpDialogOptions{\n const opts = inject(\n DEFAULT_OPTIONS, \n { \n optional: true \n }\n );\n return opts?? defaultDialogOptions;\n}\n","import { InjectionToken, forwardRef, inject } from '@angular/core';\nimport type { InjectOptions, Provider, Type } from '@angular/core';\n\ntype InjectFn<TTokenValue> = {\n (): TTokenValue;\n (injectOptions: InjectOptions & { optional?: false }): TTokenValue;\n (injectOptions: InjectOptions & { optional: true }): TTokenValue | null;\n};\n\ntype ProvideFn<TTokenValue> = (value: TTokenValue) => Provider;\ntype ProvideExistingFn<TTokenValue> = (valueFactory: () => Type<TTokenValue>) => Provider;\n\nexport type CreateInjectionTokenReturn<TTokenValue> = [\n InjectFn<TTokenValue>,\n ProvideFn<TTokenValue>,\n ProvideExistingFn<TTokenValue>,\n InjectionToken<TTokenValue>\n];\n\nexport function createInjectionToken<TTokenValue>(description: string): CreateInjectionTokenReturn<TTokenValue>{\n \n const token = new InjectionToken<TTokenValue>(description);\n\n const provideFn = (value: TTokenValue) => {\n return { provide: token, useValue: value };\n };\n\n const provideExistingFn = (value: () => TTokenValue) => {\n return { provide: token, useExisting: forwardRef(value) };\n };\n\n const injectFn = (options: InjectOptions = {}) => {\n return inject(token, options);\n };\n\n return [\n injectFn,\n provideFn,\n provideExistingFn,\n token,\n ] as CreateInjectionTokenReturn<TTokenValue>;\n}\n","import type { Signal } from '@angular/core';\nimport { createInjectionToken } from './create-injection-token.util';\n\nexport type ExposesState = {\n state: Signal<'open' | 'closed'>;\n};\n\nexport const [\n injectExposesStateProvider,\n provideExposesStateProvider,\n provideExposesStateProviderExisting,\n EXPOSES_STATE_TOKEN,\n] = createInjectionToken<ExposesState>('@unipin-angular EXPOSES_STATE_TOKEN');\n","import { computed, Signal, WritableSignal } from '@angular/core';\nimport { Observable, take } from 'rxjs';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { UpDialogOptions } from './types/dialog-options.type';\n\nexport class UpDialogRef<DialogResult = any> {\n\n public readonly closed$: Observable<DialogResult | undefined>;\n\n public readonly isOpen = computed(\n () => this.state() === 'open'\n );\n\n public previousTimeout: ReturnType<typeof setTimeout> | undefined;\n\n constructor(\n public readonly state: Signal<'closed' | 'open'>,\n\n protected readonly open: WritableSignal<boolean>,\n protected readonly cdkDialogRef: DialogRef<DialogResult>,\n protected readonly options?: UpDialogOptions,\n ) {\n this.closed$ = this.cdkDialogRef.closed.pipe(take(1));\n }\n\n public close(result?: DialogResult, delay: number = this.options?.closeDelay ?? 0): void {\n if (!this.isOpen()) {\n return;\n }\n this.open.set(false);\n clearTimeout(this.previousTimeout);\n\n this.previousTimeout = setTimeout(\n () => {\n this.cdkDialogRef.close(result);\n }, \n delay\n );\n }\n}\n","import { computed, effect, EffectRef, ElementRef, inject, Injectable, Injector, RendererFactory2, runInInjectionContext, signal, StaticProvider, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { ComponentType, OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { filter, Subject, takeUntil } from 'rxjs';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogOptions } from '../types/dialog-options.type';\nimport { UpDialogRef } from '../dialog-ref';\n\nlet dialogSequence = 0;\ntype UpDialogContext<T> = T & { close: (result?: any) => void };\n\ntype DialogOpenOptions<T> = {\n content: ComponentType<unknown> | TemplateRef<unknown>;\n context?: T;\n vcr?: ViewContainerRef;\n options?: Partial<UpDialogOptions>;\n}\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class UpDialogService {\n \n public readonly cdkDialog = inject(Dialog);\n public readonly injector = inject(Injector);\n public readonly rendererFactory = inject(RendererFactory2);\n public readonly positionBuilder = inject(OverlayPositionBuilder);\n public readonly scrollStrategyOptions = inject(ScrollStrategyOptions);\n \n public readonly renderer = this.rendererFactory.createRenderer(null, null);\n\n public open<DialogContext>({ content, vcr, context, options }: DialogOpenOptions<DialogContext>): UpDialogRef{\n if (\n options?.id && \n this.cdkDialog.getDialogById(options.id)\n ) {\n throw new Error(`Dialog with ID: ${ options.id } already exists`);\n }\n\n let positionStrategy = options?.positionStrategy;\n if (!positionStrategy) {\n if (\n options?.attachTo &&\n options?.attachPositions &&\n options?.attachPositions?.length > 0\n ) {\n positionStrategy = this.positionBuilder?.flexibleConnectedTo(options.attachTo).withPositions(options.attachPositions?? [])\n } else {\n positionStrategy = this.positionBuilder.global()\n .centerHorizontally()\n .centerVertically();\n }\n }\n\n let effectRef!: EffectRef;\n let dialogRef!: UpDialogRef;\n\n const contextOrData: UpDialogContext<any> = {\n ...context,\n close: (result: any = undefined) => {\n dialogRef.close(result, options?.closeDelay)\n }\n };\n\n const open = signal<boolean>(true);\n const destroyed$ = new Subject<void>();\n \n const state = computed<'open' | 'closed'>(\n () => open() ? 'open' : 'closed'\n );\n\n dialogSequence++;\n const dialogId = options?.id?? `up-dialog-${ dialogSequence }`;\n\n const cdkDialogRef = this.cdkDialog.open(\n content as any, \n {\n id: dialogId,\n role: options?.role,\n data: contextOrData,\n hasBackdrop: options?.hasBackdrop,\n backdropClass: up('bg-black/30'),\n \n autoFocus: options?.autoFocus?? 'first-tabbable',\n restoreFocus: options?.restoreFocus instanceof ElementRef? options.restoreFocus.nativeElement : options?.restoreFocus,\n \n disableClose: true,\n viewContainerRef: vcr,\n \n positionStrategy,\n scrollStrategy: (options?.scrollStrategy?? this.scrollStrategyOptions?.block()) as ScrollStrategy,\n\n templateContext: () => ({ $implicit: contextOrData }),\n\n providers: (cdkDialogRef) => {\n dialogRef = new UpDialogRef(\n state,\n open,\n cdkDialogRef,\n options as UpDialogOptions\n );\n\n runInInjectionContext(\n this.injector, \n () => {\n effectRef = effect(\n () => {\n if (overlay) {\n this.renderer.setAttribute(overlay, 'data-state', state());\n }\n\n if (backdrop) {\n this.renderer.setAttribute(backdrop, 'data-state', state());\n }\n }\n );\n }\n );\n\n const providers: StaticProvider[] = [\n {\n provide: UpDialogRef,\n useValue: dialogRef,\n },\n ];\n\n if (options?.providers) {\n if (typeof options.providers === 'function') {\n providers.push(...options.providers());\n }\n\n if (Array.isArray(options.providers)) {\n providers.push(...options.providers);\n }\n }\n\n return providers;\n },\n }\n );\n\n const overlay = cdkDialogRef.overlayRef.overlayElement;\n const backdrop = cdkDialogRef.overlayRef.backdropElement;\n\n if (!options?.disableClose) {\n cdkDialogRef.keydownEvents.pipe(\n filter((e) => e.key === 'Escape'),\n takeUntil(destroyed$)\n ).subscribe({\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n });\n }\n\n if (options?.closeOnOutsidePointerEvents) {\n cdkDialogRef.outsidePointerEvents.pipe(\n takeUntil(destroyed$)\n )\n .subscribe({\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n });\n }\n\n if (options?.closeOnBackdropClick) {\n cdkDialogRef.backdropClick.pipe(\n takeUntil(destroyed$)\n ).subscribe({\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n });\n }\n\n cdkDialogRef.closed.pipe(\n takeUntil(destroyed$)\n ).subscribe({\n next: () => {\n effectRef?.destroy();\n \n destroyed$.next();\n destroyed$.complete();\n }\n });\n return dialogRef;\n }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, EffectRef, inject, Injector, input, numberAttribute, output, runInInjectionContext, signal, TemplateRef, untracked, ViewContainerRef, ViewEncapsulation, WritableSignal } from '@angular/core';\nimport { OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { take } from 'rxjs';\nimport { UpDialogOptions } from './types/dialog-options.type';\nimport { injectDialogDefaultOptions } from './tokens/dialog.token';\nimport { UpDialogService } from './services/dialog.service';\nimport { UpDialogRef } from './dialog-ref';\n\n@Component({\n standalone: true,\n exportAs: 'upDialog',\n selector: 'up-dialog',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-content />\n `,\n})\nexport class UpDialog {\n \n public readonly injector = inject(Injector);\n public readonly dialogService = inject(UpDialogService);\n public readonly viewContainerRef = inject(ViewContainerRef);\n public readonly positionBuilder = inject(OverlayPositionBuilder);\n public readonly scrollStrategyOptions = inject(ScrollStrategyOptions);\n \n public readonly defaultOptions = injectDialogDefaultOptions();\n\n public readonly attachTo = input<UpDialogOptions['attachTo']>(null);\n public readonly role = input<UpDialogOptions['role']>(this.defaultOptions.role);\n public readonly autoFocus = input<UpDialogOptions['autoFocus']>(this.defaultOptions.autoFocus);\n public readonly restoreFocus = input<UpDialogOptions['restoreFocus']>(this.defaultOptions.restoreFocus);\n public readonly scrollStrategy = input<UpDialogOptions['scrollStrategy']>(this.defaultOptions.scrollStrategy);\n public readonly attachPositions = input<UpDialogOptions['attachPositions']>(this.defaultOptions.attachPositions);\n public readonly positionStrategy = input<UpDialogOptions['positionStrategy']>(this.defaultOptions.positionStrategy);\n\n public readonly hasBackdrop = input(\n this.defaultOptions.hasBackdrop, \n {\n transform: booleanAttribute,\n }\n );\n public readonly disableClose = input(\n this.defaultOptions.disableClose, \n {\n transform: booleanAttribute,\n }\n );\n public readonly closeDelay = input(\n this.defaultOptions.closeDelay, \n {\n transform: numberAttribute\n }\n );\n public readonly closeOnOutsidePointerEvents = input(\n this.defaultOptions.closeOnOutsidePointerEvents,\n {\n transform: booleanAttribute \n }\n );\n\n public readonly closed = output<any>();\n public readonly stateChanged = output<'open' | 'closed'>();\n\n public readonly state: WritableSignal<boolean> = signal(false);\n\n public readonly mutableAttachTo = computed(() => signal(this.attachTo()));\n public readonly stateComputed = computed(() => this.dialogRef?.state()?? 'closed');\n public readonly mutableAttachPositions = computed(() => signal(this.attachPositions()));\n public readonly mutablePositionStrategy = computed(() => signal(this.positionStrategy()));\n public readonly mutableCloseOnOutsidePointerEvents = computed(() => signal(this.closeOnOutsidePointerEvents()));\n\n public dialogRef: UpDialogRef | undefined;\n\n protected readonly attachToState = computed(() => this.mutableAttachTo()());\n protected readonly positionStrategyState = computed(() => this.mutablePositionStrategy()());\n protected readonly closeOnOutsidePointerEventsState = computed(() => this.mutableCloseOnOutsidePointerEvents()());\n protected readonly attachPositionsState = computed(() => this.mutableAttachPositions()());\n\n protected readonly options = computed<Partial<UpDialogOptions>>(\n () => {\n const scrollStrategyInput = this.scrollStrategy();\n \n let scrollStrategy: ScrollStrategy = scrollStrategyInput as ScrollStrategy;\n if (\n scrollStrategyInput === 'close' ||\n scrollStrategyInput === 'reposition'\n ) {\n scrollStrategy = this.scrollStrategyOptions[scrollStrategyInput as 'close' | 'reposition']();\n }\n\n return {\n role: this.role(),\n hasBackdrop: this.hasBackdrop(),\n disableClose: this.disableClose(),\n \n autoFocus: this.autoFocus(),\n restoreFocus: this.restoreFocus(),\n \n closeDelay: this.closeDelay(),\n closeOnBackdropClick: !this.disableClose(),\n closeOnOutsidePointerEvents: this.closeOnOutsidePointerEventsState(),\n \n scrollStrategy,\n positionStrategy: this.positionStrategyState(),\n\n attachTo: this.attachToState(),\n attachPositions: this.attachPositionsState(),\n };\n }\n );\n\n protected context = {};\n protected dialogStateEffectRef?: EffectRef;\n protected contentTemplate: TemplateRef<unknown> | undefined;\n\n constructor() {\n effect(\n () => {\n const state = this.state();\n untracked(() => (state? this.open() : this.close()));\n }\n );\n }\n\n public close(result?: any, delay?: number): void{\n this.dialogRef?.close(result, delay?? this.options().closeDelay);\n }\n\n public registerTemplate(template: TemplateRef<unknown>): void{\n this.contentTemplate = template;\n }\n\n //TODO: Remove if unused after v20 lib is done\n public setContext<T extends object>(context: T): void{\n this.context = { \n ...this.context, \n ...context \n };\n }\n\n public open<DialogContext>(): void {\n if (\n !this.contentTemplate ||\n this.dialogRef\n ) {\n return;\n }\n this.dialogStateEffectRef?.destroy();\n\n this.dialogRef = this.dialogService.open<DialogContext>(\n {\n content: this.contentTemplate,\n vcr: this.viewContainerRef,\n context: this.context as DialogContext,\n options: this.options()\n }\n );\n\n runInInjectionContext(\n this.injector, \n () => {\n this.dialogStateEffectRef = effect(\n () => {\n const state = this.dialogRef!.state();\n untracked(() => this.stateChanged.emit(state));\n }\n );\n }\n );\n\n this.dialogRef!.closed$.pipe(\n take(1)\n ).subscribe({\n next: (result) => {\n this.dialogRef = undefined;\n this.closed.emit(result);\n }\n });\n }\n}\n","import { Directive, inject, input, computed } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogRef } from '../dialog-ref';\n\n@Directive({\n standalone: true,\n selector: 'button[upDialogClose]',\n host: {\n '[class]': '_computedClass()',\n '(click)': 'close()',\n }\n})\nexport class UpDialogCloseDirective {\n \n public readonly dialogRef = inject(UpDialogRef);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n\tprotected readonly _computedClass = computed(\n () => up(this.inlineClass())\n );\n \n\tpublic close(): void{\n\t\tthis.dialogRef.close(undefined);\n\t}\n}\n","import { computed, Directive, inject, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogRef } from '../dialog-ref';\n\n@Directive({\n standalone: true,\n exportAs: 'upDialogContent',\n selector: '[upDialogContent]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-state]': 'state()',\n },\n})\nexport class UpDialogContentDirective {\n\n public readonly dialogRef = inject(UpDialogRef);\n\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public readonly state = computed(\n () => this.dialogRef?.state()?? 'closed'\n );\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n `\t\n grid relative gap-4 bg-white rounded-xl shadow [animation-duration:200] data-[state=open]:animate-in data-[state=closed]:animate-out \n data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 \n data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 \n data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] \n w-full max-w-[calc(100%-2rem)] mx-auto\n md:w-full md:min-w-[600px]\n overflow-hidden outline-none\n `,\n this.inlineClass(),\n );\n }\n );\n}\n","import { computed, Directive, effect, inject, input, signal } from '@angular/core';\nimport { UpDialogRef } from '../dialog-ref';\nimport { UpDialog } from '../dialog';\n\nlet idSequence = 0;\n\n@Directive({\n standalone: true,\n exportAs: 'upDialogTrigger',\n selector: 'button[upDialogTrigger], button[upDialogTriggerFor]',\n host: {\n '[id]': 'id()',\n '(click)': 'open()',\n '[attr.data-state]': 'state()',\n },\n})\nexport class UpDialogTriggerDirective {\n\n public readonly dialogRef = inject(UpDialogRef, { optional: true });\n public dialog = inject(UpDialog, { optional: true });\n\n public readonly id = input(`up-dialog-trigger-${ idSequence++ }`);\n public readonly dialogTriggerFor = input<UpDialog | undefined>(undefined, { alias: 'upDialogTriggerFor' });\n \n public readonly mutableDialogTriggerFor = computed(\n () => signal(this.dialogTriggerFor())\n );\n \n public readonly dialogTriggerForState = computed(\n () => this.mutableDialogTriggerFor()()\n );\n \n public readonly state = computed<'open' | 'closed'>(\n () => {\n const dialogFromInput = this.dialogTriggerForState();\n if (dialogFromInput) {\n return dialogFromInput.stateComputed();\n }\n \n if (this.dialog) {\n return this.dialog.stateComputed();\n }\n \n if (this.dialogRef) {\n return this.dialogRef.state();\n }\n return 'closed';\n }\n );\n\n constructor() {\n effect(\n () => {\n const dialog = this.dialogTriggerForState();\n \n if (!dialog) {\n return;\n }\n this.dialog = dialog\n }\n )\n }\n\n public open(): void{\n this.dialog?.open();\n }\n}\n","import { computed, Directive, effect, inject, input, TemplateRef, untracked } from '@angular/core';\nimport { injectDialogContext } from './../tokens/dialog-context.token';\nimport { provideExposesStateProviderExisting } from './../utils/expose-state.util';\nimport { UpDialog } from '../dialog';\nimport { UpDialogRef } from '../dialog-ref';\n\n@Directive({\n standalone: true,\n exportAs: 'upDialogContentRef',\n selector: '[upDialogContentRef]',\n providers: [\n provideExposesStateProviderExisting(() => UpDialogContentRefDirective)\n ]\n})\nexport class UpDialogContentRefDirective<T> {\n\n public readonly template = inject(TemplateRef);\n public readonly dialog = inject(UpDialog, { optional: true });\n public readonly dialogRef = inject(UpDialogRef, { optional: true });\n public readonly dialogContext = injectDialogContext({ optional: true });\n \n public readonly context = input<T | undefined>(undefined);\n\n public readonly state = computed(\n () => this.dialog?.stateComputed()?? this.dialogRef?.state()?? 'closed'\n );\n\n constructor() {\n if (!this.dialog) {\n return;\n }\n\n this.dialog.registerTemplate(this.template);\n effect(\n () => {\n const context = this.context();\n\n if (\n !this.dialog || \n !context\n ) {\n return;\n }\n untracked(() => this.dialog?.setContext(context));\n }\n );\n }\n}\n","import { ChangeDetectionStrategy, Component, effect, forwardRef, input, output, OnDestroy, OutputRefSubscription, ViewEncapsulation } from '@angular/core';\nimport { UpDialog } from '../dialog';\n\n@Component({\n standalone: true,\n exportAs: 'upDialogWrapper',\n selector: 'up-dialog-wrapper',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: UpDialog,\n useExisting: forwardRef(() => UpDialogWrapperComponent)\n }\n ],\n template: `\n <ng-content />\n `,\n})\nexport class UpDialogWrapperComponent extends UpDialog implements OnDestroy {\n \n public readonly isOpen = input(false);\n public readonly dismissed = output<void>();\n\n protected readonly closedSubscription: OutputRefSubscription;\n\n constructor() {\n super();\n \n effect(\n () => {\n this.state.set(\n this.isOpen()\n );\n }\n );\n\n this.closedSubscription = this.closed.subscribe(\n () => {\n this.dismissed.emit();\n }\n );\n }\n\n public ngOnDestroy(): void{\n this.closedSubscription.unsubscribe();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAEO,MAAM,oBAAoB,GAAoB;AACnD,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,SAAS,EAAE,gBAAgB;AAE3B,IAAA,YAAY,EAAE,IAAI;AAElB,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,2BAA2B,EAAE,KAAK;AAElC,IAAA,cAAc,EAAE,IAAI;AAEpB,IAAA,eAAe,EAAE,EAAE;;;MCbR,mBAAmB,GAAG,CAAsB,OAAA,GAAyB,EAAE,KAAI;AACtF,IAAA,OAAO,MAAM,CAAC,WAAW,EAAE,OAAO,CAAkB;AACtD;;ACDA,MAAM,eAAe,GAAG,IAAI,cAAc,CACxC,2BAA2B,EAC3B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,oBAAoB;AACpC,CAAA,CACF;AAEK,SAAU,2BAA2B,CAAC,OAAiC,EAAA;IAC3E,OAAO;AACL,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE;AACR,YAAA,GAAG,oBAAoB;AACvB,YAAA,GAAG;AACJ,SAAA;KACF;AACH;SAEgB,0BAA0B,GAAA;AACxC,IAAA,MAAM,IAAI,GAAG,MAAM,CACjB,eAAe,EACf;AACE,QAAA,QAAQ,EAAE;AACX,KAAA,CACF;IACD,OAAO,IAAI,IAAG,oBAAoB;AACpC;;ACXM,SAAU,oBAAoB,CAAc,WAAmB,EAAA;AAEnE,IAAA,MAAM,KAAK,GAAG,IAAI,cAAc,CAAc,WAAW,CAAC;AAE1D,IAAA,MAAM,SAAS,GAAG,CAAC,KAAkB,KAAI;QACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;AAC5C,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,CAAC,KAAwB,KAAI;AACrD,QAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE;AAC3D,IAAA,CAAC;AAED,IAAA,MAAM,QAAQ,GAAG,CAAC,OAAA,GAAyB,EAAE,KAAI;AAC/C,QAAA,OAAO,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;AAC/B,IAAA,CAAC;IAED,OAAO;QACL,QAAQ;QACR,SAAS;QACT,iBAAiB;QACjB,KAAK;KACqC;AAC9C;;AClCO,MAAM,CACX,0BAA0B,EAC1B,2BAA2B,EAC3B,mCAAmC,EACnC,mBAAmB,EACpB,GAAG,oBAAoB,CAAe,qCAAqC;;MCP/D,WAAW,CAAA;AAUtB,IAAA,WAAA,CACkB,KAAgC,EAE7B,IAA6B,EAC7B,YAAqC,EACrC,OAAyB,EAAA;QAJ5B,IAAA,CAAA,KAAK,GAAL,KAAK;QAEF,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,OAAO,GAAP,OAAO;AAXZ,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAC/B,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM,oDAC9B;AAWC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD;IAEO,KAAK,CAAC,MAAqB,EAAE,KAAA,GAAgB,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC,EAAA;AAC/E,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAClB;QACF;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACpB,QAAA,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;AAElC,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAC/B,MAAK;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC,EACD,KAAK,CACN;IACH;AACD;;AC/BD,IAAI,cAAc,GAAG,CAAC;MAaT,eAAe,CAAA;AAH5B,IAAA,WAAA,GAAA;AAKkB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;AAC1B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC1C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAChD,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAErD,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;AA+J3E,IAAA;IA7JQ,IAAI,CAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAoC,EAAA;QAC7F,IACE,OAAO,EAAE,EAAE;YACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EACxC;YACA,MAAM,IAAI,KAAK,CAAC,CAAA,gBAAA,EAAoB,OAAO,CAAC,EAAG,CAAA,eAAA,CAAiB,CAAC;QACnE;AAEA,QAAA,IAAI,gBAAgB,GAAG,OAAO,EAAE,gBAAgB;QAChD,IAAI,CAAC,gBAAgB,EAAE;YACrB,IACE,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC,EACpC;gBACA,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,IAAG,EAAE,CAAC;YAC5H;iBAAO;AACL,gBAAA,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM;AAC3C,qBAAA,kBAAkB;AAClB,qBAAA,gBAAgB,EAAE;YACvB;QACF;AAEA,QAAA,IAAI,SAAqB;AACzB,QAAA,IAAI,SAAuB;AAE3B,QAAA,MAAM,aAAa,GAAyB;AAC1C,YAAA,GAAG,OAAO;AACV,YAAA,KAAK,EAAE,CAAC,MAAA,GAAc,SAAS,KAAI;gBACjC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;YAC9C;SACD;AAED,QAAA,MAAM,IAAI,GAAG,MAAM,CAAU,IAAI,kDAAC;AAClC,QAAA,MAAM,UAAU,GAAG,IAAI,OAAO,EAAQ;AAEtC,QAAA,MAAM,KAAK,GAAG,QAAQ,CACpB,MAAM,IAAI,EAAE,GAAG,MAAM,GAAG,QAAQ,mDACjC;AAED,QAAA,cAAc,EAAE;QAChB,MAAM,QAAQ,GAAG,OAAO,EAAE,EAAE,IAAG,CAAA,UAAA,EAAc,cAAe,CAAA,CAAE;QAE9D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,OAAc,EACd;AACE,YAAA,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,OAAO,EAAE,IAAI;AACnB,YAAA,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,OAAO,EAAE,WAAW;AACjC,YAAA,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC;AAEhC,YAAA,SAAS,EAAE,OAAO,EAAE,SAAS,IAAG,gBAAgB;AAChD,YAAA,YAAY,EAAE,OAAO,EAAE,YAAY,YAAY,UAAU,GAAE,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,OAAO,EAAE,YAAY;AAErH,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,gBAAgB,EAAE,GAAG;YAErB,gBAAgB;AAChB,YAAA,cAAc,GAAG,OAAO,EAAE,cAAc,IAAG,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,CAAmB;YAEjG,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAErD,YAAA,SAAS,EAAE,CAAC,YAAY,KAAI;AAC1B,gBAAA,SAAS,GAAG,IAAI,WAAW,CACzB,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,OAA0B,CAC3B;AAED,gBAAA,qBAAqB,CACnB,IAAI,CAAC,QAAQ,EACb,MAAK;AACH,oBAAA,SAAS,GAAG,MAAM,CAChB,MAAK;wBACH,IAAI,OAAO,EAAE;AACX,4BAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;wBAC5D;wBAEA,IAAI,QAAQ,EAAE;AACZ,4BAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;wBAC7D;AACF,oBAAA,CAAC,CACF;AACH,gBAAA,CAAC,CACF;AAED,gBAAA,MAAM,SAAS,GAAqB;AAClC,oBAAA;AACE,wBAAA,OAAO,EAAE,WAAW;AACpB,wBAAA,QAAQ,EAAE,SAAS;AACpB,qBAAA;iBACF;AAED,gBAAA,IAAI,OAAO,EAAE,SAAS,EAAE;AACtB,oBAAA,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE;wBAC3C,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;oBACxC;oBAEA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;wBACpC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;oBACtC;gBACF;AAEA,gBAAA,OAAO,SAAS;YAClB,CAAC;AACF,SAAA,CACF;AAED,QAAA,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,cAAc;AACtD,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe;AAExD,QAAA,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE;YAC1B,YAAY,CAAC,aAAa,CAAC,IAAI,CAC7B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,CACtB,CAAC,SAAS,CAAC;gBACV,IAAI,EAAE,MAAK;oBACT,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;gBACjD;AACD,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,OAAO,EAAE,2BAA2B,EAAE;YACxC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CACpC,SAAS,CAAC,UAAU,CAAC;AAEtB,iBAAA,SAAS,CAAC;gBACT,IAAI,EAAE,MAAK;oBACT,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;gBACjD;AACD,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,OAAO,EAAE,oBAAoB,EAAE;AACjC,YAAA,YAAY,CAAC,aAAa,CAAC,IAAI,CAC7B,SAAS,CAAC,UAAU,CAAC,CACtB,CAAC,SAAS,CAAC;gBACV,IAAI,EAAE,MAAK;oBACT,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;gBACjD;AACD,aAAA,CAAC;QACJ;AAEA,QAAA,YAAY,CAAC,MAAM,CAAC,IAAI,CACtB,SAAS,CAAC,UAAU,CAAC,CACtB,CAAC,SAAS,CAAC;YACV,IAAI,EAAE,MAAK;gBACT,SAAS,EAAE,OAAO,EAAE;gBAEpB,UAAU,CAAC,IAAI,EAAE;gBACjB,UAAU,CAAC,QAAQ,EAAE;YACvB;AACD,SAAA,CAAC;AACF,QAAA,OAAO,SAAS;IAClB;8GAtKW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,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,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCFY,QAAQ,CAAA;AAkGnB,IAAA,WAAA,GAAA;AAhGgB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACvC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAChD,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAErD,IAAA,CAAA,cAAc,GAAG,0BAA0B,EAAE;AAE7C,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA8B,IAAI,sDAAC;QACnD,IAAA,CAAA,IAAI,GAAG,KAAK,CAA0B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;QAC/D,IAAA,CAAA,SAAS,GAAG,KAAK,CAA+B,IAAI,CAAC,cAAc,CAAC,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,WAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;QAC9E,IAAA,CAAA,YAAY,GAAG,KAAK,CAAkC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,cAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;QACvF,IAAA,CAAA,cAAc,GAAG,KAAK,CAAoC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;QAC7F,IAAA,CAAA,eAAe,GAAG,KAAK,CAAqC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;QAChG,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAsC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;AAEnG,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CACjC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,aAAA,EAAA,GAAA,EAAA,CAAA,EAE7B,SAAS,EAAE,gBAAgB,GAE9B;AACe,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,cAAA,EAAA,GAAA,EAAA,CAAA,EAE9B,SAAS,EAAE,gBAAgB,GAE9B;AACe,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAChC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,YAAA,EAAA,GAAA,EAAA,CAAA,EAE5B,SAAS,EAAE,eAAe,GAE7B;AACe,QAAA,IAAA,CAAA,2BAA2B,GAAG,KAAK,CACjD,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,6BAAA,EAAA,GAAA,EAAA,CAAA,EAE7C,SAAS,EAAE,gBAAgB,GAE9B;QAEe,IAAA,CAAA,MAAM,GAAG,MAAM,EAAO;QACtB,IAAA,CAAA,YAAY,GAAG,MAAM,EAAqB;AAE1C,QAAA,IAAA,CAAA,KAAK,GAA4B,MAAM,CAAC,KAAK,mDAAC;AAE9C,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,6DAAC;AACzD,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAG,QAAQ,2DAAC;AAClE,QAAA,IAAA,CAAA,sBAAsB,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,oEAAC;AACvE,QAAA,IAAA,CAAA,uBAAuB,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,qEAAC;AACzE,QAAA,IAAA,CAAA,kCAAkC,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,gFAAC;AAI5F,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,eAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;AACxD,QAAA,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;AACxE,QAAA,IAAA,CAAA,gCAAgC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,kCAAkC,EAAE,EAAE,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,kCAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;AAC9F,QAAA,IAAA,CAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,EAAE,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAC;AAEtE,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CACnC,MAAK;AACH,YAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE;YAEjD,IAAI,cAAc,GAAmB,mBAAqC;YAC1E,IACE,mBAAmB,KAAK,OAAO;gBAC/B,mBAAmB,KAAK,YAAY,EACpC;gBACA,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAA6C,CAAC,EAAE;YAC9F;YAEA,OAAO;AACL,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAC/B,gBAAA,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;AAEjC,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,gBAAA,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;AAEjC,gBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAA,oBAAoB,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;AAC1C,gBAAA,2BAA2B,EAAE,IAAI,CAAC,gCAAgC,EAAE;gBAEpE,cAAc;AACd,gBAAA,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,EAAE;AAE9C,gBAAA,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE;AAC9B,gBAAA,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE;aAC7C;AACH,QAAA,CAAC,qDACF;QAES,IAAA,CAAA,OAAO,GAAG,EAAE;QAKpB,MAAM,CACJ,MAAK;AACH,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;YAC1B,SAAS,CAAC,OAAO,KAAK,GAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACtD,QAAA,CAAC,CACF;IACH;IAEO,KAAK,CAAC,MAAY,EAAE,KAAc,EAAA;AACvC,QAAA,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAG,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;IAClE;AAEO,IAAA,gBAAgB,CAAC,QAA8B,EAAA;AACpD,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;IACjC;;AAGO,IAAA,UAAU,CAAmB,OAAU,EAAA;QAC5C,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAI,CAAC,OAAO;AACf,YAAA,GAAG;SACJ;IACH;IAEO,IAAI,GAAA;QACT,IACE,CAAC,IAAI,CAAC,eAAe;YACrB,IAAI,CAAC,SAAS,EACd;YACA;QACF;AACA,QAAA,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE;QAEpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACtC;YACE,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,GAAG,EAAE,IAAI,CAAC,gBAAgB;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAwB;AACtC,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB,SAAA,CACF;AAED,QAAA,qBAAqB,CACnB,IAAI,CAAC,QAAQ,EACb,MAAK;AACH,YAAA,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAChC,MAAK;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAU,CAAC,KAAK,EAAE;AACrC,gBAAA,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,YAAA,CAAC,kEACF;AACH,QAAA,CAAC,CACF;AAED,QAAA,IAAI,CAAC,SAAU,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,CAAC,CAAC,CAAC,CACR,CAAC,SAAS,CAAC;AACV,YAAA,IAAI,EAAE,CAAC,MAAM,KAAI;AACf,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAC1B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1B;AACD,SAAA,CAAC;IACJ;8GAjKW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,2BAAA,EAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJT;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEU,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAVpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,WAAW;oBACrB,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE;;AAET,EAAA,CAAA;AACF,iBAAA;;;MCJY,sBAAsB,CAAA;AARnC,IAAA,WAAA,GAAA;AAUkB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/B,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,wDAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAErD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CACzC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,4DAC7B;AAKF,IAAA;IAHO,KAAK,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;IAChC;8GAXY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,SAAS,EAAE,SAAS;AACrB;AACF,iBAAA;;;MCEY,wBAAwB,CAAA;AATrC,IAAA,WAAA,GAAA;AAWkB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QAE/B,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,wDAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAEvD,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC9B,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAG,QAAQ,mDACzC;AAEkB,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAC1C,MAAK;AACH,YAAA,OAAO,EAAE,CACP,CAAA;;;;;;;;AAQC,QAAA,CAAA,EACD,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,4DACF;AACF,IAAA;8GA1BY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA;AACF,iBAAA;;;ACTD,IAAI,UAAU,GAAG,CAAC;MAYL,wBAAwB,CAAA;AAkCnC,IAAA,WAAA,GAAA;QAhCgB,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5D,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAEpC,IAAA,CAAA,EAAE,GAAG,KAAK,CAAC,CAAA,kBAAA,EAAsB,UAAU,EAAG,CAAA,CAAE,gDAAC;QACjD,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAuB,SAAS,6DAAI,KAAK,EAAE,oBAAoB,EAAA,CAAG;AAE1F,QAAA,IAAA,CAAA,uBAAuB,GAAG,QAAQ,CAChD,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,qEACtC;AAEe,QAAA,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAC9C,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CACvC;AAEe,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC9B,MAAK;AACH,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE;YACpD,IAAI,eAAe,EAAE;AACnB,gBAAA,OAAO,eAAe,CAAC,aAAa,EAAE;YACxC;AAEA,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YACpC;AAEA,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YAC/B;AACA,YAAA,OAAO,QAAQ;AACjB,QAAA,CAAC,mDACF;QAGC,MAAM,CACJ,MAAK;AACH,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;YAE3C,IAAI,CAAC,MAAM,EAAE;gBACX;YACF;AACA,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACtB,QAAA,CAAC,CACF;IACH;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;IACrB;8GAjDW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qDAAA,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,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,qDAAqD;AAC/D,oBAAA,IAAI,EAAE;AACJ,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,SAAS,EAAE,QAAQ;AACnB,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA;AACF,iBAAA;;;MCDY,2BAA2B,CAAA;AAatC,IAAA,WAAA,GAAA;AAXgB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;QAC9B,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7C,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnD,IAAA,CAAA,aAAa,GAAG,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEvD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAgB,SAAS,qDAAC;QAEzC,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAG,QAAQ,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,OAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CACxE;AAGC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB;QACF;QAEA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3C,MAAM,CACJ,MAAK;AACH,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAE9B,IACE,CAAC,IAAI,CAAC,MAAM;gBACZ,CAAC,OAAO,EACR;gBACA;YACF;AACA,YAAA,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AACnD,QAAA,CAAC,CACF;IACH;8GAhCW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAJ3B;AACT,YAAA,mCAAmC,CAAC,MAAM,2BAA2B;AACtE,SAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAEU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE;AACT,wBAAA,mCAAmC,CAAC,MAAK,2BAA4B;AACtE;AACF,iBAAA;;;ACMK,MAAO,wBAAyB,SAAQ,QAAQ,CAAA;AAOpD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AANO,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,oDAAC;QACrB,IAAA,CAAA,SAAS,GAAG,MAAM,EAAQ;QAOxC,MAAM,CACJ,MAAK;YACH,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,IAAI,CAAC,MAAM,EAAE,CACd;AACH,QAAA,CAAC,CACF;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAC7C,MAAK;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACvB,QAAA,CAAC,CACF;IACH;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;IACvC;8GA3BW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAVxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB;AACvD;SACF,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACS;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAhBpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B;AACvD;AACF,qBAAA;AACD,oBAAA,QAAQ,EAAE;;AAET,EAAA,CAAA;AACF,iBAAA;;;AClBD;;AAEG;;;;"}
|