@forgeroute/ui 0.4.52 → 0.4.53
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.
|
@@ -5461,7 +5461,7 @@ var TextInputComponent = class TextInputComponent {
|
|
|
5461
5461
|
</div>
|
|
5462
5462
|
`,
|
|
5463
5463
|
isInline: true,
|
|
5464
|
-
styles: [":host{display:block}.ti-field{display:flex;flex-direction:column;gap:6px}.ti-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ti-label
|
|
5464
|
+
styles: [":host{display:block}.ti-field{display:flex;flex-direction:column;gap:6px}.ti-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ti-required{color:#dc2626;margin-left:2px}.ti-prefixed{display:grid;grid-template-columns:minmax(0,1fr)}.ti-prefixed .ti-input{grid-row:var(--ti-input-row);grid-column:1}.ti-prefix{grid-row:var(--ti-input-row);grid-column:1;justify-self:start;align-self:center;margin-left:12px;font-size:.875rem;line-height:1;color:#64748b;pointer-events:none}@media(pointer:coarse),(max-width:480px){.ti-prefix{font-size:1rem}}.ti-disabled .ti-prefix{opacity:.5}.ti-reveal{grid-row:var(--ti-input-row);grid-column:1;justify-self:end;align-self:center;margin-right:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.ti-reveal:hover:not(:disabled){color:#1e293b;background:#f1f5f9}.ti-reveal:focus-visible{outline:2px solid #3b82f6;outline-offset:0}.ti-reveal:disabled{opacity:.5;cursor:not-allowed}@media(pointer:coarse),(max-width:480px){.ti-reveal{width:44px;height:44px;margin-right:0}}.ti-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.ti-input::placeholder{color:#64748b;opacity:1}.ti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ti-input:read-only{background:#f8fafc;cursor:default}.ti-error .ti-input{border-color:#ef4444}.ti-error .ti-input:focus{box-shadow:0 0 0 3px #ef44441f}.ti-disabled .ti-input{opacity:.5;cursor:not-allowed}.ti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ti-desc-error{color:#dc2626}@media(pointer:coarse),(max-width:480px){.ti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.ti-input{min-height:44px}}\n"],
|
|
5465
5465
|
dependencies: [{
|
|
5466
5466
|
kind: "component",
|
|
5467
5467
|
type: PasswordRequirementsComponent,
|
|
@@ -5562,7 +5562,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
5562
5562
|
}
|
|
5563
5563
|
</div>
|
|
5564
5564
|
`,
|
|
5565
|
-
styles: [":host{display:block}.ti-field{display:flex;flex-direction:column;gap:6px}.ti-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ti-label
|
|
5565
|
+
styles: [":host{display:block}.ti-field{display:flex;flex-direction:column;gap:6px}.ti-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ti-required{color:#dc2626;margin-left:2px}.ti-prefixed{display:grid;grid-template-columns:minmax(0,1fr)}.ti-prefixed .ti-input{grid-row:var(--ti-input-row);grid-column:1}.ti-prefix{grid-row:var(--ti-input-row);grid-column:1;justify-self:start;align-self:center;margin-left:12px;font-size:.875rem;line-height:1;color:#64748b;pointer-events:none}@media(pointer:coarse),(max-width:480px){.ti-prefix{font-size:1rem}}.ti-disabled .ti-prefix{opacity:.5}.ti-reveal{grid-row:var(--ti-input-row);grid-column:1;justify-self:end;align-self:center;margin-right:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.ti-reveal:hover:not(:disabled){color:#1e293b;background:#f1f5f9}.ti-reveal:focus-visible{outline:2px solid #3b82f6;outline-offset:0}.ti-reveal:disabled{opacity:.5;cursor:not-allowed}@media(pointer:coarse),(max-width:480px){.ti-reveal{width:44px;height:44px;margin-right:0}}.ti-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.ti-input::placeholder{color:#64748b;opacity:1}.ti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ti-input:read-only{background:#f8fafc;cursor:default}.ti-error .ti-input{border-color:#ef4444}.ti-error .ti-input:focus{box-shadow:0 0 0 3px #ef44441f}.ti-disabled .ti-input{opacity:.5;cursor:not-allowed}.ti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ti-desc-error{color:#dc2626}@media(pointer:coarse),(max-width:480px){.ti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.ti-input{min-height:44px}}\n"]
|
|
5566
5566
|
}]
|
|
5567
5567
|
}],
|
|
5568
5568
|
ctorParameters: () => [],
|
|
@@ -20868,18 +20868,21 @@ var TextareaInputComponent = class TextareaInputComponent {
|
|
|
20868
20868
|
template: `
|
|
20869
20869
|
<div class="ta-field" [class.ta-error]="_activeError()" [class.ta-disabled]="disabled()">
|
|
20870
20870
|
@if (label()) {
|
|
20871
|
-
|
|
20872
|
-
|
|
20873
|
-
<
|
|
20874
|
-
|
|
20875
|
-
|
|
20876
|
-
|
|
20877
|
-
|
|
20878
|
-
|
|
20879
|
-
|
|
20880
|
-
|
|
20881
|
-
|
|
20882
|
-
|
|
20871
|
+
<div class="ta-label-row">
|
|
20872
|
+
@if (hintAsDescription()) {
|
|
20873
|
+
<div class="ta-head">
|
|
20874
|
+
<label class="ta-label" [for]="_inputId">{{ label() }}@if (required()) { <span class="ta-required" aria-hidden="true">*</span> }</label>
|
|
20875
|
+
@if (hint()) { <span class="ta-hint-inline" [id]="_inputId + '-hint'">({{ hint() }})</span> }
|
|
20876
|
+
</div>
|
|
20877
|
+
} @else {
|
|
20878
|
+
<label class="ta-label" [for]="_inputId">
|
|
20879
|
+
{{ label() }}
|
|
20880
|
+
@if (required()) { <span class="ta-required" aria-hidden="true">*</span> }
|
|
20881
|
+
@if (hint()) { <span class="ta-hint-inline">({{ hint() }})</span> }
|
|
20882
|
+
</label>
|
|
20883
|
+
}
|
|
20884
|
+
<ng-content select="[uiLabelEnd]" />
|
|
20885
|
+
</div>
|
|
20883
20886
|
}
|
|
20884
20887
|
<textarea
|
|
20885
20888
|
class="ta-input"
|
|
@@ -20907,7 +20910,7 @@ var TextareaInputComponent = class TextareaInputComponent {
|
|
|
20907
20910
|
</div>
|
|
20908
20911
|
`,
|
|
20909
20912
|
isInline: true,
|
|
20910
|
-
styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#dc2626;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#64748b;opacity:1}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px)and (pointer:fine){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#dc2626}@media(pointer:coarse),(max-width:480px){.ta-input{font-size:1rem}}\n"],
|
|
20913
|
+
styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#dc2626;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#64748b;opacity:1}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px)and (pointer:fine){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#dc2626}@media(pointer:coarse),(max-width:480px){.ta-input{font-size:1rem}}\n"],
|
|
20911
20914
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
20912
20915
|
});
|
|
20913
20916
|
}
|
|
@@ -20942,18 +20945,21 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
20942
20945
|
template: `
|
|
20943
20946
|
<div class="ta-field" [class.ta-error]="_activeError()" [class.ta-disabled]="disabled()">
|
|
20944
20947
|
@if (label()) {
|
|
20945
|
-
|
|
20946
|
-
|
|
20947
|
-
<
|
|
20948
|
-
|
|
20949
|
-
|
|
20950
|
-
|
|
20951
|
-
|
|
20952
|
-
|
|
20953
|
-
|
|
20954
|
-
|
|
20955
|
-
|
|
20956
|
-
|
|
20948
|
+
<div class="ta-label-row">
|
|
20949
|
+
@if (hintAsDescription()) {
|
|
20950
|
+
<div class="ta-head">
|
|
20951
|
+
<label class="ta-label" [for]="_inputId">{{ label() }}@if (required()) { <span class="ta-required" aria-hidden="true">*</span> }</label>
|
|
20952
|
+
@if (hint()) { <span class="ta-hint-inline" [id]="_inputId + '-hint'">({{ hint() }})</span> }
|
|
20953
|
+
</div>
|
|
20954
|
+
} @else {
|
|
20955
|
+
<label class="ta-label" [for]="_inputId">
|
|
20956
|
+
{{ label() }}
|
|
20957
|
+
@if (required()) { <span class="ta-required" aria-hidden="true">*</span> }
|
|
20958
|
+
@if (hint()) { <span class="ta-hint-inline">({{ hint() }})</span> }
|
|
20959
|
+
</label>
|
|
20960
|
+
}
|
|
20961
|
+
<ng-content select="[uiLabelEnd]" />
|
|
20962
|
+
</div>
|
|
20957
20963
|
}
|
|
20958
20964
|
<textarea
|
|
20959
20965
|
class="ta-input"
|
|
@@ -20980,7 +20986,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
20980
20986
|
}
|
|
20981
20987
|
</div>
|
|
20982
20988
|
`,
|
|
20983
|
-
styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#dc2626;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#64748b;opacity:1}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px)and (pointer:fine){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#dc2626}@media(pointer:coarse),(max-width:480px){.ta-input{font-size:1rem}}\n"]
|
|
20989
|
+
styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#dc2626;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#64748b;opacity:1}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px)and (pointer:fine){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#dc2626}@media(pointer:coarse),(max-width:480px){.ta-input{font-size:1rem}}\n"]
|
|
20984
20990
|
}]
|
|
20985
20991
|
}],
|
|
20986
20992
|
ctorParameters: () => [],
|
|
@@ -24892,8 +24898,9 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
24892
24898
|
this._selectedSet = computed(() => new Set(this.selected()), ...ngDevMode ? [{ debugName: "_selectedSet" }] : /* istanbul ignore next */ []);
|
|
24893
24899
|
this._selectedOptions = computed(() => this.options().filter((o) => this._selectedSet().has(o.value)), ...ngDevMode ? [{ debugName: "_selectedOptions" }] : /* istanbul ignore next */ []);
|
|
24894
24900
|
this._filteredOptions = computed(() => {
|
|
24895
|
-
const
|
|
24896
|
-
|
|
24901
|
+
const fold = (v) => v.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase();
|
|
24902
|
+
const q = fold(this._query().trim());
|
|
24903
|
+
return q ? this.options().filter((o) => fold(o.label).includes(q)) : this.options();
|
|
24897
24904
|
}, ...ngDevMode ? [{ debugName: "_filteredOptions" }] : /* istanbul ignore next */ []);
|
|
24898
24905
|
this._onChange = (_) => {};
|
|
24899
24906
|
this._onTouched = () => {};
|
|
@@ -25063,9 +25070,9 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
25063
25070
|
class="ms-trigger"
|
|
25064
25071
|
[class.ms-open]="_open()"
|
|
25065
25072
|
[disabled]="disabled()"
|
|
25066
|
-
aria-haspopup="
|
|
25073
|
+
aria-haspopup="true"
|
|
25067
25074
|
[attr.aria-expanded]="_open()"
|
|
25068
|
-
[attr.aria-controls]="_open() ? _id + '-
|
|
25075
|
+
[attr.aria-controls]="_open() ? _id + '-options' : null"
|
|
25069
25076
|
[attr.aria-labelledby]="label() ? _id + '-label' : null"
|
|
25070
25077
|
[attr.aria-describedby]="error() ? _id + '-error' : (hint() ? _id + '-hint' : null)"
|
|
25071
25078
|
[attr.aria-invalid]="error() ? 'true' : null"
|
|
@@ -25089,14 +25096,14 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
25089
25096
|
(input)="_query.set($any($event.target).value)" />
|
|
25090
25097
|
</div>
|
|
25091
25098
|
}
|
|
25092
|
-
<div class="ms-options" role="
|
|
25099
|
+
<div class="ms-options" role="group" [id]="_id + '-options'" [attr.aria-labelledby]="label() ? _id + '-label' : null">
|
|
25093
25100
|
@for (opt of _filteredOptions(); track opt.value) {
|
|
25094
|
-
<div class="ms-option"
|
|
25101
|
+
<div class="ms-option" [class.ms-option-selected]="_selectedSet().has(opt.value)">
|
|
25095
25102
|
<ui-checkbox
|
|
25096
25103
|
[label]="opt.label"
|
|
25097
25104
|
[checked]="_selectedSet().has(opt.value)"
|
|
25105
|
+
[description]="opt.description ?? ''"
|
|
25098
25106
|
(checkedChange)="toggleValue(opt.value)" />
|
|
25099
|
-
@if (opt.description) { <p class="ms-option-desc">{{ opt.description }}</p> }
|
|
25100
25107
|
</div>
|
|
25101
25108
|
} @empty {
|
|
25102
25109
|
<div class="ms-empty">No options found</div>
|
|
@@ -25114,7 +25121,7 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
25114
25121
|
</div>
|
|
25115
25122
|
`,
|
|
25116
25123
|
isInline: true,
|
|
25117
|
-
styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ms-search::placeholder{color:#64748b;opacity:1}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-
|
|
25124
|
+
styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ms-search::placeholder{color:#64748b;opacity:1}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#dc2626}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"],
|
|
25118
25125
|
dependencies: [{
|
|
25119
25126
|
kind: "component",
|
|
25120
25127
|
type: ChipComponent,
|
|
@@ -25201,9 +25208,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
25201
25208
|
class="ms-trigger"
|
|
25202
25209
|
[class.ms-open]="_open()"
|
|
25203
25210
|
[disabled]="disabled()"
|
|
25204
|
-
aria-haspopup="
|
|
25211
|
+
aria-haspopup="true"
|
|
25205
25212
|
[attr.aria-expanded]="_open()"
|
|
25206
|
-
[attr.aria-controls]="_open() ? _id + '-
|
|
25213
|
+
[attr.aria-controls]="_open() ? _id + '-options' : null"
|
|
25207
25214
|
[attr.aria-labelledby]="label() ? _id + '-label' : null"
|
|
25208
25215
|
[attr.aria-describedby]="error() ? _id + '-error' : (hint() ? _id + '-hint' : null)"
|
|
25209
25216
|
[attr.aria-invalid]="error() ? 'true' : null"
|
|
@@ -25227,14 +25234,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
25227
25234
|
(input)="_query.set($any($event.target).value)" />
|
|
25228
25235
|
</div>
|
|
25229
25236
|
}
|
|
25230
|
-
<div class="ms-options" role="
|
|
25237
|
+
<div class="ms-options" role="group" [id]="_id + '-options'" [attr.aria-labelledby]="label() ? _id + '-label' : null">
|
|
25231
25238
|
@for (opt of _filteredOptions(); track opt.value) {
|
|
25232
|
-
<div class="ms-option"
|
|
25239
|
+
<div class="ms-option" [class.ms-option-selected]="_selectedSet().has(opt.value)">
|
|
25233
25240
|
<ui-checkbox
|
|
25234
25241
|
[label]="opt.label"
|
|
25235
25242
|
[checked]="_selectedSet().has(opt.value)"
|
|
25243
|
+
[description]="opt.description ?? ''"
|
|
25236
25244
|
(checkedChange)="toggleValue(opt.value)" />
|
|
25237
|
-
@if (opt.description) { <p class="ms-option-desc">{{ opt.description }}</p> }
|
|
25238
25245
|
</div>
|
|
25239
25246
|
} @empty {
|
|
25240
25247
|
<div class="ms-empty">No options found</div>
|
|
@@ -25251,7 +25258,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
25251
25258
|
}
|
|
25252
25259
|
</div>
|
|
25253
25260
|
`,
|
|
25254
|
-
styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ms-search::placeholder{color:#64748b;opacity:1}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-
|
|
25261
|
+
styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ms-search::placeholder{color:#64748b;opacity:1}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#dc2626}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"]
|
|
25255
25262
|
}]
|
|
25256
25263
|
}],
|
|
25257
25264
|
propDecorators: {
|
|
@@ -26111,7 +26118,7 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26111
26118
|
this._matches().forEach((v, index) => {
|
|
26112
26119
|
if (v.group && v.group !== last) rows.push({
|
|
26113
26120
|
kind: "group",
|
|
26114
|
-
key: "g:" + v.group,
|
|
26121
|
+
key: "g:" + rows.length + ":" + v.group,
|
|
26115
26122
|
text: v.group
|
|
26116
26123
|
});
|
|
26117
26124
|
last = v.group;
|
|
@@ -26125,15 +26132,17 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26125
26132
|
});
|
|
26126
26133
|
return rows;
|
|
26127
26134
|
}, ...ngDevMode ? [{ debugName: "_rows" }] : /* istanbul ignore next */ []);
|
|
26128
|
-
this.
|
|
26135
|
+
this._activeIndex = computed(() => Math.min(this._active(), Math.max(0, this._matches().length - 1)), ...ngDevMode ? [{ debugName: "_activeIndex" }] : /* istanbul ignore next */ []);
|
|
26136
|
+
this._activeId = computed(() => this._matches().length ? `${this._id}-o${this._activeIndex()}` : null, ...ngDevMode ? [{ debugName: "_activeId" }] : /* istanbul ignore next */ []);
|
|
26129
26137
|
this._status = computed(() => {
|
|
26130
26138
|
const n = this._matches().length;
|
|
26131
26139
|
return n === 0 ? "No variables found" : n === 1 ? "1 variable" : `${n} variables`;
|
|
26132
26140
|
}, ...ngDevMode ? [{ debugName: "_status" }] : /* istanbul ignore next */ []);
|
|
26133
26141
|
this.onAnyScroll = (event) => {
|
|
26134
|
-
if (!(event.target instanceof Node && this.host.nativeElement.contains(event.target))) this.
|
|
26142
|
+
if (!(event.target instanceof Node && this.host.nativeElement.contains(event.target))) this.follow();
|
|
26135
26143
|
};
|
|
26136
|
-
|
|
26144
|
+
this.onViewport = () => this.follow();
|
|
26145
|
+
inject(DestroyRef).onDestroy(() => this.unlisten());
|
|
26137
26146
|
}
|
|
26138
26147
|
static fold(s) {
|
|
26139
26148
|
return s.normalize("NFD").replace(/[̀-ͯ]/g, "").toLowerCase();
|
|
@@ -26153,6 +26162,8 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26153
26162
|
this.place();
|
|
26154
26163
|
this._open.set(true);
|
|
26155
26164
|
window.addEventListener("scroll", this.onAnyScroll, true);
|
|
26165
|
+
window.visualViewport?.addEventListener("resize", this.onViewport);
|
|
26166
|
+
window.visualViewport?.addEventListener("scroll", this.onViewport);
|
|
26156
26167
|
afterNextRender(() => this.host.nativeElement.querySelector(".ttp-search")?.focus(), { injector: this.injector });
|
|
26157
26168
|
}
|
|
26158
26169
|
place() {
|
|
@@ -26168,6 +26179,9 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26168
26179
|
this._top.set(up ? null : r.bottom + gap);
|
|
26169
26180
|
this._bottom.set(up ? vh - r.top + gap : null);
|
|
26170
26181
|
}
|
|
26182
|
+
onPanelMouseDown(event) {
|
|
26183
|
+
if (!(event.target instanceof HTMLInputElement)) event.preventDefault();
|
|
26184
|
+
}
|
|
26171
26185
|
onQuery(value) {
|
|
26172
26186
|
this._query.set(value);
|
|
26173
26187
|
this._active.set(0);
|
|
@@ -26177,7 +26191,7 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26177
26191
|
const n = this._matches().length;
|
|
26178
26192
|
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
26179
26193
|
event.preventDefault();
|
|
26180
|
-
if (n) this._active.set((this.
|
|
26194
|
+
if (n) this._active.set((this._activeIndex() + (event.key === "ArrowDown" ? 1 : -1) + n) % n);
|
|
26181
26195
|
this.scrollActive();
|
|
26182
26196
|
} else if (event.key === "Home" || event.key === "End") {
|
|
26183
26197
|
if (n) {
|
|
@@ -26187,9 +26201,9 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26187
26201
|
}
|
|
26188
26202
|
} else if (event.key === "Enter") {
|
|
26189
26203
|
event.preventDefault();
|
|
26190
|
-
const v = this._matches()[this.
|
|
26204
|
+
const v = this._matches()[this._activeIndex()];
|
|
26191
26205
|
if (v) this.pick(v);
|
|
26192
|
-
} else if (event.key === "Tab") this.close(
|
|
26206
|
+
} else if (event.key === "Tab") this.close(true);
|
|
26193
26207
|
}
|
|
26194
26208
|
pick(variable) {
|
|
26195
26209
|
this.picked.emit(variable.value);
|
|
@@ -26203,7 +26217,7 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26203
26217
|
close(refocus) {
|
|
26204
26218
|
this._open.set(false);
|
|
26205
26219
|
this._query.set("");
|
|
26206
|
-
|
|
26220
|
+
this.unlisten();
|
|
26207
26221
|
if (refocus) this.host.nativeElement.querySelector(".ttp-trigger")?.focus();
|
|
26208
26222
|
}
|
|
26209
26223
|
scrollActive() {
|
|
@@ -26213,7 +26227,18 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26213
26227
|
if (this._open() && !this.host.nativeElement.contains(event.target)) this.close(false);
|
|
26214
26228
|
}
|
|
26215
26229
|
onResize() {
|
|
26216
|
-
|
|
26230
|
+
this.follow();
|
|
26231
|
+
}
|
|
26232
|
+
unlisten() {
|
|
26233
|
+
window.removeEventListener("scroll", this.onAnyScroll, true);
|
|
26234
|
+
window.visualViewport?.removeEventListener("resize", this.onViewport);
|
|
26235
|
+
window.visualViewport?.removeEventListener("scroll", this.onViewport);
|
|
26236
|
+
}
|
|
26237
|
+
follow() {
|
|
26238
|
+
if (!this._open()) return;
|
|
26239
|
+
const r = this.host.nativeElement.querySelector(".ttp-trigger").getBoundingClientRect();
|
|
26240
|
+
if (r.bottom < 0 || r.top > window.innerHeight || r.right < 0 || r.left > window.innerWidth) this.close(false);
|
|
26241
|
+
else this.place();
|
|
26217
26242
|
}
|
|
26218
26243
|
static {
|
|
26219
26244
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
@@ -26278,7 +26303,7 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26278
26303
|
|
|
26279
26304
|
@if (_open()) {
|
|
26280
26305
|
<div class="ttp-panel" [style.top.px]="_top()" [style.bottom.px]="_bottom()" [style.left.px]="_left()" [style.width.px]="_width()"
|
|
26281
|
-
[style.max-height.px]="_maxHeight()" (keydown.escape)="onEscape($event)">
|
|
26306
|
+
[style.max-height.px]="_maxHeight()" (keydown.escape)="onEscape($event)" (mousedown)="onPanelMouseDown($event)">
|
|
26282
26307
|
<div class="ttp-search-wrap">
|
|
26283
26308
|
<input #search class="ttp-search" type="text" role="combobox" autocomplete="off" aria-autocomplete="list" aria-expanded="true"
|
|
26284
26309
|
[attr.aria-controls]="_id + '-list'" [attr.aria-activedescendant]="_activeId()" [attr.aria-label]="searchPlaceholder()"
|
|
@@ -26288,10 +26313,10 @@ var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
|
26288
26313
|
<div class="ttp-list" role="listbox" [id]="_id + '-list'" [attr.aria-label]="label()">
|
|
26289
26314
|
@for (row of _rows(); track row.key) {
|
|
26290
26315
|
@if (row.kind === 'group') {
|
|
26291
|
-
<div class="ttp-group" role="presentation">{{ row.text }}</div>
|
|
26316
|
+
<div class="ttp-group" role="presentation" [id]="_id + '-g' + $index">{{ row.text }}</div>
|
|
26292
26317
|
} @else {
|
|
26293
|
-
<div class="ttp-option" role="option" [id]="_id + '-o' + row.index" [class.ttp-active]="
|
|
26294
|
-
[attr.aria-selected]="
|
|
26318
|
+
<div class="ttp-option" role="option" [id]="_id + '-o' + row.index" [class.ttp-active]="_activeIndex() === row.index"
|
|
26319
|
+
[attr.aria-selected]="_activeIndex() === row.index" (mousedown)="$event.preventDefault()" (click)="pick(row.variable!)" (mouseenter)="_active.set(row.index!)">
|
|
26295
26320
|
{{ row.text }}
|
|
26296
26321
|
</div>
|
|
26297
26322
|
}
|
|
@@ -26330,7 +26355,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26330
26355
|
|
|
26331
26356
|
@if (_open()) {
|
|
26332
26357
|
<div class="ttp-panel" [style.top.px]="_top()" [style.bottom.px]="_bottom()" [style.left.px]="_left()" [style.width.px]="_width()"
|
|
26333
|
-
[style.max-height.px]="_maxHeight()" (keydown.escape)="onEscape($event)">
|
|
26358
|
+
[style.max-height.px]="_maxHeight()" (keydown.escape)="onEscape($event)" (mousedown)="onPanelMouseDown($event)">
|
|
26334
26359
|
<div class="ttp-search-wrap">
|
|
26335
26360
|
<input #search class="ttp-search" type="text" role="combobox" autocomplete="off" aria-autocomplete="list" aria-expanded="true"
|
|
26336
26361
|
[attr.aria-controls]="_id + '-list'" [attr.aria-activedescendant]="_activeId()" [attr.aria-label]="searchPlaceholder()"
|
|
@@ -26340,10 +26365,10 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26340
26365
|
<div class="ttp-list" role="listbox" [id]="_id + '-list'" [attr.aria-label]="label()">
|
|
26341
26366
|
@for (row of _rows(); track row.key) {
|
|
26342
26367
|
@if (row.kind === 'group') {
|
|
26343
|
-
<div class="ttp-group" role="presentation">{{ row.text }}</div>
|
|
26368
|
+
<div class="ttp-group" role="presentation" [id]="_id + '-g' + $index">{{ row.text }}</div>
|
|
26344
26369
|
} @else {
|
|
26345
|
-
<div class="ttp-option" role="option" [id]="_id + '-o' + row.index" [class.ttp-active]="
|
|
26346
|
-
[attr.aria-selected]="
|
|
26370
|
+
<div class="ttp-option" role="option" [id]="_id + '-o' + row.index" [class.ttp-active]="_activeIndex() === row.index"
|
|
26371
|
+
[attr.aria-selected]="_activeIndex() === row.index" (mousedown)="$event.preventDefault()" (click)="pick(row.variable!)" (mouseenter)="_active.set(row.index!)">
|
|
26347
26372
|
{{ row.text }}
|
|
26348
26373
|
</div>
|
|
26349
26374
|
}
|
|
@@ -44130,11 +44155,12 @@ var SetupWizardComponent = class SetupWizardComponent {
|
|
|
44130
44155
|
}, ...ngDevMode ? [{ debugName: "intro" }] : /* istanbul ignore next */ []);
|
|
44131
44156
|
this.isDone = computed(() => this.current().key === SETUP_DONE_KEY, ...ngDevMode ? [{ debugName: "isDone" }] : /* istanbul ignore next */ []);
|
|
44132
44157
|
this.completedCount = computed(() => this.allSteps().filter((s) => this.completed().has(s.key) || this.skipped().has(s.key)).length, ...ngDevMode ? [{ debugName: "completedCount" }] : /* istanbul ignore next */ []);
|
|
44133
|
-
this.stepperSteps = computed(() => this.allSteps().map((s) => ({
|
|
44158
|
+
this.stepperSteps = computed(() => this.allSteps().map((s, i) => ({
|
|
44134
44159
|
key: s.key,
|
|
44135
44160
|
label: s.label,
|
|
44136
44161
|
complete: this.completed().has(s.key),
|
|
44137
|
-
disabled: this.busy()
|
|
44162
|
+
disabled: this.busy(),
|
|
44163
|
+
selectable: i < this.index()
|
|
44138
44164
|
})), ...ngDevMode ? [{ debugName: "stepperSteps" }] : /* istanbul ignore next */ []);
|
|
44139
44165
|
this.summarySections = computed(() => [{ items: this.steps().map((s) => ({
|
|
44140
44166
|
label: s.label,
|
|
@@ -44180,6 +44206,9 @@ var SetupWizardComponent = class SetupWizardComponent {
|
|
|
44180
44206
|
templateFor(key) {
|
|
44181
44207
|
return this.stepTemplates().find((d) => d.key() === key)?.template ?? null;
|
|
44182
44208
|
}
|
|
44209
|
+
goToPast(key) {
|
|
44210
|
+
if (this.allSteps().findIndex((s) => s.key === key) < this.index()) this.goTo(key);
|
|
44211
|
+
}
|
|
44183
44212
|
goTo(key) {
|
|
44184
44213
|
if (!this.busy() && this.allSteps().some((s) => s.key === key)) this.enter(key);
|
|
44185
44214
|
}
|
|
@@ -44314,6 +44343,7 @@ var SetupWizardComponent = class SetupWizardComponent {
|
|
|
44314
44343
|
return imp?.resultTitle ? imp.resultTitle(n) : `${n} ${(imp?.config.entityNamePlural ?? "records").toLowerCase()} imported successfully.`;
|
|
44315
44344
|
}
|
|
44316
44345
|
continueFromImport() {
|
|
44346
|
+
if (this.importBlocked()) return;
|
|
44317
44347
|
this.advanceFrom(this.current().key);
|
|
44318
44348
|
}
|
|
44319
44349
|
loadStatuses(list) {
|
|
@@ -44523,7 +44553,7 @@ var SetupWizardComponent = class SetupWizardComponent {
|
|
|
44523
44553
|
<span class="sw-brand-text" data-testid="setup-wizard-brand">{{ t().brand }}</span>
|
|
44524
44554
|
</div>
|
|
44525
44555
|
<ui-stepper class="sw-step-nav" [ariaLabel]="t().stepperLabel" orientation="vertical" size="sm" compact="md"
|
|
44526
|
-
[steps]="stepperSteps()" [current]="currentKey()" [clickable]="true" [linear]="false" (stepClick)="
|
|
44556
|
+
[steps]="stepperSteps()" [current]="currentKey()" [clickable]="true" [linear]="false" (stepClick)="goToPast($event)" />
|
|
44527
44557
|
</div>
|
|
44528
44558
|
<div class="sw-sidebar-bottom">
|
|
44529
44559
|
<ui-progress-bar [value]="completedCount()" [max]="allSteps().length" ariaLabel="Setup progress" />
|
|
@@ -45007,7 +45037,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
45007
45037
|
<span class="sw-brand-text" data-testid="setup-wizard-brand">{{ t().brand }}</span>
|
|
45008
45038
|
</div>
|
|
45009
45039
|
<ui-stepper class="sw-step-nav" [ariaLabel]="t().stepperLabel" orientation="vertical" size="sm" compact="md"
|
|
45010
|
-
[steps]="stepperSteps()" [current]="currentKey()" [clickable]="true" [linear]="false" (stepClick)="
|
|
45040
|
+
[steps]="stepperSteps()" [current]="currentKey()" [clickable]="true" [linear]="false" (stepClick)="goToPast($event)" />
|
|
45011
45041
|
</div>
|
|
45012
45042
|
<div class="sw-sidebar-bottom">
|
|
45013
45043
|
<ui-progress-bar [value]="completedCount()" [max]="allSteps().length" ariaLabel="Setup progress" />
|