@unipin/angular-applet 21.1.3 → 21.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/assets/styles/theme.css +8 -0
- package/fesm2022/unipin-angular-applet-accordion.mjs +12 -12
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs +10 -7
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert.mjs +9 -9
- package/fesm2022/unipin-angular-applet-approval.mjs +6 -6
- package/fesm2022/unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs +280 -0
- package/fesm2022/unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs.map +1 -0
- package/fesm2022/unipin-angular-applet-audit.mjs +220 -0
- package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -0
- package/fesm2022/unipin-angular-applet-auth.mjs +21 -21
- package/fesm2022/unipin-angular-applet-avatar.mjs +25 -8
- package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-badge.mjs +3 -3
- package/fesm2022/unipin-angular-applet-buttons.mjs +6 -6
- package/fesm2022/unipin-angular-applet-calendar.mjs +26 -12
- package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-collapsible.mjs +9 -9
- package/fesm2022/unipin-angular-applet-common.mjs +24 -24
- package/fesm2022/unipin-angular-applet-containers.mjs +12 -12
- package/fesm2022/unipin-angular-applet-dialog.mjs +30 -45
- package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-forms.mjs +710 -61
- package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-froala.mjs +4 -4
- package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-grids.mjs +17 -1
- package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +3 -3
- package/fesm2022/unipin-angular-applet-json-viewer.mjs +3 -3
- package/fesm2022/unipin-angular-applet-kbd.mjs +3 -3
- package/fesm2022/unipin-angular-applet-loading-dialog.mjs +6 -6
- package/fesm2022/unipin-angular-applet-markdown.mjs +10 -10
- package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-popover.mjs +18 -18
- package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-progress-bar.mjs +3 -3
- package/fesm2022/unipin-angular-applet-skeleton.mjs +3 -3
- package/fesm2022/unipin-angular-applet-spinner.mjs +3 -3
- package/fesm2022/unipin-angular-applet-stepper.mjs +6 -6
- package/fesm2022/unipin-angular-applet-swipeable.mjs +12 -12
- package/fesm2022/unipin-angular-applet-tabs.mjs +9 -9
- package/fesm2022/unipin-angular-applet-tooltip.mjs +3 -3
- package/package.json +5 -1
- package/types/unipin-angular-applet-audit.d.ts +49 -0
- package/types/unipin-angular-applet-avatar.d.ts +3 -2
- package/types/unipin-angular-applet-containers.d.ts +1 -1
- package/types/unipin-angular-applet-dialog.d.ts +13 -13
- package/types/unipin-angular-applet-forms.d.ts +82 -1
- package/types/unipin-angular-applet-grids.d.ts +17 -1
- package/types/unipin-angular-applet-popover.d.ts +2 -2
|
@@ -7,15 +7,16 @@ import { up } from '@unipin/angular-applet/common';
|
|
|
7
7
|
|
|
8
8
|
const defaultDialogOptions = {
|
|
9
9
|
role: 'dialog',
|
|
10
|
+
panelClass: null,
|
|
10
11
|
hasBackdrop: true,
|
|
11
12
|
disableClose: false,
|
|
12
|
-
autoFocus:
|
|
13
|
-
restoreFocus:
|
|
13
|
+
autoFocus: false,
|
|
14
|
+
restoreFocus: false,
|
|
14
15
|
closeDelay: 50,
|
|
15
16
|
closeOnBackdropClick: true,
|
|
16
17
|
closeOnOutsidePointerEvents: false,
|
|
17
|
-
scrollStrategy: null,
|
|
18
18
|
attachPositions: [],
|
|
19
|
+
scrollStrategy: null,
|
|
19
20
|
};
|
|
20
21
|
|
|
21
22
|
const injectDialogContext = (options = {}) => {
|
|
@@ -131,6 +132,7 @@ class UpDialogService {
|
|
|
131
132
|
data: contextOrData,
|
|
132
133
|
hasBackdrop: options?.hasBackdrop,
|
|
133
134
|
backdropClass: up('bg-black/30'),
|
|
135
|
+
panelClass: up(options?.panelClass ?? ''),
|
|
134
136
|
autoFocus: options?.autoFocus ?? 'first-tabbable',
|
|
135
137
|
restoreFocus: options?.restoreFocus instanceof ElementRef ? options.restoreFocus.nativeElement : options?.restoreFocus,
|
|
136
138
|
disableClose: true,
|
|
@@ -200,10 +202,10 @@ class UpDialogService {
|
|
|
200
202
|
});
|
|
201
203
|
return dialogRef;
|
|
202
204
|
}
|
|
203
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
204
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
206
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogService, providedIn: 'root' }); }
|
|
205
207
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogService, decorators: [{
|
|
207
209
|
type: Injectable,
|
|
208
210
|
args: [{
|
|
209
211
|
providedIn: 'root'
|
|
@@ -232,6 +234,7 @@ class UpDialog {
|
|
|
232
234
|
this.closed = output();
|
|
233
235
|
this.stateChanged = output();
|
|
234
236
|
this.state = signal(false, ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
237
|
+
this.panelClass = signal(null, ...(ngDevMode ? [{ debugName: "panelClass" }] : []));
|
|
235
238
|
this.mutableAttachTo = computed(() => signal(this.attachTo()), ...(ngDevMode ? [{ debugName: "mutableAttachTo" }] : []));
|
|
236
239
|
this.stateComputed = computed(() => this.dialogRef?.state() ?? 'closed', ...(ngDevMode ? [{ debugName: "stateComputed" }] : []));
|
|
237
240
|
this.mutableAttachPositions = computed(() => signal(this.attachPositions()), ...(ngDevMode ? [{ debugName: "mutableAttachPositions" }] : []));
|
|
@@ -250,6 +253,7 @@ class UpDialog {
|
|
|
250
253
|
}
|
|
251
254
|
return {
|
|
252
255
|
role: this.role(),
|
|
256
|
+
panelClass: this.panelClass(),
|
|
253
257
|
hasBackdrop: this.hasBackdrop(),
|
|
254
258
|
disableClose: this.disableClose(),
|
|
255
259
|
autoFocus: this.autoFocus(),
|
|
@@ -275,7 +279,6 @@ class UpDialog {
|
|
|
275
279
|
registerTemplate(template) {
|
|
276
280
|
this.contentTemplate = template;
|
|
277
281
|
}
|
|
278
|
-
//TODO: Remove if unused after v20 lib is done
|
|
279
282
|
setContext(context) {
|
|
280
283
|
this.context = {
|
|
281
284
|
...this.context,
|
|
@@ -307,12 +310,12 @@ class UpDialog {
|
|
|
307
310
|
}
|
|
308
311
|
});
|
|
309
312
|
}
|
|
310
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
311
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
314
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", 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: `
|
|
312
315
|
<ng-content />
|
|
313
316
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
314
317
|
}
|
|
315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialog, decorators: [{
|
|
316
319
|
type: Component,
|
|
317
320
|
args: [{
|
|
318
321
|
standalone: true,
|
|
@@ -335,10 +338,10 @@ class UpDialogCloseDirective {
|
|
|
335
338
|
close() {
|
|
336
339
|
this.dialogRef.close(undefined);
|
|
337
340
|
}
|
|
338
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
339
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
341
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
342
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", 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 }); }
|
|
340
343
|
}
|
|
341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogCloseDirective, decorators: [{
|
|
342
345
|
type: Directive,
|
|
343
346
|
args: [{
|
|
344
347
|
standalone: true,
|
|
@@ -362,34 +365,15 @@ class UpDialogContentDirective {
|
|
|
362
365
|
data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95
|
|
363
366
|
data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%]
|
|
364
367
|
w-full max-w-[calc(100%-2rem)] mx-auto
|
|
365
|
-
md:w-full md:min-w-
|
|
368
|
+
md:w-full md:min-w-150
|
|
366
369
|
overflow-hidden outline-none
|
|
367
370
|
`, this.inlineClass());
|
|
368
371
|
}, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
|
|
369
372
|
}
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
if (!pane) {
|
|
373
|
-
return;
|
|
374
|
-
}
|
|
375
|
-
pane.style.setProperty('z-index', '999999', 'important');
|
|
376
|
-
pane.style.setProperty('position', 'relative', 'important');
|
|
377
|
-
this._mutationObserver = new MutationObserver(() => {
|
|
378
|
-
pane.style.setProperty('position', 'relative', 'important');
|
|
379
|
-
pane.style.setProperty('z-index', '999999', 'important');
|
|
380
|
-
});
|
|
381
|
-
this._mutationObserver.observe(pane, {
|
|
382
|
-
attributes: true,
|
|
383
|
-
attributeFilter: ['style'],
|
|
384
|
-
});
|
|
385
|
-
}
|
|
386
|
-
ngOnDestroy() {
|
|
387
|
-
this._mutationObserver.disconnect();
|
|
388
|
-
}
|
|
389
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
390
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", 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 }); }
|
|
373
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
374
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", 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 }); }
|
|
391
375
|
}
|
|
392
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
376
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogContentDirective, decorators: [{
|
|
393
377
|
type: Directive,
|
|
394
378
|
args: [{
|
|
395
379
|
standalone: true,
|
|
@@ -435,10 +419,10 @@ class UpDialogTriggerDirective {
|
|
|
435
419
|
open() {
|
|
436
420
|
this.dialog?.open();
|
|
437
421
|
}
|
|
438
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
439
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
422
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
423
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", 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 }); }
|
|
440
424
|
}
|
|
441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogTriggerDirective, decorators: [{
|
|
442
426
|
type: Directive,
|
|
443
427
|
args: [{
|
|
444
428
|
standalone: true,
|
|
@@ -473,12 +457,12 @@ class UpDialogContentRefDirective {
|
|
|
473
457
|
untracked(() => this.dialog?.setContext(context));
|
|
474
458
|
});
|
|
475
459
|
}
|
|
476
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
477
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
460
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogContentRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
461
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: UpDialogContentRefDirective, isStandalone: true, selector: "[upDialogContentRef]", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
478
462
|
provideExposesStateProviderExisting(() => UpDialogContentRefDirective)
|
|
479
463
|
], exportAs: ["upDialogContentRef"], ngImport: i0 }); }
|
|
480
464
|
}
|
|
481
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
465
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogContentRefDirective, decorators: [{
|
|
482
466
|
type: Directive,
|
|
483
467
|
args: [{
|
|
484
468
|
standalone: true,
|
|
@@ -496,6 +480,7 @@ class UpDialogWrapperComponent extends UpDialog {
|
|
|
496
480
|
this.isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
497
481
|
this.dismissed = output();
|
|
498
482
|
effect(() => {
|
|
483
|
+
this.panelClass.set('relative!');
|
|
499
484
|
this.state.set(this.isOpen());
|
|
500
485
|
});
|
|
501
486
|
this.closedSubscription = this.closed.subscribe(() => {
|
|
@@ -505,8 +490,8 @@ class UpDialogWrapperComponent extends UpDialog {
|
|
|
505
490
|
ngOnDestroy() {
|
|
506
491
|
this.closedSubscription.unsubscribe();
|
|
507
492
|
}
|
|
508
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
509
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
493
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
494
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: UpDialogWrapperComponent, isStandalone: true, selector: "up-dialog-wrapper", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, providers: [
|
|
510
495
|
{
|
|
511
496
|
provide: UpDialog,
|
|
512
497
|
useExisting: forwardRef(() => UpDialogWrapperComponent)
|
|
@@ -515,7 +500,7 @@ class UpDialogWrapperComponent extends UpDialog {
|
|
|
515
500
|
<ng-content />
|
|
516
501
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
517
502
|
}
|
|
518
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
503
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpDialogWrapperComponent, decorators: [{
|
|
519
504
|
type: Component,
|
|
520
505
|
args: [{
|
|
521
506
|
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\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 { AfterViewInit, computed, Directive, inject, input, OnDestroy } 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 implements AfterViewInit, OnDestroy {\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 protected _mutationObserver!: MutationObserver;\n\n public ngAfterViewInit(): void{\n const pane = document.querySelector('.cdk-overlay-pane') as HTMLElement;\n if (!pane) {\n return;\n }\n\n pane.style.setProperty('z-index', '999999', 'important');\n pane.style.setProperty('position', 'relative', 'important');\n\n this._mutationObserver = new MutationObserver(\n () => {\n pane.style.setProperty('position', 'relative', 'important');\n pane.style.setProperty('z-index', '999999', 'important');\n }\n );\n\n this._mutationObserver.observe(\n pane, \n {\n attributes: true,\n attributeFilter: ['style'],\n }\n );\n }\n\n public ngOnDestroy(): void{\n this._mutationObserver.disconnect();\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\n\nexport const defaultDialogOptions: UpDialogOptions = {\n role: 'dialog',\n panelClass: null,\n hasBackdrop: true,\n disableClose: false,\n \n autoFocus: false,\n restoreFocus: false,\n\n closeDelay: 50,\n closeOnBackdropClick: true,\n closeOnOutsidePointerEvents: false,\n\n attachPositions: [],\n scrollStrategy: null,\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\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\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\n backdropClass: up('bg-black/30'),\n panelClass: up(options?.panelClass?? ''),\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 {\n next: () => {\n effectRef?.destroy();\n \n destroyed$.next();\n destroyed$.complete();\n }\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 } 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 = signal<boolean>(false);\n public readonly panelClass = signal<UpDialogOptions['panelClass']>(null);\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 panelClass: this.panelClass(),\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 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\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 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-150\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.panelClass.set('relative!');\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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"}
|