@forgeroute/ui 0.3.1 → 0.3.3
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.mjs +810 -65
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +6 -2
- package/types/forgeroute-ui.d.ts +240 -33
|
@@ -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, Renderer2, afterNextRender, computed, effect, forwardRef, inject, input, linkedSignal, model, output, signal, untracked, viewChild } from "@angular/core";
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Directive, ElementRef, HostBinding, HostListener, Injectable, InjectionToken, Injector, Input, NgZone, 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,6 +7,7 @@ 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";
|
|
10
11
|
import { NavigationEnd, Router, RouterLink, RouterLinkActive } from "@angular/router";
|
|
11
12
|
import { DomSanitizer } from "@angular/platform-browser";
|
|
12
13
|
const FORGEROUTE_CONFIG = new InjectionToken("FORGEROUTE_CONFIG");
|
|
@@ -2728,6 +2729,7 @@ var ButtonComponent = class ButtonComponent {
|
|
|
2728
2729
|
this.ariaLabel = input(void 0, ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
2729
2730
|
this.ariaExpanded = input(void 0, ...ngDevMode ? [{ debugName: "ariaExpanded" }] : /* istanbul ignore next */ []);
|
|
2730
2731
|
this.ariaPressed = input(void 0, ...ngDevMode ? [{ debugName: "ariaPressed" }] : /* istanbul ignore next */ []);
|
|
2732
|
+
this.ariaDescribedBy = input(void 0, ...ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []);
|
|
2731
2733
|
}
|
|
2732
2734
|
static {
|
|
2733
2735
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
@@ -2824,6 +2826,13 @@ var ButtonComponent = class ButtonComponent {
|
|
|
2824
2826
|
isRequired: false,
|
|
2825
2827
|
transformFunction: null
|
|
2826
2828
|
},
|
|
2829
|
+
ariaDescribedBy: {
|
|
2830
|
+
classPropertyName: "ariaDescribedBy",
|
|
2831
|
+
publicName: "ariaDescribedBy",
|
|
2832
|
+
isSignal: true,
|
|
2833
|
+
isRequired: false,
|
|
2834
|
+
transformFunction: null
|
|
2835
|
+
},
|
|
2827
2836
|
_footerLeft: {
|
|
2828
2837
|
classPropertyName: "_footerLeft",
|
|
2829
2838
|
publicName: "modal-footer-left",
|
|
@@ -2850,6 +2859,7 @@ var ButtonComponent = class ButtonComponent {
|
|
|
2850
2859
|
[attr.aria-label]="ariaLabel()"
|
|
2851
2860
|
[attr.aria-expanded]="ariaExpanded()"
|
|
2852
2861
|
[attr.aria-pressed]="ariaPressed()"
|
|
2862
|
+
[attr.aria-describedby]="ariaDescribedBy() || null"
|
|
2853
2863
|
[style.background]="color() || null"
|
|
2854
2864
|
[style.border-color]="color() || null"
|
|
2855
2865
|
>
|
|
@@ -2886,6 +2896,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2886
2896
|
[attr.aria-label]="ariaLabel()"
|
|
2887
2897
|
[attr.aria-expanded]="ariaExpanded()"
|
|
2888
2898
|
[attr.aria-pressed]="ariaPressed()"
|
|
2899
|
+
[attr.aria-describedby]="ariaDescribedBy() || null"
|
|
2889
2900
|
[style.background]="color() || null"
|
|
2890
2901
|
[style.border-color]="color() || null"
|
|
2891
2902
|
>
|
|
@@ -2987,6 +2998,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2987
2998
|
required: false
|
|
2988
2999
|
}]
|
|
2989
3000
|
}],
|
|
3001
|
+
ariaDescribedBy: [{
|
|
3002
|
+
type: i0.Input,
|
|
3003
|
+
args: [{
|
|
3004
|
+
isSignal: true,
|
|
3005
|
+
alias: "ariaDescribedBy",
|
|
3006
|
+
required: false
|
|
3007
|
+
}]
|
|
3008
|
+
}],
|
|
2990
3009
|
_footerLeft: [{
|
|
2991
3010
|
type: Input,
|
|
2992
3011
|
args: ["modal-footer-left"]
|
|
@@ -3958,6 +3977,7 @@ var TableToolbarComponent = class TableToolbarComponent {
|
|
|
3958
3977
|
"ariaLabel",
|
|
3959
3978
|
"ariaExpanded",
|
|
3960
3979
|
"ariaPressed",
|
|
3980
|
+
"ariaDescribedBy",
|
|
3961
3981
|
"modal-footer-left",
|
|
3962
3982
|
"modal-footer-right"
|
|
3963
3983
|
]
|
|
@@ -4696,42 +4716,21 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4696
4716
|
}]
|
|
4697
4717
|
}
|
|
4698
4718
|
});
|
|
4699
|
-
const PROGRESS_STEP_THRESHOLDS = [
|
|
4700
|
-
{
|
|
4701
|
-
at: 25,
|
|
4702
|
-
variant: "amber"
|
|
4703
|
-
},
|
|
4704
|
-
{
|
|
4705
|
-
at: 50,
|
|
4706
|
-
variant: "blue"
|
|
4707
|
-
},
|
|
4708
|
-
{
|
|
4709
|
-
at: 75,
|
|
4710
|
-
variant: "lime"
|
|
4711
|
-
},
|
|
4712
|
-
{
|
|
4713
|
-
at: 100,
|
|
4714
|
-
variant: "green"
|
|
4715
|
-
}
|
|
4716
|
-
];
|
|
4717
4719
|
var ProgressBarComponent = class ProgressBarComponent {
|
|
4718
4720
|
constructor() {
|
|
4719
4721
|
this.value = input(0, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
|
|
4720
4722
|
this.max = input(100, ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
|
|
4721
4723
|
this.label = input("", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
4722
|
-
this.variant = input(
|
|
4723
|
-
this.thresholds = input(null, ...ngDevMode ? [{ debugName: "thresholds" }] : /* istanbul ignore next */ []);
|
|
4724
|
-
this.autoColor = input(false, ...ngDevMode ? [{ debugName: "autoColor" }] : /* istanbul ignore next */ []);
|
|
4724
|
+
this.variant = input(null, ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
|
|
4725
4725
|
this.tooltip = input("", ...ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []);
|
|
4726
4726
|
this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
4727
4727
|
this.clampedValue = computed(() => Math.min(Math.max(this.value(), 0), this.max()), ...ngDevMode ? [{ debugName: "clampedValue" }] : /* istanbul ignore next */ []);
|
|
4728
4728
|
this.percent = computed(() => this.max() > 0 ? Math.round(this.clampedValue() / this.max() * 100) : 0, ...ngDevMode ? [{ debugName: "percent" }] : /* istanbul ignore next */ []);
|
|
4729
4729
|
this.effectiveVariant = computed(() => {
|
|
4730
|
-
const
|
|
4731
|
-
if (
|
|
4732
|
-
const exact = this.clampedValue() / this.max() * 100;
|
|
4733
|
-
|
|
4734
|
-
return hit ? hit.variant : this.variant();
|
|
4730
|
+
const fixed = this.variant();
|
|
4731
|
+
if (fixed) return fixed;
|
|
4732
|
+
const exact = this.max() > 0 ? this.clampedValue() / this.max() * 100 : 0;
|
|
4733
|
+
return exact <= 25 ? "red" : exact <= 50 ? "amber" : exact <= 75 ? "blue" : "green";
|
|
4735
4734
|
}, ...ngDevMode ? [{ debugName: "effectiveVariant" }] : /* istanbul ignore next */ []);
|
|
4736
4735
|
}
|
|
4737
4736
|
static {
|
|
@@ -4780,20 +4779,6 @@ var ProgressBarComponent = class ProgressBarComponent {
|
|
|
4780
4779
|
isRequired: false,
|
|
4781
4780
|
transformFunction: null
|
|
4782
4781
|
},
|
|
4783
|
-
thresholds: {
|
|
4784
|
-
classPropertyName: "thresholds",
|
|
4785
|
-
publicName: "thresholds",
|
|
4786
|
-
isSignal: true,
|
|
4787
|
-
isRequired: false,
|
|
4788
|
-
transformFunction: null
|
|
4789
|
-
},
|
|
4790
|
-
autoColor: {
|
|
4791
|
-
classPropertyName: "autoColor",
|
|
4792
|
-
publicName: "autoColor",
|
|
4793
|
-
isSignal: true,
|
|
4794
|
-
isRequired: false,
|
|
4795
|
-
transformFunction: null
|
|
4796
|
-
},
|
|
4797
4782
|
tooltip: {
|
|
4798
4783
|
classPropertyName: "tooltip",
|
|
4799
4784
|
publicName: "tooltip",
|
|
@@ -4824,7 +4809,7 @@ var ProgressBarComponent = class ProgressBarComponent {
|
|
|
4824
4809
|
</div>
|
|
4825
4810
|
`,
|
|
4826
4811
|
isInline: true,
|
|
4827
|
-
styles: [":host{display:block}.pb{display:flex;align-items:center;gap:8px;min-width:100px}.pb-track{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.pb-fill{height:100%;border-radius:3px;transition:width .3s}.pb-blue{background:#3b82f6}.pb-green{background:#16a34a}.pb-amber{background:#f59e0b}.pb-red{background:#ef4444}.pb-slate{background:#94a3b8}.pb-
|
|
4812
|
+
styles: [":host{display:block}.pb{display:flex;align-items:center;gap:8px;min-width:100px}.pb-track{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.pb-fill{height:100%;border-radius:3px;transition:width .3s}.pb-blue{background:#3b82f6}.pb-green{background:#16a34a}.pb-amber{background:#f59e0b}.pb-red{background:#ef4444}.pb-slate{background:#94a3b8}.pb-label{font-size:.75rem;font-weight:500;color:#64748b;white-space:nowrap}\n"],
|
|
4828
4813
|
dependencies: [{
|
|
4829
4814
|
kind: "directive",
|
|
4830
4815
|
type: TooltipDirective,
|
|
@@ -4860,7 +4845,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4860
4845
|
@if (label()) { <span class="pb-label">{{ label() }}</span> }
|
|
4861
4846
|
</div>
|
|
4862
4847
|
`,
|
|
4863
|
-
styles: [":host{display:block}.pb{display:flex;align-items:center;gap:8px;min-width:100px}.pb-track{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.pb-fill{height:100%;border-radius:3px;transition:width .3s}.pb-blue{background:#3b82f6}.pb-green{background:#16a34a}.pb-amber{background:#f59e0b}.pb-red{background:#ef4444}.pb-slate{background:#94a3b8}.pb-
|
|
4848
|
+
styles: [":host{display:block}.pb{display:flex;align-items:center;gap:8px;min-width:100px}.pb-track{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.pb-fill{height:100%;border-radius:3px;transition:width .3s}.pb-blue{background:#3b82f6}.pb-green{background:#16a34a}.pb-amber{background:#f59e0b}.pb-red{background:#ef4444}.pb-slate{background:#94a3b8}.pb-label{font-size:.75rem;font-weight:500;color:#64748b;white-space:nowrap}\n"]
|
|
4864
4849
|
}]
|
|
4865
4850
|
}],
|
|
4866
4851
|
propDecorators: {
|
|
@@ -4896,22 +4881,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4896
4881
|
required: false
|
|
4897
4882
|
}]
|
|
4898
4883
|
}],
|
|
4899
|
-
thresholds: [{
|
|
4900
|
-
type: i0.Input,
|
|
4901
|
-
args: [{
|
|
4902
|
-
isSignal: true,
|
|
4903
|
-
alias: "thresholds",
|
|
4904
|
-
required: false
|
|
4905
|
-
}]
|
|
4906
|
-
}],
|
|
4907
|
-
autoColor: [{
|
|
4908
|
-
type: i0.Input,
|
|
4909
|
-
args: [{
|
|
4910
|
-
isSignal: true,
|
|
4911
|
-
alias: "autoColor",
|
|
4912
|
-
required: false
|
|
4913
|
-
}]
|
|
4914
|
-
}],
|
|
4915
4884
|
tooltip: [{
|
|
4916
4885
|
type: i0.Input,
|
|
4917
4886
|
args: [{
|
|
@@ -6202,6 +6171,7 @@ var ImportExportComponent = class ImportExportComponent {
|
|
|
6202
6171
|
"ariaLabel",
|
|
6203
6172
|
"ariaExpanded",
|
|
6204
6173
|
"ariaPressed",
|
|
6174
|
+
"ariaDescribedBy",
|
|
6205
6175
|
"modal-footer-left",
|
|
6206
6176
|
"modal-footer-right"
|
|
6207
6177
|
]
|
|
@@ -6688,6 +6658,7 @@ var ConfirmOutletComponent = class ConfirmOutletComponent {
|
|
|
6688
6658
|
"ariaLabel",
|
|
6689
6659
|
"ariaExpanded",
|
|
6690
6660
|
"ariaPressed",
|
|
6661
|
+
"ariaDescribedBy",
|
|
6691
6662
|
"modal-footer-left",
|
|
6692
6663
|
"modal-footer-right"
|
|
6693
6664
|
]
|
|
@@ -7032,6 +7003,7 @@ var ErrorStateComponent = class ErrorStateComponent {
|
|
|
7032
7003
|
"ariaLabel",
|
|
7033
7004
|
"ariaExpanded",
|
|
7034
7005
|
"ariaPressed",
|
|
7006
|
+
"ariaDescribedBy",
|
|
7035
7007
|
"modal-footer-left",
|
|
7036
7008
|
"modal-footer-right"
|
|
7037
7009
|
]
|
|
@@ -7120,6 +7092,9 @@ var DataTableComponent = class DataTableComponent {
|
|
|
7120
7092
|
_countLabel(count) {
|
|
7121
7093
|
return count === 1 ? this.itemLabel() : this.itemLabelPlural() || pluralize(this.itemLabel());
|
|
7122
7094
|
}
|
|
7095
|
+
_deleteTitle() {
|
|
7096
|
+
return `Delete ${(this.itemLabelPlural() || pluralize(this.itemLabel())).replace(/(^|\s)(\S)/g, (_m, sp, ch) => sp + ch.toUpperCase())}`;
|
|
7097
|
+
}
|
|
7123
7098
|
_presentKeys(counts) {
|
|
7124
7099
|
return Object.keys(counts).filter((k) => k !== "" && k !== "all" && (counts[k] ?? 0) > 0);
|
|
7125
7100
|
}
|
|
@@ -7245,7 +7220,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
7245
7220
|
const blockedCount = split.blocked.length;
|
|
7246
7221
|
const skippedNote = blockedCount === 0 ? "" : blockedCount === 1 ? " 1 selected row can't be deleted and will be skipped." : ` ${blockedCount} selected rows can't be deleted and will be skipped.`;
|
|
7247
7222
|
const deleteDefault = {
|
|
7248
|
-
title:
|
|
7223
|
+
title: this._deleteTitle(),
|
|
7249
7224
|
message: `Delete ${count} ${this._countLabel(count)}? This cannot be undone.${skippedNote}`,
|
|
7250
7225
|
confirmLabel: "Delete",
|
|
7251
7226
|
variant: "danger"
|
|
@@ -8730,7 +8705,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
8730
8705
|
@let pCfg = col.progressFn ? col.progressFn(item) : null;
|
|
8731
8706
|
@if (pCfg) {
|
|
8732
8707
|
<ui-progress-bar [value]="pCfg.value" [max]="pCfg.max" [label]="pCfg.label ?? ''"
|
|
8733
|
-
[variant]="pCfg.variant ??
|
|
8708
|
+
[variant]="pCfg.variant ?? null" [tooltip]="pCfg.tooltip ?? ''" />
|
|
8734
8709
|
} @else { <span class="dt-none">—</span> }
|
|
8735
8710
|
}
|
|
8736
8711
|
|
|
@@ -9186,8 +9161,6 @@ var DataTableComponent = class DataTableComponent {
|
|
|
9186
9161
|
"max",
|
|
9187
9162
|
"label",
|
|
9188
9163
|
"variant",
|
|
9189
|
-
"thresholds",
|
|
9190
|
-
"autoColor",
|
|
9191
9164
|
"tooltip",
|
|
9192
9165
|
"ariaLabel"
|
|
9193
9166
|
]
|
|
@@ -9208,6 +9181,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
9208
9181
|
"ariaLabel",
|
|
9209
9182
|
"ariaExpanded",
|
|
9210
9183
|
"ariaPressed",
|
|
9184
|
+
"ariaDescribedBy",
|
|
9211
9185
|
"modal-footer-left",
|
|
9212
9186
|
"modal-footer-right"
|
|
9213
9187
|
]
|
|
@@ -9640,7 +9614,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
9640
9614
|
@let pCfg = col.progressFn ? col.progressFn(item) : null;
|
|
9641
9615
|
@if (pCfg) {
|
|
9642
9616
|
<ui-progress-bar [value]="pCfg.value" [max]="pCfg.max" [label]="pCfg.label ?? ''"
|
|
9643
|
-
[variant]="pCfg.variant ??
|
|
9617
|
+
[variant]="pCfg.variant ?? null" [tooltip]="pCfg.tooltip ?? ''" />
|
|
9644
9618
|
} @else { <span class="dt-none">—</span> }
|
|
9645
9619
|
}
|
|
9646
9620
|
|
|
@@ -10586,6 +10560,315 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
10586
10560
|
}]
|
|
10587
10561
|
}
|
|
10588
10562
|
});
|
|
10563
|
+
Chart.register(BarController, BarElement, CategoryScale, LinearScale, Tooltip);
|
|
10564
|
+
const VALUE_LABELS = {
|
|
10565
|
+
id: "uiBarChartValueLabels",
|
|
10566
|
+
afterDatasetsDraw(chart) {
|
|
10567
|
+
if (chart.options.plugins["uiBarChartValueLabels"]?.enabled === false) return;
|
|
10568
|
+
const ctx = chart.ctx;
|
|
10569
|
+
ctx.save();
|
|
10570
|
+
ctx.fillStyle = "#475569";
|
|
10571
|
+
ctx.font = "600 11px sans-serif";
|
|
10572
|
+
ctx.textAlign = "center";
|
|
10573
|
+
ctx.textBaseline = "bottom";
|
|
10574
|
+
chart.getDatasetMeta(0).data.forEach((bar, i) => {
|
|
10575
|
+
const value = chart.data.datasets[0]?.data[i];
|
|
10576
|
+
if (typeof value === "number" && value !== 0) ctx.fillText(String(value), bar.x, bar.y - 2);
|
|
10577
|
+
});
|
|
10578
|
+
ctx.restore();
|
|
10579
|
+
}
|
|
10580
|
+
};
|
|
10581
|
+
var BarChartComponent = class BarChartComponent {
|
|
10582
|
+
constructor() {
|
|
10583
|
+
this.labels = input([], ...ngDevMode ? [{ debugName: "labels" }] : /* istanbul ignore next */ []);
|
|
10584
|
+
this.values = input([], ...ngDevMode ? [{ debugName: "values" }] : /* istanbul ignore next */ []);
|
|
10585
|
+
this.color = input("#3b82f6", ...ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []);
|
|
10586
|
+
this.hoverColor = input("#2563eb", ...ngDevMode ? [{ debugName: "hoverColor" }] : /* istanbul ignore next */ []);
|
|
10587
|
+
this.height = input(240, ...ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []);
|
|
10588
|
+
this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
10589
|
+
this.showValues = input(true, ...ngDevMode ? [{ debugName: "showValues" }] : /* istanbul ignore next */ []);
|
|
10590
|
+
this.unitSingular = input("", ...ngDevMode ? [{ debugName: "unitSingular" }] : /* istanbul ignore next */ []);
|
|
10591
|
+
this.unitPlural = input("", ...ngDevMode ? [{ debugName: "unitPlural" }] : /* istanbul ignore next */ []);
|
|
10592
|
+
this.canvas = viewChild.required("canvas", ...ngDevMode ? [{ debugName: "canvas" }] : /* istanbul ignore next */ []);
|
|
10593
|
+
this.zone = inject(NgZone);
|
|
10594
|
+
this.chart = null;
|
|
10595
|
+
this.tooltipText = (value) => {
|
|
10596
|
+
const unit = value === 1 ? this.unitSingular() : this.unitPlural();
|
|
10597
|
+
return unit ? `${value} ${unit}` : String(value);
|
|
10598
|
+
};
|
|
10599
|
+
this.series = computed(() => ({
|
|
10600
|
+
labels: this.labels(),
|
|
10601
|
+
data: this.values(),
|
|
10602
|
+
color: this.color(),
|
|
10603
|
+
hoverColor: this.hoverColor(),
|
|
10604
|
+
showValues: this.showValues()
|
|
10605
|
+
}), ...ngDevMode ? [{ debugName: "series" }] : /* istanbul ignore next */ []);
|
|
10606
|
+
effect(() => {
|
|
10607
|
+
const s = this.series();
|
|
10608
|
+
const canvas = this.canvas().nativeElement;
|
|
10609
|
+
if (!this.chart) this.zone.runOutsideAngular(() => {
|
|
10610
|
+
this.chart = new Chart(canvas, {
|
|
10611
|
+
type: "bar",
|
|
10612
|
+
data: {
|
|
10613
|
+
labels: s.labels,
|
|
10614
|
+
datasets: [{
|
|
10615
|
+
data: s.data,
|
|
10616
|
+
backgroundColor: s.color,
|
|
10617
|
+
hoverBackgroundColor: s.hoverColor,
|
|
10618
|
+
borderRadius: 3,
|
|
10619
|
+
borderSkipped: false
|
|
10620
|
+
}]
|
|
10621
|
+
},
|
|
10622
|
+
options: {
|
|
10623
|
+
responsive: true,
|
|
10624
|
+
maintainAspectRatio: false,
|
|
10625
|
+
animation: false,
|
|
10626
|
+
layout: { padding: { top: 20 } },
|
|
10627
|
+
plugins: {
|
|
10628
|
+
legend: { display: false },
|
|
10629
|
+
tooltip: { callbacks: { label: (item) => this.tooltipText(Number(item.raw)) } }
|
|
10630
|
+
},
|
|
10631
|
+
scales: {
|
|
10632
|
+
y: {
|
|
10633
|
+
beginAtZero: true,
|
|
10634
|
+
ticks: {
|
|
10635
|
+
precision: 0,
|
|
10636
|
+
color: "#94a3b8",
|
|
10637
|
+
font: { size: 11 }
|
|
10638
|
+
},
|
|
10639
|
+
grid: { color: "#e2e8f0" },
|
|
10640
|
+
border: { display: false }
|
|
10641
|
+
},
|
|
10642
|
+
x: {
|
|
10643
|
+
grid: { display: false },
|
|
10644
|
+
ticks: {
|
|
10645
|
+
maxRotation: 0,
|
|
10646
|
+
color: "#94a3b8",
|
|
10647
|
+
font: { size: 10 }
|
|
10648
|
+
},
|
|
10649
|
+
border: { display: false }
|
|
10650
|
+
}
|
|
10651
|
+
}
|
|
10652
|
+
},
|
|
10653
|
+
plugins: [VALUE_LABELS]
|
|
10654
|
+
});
|
|
10655
|
+
});
|
|
10656
|
+
const chart = this.chart;
|
|
10657
|
+
chart.data.labels = s.labels;
|
|
10658
|
+
const ds = chart.data.datasets[0];
|
|
10659
|
+
ds.data = s.data;
|
|
10660
|
+
ds.backgroundColor = s.color;
|
|
10661
|
+
ds.hoverBackgroundColor = s.hoverColor;
|
|
10662
|
+
chart.options.plugins["uiBarChartValueLabels"] = { enabled: s.showValues };
|
|
10663
|
+
chart.update("none");
|
|
10664
|
+
});
|
|
10665
|
+
inject(DestroyRef).onDestroy(() => {
|
|
10666
|
+
this.chart?.destroy();
|
|
10667
|
+
this.chart = null;
|
|
10668
|
+
});
|
|
10669
|
+
}
|
|
10670
|
+
static {
|
|
10671
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
10672
|
+
minVersion: "12.0.0",
|
|
10673
|
+
version: "22.2.2",
|
|
10674
|
+
ngImport: i0,
|
|
10675
|
+
type: BarChartComponent,
|
|
10676
|
+
deps: [],
|
|
10677
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
10678
|
+
});
|
|
10679
|
+
}
|
|
10680
|
+
static {
|
|
10681
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
10682
|
+
minVersion: "17.2.0",
|
|
10683
|
+
version: "22.2.2",
|
|
10684
|
+
type: BarChartComponent,
|
|
10685
|
+
isStandalone: true,
|
|
10686
|
+
selector: "ui-bar-chart",
|
|
10687
|
+
inputs: {
|
|
10688
|
+
labels: {
|
|
10689
|
+
classPropertyName: "labels",
|
|
10690
|
+
publicName: "labels",
|
|
10691
|
+
isSignal: true,
|
|
10692
|
+
isRequired: false,
|
|
10693
|
+
transformFunction: null
|
|
10694
|
+
},
|
|
10695
|
+
values: {
|
|
10696
|
+
classPropertyName: "values",
|
|
10697
|
+
publicName: "values",
|
|
10698
|
+
isSignal: true,
|
|
10699
|
+
isRequired: false,
|
|
10700
|
+
transformFunction: null
|
|
10701
|
+
},
|
|
10702
|
+
color: {
|
|
10703
|
+
classPropertyName: "color",
|
|
10704
|
+
publicName: "color",
|
|
10705
|
+
isSignal: true,
|
|
10706
|
+
isRequired: false,
|
|
10707
|
+
transformFunction: null
|
|
10708
|
+
},
|
|
10709
|
+
hoverColor: {
|
|
10710
|
+
classPropertyName: "hoverColor",
|
|
10711
|
+
publicName: "hoverColor",
|
|
10712
|
+
isSignal: true,
|
|
10713
|
+
isRequired: false,
|
|
10714
|
+
transformFunction: null
|
|
10715
|
+
},
|
|
10716
|
+
height: {
|
|
10717
|
+
classPropertyName: "height",
|
|
10718
|
+
publicName: "height",
|
|
10719
|
+
isSignal: true,
|
|
10720
|
+
isRequired: false,
|
|
10721
|
+
transformFunction: null
|
|
10722
|
+
},
|
|
10723
|
+
ariaLabel: {
|
|
10724
|
+
classPropertyName: "ariaLabel",
|
|
10725
|
+
publicName: "ariaLabel",
|
|
10726
|
+
isSignal: true,
|
|
10727
|
+
isRequired: false,
|
|
10728
|
+
transformFunction: null
|
|
10729
|
+
},
|
|
10730
|
+
showValues: {
|
|
10731
|
+
classPropertyName: "showValues",
|
|
10732
|
+
publicName: "showValues",
|
|
10733
|
+
isSignal: true,
|
|
10734
|
+
isRequired: false,
|
|
10735
|
+
transformFunction: null
|
|
10736
|
+
},
|
|
10737
|
+
unitSingular: {
|
|
10738
|
+
classPropertyName: "unitSingular",
|
|
10739
|
+
publicName: "unitSingular",
|
|
10740
|
+
isSignal: true,
|
|
10741
|
+
isRequired: false,
|
|
10742
|
+
transformFunction: null
|
|
10743
|
+
},
|
|
10744
|
+
unitPlural: {
|
|
10745
|
+
classPropertyName: "unitPlural",
|
|
10746
|
+
publicName: "unitPlural",
|
|
10747
|
+
isSignal: true,
|
|
10748
|
+
isRequired: false,
|
|
10749
|
+
transformFunction: null
|
|
10750
|
+
}
|
|
10751
|
+
},
|
|
10752
|
+
viewQueries: [{
|
|
10753
|
+
propertyName: "canvas",
|
|
10754
|
+
first: true,
|
|
10755
|
+
predicate: ["canvas"],
|
|
10756
|
+
descendants: true,
|
|
10757
|
+
isSignal: true
|
|
10758
|
+
}],
|
|
10759
|
+
ngImport: i0,
|
|
10760
|
+
template: `
|
|
10761
|
+
<div class="bc-wrap" [class.bc-default-height]="height() === 240" [style.height.px]="height()"
|
|
10762
|
+
role="img" [attr.aria-label]="ariaLabel() || null">
|
|
10763
|
+
<canvas #canvas></canvas>
|
|
10764
|
+
</div>
|
|
10765
|
+
`,
|
|
10766
|
+
isInline: true,
|
|
10767
|
+
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"],
|
|
10768
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
10769
|
+
});
|
|
10770
|
+
}
|
|
10771
|
+
};
|
|
10772
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
10773
|
+
minVersion: "12.0.0",
|
|
10774
|
+
version: "22.2.2",
|
|
10775
|
+
ngImport: i0,
|
|
10776
|
+
type: BarChartComponent,
|
|
10777
|
+
decorators: [{
|
|
10778
|
+
type: Component,
|
|
10779
|
+
args: [{
|
|
10780
|
+
selector: "ui-bar-chart",
|
|
10781
|
+
standalone: true,
|
|
10782
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10783
|
+
template: `
|
|
10784
|
+
<div class="bc-wrap" [class.bc-default-height]="height() === 240" [style.height.px]="height()"
|
|
10785
|
+
role="img" [attr.aria-label]="ariaLabel() || null">
|
|
10786
|
+
<canvas #canvas></canvas>
|
|
10787
|
+
</div>
|
|
10788
|
+
`,
|
|
10789
|
+
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"]
|
|
10790
|
+
}]
|
|
10791
|
+
}],
|
|
10792
|
+
ctorParameters: () => [],
|
|
10793
|
+
propDecorators: {
|
|
10794
|
+
labels: [{
|
|
10795
|
+
type: i0.Input,
|
|
10796
|
+
args: [{
|
|
10797
|
+
isSignal: true,
|
|
10798
|
+
alias: "labels",
|
|
10799
|
+
required: false
|
|
10800
|
+
}]
|
|
10801
|
+
}],
|
|
10802
|
+
values: [{
|
|
10803
|
+
type: i0.Input,
|
|
10804
|
+
args: [{
|
|
10805
|
+
isSignal: true,
|
|
10806
|
+
alias: "values",
|
|
10807
|
+
required: false
|
|
10808
|
+
}]
|
|
10809
|
+
}],
|
|
10810
|
+
color: [{
|
|
10811
|
+
type: i0.Input,
|
|
10812
|
+
args: [{
|
|
10813
|
+
isSignal: true,
|
|
10814
|
+
alias: "color",
|
|
10815
|
+
required: false
|
|
10816
|
+
}]
|
|
10817
|
+
}],
|
|
10818
|
+
hoverColor: [{
|
|
10819
|
+
type: i0.Input,
|
|
10820
|
+
args: [{
|
|
10821
|
+
isSignal: true,
|
|
10822
|
+
alias: "hoverColor",
|
|
10823
|
+
required: false
|
|
10824
|
+
}]
|
|
10825
|
+
}],
|
|
10826
|
+
height: [{
|
|
10827
|
+
type: i0.Input,
|
|
10828
|
+
args: [{
|
|
10829
|
+
isSignal: true,
|
|
10830
|
+
alias: "height",
|
|
10831
|
+
required: false
|
|
10832
|
+
}]
|
|
10833
|
+
}],
|
|
10834
|
+
ariaLabel: [{
|
|
10835
|
+
type: i0.Input,
|
|
10836
|
+
args: [{
|
|
10837
|
+
isSignal: true,
|
|
10838
|
+
alias: "ariaLabel",
|
|
10839
|
+
required: false
|
|
10840
|
+
}]
|
|
10841
|
+
}],
|
|
10842
|
+
showValues: [{
|
|
10843
|
+
type: i0.Input,
|
|
10844
|
+
args: [{
|
|
10845
|
+
isSignal: true,
|
|
10846
|
+
alias: "showValues",
|
|
10847
|
+
required: false
|
|
10848
|
+
}]
|
|
10849
|
+
}],
|
|
10850
|
+
unitSingular: [{
|
|
10851
|
+
type: i0.Input,
|
|
10852
|
+
args: [{
|
|
10853
|
+
isSignal: true,
|
|
10854
|
+
alias: "unitSingular",
|
|
10855
|
+
required: false
|
|
10856
|
+
}]
|
|
10857
|
+
}],
|
|
10858
|
+
unitPlural: [{
|
|
10859
|
+
type: i0.Input,
|
|
10860
|
+
args: [{
|
|
10861
|
+
isSignal: true,
|
|
10862
|
+
alias: "unitPlural",
|
|
10863
|
+
required: false
|
|
10864
|
+
}]
|
|
10865
|
+
}],
|
|
10866
|
+
canvas: [{
|
|
10867
|
+
type: i0.ViewChild,
|
|
10868
|
+
args: ["canvas", { isSignal: true }]
|
|
10869
|
+
}]
|
|
10870
|
+
}
|
|
10871
|
+
});
|
|
10589
10872
|
const KEY_STEP = 2;
|
|
10590
10873
|
const KEY_STEP_BIG = 10;
|
|
10591
10874
|
const clamp = (n) => Math.min(100, Math.max(0, Math.round(n)));
|
|
@@ -16436,6 +16719,7 @@ var SendEmailComponent = class SendEmailComponent {
|
|
|
16436
16719
|
"ariaLabel",
|
|
16437
16720
|
"ariaExpanded",
|
|
16438
16721
|
"ariaPressed",
|
|
16722
|
+
"ariaDescribedBy",
|
|
16439
16723
|
"modal-footer-left",
|
|
16440
16724
|
"modal-footer-right"
|
|
16441
16725
|
]
|
|
@@ -17655,6 +17939,7 @@ var SendTextComponent = class SendTextComponent {
|
|
|
17655
17939
|
"ariaLabel",
|
|
17656
17940
|
"ariaExpanded",
|
|
17657
17941
|
"ariaPressed",
|
|
17942
|
+
"ariaDescribedBy",
|
|
17658
17943
|
"modal-footer-left",
|
|
17659
17944
|
"modal-footer-right"
|
|
17660
17945
|
]
|
|
@@ -22687,6 +22972,7 @@ var QrCodeComponent = class QrCodeComponent {
|
|
|
22687
22972
|
"ariaLabel",
|
|
22688
22973
|
"ariaExpanded",
|
|
22689
22974
|
"ariaPressed",
|
|
22975
|
+
"ariaDescribedBy",
|
|
22690
22976
|
"modal-footer-left",
|
|
22691
22977
|
"modal-footer-right"
|
|
22692
22978
|
]
|
|
@@ -22954,6 +23240,7 @@ var PanelInfoListComponent = class PanelInfoListComponent {
|
|
|
22954
23240
|
"ariaLabel",
|
|
22955
23241
|
"ariaExpanded",
|
|
22956
23242
|
"ariaPressed",
|
|
23243
|
+
"ariaDescribedBy",
|
|
22957
23244
|
"modal-footer-left",
|
|
22958
23245
|
"modal-footer-right"
|
|
22959
23246
|
]
|
|
@@ -24854,6 +25141,7 @@ var DateRangePickerComponent = class DateRangePickerComponent {
|
|
|
24854
25141
|
"ariaLabel",
|
|
24855
25142
|
"ariaExpanded",
|
|
24856
25143
|
"ariaPressed",
|
|
25144
|
+
"ariaDescribedBy",
|
|
24857
25145
|
"modal-footer-left",
|
|
24858
25146
|
"modal-footer-right"
|
|
24859
25147
|
]
|
|
@@ -27018,6 +27306,462 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
27018
27306
|
}]
|
|
27019
27307
|
}
|
|
27020
27308
|
});
|
|
27309
|
+
var RadioMatrixComponent = class RadioMatrixComponent {
|
|
27310
|
+
get _name() {
|
|
27311
|
+
return this.name() || this._generatedName;
|
|
27312
|
+
}
|
|
27313
|
+
constructor() {
|
|
27314
|
+
this.label = input("", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
27315
|
+
this.rowHeader = input("", ...ngDevMode ? [{ debugName: "rowHeader" }] : /* istanbul ignore next */ []);
|
|
27316
|
+
this.rows = input([], ...ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []);
|
|
27317
|
+
this.columns = input([], ...ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []);
|
|
27318
|
+
this.required = input(false, ...ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []);
|
|
27319
|
+
this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
|
|
27320
|
+
this.error = input("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
|
|
27321
|
+
this.showErrors = input(false, ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
|
|
27322
|
+
this.name = input("", ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
|
|
27323
|
+
this._disabledInput = input(false, {
|
|
27324
|
+
...ngDevMode ? { debugName: "_disabledInput" } : /* istanbul ignore next */ {},
|
|
27325
|
+
alias: "disabled"
|
|
27326
|
+
});
|
|
27327
|
+
this._cvaDisabled = signal(false, ...ngDevMode ? [{ debugName: "_cvaDisabled" }] : /* istanbul ignore next */ []);
|
|
27328
|
+
this.disabled = computed(() => this._disabledInput() || this._cvaDisabled(), ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
27329
|
+
this._generatedName = `rm-${Math.random().toString(36).slice(2, 8)}`;
|
|
27330
|
+
this._descId = `${this._generatedName}-desc`;
|
|
27331
|
+
this._value = signal({}, ...ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []);
|
|
27332
|
+
this._reveal = createFieldReveal(this.showErrors);
|
|
27333
|
+
this._issue = computed(() => this._check(this._value()), ...ngDevMode ? [{ debugName: "_issue" }] : /* istanbul ignore next */ []);
|
|
27334
|
+
this.invalid = computed(() => !!this.error() || !!this._issue(), ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
|
|
27335
|
+
this.errorMessage = computed(() => this._issue()?.message ?? "", ...ngDevMode ? [{ debugName: "errorMessage" }] : /* istanbul ignore next */ []);
|
|
27336
|
+
this.invalidChange = output();
|
|
27337
|
+
this._activeError = computed(() => this.error() || (this._reveal.revealed() ? this.errorMessage() : ""), ...ngDevMode ? [{ debugName: "_activeError" }] : /* istanbul ignore next */ []);
|
|
27338
|
+
this._onValidatorChange = () => {};
|
|
27339
|
+
this._onChange = (_) => {};
|
|
27340
|
+
this._onTouched = () => {};
|
|
27341
|
+
effect(() => {
|
|
27342
|
+
this.invalidChange.emit(this.invalid());
|
|
27343
|
+
});
|
|
27344
|
+
}
|
|
27345
|
+
ngOnChanges() {
|
|
27346
|
+
this._onValidatorChange();
|
|
27347
|
+
}
|
|
27348
|
+
validate(control) {
|
|
27349
|
+
return issueToErrors(this._check(this._toRecord(control.value)));
|
|
27350
|
+
}
|
|
27351
|
+
registerOnValidatorChange(fn) {
|
|
27352
|
+
this._onValidatorChange = fn;
|
|
27353
|
+
}
|
|
27354
|
+
writeValue(val) {
|
|
27355
|
+
this._value.set(this._toRecord(val));
|
|
27356
|
+
}
|
|
27357
|
+
registerOnChange(fn) {
|
|
27358
|
+
this._onChange = fn;
|
|
27359
|
+
}
|
|
27360
|
+
registerOnTouched(fn) {
|
|
27361
|
+
this._onTouched = fn;
|
|
27362
|
+
}
|
|
27363
|
+
setDisabledState(d) {
|
|
27364
|
+
this._cvaDisabled.set(d);
|
|
27365
|
+
}
|
|
27366
|
+
onSelect(row, column) {
|
|
27367
|
+
const next = {
|
|
27368
|
+
...this._value(),
|
|
27369
|
+
[row]: column
|
|
27370
|
+
};
|
|
27371
|
+
this._value.set(next);
|
|
27372
|
+
this._onChange(next);
|
|
27373
|
+
}
|
|
27374
|
+
_rowInvalid(row) {
|
|
27375
|
+
if (this.disabled() || row.disabled || !this._reveal.revealed()) return false;
|
|
27376
|
+
const v = this._value()[row.value] ?? "";
|
|
27377
|
+
return v ? !this.columns().some((c) => c.value === v) : this.required();
|
|
27378
|
+
}
|
|
27379
|
+
onFocusOut(event) {
|
|
27380
|
+
const next = event.relatedTarget;
|
|
27381
|
+
if (next && event.currentTarget.contains(next)) return;
|
|
27382
|
+
this._onTouched();
|
|
27383
|
+
this._reveal.touched.set(true);
|
|
27384
|
+
}
|
|
27385
|
+
_toRecord(val) {
|
|
27386
|
+
return val && typeof val === "object" ? { ...val } : {};
|
|
27387
|
+
}
|
|
27388
|
+
_check(value) {
|
|
27389
|
+
if (this.disabled()) return null;
|
|
27390
|
+
const cols = this.columns();
|
|
27391
|
+
const rows = this.rows().filter((r) => !r.disabled);
|
|
27392
|
+
if (cols.length > 0 && rows.some((r) => value[r.value] && !cols.some((c) => c.value === value[r.value]))) return {
|
|
27393
|
+
key: "option",
|
|
27394
|
+
message: "Select a valid option."
|
|
27395
|
+
};
|
|
27396
|
+
if (this.required() && rows.some((r) => !value[r.value])) {
|
|
27397
|
+
const label = this.label().trim();
|
|
27398
|
+
return {
|
|
27399
|
+
key: "required",
|
|
27400
|
+
message: label ? `${label}: choose an option in every row.` : "Choose an option in every row."
|
|
27401
|
+
};
|
|
27402
|
+
}
|
|
27403
|
+
return null;
|
|
27404
|
+
}
|
|
27405
|
+
static {
|
|
27406
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
27407
|
+
minVersion: "12.0.0",
|
|
27408
|
+
version: "22.2.2",
|
|
27409
|
+
ngImport: i0,
|
|
27410
|
+
type: RadioMatrixComponent,
|
|
27411
|
+
deps: [],
|
|
27412
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
27413
|
+
});
|
|
27414
|
+
}
|
|
27415
|
+
static {
|
|
27416
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
27417
|
+
minVersion: "17.0.0",
|
|
27418
|
+
version: "22.2.2",
|
|
27419
|
+
type: RadioMatrixComponent,
|
|
27420
|
+
isStandalone: true,
|
|
27421
|
+
selector: "ui-radio-matrix",
|
|
27422
|
+
inputs: {
|
|
27423
|
+
label: {
|
|
27424
|
+
classPropertyName: "label",
|
|
27425
|
+
publicName: "label",
|
|
27426
|
+
isSignal: true,
|
|
27427
|
+
isRequired: false,
|
|
27428
|
+
transformFunction: null
|
|
27429
|
+
},
|
|
27430
|
+
rowHeader: {
|
|
27431
|
+
classPropertyName: "rowHeader",
|
|
27432
|
+
publicName: "rowHeader",
|
|
27433
|
+
isSignal: true,
|
|
27434
|
+
isRequired: false,
|
|
27435
|
+
transformFunction: null
|
|
27436
|
+
},
|
|
27437
|
+
rows: {
|
|
27438
|
+
classPropertyName: "rows",
|
|
27439
|
+
publicName: "rows",
|
|
27440
|
+
isSignal: true,
|
|
27441
|
+
isRequired: false,
|
|
27442
|
+
transformFunction: null
|
|
27443
|
+
},
|
|
27444
|
+
columns: {
|
|
27445
|
+
classPropertyName: "columns",
|
|
27446
|
+
publicName: "columns",
|
|
27447
|
+
isSignal: true,
|
|
27448
|
+
isRequired: false,
|
|
27449
|
+
transformFunction: null
|
|
27450
|
+
},
|
|
27451
|
+
required: {
|
|
27452
|
+
classPropertyName: "required",
|
|
27453
|
+
publicName: "required",
|
|
27454
|
+
isSignal: true,
|
|
27455
|
+
isRequired: false,
|
|
27456
|
+
transformFunction: null
|
|
27457
|
+
},
|
|
27458
|
+
hint: {
|
|
27459
|
+
classPropertyName: "hint",
|
|
27460
|
+
publicName: "hint",
|
|
27461
|
+
isSignal: true,
|
|
27462
|
+
isRequired: false,
|
|
27463
|
+
transformFunction: null
|
|
27464
|
+
},
|
|
27465
|
+
error: {
|
|
27466
|
+
classPropertyName: "error",
|
|
27467
|
+
publicName: "error",
|
|
27468
|
+
isSignal: true,
|
|
27469
|
+
isRequired: false,
|
|
27470
|
+
transformFunction: null
|
|
27471
|
+
},
|
|
27472
|
+
showErrors: {
|
|
27473
|
+
classPropertyName: "showErrors",
|
|
27474
|
+
publicName: "showErrors",
|
|
27475
|
+
isSignal: true,
|
|
27476
|
+
isRequired: false,
|
|
27477
|
+
transformFunction: null
|
|
27478
|
+
},
|
|
27479
|
+
name: {
|
|
27480
|
+
classPropertyName: "name",
|
|
27481
|
+
publicName: "name",
|
|
27482
|
+
isSignal: true,
|
|
27483
|
+
isRequired: false,
|
|
27484
|
+
transformFunction: null
|
|
27485
|
+
},
|
|
27486
|
+
_disabledInput: {
|
|
27487
|
+
classPropertyName: "_disabledInput",
|
|
27488
|
+
publicName: "disabled",
|
|
27489
|
+
isSignal: true,
|
|
27490
|
+
isRequired: false,
|
|
27491
|
+
transformFunction: null
|
|
27492
|
+
}
|
|
27493
|
+
},
|
|
27494
|
+
outputs: { invalidChange: "invalidChange" },
|
|
27495
|
+
providers: [
|
|
27496
|
+
{
|
|
27497
|
+
provide: NG_VALUE_ACCESSOR,
|
|
27498
|
+
useExisting: forwardRef(() => RadioMatrixComponent),
|
|
27499
|
+
multi: true
|
|
27500
|
+
},
|
|
27501
|
+
{
|
|
27502
|
+
provide: NG_VALIDATORS,
|
|
27503
|
+
useExisting: forwardRef(() => RadioMatrixComponent),
|
|
27504
|
+
multi: true
|
|
27505
|
+
},
|
|
27506
|
+
{
|
|
27507
|
+
provide: UiFieldValidity,
|
|
27508
|
+
useExisting: forwardRef(() => RadioMatrixComponent)
|
|
27509
|
+
}
|
|
27510
|
+
],
|
|
27511
|
+
usesOnChanges: true,
|
|
27512
|
+
ngImport: i0,
|
|
27513
|
+
template: `
|
|
27514
|
+
<fieldset
|
|
27515
|
+
class="rm-field"
|
|
27516
|
+
[class.rm-error]="_activeError()"
|
|
27517
|
+
[class.rm-disabled]="disabled()"
|
|
27518
|
+
[disabled]="disabled()"
|
|
27519
|
+
[attr.aria-required]="required() ? 'true' : null"
|
|
27520
|
+
[attr.aria-invalid]="_activeError() ? 'true' : null"
|
|
27521
|
+
[attr.aria-describedby]="(_activeError() || hint()) ? _descId : null"
|
|
27522
|
+
(focusout)="onFocusOut($event)">
|
|
27523
|
+
@if (label()) {
|
|
27524
|
+
<legend class="rm-label">
|
|
27525
|
+
{{ label() }}
|
|
27526
|
+
@if (required()) { <span class="rm-required" aria-hidden="true">*</span> }
|
|
27527
|
+
</legend>
|
|
27528
|
+
}
|
|
27529
|
+
<div class="rm-scroll">
|
|
27530
|
+
<table class="rm-table">
|
|
27531
|
+
<thead>
|
|
27532
|
+
<tr>
|
|
27533
|
+
<th scope="col" class="rm-corner">{{ rowHeader() }}</th>
|
|
27534
|
+
@for (col of columns(); track col.value) {
|
|
27535
|
+
<th scope="col" class="rm-col">{{ col.label }}</th>
|
|
27536
|
+
}
|
|
27537
|
+
</tr>
|
|
27538
|
+
</thead>
|
|
27539
|
+
<tbody>
|
|
27540
|
+
@for (row of rows(); track row.value) {
|
|
27541
|
+
<tr class="rm-row" [class.rm-row-missing]="_rowInvalid(row)">
|
|
27542
|
+
<th scope="row" class="rm-row-label">{{ row.label }}</th>
|
|
27543
|
+
@for (col of columns(); track col.value) {
|
|
27544
|
+
<td class="rm-cell">
|
|
27545
|
+
<ui-radio
|
|
27546
|
+
[name]="_name + '-' + row.value"
|
|
27547
|
+
[value]="col.value"
|
|
27548
|
+
[ariaLabel]="row.label + ': ' + col.label"
|
|
27549
|
+
[checked]="_value()[row.value] === col.value"
|
|
27550
|
+
[disabled]="disabled() || !!row.disabled || !!col.disabled"
|
|
27551
|
+
[invalid]="_rowInvalid(row)"
|
|
27552
|
+
[describedBy]="(_activeError() || hint()) ? _descId : ''"
|
|
27553
|
+
(selected)="onSelect(row.value, $event)" />
|
|
27554
|
+
</td>
|
|
27555
|
+
}
|
|
27556
|
+
</tr>
|
|
27557
|
+
}
|
|
27558
|
+
</tbody>
|
|
27559
|
+
</table>
|
|
27560
|
+
</div>
|
|
27561
|
+
@if (_activeError()) {
|
|
27562
|
+
<p class="rm-desc rm-desc-error" [id]="_descId" role="alert">{{ _activeError() }}</p>
|
|
27563
|
+
} @else if (hint()) {
|
|
27564
|
+
<p class="rm-desc" [id]="_descId">{{ hint() }}</p>
|
|
27565
|
+
}
|
|
27566
|
+
</fieldset>
|
|
27567
|
+
`,
|
|
27568
|
+
isInline: true,
|
|
27569
|
+
styles: [":host{display:block}.rm-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rm-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rm-required{color:#ef4444;margin-left:2px}.rm-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.rm-table{width:100%;border-collapse:collapse;font-size:.875rem}.rm-table th,.rm-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;text-align:left}.rm-table tbody tr:last-child th,.rm-table tbody tr:last-child td{border-bottom:0}.rm-table thead th{position:sticky;top:0;background:#f8fafc;font-size:.75rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.rm-col,.rm-cell{text-align:center!important;width:1%;white-space:nowrap}.rm-cell ui-radio{display:inline-block}.rm-row-label{font-weight:500;color:#1e293b}.rm-row:hover{background:#f8fafc}.rm-row-missing .rm-row-label{color:#b91c1c}.rm-disabled .rm-scroll{opacity:.6}.rm-error .rm-scroll{border-color:#ef4444}.rm-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rm-desc-error{color:#ef4444}@media(max-width:480px){.rm-table th,.rm-table td{padding:6px 8px}.rm-table thead th{font-size:.6875rem}}\n"],
|
|
27570
|
+
dependencies: [{
|
|
27571
|
+
kind: "component",
|
|
27572
|
+
type: RadioComponent,
|
|
27573
|
+
selector: "ui-radio",
|
|
27574
|
+
inputs: [
|
|
27575
|
+
"label",
|
|
27576
|
+
"description",
|
|
27577
|
+
"ariaLabel",
|
|
27578
|
+
"value",
|
|
27579
|
+
"name",
|
|
27580
|
+
"checked",
|
|
27581
|
+
"invalid",
|
|
27582
|
+
"describedBy",
|
|
27583
|
+
"disabled"
|
|
27584
|
+
],
|
|
27585
|
+
outputs: ["selected"]
|
|
27586
|
+
}],
|
|
27587
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
27588
|
+
});
|
|
27589
|
+
}
|
|
27590
|
+
};
|
|
27591
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
27592
|
+
minVersion: "12.0.0",
|
|
27593
|
+
version: "22.2.2",
|
|
27594
|
+
ngImport: i0,
|
|
27595
|
+
type: RadioMatrixComponent,
|
|
27596
|
+
decorators: [{
|
|
27597
|
+
type: Component,
|
|
27598
|
+
args: [{
|
|
27599
|
+
selector: "ui-radio-matrix",
|
|
27600
|
+
standalone: true,
|
|
27601
|
+
imports: [RadioComponent],
|
|
27602
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
27603
|
+
providers: [
|
|
27604
|
+
{
|
|
27605
|
+
provide: NG_VALUE_ACCESSOR,
|
|
27606
|
+
useExisting: forwardRef(() => RadioMatrixComponent),
|
|
27607
|
+
multi: true
|
|
27608
|
+
},
|
|
27609
|
+
{
|
|
27610
|
+
provide: NG_VALIDATORS,
|
|
27611
|
+
useExisting: forwardRef(() => RadioMatrixComponent),
|
|
27612
|
+
multi: true
|
|
27613
|
+
},
|
|
27614
|
+
{
|
|
27615
|
+
provide: UiFieldValidity,
|
|
27616
|
+
useExisting: forwardRef(() => RadioMatrixComponent)
|
|
27617
|
+
}
|
|
27618
|
+
],
|
|
27619
|
+
template: `
|
|
27620
|
+
<fieldset
|
|
27621
|
+
class="rm-field"
|
|
27622
|
+
[class.rm-error]="_activeError()"
|
|
27623
|
+
[class.rm-disabled]="disabled()"
|
|
27624
|
+
[disabled]="disabled()"
|
|
27625
|
+
[attr.aria-required]="required() ? 'true' : null"
|
|
27626
|
+
[attr.aria-invalid]="_activeError() ? 'true' : null"
|
|
27627
|
+
[attr.aria-describedby]="(_activeError() || hint()) ? _descId : null"
|
|
27628
|
+
(focusout)="onFocusOut($event)">
|
|
27629
|
+
@if (label()) {
|
|
27630
|
+
<legend class="rm-label">
|
|
27631
|
+
{{ label() }}
|
|
27632
|
+
@if (required()) { <span class="rm-required" aria-hidden="true">*</span> }
|
|
27633
|
+
</legend>
|
|
27634
|
+
}
|
|
27635
|
+
<div class="rm-scroll">
|
|
27636
|
+
<table class="rm-table">
|
|
27637
|
+
<thead>
|
|
27638
|
+
<tr>
|
|
27639
|
+
<th scope="col" class="rm-corner">{{ rowHeader() }}</th>
|
|
27640
|
+
@for (col of columns(); track col.value) {
|
|
27641
|
+
<th scope="col" class="rm-col">{{ col.label }}</th>
|
|
27642
|
+
}
|
|
27643
|
+
</tr>
|
|
27644
|
+
</thead>
|
|
27645
|
+
<tbody>
|
|
27646
|
+
@for (row of rows(); track row.value) {
|
|
27647
|
+
<tr class="rm-row" [class.rm-row-missing]="_rowInvalid(row)">
|
|
27648
|
+
<th scope="row" class="rm-row-label">{{ row.label }}</th>
|
|
27649
|
+
@for (col of columns(); track col.value) {
|
|
27650
|
+
<td class="rm-cell">
|
|
27651
|
+
<ui-radio
|
|
27652
|
+
[name]="_name + '-' + row.value"
|
|
27653
|
+
[value]="col.value"
|
|
27654
|
+
[ariaLabel]="row.label + ': ' + col.label"
|
|
27655
|
+
[checked]="_value()[row.value] === col.value"
|
|
27656
|
+
[disabled]="disabled() || !!row.disabled || !!col.disabled"
|
|
27657
|
+
[invalid]="_rowInvalid(row)"
|
|
27658
|
+
[describedBy]="(_activeError() || hint()) ? _descId : ''"
|
|
27659
|
+
(selected)="onSelect(row.value, $event)" />
|
|
27660
|
+
</td>
|
|
27661
|
+
}
|
|
27662
|
+
</tr>
|
|
27663
|
+
}
|
|
27664
|
+
</tbody>
|
|
27665
|
+
</table>
|
|
27666
|
+
</div>
|
|
27667
|
+
@if (_activeError()) {
|
|
27668
|
+
<p class="rm-desc rm-desc-error" [id]="_descId" role="alert">{{ _activeError() }}</p>
|
|
27669
|
+
} @else if (hint()) {
|
|
27670
|
+
<p class="rm-desc" [id]="_descId">{{ hint() }}</p>
|
|
27671
|
+
}
|
|
27672
|
+
</fieldset>
|
|
27673
|
+
`,
|
|
27674
|
+
styles: [":host{display:block}.rm-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rm-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rm-required{color:#ef4444;margin-left:2px}.rm-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.rm-table{width:100%;border-collapse:collapse;font-size:.875rem}.rm-table th,.rm-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;text-align:left}.rm-table tbody tr:last-child th,.rm-table tbody tr:last-child td{border-bottom:0}.rm-table thead th{position:sticky;top:0;background:#f8fafc;font-size:.75rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.rm-col,.rm-cell{text-align:center!important;width:1%;white-space:nowrap}.rm-cell ui-radio{display:inline-block}.rm-row-label{font-weight:500;color:#1e293b}.rm-row:hover{background:#f8fafc}.rm-row-missing .rm-row-label{color:#b91c1c}.rm-disabled .rm-scroll{opacity:.6}.rm-error .rm-scroll{border-color:#ef4444}.rm-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rm-desc-error{color:#ef4444}@media(max-width:480px){.rm-table th,.rm-table td{padding:6px 8px}.rm-table thead th{font-size:.6875rem}}\n"]
|
|
27675
|
+
}]
|
|
27676
|
+
}],
|
|
27677
|
+
ctorParameters: () => [],
|
|
27678
|
+
propDecorators: {
|
|
27679
|
+
label: [{
|
|
27680
|
+
type: i0.Input,
|
|
27681
|
+
args: [{
|
|
27682
|
+
isSignal: true,
|
|
27683
|
+
alias: "label",
|
|
27684
|
+
required: false
|
|
27685
|
+
}]
|
|
27686
|
+
}],
|
|
27687
|
+
rowHeader: [{
|
|
27688
|
+
type: i0.Input,
|
|
27689
|
+
args: [{
|
|
27690
|
+
isSignal: true,
|
|
27691
|
+
alias: "rowHeader",
|
|
27692
|
+
required: false
|
|
27693
|
+
}]
|
|
27694
|
+
}],
|
|
27695
|
+
rows: [{
|
|
27696
|
+
type: i0.Input,
|
|
27697
|
+
args: [{
|
|
27698
|
+
isSignal: true,
|
|
27699
|
+
alias: "rows",
|
|
27700
|
+
required: false
|
|
27701
|
+
}]
|
|
27702
|
+
}],
|
|
27703
|
+
columns: [{
|
|
27704
|
+
type: i0.Input,
|
|
27705
|
+
args: [{
|
|
27706
|
+
isSignal: true,
|
|
27707
|
+
alias: "columns",
|
|
27708
|
+
required: false
|
|
27709
|
+
}]
|
|
27710
|
+
}],
|
|
27711
|
+
required: [{
|
|
27712
|
+
type: i0.Input,
|
|
27713
|
+
args: [{
|
|
27714
|
+
isSignal: true,
|
|
27715
|
+
alias: "required",
|
|
27716
|
+
required: false
|
|
27717
|
+
}]
|
|
27718
|
+
}],
|
|
27719
|
+
hint: [{
|
|
27720
|
+
type: i0.Input,
|
|
27721
|
+
args: [{
|
|
27722
|
+
isSignal: true,
|
|
27723
|
+
alias: "hint",
|
|
27724
|
+
required: false
|
|
27725
|
+
}]
|
|
27726
|
+
}],
|
|
27727
|
+
error: [{
|
|
27728
|
+
type: i0.Input,
|
|
27729
|
+
args: [{
|
|
27730
|
+
isSignal: true,
|
|
27731
|
+
alias: "error",
|
|
27732
|
+
required: false
|
|
27733
|
+
}]
|
|
27734
|
+
}],
|
|
27735
|
+
showErrors: [{
|
|
27736
|
+
type: i0.Input,
|
|
27737
|
+
args: [{
|
|
27738
|
+
isSignal: true,
|
|
27739
|
+
alias: "showErrors",
|
|
27740
|
+
required: false
|
|
27741
|
+
}]
|
|
27742
|
+
}],
|
|
27743
|
+
name: [{
|
|
27744
|
+
type: i0.Input,
|
|
27745
|
+
args: [{
|
|
27746
|
+
isSignal: true,
|
|
27747
|
+
alias: "name",
|
|
27748
|
+
required: false
|
|
27749
|
+
}]
|
|
27750
|
+
}],
|
|
27751
|
+
_disabledInput: [{
|
|
27752
|
+
type: i0.Input,
|
|
27753
|
+
args: [{
|
|
27754
|
+
isSignal: true,
|
|
27755
|
+
alias: "disabled",
|
|
27756
|
+
required: false
|
|
27757
|
+
}]
|
|
27758
|
+
}],
|
|
27759
|
+
invalidChange: [{
|
|
27760
|
+
type: i0.Output,
|
|
27761
|
+
args: ["invalidChange"]
|
|
27762
|
+
}]
|
|
27763
|
+
}
|
|
27764
|
+
});
|
|
27021
27765
|
var DetailCardComponent = class DetailCardComponent {
|
|
27022
27766
|
constructor() {
|
|
27023
27767
|
this.title = input("", ...ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []);
|
|
@@ -27194,6 +27938,7 @@ var DetailCardComponent = class DetailCardComponent {
|
|
|
27194
27938
|
"ariaLabel",
|
|
27195
27939
|
"ariaExpanded",
|
|
27196
27940
|
"ariaPressed",
|
|
27941
|
+
"ariaDescribedBy",
|
|
27197
27942
|
"modal-footer-left",
|
|
27198
27943
|
"modal-footer-right"
|
|
27199
27944
|
]
|
|
@@ -27450,6 +28195,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
27450
28195
|
}]
|
|
27451
28196
|
}
|
|
27452
28197
|
});
|
|
27453
|
-
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,
|
|
28198
|
+
export { AlertComponent, AppShellComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BarChartComponent, 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 };
|
|
27454
28199
|
|
|
27455
28200
|
//# sourceMappingURL=forgeroute-ui.mjs.map
|