@area8975/ui 0.1.1-dev.5 → 0.1.1-dev.7
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/fesm2022/area8975-ui.mjs +264 -51
- package/fesm2022/area8975-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/area8975-ui.d.ts +31 -18
package/fesm2022/area8975-ui.mjs
CHANGED
|
@@ -3591,8 +3591,57 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
3591
3591
|
args: [{ providedIn: "root" }]
|
|
3592
3592
|
}]
|
|
3593
3593
|
});
|
|
3594
|
+
var UiOverlayStack = class UiOverlayStack {
|
|
3595
|
+
entries = [];
|
|
3596
|
+
constructor() {
|
|
3597
|
+
document.addEventListener("click", this.onDocumentClick);
|
|
3598
|
+
document.addEventListener("keydown", this.onKeyDown);
|
|
3599
|
+
inject(DestroyRef).onDestroy(() => {
|
|
3600
|
+
document.removeEventListener("click", this.onDocumentClick);
|
|
3601
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
|
3602
|
+
});
|
|
3603
|
+
}
|
|
3604
|
+
push = (entry) => {
|
|
3605
|
+
this.remove(entry);
|
|
3606
|
+
this.entries.push(entry);
|
|
3607
|
+
};
|
|
3608
|
+
remove = (entry) => {
|
|
3609
|
+
const index = this.entries.indexOf(entry);
|
|
3610
|
+
if (index !== -1) this.entries.splice(index, 1);
|
|
3611
|
+
};
|
|
3612
|
+
top = () => this.entries.at(-1);
|
|
3613
|
+
onDocumentClick = (event) => this.top()?.onDocumentClick(event);
|
|
3614
|
+
onKeyDown = (event) => this.top()?.onKeyDown(event);
|
|
3615
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
3616
|
+
minVersion: "12.0.0",
|
|
3617
|
+
version: "22.2.1",
|
|
3618
|
+
ngImport: i0,
|
|
3619
|
+
type: UiOverlayStack,
|
|
3620
|
+
deps: [],
|
|
3621
|
+
target: i0.ɵɵFactoryTarget.Injectable
|
|
3622
|
+
});
|
|
3623
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
3624
|
+
minVersion: "12.0.0",
|
|
3625
|
+
version: "22.2.1",
|
|
3626
|
+
ngImport: i0,
|
|
3627
|
+
type: UiOverlayStack,
|
|
3628
|
+
providedIn: "root"
|
|
3629
|
+
});
|
|
3630
|
+
};
|
|
3631
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
3632
|
+
minVersion: "12.0.0",
|
|
3633
|
+
version: "22.2.1",
|
|
3634
|
+
ngImport: i0,
|
|
3635
|
+
type: UiOverlayStack,
|
|
3636
|
+
decorators: [{
|
|
3637
|
+
type: Injectable,
|
|
3638
|
+
args: [{ providedIn: "root" }]
|
|
3639
|
+
}],
|
|
3640
|
+
ctorParameters: () => []
|
|
3641
|
+
});
|
|
3594
3642
|
var UiOverlayComponent = class UiOverlayComponent {
|
|
3595
3643
|
positioner = inject(UiOverlayPositioner);
|
|
3644
|
+
stack = inject(UiOverlayStack);
|
|
3596
3645
|
content = input(...ngDevMode ? [void 0, { debugName: "content" }] : /* istanbul ignore next */ []);
|
|
3597
3646
|
anchor = input(...ngDevMode ? [void 0, { debugName: "anchor" }] : /* istanbul ignore next */ []);
|
|
3598
3647
|
closeBehaviour = input("whenClickAnywhere", ...ngDevMode ? [{ debugName: "closeBehaviour" }] : /* istanbul ignore next */ []);
|
|
@@ -3603,12 +3652,9 @@ var UiOverlayComponent = class UiOverlayComponent {
|
|
|
3603
3652
|
matchWidth = input(null, ...ngDevMode ? [{ debugName: "matchWidth" }] : /* istanbul ignore next */ []);
|
|
3604
3653
|
constructor() {
|
|
3605
3654
|
effect((onCleanup) => {
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
onCleanup(() =>
|
|
3609
|
-
document.removeEventListener("click", this.onDocumentClick);
|
|
3610
|
-
document.removeEventListener("keydown", this.onKeyDown);
|
|
3611
|
-
});
|
|
3655
|
+
if (!this.isOpen()()) return;
|
|
3656
|
+
this.stack.push(this);
|
|
3657
|
+
onCleanup(() => this.stack.remove(this));
|
|
3612
3658
|
});
|
|
3613
3659
|
effect((onCleanup) => {
|
|
3614
3660
|
const anchor = this.anchor();
|
|
@@ -6395,17 +6441,108 @@ const UI_LOADING_TYPES = [
|
|
|
6395
6441
|
"bouncing-dots",
|
|
6396
6442
|
"fading-dots"
|
|
6397
6443
|
];
|
|
6444
|
+
var UiModalCloseButtonComponent = class UiModalCloseButtonComponent {
|
|
6445
|
+
isOpen = model.required(...ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []);
|
|
6446
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
6447
|
+
minVersion: "12.0.0",
|
|
6448
|
+
version: "22.2.1",
|
|
6449
|
+
ngImport: i0,
|
|
6450
|
+
type: UiModalCloseButtonComponent,
|
|
6451
|
+
deps: [],
|
|
6452
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
6453
|
+
});
|
|
6454
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
6455
|
+
minVersion: "17.1.0",
|
|
6456
|
+
version: "22.2.1",
|
|
6457
|
+
type: UiModalCloseButtonComponent,
|
|
6458
|
+
isStandalone: true,
|
|
6459
|
+
selector: "ui-modal-close-btn",
|
|
6460
|
+
inputs: { isOpen: {
|
|
6461
|
+
classPropertyName: "isOpen",
|
|
6462
|
+
publicName: "isOpen",
|
|
6463
|
+
isSignal: true,
|
|
6464
|
+
isRequired: true,
|
|
6465
|
+
transformFunction: null
|
|
6466
|
+
} },
|
|
6467
|
+
outputs: { isOpen: "isOpenChange" },
|
|
6468
|
+
ngImport: i0,
|
|
6469
|
+
template: "<ui-button\n appearance=\"white\"\n intent=\"secondary\"\n classes=\"p-2! border-transparent! shadow-none!\"\n (click)=\"isOpen.set(false)\"\n>\n <ng-icon name=\"heroXMark\" strokeWidth=\"2.5\" />\n</ui-button>\n",
|
|
6470
|
+
dependencies: [{
|
|
6471
|
+
kind: "component",
|
|
6472
|
+
type: UiButtonComponent,
|
|
6473
|
+
selector: "ui-button",
|
|
6474
|
+
inputs: [
|
|
6475
|
+
"appearance",
|
|
6476
|
+
"intent",
|
|
6477
|
+
"size",
|
|
6478
|
+
"classes",
|
|
6479
|
+
"type",
|
|
6480
|
+
"ariaLabel",
|
|
6481
|
+
"disabled",
|
|
6482
|
+
"loading"
|
|
6483
|
+
]
|
|
6484
|
+
}, {
|
|
6485
|
+
kind: "component",
|
|
6486
|
+
type: NgIcon,
|
|
6487
|
+
selector: "ng-icon",
|
|
6488
|
+
inputs: [
|
|
6489
|
+
"name",
|
|
6490
|
+
"svg",
|
|
6491
|
+
"size",
|
|
6492
|
+
"strokeWidth",
|
|
6493
|
+
"color"
|
|
6494
|
+
]
|
|
6495
|
+
}]
|
|
6496
|
+
});
|
|
6497
|
+
};
|
|
6498
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
6499
|
+
minVersion: "12.0.0",
|
|
6500
|
+
version: "22.2.1",
|
|
6501
|
+
ngImport: i0,
|
|
6502
|
+
type: UiModalCloseButtonComponent,
|
|
6503
|
+
decorators: [{
|
|
6504
|
+
type: Component,
|
|
6505
|
+
args: [{
|
|
6506
|
+
selector: "ui-modal-close-btn",
|
|
6507
|
+
imports: [UiButtonComponent, NgIcon],
|
|
6508
|
+
template: "<ui-button\n appearance=\"white\"\n intent=\"secondary\"\n classes=\"p-2! border-transparent! shadow-none!\"\n (click)=\"isOpen.set(false)\"\n>\n <ng-icon name=\"heroXMark\" strokeWidth=\"2.5\" />\n</ui-button>\n"
|
|
6509
|
+
}]
|
|
6510
|
+
}],
|
|
6511
|
+
propDecorators: { isOpen: [{
|
|
6512
|
+
type: i0.Input,
|
|
6513
|
+
args: [{
|
|
6514
|
+
isSignal: true,
|
|
6515
|
+
alias: "isOpen",
|
|
6516
|
+
required: true
|
|
6517
|
+
}]
|
|
6518
|
+
}, {
|
|
6519
|
+
type: i0.Output,
|
|
6520
|
+
args: ["isOpenChange"]
|
|
6521
|
+
}] }
|
|
6522
|
+
});
|
|
6398
6523
|
var UiModalComponent = class UiModalComponent {
|
|
6524
|
+
isOpen = model.required(...ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []);
|
|
6525
|
+
closeBehaviour = input("whenClickOutside", ...ngDevMode ? [{ debugName: "closeBehaviour" }] : /* istanbul ignore next */ []);
|
|
6526
|
+
title = input("", ...ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []);
|
|
6527
|
+
size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
6528
|
+
classes = input("", ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
|
|
6529
|
+
headerElement = contentChild("header", {
|
|
6530
|
+
...ngDevMode ? { debugName: "headerElement" } : /* istanbul ignore next */ {},
|
|
6531
|
+
descendants: false
|
|
6532
|
+
});
|
|
6533
|
+
footerElement = contentChild("footer", {
|
|
6534
|
+
...ngDevMode ? { debugName: "footerElement" } : /* istanbul ignore next */ {},
|
|
6535
|
+
descendants: false
|
|
6536
|
+
});
|
|
6399
6537
|
panelElement = viewChild("panel", {
|
|
6400
6538
|
...ngDevMode ? { debugName: "panelElement" } : /* istanbul ignore next */ {},
|
|
6401
6539
|
read: ElementRef
|
|
6402
6540
|
});
|
|
6403
|
-
|
|
6404
|
-
|
|
6405
|
-
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
generatedSizeClasses = computed(() => `ui-modal--${this.size()}`, ...ngDevMode ? [{ debugName: "generatedSizeClasses" }] : /* istanbul ignore next */ []);
|
|
6541
|
+
generatedClasses = computed(() => [
|
|
6542
|
+
"ui-modal",
|
|
6543
|
+
`ui-modal--${this.size()}`,
|
|
6544
|
+
this.classes()
|
|
6545
|
+
].filter(Boolean).join(" "), ...ngDevMode ? [{ debugName: "generatedClasses" }] : /* istanbul ignore next */ []);
|
|
6409
6546
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
6410
6547
|
minVersion: "12.0.0",
|
|
6411
6548
|
version: "22.2.1",
|
|
@@ -6421,11 +6558,11 @@ var UiModalComponent = class UiModalComponent {
|
|
|
6421
6558
|
isStandalone: true,
|
|
6422
6559
|
selector: "ui-modal",
|
|
6423
6560
|
inputs: {
|
|
6424
|
-
|
|
6425
|
-
classPropertyName: "
|
|
6426
|
-
publicName: "
|
|
6561
|
+
isOpen: {
|
|
6562
|
+
classPropertyName: "isOpen",
|
|
6563
|
+
publicName: "isOpen",
|
|
6427
6564
|
isSignal: true,
|
|
6428
|
-
isRequired:
|
|
6565
|
+
isRequired: true,
|
|
6429
6566
|
transformFunction: null
|
|
6430
6567
|
},
|
|
6431
6568
|
closeBehaviour: {
|
|
@@ -6435,15 +6572,40 @@ var UiModalComponent = class UiModalComponent {
|
|
|
6435
6572
|
isRequired: false,
|
|
6436
6573
|
transformFunction: null
|
|
6437
6574
|
},
|
|
6575
|
+
title: {
|
|
6576
|
+
classPropertyName: "title",
|
|
6577
|
+
publicName: "title",
|
|
6578
|
+
isSignal: true,
|
|
6579
|
+
isRequired: false,
|
|
6580
|
+
transformFunction: null
|
|
6581
|
+
},
|
|
6438
6582
|
size: {
|
|
6439
6583
|
classPropertyName: "size",
|
|
6440
6584
|
publicName: "size",
|
|
6441
6585
|
isSignal: true,
|
|
6442
6586
|
isRequired: false,
|
|
6443
6587
|
transformFunction: null
|
|
6588
|
+
},
|
|
6589
|
+
classes: {
|
|
6590
|
+
classPropertyName: "classes",
|
|
6591
|
+
publicName: "classes",
|
|
6592
|
+
isSignal: true,
|
|
6593
|
+
isRequired: false,
|
|
6594
|
+
transformFunction: null
|
|
6444
6595
|
}
|
|
6445
6596
|
},
|
|
6446
|
-
outputs: {
|
|
6597
|
+
outputs: { isOpen: "isOpenChange" },
|
|
6598
|
+
queries: [{
|
|
6599
|
+
propertyName: "headerElement",
|
|
6600
|
+
first: true,
|
|
6601
|
+
predicate: ["header"],
|
|
6602
|
+
isSignal: true
|
|
6603
|
+
}, {
|
|
6604
|
+
propertyName: "footerElement",
|
|
6605
|
+
first: true,
|
|
6606
|
+
predicate: ["footer"],
|
|
6607
|
+
isSignal: true
|
|
6608
|
+
}],
|
|
6447
6609
|
viewQueries: [{
|
|
6448
6610
|
propertyName: "panelElement",
|
|
6449
6611
|
first: true,
|
|
@@ -6452,26 +6614,44 @@ var UiModalComponent = class UiModalComponent {
|
|
|
6452
6614
|
read: ElementRef,
|
|
6453
6615
|
isSignal: true
|
|
6454
6616
|
}],
|
|
6455
|
-
exportAs: ["uiModal"],
|
|
6456
6617
|
ngImport: i0,
|
|
6457
|
-
template: "@if (
|
|
6458
|
-
styles: ["@layer properties;.ui-modal--backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;overflow-y:auto;background-color:color-mix(in srgb,oklch(21% .034 264.665) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.ui-modal--backdrop{background-color:color-mix(in oklab,var(--color-gray-900, oklch(21% .034 264.665)) 50%,transparent)}}.ui-modal
|
|
6459
|
-
dependencies: [
|
|
6460
|
-
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
|
|
6473
|
-
|
|
6474
|
-
|
|
6618
|
+
template: "@if (isOpen()) {\n <div\n class=\"group z-50 fixed inset-0 flex justify-center items-center bg-black/40 starting:opacity-0 p-4 transition-opacity duration-150 ease-out\"\n animate.leave=\"fs-modal--leaving opacity-0\"\n >\n <ui-overlay\n [isOpen]=\"isOpen\"\n [closeBehaviour]=\"closeBehaviour()\"\n [content]=\"panelElement()\"\n tabIndex=\"-1\"\n role=\"dialog\"\n aria-modal=\"true\"\n class=\"block max-w-full starting:scale-95 group-[.fs-modal--leaving]:scale-95 transition duration-150 ease-out\"\n >\n <div #panel [class]=\"generatedClasses()\">\n <div class=\"flex flex-col max-h-[calc(100dvh-2rem-2px)]\">\n <header class=\"flex justify-between items-center gap-x-5 p-5 border-neutral border-b shrink-0\">\n @if (headerElement()) {\n <ng-container *ngTemplateOutlet=\"headerElement()\" />\n } @else {\n <span class=\"ui-text-h3\">{{ title() }}</span>\n <ui-modal-close-btn [(isOpen)]=\"isOpen\" />\n }\n </header>\n <div class=\"flex-1 min-h-0 overflow-auto\">\n <ng-content />\n </div>\n\n @if (footerElement()) {\n <footer class=\"flex justify-end items-center gap-2.5 p-5 shrink-0\">\n <ng-container *ngTemplateOutlet=\"footerElement()\" />\n </footer>\n }\n </div>\n </div>\n </ui-overlay>\n </div>\n}\n",
|
|
6619
|
+
styles: ["@layer properties;.ui-modal--backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;overflow-y:auto;background-color:color-mix(in srgb,oklch(21% .034 264.665) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.ui-modal--backdrop{background-color:color-mix(in oklab,var(--color-gray-900, oklch(21% .034 264.665)) 50%,transparent)}}.ui-modal{pointer-events:auto;display:flex;max-height:100vh;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl, .75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--overlay-line);background-color:var(--overlay);--tw-shadow: 0 1px var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(width>=40rem){.ui-modal--sm{margin-inline:auto;width:100%;max-width:var(--container-lg, 32rem)}}@media(width>=48rem){.ui-modal--md{margin-inline:auto;width:100%;max-width:var(--container-2xl, 42rem)}}@media(width>=64rem){.ui-modal--lg{margin-inline:auto;width:100%;max-width:var(--container-4xl, 56rem)}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"],
|
|
6620
|
+
dependencies: [
|
|
6621
|
+
{
|
|
6622
|
+
kind: "component",
|
|
6623
|
+
type: UiOverlayComponent,
|
|
6624
|
+
selector: "ui-overlay",
|
|
6625
|
+
inputs: [
|
|
6626
|
+
"content",
|
|
6627
|
+
"anchor",
|
|
6628
|
+
"closeBehaviour",
|
|
6629
|
+
"isOpen",
|
|
6630
|
+
"placement",
|
|
6631
|
+
"offset",
|
|
6632
|
+
"viewportPadding",
|
|
6633
|
+
"matchWidth"
|
|
6634
|
+
],
|
|
6635
|
+
exportAs: ["uiOverlay"]
|
|
6636
|
+
},
|
|
6637
|
+
{
|
|
6638
|
+
kind: "component",
|
|
6639
|
+
type: UiModalCloseButtonComponent,
|
|
6640
|
+
selector: "ui-modal-close-btn",
|
|
6641
|
+
inputs: ["isOpen"],
|
|
6642
|
+
outputs: ["isOpenChange"]
|
|
6643
|
+
},
|
|
6644
|
+
{
|
|
6645
|
+
kind: "directive",
|
|
6646
|
+
type: NgTemplateOutlet,
|
|
6647
|
+
selector: "[ngTemplateOutlet]",
|
|
6648
|
+
inputs: [
|
|
6649
|
+
"ngTemplateOutletContext",
|
|
6650
|
+
"ngTemplateOutlet",
|
|
6651
|
+
"ngTemplateOutletInjector"
|
|
6652
|
+
]
|
|
6653
|
+
}
|
|
6654
|
+
]
|
|
6475
6655
|
});
|
|
6476
6656
|
};
|
|
6477
6657
|
i0.ɵɵngDeclareClassMetadata({
|
|
@@ -6483,30 +6663,26 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
6483
6663
|
type: Component,
|
|
6484
6664
|
args: [{
|
|
6485
6665
|
selector: "ui-modal",
|
|
6486
|
-
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6666
|
+
imports: [
|
|
6667
|
+
UiOverlayComponent,
|
|
6668
|
+
UiModalCloseButtonComponent,
|
|
6669
|
+
NgTemplateOutlet
|
|
6670
|
+
],
|
|
6671
|
+
template: "@if (isOpen()) {\n <div\n class=\"group z-50 fixed inset-0 flex justify-center items-center bg-black/40 starting:opacity-0 p-4 transition-opacity duration-150 ease-out\"\n animate.leave=\"fs-modal--leaving opacity-0\"\n >\n <ui-overlay\n [isOpen]=\"isOpen\"\n [closeBehaviour]=\"closeBehaviour()\"\n [content]=\"panelElement()\"\n tabIndex=\"-1\"\n role=\"dialog\"\n aria-modal=\"true\"\n class=\"block max-w-full starting:scale-95 group-[.fs-modal--leaving]:scale-95 transition duration-150 ease-out\"\n >\n <div #panel [class]=\"generatedClasses()\">\n <div class=\"flex flex-col max-h-[calc(100dvh-2rem-2px)]\">\n <header class=\"flex justify-between items-center gap-x-5 p-5 border-neutral border-b shrink-0\">\n @if (headerElement()) {\n <ng-container *ngTemplateOutlet=\"headerElement()\" />\n } @else {\n <span class=\"ui-text-h3\">{{ title() }}</span>\n <ui-modal-close-btn [(isOpen)]=\"isOpen\" />\n }\n </header>\n <div class=\"flex-1 min-h-0 overflow-auto\">\n <ng-content />\n </div>\n\n @if (footerElement()) {\n <footer class=\"flex justify-end items-center gap-2.5 p-5 shrink-0\">\n <ng-container *ngTemplateOutlet=\"footerElement()\" />\n </footer>\n }\n </div>\n </div>\n </ui-overlay>\n </div>\n}\n",
|
|
6672
|
+
styles: ["@layer properties;.ui-modal--backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;overflow-y:auto;background-color:color-mix(in srgb,oklch(21% .034 264.665) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.ui-modal--backdrop{background-color:color-mix(in oklab,var(--color-gray-900, oklch(21% .034 264.665)) 50%,transparent)}}.ui-modal{pointer-events:auto;display:flex;max-height:100vh;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl, .75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--overlay-line);background-color:var(--overlay);--tw-shadow: 0 1px var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(width>=40rem){.ui-modal--sm{margin-inline:auto;width:100%;max-width:var(--container-lg, 32rem)}}@media(width>=48rem){.ui-modal--md{margin-inline:auto;width:100%;max-width:var(--container-2xl, 42rem)}}@media(width>=64rem){.ui-modal--lg{margin-inline:auto;width:100%;max-width:var(--container-4xl, 56rem)}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"]
|
|
6490
6673
|
}]
|
|
6491
6674
|
}],
|
|
6492
6675
|
propDecorators: {
|
|
6493
|
-
|
|
6494
|
-
type: i0.ViewChild,
|
|
6495
|
-
args: ["panel", {
|
|
6496
|
-
read: ElementRef,
|
|
6497
|
-
isSignal: true
|
|
6498
|
-
}]
|
|
6499
|
-
}],
|
|
6500
|
-
open: [{
|
|
6676
|
+
isOpen: [{
|
|
6501
6677
|
type: i0.Input,
|
|
6502
6678
|
args: [{
|
|
6503
6679
|
isSignal: true,
|
|
6504
|
-
alias: "
|
|
6505
|
-
required:
|
|
6680
|
+
alias: "isOpen",
|
|
6681
|
+
required: true
|
|
6506
6682
|
}]
|
|
6507
6683
|
}, {
|
|
6508
6684
|
type: i0.Output,
|
|
6509
|
-
args: ["
|
|
6685
|
+
args: ["isOpenChange"]
|
|
6510
6686
|
}],
|
|
6511
6687
|
closeBehaviour: [{
|
|
6512
6688
|
type: i0.Input,
|
|
@@ -6516,6 +6692,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
6516
6692
|
required: false
|
|
6517
6693
|
}]
|
|
6518
6694
|
}],
|
|
6695
|
+
title: [{
|
|
6696
|
+
type: i0.Input,
|
|
6697
|
+
args: [{
|
|
6698
|
+
isSignal: true,
|
|
6699
|
+
alias: "title",
|
|
6700
|
+
required: false
|
|
6701
|
+
}]
|
|
6702
|
+
}],
|
|
6519
6703
|
size: [{
|
|
6520
6704
|
type: i0.Input,
|
|
6521
6705
|
args: [{
|
|
@@ -6523,6 +6707,35 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
6523
6707
|
alias: "size",
|
|
6524
6708
|
required: false
|
|
6525
6709
|
}]
|
|
6710
|
+
}],
|
|
6711
|
+
classes: [{
|
|
6712
|
+
type: i0.Input,
|
|
6713
|
+
args: [{
|
|
6714
|
+
isSignal: true,
|
|
6715
|
+
alias: "classes",
|
|
6716
|
+
required: false
|
|
6717
|
+
}]
|
|
6718
|
+
}],
|
|
6719
|
+
headerElement: [{
|
|
6720
|
+
type: i0.ContentChild,
|
|
6721
|
+
args: ["header", {
|
|
6722
|
+
descendants: false,
|
|
6723
|
+
isSignal: true
|
|
6724
|
+
}]
|
|
6725
|
+
}],
|
|
6726
|
+
footerElement: [{
|
|
6727
|
+
type: i0.ContentChild,
|
|
6728
|
+
args: ["footer", {
|
|
6729
|
+
descendants: false,
|
|
6730
|
+
isSignal: true
|
|
6731
|
+
}]
|
|
6732
|
+
}],
|
|
6733
|
+
panelElement: [{
|
|
6734
|
+
type: i0.ViewChild,
|
|
6735
|
+
args: ["panel", {
|
|
6736
|
+
read: ElementRef,
|
|
6737
|
+
isSignal: true
|
|
6738
|
+
}]
|
|
6526
6739
|
}]
|
|
6527
6740
|
}
|
|
6528
6741
|
});
|