@forgeroute/ui 0.4.56 → 0.4.58
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/forgeroute-ui-messaging.mjs +12 -0
- package/fesm2022/forgeroute-ui-messaging.mjs.map +1 -1
- package/fesm2022/forgeroute-ui-pdf.mjs +1174 -4
- package/fesm2022/forgeroute-ui-pdf.mjs.map +1 -1
- package/fesm2022/forgeroute-ui-stripe.mjs +5 -0
- package/fesm2022/forgeroute-ui-stripe.mjs.map +1 -1
- package/fesm2022/forgeroute-ui.mjs +2249 -494
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui-pdf.d.ts +266 -1
- package/types/forgeroute-ui.d.ts +481 -16
|
@@ -2519,8 +2519,13 @@ var ModalComponent = class ModalComponent {
|
|
|
2519
2519
|
this.dialogTestId = input("", ...ngDevMode ? [{ debugName: "dialogTestId" }] : /* istanbul ignore next */ []);
|
|
2520
2520
|
this.hideClose = input(false, ...ngDevMode ? [{ debugName: "hideClose" }] : /* istanbul ignore next */ []);
|
|
2521
2521
|
this.closable = input(true, ...ngDevMode ? [{ debugName: "closable" }] : /* istanbul ignore next */ []);
|
|
2522
|
+
this.layout = input("default", ...ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []);
|
|
2523
|
+
this.closeOnBackdrop = input(true, ...ngDevMode ? [{ debugName: "closeOnBackdrop" }] : /* istanbul ignore next */ []);
|
|
2524
|
+
this.closeOnEscape = input(true, ...ngDevMode ? [{ debugName: "closeOnEscape" }] : /* istanbul ignore next */ []);
|
|
2525
|
+
this.busy = input(false, ...ngDevMode ? [{ debugName: "busy" }] : /* istanbul ignore next */ []);
|
|
2522
2526
|
this.close = output();
|
|
2523
2527
|
this.returnFocusTo = input(null, ...ngDevMode ? [{ debugName: "returnFocusTo" }] : /* istanbul ignore next */ []);
|
|
2528
|
+
this.kiosk = computed(() => this.layout() === "kiosk", ...ngDevMode ? [{ debugName: "kiosk" }] : /* istanbul ignore next */ []);
|
|
2524
2529
|
this.titleId = `m-title-${Math.random().toString(36).slice(2, 8)}`;
|
|
2525
2530
|
this.el = inject(ElementRef);
|
|
2526
2531
|
this.ren = inject(Renderer2);
|
|
@@ -2563,7 +2568,7 @@ var ModalComponent = class ModalComponent {
|
|
|
2563
2568
|
if (!this.open() || !this._overlays.isTop(this)) return;
|
|
2564
2569
|
if (event.key === "Escape") {
|
|
2565
2570
|
event.preventDefault();
|
|
2566
|
-
|
|
2571
|
+
this.dismiss("escape");
|
|
2567
2572
|
return;
|
|
2568
2573
|
}
|
|
2569
2574
|
if (event.key === "Tab") {
|
|
@@ -2586,6 +2591,12 @@ var ModalComponent = class ModalComponent {
|
|
|
2586
2591
|
}
|
|
2587
2592
|
}
|
|
2588
2593
|
}
|
|
2594
|
+
dismiss(via) {
|
|
2595
|
+
if (!this.closable() || this.busy()) return;
|
|
2596
|
+
if (via === "backdrop" && !this.closeOnBackdrop()) return;
|
|
2597
|
+
if (via === "escape" && !this.closeOnEscape()) return;
|
|
2598
|
+
this.close.emit();
|
|
2599
|
+
}
|
|
2589
2600
|
onGuardFocus(which, event) {
|
|
2590
2601
|
if (!this._overlays.isTop(this)) return;
|
|
2591
2602
|
redirectFromGuard(which, this.el.nativeElement, this.el.nativeElement.querySelector(".m-modal"), event?.relatedTarget ?? null);
|
|
@@ -2606,6 +2617,10 @@ var ModalComponent = class ModalComponent {
|
|
|
2606
2617
|
this._stopViewport?.();
|
|
2607
2618
|
this._stopViewport = null;
|
|
2608
2619
|
this._overlays.remove(this);
|
|
2620
|
+
if (this._scrollLocked && this.layout() === "kiosk") {
|
|
2621
|
+
restoreFocus(this.returnFocusTo(), this._prevFocus);
|
|
2622
|
+
this._prevFocus = null;
|
|
2623
|
+
}
|
|
2609
2624
|
if (this._scrollLocked && this._overlays.isEmpty) this.doc.body.style.overflow = "";
|
|
2610
2625
|
const el = this.el.nativeElement;
|
|
2611
2626
|
if (el.parentNode === this.doc.body) this.ren.removeChild(this.doc.body, el);
|
|
@@ -2684,6 +2699,34 @@ var ModalComponent = class ModalComponent {
|
|
|
2684
2699
|
isRequired: false,
|
|
2685
2700
|
transformFunction: null
|
|
2686
2701
|
},
|
|
2702
|
+
layout: {
|
|
2703
|
+
classPropertyName: "layout",
|
|
2704
|
+
publicName: "layout",
|
|
2705
|
+
isSignal: true,
|
|
2706
|
+
isRequired: false,
|
|
2707
|
+
transformFunction: null
|
|
2708
|
+
},
|
|
2709
|
+
closeOnBackdrop: {
|
|
2710
|
+
classPropertyName: "closeOnBackdrop",
|
|
2711
|
+
publicName: "closeOnBackdrop",
|
|
2712
|
+
isSignal: true,
|
|
2713
|
+
isRequired: false,
|
|
2714
|
+
transformFunction: null
|
|
2715
|
+
},
|
|
2716
|
+
closeOnEscape: {
|
|
2717
|
+
classPropertyName: "closeOnEscape",
|
|
2718
|
+
publicName: "closeOnEscape",
|
|
2719
|
+
isSignal: true,
|
|
2720
|
+
isRequired: false,
|
|
2721
|
+
transformFunction: null
|
|
2722
|
+
},
|
|
2723
|
+
busy: {
|
|
2724
|
+
classPropertyName: "busy",
|
|
2725
|
+
publicName: "busy",
|
|
2726
|
+
isSignal: true,
|
|
2727
|
+
isRequired: false,
|
|
2728
|
+
transformFunction: null
|
|
2729
|
+
},
|
|
2687
2730
|
returnFocusTo: {
|
|
2688
2731
|
classPropertyName: "returnFocusTo",
|
|
2689
2732
|
publicName: "returnFocusTo",
|
|
@@ -2697,8 +2740,8 @@ var ModalComponent = class ModalComponent {
|
|
|
2697
2740
|
ngImport: i0,
|
|
2698
2741
|
template: `
|
|
2699
2742
|
@if (open()) {
|
|
2700
|
-
<div class="m-backdrop"
|
|
2701
|
-
<div class="m-modal" role="dialog" aria-modal="true" tabindex="-1" [attr.aria-labelledby]="titleId" [attr.data-testid]="dialogTestId() || null" [style.max-width]="maxWidth()">
|
|
2743
|
+
<div class="m-backdrop" [class.m-kiosk-backdrop]="kiosk()" (click)="dismiss('backdrop')"></div>
|
|
2744
|
+
<div class="m-modal" [class.m-kiosk]="kiosk()" role="dialog" aria-modal="true" tabindex="-1" [attr.aria-labelledby]="titleId" [attr.aria-busy]="busy() ? 'true' : null" [attr.data-testid]="dialogTestId() || null" [style.max-width]="maxWidth()">
|
|
2702
2745
|
<span class="m-focus-guard" data-ui-focus-guard="start" tabindex="0" (focus)="onGuardFocus('start', $event)"></span>
|
|
2703
2746
|
<div class="m-header">
|
|
2704
2747
|
<div class="m-header-text">
|
|
@@ -2707,8 +2750,9 @@ var ModalComponent = class ModalComponent {
|
|
|
2707
2750
|
<p class="m-description">{{ description() }}</p>
|
|
2708
2751
|
}
|
|
2709
2752
|
</div>
|
|
2753
|
+
<ng-content select="[modal-header-end]" />
|
|
2710
2754
|
@if (!hideClose() && closable()) {
|
|
2711
|
-
<button class="m-close" type="button" aria-label="Close" (click)="close
|
|
2755
|
+
<button class="m-close" type="button" aria-label="Close" [disabled]="busy()" (click)="dismiss('close')">
|
|
2712
2756
|
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
|
|
2713
2757
|
<line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/>
|
|
2714
2758
|
</svg>
|
|
@@ -2728,7 +2772,7 @@ var ModalComponent = class ModalComponent {
|
|
|
2728
2772
|
}
|
|
2729
2773
|
`,
|
|
2730
2774
|
isInline: true,
|
|
2731
|
-
styles: [".m-backdrop{position:fixed;inset:0;background:#02081773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:m-fade .18s ease}.m-modal:focus{outline:none}.m-focus-guard{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;outline:none}.m-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);z-index:201;width:calc(100% - 32px);box-shadow:0 4px 6px #0000000a,0 16px 32px #0000001f,0 48px 96px #0000001a;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:m-scale .22s cubic-bezier(.16,1,.3,1)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;flex-shrink:0}.m-header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.m-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3}.m-description{font-size:.8125rem;color:#64748b;margin:0;line-height:1.4}.m-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;cursor:pointer;color:#94a3b8;flex-shrink:0;margin-left:12px;transition:background .13s,color .13s}.m-close:hover{background:#f1f5f9;color:#1e293b}.m-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.m-body{padding:20px 24px;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;color:#475569;line-height:1.65}.m-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-footer:not(:has(*)){display:none}.m-footer-left{display:flex;align-items:center;gap:8px}.m-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.m-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px}.m-footer-center:empty{display:none}@media(max-width:480px){.m-modal{top:auto;bottom:var(--ui-kb, 0px);left:0;right:0;transform:none;width:100vw;max-width:none!important;max-height:min(85dvh,var(--ui-vvh, 100dvh));border-radius:20px 20px 0 0;animation:m-up .24s cubic-bezier(.16,1,.3,1)}.m-footer{border-radius:0;flex-wrap:wrap;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(pointer:coarse),(max-width:480px){.m-close{position:relative}.m-close:after{content:\"\";position:absolute;inset:-7px}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-scale{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.m-backdrop,.m-modal{animation:none}}\n"],
|
|
2775
|
+
styles: [".m-backdrop{position:fixed;inset:0;background:#02081773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:m-fade .18s ease}.m-modal:focus{outline:none}.m-close:disabled{opacity:.4;cursor:not-allowed}.m-focus-guard{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;outline:none}.m-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);z-index:201;width:calc(100% - 32px);box-shadow:0 4px 6px #0000000a,0 16px 32px #0000001f,0 48px 96px #0000001a;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:m-scale .22s cubic-bezier(.16,1,.3,1)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;flex-shrink:0}.m-header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.m-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3}.m-description{font-size:.8125rem;color:#64748b;margin:0;line-height:1.4}.m-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;cursor:pointer;color:#94a3b8;flex-shrink:0;margin-left:12px;transition:background .13s,color .13s}.m-close:hover{background:#f1f5f9;color:#1e293b}.m-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.m-body{padding:20px 24px;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;color:#475569;line-height:1.65}.m-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-footer:not(:has(*)){display:none}.m-footer-left{display:flex;align-items:center;gap:8px}.m-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.m-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px}.m-footer-center:empty{display:none}@media(max-width:480px){.m-modal:not(.m-kiosk){top:auto;bottom:var(--ui-kb, 0px);left:0;right:0;transform:none;width:100vw;max-width:none!important;max-height:min(85dvh,var(--ui-vvh, 100dvh));border-radius:20px 20px 0 0;animation:m-up .24s cubic-bezier(.16,1,.3,1)}.m-footer{border-radius:0;flex-wrap:wrap;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(pointer:coarse),(max-width:480px){.m-close{position:relative}.m-close:after{content:\"\";position:absolute;inset:-7px}}.m-backdrop.m-kiosk-backdrop{background:#0f172ab8;backdrop-filter:none;-webkit-backdrop-filter:none}.m-modal.m-kiosk{inset:0;transform:none;margin:auto;width:calc(100% - 32px);height:fit-content;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;animation:m-fade .18s ease;box-shadow:0 25px 60px #00000040}.m-modal.m-kiosk .m-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.m-modal.m-kiosk .m-footer{border-radius:0 0 16px 16px}@media(max-width:480px){.m-modal.m-kiosk{bottom:var(--ui-kb, 0px);max-height:min(calc(100dvh - 32px),var(--ui-vvh, 100dvh));border-radius:16px}.m-modal.m-kiosk .m-footer{flex-wrap:wrap;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-scale{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.m-backdrop,.m-modal{animation:none}}\n"],
|
|
2732
2776
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
2733
2777
|
});
|
|
2734
2778
|
}
|
|
@@ -2747,8 +2791,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2747
2791
|
host: { "(document:keydown)": "onKeydown($event)" },
|
|
2748
2792
|
template: `
|
|
2749
2793
|
@if (open()) {
|
|
2750
|
-
<div class="m-backdrop"
|
|
2751
|
-
<div class="m-modal" role="dialog" aria-modal="true" tabindex="-1" [attr.aria-labelledby]="titleId" [attr.data-testid]="dialogTestId() || null" [style.max-width]="maxWidth()">
|
|
2794
|
+
<div class="m-backdrop" [class.m-kiosk-backdrop]="kiosk()" (click)="dismiss('backdrop')"></div>
|
|
2795
|
+
<div class="m-modal" [class.m-kiosk]="kiosk()" role="dialog" aria-modal="true" tabindex="-1" [attr.aria-labelledby]="titleId" [attr.aria-busy]="busy() ? 'true' : null" [attr.data-testid]="dialogTestId() || null" [style.max-width]="maxWidth()">
|
|
2752
2796
|
<span class="m-focus-guard" data-ui-focus-guard="start" tabindex="0" (focus)="onGuardFocus('start', $event)"></span>
|
|
2753
2797
|
<div class="m-header">
|
|
2754
2798
|
<div class="m-header-text">
|
|
@@ -2757,8 +2801,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2757
2801
|
<p class="m-description">{{ description() }}</p>
|
|
2758
2802
|
}
|
|
2759
2803
|
</div>
|
|
2804
|
+
<ng-content select="[modal-header-end]" />
|
|
2760
2805
|
@if (!hideClose() && closable()) {
|
|
2761
|
-
<button class="m-close" type="button" aria-label="Close" (click)="close
|
|
2806
|
+
<button class="m-close" type="button" aria-label="Close" [disabled]="busy()" (click)="dismiss('close')">
|
|
2762
2807
|
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
|
|
2763
2808
|
<line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/>
|
|
2764
2809
|
</svg>
|
|
@@ -2777,7 +2822,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2777
2822
|
</div>
|
|
2778
2823
|
}
|
|
2779
2824
|
`,
|
|
2780
|
-
styles: [".m-backdrop{position:fixed;inset:0;background:#02081773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:m-fade .18s ease}.m-modal:focus{outline:none}.m-focus-guard{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;outline:none}.m-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);z-index:201;width:calc(100% - 32px);box-shadow:0 4px 6px #0000000a,0 16px 32px #0000001f,0 48px 96px #0000001a;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:m-scale .22s cubic-bezier(.16,1,.3,1)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;flex-shrink:0}.m-header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.m-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3}.m-description{font-size:.8125rem;color:#64748b;margin:0;line-height:1.4}.m-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;cursor:pointer;color:#94a3b8;flex-shrink:0;margin-left:12px;transition:background .13s,color .13s}.m-close:hover{background:#f1f5f9;color:#1e293b}.m-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.m-body{padding:20px 24px;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;color:#475569;line-height:1.65}.m-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-footer:not(:has(*)){display:none}.m-footer-left{display:flex;align-items:center;gap:8px}.m-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.m-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px}.m-footer-center:empty{display:none}@media(max-width:480px){.m-modal{top:auto;bottom:var(--ui-kb, 0px);left:0;right:0;transform:none;width:100vw;max-width:none!important;max-height:min(85dvh,var(--ui-vvh, 100dvh));border-radius:20px 20px 0 0;animation:m-up .24s cubic-bezier(.16,1,.3,1)}.m-footer{border-radius:0;flex-wrap:wrap;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(pointer:coarse),(max-width:480px){.m-close{position:relative}.m-close:after{content:\"\";position:absolute;inset:-7px}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-scale{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.m-backdrop,.m-modal{animation:none}}\n"]
|
|
2825
|
+
styles: [".m-backdrop{position:fixed;inset:0;background:#02081773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:m-fade .18s ease}.m-modal:focus{outline:none}.m-close:disabled{opacity:.4;cursor:not-allowed}.m-focus-guard{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;outline:none}.m-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);z-index:201;width:calc(100% - 32px);box-shadow:0 4px 6px #0000000a,0 16px 32px #0000001f,0 48px 96px #0000001a;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:m-scale .22s cubic-bezier(.16,1,.3,1)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;flex-shrink:0}.m-header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.m-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3}.m-description{font-size:.8125rem;color:#64748b;margin:0;line-height:1.4}.m-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;cursor:pointer;color:#94a3b8;flex-shrink:0;margin-left:12px;transition:background .13s,color .13s}.m-close:hover{background:#f1f5f9;color:#1e293b}.m-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.m-body{padding:20px 24px;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;color:#475569;line-height:1.65}.m-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-footer:not(:has(*)){display:none}.m-footer-left{display:flex;align-items:center;gap:8px}.m-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.m-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px}.m-footer-center:empty{display:none}@media(max-width:480px){.m-modal:not(.m-kiosk){top:auto;bottom:var(--ui-kb, 0px);left:0;right:0;transform:none;width:100vw;max-width:none!important;max-height:min(85dvh,var(--ui-vvh, 100dvh));border-radius:20px 20px 0 0;animation:m-up .24s cubic-bezier(.16,1,.3,1)}.m-footer{border-radius:0;flex-wrap:wrap;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(pointer:coarse),(max-width:480px){.m-close{position:relative}.m-close:after{content:\"\";position:absolute;inset:-7px}}.m-backdrop.m-kiosk-backdrop{background:#0f172ab8;backdrop-filter:none;-webkit-backdrop-filter:none}.m-modal.m-kiosk{inset:0;transform:none;margin:auto;width:calc(100% - 32px);height:fit-content;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;animation:m-fade .18s ease;box-shadow:0 25px 60px #00000040}.m-modal.m-kiosk .m-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.m-modal.m-kiosk .m-footer{border-radius:0 0 16px 16px}@media(max-width:480px){.m-modal.m-kiosk{bottom:var(--ui-kb, 0px);max-height:min(calc(100dvh - 32px),var(--ui-vvh, 100dvh));border-radius:16px}.m-modal.m-kiosk .m-footer{flex-wrap:wrap;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-scale{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.m-backdrop,.m-modal{animation:none}}\n"]
|
|
2781
2826
|
}]
|
|
2782
2827
|
}],
|
|
2783
2828
|
ctorParameters: () => [],
|
|
@@ -2846,6 +2891,38 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2846
2891
|
required: false
|
|
2847
2892
|
}]
|
|
2848
2893
|
}],
|
|
2894
|
+
layout: [{
|
|
2895
|
+
type: i0.Input,
|
|
2896
|
+
args: [{
|
|
2897
|
+
isSignal: true,
|
|
2898
|
+
alias: "layout",
|
|
2899
|
+
required: false
|
|
2900
|
+
}]
|
|
2901
|
+
}],
|
|
2902
|
+
closeOnBackdrop: [{
|
|
2903
|
+
type: i0.Input,
|
|
2904
|
+
args: [{
|
|
2905
|
+
isSignal: true,
|
|
2906
|
+
alias: "closeOnBackdrop",
|
|
2907
|
+
required: false
|
|
2908
|
+
}]
|
|
2909
|
+
}],
|
|
2910
|
+
closeOnEscape: [{
|
|
2911
|
+
type: i0.Input,
|
|
2912
|
+
args: [{
|
|
2913
|
+
isSignal: true,
|
|
2914
|
+
alias: "closeOnEscape",
|
|
2915
|
+
required: false
|
|
2916
|
+
}]
|
|
2917
|
+
}],
|
|
2918
|
+
busy: [{
|
|
2919
|
+
type: i0.Input,
|
|
2920
|
+
args: [{
|
|
2921
|
+
isSignal: true,
|
|
2922
|
+
alias: "busy",
|
|
2923
|
+
required: false
|
|
2924
|
+
}]
|
|
2925
|
+
}],
|
|
2849
2926
|
close: [{
|
|
2850
2927
|
type: i0.Output,
|
|
2851
2928
|
args: ["close"]
|
|
@@ -2990,6 +3067,11 @@ function formatTime(value) {
|
|
|
2990
3067
|
const h = Math.floor(t / 60), mi = t % 60;
|
|
2991
3068
|
return `${h % 12 === 0 ? 12 : h % 12}:${String(mi).padStart(2, "0")} ${h < 12 ? "AM" : "PM"}`;
|
|
2992
3069
|
}
|
|
3070
|
+
function mergeDescribedBy(own, external) {
|
|
3071
|
+
const ids = `${own ?? ""} ${external ?? ""}`.split(/\s+/).filter(Boolean);
|
|
3072
|
+
const unique = ids.filter((id, i) => ids.indexOf(id) === i);
|
|
3073
|
+
return unique.length ? unique.join(" ") : null;
|
|
3074
|
+
}
|
|
2993
3075
|
var CheckboxComponent = class CheckboxComponent {
|
|
2994
3076
|
isSelected(value) {
|
|
2995
3077
|
return this._selected().includes(value);
|
|
@@ -4969,6 +5051,7 @@ var TextInputComponent = class TextInputComponent {
|
|
|
4969
5051
|
this.inputmode = input("", ...ngDevMode ? [{ debugName: "inputmode" }] : /* istanbul ignore next */ []);
|
|
4970
5052
|
this.readonly = input(false, ...ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []);
|
|
4971
5053
|
this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
|
|
5054
|
+
this.ariaDescribedBy = input("", ...ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []);
|
|
4972
5055
|
this.error = input("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
|
|
4973
5056
|
this.phoneFormat = input(false, ...ngDevMode ? [{ debugName: "phoneFormat" }] : /* istanbul ignore next */ []);
|
|
4974
5057
|
this.min = input(void 0, ...ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []);
|
|
@@ -5005,8 +5088,7 @@ var TextInputComponent = class TextInputComponent {
|
|
|
5005
5088
|
this._eyeOffPath = iconPath("view-off");
|
|
5006
5089
|
this._showRequirements = computed(() => this.passwordRequirements() && this.type() === "password" && this._typed(), ...ngDevMode ? [{ debugName: "_showRequirements" }] : /* istanbul ignore next */ []);
|
|
5007
5090
|
this._describedBy = computed(() => {
|
|
5008
|
-
|
|
5009
|
-
return ids.length ? ids.join(" ") : null;
|
|
5091
|
+
return mergeDescribedBy([this._activeError() || this.hint() ? this._inputId + "-desc" : "", this._showRequirements() ? this._inputId + "-req" : ""].filter(Boolean).join(" "), this.ariaDescribedBy());
|
|
5010
5092
|
}, ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
|
|
5011
5093
|
this._typed = signal(false, ...ngDevMode ? [{ debugName: "_typed" }] : /* istanbul ignore next */ []);
|
|
5012
5094
|
this._defaultRules = DEFAULT_PASSWORD_RULES;
|
|
@@ -5300,6 +5382,13 @@ var TextInputComponent = class TextInputComponent {
|
|
|
5300
5382
|
isRequired: false,
|
|
5301
5383
|
transformFunction: null
|
|
5302
5384
|
},
|
|
5385
|
+
ariaDescribedBy: {
|
|
5386
|
+
classPropertyName: "ariaDescribedBy",
|
|
5387
|
+
publicName: "ariaDescribedBy",
|
|
5388
|
+
isSignal: true,
|
|
5389
|
+
isRequired: false,
|
|
5390
|
+
transformFunction: null
|
|
5391
|
+
},
|
|
5303
5392
|
error: {
|
|
5304
5393
|
classPropertyName: "error",
|
|
5305
5394
|
publicName: "error",
|
|
@@ -5687,6 +5776,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
5687
5776
|
required: false
|
|
5688
5777
|
}]
|
|
5689
5778
|
}],
|
|
5779
|
+
ariaDescribedBy: [{
|
|
5780
|
+
type: i0.Input,
|
|
5781
|
+
args: [{
|
|
5782
|
+
isSignal: true,
|
|
5783
|
+
alias: "ariaDescribedBy",
|
|
5784
|
+
required: false
|
|
5785
|
+
}]
|
|
5786
|
+
}],
|
|
5690
5787
|
error: [{
|
|
5691
5788
|
type: i0.Input,
|
|
5692
5789
|
args: [{
|
|
@@ -6174,6 +6271,10 @@ var TableToolbarComponent = class TableToolbarComponent {
|
|
|
6174
6271
|
"dialogTestId",
|
|
6175
6272
|
"hideClose",
|
|
6176
6273
|
"closable",
|
|
6274
|
+
"layout",
|
|
6275
|
+
"closeOnBackdrop",
|
|
6276
|
+
"closeOnEscape",
|
|
6277
|
+
"busy",
|
|
6177
6278
|
"returnFocusTo"
|
|
6178
6279
|
],
|
|
6179
6280
|
outputs: ["close"]
|
|
@@ -6259,6 +6360,7 @@ var TableToolbarComponent = class TableToolbarComponent {
|
|
|
6259
6360
|
"inputmode",
|
|
6260
6361
|
"readonly",
|
|
6261
6362
|
"hint",
|
|
6363
|
+
"ariaDescribedBy",
|
|
6262
6364
|
"error",
|
|
6263
6365
|
"phoneFormat",
|
|
6264
6366
|
"min",
|
|
@@ -7330,6 +7432,7 @@ var SelectComponent = class SelectComponent {
|
|
|
7330
7432
|
this.valueType = input("string", ...ngDevMode ? [{ debugName: "valueType" }] : /* istanbul ignore next */ []);
|
|
7331
7433
|
this.required = input(false, ...ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []);
|
|
7332
7434
|
this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
|
|
7435
|
+
this.ariaDescribedBy = input("", ...ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []);
|
|
7333
7436
|
this.error = input("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
|
|
7334
7437
|
this.showErrors = input(false, ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
|
|
7335
7438
|
this.size = input("default", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
@@ -7345,7 +7448,7 @@ var SelectComponent = class SelectComponent {
|
|
|
7345
7448
|
return this.options().findIndex((o) => this._norm(String(o.value)) === v);
|
|
7346
7449
|
}, ...ngDevMode ? [{ debugName: "_selectedIndex" }] : /* istanbul ignore next */ []);
|
|
7347
7450
|
this._selectedDescription = computed(() => this.options()[this._selectedIndex()]?.description ?? "", ...ngDevMode ? [{ debugName: "_selectedDescription" }] : /* istanbul ignore next */ []);
|
|
7348
|
-
this._describedBy = computed(() => [this._activeError() || this.hint() ? this._selectId + "-desc" : "", !this._activeError() && this._selectedDescription() ? this._selectId + "-opt-desc" : ""].filter(Boolean).join(" "), ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
|
|
7451
|
+
this._describedBy = computed(() => mergeDescribedBy([this._activeError() || this.hint() ? this._selectId + "-desc" : "", !this._activeError() && this._selectedDescription() ? this._selectId + "-opt-desc" : ""].filter(Boolean).join(" "), this.ariaDescribedBy()), ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
|
|
7349
7452
|
this._reveal = createFieldReveal(this.showErrors);
|
|
7350
7453
|
this._issue = computed(() => this._check(this._value()), ...ngDevMode ? [{ debugName: "_issue" }] : /* istanbul ignore next */ []);
|
|
7351
7454
|
this.invalid = computed(() => !!this.error() || !!this._issue(), ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
|
|
@@ -7494,6 +7597,13 @@ var SelectComponent = class SelectComponent {
|
|
|
7494
7597
|
isRequired: false,
|
|
7495
7598
|
transformFunction: null
|
|
7496
7599
|
},
|
|
7600
|
+
ariaDescribedBy: {
|
|
7601
|
+
classPropertyName: "ariaDescribedBy",
|
|
7602
|
+
publicName: "ariaDescribedBy",
|
|
7603
|
+
isSignal: true,
|
|
7604
|
+
isRequired: false,
|
|
7605
|
+
transformFunction: null
|
|
7606
|
+
},
|
|
7497
7607
|
error: {
|
|
7498
7608
|
classPropertyName: "error",
|
|
7499
7609
|
publicName: "error",
|
|
@@ -7715,6 +7825,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
7715
7825
|
required: false
|
|
7716
7826
|
}]
|
|
7717
7827
|
}],
|
|
7828
|
+
ariaDescribedBy: [{
|
|
7829
|
+
type: i0.Input,
|
|
7830
|
+
args: [{
|
|
7831
|
+
isSignal: true,
|
|
7832
|
+
alias: "ariaDescribedBy",
|
|
7833
|
+
required: false
|
|
7834
|
+
}]
|
|
7835
|
+
}],
|
|
7718
7836
|
error: [{
|
|
7719
7837
|
type: i0.Input,
|
|
7720
7838
|
args: [{
|
|
@@ -10110,6 +10228,10 @@ var ImportExportComponent = class ImportExportComponent {
|
|
|
10110
10228
|
"dialogTestId",
|
|
10111
10229
|
"hideClose",
|
|
10112
10230
|
"closable",
|
|
10231
|
+
"layout",
|
|
10232
|
+
"closeOnBackdrop",
|
|
10233
|
+
"closeOnEscape",
|
|
10234
|
+
"busy",
|
|
10113
10235
|
"returnFocusTo"
|
|
10114
10236
|
],
|
|
10115
10237
|
outputs: ["close"]
|
|
@@ -10156,6 +10278,7 @@ var ImportExportComponent = class ImportExportComponent {
|
|
|
10156
10278
|
"valueType",
|
|
10157
10279
|
"required",
|
|
10158
10280
|
"hint",
|
|
10281
|
+
"ariaDescribedBy",
|
|
10159
10282
|
"error",
|
|
10160
10283
|
"showErrors",
|
|
10161
10284
|
"size",
|
|
@@ -10650,6 +10773,10 @@ var ConfirmOutletComponent = class ConfirmOutletComponent {
|
|
|
10650
10773
|
"dialogTestId",
|
|
10651
10774
|
"hideClose",
|
|
10652
10775
|
"closable",
|
|
10776
|
+
"layout",
|
|
10777
|
+
"closeOnBackdrop",
|
|
10778
|
+
"closeOnEscape",
|
|
10779
|
+
"busy",
|
|
10653
10780
|
"returnFocusTo"
|
|
10654
10781
|
],
|
|
10655
10782
|
outputs: ["close"]
|
|
@@ -13827,6 +13954,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
13827
13954
|
"valueType",
|
|
13828
13955
|
"required",
|
|
13829
13956
|
"hint",
|
|
13957
|
+
"ariaDescribedBy",
|
|
13830
13958
|
"error",
|
|
13831
13959
|
"showErrors",
|
|
13832
13960
|
"size",
|
|
@@ -13872,6 +14000,10 @@ var DataTableComponent = class DataTableComponent {
|
|
|
13872
14000
|
"dialogTestId",
|
|
13873
14001
|
"hideClose",
|
|
13874
14002
|
"closable",
|
|
14003
|
+
"layout",
|
|
14004
|
+
"closeOnBackdrop",
|
|
14005
|
+
"closeOnEscape",
|
|
14006
|
+
"busy",
|
|
13875
14007
|
"returnFocusTo"
|
|
13876
14008
|
],
|
|
13877
14009
|
outputs: ["close"]
|
|
@@ -17416,6 +17548,7 @@ var BusinessHoursComponent = class BusinessHoursComponent {
|
|
|
17416
17548
|
"valueType",
|
|
17417
17549
|
"required",
|
|
17418
17550
|
"hint",
|
|
17551
|
+
"ariaDescribedBy",
|
|
17419
17552
|
"error",
|
|
17420
17553
|
"showErrors",
|
|
17421
17554
|
"size",
|
|
@@ -19112,6 +19245,7 @@ var PhoneNumberPickerComponent = class PhoneNumberPickerComponent {
|
|
|
19112
19245
|
"inputmode",
|
|
19113
19246
|
"readonly",
|
|
19114
19247
|
"hint",
|
|
19248
|
+
"ariaDescribedBy",
|
|
19115
19249
|
"error",
|
|
19116
19250
|
"phoneFormat",
|
|
19117
19251
|
"min",
|
|
@@ -20710,6 +20844,7 @@ var TextareaInputComponent = class TextareaInputComponent {
|
|
|
20710
20844
|
this.required = input(false, ...ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []);
|
|
20711
20845
|
this.readonly = input(false, ...ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []);
|
|
20712
20846
|
this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
|
|
20847
|
+
this.ariaDescribedBy = input("", ...ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []);
|
|
20713
20848
|
this.hintAsDescription = input(false, ...ngDevMode ? [{ debugName: "hintAsDescription" }] : /* istanbul ignore next */ []);
|
|
20714
20849
|
this.error = input("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
|
|
20715
20850
|
this.monospace = input(false, ...ngDevMode ? [{ debugName: "monospace" }] : /* istanbul ignore next */ []);
|
|
@@ -20722,13 +20857,14 @@ var TextareaInputComponent = class TextareaInputComponent {
|
|
|
20722
20857
|
this.disabled = computed(() => this._disabledInput() || this._cvaDisabled(), ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
20723
20858
|
this._value = signal("", ...ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []);
|
|
20724
20859
|
this._unlabelledHint = computed(() => !this.label() && !!this.hint(), ...ngDevMode ? [{ debugName: "_unlabelledHint" }] : /* istanbul ignore next */ []);
|
|
20725
|
-
this._describedBy = computed(() => {
|
|
20860
|
+
this._describedBy = computed(() => mergeDescribedBy(this._ownDescribedBy(), this.ariaDescribedBy()), ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
|
|
20861
|
+
this._ownDescribedBy = computed(() => {
|
|
20726
20862
|
if (!this.hintAsDescription()) return this._activeError() ? this._inputId + "-desc" : this._unlabelledHint() ? this._inputId + "-hint" : null;
|
|
20727
20863
|
const ids = [];
|
|
20728
20864
|
if (this.hint() && (this.label() || !this._activeError())) ids.push(this._inputId + "-hint");
|
|
20729
20865
|
if (this._activeError()) ids.push(this._inputId + "-desc");
|
|
20730
20866
|
return ids.length ? ids.join(" ") : null;
|
|
20731
|
-
}, ...ngDevMode ? [{ debugName: "
|
|
20867
|
+
}, ...ngDevMode ? [{ debugName: "_ownDescribedBy" }] : /* istanbul ignore next */ []);
|
|
20732
20868
|
this._reveal = createFieldReveal(this.showErrors);
|
|
20733
20869
|
this._issue = computed(() => this._check(this._value()), ...ngDevMode ? [{ debugName: "_issue" }] : /* istanbul ignore next */ []);
|
|
20734
20870
|
this.invalid = computed(() => !!this.error() || !!this._issue(), ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
|
|
@@ -20854,6 +20990,13 @@ var TextareaInputComponent = class TextareaInputComponent {
|
|
|
20854
20990
|
isRequired: false,
|
|
20855
20991
|
transformFunction: null
|
|
20856
20992
|
},
|
|
20993
|
+
ariaDescribedBy: {
|
|
20994
|
+
classPropertyName: "ariaDescribedBy",
|
|
20995
|
+
publicName: "ariaDescribedBy",
|
|
20996
|
+
isSignal: true,
|
|
20997
|
+
isRequired: false,
|
|
20998
|
+
transformFunction: null
|
|
20999
|
+
},
|
|
20857
21000
|
hintAsDescription: {
|
|
20858
21001
|
classPropertyName: "hintAsDescription",
|
|
20859
21002
|
publicName: "hintAsDescription",
|
|
@@ -21099,6 +21242,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21099
21242
|
required: false
|
|
21100
21243
|
}]
|
|
21101
21244
|
}],
|
|
21245
|
+
ariaDescribedBy: [{
|
|
21246
|
+
type: i0.Input,
|
|
21247
|
+
args: [{
|
|
21248
|
+
isSignal: true,
|
|
21249
|
+
alias: "ariaDescribedBy",
|
|
21250
|
+
required: false
|
|
21251
|
+
}]
|
|
21252
|
+
}],
|
|
21102
21253
|
hintAsDescription: [{
|
|
21103
21254
|
type: i0.Input,
|
|
21104
21255
|
args: [{
|
|
@@ -21377,6 +21528,7 @@ var BulkMessagePanelComponent = class BulkMessagePanelComponent {
|
|
|
21377
21528
|
"inputmode",
|
|
21378
21529
|
"readonly",
|
|
21379
21530
|
"hint",
|
|
21531
|
+
"ariaDescribedBy",
|
|
21380
21532
|
"error",
|
|
21381
21533
|
"phoneFormat",
|
|
21382
21534
|
"min",
|
|
@@ -21409,6 +21561,7 @@ var BulkMessagePanelComponent = class BulkMessagePanelComponent {
|
|
|
21409
21561
|
"required",
|
|
21410
21562
|
"readonly",
|
|
21411
21563
|
"hint",
|
|
21564
|
+
"ariaDescribedBy",
|
|
21412
21565
|
"hintAsDescription",
|
|
21413
21566
|
"error",
|
|
21414
21567
|
"monospace",
|
|
@@ -21528,67 +21681,79 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21528
21681
|
}]
|
|
21529
21682
|
}
|
|
21530
21683
|
});
|
|
21531
|
-
|
|
21532
|
-
|
|
21533
|
-
|
|
21534
|
-
|
|
21535
|
-
|
|
21536
|
-
|
|
21537
|
-
|
|
21538
|
-
|
|
21539
|
-
|
|
21540
|
-
|
|
21684
|
+
var FormRowComponent = class FormRowComponent {
|
|
21685
|
+
constructor() {
|
|
21686
|
+
this.cols = input(2, ...ngDevMode ? [{ debugName: "cols" }] : /* istanbul ignore next */ []);
|
|
21687
|
+
}
|
|
21688
|
+
static {
|
|
21689
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
21690
|
+
minVersion: "12.0.0",
|
|
21691
|
+
version: "22.2.2",
|
|
21692
|
+
ngImport: i0,
|
|
21693
|
+
type: FormRowComponent,
|
|
21694
|
+
deps: [],
|
|
21695
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
21696
|
+
});
|
|
21697
|
+
}
|
|
21698
|
+
static {
|
|
21699
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
21700
|
+
minVersion: "17.1.0",
|
|
21701
|
+
version: "22.2.2",
|
|
21702
|
+
type: FormRowComponent,
|
|
21703
|
+
isStandalone: true,
|
|
21704
|
+
selector: "ui-form-row",
|
|
21705
|
+
inputs: { cols: {
|
|
21706
|
+
classPropertyName: "cols",
|
|
21707
|
+
publicName: "cols",
|
|
21708
|
+
isSignal: true,
|
|
21709
|
+
isRequired: false,
|
|
21710
|
+
transformFunction: null
|
|
21711
|
+
} },
|
|
21712
|
+
ngImport: i0,
|
|
21713
|
+
template: `<div class="fr-row" [class.fr-row--4]="cols() === 4" [style.--fr-cols]="cols()"><ng-content /></div>`,
|
|
21714
|
+
isInline: true,
|
|
21715
|
+
styles: ["ui-form-row{display:block}.fr-row{display:grid;grid-template-columns:repeat(var(--fr-cols, 2),1fr);gap:12px}.fr-row>.ui-span-2{grid-column:span 2}.fr-row>.ui-span-3{grid-column:span 3}.fr-row>.ui-span-all{grid-column:1 / -1}@media(max-width:768px){.fr-row--4{grid-template-columns:repeat(2,1fr)}.fr-row--4>.ui-span-3{grid-column:1 / -1}}@media(max-width:480px){.fr-row{grid-template-columns:1fr}.fr-row>.ui-span-2,.fr-row>.ui-span-3,.fr-row>.ui-span-all{grid-column:1 / -1}}\n"],
|
|
21716
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
21717
|
+
encapsulation: i0.ViewEncapsulation.None
|
|
21718
|
+
});
|
|
21719
|
+
}
|
|
21541
21720
|
};
|
|
21542
|
-
|
|
21721
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
21722
|
+
minVersion: "12.0.0",
|
|
21723
|
+
version: "22.2.2",
|
|
21724
|
+
ngImport: i0,
|
|
21725
|
+
type: FormRowComponent,
|
|
21726
|
+
decorators: [{
|
|
21727
|
+
type: Component,
|
|
21728
|
+
args: [{
|
|
21729
|
+
selector: "ui-form-row",
|
|
21730
|
+
standalone: true,
|
|
21731
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21732
|
+
encapsulation: ViewEncapsulation.None,
|
|
21733
|
+
template: `<div class="fr-row" [class.fr-row--4]="cols() === 4" [style.--fr-cols]="cols()"><ng-content /></div>`,
|
|
21734
|
+
styles: ["ui-form-row{display:block}.fr-row{display:grid;grid-template-columns:repeat(var(--fr-cols, 2),1fr);gap:12px}.fr-row>.ui-span-2{grid-column:span 2}.fr-row>.ui-span-3{grid-column:span 3}.fr-row>.ui-span-all{grid-column:1 / -1}@media(max-width:768px){.fr-row--4{grid-template-columns:repeat(2,1fr)}.fr-row--4>.ui-span-3{grid-column:1 / -1}}@media(max-width:480px){.fr-row{grid-template-columns:1fr}.fr-row>.ui-span-2,.fr-row>.ui-span-3,.fr-row>.ui-span-all{grid-column:1 / -1}}\n"]
|
|
21735
|
+
}]
|
|
21736
|
+
}],
|
|
21737
|
+
propDecorators: { cols: [{
|
|
21738
|
+
type: i0.Input,
|
|
21739
|
+
args: [{
|
|
21740
|
+
isSignal: true,
|
|
21741
|
+
alias: "cols",
|
|
21742
|
+
required: false
|
|
21743
|
+
}]
|
|
21744
|
+
}] }
|
|
21745
|
+
});
|
|
21746
|
+
var FormSectionComponent = class FormSectionComponent {
|
|
21543
21747
|
constructor() {
|
|
21544
|
-
this.
|
|
21545
|
-
this.
|
|
21546
|
-
this.tone = input("default", ...ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []);
|
|
21547
|
-
this.color = input("", ...ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []);
|
|
21548
|
-
this.strong = input(null, ...ngDevMode ? [{ debugName: "strong" }] : /* istanbul ignore next */ []);
|
|
21549
|
-
this.segments = computed(() => {
|
|
21550
|
-
const text = this.text() ?? "";
|
|
21551
|
-
const raw = this.strong();
|
|
21552
|
-
const needles = (Array.isArray(raw) ? raw : raw ? [raw] : []).filter((n) => typeof n === "string" && n !== "").sort((a, b) => b.length - a.length);
|
|
21553
|
-
if (!text || !needles.length) return [];
|
|
21554
|
-
const out = [];
|
|
21555
|
-
let i = 0, plain = "";
|
|
21556
|
-
while (i < text.length) {
|
|
21557
|
-
const hit = needles.find((n) => text.startsWith(n, i));
|
|
21558
|
-
if (hit) {
|
|
21559
|
-
if (plain) {
|
|
21560
|
-
out.push({
|
|
21561
|
-
text: plain,
|
|
21562
|
-
strong: false
|
|
21563
|
-
});
|
|
21564
|
-
plain = "";
|
|
21565
|
-
}
|
|
21566
|
-
out.push({
|
|
21567
|
-
text: hit,
|
|
21568
|
-
strong: true
|
|
21569
|
-
});
|
|
21570
|
-
i += hit.length;
|
|
21571
|
-
} else {
|
|
21572
|
-
plain += text[i];
|
|
21573
|
-
i++;
|
|
21574
|
-
}
|
|
21575
|
-
}
|
|
21576
|
-
if (plain) out.push({
|
|
21577
|
-
text: plain,
|
|
21578
|
-
strong: false
|
|
21579
|
-
});
|
|
21580
|
-
return out.some((s) => s.strong) ? out : [];
|
|
21581
|
-
}, ...ngDevMode ? [{ debugName: "segments" }] : /* istanbul ignore next */ []);
|
|
21582
|
-
this.weight = input("normal", ...ngDevMode ? [{ debugName: "weight" }] : /* istanbul ignore next */ []);
|
|
21583
|
-
this.fontWeight = computed(() => WEIGHT[this.weight()] ?? null, ...ngDevMode ? [{ debugName: "fontWeight" }] : /* istanbul ignore next */ []);
|
|
21584
|
-
this.fontSize = computed(() => SIZE_REM[this.size()] ?? SIZE_REM.md, ...ngDevMode ? [{ debugName: "fontSize" }] : /* istanbul ignore next */ []);
|
|
21748
|
+
this.label = input("", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
21749
|
+
this.divider = input(false, ...ngDevMode ? [{ debugName: "divider" }] : /* istanbul ignore next */ []);
|
|
21585
21750
|
}
|
|
21586
21751
|
static {
|
|
21587
21752
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
21588
21753
|
minVersion: "12.0.0",
|
|
21589
21754
|
version: "22.2.2",
|
|
21590
21755
|
ngImport: i0,
|
|
21591
|
-
type:
|
|
21756
|
+
type: FormSectionComponent,
|
|
21592
21757
|
deps: [],
|
|
21593
21758
|
target: i0.ɵɵFactoryTarget.Component
|
|
21594
21759
|
});
|
|
@@ -21597,57 +21762,33 @@ var TextComponent = class TextComponent {
|
|
|
21597
21762
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
21598
21763
|
minVersion: "17.0.0",
|
|
21599
21764
|
version: "22.2.2",
|
|
21600
|
-
type:
|
|
21765
|
+
type: FormSectionComponent,
|
|
21601
21766
|
isStandalone: true,
|
|
21602
|
-
selector: "ui-
|
|
21767
|
+
selector: "ui-form-section",
|
|
21603
21768
|
inputs: {
|
|
21604
|
-
|
|
21605
|
-
classPropertyName: "
|
|
21606
|
-
publicName: "
|
|
21607
|
-
isSignal: true,
|
|
21608
|
-
isRequired: false,
|
|
21609
|
-
transformFunction: null
|
|
21610
|
-
},
|
|
21611
|
-
size: {
|
|
21612
|
-
classPropertyName: "size",
|
|
21613
|
-
publicName: "size",
|
|
21614
|
-
isSignal: true,
|
|
21615
|
-
isRequired: false,
|
|
21616
|
-
transformFunction: null
|
|
21617
|
-
},
|
|
21618
|
-
tone: {
|
|
21619
|
-
classPropertyName: "tone",
|
|
21620
|
-
publicName: "tone",
|
|
21621
|
-
isSignal: true,
|
|
21622
|
-
isRequired: false,
|
|
21623
|
-
transformFunction: null
|
|
21624
|
-
},
|
|
21625
|
-
color: {
|
|
21626
|
-
classPropertyName: "color",
|
|
21627
|
-
publicName: "color",
|
|
21628
|
-
isSignal: true,
|
|
21629
|
-
isRequired: false,
|
|
21630
|
-
transformFunction: null
|
|
21631
|
-
},
|
|
21632
|
-
strong: {
|
|
21633
|
-
classPropertyName: "strong",
|
|
21634
|
-
publicName: "strong",
|
|
21769
|
+
label: {
|
|
21770
|
+
classPropertyName: "label",
|
|
21771
|
+
publicName: "label",
|
|
21635
21772
|
isSignal: true,
|
|
21636
21773
|
isRequired: false,
|
|
21637
21774
|
transformFunction: null
|
|
21638
21775
|
},
|
|
21639
|
-
|
|
21640
|
-
classPropertyName: "
|
|
21641
|
-
publicName: "
|
|
21776
|
+
divider: {
|
|
21777
|
+
classPropertyName: "divider",
|
|
21778
|
+
publicName: "divider",
|
|
21642
21779
|
isSignal: true,
|
|
21643
21780
|
isRequired: false,
|
|
21644
21781
|
transformFunction: null
|
|
21645
21782
|
}
|
|
21646
21783
|
},
|
|
21647
21784
|
ngImport: i0,
|
|
21648
|
-
template:
|
|
21785
|
+
template: `
|
|
21786
|
+
@if (divider()) { <div class="fs-divider"></div> }
|
|
21787
|
+
@if (label()) { <p class="fs-label">{{ label() }}</p> }
|
|
21788
|
+
<div class="fs-fields"><ng-content /></div>
|
|
21789
|
+
`,
|
|
21649
21790
|
isInline: true,
|
|
21650
|
-
styles: [":host{display:block
|
|
21791
|
+
styles: [":host{display:block}.fs-divider{height:1px;background:#f1f5f9;margin:8px -24px 16px}.fs-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0 0 12px}.fs-fields{display:flex;flex-direction:column;gap:14px}\n"],
|
|
21651
21792
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
21652
21793
|
});
|
|
21653
21794
|
}
|
|
@@ -21656,266 +21797,951 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21656
21797
|
minVersion: "12.0.0",
|
|
21657
21798
|
version: "22.2.2",
|
|
21658
21799
|
ngImport: i0,
|
|
21659
|
-
type:
|
|
21800
|
+
type: FormSectionComponent,
|
|
21660
21801
|
decorators: [{
|
|
21661
21802
|
type: Component,
|
|
21662
21803
|
args: [{
|
|
21663
|
-
selector: "ui-
|
|
21804
|
+
selector: "ui-form-section",
|
|
21664
21805
|
standalone: true,
|
|
21665
21806
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21666
|
-
template:
|
|
21667
|
-
|
|
21807
|
+
template: `
|
|
21808
|
+
@if (divider()) { <div class="fs-divider"></div> }
|
|
21809
|
+
@if (label()) { <p class="fs-label">{{ label() }}</p> }
|
|
21810
|
+
<div class="fs-fields"><ng-content /></div>
|
|
21811
|
+
`,
|
|
21812
|
+
styles: [":host{display:block}.fs-divider{height:1px;background:#f1f5f9;margin:8px -24px 16px}.fs-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0 0 12px}.fs-fields{display:flex;flex-direction:column;gap:14px}\n"]
|
|
21668
21813
|
}]
|
|
21669
21814
|
}],
|
|
21670
21815
|
propDecorators: {
|
|
21671
|
-
|
|
21672
|
-
type: i0.Input,
|
|
21673
|
-
args: [{
|
|
21674
|
-
isSignal: true,
|
|
21675
|
-
alias: "text",
|
|
21676
|
-
required: false
|
|
21677
|
-
}]
|
|
21678
|
-
}],
|
|
21679
|
-
size: [{
|
|
21680
|
-
type: i0.Input,
|
|
21681
|
-
args: [{
|
|
21682
|
-
isSignal: true,
|
|
21683
|
-
alias: "size",
|
|
21684
|
-
required: false
|
|
21685
|
-
}]
|
|
21686
|
-
}],
|
|
21687
|
-
tone: [{
|
|
21688
|
-
type: i0.Input,
|
|
21689
|
-
args: [{
|
|
21690
|
-
isSignal: true,
|
|
21691
|
-
alias: "tone",
|
|
21692
|
-
required: false
|
|
21693
|
-
}]
|
|
21694
|
-
}],
|
|
21695
|
-
color: [{
|
|
21696
|
-
type: i0.Input,
|
|
21697
|
-
args: [{
|
|
21698
|
-
isSignal: true,
|
|
21699
|
-
alias: "color",
|
|
21700
|
-
required: false
|
|
21701
|
-
}]
|
|
21702
|
-
}],
|
|
21703
|
-
strong: [{
|
|
21816
|
+
label: [{
|
|
21704
21817
|
type: i0.Input,
|
|
21705
21818
|
args: [{
|
|
21706
21819
|
isSignal: true,
|
|
21707
|
-
alias: "
|
|
21820
|
+
alias: "label",
|
|
21708
21821
|
required: false
|
|
21709
21822
|
}]
|
|
21710
21823
|
}],
|
|
21711
|
-
|
|
21824
|
+
divider: [{
|
|
21712
21825
|
type: i0.Input,
|
|
21713
21826
|
args: [{
|
|
21714
21827
|
isSignal: true,
|
|
21715
|
-
alias: "
|
|
21828
|
+
alias: "divider",
|
|
21716
21829
|
required: false
|
|
21717
21830
|
}]
|
|
21718
21831
|
}]
|
|
21719
21832
|
}
|
|
21720
21833
|
});
|
|
21721
|
-
|
|
21834
|
+
const DEFAULT_BANK_MANDATE_TEXT = "By checking this box, I authorize the above business to initiate ACH debit entries to my bank account for agreed-upon payments. I understand I may revoke this authorization at any time by contacting the business.";
|
|
21835
|
+
const DEFAULT_BANK_ACCOUNT_TYPE_OPTIONS = [{
|
|
21836
|
+
value: "checking",
|
|
21837
|
+
label: "Checking"
|
|
21838
|
+
}, {
|
|
21839
|
+
value: "savings",
|
|
21840
|
+
label: "Savings"
|
|
21841
|
+
}];
|
|
21842
|
+
const DEFAULT_BANK_HOLDER_TYPE_OPTIONS = [{
|
|
21843
|
+
value: "individual",
|
|
21844
|
+
label: "Individual"
|
|
21845
|
+
}, {
|
|
21846
|
+
value: "company",
|
|
21847
|
+
label: "Business"
|
|
21848
|
+
}];
|
|
21849
|
+
const digitsOnly$1 = (max) => (raw) => raw.replace(/\D/g, "").slice(0, max);
|
|
21850
|
+
var BankAccountFormComponent = class BankAccountFormComponent {
|
|
21722
21851
|
constructor() {
|
|
21723
|
-
this.
|
|
21724
|
-
this.
|
|
21725
|
-
this.
|
|
21726
|
-
this.
|
|
21727
|
-
this.
|
|
21728
|
-
this.
|
|
21729
|
-
this.
|
|
21730
|
-
this.
|
|
21731
|
-
this.
|
|
21732
|
-
this.
|
|
21733
|
-
this.
|
|
21734
|
-
this.
|
|
21735
|
-
this.
|
|
21852
|
+
this.showErrors = input(false, ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
|
|
21853
|
+
this.disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
21854
|
+
this.busy = input(false, ...ngDevMode ? [{ debugName: "busy" }] : /* istanbul ignore next */ []);
|
|
21855
|
+
this.mandateText = input(DEFAULT_BANK_MANDATE_TEXT, ...ngDevMode ? [{ debugName: "mandateText" }] : /* istanbul ignore next */ []);
|
|
21856
|
+
this.accountTypeOptions = input(DEFAULT_BANK_ACCOUNT_TYPE_OPTIONS, ...ngDevMode ? [{ debugName: "accountTypeOptions" }] : /* istanbul ignore next */ []);
|
|
21857
|
+
this.holderTypeOptions = input(DEFAULT_BANK_HOLDER_TYPE_OPTIONS, ...ngDevMode ? [{ debugName: "holderTypeOptions" }] : /* istanbul ignore next */ []);
|
|
21858
|
+
this.accountHolderNameDefault = input("", ...ngDevMode ? [{ debugName: "accountHolderNameDefault" }] : /* istanbul ignore next */ []);
|
|
21859
|
+
this.testIdPrefix = input("bank", ...ngDevMode ? [{ debugName: "testIdPrefix" }] : /* istanbul ignore next */ []);
|
|
21860
|
+
this.submitted = output();
|
|
21861
|
+
this.validChange = output();
|
|
21862
|
+
this.routingNumber = signal("", ...ngDevMode ? [{ debugName: "routingNumber" }] : /* istanbul ignore next */ []);
|
|
21863
|
+
this.accountNumber = signal("", ...ngDevMode ? [{ debugName: "accountNumber" }] : /* istanbul ignore next */ []);
|
|
21864
|
+
this.confirmAccount = signal("", ...ngDevMode ? [{ debugName: "confirmAccount" }] : /* istanbul ignore next */ []);
|
|
21865
|
+
this.accountHolderName = signal("", ...ngDevMode ? [{ debugName: "accountHolderName" }] : /* istanbul ignore next */ []);
|
|
21866
|
+
this.accountType = signal("checking", ...ngDevMode ? [{ debugName: "accountType" }] : /* istanbul ignore next */ []);
|
|
21867
|
+
this.holderType = signal("individual", ...ngDevMode ? [{ debugName: "holderType" }] : /* istanbul ignore next */ []);
|
|
21868
|
+
this.mandateAccepted = signal(false, ...ngDevMode ? [{ debugName: "mandateAccepted" }] : /* istanbul ignore next */ []);
|
|
21869
|
+
this._touched = signal(false, ...ngDevMode ? [{ debugName: "_touched" }] : /* istanbul ignore next */ []);
|
|
21870
|
+
this.routingFormatter = digitsOnly$1(9);
|
|
21871
|
+
this.accountFormatter = digitsOnly$1(17);
|
|
21872
|
+
this.locked = computed(() => this.disabled() || this.busy(), ...ngDevMode ? [{ debugName: "locked" }] : /* istanbul ignore next */ []);
|
|
21873
|
+
this.reveal = computed(() => this.showErrors() || this._touched(), ...ngDevMode ? [{ debugName: "reveal" }] : /* istanbul ignore next */ []);
|
|
21874
|
+
this.routingError = computed(() => {
|
|
21875
|
+
const v = this.routingNumber().trim();
|
|
21876
|
+
return v && v.length !== 9 ? "Routing number must be 9 digits." : "";
|
|
21877
|
+
}, ...ngDevMode ? [{ debugName: "routingError" }] : /* istanbul ignore next */ []);
|
|
21878
|
+
this.accountError = computed(() => {
|
|
21879
|
+
const v = this.accountNumber().trim();
|
|
21880
|
+
return v && v.length < 4 ? "Account number must be at least 4 digits." : "";
|
|
21881
|
+
}, ...ngDevMode ? [{ debugName: "accountError" }] : /* istanbul ignore next */ []);
|
|
21882
|
+
this.confirmError = computed(() => {
|
|
21883
|
+
const v = this.confirmAccount().trim();
|
|
21884
|
+
return v && v !== this.accountNumber().trim() ? "Account numbers do not match." : "";
|
|
21885
|
+
}, ...ngDevMode ? [{ debugName: "confirmError" }] : /* istanbul ignore next */ []);
|
|
21886
|
+
this.errorMessage = computed(() => {
|
|
21887
|
+
if (!this.accountHolderName().trim()) return "Account holder name is required.";
|
|
21888
|
+
if (!this.routingNumber().trim()) return "Routing number is required.";
|
|
21889
|
+
if (this.routingError()) return this.routingError();
|
|
21890
|
+
if (!this.accountNumber().trim()) return "Account number is required.";
|
|
21891
|
+
if (this.accountError()) return this.accountError();
|
|
21892
|
+
if (!this.confirmAccount().trim()) return "Confirm account number is required.";
|
|
21893
|
+
if (this.confirmError()) return this.confirmError();
|
|
21894
|
+
if (!this.accountTypeOptions().some((o) => String(o.value) === this.accountType())) return "Select a valid account type.";
|
|
21895
|
+
if (!this.holderTypeOptions().some((o) => String(o.value) === this.holderType())) return "Select a valid holder type.";
|
|
21896
|
+
if (!this.mandateAccepted()) return "You must authorize ACH debits to continue.";
|
|
21897
|
+
return "";
|
|
21898
|
+
}, ...ngDevMode ? [{ debugName: "errorMessage" }] : /* istanbul ignore next */ []);
|
|
21899
|
+
this.invalid = computed(() => this.errorMessage() !== "", ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
|
|
21900
|
+
this.valid = computed(() => !this.invalid(), ...ngDevMode ? [{ debugName: "valid" }] : /* istanbul ignore next */ []);
|
|
21901
|
+
this._fields = viewChildren(UiFieldValidity, ...ngDevMode ? [{ debugName: "_fields" }] : /* istanbul ignore next */ []);
|
|
21736
21902
|
effect(() => {
|
|
21737
|
-
this.
|
|
21738
|
-
this.
|
|
21739
|
-
|
|
21903
|
+
const d = this.accountHolderNameDefault();
|
|
21904
|
+
untracked(() => this.accountHolderName.set(d));
|
|
21905
|
+
});
|
|
21906
|
+
effect(() => {
|
|
21907
|
+
const v = this.valid();
|
|
21908
|
+
untracked(() => this.validChange.emit(v));
|
|
21740
21909
|
});
|
|
21741
21910
|
}
|
|
21742
|
-
|
|
21743
|
-
this.
|
|
21911
|
+
id(name) {
|
|
21912
|
+
return `${this.testIdPrefix()}-${name}`;
|
|
21744
21913
|
}
|
|
21745
|
-
|
|
21746
|
-
|
|
21914
|
+
onEnter(event) {
|
|
21915
|
+
const t = event.target;
|
|
21916
|
+
if (t instanceof HTMLInputElement && t.type === "text") {
|
|
21917
|
+
event.preventDefault();
|
|
21918
|
+
this.submit();
|
|
21919
|
+
}
|
|
21920
|
+
}
|
|
21921
|
+
submit() {
|
|
21922
|
+
if (this.locked()) return;
|
|
21923
|
+
if (this.invalid() || this._fields().some((f) => f.invalid())) {
|
|
21924
|
+
this._touched.set(true);
|
|
21925
|
+
return;
|
|
21926
|
+
}
|
|
21927
|
+
this.submitted.emit({
|
|
21928
|
+
routingNumber: this.routingNumber().trim(),
|
|
21929
|
+
accountNumber: this.accountNumber().trim(),
|
|
21930
|
+
accountType: this.accountType(),
|
|
21931
|
+
accountHolderName: this.accountHolderName().trim(),
|
|
21932
|
+
holderType: this.holderType(),
|
|
21933
|
+
mandateAccepted: true
|
|
21934
|
+
});
|
|
21935
|
+
}
|
|
21936
|
+
reset() {
|
|
21937
|
+
this.routingNumber.set("");
|
|
21938
|
+
this.accountNumber.set("");
|
|
21939
|
+
this.confirmAccount.set("");
|
|
21940
|
+
this.accountHolderName.set(this.accountHolderNameDefault());
|
|
21941
|
+
this.accountType.set("checking");
|
|
21942
|
+
this.holderType.set("individual");
|
|
21943
|
+
this.mandateAccepted.set(false);
|
|
21944
|
+
this._touched.set(false);
|
|
21747
21945
|
}
|
|
21748
21946
|
static {
|
|
21749
21947
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
21750
21948
|
minVersion: "12.0.0",
|
|
21751
21949
|
version: "22.2.2",
|
|
21752
21950
|
ngImport: i0,
|
|
21753
|
-
type:
|
|
21951
|
+
type: BankAccountFormComponent,
|
|
21754
21952
|
deps: [],
|
|
21755
21953
|
target: i0.ɵɵFactoryTarget.Component
|
|
21756
21954
|
});
|
|
21757
21955
|
}
|
|
21758
21956
|
static {
|
|
21759
21957
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
21760
|
-
minVersion: "17.
|
|
21958
|
+
minVersion: "17.2.0",
|
|
21761
21959
|
version: "22.2.2",
|
|
21762
|
-
type:
|
|
21960
|
+
type: BankAccountFormComponent,
|
|
21763
21961
|
isStandalone: true,
|
|
21764
|
-
selector: "ui-
|
|
21962
|
+
selector: "ui-bank-account-form",
|
|
21765
21963
|
inputs: {
|
|
21766
|
-
|
|
21767
|
-
classPropertyName: "
|
|
21768
|
-
publicName: "
|
|
21769
|
-
isSignal: true,
|
|
21770
|
-
isRequired: false,
|
|
21771
|
-
transformFunction: null
|
|
21772
|
-
},
|
|
21773
|
-
alt: {
|
|
21774
|
-
classPropertyName: "alt",
|
|
21775
|
-
publicName: "alt",
|
|
21964
|
+
showErrors: {
|
|
21965
|
+
classPropertyName: "showErrors",
|
|
21966
|
+
publicName: "showErrors",
|
|
21776
21967
|
isSignal: true,
|
|
21777
21968
|
isRequired: false,
|
|
21778
21969
|
transformFunction: null
|
|
21779
21970
|
},
|
|
21780
|
-
|
|
21781
|
-
classPropertyName: "
|
|
21782
|
-
publicName: "
|
|
21971
|
+
disabled: {
|
|
21972
|
+
classPropertyName: "disabled",
|
|
21973
|
+
publicName: "disabled",
|
|
21783
21974
|
isSignal: true,
|
|
21784
21975
|
isRequired: false,
|
|
21785
21976
|
transformFunction: null
|
|
21786
21977
|
},
|
|
21787
|
-
|
|
21788
|
-
classPropertyName: "
|
|
21789
|
-
publicName: "
|
|
21978
|
+
busy: {
|
|
21979
|
+
classPropertyName: "busy",
|
|
21980
|
+
publicName: "busy",
|
|
21790
21981
|
isSignal: true,
|
|
21791
21982
|
isRequired: false,
|
|
21792
21983
|
transformFunction: null
|
|
21793
21984
|
},
|
|
21794
|
-
|
|
21795
|
-
classPropertyName: "
|
|
21796
|
-
publicName: "
|
|
21985
|
+
mandateText: {
|
|
21986
|
+
classPropertyName: "mandateText",
|
|
21987
|
+
publicName: "mandateText",
|
|
21797
21988
|
isSignal: true,
|
|
21798
21989
|
isRequired: false,
|
|
21799
21990
|
transformFunction: null
|
|
21800
21991
|
},
|
|
21801
|
-
|
|
21802
|
-
classPropertyName: "
|
|
21803
|
-
publicName: "
|
|
21992
|
+
accountTypeOptions: {
|
|
21993
|
+
classPropertyName: "accountTypeOptions",
|
|
21994
|
+
publicName: "accountTypeOptions",
|
|
21804
21995
|
isSignal: true,
|
|
21805
21996
|
isRequired: false,
|
|
21806
21997
|
transformFunction: null
|
|
21807
21998
|
},
|
|
21808
|
-
|
|
21809
|
-
classPropertyName: "
|
|
21810
|
-
publicName: "
|
|
21999
|
+
holderTypeOptions: {
|
|
22000
|
+
classPropertyName: "holderTypeOptions",
|
|
22001
|
+
publicName: "holderTypeOptions",
|
|
21811
22002
|
isSignal: true,
|
|
21812
22003
|
isRequired: false,
|
|
21813
22004
|
transformFunction: null
|
|
21814
22005
|
},
|
|
21815
|
-
|
|
21816
|
-
classPropertyName: "
|
|
21817
|
-
publicName: "
|
|
22006
|
+
accountHolderNameDefault: {
|
|
22007
|
+
classPropertyName: "accountHolderNameDefault",
|
|
22008
|
+
publicName: "accountHolderNameDefault",
|
|
21818
22009
|
isSignal: true,
|
|
21819
22010
|
isRequired: false,
|
|
21820
22011
|
transformFunction: null
|
|
21821
22012
|
},
|
|
21822
|
-
|
|
21823
|
-
classPropertyName: "
|
|
21824
|
-
publicName: "
|
|
22013
|
+
testIdPrefix: {
|
|
22014
|
+
classPropertyName: "testIdPrefix",
|
|
22015
|
+
publicName: "testIdPrefix",
|
|
21825
22016
|
isSignal: true,
|
|
21826
22017
|
isRequired: false,
|
|
21827
22018
|
transformFunction: null
|
|
21828
22019
|
}
|
|
21829
22020
|
},
|
|
22021
|
+
outputs: {
|
|
22022
|
+
submitted: "submitted",
|
|
22023
|
+
validChange: "validChange"
|
|
22024
|
+
},
|
|
22025
|
+
host: { properties: { "attr.aria-busy": "busy() ? \"true\" : null" } },
|
|
22026
|
+
providers: [{
|
|
22027
|
+
provide: UiFieldValidity,
|
|
22028
|
+
useExisting: forwardRef(() => BankAccountFormComponent)
|
|
22029
|
+
}],
|
|
22030
|
+
viewQueries: [{
|
|
22031
|
+
propertyName: "_fields",
|
|
22032
|
+
predicate: UiFieldValidity,
|
|
22033
|
+
descendants: true,
|
|
22034
|
+
isSignal: true
|
|
22035
|
+
}],
|
|
21830
22036
|
ngImport: i0,
|
|
21831
22037
|
template: `
|
|
21832
|
-
|
|
21833
|
-
<
|
|
21834
|
-
|
|
21835
|
-
|
|
21836
|
-
|
|
21837
|
-
|
|
21838
|
-
|
|
21839
|
-
|
|
21840
|
-
|
|
21841
|
-
|
|
21842
|
-
|
|
22038
|
+
<form novalidate (submit)="$event.preventDefault(); submit()" (keydown.enter)="onEnter($event)">
|
|
22039
|
+
<ui-form-section>
|
|
22040
|
+
<ui-text-input label="Account holder name" [inputTestId]="id('holder-name')" autocomplete="name" [required]="true" [maxlength]="100"
|
|
22041
|
+
[showErrors]="reveal()" [disabled]="locked()" [ngModel]="accountHolderName()" (ngModelChange)="accountHolderName.set($event ?? '')" [ngModelOptions]="{ standalone: true }" />
|
|
22042
|
+
<ui-text-input label="Routing number" [inputTestId]="id('routing')" inputmode="numeric" placeholder="9-digit routing number" [required]="true"
|
|
22043
|
+
[maxlength]="9" [formatter]="routingFormatter" [error]="routingError()" [showErrors]="reveal()" [disabled]="locked()"
|
|
22044
|
+
[ngModel]="routingNumber()" (ngModelChange)="routingNumber.set($event ?? '')" [ngModelOptions]="{ standalone: true }" />
|
|
22045
|
+
<ui-text-input label="Account number" [inputTestId]="id('account')" inputmode="numeric" placeholder="Account number" [required]="true"
|
|
22046
|
+
[maxlength]="17" [formatter]="accountFormatter" [error]="accountError()" [showErrors]="reveal()" [disabled]="locked()"
|
|
22047
|
+
[ngModel]="accountNumber()" (ngModelChange)="accountNumber.set($event ?? '')" [ngModelOptions]="{ standalone: true }" />
|
|
22048
|
+
<ui-text-input label="Confirm account number" [inputTestId]="id('confirm')" inputmode="numeric" placeholder="Re-enter account number" [required]="true"
|
|
22049
|
+
[maxlength]="17" [formatter]="accountFormatter" [error]="confirmError()" [showErrors]="reveal()" [disabled]="locked()"
|
|
22050
|
+
[ngModel]="confirmAccount()" (ngModelChange)="confirmAccount.set($event ?? '')" [ngModelOptions]="{ standalone: true }" />
|
|
22051
|
+
<ui-form-row>
|
|
22052
|
+
<ui-select label="Account type" [attr.data-testid]="id('account-type')" [options]="accountTypeOptions()" [required]="true" [showErrors]="reveal()"
|
|
22053
|
+
[disabled]="locked()" [ngModel]="accountType()" (ngModelChange)="accountType.set($event)" [ngModelOptions]="{ standalone: true }" />
|
|
22054
|
+
<ui-select label="Holder type" [attr.data-testid]="id('holder-type')" [options]="holderTypeOptions()" [required]="true" [showErrors]="reveal()"
|
|
22055
|
+
[disabled]="locked()" [ngModel]="holderType()" (ngModelChange)="holderType.set($event)" [ngModelOptions]="{ standalone: true }" />
|
|
22056
|
+
</ui-form-row>
|
|
22057
|
+
<ui-checkbox [testId]="id('mandate')" [label]="mandateText()" [required]="true" requiredMessage="You must authorize ACH debits to continue."
|
|
22058
|
+
[showErrors]="reveal()" [disabled]="locked()" [ngModel]="mandateAccepted()" (ngModelChange)="mandateAccepted.set(!!$event)" [ngModelOptions]="{ standalone: true }" />
|
|
22059
|
+
</ui-form-section>
|
|
22060
|
+
</form>
|
|
21843
22061
|
`,
|
|
21844
22062
|
isInline: true,
|
|
21845
|
-
styles: [":host{display:
|
|
21846
|
-
|
|
21847
|
-
|
|
21848
|
-
|
|
21849
|
-
|
|
21850
|
-
|
|
21851
|
-
|
|
21852
|
-
|
|
21853
|
-
|
|
21854
|
-
|
|
21855
|
-
|
|
21856
|
-
|
|
21857
|
-
|
|
21858
|
-
|
|
21859
|
-
|
|
21860
|
-
|
|
21861
|
-
|
|
21862
|
-
|
|
21863
|
-
|
|
21864
|
-
|
|
21865
|
-
|
|
21866
|
-
|
|
21867
|
-
|
|
21868
|
-
|
|
21869
|
-
|
|
21870
|
-
|
|
21871
|
-
|
|
21872
|
-
|
|
21873
|
-
|
|
21874
|
-
|
|
21875
|
-
|
|
21876
|
-
|
|
21877
|
-
|
|
21878
|
-
|
|
21879
|
-
|
|
21880
|
-
|
|
21881
|
-
|
|
21882
|
-
|
|
21883
|
-
|
|
21884
|
-
|
|
21885
|
-
|
|
21886
|
-
|
|
21887
|
-
|
|
21888
|
-
|
|
21889
|
-
|
|
21890
|
-
|
|
21891
|
-
|
|
21892
|
-
|
|
21893
|
-
|
|
21894
|
-
|
|
21895
|
-
|
|
21896
|
-
|
|
21897
|
-
|
|
21898
|
-
|
|
21899
|
-
|
|
21900
|
-
|
|
21901
|
-
|
|
21902
|
-
|
|
21903
|
-
|
|
21904
|
-
|
|
21905
|
-
|
|
21906
|
-
|
|
21907
|
-
|
|
21908
|
-
|
|
21909
|
-
|
|
21910
|
-
|
|
21911
|
-
|
|
21912
|
-
|
|
21913
|
-
|
|
21914
|
-
|
|
21915
|
-
|
|
21916
|
-
|
|
21917
|
-
|
|
21918
|
-
|
|
22063
|
+
styles: [":host{display:block}\n"],
|
|
22064
|
+
dependencies: [
|
|
22065
|
+
{
|
|
22066
|
+
kind: "ngmodule",
|
|
22067
|
+
type: FormsModule
|
|
22068
|
+
},
|
|
22069
|
+
{
|
|
22070
|
+
kind: "directive",
|
|
22071
|
+
type: i1.ɵNgNoValidate,
|
|
22072
|
+
selector: "form:not([ngNoForm]):not([ngNativeValidate])"
|
|
22073
|
+
},
|
|
22074
|
+
{
|
|
22075
|
+
kind: "directive",
|
|
22076
|
+
type: i1.NgControlStatus,
|
|
22077
|
+
selector: "[formControlName],[ngModel],[formControl]"
|
|
22078
|
+
},
|
|
22079
|
+
{
|
|
22080
|
+
kind: "directive",
|
|
22081
|
+
type: i1.NgControlStatusGroup,
|
|
22082
|
+
selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]"
|
|
22083
|
+
},
|
|
22084
|
+
{
|
|
22085
|
+
kind: "directive",
|
|
22086
|
+
type: i1.RequiredValidator,
|
|
22087
|
+
selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",
|
|
22088
|
+
inputs: ["required"]
|
|
22089
|
+
},
|
|
22090
|
+
{
|
|
22091
|
+
kind: "directive",
|
|
22092
|
+
type: i1.MaxLengthValidator,
|
|
22093
|
+
selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",
|
|
22094
|
+
inputs: ["maxlength"]
|
|
22095
|
+
},
|
|
22096
|
+
{
|
|
22097
|
+
kind: "directive",
|
|
22098
|
+
type: i1.NgModel,
|
|
22099
|
+
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
22100
|
+
inputs: [
|
|
22101
|
+
"name",
|
|
22102
|
+
"disabled",
|
|
22103
|
+
"ngModel",
|
|
22104
|
+
"ngModelOptions"
|
|
22105
|
+
],
|
|
22106
|
+
outputs: ["ngModelChange"],
|
|
22107
|
+
exportAs: ["ngModel"]
|
|
22108
|
+
},
|
|
22109
|
+
{
|
|
22110
|
+
kind: "directive",
|
|
22111
|
+
type: i1.NgForm,
|
|
22112
|
+
selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]",
|
|
22113
|
+
inputs: ["ngFormOptions"],
|
|
22114
|
+
outputs: ["ngSubmit"],
|
|
22115
|
+
exportAs: ["ngForm"]
|
|
22116
|
+
},
|
|
22117
|
+
{
|
|
22118
|
+
kind: "component",
|
|
22119
|
+
type: CheckboxComponent,
|
|
22120
|
+
selector: "ui-checkbox, ui-checkbox-group",
|
|
22121
|
+
inputs: [
|
|
22122
|
+
"label",
|
|
22123
|
+
"ariaLabel",
|
|
22124
|
+
"testId",
|
|
22125
|
+
"labelTestId",
|
|
22126
|
+
"headingLevel",
|
|
22127
|
+
"indeterminate",
|
|
22128
|
+
"checked",
|
|
22129
|
+
"options",
|
|
22130
|
+
"legend",
|
|
22131
|
+
"orientation",
|
|
22132
|
+
"values",
|
|
22133
|
+
"description",
|
|
22134
|
+
"indent",
|
|
22135
|
+
"required",
|
|
22136
|
+
"requiredMessage",
|
|
22137
|
+
"hint",
|
|
22138
|
+
"error",
|
|
22139
|
+
"showErrors",
|
|
22140
|
+
"disabled"
|
|
22141
|
+
],
|
|
22142
|
+
outputs: [
|
|
22143
|
+
"checkedChange",
|
|
22144
|
+
"valuesChange",
|
|
22145
|
+
"invalidChange"
|
|
22146
|
+
]
|
|
22147
|
+
},
|
|
22148
|
+
{
|
|
22149
|
+
kind: "component",
|
|
22150
|
+
type: FormRowComponent,
|
|
22151
|
+
selector: "ui-form-row",
|
|
22152
|
+
inputs: ["cols"]
|
|
22153
|
+
},
|
|
22154
|
+
{
|
|
22155
|
+
kind: "component",
|
|
22156
|
+
type: FormSectionComponent,
|
|
22157
|
+
selector: "ui-form-section",
|
|
22158
|
+
inputs: ["label", "divider"]
|
|
22159
|
+
},
|
|
22160
|
+
{
|
|
22161
|
+
kind: "component",
|
|
22162
|
+
type: SelectComponent,
|
|
22163
|
+
selector: "ui-select",
|
|
22164
|
+
inputs: [
|
|
22165
|
+
"label",
|
|
22166
|
+
"ariaLabel",
|
|
22167
|
+
"placeholder",
|
|
22168
|
+
"options",
|
|
22169
|
+
"valueType",
|
|
22170
|
+
"required",
|
|
22171
|
+
"hint",
|
|
22172
|
+
"ariaDescribedBy",
|
|
22173
|
+
"error",
|
|
22174
|
+
"showErrors",
|
|
22175
|
+
"size",
|
|
22176
|
+
"disabled"
|
|
22177
|
+
],
|
|
22178
|
+
outputs: ["invalidChange", "valueChange"]
|
|
22179
|
+
},
|
|
22180
|
+
{
|
|
22181
|
+
kind: "component",
|
|
22182
|
+
type: TextInputComponent,
|
|
22183
|
+
selector: "ui-text-input",
|
|
22184
|
+
inputs: [
|
|
22185
|
+
"label",
|
|
22186
|
+
"ariaLabel",
|
|
22187
|
+
"inputTestId",
|
|
22188
|
+
"placeholder",
|
|
22189
|
+
"prefix",
|
|
22190
|
+
"revealable",
|
|
22191
|
+
"passwordRequirements",
|
|
22192
|
+
"passwordRules",
|
|
22193
|
+
"type",
|
|
22194
|
+
"maxlength",
|
|
22195
|
+
"required",
|
|
22196
|
+
"autocomplete",
|
|
22197
|
+
"inputmode",
|
|
22198
|
+
"readonly",
|
|
22199
|
+
"hint",
|
|
22200
|
+
"ariaDescribedBy",
|
|
22201
|
+
"error",
|
|
22202
|
+
"phoneFormat",
|
|
22203
|
+
"min",
|
|
22204
|
+
"max",
|
|
22205
|
+
"maxDecimals",
|
|
22206
|
+
"step",
|
|
22207
|
+
"valueType",
|
|
22208
|
+
"formatter",
|
|
22209
|
+
"integer",
|
|
22210
|
+
"showErrors",
|
|
22211
|
+
"disabled"
|
|
22212
|
+
],
|
|
22213
|
+
outputs: [
|
|
22214
|
+
"valueChange",
|
|
22215
|
+
"focused",
|
|
22216
|
+
"blurred",
|
|
22217
|
+
"invalidChange"
|
|
22218
|
+
]
|
|
22219
|
+
}
|
|
22220
|
+
],
|
|
22221
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
22222
|
+
});
|
|
22223
|
+
}
|
|
22224
|
+
};
|
|
22225
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
22226
|
+
minVersion: "12.0.0",
|
|
22227
|
+
version: "22.2.2",
|
|
22228
|
+
ngImport: i0,
|
|
22229
|
+
type: BankAccountFormComponent,
|
|
22230
|
+
decorators: [{
|
|
22231
|
+
type: Component,
|
|
22232
|
+
args: [{
|
|
22233
|
+
selector: "ui-bank-account-form",
|
|
22234
|
+
standalone: true,
|
|
22235
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
22236
|
+
imports: [
|
|
22237
|
+
FormsModule,
|
|
22238
|
+
CheckboxComponent,
|
|
22239
|
+
FormRowComponent,
|
|
22240
|
+
FormSectionComponent,
|
|
22241
|
+
SelectComponent,
|
|
22242
|
+
TextInputComponent
|
|
22243
|
+
],
|
|
22244
|
+
providers: [{
|
|
22245
|
+
provide: UiFieldValidity,
|
|
22246
|
+
useExisting: forwardRef(() => BankAccountFormComponent)
|
|
22247
|
+
}],
|
|
22248
|
+
host: { "[attr.aria-busy]": "busy() ? \"true\" : null" },
|
|
22249
|
+
template: `
|
|
22250
|
+
<form novalidate (submit)="$event.preventDefault(); submit()" (keydown.enter)="onEnter($event)">
|
|
22251
|
+
<ui-form-section>
|
|
22252
|
+
<ui-text-input label="Account holder name" [inputTestId]="id('holder-name')" autocomplete="name" [required]="true" [maxlength]="100"
|
|
22253
|
+
[showErrors]="reveal()" [disabled]="locked()" [ngModel]="accountHolderName()" (ngModelChange)="accountHolderName.set($event ?? '')" [ngModelOptions]="{ standalone: true }" />
|
|
22254
|
+
<ui-text-input label="Routing number" [inputTestId]="id('routing')" inputmode="numeric" placeholder="9-digit routing number" [required]="true"
|
|
22255
|
+
[maxlength]="9" [formatter]="routingFormatter" [error]="routingError()" [showErrors]="reveal()" [disabled]="locked()"
|
|
22256
|
+
[ngModel]="routingNumber()" (ngModelChange)="routingNumber.set($event ?? '')" [ngModelOptions]="{ standalone: true }" />
|
|
22257
|
+
<ui-text-input label="Account number" [inputTestId]="id('account')" inputmode="numeric" placeholder="Account number" [required]="true"
|
|
22258
|
+
[maxlength]="17" [formatter]="accountFormatter" [error]="accountError()" [showErrors]="reveal()" [disabled]="locked()"
|
|
22259
|
+
[ngModel]="accountNumber()" (ngModelChange)="accountNumber.set($event ?? '')" [ngModelOptions]="{ standalone: true }" />
|
|
22260
|
+
<ui-text-input label="Confirm account number" [inputTestId]="id('confirm')" inputmode="numeric" placeholder="Re-enter account number" [required]="true"
|
|
22261
|
+
[maxlength]="17" [formatter]="accountFormatter" [error]="confirmError()" [showErrors]="reveal()" [disabled]="locked()"
|
|
22262
|
+
[ngModel]="confirmAccount()" (ngModelChange)="confirmAccount.set($event ?? '')" [ngModelOptions]="{ standalone: true }" />
|
|
22263
|
+
<ui-form-row>
|
|
22264
|
+
<ui-select label="Account type" [attr.data-testid]="id('account-type')" [options]="accountTypeOptions()" [required]="true" [showErrors]="reveal()"
|
|
22265
|
+
[disabled]="locked()" [ngModel]="accountType()" (ngModelChange)="accountType.set($event)" [ngModelOptions]="{ standalone: true }" />
|
|
22266
|
+
<ui-select label="Holder type" [attr.data-testid]="id('holder-type')" [options]="holderTypeOptions()" [required]="true" [showErrors]="reveal()"
|
|
22267
|
+
[disabled]="locked()" [ngModel]="holderType()" (ngModelChange)="holderType.set($event)" [ngModelOptions]="{ standalone: true }" />
|
|
22268
|
+
</ui-form-row>
|
|
22269
|
+
<ui-checkbox [testId]="id('mandate')" [label]="mandateText()" [required]="true" requiredMessage="You must authorize ACH debits to continue."
|
|
22270
|
+
[showErrors]="reveal()" [disabled]="locked()" [ngModel]="mandateAccepted()" (ngModelChange)="mandateAccepted.set(!!$event)" [ngModelOptions]="{ standalone: true }" />
|
|
22271
|
+
</ui-form-section>
|
|
22272
|
+
</form>
|
|
22273
|
+
`,
|
|
22274
|
+
styles: [":host{display:block}\n"]
|
|
22275
|
+
}]
|
|
22276
|
+
}],
|
|
22277
|
+
ctorParameters: () => [],
|
|
22278
|
+
propDecorators: {
|
|
22279
|
+
showErrors: [{
|
|
22280
|
+
type: i0.Input,
|
|
22281
|
+
args: [{
|
|
22282
|
+
isSignal: true,
|
|
22283
|
+
alias: "showErrors",
|
|
22284
|
+
required: false
|
|
22285
|
+
}]
|
|
22286
|
+
}],
|
|
22287
|
+
disabled: [{
|
|
22288
|
+
type: i0.Input,
|
|
22289
|
+
args: [{
|
|
22290
|
+
isSignal: true,
|
|
22291
|
+
alias: "disabled",
|
|
22292
|
+
required: false
|
|
22293
|
+
}]
|
|
22294
|
+
}],
|
|
22295
|
+
busy: [{
|
|
22296
|
+
type: i0.Input,
|
|
22297
|
+
args: [{
|
|
22298
|
+
isSignal: true,
|
|
22299
|
+
alias: "busy",
|
|
22300
|
+
required: false
|
|
22301
|
+
}]
|
|
22302
|
+
}],
|
|
22303
|
+
mandateText: [{
|
|
22304
|
+
type: i0.Input,
|
|
22305
|
+
args: [{
|
|
22306
|
+
isSignal: true,
|
|
22307
|
+
alias: "mandateText",
|
|
22308
|
+
required: false
|
|
22309
|
+
}]
|
|
22310
|
+
}],
|
|
22311
|
+
accountTypeOptions: [{
|
|
22312
|
+
type: i0.Input,
|
|
22313
|
+
args: [{
|
|
22314
|
+
isSignal: true,
|
|
22315
|
+
alias: "accountTypeOptions",
|
|
22316
|
+
required: false
|
|
22317
|
+
}]
|
|
22318
|
+
}],
|
|
22319
|
+
holderTypeOptions: [{
|
|
22320
|
+
type: i0.Input,
|
|
22321
|
+
args: [{
|
|
22322
|
+
isSignal: true,
|
|
22323
|
+
alias: "holderTypeOptions",
|
|
22324
|
+
required: false
|
|
22325
|
+
}]
|
|
22326
|
+
}],
|
|
22327
|
+
accountHolderNameDefault: [{
|
|
22328
|
+
type: i0.Input,
|
|
22329
|
+
args: [{
|
|
22330
|
+
isSignal: true,
|
|
22331
|
+
alias: "accountHolderNameDefault",
|
|
22332
|
+
required: false
|
|
22333
|
+
}]
|
|
22334
|
+
}],
|
|
22335
|
+
testIdPrefix: [{
|
|
22336
|
+
type: i0.Input,
|
|
22337
|
+
args: [{
|
|
22338
|
+
isSignal: true,
|
|
22339
|
+
alias: "testIdPrefix",
|
|
22340
|
+
required: false
|
|
22341
|
+
}]
|
|
22342
|
+
}],
|
|
22343
|
+
submitted: [{
|
|
22344
|
+
type: i0.Output,
|
|
22345
|
+
args: ["submitted"]
|
|
22346
|
+
}],
|
|
22347
|
+
validChange: [{
|
|
22348
|
+
type: i0.Output,
|
|
22349
|
+
args: ["validChange"]
|
|
22350
|
+
}],
|
|
22351
|
+
_fields: [{
|
|
22352
|
+
type: i0.ViewChildren,
|
|
22353
|
+
args: [i0.forwardRef(() => UiFieldValidity), { isSignal: true }]
|
|
22354
|
+
}]
|
|
22355
|
+
}
|
|
22356
|
+
});
|
|
22357
|
+
const SIZE_REM = {
|
|
22358
|
+
sm: "0.8125rem",
|
|
22359
|
+
md: "0.875rem",
|
|
22360
|
+
lg: "1rem"
|
|
22361
|
+
};
|
|
22362
|
+
const WEIGHT = {
|
|
22363
|
+
normal: null,
|
|
22364
|
+
medium: "500",
|
|
22365
|
+
semibold: "600",
|
|
22366
|
+
bold: "700"
|
|
22367
|
+
};
|
|
22368
|
+
var TextComponent = class TextComponent {
|
|
22369
|
+
constructor() {
|
|
22370
|
+
this.text = input("", ...ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []);
|
|
22371
|
+
this.size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
22372
|
+
this.tone = input("default", ...ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []);
|
|
22373
|
+
this.color = input("", ...ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []);
|
|
22374
|
+
this.strong = input(null, ...ngDevMode ? [{ debugName: "strong" }] : /* istanbul ignore next */ []);
|
|
22375
|
+
this.segments = computed(() => {
|
|
22376
|
+
const text = this.text() ?? "";
|
|
22377
|
+
const raw = this.strong();
|
|
22378
|
+
const needles = (Array.isArray(raw) ? raw : raw ? [raw] : []).filter((n) => typeof n === "string" && n !== "").sort((a, b) => b.length - a.length);
|
|
22379
|
+
if (!text || !needles.length) return [];
|
|
22380
|
+
const out = [];
|
|
22381
|
+
let i = 0, plain = "";
|
|
22382
|
+
while (i < text.length) {
|
|
22383
|
+
const hit = needles.find((n) => text.startsWith(n, i));
|
|
22384
|
+
if (hit) {
|
|
22385
|
+
if (plain) {
|
|
22386
|
+
out.push({
|
|
22387
|
+
text: plain,
|
|
22388
|
+
strong: false
|
|
22389
|
+
});
|
|
22390
|
+
plain = "";
|
|
22391
|
+
}
|
|
22392
|
+
out.push({
|
|
22393
|
+
text: hit,
|
|
22394
|
+
strong: true
|
|
22395
|
+
});
|
|
22396
|
+
i += hit.length;
|
|
22397
|
+
} else {
|
|
22398
|
+
plain += text[i];
|
|
22399
|
+
i++;
|
|
22400
|
+
}
|
|
22401
|
+
}
|
|
22402
|
+
if (plain) out.push({
|
|
22403
|
+
text: plain,
|
|
22404
|
+
strong: false
|
|
22405
|
+
});
|
|
22406
|
+
return out.some((s) => s.strong) ? out : [];
|
|
22407
|
+
}, ...ngDevMode ? [{ debugName: "segments" }] : /* istanbul ignore next */ []);
|
|
22408
|
+
this.weight = input("normal", ...ngDevMode ? [{ debugName: "weight" }] : /* istanbul ignore next */ []);
|
|
22409
|
+
this.fontWeight = computed(() => WEIGHT[this.weight()] ?? null, ...ngDevMode ? [{ debugName: "fontWeight" }] : /* istanbul ignore next */ []);
|
|
22410
|
+
this.fontSize = computed(() => SIZE_REM[this.size()] ?? SIZE_REM.md, ...ngDevMode ? [{ debugName: "fontSize" }] : /* istanbul ignore next */ []);
|
|
22411
|
+
}
|
|
22412
|
+
static {
|
|
22413
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
22414
|
+
minVersion: "12.0.0",
|
|
22415
|
+
version: "22.2.2",
|
|
22416
|
+
ngImport: i0,
|
|
22417
|
+
type: TextComponent,
|
|
22418
|
+
deps: [],
|
|
22419
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
22420
|
+
});
|
|
22421
|
+
}
|
|
22422
|
+
static {
|
|
22423
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
22424
|
+
minVersion: "17.0.0",
|
|
22425
|
+
version: "22.2.2",
|
|
22426
|
+
type: TextComponent,
|
|
22427
|
+
isStandalone: true,
|
|
22428
|
+
selector: "ui-text",
|
|
22429
|
+
inputs: {
|
|
22430
|
+
text: {
|
|
22431
|
+
classPropertyName: "text",
|
|
22432
|
+
publicName: "text",
|
|
22433
|
+
isSignal: true,
|
|
22434
|
+
isRequired: false,
|
|
22435
|
+
transformFunction: null
|
|
22436
|
+
},
|
|
22437
|
+
size: {
|
|
22438
|
+
classPropertyName: "size",
|
|
22439
|
+
publicName: "size",
|
|
22440
|
+
isSignal: true,
|
|
22441
|
+
isRequired: false,
|
|
22442
|
+
transformFunction: null
|
|
22443
|
+
},
|
|
22444
|
+
tone: {
|
|
22445
|
+
classPropertyName: "tone",
|
|
22446
|
+
publicName: "tone",
|
|
22447
|
+
isSignal: true,
|
|
22448
|
+
isRequired: false,
|
|
22449
|
+
transformFunction: null
|
|
22450
|
+
},
|
|
22451
|
+
color: {
|
|
22452
|
+
classPropertyName: "color",
|
|
22453
|
+
publicName: "color",
|
|
22454
|
+
isSignal: true,
|
|
22455
|
+
isRequired: false,
|
|
22456
|
+
transformFunction: null
|
|
22457
|
+
},
|
|
22458
|
+
strong: {
|
|
22459
|
+
classPropertyName: "strong",
|
|
22460
|
+
publicName: "strong",
|
|
22461
|
+
isSignal: true,
|
|
22462
|
+
isRequired: false,
|
|
22463
|
+
transformFunction: null
|
|
22464
|
+
},
|
|
22465
|
+
weight: {
|
|
22466
|
+
classPropertyName: "weight",
|
|
22467
|
+
publicName: "weight",
|
|
22468
|
+
isSignal: true,
|
|
22469
|
+
isRequired: false,
|
|
22470
|
+
transformFunction: null
|
|
22471
|
+
}
|
|
22472
|
+
},
|
|
22473
|
+
ngImport: i0,
|
|
22474
|
+
template: `<div class="tx" [class.tx-muted]="tone() === 'muted'" [class.tx-accent]="tone() === 'accent'" [style.color]="color() || null" [style.font-size]="fontSize()" [style.font-weight]="fontWeight()">{{ segments().length ? '' : text() }}@for (s of segments(); track $index) {@if (s.strong) {<strong>{{ s.text }}</strong>} @else {<ng-container>{{ s.text }}</ng-container>}}</div>`,
|
|
22475
|
+
isInline: true,
|
|
22476
|
+
styles: [":host{display:block;min-width:0}.tx{margin:0;line-height:1.5;color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text}.tx-muted{color:#64748b}.tx-accent{color:var(--ui-accent, #2563eb)}.tx strong{font-weight:700}\n"],
|
|
22477
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
22478
|
+
});
|
|
22479
|
+
}
|
|
22480
|
+
};
|
|
22481
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
22482
|
+
minVersion: "12.0.0",
|
|
22483
|
+
version: "22.2.2",
|
|
22484
|
+
ngImport: i0,
|
|
22485
|
+
type: TextComponent,
|
|
22486
|
+
decorators: [{
|
|
22487
|
+
type: Component,
|
|
22488
|
+
args: [{
|
|
22489
|
+
selector: "ui-text",
|
|
22490
|
+
standalone: true,
|
|
22491
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
22492
|
+
template: `<div class="tx" [class.tx-muted]="tone() === 'muted'" [class.tx-accent]="tone() === 'accent'" [style.color]="color() || null" [style.font-size]="fontSize()" [style.font-weight]="fontWeight()">{{ segments().length ? '' : text() }}@for (s of segments(); track $index) {@if (s.strong) {<strong>{{ s.text }}</strong>} @else {<ng-container>{{ s.text }}</ng-container>}}</div>`,
|
|
22493
|
+
styles: [":host{display:block;min-width:0}.tx{margin:0;line-height:1.5;color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text}.tx-muted{color:#64748b}.tx-accent{color:var(--ui-accent, #2563eb)}.tx strong{font-weight:700}\n"]
|
|
22494
|
+
}]
|
|
22495
|
+
}],
|
|
22496
|
+
propDecorators: {
|
|
22497
|
+
text: [{
|
|
22498
|
+
type: i0.Input,
|
|
22499
|
+
args: [{
|
|
22500
|
+
isSignal: true,
|
|
22501
|
+
alias: "text",
|
|
22502
|
+
required: false
|
|
22503
|
+
}]
|
|
22504
|
+
}],
|
|
22505
|
+
size: [{
|
|
22506
|
+
type: i0.Input,
|
|
22507
|
+
args: [{
|
|
22508
|
+
isSignal: true,
|
|
22509
|
+
alias: "size",
|
|
22510
|
+
required: false
|
|
22511
|
+
}]
|
|
22512
|
+
}],
|
|
22513
|
+
tone: [{
|
|
22514
|
+
type: i0.Input,
|
|
22515
|
+
args: [{
|
|
22516
|
+
isSignal: true,
|
|
22517
|
+
alias: "tone",
|
|
22518
|
+
required: false
|
|
22519
|
+
}]
|
|
22520
|
+
}],
|
|
22521
|
+
color: [{
|
|
22522
|
+
type: i0.Input,
|
|
22523
|
+
args: [{
|
|
22524
|
+
isSignal: true,
|
|
22525
|
+
alias: "color",
|
|
22526
|
+
required: false
|
|
22527
|
+
}]
|
|
22528
|
+
}],
|
|
22529
|
+
strong: [{
|
|
22530
|
+
type: i0.Input,
|
|
22531
|
+
args: [{
|
|
22532
|
+
isSignal: true,
|
|
22533
|
+
alias: "strong",
|
|
22534
|
+
required: false
|
|
22535
|
+
}]
|
|
22536
|
+
}],
|
|
22537
|
+
weight: [{
|
|
22538
|
+
type: i0.Input,
|
|
22539
|
+
args: [{
|
|
22540
|
+
isSignal: true,
|
|
22541
|
+
alias: "weight",
|
|
22542
|
+
required: false
|
|
22543
|
+
}]
|
|
22544
|
+
}]
|
|
22545
|
+
}
|
|
22546
|
+
});
|
|
22547
|
+
var ImagePreviewComponent = class ImagePreviewComponent {
|
|
22548
|
+
constructor() {
|
|
22549
|
+
this.src = input(null, ...ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []);
|
|
22550
|
+
this.alt = input("", ...ngDevMode ? [{ debugName: "alt" }] : /* istanbul ignore next */ []);
|
|
22551
|
+
this.shape = input("rounded", ...ngDevMode ? [{ debugName: "shape" }] : /* istanbul ignore next */ []);
|
|
22552
|
+
this.size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
22553
|
+
this.placeholder = input("image", ...ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []);
|
|
22554
|
+
this.loading = input("lazy", ...ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []);
|
|
22555
|
+
this.positionX = input(50, ...ngDevMode ? [{ debugName: "positionX" }] : /* istanbul ignore next */ []);
|
|
22556
|
+
this.positionY = input(50, ...ngDevMode ? [{ debugName: "positionY" }] : /* istanbul ignore next */ []);
|
|
22557
|
+
this.retryKey = input(null, ...ngDevMode ? [{ debugName: "retryKey" }] : /* istanbul ignore next */ []);
|
|
22558
|
+
this._failed = signal(false, ...ngDevMode ? [{ debugName: "_failed" }] : /* istanbul ignore next */ []);
|
|
22559
|
+
this._url = computed(() => this.src()?.trim() || null, ...ngDevMode ? [{ debugName: "_url" }] : /* istanbul ignore next */ []);
|
|
22560
|
+
this._objectPosition = computed(() => `${this.positionX() ?? 50}% ${this.positionY() ?? 50}%`, ...ngDevMode ? [{ debugName: "_objectPosition" }] : /* istanbul ignore next */ []);
|
|
22561
|
+
this._cls = computed(() => `ip-${this.shape()}-${this.size()}`, ...ngDevMode ? [{ debugName: "_cls" }] : /* istanbul ignore next */ []);
|
|
22562
|
+
effect(() => {
|
|
22563
|
+
this.src();
|
|
22564
|
+
this.retryKey();
|
|
22565
|
+
untracked(() => this._failed.set(false));
|
|
22566
|
+
});
|
|
22567
|
+
}
|
|
22568
|
+
retry() {
|
|
22569
|
+
this._failed.set(false);
|
|
22570
|
+
}
|
|
22571
|
+
_onError() {
|
|
22572
|
+
this._failed.set(true);
|
|
22573
|
+
}
|
|
22574
|
+
static {
|
|
22575
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
22576
|
+
minVersion: "12.0.0",
|
|
22577
|
+
version: "22.2.2",
|
|
22578
|
+
ngImport: i0,
|
|
22579
|
+
type: ImagePreviewComponent,
|
|
22580
|
+
deps: [],
|
|
22581
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
22582
|
+
});
|
|
22583
|
+
}
|
|
22584
|
+
static {
|
|
22585
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
22586
|
+
minVersion: "17.0.0",
|
|
22587
|
+
version: "22.2.2",
|
|
22588
|
+
type: ImagePreviewComponent,
|
|
22589
|
+
isStandalone: true,
|
|
22590
|
+
selector: "ui-image-preview",
|
|
22591
|
+
inputs: {
|
|
22592
|
+
src: {
|
|
22593
|
+
classPropertyName: "src",
|
|
22594
|
+
publicName: "src",
|
|
22595
|
+
isSignal: true,
|
|
22596
|
+
isRequired: false,
|
|
22597
|
+
transformFunction: null
|
|
22598
|
+
},
|
|
22599
|
+
alt: {
|
|
22600
|
+
classPropertyName: "alt",
|
|
22601
|
+
publicName: "alt",
|
|
22602
|
+
isSignal: true,
|
|
22603
|
+
isRequired: false,
|
|
22604
|
+
transformFunction: null
|
|
22605
|
+
},
|
|
22606
|
+
shape: {
|
|
22607
|
+
classPropertyName: "shape",
|
|
22608
|
+
publicName: "shape",
|
|
22609
|
+
isSignal: true,
|
|
22610
|
+
isRequired: false,
|
|
22611
|
+
transformFunction: null
|
|
22612
|
+
},
|
|
22613
|
+
size: {
|
|
22614
|
+
classPropertyName: "size",
|
|
22615
|
+
publicName: "size",
|
|
22616
|
+
isSignal: true,
|
|
22617
|
+
isRequired: false,
|
|
22618
|
+
transformFunction: null
|
|
22619
|
+
},
|
|
22620
|
+
placeholder: {
|
|
22621
|
+
classPropertyName: "placeholder",
|
|
22622
|
+
publicName: "placeholder",
|
|
22623
|
+
isSignal: true,
|
|
22624
|
+
isRequired: false,
|
|
22625
|
+
transformFunction: null
|
|
22626
|
+
},
|
|
22627
|
+
loading: {
|
|
22628
|
+
classPropertyName: "loading",
|
|
22629
|
+
publicName: "loading",
|
|
22630
|
+
isSignal: true,
|
|
22631
|
+
isRequired: false,
|
|
22632
|
+
transformFunction: null
|
|
22633
|
+
},
|
|
22634
|
+
positionX: {
|
|
22635
|
+
classPropertyName: "positionX",
|
|
22636
|
+
publicName: "positionX",
|
|
22637
|
+
isSignal: true,
|
|
22638
|
+
isRequired: false,
|
|
22639
|
+
transformFunction: null
|
|
22640
|
+
},
|
|
22641
|
+
positionY: {
|
|
22642
|
+
classPropertyName: "positionY",
|
|
22643
|
+
publicName: "positionY",
|
|
22644
|
+
isSignal: true,
|
|
22645
|
+
isRequired: false,
|
|
22646
|
+
transformFunction: null
|
|
22647
|
+
},
|
|
22648
|
+
retryKey: {
|
|
22649
|
+
classPropertyName: "retryKey",
|
|
22650
|
+
publicName: "retryKey",
|
|
22651
|
+
isSignal: true,
|
|
22652
|
+
isRequired: false,
|
|
22653
|
+
transformFunction: null
|
|
22654
|
+
}
|
|
22655
|
+
},
|
|
22656
|
+
ngImport: i0,
|
|
22657
|
+
template: `
|
|
22658
|
+
@if (_url() && !_failed()) {
|
|
22659
|
+
<img class="ip-img" [class]="_cls()" [src]="_url()" [attr.alt]="alt()" [attr.loading]="loading()" [style.object-position]="_objectPosition()" decoding="async" (error)="_onError()" />
|
|
22660
|
+
} @else {
|
|
22661
|
+
<span class="ip-img ip-ph" [class]="_cls()" aria-hidden="true">
|
|
22662
|
+
@if (placeholder() === 'person') {
|
|
22663
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4 21c0-4 3.6-7 8-7s8 3 8 7"/></svg>
|
|
22664
|
+
} @else {
|
|
22665
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><circle cx="9" cy="10" r="1.8"/><path d="M21 16l-5-5-8 9"/></svg>
|
|
22666
|
+
}
|
|
22667
|
+
</span>
|
|
22668
|
+
}
|
|
22669
|
+
`,
|
|
22670
|
+
isInline: true,
|
|
22671
|
+
styles: [":host{display:inline-block;line-height:0;flex-shrink:0}.ip-img{display:block;object-fit:cover;border:1px solid #e2e8f0;background:#f1f5f9;box-sizing:border-box;flex-shrink:0}.ip-ph{display:inline-flex;align-items:center;justify-content:center;color:#94a3b8}.ip-ph svg{width:55%;height:55%}.ip-circle-sm{width:28px;height:28px;border-radius:50%}.ip-circle-md{width:40px;height:40px;border-radius:50%}.ip-circle-lg{width:80px;height:80px;border-radius:50%}.ip-rounded-sm{width:36px;height:24px;border-radius:5px}.ip-rounded-md{width:48px;height:32px;border-radius:6px}.ip-rounded-lg{width:112px;height:64px;border-radius:8px}\n"],
|
|
22672
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
22673
|
+
});
|
|
22674
|
+
}
|
|
22675
|
+
};
|
|
22676
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
22677
|
+
minVersion: "12.0.0",
|
|
22678
|
+
version: "22.2.2",
|
|
22679
|
+
ngImport: i0,
|
|
22680
|
+
type: ImagePreviewComponent,
|
|
22681
|
+
decorators: [{
|
|
22682
|
+
type: Component,
|
|
22683
|
+
args: [{
|
|
22684
|
+
selector: "ui-image-preview",
|
|
22685
|
+
standalone: true,
|
|
22686
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
22687
|
+
template: `
|
|
22688
|
+
@if (_url() && !_failed()) {
|
|
22689
|
+
<img class="ip-img" [class]="_cls()" [src]="_url()" [attr.alt]="alt()" [attr.loading]="loading()" [style.object-position]="_objectPosition()" decoding="async" (error)="_onError()" />
|
|
22690
|
+
} @else {
|
|
22691
|
+
<span class="ip-img ip-ph" [class]="_cls()" aria-hidden="true">
|
|
22692
|
+
@if (placeholder() === 'person') {
|
|
22693
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4 21c0-4 3.6-7 8-7s8 3 8 7"/></svg>
|
|
22694
|
+
} @else {
|
|
22695
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><circle cx="9" cy="10" r="1.8"/><path d="M21 16l-5-5-8 9"/></svg>
|
|
22696
|
+
}
|
|
22697
|
+
</span>
|
|
22698
|
+
}
|
|
22699
|
+
`,
|
|
22700
|
+
styles: [":host{display:inline-block;line-height:0;flex-shrink:0}.ip-img{display:block;object-fit:cover;border:1px solid #e2e8f0;background:#f1f5f9;box-sizing:border-box;flex-shrink:0}.ip-ph{display:inline-flex;align-items:center;justify-content:center;color:#94a3b8}.ip-ph svg{width:55%;height:55%}.ip-circle-sm{width:28px;height:28px;border-radius:50%}.ip-circle-md{width:40px;height:40px;border-radius:50%}.ip-circle-lg{width:80px;height:80px;border-radius:50%}.ip-rounded-sm{width:36px;height:24px;border-radius:5px}.ip-rounded-md{width:48px;height:32px;border-radius:6px}.ip-rounded-lg{width:112px;height:64px;border-radius:8px}\n"]
|
|
22701
|
+
}]
|
|
22702
|
+
}],
|
|
22703
|
+
ctorParameters: () => [],
|
|
22704
|
+
propDecorators: {
|
|
22705
|
+
src: [{
|
|
22706
|
+
type: i0.Input,
|
|
22707
|
+
args: [{
|
|
22708
|
+
isSignal: true,
|
|
22709
|
+
alias: "src",
|
|
22710
|
+
required: false
|
|
22711
|
+
}]
|
|
22712
|
+
}],
|
|
22713
|
+
alt: [{
|
|
22714
|
+
type: i0.Input,
|
|
22715
|
+
args: [{
|
|
22716
|
+
isSignal: true,
|
|
22717
|
+
alias: "alt",
|
|
22718
|
+
required: false
|
|
22719
|
+
}]
|
|
22720
|
+
}],
|
|
22721
|
+
shape: [{
|
|
22722
|
+
type: i0.Input,
|
|
22723
|
+
args: [{
|
|
22724
|
+
isSignal: true,
|
|
22725
|
+
alias: "shape",
|
|
22726
|
+
required: false
|
|
22727
|
+
}]
|
|
22728
|
+
}],
|
|
22729
|
+
size: [{
|
|
22730
|
+
type: i0.Input,
|
|
22731
|
+
args: [{
|
|
22732
|
+
isSignal: true,
|
|
22733
|
+
alias: "size",
|
|
22734
|
+
required: false
|
|
22735
|
+
}]
|
|
22736
|
+
}],
|
|
22737
|
+
placeholder: [{
|
|
22738
|
+
type: i0.Input,
|
|
22739
|
+
args: [{
|
|
22740
|
+
isSignal: true,
|
|
22741
|
+
alias: "placeholder",
|
|
22742
|
+
required: false
|
|
22743
|
+
}]
|
|
22744
|
+
}],
|
|
21919
22745
|
loading: [{
|
|
21920
22746
|
type: i0.Input,
|
|
21921
22747
|
args: [{
|
|
@@ -22851,6 +23677,7 @@ var DateInputComponent = class DateInputComponent {
|
|
|
22851
23677
|
this.min = input("", ...ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []);
|
|
22852
23678
|
this.max = input("", ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
|
|
22853
23679
|
this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
|
|
23680
|
+
this.ariaDescribedBy = input("", ...ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []);
|
|
22854
23681
|
this.error = input("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
|
|
22855
23682
|
this.showErrors = input(false, ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
|
|
22856
23683
|
this._disabledInput = input(false, {
|
|
@@ -22860,6 +23687,7 @@ var DateInputComponent = class DateInputComponent {
|
|
|
22860
23687
|
this._cvaDisabled = signal(false, ...ngDevMode ? [{ debugName: "_cvaDisabled" }] : /* istanbul ignore next */ []);
|
|
22861
23688
|
this.disabled = computed(() => this._disabledInput() || this._cvaDisabled(), ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
22862
23689
|
this._value = signal("", ...ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []);
|
|
23690
|
+
this._describedBy = computed(() => mergeDescribedBy(this._activeError() || this.hint() ? this._inputId + "-desc" : null, this.ariaDescribedBy()), ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
|
|
22863
23691
|
this._reveal = createFieldReveal(this.showErrors);
|
|
22864
23692
|
this._issue = computed(() => this._check(this._value()), ...ngDevMode ? [{ debugName: "_issue" }] : /* istanbul ignore next */ []);
|
|
22865
23693
|
this.invalid = computed(() => !!this.error() || !!this._issue(), ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
|
|
@@ -22989,6 +23817,13 @@ var DateInputComponent = class DateInputComponent {
|
|
|
22989
23817
|
isRequired: false,
|
|
22990
23818
|
transformFunction: null
|
|
22991
23819
|
},
|
|
23820
|
+
ariaDescribedBy: {
|
|
23821
|
+
classPropertyName: "ariaDescribedBy",
|
|
23822
|
+
publicName: "ariaDescribedBy",
|
|
23823
|
+
isSignal: true,
|
|
23824
|
+
isRequired: false,
|
|
23825
|
+
transformFunction: null
|
|
23826
|
+
},
|
|
22992
23827
|
error: {
|
|
22993
23828
|
classPropertyName: "error",
|
|
22994
23829
|
publicName: "error",
|
|
@@ -23051,7 +23886,7 @@ var DateInputComponent = class DateInputComponent {
|
|
|
23051
23886
|
[attr.max]="max() || null"
|
|
23052
23887
|
[attr.required]="required() || null"
|
|
23053
23888
|
[attr.aria-invalid]="_activeError() ? 'true' : null"
|
|
23054
|
-
[attr.aria-describedby]="(
|
|
23889
|
+
[attr.aria-describedby]="_describedBy()"
|
|
23055
23890
|
(change)="onChange($event)"
|
|
23056
23891
|
(blur)="onBlur()"
|
|
23057
23892
|
/>
|
|
@@ -23113,7 +23948,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
23113
23948
|
[attr.max]="max() || null"
|
|
23114
23949
|
[attr.required]="required() || null"
|
|
23115
23950
|
[attr.aria-invalid]="_activeError() ? 'true' : null"
|
|
23116
|
-
[attr.aria-describedby]="(
|
|
23951
|
+
[attr.aria-describedby]="_describedBy()"
|
|
23117
23952
|
(change)="onChange($event)"
|
|
23118
23953
|
(blur)="onBlur()"
|
|
23119
23954
|
/>
|
|
@@ -23169,6 +24004,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
23169
24004
|
required: false
|
|
23170
24005
|
}]
|
|
23171
24006
|
}],
|
|
24007
|
+
ariaDescribedBy: [{
|
|
24008
|
+
type: i0.Input,
|
|
24009
|
+
args: [{
|
|
24010
|
+
isSignal: true,
|
|
24011
|
+
alias: "ariaDescribedBy",
|
|
24012
|
+
required: false
|
|
24013
|
+
}]
|
|
24014
|
+
}],
|
|
23172
24015
|
error: [{
|
|
23173
24016
|
type: i0.Input,
|
|
23174
24017
|
args: [{
|
|
@@ -23210,6 +24053,7 @@ var DatetimeInputComponent = class DatetimeInputComponent {
|
|
|
23210
24053
|
this.min = input("", ...ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []);
|
|
23211
24054
|
this.max = input("", ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
|
|
23212
24055
|
this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
|
|
24056
|
+
this.ariaDescribedBy = input("", ...ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []);
|
|
23213
24057
|
this.error = input("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
|
|
23214
24058
|
this.showErrors = input(false, ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
|
|
23215
24059
|
this._disabledInput = input(false, {
|
|
@@ -23219,6 +24063,7 @@ var DatetimeInputComponent = class DatetimeInputComponent {
|
|
|
23219
24063
|
this._cvaDisabled = signal(false, ...ngDevMode ? [{ debugName: "_cvaDisabled" }] : /* istanbul ignore next */ []);
|
|
23220
24064
|
this.disabled = computed(() => this._disabledInput() || this._cvaDisabled(), ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
23221
24065
|
this._value = signal("", ...ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []);
|
|
24066
|
+
this._describedBy = computed(() => mergeDescribedBy(this._activeError() || this.hint() ? this._inputId + "-desc" : null, this.ariaDescribedBy()), ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
|
|
23222
24067
|
this._reveal = createFieldReveal(this.showErrors);
|
|
23223
24068
|
this._issue = computed(() => this._check(this._value()), ...ngDevMode ? [{ debugName: "_issue" }] : /* istanbul ignore next */ []);
|
|
23224
24069
|
this.invalid = computed(() => !!this.error() || !!this._issue(), ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
|
|
@@ -23346,6 +24191,13 @@ var DatetimeInputComponent = class DatetimeInputComponent {
|
|
|
23346
24191
|
isRequired: false,
|
|
23347
24192
|
transformFunction: null
|
|
23348
24193
|
},
|
|
24194
|
+
ariaDescribedBy: {
|
|
24195
|
+
classPropertyName: "ariaDescribedBy",
|
|
24196
|
+
publicName: "ariaDescribedBy",
|
|
24197
|
+
isSignal: true,
|
|
24198
|
+
isRequired: false,
|
|
24199
|
+
transformFunction: null
|
|
24200
|
+
},
|
|
23349
24201
|
error: {
|
|
23350
24202
|
classPropertyName: "error",
|
|
23351
24203
|
publicName: "error",
|
|
@@ -23405,7 +24257,7 @@ var DatetimeInputComponent = class DatetimeInputComponent {
|
|
|
23405
24257
|
[attr.max]="max() || null"
|
|
23406
24258
|
[attr.required]="required() || null"
|
|
23407
24259
|
[attr.aria-invalid]="_activeError() ? 'true' : null"
|
|
23408
|
-
[attr.aria-describedby]="(
|
|
24260
|
+
[attr.aria-describedby]="_describedBy()"
|
|
23409
24261
|
(change)="onChange($event)"
|
|
23410
24262
|
(blur)="onBlur()"
|
|
23411
24263
|
/>
|
|
@@ -23467,7 +24319,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
23467
24319
|
[attr.max]="max() || null"
|
|
23468
24320
|
[attr.required]="required() || null"
|
|
23469
24321
|
[attr.aria-invalid]="_activeError() ? 'true' : null"
|
|
23470
|
-
[attr.aria-describedby]="(
|
|
24322
|
+
[attr.aria-describedby]="_describedBy()"
|
|
23471
24323
|
(change)="onChange($event)"
|
|
23472
24324
|
(blur)="onBlur()"
|
|
23473
24325
|
/>
|
|
@@ -23523,6 +24375,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
23523
24375
|
required: false
|
|
23524
24376
|
}]
|
|
23525
24377
|
}],
|
|
24378
|
+
ariaDescribedBy: [{
|
|
24379
|
+
type: i0.Input,
|
|
24380
|
+
args: [{
|
|
24381
|
+
isSignal: true,
|
|
24382
|
+
alias: "ariaDescribedBy",
|
|
24383
|
+
required: false
|
|
24384
|
+
}]
|
|
24385
|
+
}],
|
|
23526
24386
|
error: [{
|
|
23527
24387
|
type: i0.Input,
|
|
23528
24388
|
args: [{
|
|
@@ -23561,6 +24421,7 @@ var TimeInputComponent = class TimeInputComponent {
|
|
|
23561
24421
|
this.min = input("", ...ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []);
|
|
23562
24422
|
this.max = input("", ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
|
|
23563
24423
|
this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
|
|
24424
|
+
this.ariaDescribedBy = input("", ...ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []);
|
|
23564
24425
|
this.error = input("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
|
|
23565
24426
|
this.showErrors = input(false, ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
|
|
23566
24427
|
this._disabledInput = input(false, {
|
|
@@ -23571,6 +24432,7 @@ var TimeInputComponent = class TimeInputComponent {
|
|
|
23571
24432
|
this.disabled = computed(() => this._disabledInput() || this._cvaDisabled(), ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
23572
24433
|
this._value = signal("", ...ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []);
|
|
23573
24434
|
this._inputId = `tmi-${Math.random().toString(36).slice(2, 8)}`;
|
|
24435
|
+
this._describedBy = computed(() => mergeDescribedBy(this._activeError() || this.hint() ? this._inputId + "-desc" : null, this.ariaDescribedBy()), ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
|
|
23574
24436
|
this._reveal = createFieldReveal(this.showErrors);
|
|
23575
24437
|
this._issue = computed(() => this._check(this._value()), ...ngDevMode ? [{ debugName: "_issue" }] : /* istanbul ignore next */ []);
|
|
23576
24438
|
this.invalid = computed(() => !!this.error() || !!this._issue(), ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
|
|
@@ -23708,6 +24570,13 @@ var TimeInputComponent = class TimeInputComponent {
|
|
|
23708
24570
|
isRequired: false,
|
|
23709
24571
|
transformFunction: null
|
|
23710
24572
|
},
|
|
24573
|
+
ariaDescribedBy: {
|
|
24574
|
+
classPropertyName: "ariaDescribedBy",
|
|
24575
|
+
publicName: "ariaDescribedBy",
|
|
24576
|
+
isSignal: true,
|
|
24577
|
+
isRequired: false,
|
|
24578
|
+
transformFunction: null
|
|
24579
|
+
},
|
|
23711
24580
|
error: {
|
|
23712
24581
|
classPropertyName: "error",
|
|
23713
24582
|
publicName: "error",
|
|
@@ -23769,7 +24638,7 @@ var TimeInputComponent = class TimeInputComponent {
|
|
|
23769
24638
|
[attr.aria-label]="ariaLabel() || label() || null"
|
|
23770
24639
|
[attr.aria-required]="required() ? 'true' : null"
|
|
23771
24640
|
[attr.aria-invalid]="_activeError() ? 'true' : null"
|
|
23772
|
-
[attr.aria-describedby]="(
|
|
24641
|
+
[attr.aria-describedby]="_describedBy()"
|
|
23773
24642
|
(change)="onChange($event)"
|
|
23774
24643
|
(blur)="onBlur()"
|
|
23775
24644
|
/>
|
|
@@ -23833,7 +24702,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
23833
24702
|
[attr.aria-label]="ariaLabel() || label() || null"
|
|
23834
24703
|
[attr.aria-required]="required() ? 'true' : null"
|
|
23835
24704
|
[attr.aria-invalid]="_activeError() ? 'true' : null"
|
|
23836
|
-
[attr.aria-describedby]="(
|
|
24705
|
+
[attr.aria-describedby]="_describedBy()"
|
|
23837
24706
|
(change)="onChange($event)"
|
|
23838
24707
|
(blur)="onBlur()"
|
|
23839
24708
|
/>
|
|
@@ -23897,6 +24766,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
23897
24766
|
required: false
|
|
23898
24767
|
}]
|
|
23899
24768
|
}],
|
|
24769
|
+
ariaDescribedBy: [{
|
|
24770
|
+
type: i0.Input,
|
|
24771
|
+
args: [{
|
|
24772
|
+
isSignal: true,
|
|
24773
|
+
alias: "ariaDescribedBy",
|
|
24774
|
+
required: false
|
|
24775
|
+
}]
|
|
24776
|
+
}],
|
|
23900
24777
|
error: [{
|
|
23901
24778
|
type: i0.Input,
|
|
23902
24779
|
args: [{
|
|
@@ -26609,156 +27486,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26609
27486
|
}]
|
|
26610
27487
|
}
|
|
26611
27488
|
});
|
|
26612
|
-
var FormSectionComponent = class FormSectionComponent {
|
|
26613
|
-
constructor() {
|
|
26614
|
-
this.label = input("", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
26615
|
-
this.divider = input(false, ...ngDevMode ? [{ debugName: "divider" }] : /* istanbul ignore next */ []);
|
|
26616
|
-
}
|
|
26617
|
-
static {
|
|
26618
|
-
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
26619
|
-
minVersion: "12.0.0",
|
|
26620
|
-
version: "22.2.2",
|
|
26621
|
-
ngImport: i0,
|
|
26622
|
-
type: FormSectionComponent,
|
|
26623
|
-
deps: [],
|
|
26624
|
-
target: i0.ɵɵFactoryTarget.Component
|
|
26625
|
-
});
|
|
26626
|
-
}
|
|
26627
|
-
static {
|
|
26628
|
-
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
26629
|
-
minVersion: "17.0.0",
|
|
26630
|
-
version: "22.2.2",
|
|
26631
|
-
type: FormSectionComponent,
|
|
26632
|
-
isStandalone: true,
|
|
26633
|
-
selector: "ui-form-section",
|
|
26634
|
-
inputs: {
|
|
26635
|
-
label: {
|
|
26636
|
-
classPropertyName: "label",
|
|
26637
|
-
publicName: "label",
|
|
26638
|
-
isSignal: true,
|
|
26639
|
-
isRequired: false,
|
|
26640
|
-
transformFunction: null
|
|
26641
|
-
},
|
|
26642
|
-
divider: {
|
|
26643
|
-
classPropertyName: "divider",
|
|
26644
|
-
publicName: "divider",
|
|
26645
|
-
isSignal: true,
|
|
26646
|
-
isRequired: false,
|
|
26647
|
-
transformFunction: null
|
|
26648
|
-
}
|
|
26649
|
-
},
|
|
26650
|
-
ngImport: i0,
|
|
26651
|
-
template: `
|
|
26652
|
-
@if (divider()) { <div class="fs-divider"></div> }
|
|
26653
|
-
@if (label()) { <p class="fs-label">{{ label() }}</p> }
|
|
26654
|
-
<div class="fs-fields"><ng-content /></div>
|
|
26655
|
-
`,
|
|
26656
|
-
isInline: true,
|
|
26657
|
-
styles: [":host{display:block}.fs-divider{height:1px;background:#f1f5f9;margin:8px -24px 16px}.fs-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0 0 12px}.fs-fields{display:flex;flex-direction:column;gap:14px}\n"],
|
|
26658
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
26659
|
-
});
|
|
26660
|
-
}
|
|
26661
|
-
};
|
|
26662
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
26663
|
-
minVersion: "12.0.0",
|
|
26664
|
-
version: "22.2.2",
|
|
26665
|
-
ngImport: i0,
|
|
26666
|
-
type: FormSectionComponent,
|
|
26667
|
-
decorators: [{
|
|
26668
|
-
type: Component,
|
|
26669
|
-
args: [{
|
|
26670
|
-
selector: "ui-form-section",
|
|
26671
|
-
standalone: true,
|
|
26672
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
26673
|
-
template: `
|
|
26674
|
-
@if (divider()) { <div class="fs-divider"></div> }
|
|
26675
|
-
@if (label()) { <p class="fs-label">{{ label() }}</p> }
|
|
26676
|
-
<div class="fs-fields"><ng-content /></div>
|
|
26677
|
-
`,
|
|
26678
|
-
styles: [":host{display:block}.fs-divider{height:1px;background:#f1f5f9;margin:8px -24px 16px}.fs-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0 0 12px}.fs-fields{display:flex;flex-direction:column;gap:14px}\n"]
|
|
26679
|
-
}]
|
|
26680
|
-
}],
|
|
26681
|
-
propDecorators: {
|
|
26682
|
-
label: [{
|
|
26683
|
-
type: i0.Input,
|
|
26684
|
-
args: [{
|
|
26685
|
-
isSignal: true,
|
|
26686
|
-
alias: "label",
|
|
26687
|
-
required: false
|
|
26688
|
-
}]
|
|
26689
|
-
}],
|
|
26690
|
-
divider: [{
|
|
26691
|
-
type: i0.Input,
|
|
26692
|
-
args: [{
|
|
26693
|
-
isSignal: true,
|
|
26694
|
-
alias: "divider",
|
|
26695
|
-
required: false
|
|
26696
|
-
}]
|
|
26697
|
-
}]
|
|
26698
|
-
}
|
|
26699
|
-
});
|
|
26700
|
-
var FormRowComponent = class FormRowComponent {
|
|
26701
|
-
constructor() {
|
|
26702
|
-
this.cols = input(2, ...ngDevMode ? [{ debugName: "cols" }] : /* istanbul ignore next */ []);
|
|
26703
|
-
}
|
|
26704
|
-
static {
|
|
26705
|
-
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
26706
|
-
minVersion: "12.0.0",
|
|
26707
|
-
version: "22.2.2",
|
|
26708
|
-
ngImport: i0,
|
|
26709
|
-
type: FormRowComponent,
|
|
26710
|
-
deps: [],
|
|
26711
|
-
target: i0.ɵɵFactoryTarget.Component
|
|
26712
|
-
});
|
|
26713
|
-
}
|
|
26714
|
-
static {
|
|
26715
|
-
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
26716
|
-
minVersion: "17.1.0",
|
|
26717
|
-
version: "22.2.2",
|
|
26718
|
-
type: FormRowComponent,
|
|
26719
|
-
isStandalone: true,
|
|
26720
|
-
selector: "ui-form-row",
|
|
26721
|
-
inputs: { cols: {
|
|
26722
|
-
classPropertyName: "cols",
|
|
26723
|
-
publicName: "cols",
|
|
26724
|
-
isSignal: true,
|
|
26725
|
-
isRequired: false,
|
|
26726
|
-
transformFunction: null
|
|
26727
|
-
} },
|
|
26728
|
-
ngImport: i0,
|
|
26729
|
-
template: `<div class="fr-row" [class.fr-row--4]="cols() === 4" [style.--fr-cols]="cols()"><ng-content /></div>`,
|
|
26730
|
-
isInline: true,
|
|
26731
|
-
styles: ["ui-form-row{display:block}.fr-row{display:grid;grid-template-columns:repeat(var(--fr-cols, 2),1fr);gap:12px}.fr-row>.ui-span-2{grid-column:span 2}.fr-row>.ui-span-3{grid-column:span 3}.fr-row>.ui-span-all{grid-column:1 / -1}@media(max-width:768px){.fr-row--4{grid-template-columns:repeat(2,1fr)}.fr-row--4>.ui-span-3{grid-column:1 / -1}}@media(max-width:480px){.fr-row{grid-template-columns:1fr}.fr-row>.ui-span-2,.fr-row>.ui-span-3,.fr-row>.ui-span-all{grid-column:1 / -1}}\n"],
|
|
26732
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
26733
|
-
encapsulation: i0.ViewEncapsulation.None
|
|
26734
|
-
});
|
|
26735
|
-
}
|
|
26736
|
-
};
|
|
26737
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
26738
|
-
minVersion: "12.0.0",
|
|
26739
|
-
version: "22.2.2",
|
|
26740
|
-
ngImport: i0,
|
|
26741
|
-
type: FormRowComponent,
|
|
26742
|
-
decorators: [{
|
|
26743
|
-
type: Component,
|
|
26744
|
-
args: [{
|
|
26745
|
-
selector: "ui-form-row",
|
|
26746
|
-
standalone: true,
|
|
26747
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
26748
|
-
encapsulation: ViewEncapsulation.None,
|
|
26749
|
-
template: `<div class="fr-row" [class.fr-row--4]="cols() === 4" [style.--fr-cols]="cols()"><ng-content /></div>`,
|
|
26750
|
-
styles: ["ui-form-row{display:block}.fr-row{display:grid;grid-template-columns:repeat(var(--fr-cols, 2),1fr);gap:12px}.fr-row>.ui-span-2{grid-column:span 2}.fr-row>.ui-span-3{grid-column:span 3}.fr-row>.ui-span-all{grid-column:1 / -1}@media(max-width:768px){.fr-row--4{grid-template-columns:repeat(2,1fr)}.fr-row--4>.ui-span-3{grid-column:1 / -1}}@media(max-width:480px){.fr-row{grid-template-columns:1fr}.fr-row>.ui-span-2,.fr-row>.ui-span-3,.fr-row>.ui-span-all{grid-column:1 / -1}}\n"]
|
|
26751
|
-
}]
|
|
26752
|
-
}],
|
|
26753
|
-
propDecorators: { cols: [{
|
|
26754
|
-
type: i0.Input,
|
|
26755
|
-
args: [{
|
|
26756
|
-
isSignal: true,
|
|
26757
|
-
alias: "cols",
|
|
26758
|
-
required: false
|
|
26759
|
-
}]
|
|
26760
|
-
}] }
|
|
26761
|
-
});
|
|
26762
27489
|
var FormColSpanDirective = class FormColSpanDirective {
|
|
26763
27490
|
constructor() {
|
|
26764
27491
|
this.uiColSpan = input("", ...ngDevMode ? [{ debugName: "uiColSpan" }] : /* istanbul ignore next */ []);
|
|
@@ -27338,6 +28065,7 @@ var CardListItemComponent = class CardListItemComponent {
|
|
|
27338
28065
|
this.actionLabel = input("", ...ngDevMode ? [{ debugName: "actionLabel" }] : /* istanbul ignore next */ []);
|
|
27339
28066
|
this.actionTestId = input("", ...ngDevMode ? [{ debugName: "actionTestId" }] : /* istanbul ignore next */ []);
|
|
27340
28067
|
this.actionAriaLabel = input("", ...ngDevMode ? [{ debugName: "actionAriaLabel" }] : /* istanbul ignore next */ []);
|
|
28068
|
+
this.hasBuiltInChip = computed(() => this.editButton() || this.viewButton() || !!this.actionLabel() || this.deletable(), ...ngDevMode ? [{ debugName: "hasBuiltInChip" }] : /* istanbul ignore next */ []);
|
|
27341
28069
|
this.editClick = output();
|
|
27342
28070
|
this.viewClick = output();
|
|
27343
28071
|
this.delete = output();
|
|
@@ -27517,7 +28245,7 @@ var CardListItemComponent = class CardListItemComponent {
|
|
|
27517
28245
|
@if (status() && statusVariant()) { <ui-badge [label]="status()!" [variant]="statusVariant()!" /> }
|
|
27518
28246
|
</div>
|
|
27519
28247
|
}
|
|
27520
|
-
<div class="cli-row" [class.cli-row--badges]="hasBadges()" [class.cli-row--badges-2]="hasBadges() && !!type() && !!status() && !!statusVariant()">
|
|
28248
|
+
<div class="cli-row" [class.cli-row--badges]="hasBadges()" [class.cli-row--badges-2]="hasBadges() && !!type() && !!status() && !!statusVariant()" [class.cli-row--badges-chip]="hasBadges() && hasBuiltInChip()">
|
|
27521
28249
|
@if (iconPath(); as d) {
|
|
27522
28250
|
<div class="cli-icon-circle" [class]="'cli-icon-circle cli-icon-circle--' + icon()" aria-hidden="true">
|
|
27523
28251
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false"><path [attr.d]="d" /></svg>
|
|
@@ -27570,7 +28298,7 @@ var CardListItemComponent = class CardListItemComponent {
|
|
|
27570
28298
|
<ng-content select="[card-detail]" />
|
|
27571
28299
|
`,
|
|
27572
28300
|
isInline: true,
|
|
27573
|
-
styles: ["ui-card-list-item{position:relative;display:block;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:8px}ui-card-list-item:last-child{margin-bottom:0}ui-card-list-item .cli-row{display:flex;align-items:flex-start;gap:12px;padding:13px 18px;transition:background .12s}ui-card-list-item .cli-row:hover{background:#f8fafc}@media(prefers-reduced-motion:reduce){ui-card-list-item .cli-row{transition:none}}ui-card-list-item .cli-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}ui-card-list-item .cli-dot:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}ui-card-list-item .cli-dot--high{background:#ef4444}ui-card-list-item .cli-dot--medium{background:#f59e0b}ui-card-list-item .cli-dot--low{background:#94a3b8}ui-card-list-item .cli-dot--blue{background:#3b82f6}ui-card-list-item .cli-dot--green{background:#22c55e}ui-card-list-item .cli-icon-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}ui-card-list-item .cli-icon-circle--call{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--email{background:#dcfce7;color:#16a34a}ui-card-list-item .cli-icon-circle--sms{background:#fef9c3;color:#ca8a04}ui-card-list-item .cli-icon-circle--task{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--doc{background:#ffedd5;color:#ea580c}ui-card-list-item .cli-icon-circle--money{background:#d1fae5;color:#059669}ui-card-list-item .cli-icon-circle--deal{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-icon-circle--survey{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--property{background:#fef3c7;color:#d97706}ui-card-list-item .cli-icon-circle--search{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-icon-circle--heart{background:#fce7f3;color:#db2777}ui-card-list-item .cli-icon-circle--calc{background:#d1fae5;color:#059669}ui-card-list-item .cli-icon-circle--repeat{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere;word-break:break-word}ui-card-list-item .cli-badges{position:absolute;top:10px;right:12px;display:flex;align-items:center;gap:6px;z-index:1}ui-card-list-item .cli-row--badges .cli-body{padding-right:96px}ui-card-list-item .cli-row--badges-2 .cli-body{padding-right:190px}ui-card-list-item .cli-row--badges .cli-chip{align-self:flex-end}ui-card-list-item .cli-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}ui-card-list-item .cli-title{font-size:.875rem;font-weight:600;color:#1e293b}ui-card-list-item .cli-desc-row{display:flex;align-items:center;gap:8px}ui-card-list-item .cli-desc-row:empty{display:none}ui-card-list-item .cli-description{font-size:.8125rem;color:#64748b;min-width:0}ui-card-list-item .cli-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#64748b}ui-card-list-item .cli-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;align-self:center;box-sizing:border-box;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;background:none;cursor:pointer;padding:4px 10px;border-radius:6px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}ui-card-list-item .cli-chip--edit{color:#64748b;border:1px solid #e2e8f0}ui-card-list-item .cli-chip--edit:hover{background:#f1f5f9;color:#1e293b}ui-card-list-item .cli-chip--view{color:#2563eb;border:1px solid #dbeafe}ui-card-list-item .cli-chip--view:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}ui-card-list-item .cli-chip--action{color:#475569;border:1px solid #e2e8f0}ui-card-list-item .cli-chip--action:hover{background:#f1f5f9;color:#1e293b}ui-card-list-item .cli-chip--delete{position:relative;justify-content:center;width:28px;height:28px;padding:0;color:#b91c1c;border:1px solid #fecaca}ui-card-list-item .cli-chip--delete:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}ui-card-list-item .cli-chip--delete:after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}ui-card-list-item .cli-chip:focus-visible,ui-card-list-item .cli-inline-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}ui-card-list-item .cli-inline-link{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:500;color:#2563eb;text-decoration:none;transition:color .15s}ui-card-list-item .cli-inline-link:hover{color:#1d4ed8}@media(pointer:coarse),(max-width:480px){ui-card-list-item .cli-chip{min-height:44px;padding:4px 14px}ui-card-list-item .cli-chip--delete{min-height:28px;padding:0}}ui-card-list-item [card-stats]{display:flex;align-items:stretch;background:#f8fafc;border-top:1px solid #f1f5f9}ui-card-list-item [card-detail]{background:#f8fafc;border-top:1px solid #e2e8f0}ui-card-list-item .cli-stat{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px 14px}ui-card-list-item .cli-stat-label{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}ui-card-list-item .cli-stat-value{font-size:.9375rem;font-weight:600;color:#0f172a}ui-card-list-item .cli-stat-divider{width:1px;background:#e2e8f0;margin:8px 0}\n"],
|
|
28301
|
+
styles: ["ui-card-list-item{position:relative;display:block;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:8px}ui-card-list-item:last-child{margin-bottom:0}ui-card-list-item .cli-row{display:flex;align-items:flex-start;gap:12px;padding:13px 18px;transition:background .12s}ui-card-list-item .cli-row:hover{background:#f8fafc}@media(prefers-reduced-motion:reduce){ui-card-list-item .cli-row{transition:none}}ui-card-list-item .cli-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}ui-card-list-item .cli-dot:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}ui-card-list-item .cli-dot--high{background:#ef4444}ui-card-list-item .cli-dot--medium{background:#f59e0b}ui-card-list-item .cli-dot--low{background:#94a3b8}ui-card-list-item .cli-dot--blue{background:#3b82f6}ui-card-list-item .cli-dot--green{background:#22c55e}ui-card-list-item .cli-icon-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}ui-card-list-item .cli-icon-circle--call{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--email{background:#dcfce7;color:#16a34a}ui-card-list-item .cli-icon-circle--sms{background:#fef9c3;color:#ca8a04}ui-card-list-item .cli-icon-circle--task{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--doc{background:#ffedd5;color:#ea580c}ui-card-list-item .cli-icon-circle--money{background:#d1fae5;color:#059669}ui-card-list-item .cli-icon-circle--deal{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-icon-circle--survey{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--property{background:#fef3c7;color:#d97706}ui-card-list-item .cli-icon-circle--search{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-icon-circle--heart{background:#fce7f3;color:#db2777}ui-card-list-item .cli-icon-circle--calc{background:#d1fae5;color:#059669}ui-card-list-item .cli-icon-circle--repeat{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere;word-break:break-word}ui-card-list-item .cli-badges{position:absolute;top:10px;right:12px;display:flex;align-items:center;gap:6px;z-index:1}ui-card-list-item .cli-row--badges .cli-body{padding-right:96px}ui-card-list-item .cli-row--badges-2 .cli-body{padding-right:190px}ui-card-list-item .cli-row--badges .cli-chip{align-self:flex-end}ui-card-list-item .cli-row--badges-chip{box-sizing:border-box;min-height:76px}ui-card-list-item .cli-row--badges:has([card-list-action]){box-sizing:border-box;min-height:76px}@media(pointer:coarse),(max-width:480px){ui-card-list-item .cli-row--badges-chip{min-height:92px}ui-card-list-item .cli-row--badges:has([card-list-action]){min-height:92px}}ui-card-list-item .cli-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}ui-card-list-item .cli-title{font-size:.875rem;font-weight:600;color:#1e293b}ui-card-list-item .cli-desc-row{display:flex;align-items:center;gap:8px}ui-card-list-item .cli-desc-row:empty{display:none}ui-card-list-item .cli-description{font-size:.8125rem;color:#64748b;min-width:0}ui-card-list-item .cli-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#64748b}ui-card-list-item .cli-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;align-self:center;box-sizing:border-box;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;background:none;cursor:pointer;padding:4px 10px;border-radius:6px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}ui-card-list-item .cli-chip--edit{color:#64748b;border:1px solid #e2e8f0}ui-card-list-item .cli-chip--edit:hover{background:#f1f5f9;color:#1e293b}ui-card-list-item .cli-chip--view{color:#2563eb;border:1px solid #dbeafe}ui-card-list-item .cli-chip--view:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}ui-card-list-item .cli-chip--action{color:#475569;border:1px solid #e2e8f0}ui-card-list-item .cli-chip--action:hover{background:#f1f5f9;color:#1e293b}ui-card-list-item .cli-chip--delete{position:relative;justify-content:center;width:28px;height:28px;padding:0;color:#b91c1c;border:1px solid #fecaca}ui-card-list-item .cli-chip--delete:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}ui-card-list-item .cli-chip--delete:after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}ui-card-list-item .cli-chip:focus-visible,ui-card-list-item .cli-inline-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}ui-card-list-item .cli-inline-link{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:500;color:#2563eb;text-decoration:none;transition:color .15s}ui-card-list-item .cli-inline-link:hover{color:#1d4ed8}@media(pointer:coarse),(max-width:480px){ui-card-list-item .cli-chip{min-height:44px;padding:4px 14px}ui-card-list-item .cli-chip--delete{min-height:28px;padding:0}}ui-card-list-item [card-stats]{display:flex;align-items:stretch;background:#f8fafc;border-top:1px solid #f1f5f9}ui-card-list-item [card-detail]{background:#f8fafc;border-top:1px solid #e2e8f0}ui-card-list-item .cli-stat{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px 14px}ui-card-list-item .cli-stat-label{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}ui-card-list-item .cli-stat-value{font-size:.9375rem;font-weight:600;color:#0f172a}ui-card-list-item .cli-stat-divider{width:1px;background:#e2e8f0;margin:8px 0}\n"],
|
|
27574
28302
|
dependencies: [{
|
|
27575
28303
|
kind: "component",
|
|
27576
28304
|
type: BadgeComponent,
|
|
@@ -27607,7 +28335,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
27607
28335
|
@if (status() && statusVariant()) { <ui-badge [label]="status()!" [variant]="statusVariant()!" /> }
|
|
27608
28336
|
</div>
|
|
27609
28337
|
}
|
|
27610
|
-
<div class="cli-row" [class.cli-row--badges]="hasBadges()" [class.cli-row--badges-2]="hasBadges() && !!type() && !!status() && !!statusVariant()">
|
|
28338
|
+
<div class="cli-row" [class.cli-row--badges]="hasBadges()" [class.cli-row--badges-2]="hasBadges() && !!type() && !!status() && !!statusVariant()" [class.cli-row--badges-chip]="hasBadges() && hasBuiltInChip()">
|
|
27611
28339
|
@if (iconPath(); as d) {
|
|
27612
28340
|
<div class="cli-icon-circle" [class]="'cli-icon-circle cli-icon-circle--' + icon()" aria-hidden="true">
|
|
27613
28341
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false"><path [attr.d]="d" /></svg>
|
|
@@ -27659,7 +28387,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
27659
28387
|
<ng-content select="[card-stats]" />
|
|
27660
28388
|
<ng-content select="[card-detail]" />
|
|
27661
28389
|
`,
|
|
27662
|
-
styles: ["ui-card-list-item{position:relative;display:block;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:8px}ui-card-list-item:last-child{margin-bottom:0}ui-card-list-item .cli-row{display:flex;align-items:flex-start;gap:12px;padding:13px 18px;transition:background .12s}ui-card-list-item .cli-row:hover{background:#f8fafc}@media(prefers-reduced-motion:reduce){ui-card-list-item .cli-row{transition:none}}ui-card-list-item .cli-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}ui-card-list-item .cli-dot:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}ui-card-list-item .cli-dot--high{background:#ef4444}ui-card-list-item .cli-dot--medium{background:#f59e0b}ui-card-list-item .cli-dot--low{background:#94a3b8}ui-card-list-item .cli-dot--blue{background:#3b82f6}ui-card-list-item .cli-dot--green{background:#22c55e}ui-card-list-item .cli-icon-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}ui-card-list-item .cli-icon-circle--call{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--email{background:#dcfce7;color:#16a34a}ui-card-list-item .cli-icon-circle--sms{background:#fef9c3;color:#ca8a04}ui-card-list-item .cli-icon-circle--task{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--doc{background:#ffedd5;color:#ea580c}ui-card-list-item .cli-icon-circle--money{background:#d1fae5;color:#059669}ui-card-list-item .cli-icon-circle--deal{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-icon-circle--survey{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--property{background:#fef3c7;color:#d97706}ui-card-list-item .cli-icon-circle--search{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-icon-circle--heart{background:#fce7f3;color:#db2777}ui-card-list-item .cli-icon-circle--calc{background:#d1fae5;color:#059669}ui-card-list-item .cli-icon-circle--repeat{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere;word-break:break-word}ui-card-list-item .cli-badges{position:absolute;top:10px;right:12px;display:flex;align-items:center;gap:6px;z-index:1}ui-card-list-item .cli-row--badges .cli-body{padding-right:96px}ui-card-list-item .cli-row--badges-2 .cli-body{padding-right:190px}ui-card-list-item .cli-row--badges .cli-chip{align-self:flex-end}ui-card-list-item .cli-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}ui-card-list-item .cli-title{font-size:.875rem;font-weight:600;color:#1e293b}ui-card-list-item .cli-desc-row{display:flex;align-items:center;gap:8px}ui-card-list-item .cli-desc-row:empty{display:none}ui-card-list-item .cli-description{font-size:.8125rem;color:#64748b;min-width:0}ui-card-list-item .cli-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#64748b}ui-card-list-item .cli-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;align-self:center;box-sizing:border-box;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;background:none;cursor:pointer;padding:4px 10px;border-radius:6px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}ui-card-list-item .cli-chip--edit{color:#64748b;border:1px solid #e2e8f0}ui-card-list-item .cli-chip--edit:hover{background:#f1f5f9;color:#1e293b}ui-card-list-item .cli-chip--view{color:#2563eb;border:1px solid #dbeafe}ui-card-list-item .cli-chip--view:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}ui-card-list-item .cli-chip--action{color:#475569;border:1px solid #e2e8f0}ui-card-list-item .cli-chip--action:hover{background:#f1f5f9;color:#1e293b}ui-card-list-item .cli-chip--delete{position:relative;justify-content:center;width:28px;height:28px;padding:0;color:#b91c1c;border:1px solid #fecaca}ui-card-list-item .cli-chip--delete:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}ui-card-list-item .cli-chip--delete:after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}ui-card-list-item .cli-chip:focus-visible,ui-card-list-item .cli-inline-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}ui-card-list-item .cli-inline-link{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:500;color:#2563eb;text-decoration:none;transition:color .15s}ui-card-list-item .cli-inline-link:hover{color:#1d4ed8}@media(pointer:coarse),(max-width:480px){ui-card-list-item .cli-chip{min-height:44px;padding:4px 14px}ui-card-list-item .cli-chip--delete{min-height:28px;padding:0}}ui-card-list-item [card-stats]{display:flex;align-items:stretch;background:#f8fafc;border-top:1px solid #f1f5f9}ui-card-list-item [card-detail]{background:#f8fafc;border-top:1px solid #e2e8f0}ui-card-list-item .cli-stat{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px 14px}ui-card-list-item .cli-stat-label{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}ui-card-list-item .cli-stat-value{font-size:.9375rem;font-weight:600;color:#0f172a}ui-card-list-item .cli-stat-divider{width:1px;background:#e2e8f0;margin:8px 0}\n"]
|
|
28390
|
+
styles: ["ui-card-list-item{position:relative;display:block;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:8px}ui-card-list-item:last-child{margin-bottom:0}ui-card-list-item .cli-row{display:flex;align-items:flex-start;gap:12px;padding:13px 18px;transition:background .12s}ui-card-list-item .cli-row:hover{background:#f8fafc}@media(prefers-reduced-motion:reduce){ui-card-list-item .cli-row{transition:none}}ui-card-list-item .cli-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}ui-card-list-item .cli-dot:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}ui-card-list-item .cli-dot--high{background:#ef4444}ui-card-list-item .cli-dot--medium{background:#f59e0b}ui-card-list-item .cli-dot--low{background:#94a3b8}ui-card-list-item .cli-dot--blue{background:#3b82f6}ui-card-list-item .cli-dot--green{background:#22c55e}ui-card-list-item .cli-icon-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}ui-card-list-item .cli-icon-circle--call{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--email{background:#dcfce7;color:#16a34a}ui-card-list-item .cli-icon-circle--sms{background:#fef9c3;color:#ca8a04}ui-card-list-item .cli-icon-circle--task{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--doc{background:#ffedd5;color:#ea580c}ui-card-list-item .cli-icon-circle--money{background:#d1fae5;color:#059669}ui-card-list-item .cli-icon-circle--deal{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-icon-circle--survey{background:#dbeafe;color:#2563eb}ui-card-list-item .cli-icon-circle--property{background:#fef3c7;color:#d97706}ui-card-list-item .cli-icon-circle--search{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-icon-circle--heart{background:#fce7f3;color:#db2777}ui-card-list-item .cli-icon-circle--calc{background:#d1fae5;color:#059669}ui-card-list-item .cli-icon-circle--repeat{background:#e0f2fe;color:#0284c7}ui-card-list-item .cli-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere;word-break:break-word}ui-card-list-item .cli-badges{position:absolute;top:10px;right:12px;display:flex;align-items:center;gap:6px;z-index:1}ui-card-list-item .cli-row--badges .cli-body{padding-right:96px}ui-card-list-item .cli-row--badges-2 .cli-body{padding-right:190px}ui-card-list-item .cli-row--badges .cli-chip{align-self:flex-end}ui-card-list-item .cli-row--badges-chip{box-sizing:border-box;min-height:76px}ui-card-list-item .cli-row--badges:has([card-list-action]){box-sizing:border-box;min-height:76px}@media(pointer:coarse),(max-width:480px){ui-card-list-item .cli-row--badges-chip{min-height:92px}ui-card-list-item .cli-row--badges:has([card-list-action]){min-height:92px}}ui-card-list-item .cli-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}ui-card-list-item .cli-title{font-size:.875rem;font-weight:600;color:#1e293b}ui-card-list-item .cli-desc-row{display:flex;align-items:center;gap:8px}ui-card-list-item .cli-desc-row:empty{display:none}ui-card-list-item .cli-description{font-size:.8125rem;color:#64748b;min-width:0}ui-card-list-item .cli-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#64748b}ui-card-list-item .cli-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;align-self:center;box-sizing:border-box;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;background:none;cursor:pointer;padding:4px 10px;border-radius:6px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}ui-card-list-item .cli-chip--edit{color:#64748b;border:1px solid #e2e8f0}ui-card-list-item .cli-chip--edit:hover{background:#f1f5f9;color:#1e293b}ui-card-list-item .cli-chip--view{color:#2563eb;border:1px solid #dbeafe}ui-card-list-item .cli-chip--view:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}ui-card-list-item .cli-chip--action{color:#475569;border:1px solid #e2e8f0}ui-card-list-item .cli-chip--action:hover{background:#f1f5f9;color:#1e293b}ui-card-list-item .cli-chip--delete{position:relative;justify-content:center;width:28px;height:28px;padding:0;color:#b91c1c;border:1px solid #fecaca}ui-card-list-item .cli-chip--delete:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}ui-card-list-item .cli-chip--delete:after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}ui-card-list-item .cli-chip:focus-visible,ui-card-list-item .cli-inline-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}ui-card-list-item .cli-inline-link{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:500;color:#2563eb;text-decoration:none;transition:color .15s}ui-card-list-item .cli-inline-link:hover{color:#1d4ed8}@media(pointer:coarse),(max-width:480px){ui-card-list-item .cli-chip{min-height:44px;padding:4px 14px}ui-card-list-item .cli-chip--delete{min-height:28px;padding:0}}ui-card-list-item [card-stats]{display:flex;align-items:stretch;background:#f8fafc;border-top:1px solid #f1f5f9}ui-card-list-item [card-detail]{background:#f8fafc;border-top:1px solid #e2e8f0}ui-card-list-item .cli-stat{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px 14px}ui-card-list-item .cli-stat-label{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}ui-card-list-item .cli-stat-value{font-size:.9375rem;font-weight:600;color:#0f172a}ui-card-list-item .cli-stat-divider{width:1px;background:#e2e8f0;margin:8px 0}\n"]
|
|
27663
28391
|
}]
|
|
27664
28392
|
}],
|
|
27665
28393
|
propDecorators: {
|
|
@@ -28236,6 +28964,10 @@ var NotesComponent = class NotesComponent {
|
|
|
28236
28964
|
"dialogTestId",
|
|
28237
28965
|
"hideClose",
|
|
28238
28966
|
"closable",
|
|
28967
|
+
"layout",
|
|
28968
|
+
"closeOnBackdrop",
|
|
28969
|
+
"closeOnEscape",
|
|
28970
|
+
"busy",
|
|
28239
28971
|
"returnFocusTo"
|
|
28240
28972
|
],
|
|
28241
28973
|
outputs: ["close"]
|
|
@@ -28277,6 +29009,7 @@ var NotesComponent = class NotesComponent {
|
|
|
28277
29009
|
"required",
|
|
28278
29010
|
"readonly",
|
|
28279
29011
|
"hint",
|
|
29012
|
+
"ariaDescribedBy",
|
|
28280
29013
|
"hintAsDescription",
|
|
28281
29014
|
"error",
|
|
28282
29015
|
"monospace",
|
|
@@ -29016,7 +29749,7 @@ var ListComponent = class ListComponent {
|
|
|
29016
29749
|
}
|
|
29017
29750
|
`,
|
|
29018
29751
|
isInline: true,
|
|
29019
|
-
styles: ["ui-list{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-list:not(.ul-list--grid)>.ul-item:not(:last-child)>.ul-row>.ul-content>ui-list-item:not(.li-bordered) .li-row{border-bottom:1px solid var(--border, #e2e8f0)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-item--nav{cursor:pointer;border-radius:10px;transition:background-color .12s ease}.ul-item--nav:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.ul-item--nav:hover{background:var(--surface-hover, #f8fafc)}.ul-item--nav:hover:has(>.ul-row>.ul-content>ui-list-item.li-bordered){background:transparent}.ul-item--nav>.ul-row{padding-inline-end:8px}.ul-item--nav:hover .ul-chevron{color:#0f172a;transform:translate(2px)}.ul-chevron{flex:0 0 auto;color:#94a3b8;transition:color .15s ease,transform .15s ease}@media(prefers-reduced-motion:reduce){.ul-chevron{transition:none;transform:none!important}}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}ui-list .ul-item--draggable img,ui-list .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"],
|
|
29752
|
+
styles: ["ui-list{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-list:not(.ul-list--grid)>.ul-item:not(:last-child)>.ul-row>.ul-content>ui-list-item:not(.li-bordered) .li-row{border-bottom:1px solid var(--border, #e2e8f0)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-item--nav{cursor:pointer;border-radius:10px;transition:background-color .12s ease}.ul-item--nav:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.ul-item--nav:hover{background:var(--surface-hover, #f8fafc)}.ul-item--nav:hover:has(>.ul-row>.ul-content>ui-list-item.li-bordered){background:transparent}.ul-item--nav>.ul-row{padding-inline-end:8px}.ul-item--nav:hover .ul-chevron{color:#0f172a;transform:translate(2px)}.ul-chevron{flex:0 0 auto;color:#94a3b8;transition:color .15s ease,transform .15s ease}@media(prefers-reduced-motion:reduce){.ul-chevron{transition:none;transform:none!important}}.ul-item--nav:has(>.ul-row>.ul-content>ui-list-item.li-bordered)>.ul-row{position:relative;padding-inline-end:0}.ul-item--nav:has(>.ul-row>.ul-content>ui-list-item.li-bordered)>.ul-row>.ul-chevron{position:absolute;inset-inline-end:12px;top:50%;margin-top:-10px;pointer-events:none}.ul-item--nav>.ul-row>.ul-content>ui-list-item.li-bordered .li-row{padding-inline-end:40px}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}ui-list .ul-item--draggable img,ui-list .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"],
|
|
29020
29753
|
dependencies: [{
|
|
29021
29754
|
kind: "directive",
|
|
29022
29755
|
type: NgTemplateOutlet,
|
|
@@ -29144,7 +29877,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
29144
29877
|
<div class="ul-sr" role="status" aria-live="polite" aria-atomic="true">{{ announcement() }}</div>
|
|
29145
29878
|
}
|
|
29146
29879
|
`,
|
|
29147
|
-
styles: ["ui-list{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-list:not(.ul-list--grid)>.ul-item:not(:last-child)>.ul-row>.ul-content>ui-list-item:not(.li-bordered) .li-row{border-bottom:1px solid var(--border, #e2e8f0)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-item--nav{cursor:pointer;border-radius:10px;transition:background-color .12s ease}.ul-item--nav:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.ul-item--nav:hover{background:var(--surface-hover, #f8fafc)}.ul-item--nav:hover:has(>.ul-row>.ul-content>ui-list-item.li-bordered){background:transparent}.ul-item--nav>.ul-row{padding-inline-end:8px}.ul-item--nav:hover .ul-chevron{color:#0f172a;transform:translate(2px)}.ul-chevron{flex:0 0 auto;color:#94a3b8;transition:color .15s ease,transform .15s ease}@media(prefers-reduced-motion:reduce){.ul-chevron{transition:none;transform:none!important}}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}ui-list .ul-item--draggable img,ui-list .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"]
|
|
29880
|
+
styles: ["ui-list{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-list:not(.ul-list--grid)>.ul-item:not(:last-child)>.ul-row>.ul-content>ui-list-item:not(.li-bordered) .li-row{border-bottom:1px solid var(--border, #e2e8f0)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-item--nav{cursor:pointer;border-radius:10px;transition:background-color .12s ease}.ul-item--nav:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.ul-item--nav:hover{background:var(--surface-hover, #f8fafc)}.ul-item--nav:hover:has(>.ul-row>.ul-content>ui-list-item.li-bordered){background:transparent}.ul-item--nav>.ul-row{padding-inline-end:8px}.ul-item--nav:hover .ul-chevron{color:#0f172a;transform:translate(2px)}.ul-chevron{flex:0 0 auto;color:#94a3b8;transition:color .15s ease,transform .15s ease}@media(prefers-reduced-motion:reduce){.ul-chevron{transition:none;transform:none!important}}.ul-item--nav:has(>.ul-row>.ul-content>ui-list-item.li-bordered)>.ul-row{position:relative;padding-inline-end:0}.ul-item--nav:has(>.ul-row>.ul-content>ui-list-item.li-bordered)>.ul-row>.ul-chevron{position:absolute;inset-inline-end:12px;top:50%;margin-top:-10px;pointer-events:none}.ul-item--nav>.ul-row>.ul-content>ui-list-item.li-bordered .li-row{padding-inline-end:40px}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}ui-list .ul-item--draggable img,ui-list .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"]
|
|
29148
29881
|
}]
|
|
29149
29882
|
}],
|
|
29150
29883
|
propDecorators: {
|
|
@@ -34098,6 +34831,7 @@ var DateRangePickerComponent = class DateRangePickerComponent {
|
|
|
34098
34831
|
"min",
|
|
34099
34832
|
"max",
|
|
34100
34833
|
"hint",
|
|
34834
|
+
"ariaDescribedBy",
|
|
34101
34835
|
"error",
|
|
34102
34836
|
"showErrors",
|
|
34103
34837
|
"disabled"
|
|
@@ -42473,6 +43207,10 @@ var ImageGalleryDialogComponent = class ImageGalleryDialogComponent {
|
|
|
42473
43207
|
"dialogTestId",
|
|
42474
43208
|
"hideClose",
|
|
42475
43209
|
"closable",
|
|
43210
|
+
"layout",
|
|
43211
|
+
"closeOnBackdrop",
|
|
43212
|
+
"closeOnEscape",
|
|
43213
|
+
"busy",
|
|
42476
43214
|
"returnFocusTo"
|
|
42477
43215
|
],
|
|
42478
43216
|
outputs: ["close"]
|
|
@@ -45441,6 +46179,7 @@ var SetupWizardComponent = class SetupWizardComponent {
|
|
|
45441
46179
|
"inputmode",
|
|
45442
46180
|
"readonly",
|
|
45443
46181
|
"hint",
|
|
46182
|
+
"ariaDescribedBy",
|
|
45444
46183
|
"error",
|
|
45445
46184
|
"phoneFormat",
|
|
45446
46185
|
"min",
|
|
@@ -47500,6 +48239,7 @@ var EmailTemplateEditorComponent = class EmailTemplateEditorComponent {
|
|
|
47500
48239
|
"min",
|
|
47501
48240
|
"max",
|
|
47502
48241
|
"hint",
|
|
48242
|
+
"ariaDescribedBy",
|
|
47503
48243
|
"error",
|
|
47504
48244
|
"showErrors",
|
|
47505
48245
|
"disabled"
|
|
@@ -47593,6 +48333,7 @@ var EmailTemplateEditorComponent = class EmailTemplateEditorComponent {
|
|
|
47593
48333
|
"valueType",
|
|
47594
48334
|
"required",
|
|
47595
48335
|
"hint",
|
|
48336
|
+
"ariaDescribedBy",
|
|
47596
48337
|
"error",
|
|
47597
48338
|
"showErrors",
|
|
47598
48339
|
"size",
|
|
@@ -47653,6 +48394,7 @@ var EmailTemplateEditorComponent = class EmailTemplateEditorComponent {
|
|
|
47653
48394
|
"inputmode",
|
|
47654
48395
|
"readonly",
|
|
47655
48396
|
"hint",
|
|
48397
|
+
"ariaDescribedBy",
|
|
47656
48398
|
"error",
|
|
47657
48399
|
"phoneFormat",
|
|
47658
48400
|
"min",
|
|
@@ -48330,100 +49072,1113 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
48330
49072
|
type: i0.Input,
|
|
48331
49073
|
args: [{
|
|
48332
49074
|
isSignal: true,
|
|
48333
|
-
alias: "testSendEnabled",
|
|
48334
|
-
required: false
|
|
49075
|
+
alias: "testSendEnabled",
|
|
49076
|
+
required: false
|
|
49077
|
+
}]
|
|
49078
|
+
}],
|
|
49079
|
+
saving: [{
|
|
49080
|
+
type: i0.Input,
|
|
49081
|
+
args: [{
|
|
49082
|
+
isSignal: true,
|
|
49083
|
+
alias: "saving",
|
|
49084
|
+
required: false
|
|
49085
|
+
}]
|
|
49086
|
+
}],
|
|
49087
|
+
testSending: [{
|
|
49088
|
+
type: i0.Input,
|
|
49089
|
+
args: [{
|
|
49090
|
+
isSignal: true,
|
|
49091
|
+
alias: "testSending",
|
|
49092
|
+
required: false
|
|
49093
|
+
}]
|
|
49094
|
+
}],
|
|
49095
|
+
videos: [{
|
|
49096
|
+
type: i0.Input,
|
|
49097
|
+
args: [{
|
|
49098
|
+
isSignal: true,
|
|
49099
|
+
alias: "videos",
|
|
49100
|
+
required: false
|
|
49101
|
+
}]
|
|
49102
|
+
}],
|
|
49103
|
+
hideVideos: [{
|
|
49104
|
+
type: i0.Input,
|
|
49105
|
+
args: [{
|
|
49106
|
+
isSignal: true,
|
|
49107
|
+
alias: "hideVideos",
|
|
49108
|
+
required: false
|
|
49109
|
+
}]
|
|
49110
|
+
}],
|
|
49111
|
+
videosLoading: [{
|
|
49112
|
+
type: i0.Input,
|
|
49113
|
+
args: [{
|
|
49114
|
+
isSignal: true,
|
|
49115
|
+
alias: "videosLoading",
|
|
49116
|
+
required: false
|
|
49117
|
+
}]
|
|
49118
|
+
}],
|
|
49119
|
+
videoDefaults: [{
|
|
49120
|
+
type: i0.Input,
|
|
49121
|
+
args: [{
|
|
49122
|
+
isSignal: true,
|
|
49123
|
+
alias: "videoDefaults",
|
|
49124
|
+
required: false
|
|
49125
|
+
}]
|
|
49126
|
+
}],
|
|
49127
|
+
videoLink: [{
|
|
49128
|
+
type: i0.Input,
|
|
49129
|
+
args: [{
|
|
49130
|
+
isSignal: true,
|
|
49131
|
+
alias: "videoLink",
|
|
49132
|
+
required: false
|
|
49133
|
+
}]
|
|
49134
|
+
}],
|
|
49135
|
+
noVideosHint: [{
|
|
49136
|
+
type: i0.Input,
|
|
49137
|
+
args: [{
|
|
49138
|
+
isSignal: true,
|
|
49139
|
+
alias: "noVideosHint",
|
|
49140
|
+
required: false
|
|
49141
|
+
}]
|
|
49142
|
+
}],
|
|
49143
|
+
save: [{
|
|
49144
|
+
type: i0.Output,
|
|
49145
|
+
args: ["save"]
|
|
49146
|
+
}],
|
|
49147
|
+
testSend: [{
|
|
49148
|
+
type: i0.Output,
|
|
49149
|
+
args: ["testSend"]
|
|
49150
|
+
}],
|
|
49151
|
+
videosRequested: [{
|
|
49152
|
+
type: i0.Output,
|
|
49153
|
+
args: ["videosRequested"]
|
|
49154
|
+
}],
|
|
49155
|
+
useAsMine: [{
|
|
49156
|
+
type: i0.Output,
|
|
49157
|
+
args: ["useAsMine"]
|
|
49158
|
+
}],
|
|
49159
|
+
blockEditors: [{
|
|
49160
|
+
type: i0.ViewChildren,
|
|
49161
|
+
args: ["blockEditor", { isSignal: true }]
|
|
49162
|
+
}],
|
|
49163
|
+
colorInputRef: [{
|
|
49164
|
+
type: i0.ViewChild,
|
|
49165
|
+
args: ["colorInput", { isSignal: true }]
|
|
49166
|
+
}]
|
|
49167
|
+
}
|
|
49168
|
+
});
|
|
49169
|
+
const facebookShareUrl = (url) => `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`;
|
|
49170
|
+
const xShareUrl = (url, text) => `https://twitter.com/intent/tweet?url=${encodeURIComponent(url)}&text=${encodeURIComponent(text)}`;
|
|
49171
|
+
const linkedInShareUrl = (url) => `https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`;
|
|
49172
|
+
const gmailShareUrl = (url, title) => `https://mail.google.com/mail/?view=cm&fs=1&su=${encodeURIComponent(title)}&body=${encodeURIComponent(`${title}\n\n${url}`)}`;
|
|
49173
|
+
const outlookShareUrl = (url, title) => `https://outlook.live.com/mail/0/deeplink/compose?subject=${encodeURIComponent(title)}&body=${encodeURIComponent(`${title}\n\n${url}`)}`;
|
|
49174
|
+
const emailShareUrl = (url, title) => `mailto:?subject=${encodeURIComponent(title)}&body=${encodeURIComponent(`${title}\n\n${url}`)}`;
|
|
49175
|
+
let nextShareMenuId = 0;
|
|
49176
|
+
var ShareMenuComponent = class ShareMenuComponent {
|
|
49177
|
+
constructor() {
|
|
49178
|
+
this.url = input.required(...ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []);
|
|
49179
|
+
this.title = input.required(...ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []);
|
|
49180
|
+
this.label = input("this page", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
49181
|
+
this.panelId = `ui-share-panel-${nextShareMenuId++}`;
|
|
49182
|
+
this.doc = inject(DOCUMENT);
|
|
49183
|
+
this.toast = inject(ToastService);
|
|
49184
|
+
this.injector = inject(Injector);
|
|
49185
|
+
this.host = inject(ElementRef);
|
|
49186
|
+
this.trigger = viewChild("trigger", ...ngDevMode ? [{ debugName: "trigger" }] : /* istanbul ignore next */ []);
|
|
49187
|
+
this.panel = viewChild("panel", ...ngDevMode ? [{ debugName: "panel" }] : /* istanbul ignore next */ []);
|
|
49188
|
+
this.open = signal(false, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
|
|
49189
|
+
this.shiftX = signal(0, ...ngDevMode ? [{ debugName: "shiftX" }] : /* istanbul ignore next */ []);
|
|
49190
|
+
this.isTouchDevice = computed(() => this.doc.defaultView?.matchMedia?.("(pointer: coarse)").matches === true, ...ngDevMode ? [{ debugName: "isTouchDevice" }] : /* istanbul ignore next */ []);
|
|
49191
|
+
this.canNativeShare = computed(() => typeof this.doc.defaultView?.navigator?.share === "function" && this.isTouchDevice(), ...ngDevMode ? [{ debugName: "canNativeShare" }] : /* istanbul ignore next */ []);
|
|
49192
|
+
this.tiles = computed(() => [
|
|
49193
|
+
{
|
|
49194
|
+
value: "facebook",
|
|
49195
|
+
label: "Facebook",
|
|
49196
|
+
background: "#1877f2"
|
|
49197
|
+
},
|
|
49198
|
+
{
|
|
49199
|
+
value: "x",
|
|
49200
|
+
label: "X",
|
|
49201
|
+
background: "#000000"
|
|
49202
|
+
},
|
|
49203
|
+
{
|
|
49204
|
+
value: "linkedin",
|
|
49205
|
+
label: "LinkedIn",
|
|
49206
|
+
background: "#0a66c2"
|
|
49207
|
+
},
|
|
49208
|
+
...this.isTouchDevice() ? [{
|
|
49209
|
+
value: "email",
|
|
49210
|
+
label: "Email",
|
|
49211
|
+
background: "#78716c"
|
|
49212
|
+
}] : [{
|
|
49213
|
+
value: "gmail",
|
|
49214
|
+
label: "Gmail",
|
|
49215
|
+
background: "#ea4335"
|
|
49216
|
+
}, {
|
|
49217
|
+
value: "outlook",
|
|
49218
|
+
label: "Outlook",
|
|
49219
|
+
background: "#0078d4"
|
|
49220
|
+
}],
|
|
49221
|
+
{
|
|
49222
|
+
value: "copy",
|
|
49223
|
+
label: "Copy link",
|
|
49224
|
+
background: "var(--ui-share-accent, var(--primary, #2563eb))"
|
|
49225
|
+
},
|
|
49226
|
+
...this.canNativeShare() ? [{
|
|
49227
|
+
value: "native",
|
|
49228
|
+
label: "More",
|
|
49229
|
+
background: "#57534e"
|
|
49230
|
+
}] : []
|
|
49231
|
+
], ...ngDevMode ? [{ debugName: "tiles" }] : /* istanbul ignore next */ []);
|
|
49232
|
+
this.links = computed(() => ({
|
|
49233
|
+
facebook: facebookShareUrl(this.url()),
|
|
49234
|
+
x: xShareUrl(this.url(), this.title()),
|
|
49235
|
+
linkedin: linkedInShareUrl(this.url()),
|
|
49236
|
+
email: emailShareUrl(this.url(), this.title()),
|
|
49237
|
+
gmail: gmailShareUrl(this.url(), this.title()),
|
|
49238
|
+
outlook: outlookShareUrl(this.url(), this.title())
|
|
49239
|
+
}), ...ngDevMode ? [{ debugName: "links" }] : /* istanbul ignore next */ []);
|
|
49240
|
+
}
|
|
49241
|
+
toggle(event) {
|
|
49242
|
+
event.stopPropagation();
|
|
49243
|
+
if (this.open()) this.close();
|
|
49244
|
+
else this.show();
|
|
49245
|
+
}
|
|
49246
|
+
show() {
|
|
49247
|
+
this.shiftX.set(0);
|
|
49248
|
+
this.open.set(true);
|
|
49249
|
+
afterNextRender(() => {
|
|
49250
|
+
const panel = this.panel()?.nativeElement;
|
|
49251
|
+
if (!panel) return;
|
|
49252
|
+
const view = this.doc.documentElement.clientWidth;
|
|
49253
|
+
const rect = panel.getBoundingClientRect();
|
|
49254
|
+
const margin = 8;
|
|
49255
|
+
if (rect.right > view - margin) this.shiftX.set(Math.round(view - margin - rect.right));
|
|
49256
|
+
else if (rect.left < margin) this.shiftX.set(Math.round(margin - rect.left));
|
|
49257
|
+
if (this.doc.activeElement === this.trigger()?.nativeElement) panel.querySelector("button")?.focus();
|
|
49258
|
+
}, { injector: this.injector });
|
|
49259
|
+
}
|
|
49260
|
+
close(returnFocus = false) {
|
|
49261
|
+
if (!this.open()) return;
|
|
49262
|
+
this.open.set(false);
|
|
49263
|
+
if (returnFocus) this.trigger()?.nativeElement.focus();
|
|
49264
|
+
}
|
|
49265
|
+
onEscape() {
|
|
49266
|
+
if (!this.open()) return;
|
|
49267
|
+
const focusInside = this.host.nativeElement.contains(this.doc.activeElement);
|
|
49268
|
+
this.close(focusInside);
|
|
49269
|
+
}
|
|
49270
|
+
onDocumentClick(event) {
|
|
49271
|
+
if (this.open() && !this.host.nativeElement.contains(event.target)) this.close();
|
|
49272
|
+
}
|
|
49273
|
+
onFocusOut(event) {
|
|
49274
|
+
const next = event.relatedTarget;
|
|
49275
|
+
if (this.open() && next && !this.host.nativeElement.contains(next)) this.close();
|
|
49276
|
+
}
|
|
49277
|
+
onPanelKeydown(event) {
|
|
49278
|
+
const options = Array.from(this.panel().nativeElement.querySelectorAll("button"));
|
|
49279
|
+
const i = options.indexOf(this.doc.activeElement);
|
|
49280
|
+
const to = event.key === "ArrowRight" ? (i + 1) % options.length : event.key === "ArrowLeft" ? (i - 1 + options.length) % options.length : event.key === "Home" ? 0 : event.key === "End" ? options.length - 1 : -1;
|
|
49281
|
+
if (to < 0) return;
|
|
49282
|
+
event.preventDefault();
|
|
49283
|
+
options[to].focus();
|
|
49284
|
+
}
|
|
49285
|
+
choose(option) {
|
|
49286
|
+
switch (option) {
|
|
49287
|
+
case "native":
|
|
49288
|
+
this.nativeShare();
|
|
49289
|
+
break;
|
|
49290
|
+
case "facebook":
|
|
49291
|
+
case "x":
|
|
49292
|
+
case "linkedin":
|
|
49293
|
+
case "gmail":
|
|
49294
|
+
case "outlook":
|
|
49295
|
+
this.doc.defaultView?.open(this.links()[option], "_blank", "noopener,noreferrer");
|
|
49296
|
+
break;
|
|
49297
|
+
case "email":
|
|
49298
|
+
this.email();
|
|
49299
|
+
break;
|
|
49300
|
+
case "copy": this.copy();
|
|
49301
|
+
}
|
|
49302
|
+
this.close(true);
|
|
49303
|
+
}
|
|
49304
|
+
async nativeShare() {
|
|
49305
|
+
try {
|
|
49306
|
+
await this.doc.defaultView.navigator.share({
|
|
49307
|
+
title: this.title(),
|
|
49308
|
+
url: this.url()
|
|
49309
|
+
});
|
|
49310
|
+
} catch (err) {
|
|
49311
|
+
if (err?.name !== "AbortError") this.toast.error("Sharing from this page isn't available here. Use one of the other options.");
|
|
49312
|
+
}
|
|
49313
|
+
}
|
|
49314
|
+
email() {
|
|
49315
|
+
const link = this.doc.createElement("a");
|
|
49316
|
+
link.href = this.links().email;
|
|
49317
|
+
link.rel = "noopener noreferrer";
|
|
49318
|
+
link.click();
|
|
49319
|
+
}
|
|
49320
|
+
async copy() {
|
|
49321
|
+
const url = this.url();
|
|
49322
|
+
try {
|
|
49323
|
+
await this.doc.defaultView.navigator.clipboard.writeText(url);
|
|
49324
|
+
this.toast.show("Link copied");
|
|
49325
|
+
return;
|
|
49326
|
+
} catch {}
|
|
49327
|
+
if (this.legacyCopy(url)) {
|
|
49328
|
+
this.toast.show("Link copied");
|
|
49329
|
+
return;
|
|
49330
|
+
}
|
|
49331
|
+
this.doc.defaultView?.prompt("Copy this link:", url);
|
|
49332
|
+
}
|
|
49333
|
+
legacyCopy(text) {
|
|
49334
|
+
const textarea = this.doc.createElement("textarea");
|
|
49335
|
+
textarea.value = text;
|
|
49336
|
+
textarea.setAttribute("readonly", "");
|
|
49337
|
+
textarea.style.position = "fixed";
|
|
49338
|
+
textarea.style.opacity = "0";
|
|
49339
|
+
this.doc.body.appendChild(textarea);
|
|
49340
|
+
try {
|
|
49341
|
+
textarea.select();
|
|
49342
|
+
textarea.setSelectionRange(0, text.length);
|
|
49343
|
+
return this.doc.execCommand("copy");
|
|
49344
|
+
} catch {
|
|
49345
|
+
return false;
|
|
49346
|
+
} finally {
|
|
49347
|
+
textarea.remove();
|
|
49348
|
+
}
|
|
49349
|
+
}
|
|
49350
|
+
static {
|
|
49351
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
49352
|
+
minVersion: "12.0.0",
|
|
49353
|
+
version: "22.2.2",
|
|
49354
|
+
ngImport: i0,
|
|
49355
|
+
type: ShareMenuComponent,
|
|
49356
|
+
deps: [],
|
|
49357
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
49358
|
+
});
|
|
49359
|
+
}
|
|
49360
|
+
static {
|
|
49361
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
49362
|
+
minVersion: "17.0.0",
|
|
49363
|
+
version: "22.2.2",
|
|
49364
|
+
type: ShareMenuComponent,
|
|
49365
|
+
isStandalone: true,
|
|
49366
|
+
selector: "ui-share-menu",
|
|
49367
|
+
inputs: {
|
|
49368
|
+
url: {
|
|
49369
|
+
classPropertyName: "url",
|
|
49370
|
+
publicName: "url",
|
|
49371
|
+
isSignal: true,
|
|
49372
|
+
isRequired: true,
|
|
49373
|
+
transformFunction: null
|
|
49374
|
+
},
|
|
49375
|
+
title: {
|
|
49376
|
+
classPropertyName: "title",
|
|
49377
|
+
publicName: "title",
|
|
49378
|
+
isSignal: true,
|
|
49379
|
+
isRequired: true,
|
|
49380
|
+
transformFunction: null
|
|
49381
|
+
},
|
|
49382
|
+
label: {
|
|
49383
|
+
classPropertyName: "label",
|
|
49384
|
+
publicName: "label",
|
|
49385
|
+
isSignal: true,
|
|
49386
|
+
isRequired: false,
|
|
49387
|
+
transformFunction: null
|
|
49388
|
+
}
|
|
49389
|
+
},
|
|
49390
|
+
host: { listeners: {
|
|
49391
|
+
"document:keydown.escape": "onEscape()",
|
|
49392
|
+
"document:click": "onDocumentClick($event)",
|
|
49393
|
+
"focusout": "onFocusOut($event)"
|
|
49394
|
+
} },
|
|
49395
|
+
viewQueries: [{
|
|
49396
|
+
propertyName: "trigger",
|
|
49397
|
+
first: true,
|
|
49398
|
+
predicate: ["trigger"],
|
|
49399
|
+
descendants: true,
|
|
49400
|
+
isSignal: true
|
|
49401
|
+
}, {
|
|
49402
|
+
propertyName: "panel",
|
|
49403
|
+
first: true,
|
|
49404
|
+
predicate: ["panel"],
|
|
49405
|
+
descendants: true,
|
|
49406
|
+
isSignal: true
|
|
49407
|
+
}],
|
|
49408
|
+
ngImport: i0,
|
|
49409
|
+
template: `
|
|
49410
|
+
<div class="share-wrap">
|
|
49411
|
+
<button
|
|
49412
|
+
#trigger
|
|
49413
|
+
type="button"
|
|
49414
|
+
class="share-trigger"
|
|
49415
|
+
data-testid="share-trigger"
|
|
49416
|
+
[attr.aria-label]="'Share ' + label()"
|
|
49417
|
+
[attr.aria-expanded]="open()"
|
|
49418
|
+
[attr.aria-controls]="open() ? panelId : null"
|
|
49419
|
+
(click)="toggle($event)"
|
|
49420
|
+
>
|
|
49421
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
49422
|
+
<circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/>
|
|
49423
|
+
<line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/>
|
|
49424
|
+
</svg>
|
|
49425
|
+
Share
|
|
49426
|
+
</button>
|
|
49427
|
+
|
|
49428
|
+
@if (open()) {
|
|
49429
|
+
<div
|
|
49430
|
+
#panel
|
|
49431
|
+
[id]="panelId"
|
|
49432
|
+
class="share-panel"
|
|
49433
|
+
role="group"
|
|
49434
|
+
aria-label="Share options"
|
|
49435
|
+
data-testid="share-panel"
|
|
49436
|
+
[style.transform]="'translateX(' + shiftX() + 'px)'"
|
|
49437
|
+
(keydown)="onPanelKeydown($event)"
|
|
49438
|
+
>
|
|
49439
|
+
@for (tile of tiles(); track tile.value) {
|
|
49440
|
+
<button type="button" class="share-tile" [attr.data-testid]="'share-' + tile.value" (click)="choose(tile.value)">
|
|
49441
|
+
<span class="share-icon" [style.background]="tile.background" aria-hidden="true">
|
|
49442
|
+
@switch (tile.value) {
|
|
49443
|
+
@case ('facebook') {
|
|
49444
|
+
<svg width="26" height="26" viewBox="0 0 24 24" fill="currentColor"><path d="M13.5 21v-7.5h2.6l.4-3h-3V8.6c0-.9.3-1.5 1.6-1.5h1.5V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.8 1.4-3.8 3.9v2.3H8v3h2.5V21h3z"/></svg>
|
|
49445
|
+
}
|
|
49446
|
+
@case ('x') {
|
|
49447
|
+
<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M17.8 3h3.1l-6.8 7.7L22 21h-6.2l-4.9-6.4L5.3 21H2.2l7.3-8.3L2 3h6.4l4.4 5.8L17.8 3zm-1.1 16.2h1.7L7.3 4.7H5.5l11.2 14.5z"/></svg>
|
|
49448
|
+
}
|
|
49449
|
+
@case ('linkedin') {
|
|
49450
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M6.9 8.9H3.6V20h3.3V8.9zM5.2 3.5a1.9 1.9 0 100 3.8 1.9 1.9 0 000-3.8zM20.4 13.4c0-3-1.6-4.7-4.1-4.7-1.2 0-2.2.6-2.7 1.4V8.9h-3.2V20h3.3v-6c0-1.4.7-2.4 1.9-2.4s1.5 1 1.5 2.4V20h3.3v-6.6z"/></svg>
|
|
49451
|
+
}
|
|
49452
|
+
@case ('email') {
|
|
49453
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg>
|
|
49454
|
+
}
|
|
49455
|
+
@case ('gmail') {
|
|
49456
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg>
|
|
49457
|
+
}
|
|
49458
|
+
@case ('outlook') {
|
|
49459
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg>
|
|
49460
|
+
}
|
|
49461
|
+
@case ('copy') {
|
|
49462
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 007.1 0l3-3a5 5 0 00-7.1-7.1l-1.7 1.7"/><path d="M14 11a5 5 0 00-7.1 0l-3 3A5 5 0 0011 21l1.7-1.7"/></svg>
|
|
49463
|
+
}
|
|
49464
|
+
@case ('native') {
|
|
49465
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>
|
|
49466
|
+
}
|
|
49467
|
+
}
|
|
49468
|
+
</span>
|
|
49469
|
+
<span class="share-name">{{ tile.label }}</span>
|
|
49470
|
+
</button>
|
|
49471
|
+
}
|
|
49472
|
+
</div>
|
|
49473
|
+
}
|
|
49474
|
+
</div>
|
|
49475
|
+
<ui-toast />
|
|
49476
|
+
`,
|
|
49477
|
+
isInline: true,
|
|
49478
|
+
styles: [":host{display:inline-block}.share-wrap{position:relative}.share-trigger{display:inline-flex;align-items:center;gap:.4rem;min-height:2.25rem;padding:.35rem .95rem;border:1px solid #d6d3d1;border-radius:9999px;background:#fff;color:#44403c;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.share-trigger:hover{border-color:#a8a29e;background:#fafaf9}.share-trigger[aria-expanded=true]{border-color:#78716c;background:#f5f5f4}.share-trigger:focus-visible,.share-tile:focus-visible{outline:2px solid var(--ui-share-accent, var(--primary, #2563eb));outline-offset:2px}@media(pointer:coarse){.share-trigger{min-height:2.75rem}}.share-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:50;display:flex;align-items:flex-start;gap:4px;padding:14px 12px 10px;width:max-content;max-width:calc(100vw - 16px);overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e7e5e4;border-radius:16px;box-shadow:0 10px 30px #1c19172e}.share-tile{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none;width:64px;padding:2px 0;border:0;background:none;border-radius:10px;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.share-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:9999px;color:#fff;transition:transform .12s ease,box-shadow .12s ease}.share-tile:hover .share-icon{transform:translateY(-2px);box-shadow:0 4px 10px #1c191740}.share-name{font-size:.75rem;line-height:1.1;font-weight:500;color:#57534e;text-align:center}@media(max-width:480px){.share-panel{padding:12px 8px 8px;gap:2px}.share-tile{width:auto;min-width:48px;padding:2px 1px}.share-icon{width:44px;height:44px}.share-name{white-space:nowrap;font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.share-icon{transition:none}.share-tile:hover .share-icon{transform:none}}\n"],
|
|
49479
|
+
dependencies: [{
|
|
49480
|
+
kind: "component",
|
|
49481
|
+
type: ToastComponent,
|
|
49482
|
+
selector: "ui-toast",
|
|
49483
|
+
inputs: ["dismissible", "persistentLiveRegion"]
|
|
49484
|
+
}],
|
|
49485
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
49486
|
+
});
|
|
49487
|
+
}
|
|
49488
|
+
};
|
|
49489
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
49490
|
+
minVersion: "12.0.0",
|
|
49491
|
+
version: "22.2.2",
|
|
49492
|
+
ngImport: i0,
|
|
49493
|
+
type: ShareMenuComponent,
|
|
49494
|
+
decorators: [{
|
|
49495
|
+
type: Component,
|
|
49496
|
+
args: [{
|
|
49497
|
+
selector: "ui-share-menu",
|
|
49498
|
+
standalone: true,
|
|
49499
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49500
|
+
imports: [ToastComponent],
|
|
49501
|
+
host: {
|
|
49502
|
+
"(document:keydown.escape)": "onEscape()",
|
|
49503
|
+
"(document:click)": "onDocumentClick($event)",
|
|
49504
|
+
"(focusout)": "onFocusOut($event)"
|
|
49505
|
+
},
|
|
49506
|
+
template: `
|
|
49507
|
+
<div class="share-wrap">
|
|
49508
|
+
<button
|
|
49509
|
+
#trigger
|
|
49510
|
+
type="button"
|
|
49511
|
+
class="share-trigger"
|
|
49512
|
+
data-testid="share-trigger"
|
|
49513
|
+
[attr.aria-label]="'Share ' + label()"
|
|
49514
|
+
[attr.aria-expanded]="open()"
|
|
49515
|
+
[attr.aria-controls]="open() ? panelId : null"
|
|
49516
|
+
(click)="toggle($event)"
|
|
49517
|
+
>
|
|
49518
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
49519
|
+
<circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/>
|
|
49520
|
+
<line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/>
|
|
49521
|
+
</svg>
|
|
49522
|
+
Share
|
|
49523
|
+
</button>
|
|
49524
|
+
|
|
49525
|
+
@if (open()) {
|
|
49526
|
+
<div
|
|
49527
|
+
#panel
|
|
49528
|
+
[id]="panelId"
|
|
49529
|
+
class="share-panel"
|
|
49530
|
+
role="group"
|
|
49531
|
+
aria-label="Share options"
|
|
49532
|
+
data-testid="share-panel"
|
|
49533
|
+
[style.transform]="'translateX(' + shiftX() + 'px)'"
|
|
49534
|
+
(keydown)="onPanelKeydown($event)"
|
|
49535
|
+
>
|
|
49536
|
+
@for (tile of tiles(); track tile.value) {
|
|
49537
|
+
<button type="button" class="share-tile" [attr.data-testid]="'share-' + tile.value" (click)="choose(tile.value)">
|
|
49538
|
+
<span class="share-icon" [style.background]="tile.background" aria-hidden="true">
|
|
49539
|
+
@switch (tile.value) {
|
|
49540
|
+
@case ('facebook') {
|
|
49541
|
+
<svg width="26" height="26" viewBox="0 0 24 24" fill="currentColor"><path d="M13.5 21v-7.5h2.6l.4-3h-3V8.6c0-.9.3-1.5 1.6-1.5h1.5V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.8 1.4-3.8 3.9v2.3H8v3h2.5V21h3z"/></svg>
|
|
49542
|
+
}
|
|
49543
|
+
@case ('x') {
|
|
49544
|
+
<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M17.8 3h3.1l-6.8 7.7L22 21h-6.2l-4.9-6.4L5.3 21H2.2l7.3-8.3L2 3h6.4l4.4 5.8L17.8 3zm-1.1 16.2h1.7L7.3 4.7H5.5l11.2 14.5z"/></svg>
|
|
49545
|
+
}
|
|
49546
|
+
@case ('linkedin') {
|
|
49547
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M6.9 8.9H3.6V20h3.3V8.9zM5.2 3.5a1.9 1.9 0 100 3.8 1.9 1.9 0 000-3.8zM20.4 13.4c0-3-1.6-4.7-4.1-4.7-1.2 0-2.2.6-2.7 1.4V8.9h-3.2V20h3.3v-6c0-1.4.7-2.4 1.9-2.4s1.5 1 1.5 2.4V20h3.3v-6.6z"/></svg>
|
|
49548
|
+
}
|
|
49549
|
+
@case ('email') {
|
|
49550
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg>
|
|
49551
|
+
}
|
|
49552
|
+
@case ('gmail') {
|
|
49553
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg>
|
|
49554
|
+
}
|
|
49555
|
+
@case ('outlook') {
|
|
49556
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg>
|
|
49557
|
+
}
|
|
49558
|
+
@case ('copy') {
|
|
49559
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 007.1 0l3-3a5 5 0 00-7.1-7.1l-1.7 1.7"/><path d="M14 11a5 5 0 00-7.1 0l-3 3A5 5 0 0011 21l1.7-1.7"/></svg>
|
|
49560
|
+
}
|
|
49561
|
+
@case ('native') {
|
|
49562
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>
|
|
49563
|
+
}
|
|
49564
|
+
}
|
|
49565
|
+
</span>
|
|
49566
|
+
<span class="share-name">{{ tile.label }}</span>
|
|
49567
|
+
</button>
|
|
49568
|
+
}
|
|
49569
|
+
</div>
|
|
49570
|
+
}
|
|
49571
|
+
</div>
|
|
49572
|
+
<ui-toast />
|
|
49573
|
+
`,
|
|
49574
|
+
styles: [":host{display:inline-block}.share-wrap{position:relative}.share-trigger{display:inline-flex;align-items:center;gap:.4rem;min-height:2.25rem;padding:.35rem .95rem;border:1px solid #d6d3d1;border-radius:9999px;background:#fff;color:#44403c;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.share-trigger:hover{border-color:#a8a29e;background:#fafaf9}.share-trigger[aria-expanded=true]{border-color:#78716c;background:#f5f5f4}.share-trigger:focus-visible,.share-tile:focus-visible{outline:2px solid var(--ui-share-accent, var(--primary, #2563eb));outline-offset:2px}@media(pointer:coarse){.share-trigger{min-height:2.75rem}}.share-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:50;display:flex;align-items:flex-start;gap:4px;padding:14px 12px 10px;width:max-content;max-width:calc(100vw - 16px);overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e7e5e4;border-radius:16px;box-shadow:0 10px 30px #1c19172e}.share-tile{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none;width:64px;padding:2px 0;border:0;background:none;border-radius:10px;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.share-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:9999px;color:#fff;transition:transform .12s ease,box-shadow .12s ease}.share-tile:hover .share-icon{transform:translateY(-2px);box-shadow:0 4px 10px #1c191740}.share-name{font-size:.75rem;line-height:1.1;font-weight:500;color:#57534e;text-align:center}@media(max-width:480px){.share-panel{padding:12px 8px 8px;gap:2px}.share-tile{width:auto;min-width:48px;padding:2px 1px}.share-icon{width:44px;height:44px}.share-name{white-space:nowrap;font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.share-icon{transition:none}.share-tile:hover .share-icon{transform:none}}\n"]
|
|
49575
|
+
}]
|
|
49576
|
+
}],
|
|
49577
|
+
propDecorators: {
|
|
49578
|
+
url: [{
|
|
49579
|
+
type: i0.Input,
|
|
49580
|
+
args: [{
|
|
49581
|
+
isSignal: true,
|
|
49582
|
+
alias: "url",
|
|
49583
|
+
required: true
|
|
48335
49584
|
}]
|
|
48336
49585
|
}],
|
|
48337
|
-
|
|
49586
|
+
title: [{
|
|
48338
49587
|
type: i0.Input,
|
|
48339
49588
|
args: [{
|
|
48340
49589
|
isSignal: true,
|
|
48341
|
-
alias: "
|
|
48342
|
-
required:
|
|
49590
|
+
alias: "title",
|
|
49591
|
+
required: true
|
|
48343
49592
|
}]
|
|
48344
49593
|
}],
|
|
48345
|
-
|
|
49594
|
+
label: [{
|
|
48346
49595
|
type: i0.Input,
|
|
48347
49596
|
args: [{
|
|
48348
49597
|
isSignal: true,
|
|
48349
|
-
alias: "
|
|
49598
|
+
alias: "label",
|
|
48350
49599
|
required: false
|
|
48351
49600
|
}]
|
|
48352
49601
|
}],
|
|
48353
|
-
|
|
48354
|
-
type: i0.
|
|
48355
|
-
args: [{
|
|
48356
|
-
isSignal: true,
|
|
48357
|
-
alias: "videos",
|
|
48358
|
-
required: false
|
|
48359
|
-
}]
|
|
49602
|
+
trigger: [{
|
|
49603
|
+
type: i0.ViewChild,
|
|
49604
|
+
args: ["trigger", { isSignal: true }]
|
|
48360
49605
|
}],
|
|
48361
|
-
|
|
49606
|
+
panel: [{
|
|
49607
|
+
type: i0.ViewChild,
|
|
49608
|
+
args: ["panel", { isSignal: true }]
|
|
49609
|
+
}]
|
|
49610
|
+
}
|
|
49611
|
+
});
|
|
49612
|
+
var SnackbarService = class SnackbarService {
|
|
49613
|
+
constructor() {
|
|
49614
|
+
this._messages = signal([], ...ngDevMode ? [{ debugName: "_messages" }] : /* istanbul ignore next */ []);
|
|
49615
|
+
this.nextId = 0;
|
|
49616
|
+
this.timers = /* @__PURE__ */ new Map();
|
|
49617
|
+
}
|
|
49618
|
+
messages$() {
|
|
49619
|
+
return [...this._messages()];
|
|
49620
|
+
}
|
|
49621
|
+
showSuccess(message, duration = 5e3) {
|
|
49622
|
+
this.show(message, "success", duration);
|
|
49623
|
+
}
|
|
49624
|
+
showError(message, duration = 5e3) {
|
|
49625
|
+
this.show(message, "error", duration);
|
|
49626
|
+
}
|
|
49627
|
+
showInfo(message, duration = 5e3, action) {
|
|
49628
|
+
this.show(message, "info", duration, action);
|
|
49629
|
+
}
|
|
49630
|
+
show(message, type, duration, action) {
|
|
49631
|
+
const id = this.nextId++;
|
|
49632
|
+
this._messages.update((messages) => [...messages, {
|
|
49633
|
+
id,
|
|
49634
|
+
message,
|
|
49635
|
+
type,
|
|
49636
|
+
action
|
|
49637
|
+
}]);
|
|
49638
|
+
if (duration > 0) this.timers.set(id, setTimeout(() => this.dismiss(id), duration));
|
|
49639
|
+
}
|
|
49640
|
+
dismiss(id) {
|
|
49641
|
+
const timer = this.timers.get(id);
|
|
49642
|
+
if (timer) {
|
|
49643
|
+
clearTimeout(timer);
|
|
49644
|
+
this.timers.delete(id);
|
|
49645
|
+
}
|
|
49646
|
+
this._messages.update((messages) => messages.filter((m) => m.id !== id));
|
|
49647
|
+
}
|
|
49648
|
+
static {
|
|
49649
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
49650
|
+
minVersion: "12.0.0",
|
|
49651
|
+
version: "22.2.2",
|
|
49652
|
+
ngImport: i0,
|
|
49653
|
+
type: SnackbarService,
|
|
49654
|
+
deps: [],
|
|
49655
|
+
target: i0.ɵɵFactoryTarget.Injectable
|
|
49656
|
+
});
|
|
49657
|
+
}
|
|
49658
|
+
static {
|
|
49659
|
+
this.ɵprov = i0.ɵɵngDeclareInjectable({
|
|
49660
|
+
minVersion: "12.0.0",
|
|
49661
|
+
version: "22.2.2",
|
|
49662
|
+
ngImport: i0,
|
|
49663
|
+
type: SnackbarService,
|
|
49664
|
+
providedIn: "root"
|
|
49665
|
+
});
|
|
49666
|
+
}
|
|
49667
|
+
};
|
|
49668
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
49669
|
+
minVersion: "12.0.0",
|
|
49670
|
+
version: "22.2.2",
|
|
49671
|
+
ngImport: i0,
|
|
49672
|
+
type: SnackbarService,
|
|
49673
|
+
decorators: [{
|
|
49674
|
+
type: Injectable,
|
|
49675
|
+
args: [{ providedIn: "root" }]
|
|
49676
|
+
}]
|
|
49677
|
+
});
|
|
49678
|
+
var SnackbarComponent = class SnackbarComponent {
|
|
49679
|
+
constructor() {
|
|
49680
|
+
this.service = inject(SnackbarService);
|
|
49681
|
+
this.messages = computed(() => this.service.messages$(), ...ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []);
|
|
49682
|
+
}
|
|
49683
|
+
variant(m) {
|
|
49684
|
+
return m.type === "error" ? "danger" : m.type;
|
|
49685
|
+
}
|
|
49686
|
+
dismiss(id) {
|
|
49687
|
+
this.service.dismiss(id);
|
|
49688
|
+
}
|
|
49689
|
+
runAction(m, callback) {
|
|
49690
|
+
callback();
|
|
49691
|
+
this.service.dismiss(m.id);
|
|
49692
|
+
}
|
|
49693
|
+
static {
|
|
49694
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
49695
|
+
minVersion: "12.0.0",
|
|
49696
|
+
version: "22.2.2",
|
|
49697
|
+
ngImport: i0,
|
|
49698
|
+
type: SnackbarComponent,
|
|
49699
|
+
deps: [],
|
|
49700
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
49701
|
+
});
|
|
49702
|
+
}
|
|
49703
|
+
static {
|
|
49704
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
49705
|
+
minVersion: "17.0.0",
|
|
49706
|
+
version: "22.2.2",
|
|
49707
|
+
type: SnackbarComponent,
|
|
49708
|
+
isStandalone: true,
|
|
49709
|
+
selector: "ui-snackbar",
|
|
49710
|
+
ngImport: i0,
|
|
49711
|
+
template: `
|
|
49712
|
+
<div class="sb-stack" role="region" aria-label="Notifications" aria-live="polite">
|
|
49713
|
+
@for (m of messages(); track m.id) {
|
|
49714
|
+
<ui-alert class="sb-item" [variant]="variant(m)" [dismissible]="true" dismissAriaLabel="Dismiss notification"
|
|
49715
|
+
[attr.data-testid]="m.type + '-message'" (dismissed)="dismiss(m.id)">
|
|
49716
|
+
<span class="sb-text">{{ m.message }}</span>
|
|
49717
|
+
@if (m.action; as act) {
|
|
49718
|
+
<ui-button variant="link" size="sm" data-testid="snackbar-action" (click)="runAction(m, act.callback)">{{ act.label }}</ui-button>
|
|
49719
|
+
}
|
|
49720
|
+
</ui-alert>
|
|
49721
|
+
}
|
|
49722
|
+
</div>
|
|
49723
|
+
`,
|
|
49724
|
+
isInline: true,
|
|
49725
|
+
styles: [":host{display:contents}.sb-stack{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;width:20rem;max-width:calc(100vw - 32px);pointer-events:none}.sb-item{pointer-events:auto;box-shadow:0 8px 20px #0f172a2e;border-radius:8px;animation:sb-in .28s cubic-bezier(.16,1,.3,1)}.sb-text{min-width:0;overflow-wrap:anywhere}@keyframes sb-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.sb-item{animation:none}}\n"],
|
|
49726
|
+
dependencies: [{
|
|
49727
|
+
kind: "component",
|
|
49728
|
+
type: AlertComponent,
|
|
49729
|
+
selector: "ui-alert",
|
|
49730
|
+
inputs: [
|
|
49731
|
+
"variant",
|
|
49732
|
+
"title",
|
|
49733
|
+
"dismissible",
|
|
49734
|
+
"dismissAriaLabel",
|
|
49735
|
+
"quiet",
|
|
49736
|
+
"compact",
|
|
49737
|
+
"inline",
|
|
49738
|
+
"fill"
|
|
49739
|
+
],
|
|
49740
|
+
outputs: ["dismissed"]
|
|
49741
|
+
}, {
|
|
49742
|
+
kind: "component",
|
|
49743
|
+
type: ButtonComponent,
|
|
49744
|
+
selector: "ui-button",
|
|
49745
|
+
inputs: [
|
|
49746
|
+
"variant",
|
|
49747
|
+
"routerLink",
|
|
49748
|
+
"queryParams",
|
|
49749
|
+
"fragment",
|
|
49750
|
+
"state",
|
|
49751
|
+
"href",
|
|
49752
|
+
"target",
|
|
49753
|
+
"rel",
|
|
49754
|
+
"shortLabel",
|
|
49755
|
+
"shortBelow",
|
|
49756
|
+
"color",
|
|
49757
|
+
"active",
|
|
49758
|
+
"size",
|
|
49759
|
+
"type",
|
|
49760
|
+
"disabled",
|
|
49761
|
+
"loading",
|
|
49762
|
+
"fullWidth",
|
|
49763
|
+
"ariaLabel",
|
|
49764
|
+
"ariaExpanded",
|
|
49765
|
+
"ariaPressed",
|
|
49766
|
+
"ariaDescribedBy",
|
|
49767
|
+
"modal-footer-left",
|
|
49768
|
+
"modal-footer-right"
|
|
49769
|
+
]
|
|
49770
|
+
}],
|
|
49771
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
49772
|
+
});
|
|
49773
|
+
}
|
|
49774
|
+
};
|
|
49775
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
49776
|
+
minVersion: "12.0.0",
|
|
49777
|
+
version: "22.2.2",
|
|
49778
|
+
ngImport: i0,
|
|
49779
|
+
type: SnackbarComponent,
|
|
49780
|
+
decorators: [{
|
|
49781
|
+
type: Component,
|
|
49782
|
+
args: [{
|
|
49783
|
+
selector: "ui-snackbar",
|
|
49784
|
+
standalone: true,
|
|
49785
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49786
|
+
imports: [AlertComponent, ButtonComponent],
|
|
49787
|
+
template: `
|
|
49788
|
+
<div class="sb-stack" role="region" aria-label="Notifications" aria-live="polite">
|
|
49789
|
+
@for (m of messages(); track m.id) {
|
|
49790
|
+
<ui-alert class="sb-item" [variant]="variant(m)" [dismissible]="true" dismissAriaLabel="Dismiss notification"
|
|
49791
|
+
[attr.data-testid]="m.type + '-message'" (dismissed)="dismiss(m.id)">
|
|
49792
|
+
<span class="sb-text">{{ m.message }}</span>
|
|
49793
|
+
@if (m.action; as act) {
|
|
49794
|
+
<ui-button variant="link" size="sm" data-testid="snackbar-action" (click)="runAction(m, act.callback)">{{ act.label }}</ui-button>
|
|
49795
|
+
}
|
|
49796
|
+
</ui-alert>
|
|
49797
|
+
}
|
|
49798
|
+
</div>
|
|
49799
|
+
`,
|
|
49800
|
+
styles: [":host{display:contents}.sb-stack{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;width:20rem;max-width:calc(100vw - 32px);pointer-events:none}.sb-item{pointer-events:auto;box-shadow:0 8px 20px #0f172a2e;border-radius:8px;animation:sb-in .28s cubic-bezier(.16,1,.3,1)}.sb-text{min-width:0;overflow-wrap:anywhere}@keyframes sb-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.sb-item{animation:none}}\n"]
|
|
49801
|
+
}]
|
|
49802
|
+
}]
|
|
49803
|
+
});
|
|
49804
|
+
var OfflineBannerComponent = class OfflineBannerComponent {
|
|
49805
|
+
constructor() {
|
|
49806
|
+
this.title = input("You are currently offline", ...ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []);
|
|
49807
|
+
this.message = input("Some features may not work properly. Please check your internet connection.", ...ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []);
|
|
49808
|
+
this.offline = input(null, ...ngDevMode ? [{ debugName: "offline" }] : /* istanbul ignore next */ []);
|
|
49809
|
+
this.browserOffline = signal(false, ...ngDevMode ? [{ debugName: "browserOffline" }] : /* istanbul ignore next */ []);
|
|
49810
|
+
this.dismissed = signal(false, ...ngDevMode ? [{ debugName: "dismissed" }] : /* istanbul ignore next */ []);
|
|
49811
|
+
this.isOffline = computed(() => this.offline() ?? this.browserOffline(), ...ngDevMode ? [{ debugName: "isOffline" }] : /* istanbul ignore next */ []);
|
|
49812
|
+
this.visible = computed(() => this.isOffline() && !this.dismissed(), ...ngDevMode ? [{ debugName: "visible" }] : /* istanbul ignore next */ []);
|
|
49813
|
+
const win = inject(DOCUMENT).defaultView;
|
|
49814
|
+
if (!win) return;
|
|
49815
|
+
this.browserOffline.set(win.navigator.onLine === false);
|
|
49816
|
+
const goOffline = () => this.browserOffline.set(true);
|
|
49817
|
+
const goOnline = () => {
|
|
49818
|
+
this.browserOffline.set(false);
|
|
49819
|
+
this.dismissed.set(false);
|
|
49820
|
+
};
|
|
49821
|
+
win.addEventListener("offline", goOffline);
|
|
49822
|
+
win.addEventListener("online", goOnline);
|
|
49823
|
+
inject(DestroyRef).onDestroy(() => {
|
|
49824
|
+
win.removeEventListener("offline", goOffline);
|
|
49825
|
+
win.removeEventListener("online", goOnline);
|
|
49826
|
+
});
|
|
49827
|
+
}
|
|
49828
|
+
dismiss() {
|
|
49829
|
+
this.dismissed.set(true);
|
|
49830
|
+
}
|
|
49831
|
+
static {
|
|
49832
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
49833
|
+
minVersion: "12.0.0",
|
|
49834
|
+
version: "22.2.2",
|
|
49835
|
+
ngImport: i0,
|
|
49836
|
+
type: OfflineBannerComponent,
|
|
49837
|
+
deps: [],
|
|
49838
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
49839
|
+
});
|
|
49840
|
+
}
|
|
49841
|
+
static {
|
|
49842
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
49843
|
+
minVersion: "17.0.0",
|
|
49844
|
+
version: "22.2.2",
|
|
49845
|
+
type: OfflineBannerComponent,
|
|
49846
|
+
isStandalone: true,
|
|
49847
|
+
selector: "ui-offline-banner",
|
|
49848
|
+
inputs: {
|
|
49849
|
+
title: {
|
|
49850
|
+
classPropertyName: "title",
|
|
49851
|
+
publicName: "title",
|
|
49852
|
+
isSignal: true,
|
|
49853
|
+
isRequired: false,
|
|
49854
|
+
transformFunction: null
|
|
49855
|
+
},
|
|
49856
|
+
message: {
|
|
49857
|
+
classPropertyName: "message",
|
|
49858
|
+
publicName: "message",
|
|
49859
|
+
isSignal: true,
|
|
49860
|
+
isRequired: false,
|
|
49861
|
+
transformFunction: null
|
|
49862
|
+
},
|
|
49863
|
+
offline: {
|
|
49864
|
+
classPropertyName: "offline",
|
|
49865
|
+
publicName: "offline",
|
|
49866
|
+
isSignal: true,
|
|
49867
|
+
isRequired: false,
|
|
49868
|
+
transformFunction: null
|
|
49869
|
+
}
|
|
49870
|
+
},
|
|
49871
|
+
ngImport: i0,
|
|
49872
|
+
template: `
|
|
49873
|
+
@if (visible()) {
|
|
49874
|
+
<div class="ob-bar" data-testid="offline-banner">
|
|
49875
|
+
<ui-alert variant="warning" [title]="title()" [dismissible]="true" dismissAriaLabel="Dismiss offline notification" (dismissed)="dismiss()">{{ message() }}</ui-alert>
|
|
49876
|
+
</div>
|
|
49877
|
+
}
|
|
49878
|
+
`,
|
|
49879
|
+
isInline: true,
|
|
49880
|
+
styles: [":host{display:contents}.ob-bar{position:fixed;top:0;left:0;right:0;z-index:9999;padding:8px 16px;pointer-events:none}.ob-bar ui-alert{pointer-events:auto;max-width:1200px;margin:0 auto;box-shadow:0 4px 12px #0f172a26;border-radius:8px}\n"],
|
|
49881
|
+
dependencies: [{
|
|
49882
|
+
kind: "component",
|
|
49883
|
+
type: AlertComponent,
|
|
49884
|
+
selector: "ui-alert",
|
|
49885
|
+
inputs: [
|
|
49886
|
+
"variant",
|
|
49887
|
+
"title",
|
|
49888
|
+
"dismissible",
|
|
49889
|
+
"dismissAriaLabel",
|
|
49890
|
+
"quiet",
|
|
49891
|
+
"compact",
|
|
49892
|
+
"inline",
|
|
49893
|
+
"fill"
|
|
49894
|
+
],
|
|
49895
|
+
outputs: ["dismissed"]
|
|
49896
|
+
}],
|
|
49897
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
49898
|
+
});
|
|
49899
|
+
}
|
|
49900
|
+
};
|
|
49901
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
49902
|
+
minVersion: "12.0.0",
|
|
49903
|
+
version: "22.2.2",
|
|
49904
|
+
ngImport: i0,
|
|
49905
|
+
type: OfflineBannerComponent,
|
|
49906
|
+
decorators: [{
|
|
49907
|
+
type: Component,
|
|
49908
|
+
args: [{
|
|
49909
|
+
selector: "ui-offline-banner",
|
|
49910
|
+
standalone: true,
|
|
49911
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49912
|
+
imports: [AlertComponent],
|
|
49913
|
+
template: `
|
|
49914
|
+
@if (visible()) {
|
|
49915
|
+
<div class="ob-bar" data-testid="offline-banner">
|
|
49916
|
+
<ui-alert variant="warning" [title]="title()" [dismissible]="true" dismissAriaLabel="Dismiss offline notification" (dismissed)="dismiss()">{{ message() }}</ui-alert>
|
|
49917
|
+
</div>
|
|
49918
|
+
}
|
|
49919
|
+
`,
|
|
49920
|
+
styles: [":host{display:contents}.ob-bar{position:fixed;top:0;left:0;right:0;z-index:9999;padding:8px 16px;pointer-events:none}.ob-bar ui-alert{pointer-events:auto;max-width:1200px;margin:0 auto;box-shadow:0 4px 12px #0f172a26;border-radius:8px}\n"]
|
|
49921
|
+
}]
|
|
49922
|
+
}],
|
|
49923
|
+
ctorParameters: () => [],
|
|
49924
|
+
propDecorators: {
|
|
49925
|
+
title: [{
|
|
48362
49926
|
type: i0.Input,
|
|
48363
49927
|
args: [{
|
|
48364
49928
|
isSignal: true,
|
|
48365
|
-
alias: "
|
|
49929
|
+
alias: "title",
|
|
48366
49930
|
required: false
|
|
48367
49931
|
}]
|
|
48368
49932
|
}],
|
|
48369
|
-
|
|
49933
|
+
message: [{
|
|
48370
49934
|
type: i0.Input,
|
|
48371
49935
|
args: [{
|
|
48372
49936
|
isSignal: true,
|
|
48373
|
-
alias: "
|
|
49937
|
+
alias: "message",
|
|
48374
49938
|
required: false
|
|
48375
49939
|
}]
|
|
48376
49940
|
}],
|
|
48377
|
-
|
|
49941
|
+
offline: [{
|
|
48378
49942
|
type: i0.Input,
|
|
48379
49943
|
args: [{
|
|
48380
49944
|
isSignal: true,
|
|
48381
|
-
alias: "
|
|
49945
|
+
alias: "offline",
|
|
48382
49946
|
required: false
|
|
48383
49947
|
}]
|
|
48384
|
-
}]
|
|
48385
|
-
|
|
49948
|
+
}]
|
|
49949
|
+
}
|
|
49950
|
+
});
|
|
49951
|
+
var ReminderAlertsComponent = class ReminderAlertsComponent {
|
|
49952
|
+
constructor() {
|
|
49953
|
+
this.items = input([], ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
|
|
49954
|
+
this.ariaLabel = input("Alerts", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
49955
|
+
this.action = output();
|
|
49956
|
+
this.hidden = output();
|
|
49957
|
+
}
|
|
49958
|
+
variant(item) {
|
|
49959
|
+
return item.tone;
|
|
49960
|
+
}
|
|
49961
|
+
static {
|
|
49962
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
49963
|
+
minVersion: "12.0.0",
|
|
49964
|
+
version: "22.2.2",
|
|
49965
|
+
ngImport: i0,
|
|
49966
|
+
type: ReminderAlertsComponent,
|
|
49967
|
+
deps: [],
|
|
49968
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
49969
|
+
});
|
|
49970
|
+
}
|
|
49971
|
+
static {
|
|
49972
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
49973
|
+
minVersion: "17.0.0",
|
|
49974
|
+
version: "22.2.2",
|
|
49975
|
+
type: ReminderAlertsComponent,
|
|
49976
|
+
isStandalone: true,
|
|
49977
|
+
selector: "ui-reminder-alerts",
|
|
49978
|
+
inputs: {
|
|
49979
|
+
items: {
|
|
49980
|
+
classPropertyName: "items",
|
|
49981
|
+
publicName: "items",
|
|
49982
|
+
isSignal: true,
|
|
49983
|
+
isRequired: false,
|
|
49984
|
+
transformFunction: null
|
|
49985
|
+
},
|
|
49986
|
+
ariaLabel: {
|
|
49987
|
+
classPropertyName: "ariaLabel",
|
|
49988
|
+
publicName: "ariaLabel",
|
|
49989
|
+
isSignal: true,
|
|
49990
|
+
isRequired: false,
|
|
49991
|
+
transformFunction: null
|
|
49992
|
+
}
|
|
49993
|
+
},
|
|
49994
|
+
outputs: {
|
|
49995
|
+
action: "action",
|
|
49996
|
+
hidden: "hidden"
|
|
49997
|
+
},
|
|
49998
|
+
ngImport: i0,
|
|
49999
|
+
template: `
|
|
50000
|
+
@if (items().length) {
|
|
50001
|
+
<div class="ra-stack" role="region" [attr.aria-label]="ariaLabel()" aria-live="polite">
|
|
50002
|
+
@for (item of items(); track item.id) {
|
|
50003
|
+
<ui-alert class="ra-item" [variant]="variant(item)" [attr.data-testid]="'reminder-alert-' + item.id">
|
|
50004
|
+
<div class="ra-body">
|
|
50005
|
+
<ui-button class="ra-hide" variant="icon" size="xs" [ariaLabel]="item.hideLabel || 'Hide alert'" [attr.data-testid]="item.hideTestId || 'alert-hide'" (click)="hidden.emit(item)">
|
|
50006
|
+
<ui-icon name="close" [size]="14" [interactive]="false" />
|
|
50007
|
+
</ui-button>
|
|
50008
|
+
<span class="ra-label">{{ item.label }}</span>
|
|
50009
|
+
<p class="ra-title">{{ item.title }}</p>
|
|
50010
|
+
@if (item.badge; as b) {
|
|
50011
|
+
<ui-badge class="ra-badge" role="img" variant="purple" [label]="b.label" [attr.aria-label]="b.ariaLabel || b.label" [attr.title]="b.ariaLabel || b.label" [attr.data-testid]="b.testId || 'alert-badge'" />
|
|
50012
|
+
}
|
|
50013
|
+
@for (line of item.lines ?? []; track $index) {
|
|
50014
|
+
<p class="ra-line">{{ line }}</p>
|
|
50015
|
+
}
|
|
50016
|
+
@if (item.actions?.length) {
|
|
50017
|
+
<div class="ra-actions">
|
|
50018
|
+
@for (a of item.actions; track a.id) {
|
|
50019
|
+
<ui-button [variant]="a.variant || 'secondary'" size="xs" [attr.data-testid]="'alert-' + a.id" (click)="action.emit({ item, actionId: a.id })">{{ a.label }}</ui-button>
|
|
50020
|
+
}
|
|
50021
|
+
</div>
|
|
50022
|
+
}
|
|
50023
|
+
</div>
|
|
50024
|
+
</ui-alert>
|
|
50025
|
+
}
|
|
50026
|
+
</div>
|
|
50027
|
+
}
|
|
50028
|
+
`,
|
|
50029
|
+
isInline: true,
|
|
50030
|
+
styles: [":host{display:contents}.ra-stack{position:fixed;top:16px;right:16px;z-index:9990;display:flex;flex-direction:column;gap:8px;width:24rem;max-width:calc(100vw - 32px);pointer-events:none}.ra-item{pointer-events:auto;box-shadow:0 8px 20px #0f172a2e;border-radius:8px;animation:ra-in .3s ease-out}.ra-body{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0;width:100%;padding-right:28px}.ra-hide{position:absolute;top:-4px;right:-4px}.ra-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.ra-title{margin:0;font-size:.875rem;font-weight:600;overflow-wrap:anywhere}.ra-line{margin:0;font-size:.75rem;overflow-wrap:anywhere}.ra-badge{align-self:flex-start;max-width:100%;overflow:hidden}.ra-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}@keyframes ra-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.ra-item{animation:none}}\n"],
|
|
50031
|
+
dependencies: [
|
|
50032
|
+
{
|
|
50033
|
+
kind: "component",
|
|
50034
|
+
type: AlertComponent,
|
|
50035
|
+
selector: "ui-alert",
|
|
50036
|
+
inputs: [
|
|
50037
|
+
"variant",
|
|
50038
|
+
"title",
|
|
50039
|
+
"dismissible",
|
|
50040
|
+
"dismissAriaLabel",
|
|
50041
|
+
"quiet",
|
|
50042
|
+
"compact",
|
|
50043
|
+
"inline",
|
|
50044
|
+
"fill"
|
|
50045
|
+
],
|
|
50046
|
+
outputs: ["dismissed"]
|
|
50047
|
+
},
|
|
50048
|
+
{
|
|
50049
|
+
kind: "component",
|
|
50050
|
+
type: BadgeComponent,
|
|
50051
|
+
selector: "ui-badge",
|
|
50052
|
+
inputs: ["label", "variant"]
|
|
50053
|
+
},
|
|
50054
|
+
{
|
|
50055
|
+
kind: "component",
|
|
50056
|
+
type: ButtonComponent,
|
|
50057
|
+
selector: "ui-button",
|
|
50058
|
+
inputs: [
|
|
50059
|
+
"variant",
|
|
50060
|
+
"routerLink",
|
|
50061
|
+
"queryParams",
|
|
50062
|
+
"fragment",
|
|
50063
|
+
"state",
|
|
50064
|
+
"href",
|
|
50065
|
+
"target",
|
|
50066
|
+
"rel",
|
|
50067
|
+
"shortLabel",
|
|
50068
|
+
"shortBelow",
|
|
50069
|
+
"color",
|
|
50070
|
+
"active",
|
|
50071
|
+
"size",
|
|
50072
|
+
"type",
|
|
50073
|
+
"disabled",
|
|
50074
|
+
"loading",
|
|
50075
|
+
"fullWidth",
|
|
50076
|
+
"ariaLabel",
|
|
50077
|
+
"ariaExpanded",
|
|
50078
|
+
"ariaPressed",
|
|
50079
|
+
"ariaDescribedBy",
|
|
50080
|
+
"modal-footer-left",
|
|
50081
|
+
"modal-footer-right"
|
|
50082
|
+
]
|
|
50083
|
+
},
|
|
50084
|
+
{
|
|
50085
|
+
kind: "component",
|
|
50086
|
+
type: IconComponent,
|
|
50087
|
+
selector: "ui-icon",
|
|
50088
|
+
inputs: [
|
|
50089
|
+
"name",
|
|
50090
|
+
"tooltip",
|
|
50091
|
+
"ariaLabel",
|
|
50092
|
+
"size",
|
|
50093
|
+
"variant",
|
|
50094
|
+
"disabled",
|
|
50095
|
+
"loading",
|
|
50096
|
+
"interactive"
|
|
50097
|
+
],
|
|
50098
|
+
outputs: ["iconClick"]
|
|
50099
|
+
}
|
|
50100
|
+
],
|
|
50101
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
50102
|
+
});
|
|
50103
|
+
}
|
|
50104
|
+
};
|
|
50105
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
50106
|
+
minVersion: "12.0.0",
|
|
50107
|
+
version: "22.2.2",
|
|
50108
|
+
ngImport: i0,
|
|
50109
|
+
type: ReminderAlertsComponent,
|
|
50110
|
+
decorators: [{
|
|
50111
|
+
type: Component,
|
|
50112
|
+
args: [{
|
|
50113
|
+
selector: "ui-reminder-alerts",
|
|
50114
|
+
standalone: true,
|
|
50115
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50116
|
+
imports: [
|
|
50117
|
+
AlertComponent,
|
|
50118
|
+
BadgeComponent,
|
|
50119
|
+
ButtonComponent,
|
|
50120
|
+
IconComponent
|
|
50121
|
+
],
|
|
50122
|
+
template: `
|
|
50123
|
+
@if (items().length) {
|
|
50124
|
+
<div class="ra-stack" role="region" [attr.aria-label]="ariaLabel()" aria-live="polite">
|
|
50125
|
+
@for (item of items(); track item.id) {
|
|
50126
|
+
<ui-alert class="ra-item" [variant]="variant(item)" [attr.data-testid]="'reminder-alert-' + item.id">
|
|
50127
|
+
<div class="ra-body">
|
|
50128
|
+
<ui-button class="ra-hide" variant="icon" size="xs" [ariaLabel]="item.hideLabel || 'Hide alert'" [attr.data-testid]="item.hideTestId || 'alert-hide'" (click)="hidden.emit(item)">
|
|
50129
|
+
<ui-icon name="close" [size]="14" [interactive]="false" />
|
|
50130
|
+
</ui-button>
|
|
50131
|
+
<span class="ra-label">{{ item.label }}</span>
|
|
50132
|
+
<p class="ra-title">{{ item.title }}</p>
|
|
50133
|
+
@if (item.badge; as b) {
|
|
50134
|
+
<ui-badge class="ra-badge" role="img" variant="purple" [label]="b.label" [attr.aria-label]="b.ariaLabel || b.label" [attr.title]="b.ariaLabel || b.label" [attr.data-testid]="b.testId || 'alert-badge'" />
|
|
50135
|
+
}
|
|
50136
|
+
@for (line of item.lines ?? []; track $index) {
|
|
50137
|
+
<p class="ra-line">{{ line }}</p>
|
|
50138
|
+
}
|
|
50139
|
+
@if (item.actions?.length) {
|
|
50140
|
+
<div class="ra-actions">
|
|
50141
|
+
@for (a of item.actions; track a.id) {
|
|
50142
|
+
<ui-button [variant]="a.variant || 'secondary'" size="xs" [attr.data-testid]="'alert-' + a.id" (click)="action.emit({ item, actionId: a.id })">{{ a.label }}</ui-button>
|
|
50143
|
+
}
|
|
50144
|
+
</div>
|
|
50145
|
+
}
|
|
50146
|
+
</div>
|
|
50147
|
+
</ui-alert>
|
|
50148
|
+
}
|
|
50149
|
+
</div>
|
|
50150
|
+
}
|
|
50151
|
+
`,
|
|
50152
|
+
styles: [":host{display:contents}.ra-stack{position:fixed;top:16px;right:16px;z-index:9990;display:flex;flex-direction:column;gap:8px;width:24rem;max-width:calc(100vw - 32px);pointer-events:none}.ra-item{pointer-events:auto;box-shadow:0 8px 20px #0f172a2e;border-radius:8px;animation:ra-in .3s ease-out}.ra-body{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0;width:100%;padding-right:28px}.ra-hide{position:absolute;top:-4px;right:-4px}.ra-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.ra-title{margin:0;font-size:.875rem;font-weight:600;overflow-wrap:anywhere}.ra-line{margin:0;font-size:.75rem;overflow-wrap:anywhere}.ra-badge{align-self:flex-start;max-width:100%;overflow:hidden}.ra-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}@keyframes ra-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.ra-item{animation:none}}\n"]
|
|
50153
|
+
}]
|
|
50154
|
+
}],
|
|
50155
|
+
propDecorators: {
|
|
50156
|
+
items: [{
|
|
48386
50157
|
type: i0.Input,
|
|
48387
50158
|
args: [{
|
|
48388
50159
|
isSignal: true,
|
|
48389
|
-
alias: "
|
|
50160
|
+
alias: "items",
|
|
48390
50161
|
required: false
|
|
48391
50162
|
}]
|
|
48392
50163
|
}],
|
|
48393
|
-
|
|
50164
|
+
ariaLabel: [{
|
|
48394
50165
|
type: i0.Input,
|
|
48395
50166
|
args: [{
|
|
48396
50167
|
isSignal: true,
|
|
48397
|
-
alias: "
|
|
50168
|
+
alias: "ariaLabel",
|
|
48398
50169
|
required: false
|
|
48399
50170
|
}]
|
|
48400
50171
|
}],
|
|
48401
|
-
|
|
48402
|
-
type: i0.Output,
|
|
48403
|
-
args: ["save"]
|
|
48404
|
-
}],
|
|
48405
|
-
testSend: [{
|
|
48406
|
-
type: i0.Output,
|
|
48407
|
-
args: ["testSend"]
|
|
48408
|
-
}],
|
|
48409
|
-
videosRequested: [{
|
|
50172
|
+
action: [{
|
|
48410
50173
|
type: i0.Output,
|
|
48411
|
-
args: ["
|
|
50174
|
+
args: ["action"]
|
|
48412
50175
|
}],
|
|
48413
|
-
|
|
50176
|
+
hidden: [{
|
|
48414
50177
|
type: i0.Output,
|
|
48415
|
-
args: ["
|
|
48416
|
-
}],
|
|
48417
|
-
blockEditors: [{
|
|
48418
|
-
type: i0.ViewChildren,
|
|
48419
|
-
args: ["blockEditor", { isSignal: true }]
|
|
48420
|
-
}],
|
|
48421
|
-
colorInputRef: [{
|
|
48422
|
-
type: i0.ViewChild,
|
|
48423
|
-
args: ["colorInput", { isSignal: true }]
|
|
50178
|
+
args: ["hidden"]
|
|
48424
50179
|
}]
|
|
48425
50180
|
}
|
|
48426
50181
|
});
|
|
48427
|
-
export { ActionBarComponent, AlertComponent, AppShellComponent, AudioPlayerComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BarRowComponent, BoardCardDirective, BoardComponent, BulkMessagePanelComponent, BusinessHoursComponent, ButtonComponent, CalendarComponent, CardListItemComponent, CheckboxComponent, CheckboxTrailingDirective, ChipComponent, ChipGroupComponent, ColorInputComponent, ColumnFilterComponent, ColumnsComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_EMAIL_TEMPLATE_BLOCK_GROUPS, DEFAULT_EMAIL_TEMPLATE_VARIABLE_GROUPS, DEFAULT_PASSWORD_RULES, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DropdownComponent, EMAIL_BLOCK_DRAG_TYPE, EMAIL_TEMPLATE_MAX_BODY, EMAIL_TEMPLATE_MAX_TEXT, EMAIL_TEMPLATE_START_TEXT, EmailTemplateEditorComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FadeComponent, FileInputComponent, FixedFooterComponent, FormColSpanDirective, FormComponent, FormRowComponent, FormSectionComponent, HintComponent, IDX_BEHAVIOR_SIGNALS, INTEGRATION_CATALOG, INTEGRATION_FIELD_DEFS, INTEGRATION_GROUP_ORDER, INTEGRATION_OPTION_DEFS, IconComponent, ImageComponent, ImageGalleryComponent, ImageGalleryDialogComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, ImportSourceGridComponent, KpiCardComponent, LAYOUT_GAP_PX, ListComponent, ListItemComponent, LiveRegionComponent, MAX_EMAIL_ADDRESS_LENGTH, ModalComponent, MoreMenuComponent, MultiSelectComponent, NOTES_MAX_LENGTH, NotesComponent, OptionCardComponent, PHONE_NUMBER_AREA_CODE_LENGTH, PHONE_NUMBER_ZIP_LENGTH, PageComponent, PaginationComponent, PanelInfoListComponent, PasswordRequirementsComponent, PdfHotspotComponent, PhoneNumberPickerComponent, PillTabsComponent, ProgressBarComponent, ProgressRingComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, RadioOptionContentDirective, ReadonlyFieldsetComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SETUP_DONE_KEY, SETUP_INTEGRATIONS, SearchInputComponent, SectionHeaderComponent, SelectComponent, SetupWizardComponent, SetupWizardStepDirective, SetupWizardStepHeaderDirective, ShowComponent, SidePanelComponent, SidebarLayoutComponent, SignaturePadComponent, SkeletonComponent, StackComponent, StarComponent, StepperComponent, TableToolbarComponent, TextComponent, TextInputComponent, TextTemplatePickerComponent, TextareaInputComponent, TimeInputComponent, TimelineComponent, ToastComponent, ToastService, ToggleBadgeComponent, ToggleComponent, TooltipDirective, US_STATES, UiFieldValidity, acceptLabel, appShellGroupsStorageKey, autoVariant, blockHasContent, buildDefaultSchedule, buildPreviewDocument, buildVideoBlockHtml, builtInActionIcon, businessTimeOptions, createFieldReveal, decodeFilterValues, digitsOnly, downloadBlob, encodeFilterValue, encodeFilterValues, errorContextInterceptor, escapeHtml, fileMatchesAccept, formatAddress, formatCategoryLabel, formatCurrency, formatFileSize, formatIsoDate, formatIsoDateTime, formatTime, formatVideoDuration, getEligibleIds, getEligibleOptions, getErrorMessage, humanReadableMessage, iconPath, insideEditorBlock, integrationPlainText, integrationsForApp, integrationsOnlyFor, isBlockDrag, isValidEmailAddress, isWebUrl, isoKey, issueToErrors, maxLengthIssue, normalizeHexColor, parseBizHours, parseIso, parseTime, passwordMeetsRules, pluralize, provideForgerouteToast, reorderItems, requiredIssue, resolveLayoutGap, resolvePreset, serializeBizHours, serializedTextLength, setupIntegrations, splitIntro };
|
|
50182
|
+
export { ActionBarComponent, AlertComponent, AppShellComponent, AudioPlayerComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BankAccountFormComponent, BarRowComponent, BoardCardDirective, BoardComponent, BulkMessagePanelComponent, BusinessHoursComponent, ButtonComponent, CalendarComponent, CardListItemComponent, CheckboxComponent, CheckboxTrailingDirective, ChipComponent, ChipGroupComponent, ColorInputComponent, ColumnFilterComponent, ColumnsComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_BANK_ACCOUNT_TYPE_OPTIONS, DEFAULT_BANK_HOLDER_TYPE_OPTIONS, DEFAULT_BANK_MANDATE_TEXT, DEFAULT_EMAIL_TEMPLATE_BLOCK_GROUPS, DEFAULT_EMAIL_TEMPLATE_VARIABLE_GROUPS, DEFAULT_PASSWORD_RULES, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DropdownComponent, EMAIL_BLOCK_DRAG_TYPE, EMAIL_TEMPLATE_MAX_BODY, EMAIL_TEMPLATE_MAX_TEXT, EMAIL_TEMPLATE_START_TEXT, EmailTemplateEditorComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FadeComponent, FileInputComponent, FixedFooterComponent, FormColSpanDirective, FormComponent, FormRowComponent, FormSectionComponent, HintComponent, IDX_BEHAVIOR_SIGNALS, INTEGRATION_CATALOG, INTEGRATION_FIELD_DEFS, INTEGRATION_GROUP_ORDER, INTEGRATION_OPTION_DEFS, IconComponent, ImageComponent, ImageGalleryComponent, ImageGalleryDialogComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, ImportSourceGridComponent, KpiCardComponent, LAYOUT_GAP_PX, ListComponent, ListItemComponent, LiveRegionComponent, MAX_EMAIL_ADDRESS_LENGTH, ModalComponent, MoreMenuComponent, MultiSelectComponent, NOTES_MAX_LENGTH, NotesComponent, OfflineBannerComponent, OptionCardComponent, PHONE_NUMBER_AREA_CODE_LENGTH, PHONE_NUMBER_ZIP_LENGTH, PageComponent, PaginationComponent, PanelInfoListComponent, PasswordRequirementsComponent, PdfHotspotComponent, PhoneNumberPickerComponent, PillTabsComponent, ProgressBarComponent, ProgressRingComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, RadioOptionContentDirective, ReadonlyFieldsetComponent, ReminderAlertsComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SETUP_DONE_KEY, SETUP_INTEGRATIONS, SearchInputComponent, SectionHeaderComponent, SelectComponent, SetupWizardComponent, SetupWizardStepDirective, SetupWizardStepHeaderDirective, ShareMenuComponent, ShowComponent, SidePanelComponent, SidebarLayoutComponent, SignaturePadComponent, SkeletonComponent, SnackbarComponent, SnackbarService, StackComponent, StarComponent, StepperComponent, TableToolbarComponent, TextComponent, TextInputComponent, TextTemplatePickerComponent, TextareaInputComponent, TimeInputComponent, TimelineComponent, ToastComponent, ToastService, ToggleBadgeComponent, ToggleComponent, TooltipDirective, US_STATES, UiFieldValidity, acceptLabel, appShellGroupsStorageKey, autoVariant, blockHasContent, buildDefaultSchedule, buildPreviewDocument, buildVideoBlockHtml, builtInActionIcon, businessTimeOptions, createFieldReveal, decodeFilterValues, digitsOnly, downloadBlob, emailShareUrl, encodeFilterValue, encodeFilterValues, errorContextInterceptor, escapeHtml, facebookShareUrl, fileMatchesAccept, formatAddress, formatCategoryLabel, formatCurrency, formatFileSize, formatIsoDate, formatIsoDateTime, formatTime, formatVideoDuration, getEligibleIds, getEligibleOptions, getErrorMessage, gmailShareUrl, humanReadableMessage, iconPath, insideEditorBlock, integrationPlainText, integrationsForApp, integrationsOnlyFor, isBlockDrag, isValidEmailAddress, isWebUrl, isoKey, issueToErrors, linkedInShareUrl, maxLengthIssue, mergeDescribedBy, normalizeHexColor, outlookShareUrl, parseBizHours, parseIso, parseTime, passwordMeetsRules, pluralize, provideForgerouteToast, reorderItems, requiredIssue, resolveLayoutGap, resolvePreset, serializeBizHours, serializedTextLength, setupIntegrations, splitIntro, xShareUrl };
|
|
48428
50183
|
|
|
48429
50184
|
//# sourceMappingURL=forgeroute-ui.mjs.map
|