@forgeroute/ui 0.4.56 → 0.4.57
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-stripe.mjs +5 -0
- package/fesm2022/forgeroute-ui-stripe.mjs.map +1 -1
- package/fesm2022/forgeroute-ui.mjs +996 -254
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui.d.ts +220 -2
|
@@ -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,676 @@ var BulkMessagePanelComponent = class BulkMessagePanelComponent {
|
|
|
21377
21528
|
"inputmode",
|
|
21378
21529
|
"readonly",
|
|
21379
21530
|
"hint",
|
|
21531
|
+
"ariaDescribedBy",
|
|
21532
|
+
"error",
|
|
21533
|
+
"phoneFormat",
|
|
21534
|
+
"min",
|
|
21535
|
+
"max",
|
|
21536
|
+
"maxDecimals",
|
|
21537
|
+
"step",
|
|
21538
|
+
"valueType",
|
|
21539
|
+
"formatter",
|
|
21540
|
+
"integer",
|
|
21541
|
+
"showErrors",
|
|
21542
|
+
"disabled"
|
|
21543
|
+
],
|
|
21544
|
+
outputs: [
|
|
21545
|
+
"valueChange",
|
|
21546
|
+
"focused",
|
|
21547
|
+
"blurred",
|
|
21548
|
+
"invalidChange"
|
|
21549
|
+
]
|
|
21550
|
+
},
|
|
21551
|
+
{
|
|
21552
|
+
kind: "component",
|
|
21553
|
+
type: TextareaInputComponent,
|
|
21554
|
+
selector: "ui-textarea-input",
|
|
21555
|
+
inputs: [
|
|
21556
|
+
"label",
|
|
21557
|
+
"ariaLabel",
|
|
21558
|
+
"placeholder",
|
|
21559
|
+
"rows",
|
|
21560
|
+
"maxlength",
|
|
21561
|
+
"required",
|
|
21562
|
+
"readonly",
|
|
21563
|
+
"hint",
|
|
21564
|
+
"ariaDescribedBy",
|
|
21565
|
+
"hintAsDescription",
|
|
21566
|
+
"error",
|
|
21567
|
+
"monospace",
|
|
21568
|
+
"showErrors",
|
|
21569
|
+
"disabled"
|
|
21570
|
+
],
|
|
21571
|
+
outputs: ["invalidChange"]
|
|
21572
|
+
}
|
|
21573
|
+
],
|
|
21574
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
21575
|
+
});
|
|
21576
|
+
}
|
|
21577
|
+
};
|
|
21578
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
21579
|
+
minVersion: "12.0.0",
|
|
21580
|
+
version: "22.2.2",
|
|
21581
|
+
ngImport: i0,
|
|
21582
|
+
type: BulkMessagePanelComponent,
|
|
21583
|
+
decorators: [{
|
|
21584
|
+
type: Component,
|
|
21585
|
+
args: [{
|
|
21586
|
+
selector: "ui-bulk-message-panel",
|
|
21587
|
+
standalone: true,
|
|
21588
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21589
|
+
imports: [
|
|
21590
|
+
FormsModule,
|
|
21591
|
+
SidePanelComponent,
|
|
21592
|
+
ToggleBadgeComponent,
|
|
21593
|
+
TextInputComponent,
|
|
21594
|
+
TextareaInputComponent
|
|
21595
|
+
],
|
|
21596
|
+
template: `
|
|
21597
|
+
<ui-side-panel
|
|
21598
|
+
[open]="open()"
|
|
21599
|
+
title="Send Bulk Message"
|
|
21600
|
+
[primaryLabel]="primaryLabel()"
|
|
21601
|
+
primaryVariant="warning"
|
|
21602
|
+
[primaryLoading]="sending()"
|
|
21603
|
+
[primaryDisabled]="!canSend()"
|
|
21604
|
+
(closed)="closed.emit()"
|
|
21605
|
+
(primaryClick)="onSend()">
|
|
21606
|
+
|
|
21607
|
+
<div class="msg-channel-row">
|
|
21608
|
+
<label class="form-label">Send via</label>
|
|
21609
|
+
<div class="msg-via-tabs">
|
|
21610
|
+
<ui-toggle-badge [active]="channel() === 'email'" (toggle)="onChannelChange('email')">
|
|
21611
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg>
|
|
21612
|
+
Email
|
|
21613
|
+
</ui-toggle-badge>
|
|
21614
|
+
@if (textEnabled()) {
|
|
21615
|
+
<ui-toggle-badge [active]="channel() === 'text'" (toggle)="onChannelChange('text')">
|
|
21616
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>
|
|
21617
|
+
Text
|
|
21618
|
+
</ui-toggle-badge>
|
|
21619
|
+
}
|
|
21620
|
+
</div>
|
|
21621
|
+
</div>
|
|
21622
|
+
|
|
21623
|
+
<p class="bulk-msg-recipients">
|
|
21624
|
+
Sending to <strong>{{ activeContacts().length }}</strong> contact{{ activeContacts().length === 1 ? '' : 's' }}
|
|
21625
|
+
@if (skippedCount() > 0) {
|
|
21626
|
+
<span class="bulk-msg-skipped">— {{ skippedCount() }} skipped (no {{ channel() === 'email' ? 'email' : 'phone' }})</span>
|
|
21627
|
+
}
|
|
21628
|
+
</p>
|
|
21629
|
+
|
|
21630
|
+
@if (channel() === 'email') {
|
|
21631
|
+
<ui-text-input label="Subject" [(ngModel)]="subject" placeholder="Subject line" />
|
|
21632
|
+
}
|
|
21633
|
+
<ui-textarea-input label="Message" [rows]="6" [(ngModel)]="body" placeholder="Write your message..." />
|
|
21634
|
+
|
|
21635
|
+
</ui-side-panel>
|
|
21636
|
+
`,
|
|
21637
|
+
styles: [".msg-channel-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.msg-via-tabs{display:flex;gap:6px;flex-wrap:wrap}.form-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.bulk-msg-recipients{font-size:.9375rem;color:#334155;margin:0 0 16px}.bulk-msg-skipped{color:#94a3b8;font-size:.875rem}\n"]
|
|
21638
|
+
}]
|
|
21639
|
+
}],
|
|
21640
|
+
ctorParameters: () => [],
|
|
21641
|
+
propDecorators: {
|
|
21642
|
+
open: [{
|
|
21643
|
+
type: i0.Input,
|
|
21644
|
+
args: [{
|
|
21645
|
+
isSignal: true,
|
|
21646
|
+
alias: "open",
|
|
21647
|
+
required: false
|
|
21648
|
+
}]
|
|
21649
|
+
}],
|
|
21650
|
+
contacts: [{
|
|
21651
|
+
type: i0.Input,
|
|
21652
|
+
args: [{
|
|
21653
|
+
isSignal: true,
|
|
21654
|
+
alias: "contacts",
|
|
21655
|
+
required: false
|
|
21656
|
+
}]
|
|
21657
|
+
}],
|
|
21658
|
+
textEnabled: [{
|
|
21659
|
+
type: i0.Input,
|
|
21660
|
+
args: [{
|
|
21661
|
+
isSignal: true,
|
|
21662
|
+
alias: "textEnabled",
|
|
21663
|
+
required: false
|
|
21664
|
+
}]
|
|
21665
|
+
}],
|
|
21666
|
+
sending: [{
|
|
21667
|
+
type: i0.Input,
|
|
21668
|
+
args: [{
|
|
21669
|
+
isSignal: true,
|
|
21670
|
+
alias: "sending",
|
|
21671
|
+
required: false
|
|
21672
|
+
}]
|
|
21673
|
+
}],
|
|
21674
|
+
closed: [{
|
|
21675
|
+
type: i0.Output,
|
|
21676
|
+
args: ["closed"]
|
|
21677
|
+
}],
|
|
21678
|
+
send: [{
|
|
21679
|
+
type: i0.Output,
|
|
21680
|
+
args: ["send"]
|
|
21681
|
+
}]
|
|
21682
|
+
}
|
|
21683
|
+
});
|
|
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
|
+
}
|
|
21720
|
+
};
|
|
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 {
|
|
21747
|
+
constructor() {
|
|
21748
|
+
this.label = input("", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
21749
|
+
this.divider = input(false, ...ngDevMode ? [{ debugName: "divider" }] : /* istanbul ignore next */ []);
|
|
21750
|
+
}
|
|
21751
|
+
static {
|
|
21752
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
21753
|
+
minVersion: "12.0.0",
|
|
21754
|
+
version: "22.2.2",
|
|
21755
|
+
ngImport: i0,
|
|
21756
|
+
type: FormSectionComponent,
|
|
21757
|
+
deps: [],
|
|
21758
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
21759
|
+
});
|
|
21760
|
+
}
|
|
21761
|
+
static {
|
|
21762
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
21763
|
+
minVersion: "17.0.0",
|
|
21764
|
+
version: "22.2.2",
|
|
21765
|
+
type: FormSectionComponent,
|
|
21766
|
+
isStandalone: true,
|
|
21767
|
+
selector: "ui-form-section",
|
|
21768
|
+
inputs: {
|
|
21769
|
+
label: {
|
|
21770
|
+
classPropertyName: "label",
|
|
21771
|
+
publicName: "label",
|
|
21772
|
+
isSignal: true,
|
|
21773
|
+
isRequired: false,
|
|
21774
|
+
transformFunction: null
|
|
21775
|
+
},
|
|
21776
|
+
divider: {
|
|
21777
|
+
classPropertyName: "divider",
|
|
21778
|
+
publicName: "divider",
|
|
21779
|
+
isSignal: true,
|
|
21780
|
+
isRequired: false,
|
|
21781
|
+
transformFunction: null
|
|
21782
|
+
}
|
|
21783
|
+
},
|
|
21784
|
+
ngImport: i0,
|
|
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
|
+
`,
|
|
21790
|
+
isInline: true,
|
|
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"],
|
|
21792
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
21793
|
+
});
|
|
21794
|
+
}
|
|
21795
|
+
};
|
|
21796
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
21797
|
+
minVersion: "12.0.0",
|
|
21798
|
+
version: "22.2.2",
|
|
21799
|
+
ngImport: i0,
|
|
21800
|
+
type: FormSectionComponent,
|
|
21801
|
+
decorators: [{
|
|
21802
|
+
type: Component,
|
|
21803
|
+
args: [{
|
|
21804
|
+
selector: "ui-form-section",
|
|
21805
|
+
standalone: true,
|
|
21806
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
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"]
|
|
21813
|
+
}]
|
|
21814
|
+
}],
|
|
21815
|
+
propDecorators: {
|
|
21816
|
+
label: [{
|
|
21817
|
+
type: i0.Input,
|
|
21818
|
+
args: [{
|
|
21819
|
+
isSignal: true,
|
|
21820
|
+
alias: "label",
|
|
21821
|
+
required: false
|
|
21822
|
+
}]
|
|
21823
|
+
}],
|
|
21824
|
+
divider: [{
|
|
21825
|
+
type: i0.Input,
|
|
21826
|
+
args: [{
|
|
21827
|
+
isSignal: true,
|
|
21828
|
+
alias: "divider",
|
|
21829
|
+
required: false
|
|
21830
|
+
}]
|
|
21831
|
+
}]
|
|
21832
|
+
}
|
|
21833
|
+
});
|
|
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 {
|
|
21851
|
+
constructor() {
|
|
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 */ []);
|
|
21902
|
+
effect(() => {
|
|
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));
|
|
21909
|
+
});
|
|
21910
|
+
}
|
|
21911
|
+
id(name) {
|
|
21912
|
+
return `${this.testIdPrefix()}-${name}`;
|
|
21913
|
+
}
|
|
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);
|
|
21945
|
+
}
|
|
21946
|
+
static {
|
|
21947
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
21948
|
+
minVersion: "12.0.0",
|
|
21949
|
+
version: "22.2.2",
|
|
21950
|
+
ngImport: i0,
|
|
21951
|
+
type: BankAccountFormComponent,
|
|
21952
|
+
deps: [],
|
|
21953
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
21954
|
+
});
|
|
21955
|
+
}
|
|
21956
|
+
static {
|
|
21957
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
21958
|
+
minVersion: "17.2.0",
|
|
21959
|
+
version: "22.2.2",
|
|
21960
|
+
type: BankAccountFormComponent,
|
|
21961
|
+
isStandalone: true,
|
|
21962
|
+
selector: "ui-bank-account-form",
|
|
21963
|
+
inputs: {
|
|
21964
|
+
showErrors: {
|
|
21965
|
+
classPropertyName: "showErrors",
|
|
21966
|
+
publicName: "showErrors",
|
|
21967
|
+
isSignal: true,
|
|
21968
|
+
isRequired: false,
|
|
21969
|
+
transformFunction: null
|
|
21970
|
+
},
|
|
21971
|
+
disabled: {
|
|
21972
|
+
classPropertyName: "disabled",
|
|
21973
|
+
publicName: "disabled",
|
|
21974
|
+
isSignal: true,
|
|
21975
|
+
isRequired: false,
|
|
21976
|
+
transformFunction: null
|
|
21977
|
+
},
|
|
21978
|
+
busy: {
|
|
21979
|
+
classPropertyName: "busy",
|
|
21980
|
+
publicName: "busy",
|
|
21981
|
+
isSignal: true,
|
|
21982
|
+
isRequired: false,
|
|
21983
|
+
transformFunction: null
|
|
21984
|
+
},
|
|
21985
|
+
mandateText: {
|
|
21986
|
+
classPropertyName: "mandateText",
|
|
21987
|
+
publicName: "mandateText",
|
|
21988
|
+
isSignal: true,
|
|
21989
|
+
isRequired: false,
|
|
21990
|
+
transformFunction: null
|
|
21991
|
+
},
|
|
21992
|
+
accountTypeOptions: {
|
|
21993
|
+
classPropertyName: "accountTypeOptions",
|
|
21994
|
+
publicName: "accountTypeOptions",
|
|
21995
|
+
isSignal: true,
|
|
21996
|
+
isRequired: false,
|
|
21997
|
+
transformFunction: null
|
|
21998
|
+
},
|
|
21999
|
+
holderTypeOptions: {
|
|
22000
|
+
classPropertyName: "holderTypeOptions",
|
|
22001
|
+
publicName: "holderTypeOptions",
|
|
22002
|
+
isSignal: true,
|
|
22003
|
+
isRequired: false,
|
|
22004
|
+
transformFunction: null
|
|
22005
|
+
},
|
|
22006
|
+
accountHolderNameDefault: {
|
|
22007
|
+
classPropertyName: "accountHolderNameDefault",
|
|
22008
|
+
publicName: "accountHolderNameDefault",
|
|
22009
|
+
isSignal: true,
|
|
22010
|
+
isRequired: false,
|
|
22011
|
+
transformFunction: null
|
|
22012
|
+
},
|
|
22013
|
+
testIdPrefix: {
|
|
22014
|
+
classPropertyName: "testIdPrefix",
|
|
22015
|
+
publicName: "testIdPrefix",
|
|
22016
|
+
isSignal: true,
|
|
22017
|
+
isRequired: false,
|
|
22018
|
+
transformFunction: null
|
|
22019
|
+
}
|
|
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
|
+
}],
|
|
22036
|
+
ngImport: i0,
|
|
22037
|
+
template: `
|
|
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>
|
|
22061
|
+
`,
|
|
22062
|
+
isInline: true,
|
|
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",
|
|
21380
22201
|
"error",
|
|
21381
22202
|
"phoneFormat",
|
|
21382
22203
|
"min",
|
|
@@ -21395,27 +22216,6 @@ var BulkMessagePanelComponent = class BulkMessagePanelComponent {
|
|
|
21395
22216
|
"blurred",
|
|
21396
22217
|
"invalidChange"
|
|
21397
22218
|
]
|
|
21398
|
-
},
|
|
21399
|
-
{
|
|
21400
|
-
kind: "component",
|
|
21401
|
-
type: TextareaInputComponent,
|
|
21402
|
-
selector: "ui-textarea-input",
|
|
21403
|
-
inputs: [
|
|
21404
|
-
"label",
|
|
21405
|
-
"ariaLabel",
|
|
21406
|
-
"placeholder",
|
|
21407
|
-
"rows",
|
|
21408
|
-
"maxlength",
|
|
21409
|
-
"required",
|
|
21410
|
-
"readonly",
|
|
21411
|
-
"hint",
|
|
21412
|
-
"hintAsDescription",
|
|
21413
|
-
"error",
|
|
21414
|
-
"monospace",
|
|
21415
|
-
"showErrors",
|
|
21416
|
-
"disabled"
|
|
21417
|
-
],
|
|
21418
|
-
outputs: ["invalidChange"]
|
|
21419
22219
|
}
|
|
21420
22220
|
],
|
|
21421
22221
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
@@ -21426,105 +22226,131 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21426
22226
|
minVersion: "12.0.0",
|
|
21427
22227
|
version: "22.2.2",
|
|
21428
22228
|
ngImport: i0,
|
|
21429
|
-
type:
|
|
22229
|
+
type: BankAccountFormComponent,
|
|
21430
22230
|
decorators: [{
|
|
21431
22231
|
type: Component,
|
|
21432
22232
|
args: [{
|
|
21433
|
-
selector: "ui-
|
|
22233
|
+
selector: "ui-bank-account-form",
|
|
21434
22234
|
standalone: true,
|
|
21435
22235
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21436
22236
|
imports: [
|
|
21437
22237
|
FormsModule,
|
|
21438
|
-
|
|
21439
|
-
|
|
21440
|
-
|
|
21441
|
-
|
|
22238
|
+
CheckboxComponent,
|
|
22239
|
+
FormRowComponent,
|
|
22240
|
+
FormSectionComponent,
|
|
22241
|
+
SelectComponent,
|
|
22242
|
+
TextInputComponent
|
|
21442
22243
|
],
|
|
22244
|
+
providers: [{
|
|
22245
|
+
provide: UiFieldValidity,
|
|
22246
|
+
useExisting: forwardRef(() => BankAccountFormComponent)
|
|
22247
|
+
}],
|
|
22248
|
+
host: { "[attr.aria-busy]": "busy() ? \"true\" : null" },
|
|
21443
22249
|
template: `
|
|
21444
|
-
<
|
|
21445
|
-
|
|
21446
|
-
|
|
21447
|
-
|
|
21448
|
-
|
|
21449
|
-
|
|
21450
|
-
|
|
21451
|
-
|
|
21452
|
-
|
|
21453
|
-
|
|
21454
|
-
|
|
21455
|
-
|
|
21456
|
-
|
|
21457
|
-
|
|
21458
|
-
|
|
21459
|
-
|
|
21460
|
-
|
|
21461
|
-
|
|
21462
|
-
|
|
21463
|
-
|
|
21464
|
-
|
|
21465
|
-
|
|
21466
|
-
|
|
21467
|
-
</div>
|
|
21468
|
-
</div>
|
|
21469
|
-
|
|
21470
|
-
<p class="bulk-msg-recipients">
|
|
21471
|
-
Sending to <strong>{{ activeContacts().length }}</strong> contact{{ activeContacts().length === 1 ? '' : 's' }}
|
|
21472
|
-
@if (skippedCount() > 0) {
|
|
21473
|
-
<span class="bulk-msg-skipped">— {{ skippedCount() }} skipped (no {{ channel() === 'email' ? 'email' : 'phone' }})</span>
|
|
21474
|
-
}
|
|
21475
|
-
</p>
|
|
21476
|
-
|
|
21477
|
-
@if (channel() === 'email') {
|
|
21478
|
-
<ui-text-input label="Subject" [(ngModel)]="subject" placeholder="Subject line" />
|
|
21479
|
-
}
|
|
21480
|
-
<ui-textarea-input label="Message" [rows]="6" [(ngModel)]="body" placeholder="Write your message..." />
|
|
21481
|
-
|
|
21482
|
-
</ui-side-panel>
|
|
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>
|
|
21483
22273
|
`,
|
|
21484
|
-
styles: ["
|
|
22274
|
+
styles: [":host{display:block}\n"]
|
|
21485
22275
|
}]
|
|
21486
22276
|
}],
|
|
21487
22277
|
ctorParameters: () => [],
|
|
21488
22278
|
propDecorators: {
|
|
21489
|
-
|
|
22279
|
+
showErrors: [{
|
|
21490
22280
|
type: i0.Input,
|
|
21491
22281
|
args: [{
|
|
21492
22282
|
isSignal: true,
|
|
21493
|
-
alias: "
|
|
22283
|
+
alias: "showErrors",
|
|
21494
22284
|
required: false
|
|
21495
22285
|
}]
|
|
21496
22286
|
}],
|
|
21497
|
-
|
|
22287
|
+
disabled: [{
|
|
21498
22288
|
type: i0.Input,
|
|
21499
22289
|
args: [{
|
|
21500
22290
|
isSignal: true,
|
|
21501
|
-
alias: "
|
|
22291
|
+
alias: "disabled",
|
|
21502
22292
|
required: false
|
|
21503
22293
|
}]
|
|
21504
22294
|
}],
|
|
21505
|
-
|
|
22295
|
+
busy: [{
|
|
21506
22296
|
type: i0.Input,
|
|
21507
22297
|
args: [{
|
|
21508
22298
|
isSignal: true,
|
|
21509
|
-
alias: "
|
|
22299
|
+
alias: "busy",
|
|
21510
22300
|
required: false
|
|
21511
22301
|
}]
|
|
21512
22302
|
}],
|
|
21513
|
-
|
|
22303
|
+
mandateText: [{
|
|
21514
22304
|
type: i0.Input,
|
|
21515
22305
|
args: [{
|
|
21516
22306
|
isSignal: true,
|
|
21517
|
-
alias: "
|
|
22307
|
+
alias: "mandateText",
|
|
21518
22308
|
required: false
|
|
21519
22309
|
}]
|
|
21520
22310
|
}],
|
|
21521
|
-
|
|
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: [{
|
|
21522
22344
|
type: i0.Output,
|
|
21523
|
-
args: ["
|
|
22345
|
+
args: ["submitted"]
|
|
21524
22346
|
}],
|
|
21525
|
-
|
|
22347
|
+
validChange: [{
|
|
21526
22348
|
type: i0.Output,
|
|
21527
|
-
args: ["
|
|
22349
|
+
args: ["validChange"]
|
|
22350
|
+
}],
|
|
22351
|
+
_fields: [{
|
|
22352
|
+
type: i0.ViewChildren,
|
|
22353
|
+
args: [i0.forwardRef(() => UiFieldValidity), { isSignal: true }]
|
|
21528
22354
|
}]
|
|
21529
22355
|
}
|
|
21530
22356
|
});
|
|
@@ -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",
|
|
@@ -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",
|
|
@@ -48424,6 +49166,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
48424
49166
|
}]
|
|
48425
49167
|
}
|
|
48426
49168
|
});
|
|
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 };
|
|
49169
|
+
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, 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, mergeDescribedBy, normalizeHexColor, parseBizHours, parseIso, parseTime, passwordMeetsRules, pluralize, provideForgerouteToast, reorderItems, requiredIssue, resolveLayoutGap, resolvePreset, serializeBizHours, serializedTextLength, setupIntegrations, splitIntro };
|
|
48428
49170
|
|
|
48429
49171
|
//# sourceMappingURL=forgeroute-ui.mjs.map
|