@forgeroute/ui 0.3.4 → 0.3.6
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-charts.mjs +323 -0
- package/fesm2022/forgeroute-ui-charts.mjs.map +1 -0
- package/fesm2022/forgeroute-ui.mjs +176 -341
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +5 -1
- package/types/forgeroute-ui-charts.d.ts +95 -0
- package/types/forgeroute-ui.d.ts +24 -94
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Directive, ElementRef, HostBinding, HostListener, Injectable, InjectionToken, Injector, Input,
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Directive, ElementRef, HostBinding, HostListener, Injectable, InjectionToken, Injector, Input, Renderer2, afterNextRender, computed, effect, forwardRef, inject, input, linkedSignal, model, output, signal, untracked, viewChild } from "@angular/core";
|
|
3
3
|
import { HttpClient, HttpErrorResponse, HttpParams } from "@angular/common/http";
|
|
4
4
|
import { takeUntilDestroyed, toObservable } from "@angular/core/rxjs-interop";
|
|
5
5
|
import { catchError, debounceTime, distinctUntilChanged, skip, switchMap } from "rxjs/operators";
|
|
@@ -7,7 +7,6 @@ import { Subject, catchError as catchError$1, debounceTime as debounceTime$1, fi
|
|
|
7
7
|
import { DOCUMENT, DatePipe, DecimalPipe, NgTemplateOutlet } from "@angular/common";
|
|
8
8
|
import * as i1 from "@angular/forms";
|
|
9
9
|
import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
10
|
-
import { BarController, BarElement, CategoryScale, Chart, LinearScale, Tooltip } from "chart.js";
|
|
11
10
|
import { NavigationEnd, Router, RouterLink, RouterLinkActive } from "@angular/router";
|
|
12
11
|
import { DomSanitizer } from "@angular/platform-browser";
|
|
13
12
|
const FORGEROUTE_CONFIG = new InjectionToken("FORGEROUTE_CONFIG");
|
|
@@ -2719,6 +2718,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2719
2718
|
var ButtonComponent = class ButtonComponent {
|
|
2720
2719
|
constructor() {
|
|
2721
2720
|
this.variant = input("primary", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
|
|
2721
|
+
this.routerLink = input(null, ...ngDevMode ? [{ debugName: "routerLink" }] : /* istanbul ignore next */ []);
|
|
2722
|
+
this.queryParams = input(null, ...ngDevMode ? [{ debugName: "queryParams" }] : /* istanbul ignore next */ []);
|
|
2722
2723
|
this.color = input(void 0, ...ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []);
|
|
2723
2724
|
this.active = input(false, ...ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []);
|
|
2724
2725
|
this.size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
@@ -2756,6 +2757,20 @@ var ButtonComponent = class ButtonComponent {
|
|
|
2756
2757
|
isRequired: false,
|
|
2757
2758
|
transformFunction: null
|
|
2758
2759
|
},
|
|
2760
|
+
routerLink: {
|
|
2761
|
+
classPropertyName: "routerLink",
|
|
2762
|
+
publicName: "routerLink",
|
|
2763
|
+
isSignal: true,
|
|
2764
|
+
isRequired: false,
|
|
2765
|
+
transformFunction: null
|
|
2766
|
+
},
|
|
2767
|
+
queryParams: {
|
|
2768
|
+
classPropertyName: "queryParams",
|
|
2769
|
+
publicName: "queryParams",
|
|
2770
|
+
isSignal: true,
|
|
2771
|
+
isRequired: false,
|
|
2772
|
+
transformFunction: null
|
|
2773
|
+
},
|
|
2759
2774
|
color: {
|
|
2760
2775
|
classPropertyName: "color",
|
|
2761
2776
|
publicName: "color",
|
|
@@ -2850,6 +2865,23 @@ var ButtonComponent = class ButtonComponent {
|
|
|
2850
2865
|
},
|
|
2851
2866
|
ngImport: i0,
|
|
2852
2867
|
template: `
|
|
2868
|
+
<ng-template #content>
|
|
2869
|
+
@if (loading()) {
|
|
2870
|
+
<span class="spinner"></span>
|
|
2871
|
+
}
|
|
2872
|
+
<ng-content />
|
|
2873
|
+
</ng-template>
|
|
2874
|
+
@if (routerLink() !== null) {
|
|
2875
|
+
<!-- A real link (middle-click, open in new tab, screen readers say "link"): same look as the button of this variant, underlined. -->
|
|
2876
|
+
<a
|
|
2877
|
+
[routerLink]="routerLink()"
|
|
2878
|
+
[queryParams]="queryParams()"
|
|
2879
|
+
[class]="'btn btn-anchor btn-' + variant() + ' btn-' + size()"
|
|
2880
|
+
[class.btn-full]="fullWidth()"
|
|
2881
|
+
[attr.aria-label]="ariaLabel()"
|
|
2882
|
+
[attr.aria-describedby]="ariaDescribedBy() || null"
|
|
2883
|
+
><ng-container [ngTemplateOutlet]="content" /></a>
|
|
2884
|
+
} @else {
|
|
2853
2885
|
<button
|
|
2854
2886
|
[type]="type()"
|
|
2855
2887
|
[class]="'btn btn-' + variant() + ' btn-' + size()"
|
|
@@ -2862,15 +2894,39 @@ var ButtonComponent = class ButtonComponent {
|
|
|
2862
2894
|
[attr.aria-describedby]="ariaDescribedBy() || null"
|
|
2863
2895
|
[style.background]="color() || null"
|
|
2864
2896
|
[style.border-color]="color() || null"
|
|
2865
|
-
>
|
|
2866
|
-
|
|
2867
|
-
<span class="spinner"></span>
|
|
2868
|
-
}
|
|
2869
|
-
<ng-content />
|
|
2870
|
-
</button>
|
|
2897
|
+
><ng-container [ngTemplateOutlet]="content" /></button>
|
|
2898
|
+
}
|
|
2871
2899
|
`,
|
|
2872
2900
|
isInline: true,
|
|
2873
|
-
styles: [":host{display:inline-flex}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-full{width:100%}.btn-primary{background:#3b82f6;color:#fff;border:1px solid #3B82F6}.btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-secondary{background:#fff;color:#334155;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-ghost{background:transparent;color:#64748b;border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:#f8fafc;color:#334155}.btn-danger{background:#dc2626;color:#fff;border:1px solid #dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-link{background:none;color:#3b82f6;border:none;padding:0;font-weight:500}.btn-link:hover:not(:disabled){color:#60a5fa}.btn-link.btn-xs,.btn-link.btn-sm,.btn-link.btn-md,.btn-link.btn-lg{padding:0}.btn-warning{background:#f97316;color:#fff;border:1px solid #f97316}.btn-warning:hover:not(:disabled){background:#ea6c0a;border-color:#ea6c0a}.btn-tab{background:none;color:#64748b;border:none;border-bottom:2px solid transparent;border-radius:0;font-weight:600;font-size:.875rem;transition:all .15s}.btn-tab:hover:not(:disabled){background:none;color:#1e293b}.btn-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.btn-tab.btn-xs,.btn-tab.btn-sm,.btn-tab.btn-md,.btn-tab.btn-lg{padding:10px 20px;border-radius:0}.btn-icon{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:none;color:#94a3b8}.btn-icon:hover:not(:disabled){background:#f1f5f9;color:#334155}.btn-icon-danger{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:none;color:#94a3b8}.btn-icon-danger:hover:not(:disabled){background:#fee2e2;color:#dc2626}.btn-xs{padding:3px 8px;font-size:.75rem;border-radius:5px;gap:4px}.btn-sm{padding:6px 12px;font-size:.8125rem;border-radius:6px}.btn-md{padding:10px 16px;font-size:.875rem}.btn-lg{padding:14px 20px;font-size:1rem}@media(pointer:coarse),(max-width:480px){.btn-xs,.btn-sm,.btn-md,.btn-lg,.btn-tab{min-height:44px}.btn-link.btn-xs,.btn-link.btn-sm,.btn-link.btn-md,.btn-link.btn-lg{min-height:0}.btn-icon,.btn-icon-danger{position:relative}.btn-icon:after,.btn-icon-danger:after{content:\"\";position:absolute;inset:-8px}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"],
|
|
2901
|
+
styles: [":host{display:inline-flex}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-full{width:100%}.btn-primary{background:#3b82f6;color:#fff;border:1px solid #3B82F6}.btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-secondary{background:#fff;color:#334155;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-ghost{background:transparent;color:#64748b;border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:#f8fafc;color:#334155}.btn-danger{background:#dc2626;color:#fff;border:1px solid #dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-link{background:none;color:#3b82f6;border:none;padding:0;font-weight:500}.btn-link:hover:not(:disabled){color:#60a5fa}.btn-link.btn-xs,.btn-link.btn-sm,.btn-link.btn-md,.btn-link.btn-lg{padding:0}.btn-anchor{text-decoration:none}.btn-anchor.btn-link{text-decoration:underline;text-underline-offset:2px}.btn-warning{background:#f97316;color:#fff;border:1px solid #f97316}.btn-warning:hover:not(:disabled){background:#ea6c0a;border-color:#ea6c0a}.btn-tab{background:none;color:#64748b;border:none;border-bottom:2px solid transparent;border-radius:0;font-weight:600;font-size:.875rem;transition:all .15s}.btn-tab:hover:not(:disabled){background:none;color:#1e293b}.btn-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.btn-tab.btn-xs,.btn-tab.btn-sm,.btn-tab.btn-md,.btn-tab.btn-lg{padding:10px 20px;border-radius:0}.btn-icon{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:none;color:#94a3b8}.btn-icon:hover:not(:disabled){background:#f1f5f9;color:#334155}.btn-icon-danger{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:none;color:#94a3b8}.btn-icon-danger:hover:not(:disabled){background:#fee2e2;color:#dc2626}.btn-xs{padding:3px 8px;font-size:.75rem;border-radius:5px;gap:4px}.btn-sm{padding:6px 12px;font-size:.8125rem;border-radius:6px}.btn-md{padding:10px 16px;font-size:.875rem}.btn-lg{padding:14px 20px;font-size:1rem}@media(pointer:coarse),(max-width:480px){.btn-xs,.btn-sm,.btn-md,.btn-lg,.btn-tab{min-height:44px}.btn-link.btn-xs,.btn-link.btn-sm,.btn-link.btn-md,.btn-link.btn-lg{min-height:0}.btn-icon,.btn-icon-danger{position:relative}.btn-icon:after,.btn-icon-danger:after{content:\"\";position:absolute;inset:-8px}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"],
|
|
2902
|
+
dependencies: [{
|
|
2903
|
+
kind: "directive",
|
|
2904
|
+
type: NgTemplateOutlet,
|
|
2905
|
+
selector: "[ngTemplateOutlet]",
|
|
2906
|
+
inputs: [
|
|
2907
|
+
"ngTemplateOutletContext",
|
|
2908
|
+
"ngTemplateOutlet",
|
|
2909
|
+
"ngTemplateOutletInjector"
|
|
2910
|
+
]
|
|
2911
|
+
}, {
|
|
2912
|
+
kind: "directive",
|
|
2913
|
+
type: RouterLink,
|
|
2914
|
+
selector: "[routerLink]",
|
|
2915
|
+
inputs: [
|
|
2916
|
+
"target",
|
|
2917
|
+
"queryParams",
|
|
2918
|
+
"fragment",
|
|
2919
|
+
"queryParamsHandling",
|
|
2920
|
+
"state",
|
|
2921
|
+
"info",
|
|
2922
|
+
"relativeTo",
|
|
2923
|
+
"preserveFragment",
|
|
2924
|
+
"skipLocationChange",
|
|
2925
|
+
"replaceUrl",
|
|
2926
|
+
"browserUrl",
|
|
2927
|
+
"routerLink"
|
|
2928
|
+
]
|
|
2929
|
+
}],
|
|
2874
2930
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
2875
2931
|
});
|
|
2876
2932
|
}
|
|
@@ -2885,8 +2941,26 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2885
2941
|
args: [{
|
|
2886
2942
|
selector: "ui-button",
|
|
2887
2943
|
standalone: true,
|
|
2944
|
+
imports: [NgTemplateOutlet, RouterLink],
|
|
2888
2945
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2889
2946
|
template: `
|
|
2947
|
+
<ng-template #content>
|
|
2948
|
+
@if (loading()) {
|
|
2949
|
+
<span class="spinner"></span>
|
|
2950
|
+
}
|
|
2951
|
+
<ng-content />
|
|
2952
|
+
</ng-template>
|
|
2953
|
+
@if (routerLink() !== null) {
|
|
2954
|
+
<!-- A real link (middle-click, open in new tab, screen readers say "link"): same look as the button of this variant, underlined. -->
|
|
2955
|
+
<a
|
|
2956
|
+
[routerLink]="routerLink()"
|
|
2957
|
+
[queryParams]="queryParams()"
|
|
2958
|
+
[class]="'btn btn-anchor btn-' + variant() + ' btn-' + size()"
|
|
2959
|
+
[class.btn-full]="fullWidth()"
|
|
2960
|
+
[attr.aria-label]="ariaLabel()"
|
|
2961
|
+
[attr.aria-describedby]="ariaDescribedBy() || null"
|
|
2962
|
+
><ng-container [ngTemplateOutlet]="content" /></a>
|
|
2963
|
+
} @else {
|
|
2890
2964
|
<button
|
|
2891
2965
|
[type]="type()"
|
|
2892
2966
|
[class]="'btn btn-' + variant() + ' btn-' + size()"
|
|
@@ -2899,14 +2973,10 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2899
2973
|
[attr.aria-describedby]="ariaDescribedBy() || null"
|
|
2900
2974
|
[style.background]="color() || null"
|
|
2901
2975
|
[style.border-color]="color() || null"
|
|
2902
|
-
>
|
|
2903
|
-
|
|
2904
|
-
<span class="spinner"></span>
|
|
2905
|
-
}
|
|
2906
|
-
<ng-content />
|
|
2907
|
-
</button>
|
|
2976
|
+
><ng-container [ngTemplateOutlet]="content" /></button>
|
|
2977
|
+
}
|
|
2908
2978
|
`,
|
|
2909
|
-
styles: [":host{display:inline-flex}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-full{width:100%}.btn-primary{background:#3b82f6;color:#fff;border:1px solid #3B82F6}.btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-secondary{background:#fff;color:#334155;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-ghost{background:transparent;color:#64748b;border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:#f8fafc;color:#334155}.btn-danger{background:#dc2626;color:#fff;border:1px solid #dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-link{background:none;color:#3b82f6;border:none;padding:0;font-weight:500}.btn-link:hover:not(:disabled){color:#60a5fa}.btn-link.btn-xs,.btn-link.btn-sm,.btn-link.btn-md,.btn-link.btn-lg{padding:0}.btn-warning{background:#f97316;color:#fff;border:1px solid #f97316}.btn-warning:hover:not(:disabled){background:#ea6c0a;border-color:#ea6c0a}.btn-tab{background:none;color:#64748b;border:none;border-bottom:2px solid transparent;border-radius:0;font-weight:600;font-size:.875rem;transition:all .15s}.btn-tab:hover:not(:disabled){background:none;color:#1e293b}.btn-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.btn-tab.btn-xs,.btn-tab.btn-sm,.btn-tab.btn-md,.btn-tab.btn-lg{padding:10px 20px;border-radius:0}.btn-icon{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:none;color:#94a3b8}.btn-icon:hover:not(:disabled){background:#f1f5f9;color:#334155}.btn-icon-danger{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:none;color:#94a3b8}.btn-icon-danger:hover:not(:disabled){background:#fee2e2;color:#dc2626}.btn-xs{padding:3px 8px;font-size:.75rem;border-radius:5px;gap:4px}.btn-sm{padding:6px 12px;font-size:.8125rem;border-radius:6px}.btn-md{padding:10px 16px;font-size:.875rem}.btn-lg{padding:14px 20px;font-size:1rem}@media(pointer:coarse),(max-width:480px){.btn-xs,.btn-sm,.btn-md,.btn-lg,.btn-tab{min-height:44px}.btn-link.btn-xs,.btn-link.btn-sm,.btn-link.btn-md,.btn-link.btn-lg{min-height:0}.btn-icon,.btn-icon-danger{position:relative}.btn-icon:after,.btn-icon-danger:after{content:\"\";position:absolute;inset:-8px}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"]
|
|
2979
|
+
styles: [":host{display:inline-flex}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-full{width:100%}.btn-primary{background:#3b82f6;color:#fff;border:1px solid #3B82F6}.btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-secondary{background:#fff;color:#334155;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-ghost{background:transparent;color:#64748b;border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:#f8fafc;color:#334155}.btn-danger{background:#dc2626;color:#fff;border:1px solid #dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-link{background:none;color:#3b82f6;border:none;padding:0;font-weight:500}.btn-link:hover:not(:disabled){color:#60a5fa}.btn-link.btn-xs,.btn-link.btn-sm,.btn-link.btn-md,.btn-link.btn-lg{padding:0}.btn-anchor{text-decoration:none}.btn-anchor.btn-link{text-decoration:underline;text-underline-offset:2px}.btn-warning{background:#f97316;color:#fff;border:1px solid #f97316}.btn-warning:hover:not(:disabled){background:#ea6c0a;border-color:#ea6c0a}.btn-tab{background:none;color:#64748b;border:none;border-bottom:2px solid transparent;border-radius:0;font-weight:600;font-size:.875rem;transition:all .15s}.btn-tab:hover:not(:disabled){background:none;color:#1e293b}.btn-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.btn-tab.btn-xs,.btn-tab.btn-sm,.btn-tab.btn-md,.btn-tab.btn-lg{padding:10px 20px;border-radius:0}.btn-icon{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:none;color:#94a3b8}.btn-icon:hover:not(:disabled){background:#f1f5f9;color:#334155}.btn-icon-danger{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;border:none;color:#94a3b8}.btn-icon-danger:hover:not(:disabled){background:#fee2e2;color:#dc2626}.btn-xs{padding:3px 8px;font-size:.75rem;border-radius:5px;gap:4px}.btn-sm{padding:6px 12px;font-size:.8125rem;border-radius:6px}.btn-md{padding:10px 16px;font-size:.875rem}.btn-lg{padding:14px 20px;font-size:1rem}@media(pointer:coarse),(max-width:480px){.btn-xs,.btn-sm,.btn-md,.btn-lg,.btn-tab{min-height:44px}.btn-link.btn-xs,.btn-link.btn-sm,.btn-link.btn-md,.btn-link.btn-lg{min-height:0}.btn-icon,.btn-icon-danger{position:relative}.btn-icon:after,.btn-icon-danger:after{content:\"\";position:absolute;inset:-8px}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"]
|
|
2910
2980
|
}]
|
|
2911
2981
|
}],
|
|
2912
2982
|
propDecorators: {
|
|
@@ -2918,6 +2988,22 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2918
2988
|
required: false
|
|
2919
2989
|
}]
|
|
2920
2990
|
}],
|
|
2991
|
+
routerLink: [{
|
|
2992
|
+
type: i0.Input,
|
|
2993
|
+
args: [{
|
|
2994
|
+
isSignal: true,
|
|
2995
|
+
alias: "routerLink",
|
|
2996
|
+
required: false
|
|
2997
|
+
}]
|
|
2998
|
+
}],
|
|
2999
|
+
queryParams: [{
|
|
3000
|
+
type: i0.Input,
|
|
3001
|
+
args: [{
|
|
3002
|
+
isSignal: true,
|
|
3003
|
+
alias: "queryParams",
|
|
3004
|
+
required: false
|
|
3005
|
+
}]
|
|
3006
|
+
}],
|
|
2921
3007
|
color: [{
|
|
2922
3008
|
type: i0.Input,
|
|
2923
3009
|
args: [{
|
|
@@ -3967,6 +4053,8 @@ var TableToolbarComponent = class TableToolbarComponent {
|
|
|
3967
4053
|
selector: "ui-button",
|
|
3968
4054
|
inputs: [
|
|
3969
4055
|
"variant",
|
|
4056
|
+
"routerLink",
|
|
4057
|
+
"queryParams",
|
|
3970
4058
|
"color",
|
|
3971
4059
|
"active",
|
|
3972
4060
|
"size",
|
|
@@ -4303,6 +4391,30 @@ function decodeFilterValues(raw) {
|
|
|
4303
4391
|
out.push(current);
|
|
4304
4392
|
return out.map((v) => v.trim()).filter(Boolean);
|
|
4305
4393
|
}
|
|
4394
|
+
var PlusSafeParamCodec = class {
|
|
4395
|
+
encode(v) {
|
|
4396
|
+
return encodeURIComponent(v).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/gi, "$").replace(/%2C/gi, ",").replace(/%3B/gi, ";").replace(/%3D/gi, "=").replace(/%3F/gi, "?").replace(/%2F/gi, "/");
|
|
4397
|
+
}
|
|
4398
|
+
encodeKey(key) {
|
|
4399
|
+
return this.encode(key);
|
|
4400
|
+
}
|
|
4401
|
+
encodeValue(value) {
|
|
4402
|
+
return this.encode(value);
|
|
4403
|
+
}
|
|
4404
|
+
decodeKey(key) {
|
|
4405
|
+
return decodeURIComponent(key);
|
|
4406
|
+
}
|
|
4407
|
+
decodeValue(value) {
|
|
4408
|
+
return decodeURIComponent(value);
|
|
4409
|
+
}
|
|
4410
|
+
};
|
|
4411
|
+
const CODEC = new PlusSafeParamCodec();
|
|
4412
|
+
function tableQueryParams(values = {}) {
|
|
4413
|
+
return new HttpParams({
|
|
4414
|
+
encoder: CODEC,
|
|
4415
|
+
fromObject: values
|
|
4416
|
+
});
|
|
4417
|
+
}
|
|
4306
4418
|
function getEligibleOptions(options, selectedItems, field) {
|
|
4307
4419
|
if (selectedItems.length === 0) return options;
|
|
4308
4420
|
return options.filter((opt) => !selectedItems.every((item) => String(item[field] ?? "") === opt.value));
|
|
@@ -4716,6 +4828,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4716
4828
|
}]
|
|
4717
4829
|
}
|
|
4718
4830
|
});
|
|
4831
|
+
const MIN_VISIBLE_PERCENT = 2;
|
|
4719
4832
|
var ProgressBarComponent = class ProgressBarComponent {
|
|
4720
4833
|
constructor() {
|
|
4721
4834
|
this.value = input(0, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
|
|
@@ -4725,7 +4838,10 @@ var ProgressBarComponent = class ProgressBarComponent {
|
|
|
4725
4838
|
this.tooltip = input("", ...ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []);
|
|
4726
4839
|
this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
4727
4840
|
this.clampedValue = computed(() => Math.min(Math.max(this.value(), 0), this.max()), ...ngDevMode ? [{ debugName: "clampedValue" }] : /* istanbul ignore next */ []);
|
|
4728
|
-
this.percent = computed(() =>
|
|
4841
|
+
this.percent = computed(() => {
|
|
4842
|
+
if (this.max() <= 0 || this.clampedValue() <= 0) return 0;
|
|
4843
|
+
return Math.max(Math.round(this.clampedValue() / this.max() * 100), MIN_VISIBLE_PERCENT);
|
|
4844
|
+
}, ...ngDevMode ? [{ debugName: "percent" }] : /* istanbul ignore next */ []);
|
|
4729
4845
|
this.effectiveVariant = computed(() => {
|
|
4730
4846
|
const fixed = this.variant();
|
|
4731
4847
|
if (fixed) return fixed;
|
|
@@ -5607,7 +5723,7 @@ var ImportExportComponent = class ImportExportComponent {
|
|
|
5607
5723
|
if (this.exporting) return;
|
|
5608
5724
|
this.exporting = true;
|
|
5609
5725
|
this.cdr.detectChanges();
|
|
5610
|
-
let params =
|
|
5726
|
+
let params = tableQueryParams().set("size", "10000");
|
|
5611
5727
|
Object.entries(this.exportParams()).forEach(([k, v]) => {
|
|
5612
5728
|
if (v) params = params.set(k, v);
|
|
5613
5729
|
});
|
|
@@ -6161,6 +6277,8 @@ var ImportExportComponent = class ImportExportComponent {
|
|
|
6161
6277
|
selector: "ui-button",
|
|
6162
6278
|
inputs: [
|
|
6163
6279
|
"variant",
|
|
6280
|
+
"routerLink",
|
|
6281
|
+
"queryParams",
|
|
6164
6282
|
"color",
|
|
6165
6283
|
"active",
|
|
6166
6284
|
"size",
|
|
@@ -6648,6 +6766,8 @@ var ConfirmOutletComponent = class ConfirmOutletComponent {
|
|
|
6648
6766
|
selector: "ui-button",
|
|
6649
6767
|
inputs: [
|
|
6650
6768
|
"variant",
|
|
6769
|
+
"routerLink",
|
|
6770
|
+
"queryParams",
|
|
6651
6771
|
"color",
|
|
6652
6772
|
"active",
|
|
6653
6773
|
"size",
|
|
@@ -6993,6 +7113,8 @@ var ErrorStateComponent = class ErrorStateComponent {
|
|
|
6993
7113
|
selector: "ui-button",
|
|
6994
7114
|
inputs: [
|
|
6995
7115
|
"variant",
|
|
7116
|
+
"routerLink",
|
|
7117
|
+
"queryParams",
|
|
6996
7118
|
"color",
|
|
6997
7119
|
"active",
|
|
6998
7120
|
"size",
|
|
@@ -7747,7 +7869,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
7747
7869
|
this._searchLoading.set(this._searchPending);
|
|
7748
7870
|
this._searchPending = false;
|
|
7749
7871
|
this._error.set(null);
|
|
7750
|
-
let params =
|
|
7872
|
+
let params = tableQueryParams(this._extraParams()).set("page", this._page() - 1).set("size", this.pageSize());
|
|
7751
7873
|
if (this._search()) {
|
|
7752
7874
|
params = params.set("search", this._searchParam());
|
|
7753
7875
|
const searchFields = this._searchFields();
|
|
@@ -7792,7 +7914,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
7792
7914
|
if (ep) {
|
|
7793
7915
|
const params = this._countParams();
|
|
7794
7916
|
this._tabCountsSub?.unsubscribe();
|
|
7795
|
-
this._tabCountsSub = this.http.get(`${this.config.baseUrl}${ep}`, { params }).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
|
|
7917
|
+
this._tabCountsSub = this.http.get(`${this.config.baseUrl}${ep}`, { params: tableQueryParams(params) }).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
|
|
7796
7918
|
next: (counts) => {
|
|
7797
7919
|
const { all: allCount, ...tabCounts } = counts;
|
|
7798
7920
|
const total = allCount ?? Object.values(tabCounts).reduce((a, b) => a + b, 0);
|
|
@@ -7808,7 +7930,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
7808
7930
|
if (fep) {
|
|
7809
7931
|
const params = this._countParams();
|
|
7810
7932
|
this._filterCountsSub?.unsubscribe();
|
|
7811
|
-
this._filterCountsSub = this.http.get(`${this.config.baseUrl}${fep}`, { params }).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
|
|
7933
|
+
this._filterCountsSub = this.http.get(`${this.config.baseUrl}${fep}`, { params: tableQueryParams(params) }).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
|
|
7812
7934
|
next: (counts) => this._filterCounts.set(counts),
|
|
7813
7935
|
error: () => {}
|
|
7814
7936
|
});
|
|
@@ -9171,6 +9293,8 @@ var DataTableComponent = class DataTableComponent {
|
|
|
9171
9293
|
selector: "ui-button",
|
|
9172
9294
|
inputs: [
|
|
9173
9295
|
"variant",
|
|
9296
|
+
"routerLink",
|
|
9297
|
+
"queryParams",
|
|
9174
9298
|
"color",
|
|
9175
9299
|
"active",
|
|
9176
9300
|
"size",
|
|
@@ -10560,323 +10684,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
10560
10684
|
}]
|
|
10561
10685
|
}
|
|
10562
10686
|
});
|
|
10563
|
-
let registered = false;
|
|
10564
|
-
function registerChartParts() {
|
|
10565
|
-
if (registered) return;
|
|
10566
|
-
Chart.register(BarController, BarElement, CategoryScale, LinearScale, Tooltip);
|
|
10567
|
-
registered = true;
|
|
10568
|
-
}
|
|
10569
|
-
const VALUE_LABELS = {
|
|
10570
|
-
id: "uiBarChartValueLabels",
|
|
10571
|
-
afterDatasetsDraw(chart) {
|
|
10572
|
-
if (chart.options.plugins["uiBarChartValueLabels"]?.enabled === false) return;
|
|
10573
|
-
const ctx = chart.ctx;
|
|
10574
|
-
ctx.save();
|
|
10575
|
-
ctx.fillStyle = "#475569";
|
|
10576
|
-
ctx.font = "600 11px sans-serif";
|
|
10577
|
-
ctx.textAlign = "center";
|
|
10578
|
-
ctx.textBaseline = "bottom";
|
|
10579
|
-
chart.getDatasetMeta(0).data.forEach((bar, i) => {
|
|
10580
|
-
const value = chart.data.datasets[0]?.data[i];
|
|
10581
|
-
if (typeof value === "number" && value !== 0) ctx.fillText(String(value), bar.x, bar.y - 2);
|
|
10582
|
-
});
|
|
10583
|
-
ctx.restore();
|
|
10584
|
-
}
|
|
10585
|
-
};
|
|
10586
|
-
var BarChartComponent = class BarChartComponent {
|
|
10587
|
-
constructor() {
|
|
10588
|
-
this.labels = input([], ...ngDevMode ? [{ debugName: "labels" }] : /* istanbul ignore next */ []);
|
|
10589
|
-
this.values = input([], ...ngDevMode ? [{ debugName: "values" }] : /* istanbul ignore next */ []);
|
|
10590
|
-
this.color = input("#3b82f6", ...ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []);
|
|
10591
|
-
this.hoverColor = input("#2563eb", ...ngDevMode ? [{ debugName: "hoverColor" }] : /* istanbul ignore next */ []);
|
|
10592
|
-
this.height = input(240, ...ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []);
|
|
10593
|
-
this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
10594
|
-
this.showValues = input(true, ...ngDevMode ? [{ debugName: "showValues" }] : /* istanbul ignore next */ []);
|
|
10595
|
-
this.unitSingular = input("", ...ngDevMode ? [{ debugName: "unitSingular" }] : /* istanbul ignore next */ []);
|
|
10596
|
-
this.unitPlural = input("", ...ngDevMode ? [{ debugName: "unitPlural" }] : /* istanbul ignore next */ []);
|
|
10597
|
-
this.canvas = viewChild.required("canvas", ...ngDevMode ? [{ debugName: "canvas" }] : /* istanbul ignore next */ []);
|
|
10598
|
-
this.zone = inject(NgZone);
|
|
10599
|
-
this.chart = null;
|
|
10600
|
-
this.tooltipText = (value) => {
|
|
10601
|
-
const unit = value === 1 ? this.unitSingular() : this.unitPlural();
|
|
10602
|
-
return unit ? `${value} ${unit}` : String(value);
|
|
10603
|
-
};
|
|
10604
|
-
this.series = computed(() => ({
|
|
10605
|
-
labels: this.labels(),
|
|
10606
|
-
data: this.values(),
|
|
10607
|
-
color: this.color(),
|
|
10608
|
-
hoverColor: this.hoverColor(),
|
|
10609
|
-
showValues: this.showValues()
|
|
10610
|
-
}), ...ngDevMode ? [{ debugName: "series" }] : /* istanbul ignore next */ []);
|
|
10611
|
-
effect(() => {
|
|
10612
|
-
const s = this.series();
|
|
10613
|
-
const canvas = this.canvas().nativeElement;
|
|
10614
|
-
if (!this.chart) {
|
|
10615
|
-
registerChartParts();
|
|
10616
|
-
this.zone.runOutsideAngular(() => {
|
|
10617
|
-
this.chart = new Chart(canvas, {
|
|
10618
|
-
type: "bar",
|
|
10619
|
-
data: {
|
|
10620
|
-
labels: s.labels,
|
|
10621
|
-
datasets: [{
|
|
10622
|
-
data: s.data,
|
|
10623
|
-
backgroundColor: s.color,
|
|
10624
|
-
hoverBackgroundColor: s.hoverColor,
|
|
10625
|
-
borderRadius: 3,
|
|
10626
|
-
borderSkipped: false
|
|
10627
|
-
}]
|
|
10628
|
-
},
|
|
10629
|
-
options: {
|
|
10630
|
-
responsive: true,
|
|
10631
|
-
maintainAspectRatio: false,
|
|
10632
|
-
animation: false,
|
|
10633
|
-
layout: { padding: { top: 20 } },
|
|
10634
|
-
plugins: {
|
|
10635
|
-
legend: { display: false },
|
|
10636
|
-
tooltip: { callbacks: { label: (item) => this.tooltipText(Number(item.raw)) } }
|
|
10637
|
-
},
|
|
10638
|
-
scales: {
|
|
10639
|
-
y: {
|
|
10640
|
-
beginAtZero: true,
|
|
10641
|
-
ticks: {
|
|
10642
|
-
precision: 0,
|
|
10643
|
-
color: "#94a3b8",
|
|
10644
|
-
font: { size: 11 }
|
|
10645
|
-
},
|
|
10646
|
-
grid: { color: "#e2e8f0" },
|
|
10647
|
-
border: { display: false }
|
|
10648
|
-
},
|
|
10649
|
-
x: {
|
|
10650
|
-
grid: { display: false },
|
|
10651
|
-
ticks: {
|
|
10652
|
-
maxRotation: 0,
|
|
10653
|
-
color: "#94a3b8",
|
|
10654
|
-
font: { size: 10 }
|
|
10655
|
-
},
|
|
10656
|
-
border: { display: false }
|
|
10657
|
-
}
|
|
10658
|
-
}
|
|
10659
|
-
},
|
|
10660
|
-
plugins: [VALUE_LABELS]
|
|
10661
|
-
});
|
|
10662
|
-
});
|
|
10663
|
-
}
|
|
10664
|
-
const chart = this.chart;
|
|
10665
|
-
chart.data.labels = s.labels;
|
|
10666
|
-
const ds = chart.data.datasets[0];
|
|
10667
|
-
ds.data = s.data;
|
|
10668
|
-
ds.backgroundColor = s.color;
|
|
10669
|
-
ds.hoverBackgroundColor = s.hoverColor;
|
|
10670
|
-
chart.options.plugins["uiBarChartValueLabels"] = { enabled: s.showValues };
|
|
10671
|
-
chart.update("none");
|
|
10672
|
-
});
|
|
10673
|
-
inject(DestroyRef).onDestroy(() => {
|
|
10674
|
-
this.chart?.destroy();
|
|
10675
|
-
this.chart = null;
|
|
10676
|
-
});
|
|
10677
|
-
}
|
|
10678
|
-
static {
|
|
10679
|
-
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
10680
|
-
minVersion: "12.0.0",
|
|
10681
|
-
version: "22.2.2",
|
|
10682
|
-
ngImport: i0,
|
|
10683
|
-
type: BarChartComponent,
|
|
10684
|
-
deps: [],
|
|
10685
|
-
target: i0.ɵɵFactoryTarget.Component
|
|
10686
|
-
});
|
|
10687
|
-
}
|
|
10688
|
-
static {
|
|
10689
|
-
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
10690
|
-
minVersion: "17.2.0",
|
|
10691
|
-
version: "22.2.2",
|
|
10692
|
-
type: BarChartComponent,
|
|
10693
|
-
isStandalone: true,
|
|
10694
|
-
selector: "ui-bar-chart",
|
|
10695
|
-
inputs: {
|
|
10696
|
-
labels: {
|
|
10697
|
-
classPropertyName: "labels",
|
|
10698
|
-
publicName: "labels",
|
|
10699
|
-
isSignal: true,
|
|
10700
|
-
isRequired: false,
|
|
10701
|
-
transformFunction: null
|
|
10702
|
-
},
|
|
10703
|
-
values: {
|
|
10704
|
-
classPropertyName: "values",
|
|
10705
|
-
publicName: "values",
|
|
10706
|
-
isSignal: true,
|
|
10707
|
-
isRequired: false,
|
|
10708
|
-
transformFunction: null
|
|
10709
|
-
},
|
|
10710
|
-
color: {
|
|
10711
|
-
classPropertyName: "color",
|
|
10712
|
-
publicName: "color",
|
|
10713
|
-
isSignal: true,
|
|
10714
|
-
isRequired: false,
|
|
10715
|
-
transformFunction: null
|
|
10716
|
-
},
|
|
10717
|
-
hoverColor: {
|
|
10718
|
-
classPropertyName: "hoverColor",
|
|
10719
|
-
publicName: "hoverColor",
|
|
10720
|
-
isSignal: true,
|
|
10721
|
-
isRequired: false,
|
|
10722
|
-
transformFunction: null
|
|
10723
|
-
},
|
|
10724
|
-
height: {
|
|
10725
|
-
classPropertyName: "height",
|
|
10726
|
-
publicName: "height",
|
|
10727
|
-
isSignal: true,
|
|
10728
|
-
isRequired: false,
|
|
10729
|
-
transformFunction: null
|
|
10730
|
-
},
|
|
10731
|
-
ariaLabel: {
|
|
10732
|
-
classPropertyName: "ariaLabel",
|
|
10733
|
-
publicName: "ariaLabel",
|
|
10734
|
-
isSignal: true,
|
|
10735
|
-
isRequired: false,
|
|
10736
|
-
transformFunction: null
|
|
10737
|
-
},
|
|
10738
|
-
showValues: {
|
|
10739
|
-
classPropertyName: "showValues",
|
|
10740
|
-
publicName: "showValues",
|
|
10741
|
-
isSignal: true,
|
|
10742
|
-
isRequired: false,
|
|
10743
|
-
transformFunction: null
|
|
10744
|
-
},
|
|
10745
|
-
unitSingular: {
|
|
10746
|
-
classPropertyName: "unitSingular",
|
|
10747
|
-
publicName: "unitSingular",
|
|
10748
|
-
isSignal: true,
|
|
10749
|
-
isRequired: false,
|
|
10750
|
-
transformFunction: null
|
|
10751
|
-
},
|
|
10752
|
-
unitPlural: {
|
|
10753
|
-
classPropertyName: "unitPlural",
|
|
10754
|
-
publicName: "unitPlural",
|
|
10755
|
-
isSignal: true,
|
|
10756
|
-
isRequired: false,
|
|
10757
|
-
transformFunction: null
|
|
10758
|
-
}
|
|
10759
|
-
},
|
|
10760
|
-
viewQueries: [{
|
|
10761
|
-
propertyName: "canvas",
|
|
10762
|
-
first: true,
|
|
10763
|
-
predicate: ["canvas"],
|
|
10764
|
-
descendants: true,
|
|
10765
|
-
isSignal: true
|
|
10766
|
-
}],
|
|
10767
|
-
ngImport: i0,
|
|
10768
|
-
template: `
|
|
10769
|
-
<div class="bc-wrap" [class.bc-default-height]="height() === 240" [style.height.px]="height()"
|
|
10770
|
-
role="img" [attr.aria-label]="ariaLabel() || null">
|
|
10771
|
-
<canvas #canvas></canvas>
|
|
10772
|
-
</div>
|
|
10773
|
-
`,
|
|
10774
|
-
isInline: true,
|
|
10775
|
-
styles: [":host{display:block}.bc-wrap{position:relative}@media(max-width:768px){.bc-wrap.bc-default-height{height:200px!important}}@media(max-width:480px){.bc-wrap.bc-default-height{height:160px!important}}\n"],
|
|
10776
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
10777
|
-
});
|
|
10778
|
-
}
|
|
10779
|
-
};
|
|
10780
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
10781
|
-
minVersion: "12.0.0",
|
|
10782
|
-
version: "22.2.2",
|
|
10783
|
-
ngImport: i0,
|
|
10784
|
-
type: BarChartComponent,
|
|
10785
|
-
decorators: [{
|
|
10786
|
-
type: Component,
|
|
10787
|
-
args: [{
|
|
10788
|
-
selector: "ui-bar-chart",
|
|
10789
|
-
standalone: true,
|
|
10790
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10791
|
-
template: `
|
|
10792
|
-
<div class="bc-wrap" [class.bc-default-height]="height() === 240" [style.height.px]="height()"
|
|
10793
|
-
role="img" [attr.aria-label]="ariaLabel() || null">
|
|
10794
|
-
<canvas #canvas></canvas>
|
|
10795
|
-
</div>
|
|
10796
|
-
`,
|
|
10797
|
-
styles: [":host{display:block}.bc-wrap{position:relative}@media(max-width:768px){.bc-wrap.bc-default-height{height:200px!important}}@media(max-width:480px){.bc-wrap.bc-default-height{height:160px!important}}\n"]
|
|
10798
|
-
}]
|
|
10799
|
-
}],
|
|
10800
|
-
ctorParameters: () => [],
|
|
10801
|
-
propDecorators: {
|
|
10802
|
-
labels: [{
|
|
10803
|
-
type: i0.Input,
|
|
10804
|
-
args: [{
|
|
10805
|
-
isSignal: true,
|
|
10806
|
-
alias: "labels",
|
|
10807
|
-
required: false
|
|
10808
|
-
}]
|
|
10809
|
-
}],
|
|
10810
|
-
values: [{
|
|
10811
|
-
type: i0.Input,
|
|
10812
|
-
args: [{
|
|
10813
|
-
isSignal: true,
|
|
10814
|
-
alias: "values",
|
|
10815
|
-
required: false
|
|
10816
|
-
}]
|
|
10817
|
-
}],
|
|
10818
|
-
color: [{
|
|
10819
|
-
type: i0.Input,
|
|
10820
|
-
args: [{
|
|
10821
|
-
isSignal: true,
|
|
10822
|
-
alias: "color",
|
|
10823
|
-
required: false
|
|
10824
|
-
}]
|
|
10825
|
-
}],
|
|
10826
|
-
hoverColor: [{
|
|
10827
|
-
type: i0.Input,
|
|
10828
|
-
args: [{
|
|
10829
|
-
isSignal: true,
|
|
10830
|
-
alias: "hoverColor",
|
|
10831
|
-
required: false
|
|
10832
|
-
}]
|
|
10833
|
-
}],
|
|
10834
|
-
height: [{
|
|
10835
|
-
type: i0.Input,
|
|
10836
|
-
args: [{
|
|
10837
|
-
isSignal: true,
|
|
10838
|
-
alias: "height",
|
|
10839
|
-
required: false
|
|
10840
|
-
}]
|
|
10841
|
-
}],
|
|
10842
|
-
ariaLabel: [{
|
|
10843
|
-
type: i0.Input,
|
|
10844
|
-
args: [{
|
|
10845
|
-
isSignal: true,
|
|
10846
|
-
alias: "ariaLabel",
|
|
10847
|
-
required: false
|
|
10848
|
-
}]
|
|
10849
|
-
}],
|
|
10850
|
-
showValues: [{
|
|
10851
|
-
type: i0.Input,
|
|
10852
|
-
args: [{
|
|
10853
|
-
isSignal: true,
|
|
10854
|
-
alias: "showValues",
|
|
10855
|
-
required: false
|
|
10856
|
-
}]
|
|
10857
|
-
}],
|
|
10858
|
-
unitSingular: [{
|
|
10859
|
-
type: i0.Input,
|
|
10860
|
-
args: [{
|
|
10861
|
-
isSignal: true,
|
|
10862
|
-
alias: "unitSingular",
|
|
10863
|
-
required: false
|
|
10864
|
-
}]
|
|
10865
|
-
}],
|
|
10866
|
-
unitPlural: [{
|
|
10867
|
-
type: i0.Input,
|
|
10868
|
-
args: [{
|
|
10869
|
-
isSignal: true,
|
|
10870
|
-
alias: "unitPlural",
|
|
10871
|
-
required: false
|
|
10872
|
-
}]
|
|
10873
|
-
}],
|
|
10874
|
-
canvas: [{
|
|
10875
|
-
type: i0.ViewChild,
|
|
10876
|
-
args: ["canvas", { isSignal: true }]
|
|
10877
|
-
}]
|
|
10878
|
-
}
|
|
10879
|
-
});
|
|
10880
10687
|
const KEY_STEP = 2;
|
|
10881
10688
|
const KEY_STEP_BIG = 10;
|
|
10882
10689
|
const clamp = (n) => Math.min(100, Math.max(0, Math.round(n)));
|
|
@@ -16717,6 +16524,8 @@ var SendEmailComponent = class SendEmailComponent {
|
|
|
16717
16524
|
selector: "ui-button",
|
|
16718
16525
|
inputs: [
|
|
16719
16526
|
"variant",
|
|
16527
|
+
"routerLink",
|
|
16528
|
+
"queryParams",
|
|
16720
16529
|
"color",
|
|
16721
16530
|
"active",
|
|
16722
16531
|
"size",
|
|
@@ -17937,6 +17746,8 @@ var SendTextComponent = class SendTextComponent {
|
|
|
17937
17746
|
selector: "ui-button",
|
|
17938
17747
|
inputs: [
|
|
17939
17748
|
"variant",
|
|
17749
|
+
"routerLink",
|
|
17750
|
+
"queryParams",
|
|
17940
17751
|
"color",
|
|
17941
17752
|
"active",
|
|
17942
17753
|
"size",
|
|
@@ -22970,6 +22781,8 @@ var QrCodeComponent = class QrCodeComponent {
|
|
|
22970
22781
|
selector: "ui-button",
|
|
22971
22782
|
inputs: [
|
|
22972
22783
|
"variant",
|
|
22784
|
+
"routerLink",
|
|
22785
|
+
"queryParams",
|
|
22973
22786
|
"color",
|
|
22974
22787
|
"active",
|
|
22975
22788
|
"size",
|
|
@@ -23238,6 +23051,8 @@ var PanelInfoListComponent = class PanelInfoListComponent {
|
|
|
23238
23051
|
selector: "ui-button",
|
|
23239
23052
|
inputs: [
|
|
23240
23053
|
"variant",
|
|
23054
|
+
"routerLink",
|
|
23055
|
+
"queryParams",
|
|
23241
23056
|
"color",
|
|
23242
23057
|
"active",
|
|
23243
23058
|
"size",
|
|
@@ -24989,6 +24804,7 @@ var DateRangePickerComponent = class DateRangePickerComponent {
|
|
|
24989
24804
|
this.activePreset = input("ytd", ...ngDevMode ? [{ debugName: "activePreset" }] : /* istanbul ignore next */ []);
|
|
24990
24805
|
this.showPresets = input(true, ...ngDevMode ? [{ debugName: "showPresets" }] : /* istanbul ignore next */ []);
|
|
24991
24806
|
this.includeAllTime = input(false, ...ngDevMode ? [{ debugName: "includeAllTime" }] : /* istanbul ignore next */ []);
|
|
24807
|
+
this.ariaLabel = input("Date range", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
24992
24808
|
this.rangeChange = output();
|
|
24993
24809
|
this.selectedPreset = linkedSignal(() => this.activePreset(), ...ngDevMode ? [{ debugName: "selectedPreset" }] : /* istanbul ignore next */ []);
|
|
24994
24810
|
this.customStart = signal("", ...ngDevMode ? [{ debugName: "customStart" }] : /* istanbul ignore next */ []);
|
|
@@ -25061,6 +24877,13 @@ var DateRangePickerComponent = class DateRangePickerComponent {
|
|
|
25061
24877
|
isSignal: true,
|
|
25062
24878
|
isRequired: false,
|
|
25063
24879
|
transformFunction: null
|
|
24880
|
+
},
|
|
24881
|
+
ariaLabel: {
|
|
24882
|
+
classPropertyName: "ariaLabel",
|
|
24883
|
+
publicName: "ariaLabel",
|
|
24884
|
+
isSignal: true,
|
|
24885
|
+
isRequired: false,
|
|
24886
|
+
transformFunction: null
|
|
25064
24887
|
}
|
|
25065
24888
|
},
|
|
25066
24889
|
outputs: { rangeChange: "rangeChange" },
|
|
@@ -25068,7 +24891,7 @@ var DateRangePickerComponent = class DateRangePickerComponent {
|
|
|
25068
24891
|
template: `
|
|
25069
24892
|
<div class="date-range-picker">
|
|
25070
24893
|
@if (showPresets()) {
|
|
25071
|
-
<ui-pill-tabs [tabs]="presetTabs()" [activeKey]="selectedPreset()" (tabChange)="selectPreset($any($event))" />
|
|
24894
|
+
<ui-pill-tabs [tabs]="presetTabs()" [activeKey]="selectedPreset()" [ariaLabel]="ariaLabel()" (tabChange)="selectPreset($any($event))" />
|
|
25072
24895
|
}
|
|
25073
24896
|
@if (selectedPreset() === 'custom' || !showPresets()) {
|
|
25074
24897
|
<div class="custom-range">
|
|
@@ -25139,6 +24962,8 @@ var DateRangePickerComponent = class DateRangePickerComponent {
|
|
|
25139
24962
|
selector: "ui-button",
|
|
25140
24963
|
inputs: [
|
|
25141
24964
|
"variant",
|
|
24965
|
+
"routerLink",
|
|
24966
|
+
"queryParams",
|
|
25142
24967
|
"color",
|
|
25143
24968
|
"active",
|
|
25144
24969
|
"size",
|
|
@@ -25179,7 +25004,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
25179
25004
|
template: `
|
|
25180
25005
|
<div class="date-range-picker">
|
|
25181
25006
|
@if (showPresets()) {
|
|
25182
|
-
<ui-pill-tabs [tabs]="presetTabs()" [activeKey]="selectedPreset()" (tabChange)="selectPreset($any($event))" />
|
|
25007
|
+
<ui-pill-tabs [tabs]="presetTabs()" [activeKey]="selectedPreset()" [ariaLabel]="ariaLabel()" (tabChange)="selectPreset($any($event))" />
|
|
25183
25008
|
}
|
|
25184
25009
|
@if (selectedPreset() === 'custom' || !showPresets()) {
|
|
25185
25010
|
<div class="custom-range">
|
|
@@ -25219,6 +25044,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
25219
25044
|
required: false
|
|
25220
25045
|
}]
|
|
25221
25046
|
}],
|
|
25047
|
+
ariaLabel: [{
|
|
25048
|
+
type: i0.Input,
|
|
25049
|
+
args: [{
|
|
25050
|
+
isSignal: true,
|
|
25051
|
+
alias: "ariaLabel",
|
|
25052
|
+
required: false
|
|
25053
|
+
}]
|
|
25054
|
+
}],
|
|
25222
25055
|
rangeChange: [{
|
|
25223
25056
|
type: i0.Output,
|
|
25224
25057
|
args: ["rangeChange"]
|
|
@@ -27936,6 +27769,8 @@ var DetailCardComponent = class DetailCardComponent {
|
|
|
27936
27769
|
selector: "ui-button",
|
|
27937
27770
|
inputs: [
|
|
27938
27771
|
"variant",
|
|
27772
|
+
"routerLink",
|
|
27773
|
+
"queryParams",
|
|
27939
27774
|
"color",
|
|
27940
27775
|
"active",
|
|
27941
27776
|
"size",
|
|
@@ -28203,6 +28038,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
28203
28038
|
}]
|
|
28204
28039
|
}
|
|
28205
28040
|
});
|
|
28206
|
-
export { AlertComponent, AppShellComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent,
|
|
28041
|
+
export { AlertComponent, AppShellComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BulkMessagePanelComponent, ButtonComponent, CheckboxComponent, ChipComponent, ChipGroupComponent, ColumnFilterComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_DOCUMENT_SUBJECT, DOCUMENT_PURPOSE_OPTIONS, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DocumentSendOptionsComponent, DropdownComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FileInputComponent, FormRowComponent, FormSectionComponent, HintComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, KpiCardComponent, ListItemComponent, MAX_CC, ModalComponent, MoreMenuComponent, MultiSelectComponent, PaginationComponent, PanelInfoListComponent, PillTabsComponent, ProgressBarComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SearchInputComponent, SelectComponent, SendMessagePanelComponent, SidePanelComponent, SkeletonComponent, TableToolbarComponent, TemplatePickerComponent, TextInputComponent, TextareaInputComponent, TimeInputComponent, ToastComponent, ToastService, ToggleBadgeComponent, TooltipDirective, US_STATES, UiFieldValidity, VideoPickerComponent, appShellGroupsStorageKey, autoVariant, builtInActionIcon, createFieldReveal, decodeFilterValues, encodeFilterValue, encodeFilterValues, errorContextInterceptor, formatIsoDate, formatIsoDateTime, formatTime, getEligibleIds, getEligibleOptions, getErrorMessage, humanReadableMessage, isoKey, issueToErrors, maxLengthIssue, messagePreviewHtml, parseCcList, parseIso, parseTime, pluralize, requiredIssue, resolvePreset, suggestDocumentSubject };
|
|
28207
28042
|
|
|
28208
28043
|
//# sourceMappingURL=forgeroute-ui.mjs.map
|