@yuuvis/client-framework 3.15.0 → 3.17.0
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/yuuvis-client-framework-actions.mjs +21 -25
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-app-bar.mjs +3 -3
- package/fesm2022/yuuvis-client-framework-badges.mjs +20 -13
- package/fesm2022/yuuvis-client-framework-badges.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +3 -3
- package/fesm2022/yuuvis-client-framework-clipboard.mjs +3 -3
- package/fesm2022/yuuvis-client-framework-datepicker.mjs +31 -31
- package/fesm2022/yuuvis-client-framework-forms.mjs +286 -178
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs +9 -9
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +7 -7
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +18 -18
- package/fesm2022/yuuvis-client-framework-object-details.mjs +28 -28
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +18 -18
- package/fesm2022/yuuvis-client-framework-object-form.mjs +34 -34
- package/fesm2022/yuuvis-client-framework-object-preview.mjs +9 -9
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs +73 -45
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +13 -13
- package/fesm2022/yuuvis-client-framework-object-versions.mjs +7 -7
- package/fesm2022/yuuvis-client-framework-pagination.mjs +3 -3
- package/fesm2022/yuuvis-client-framework-query-list.mjs +7 -7
- package/fesm2022/yuuvis-client-framework-renderer.mjs +101 -74
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +4 -4
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-simple-search.mjs +3 -3
- package/fesm2022/yuuvis-client-framework-smart-search.mjs +13 -13
- package/fesm2022/yuuvis-client-framework-sort.mjs +3 -3
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +97 -61
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-token-search.mjs +7 -7
- package/fesm2022/yuuvis-client-framework-tree.mjs +9 -9
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs +10 -10
- package/fesm2022/yuuvis-client-framework.mjs +25 -25
- package/lib/assets/i18n/de.json +10 -8
- package/lib/assets/i18n/en.json +10 -8
- package/package.json +10 -10
- package/types/yuuvis-client-framework-badges.d.ts +7 -0
- package/types/yuuvis-client-framework-forms.d.ts +28 -8
- package/types/yuuvis-client-framework-object-relationship.d.ts +6 -1
- package/types/yuuvis-client-framework-tile-list.d.ts +13 -1
|
@@ -468,10 +468,10 @@ class TokenSearchComponent {
|
|
|
468
468
|
return base(['contains', 'like', 'eq']);
|
|
469
469
|
}
|
|
470
470
|
}
|
|
471
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
472
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
471
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TokenSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
472
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: TokenSearchComponent, isStandalone: true, selector: "yuv-token-search", inputs: { types: { classPropertyName: "types", publicName: "types", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { queryChange: "queryChange" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"search-bar\" (click)=\"onBarClick($event)\">\n <!-- Committed tokens -->\n @for (token of tokens(); track token.uid; let i = $index) {\n <button\n class=\"token\"\n [class.token--type]=\"token.kind === 'type'\"\n [class.token--field]=\"token.kind === 'field'\"\n [class.token--operator]=\"token.kind === 'operator'\"\n [class.token--value]=\"token.kind === 'value'\"\n [class.token--combinator]=\"token.kind === 'combinator'\"\n (click)=\"onTokenClick(i)\"\n [attr.aria-label]=\"token.label\"\n >\n @if (token.kind === 'type') {\n <mat-icon class=\"token__icon\">category</mat-icon>\n }\n @if (token.kind === 'field') {\n <mat-icon class=\"token__icon\">tune</mat-icon>\n }\n <span class=\"token__label\">{{ token.label }}</span>\n @if (token.kind !== 'combinator') {\n <span\n class=\"token__remove\"\n (click)=\"$event.stopPropagation(); removeTokenGroup(i)\"\n matTooltip=\"Remove\"\n >\n <mat-icon>close</mat-icon>\n </span>\n }\n </button>\n }\n\n <!-- Pending type pill -->\n @if (pendingTypeId()) {\n <span class=\"token token--type token--pending\">\n <mat-icon class=\"token__icon\">category</mat-icon>\n <span class=\"token__label\">{{ pendingTypeLabel() }}</span>\n </span>\n }\n\n <!-- Pending field pill -->\n @if (pendingField(); as field) {\n <span class=\"token token--field token--pending\">\n <mat-icon class=\"token__icon\">tune</mat-icon>\n <span class=\"token__label\">{{ field.label }}</span>\n </span>\n }\n\n <!-- Pending operator pill -->\n @if (pendingOperator(); as op) {\n <span class=\"token token--operator token--pending\">\n <span class=\"token__label\">{{ op.label }}</span>\n </span>\n }\n\n <!-- Single input -->\n <input\n #searchInput\n [formControl]=\"searchCtrl\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholderText()\"\n (keydown)=\"onKeydown($event)\"\n />\n</div>\n\n<!-- Autocomplete panel -->\n<mat-autocomplete #auto [displayWith]=\"displayFn\" (optionSelected)=\"onSuggestionSelected($event)\">\n @for (s of suggestions(); track s.id) {\n <mat-option [value]=\"s\">\n <div class=\"suggestion\">\n <mat-icon class=\"suggestion__icon\">\n @switch (s.kind) {\n @case ('type') { category }\n @case ('field') { tune }\n @case ('date-preset') { calendar_today }\n @default { manage_search }\n }\n </mat-icon>\n <span class=\"suggestion__label\">{{ s.label }}</span>\n @if (s.fieldType) {\n <span class=\"suggestion__type\">{{ s.fieldType }}</span>\n }\n </div>\n </mat-option>\n }\n</mat-autocomplete>\n", styles: [":host{display:block}.search-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ymt-spacing-3xs);padding:var(--ymt-spacing-2xs) var(--ymt-spacing-s);border:1px solid var(--ymt-outline-variant);border-radius:var(--ymt-corner-l);background:var(--ymt-surface);min-height:44px;cursor:text;transition:border-color .15s}.search-bar:focus-within{border-color:var(--ymt-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ymt-primary) 15%,transparent)}.search-bar input{flex:1 1 120px;min-width:120px;border:none;outline:none;background:transparent;font:inherit;font-size:.9em;padding:var(--ymt-spacing-2xs) 0}.search-bar input::placeholder{color:var(--ymt-text-color-subtle);opacity:.7}.token{display:inline-flex;align-items:center;gap:var(--ymt-spacing-4xs);height:28px;padding:0 var(--ymt-spacing-xs);border-radius:var(--ymt-corner-s);border:1px solid var(--ymt-outline-variant);background:var(--ymt-surface-container);font:inherit;font-size:.82em;cursor:pointer;white-space:nowrap;outline:none;transition:border-color .15s,background .15s}.token:hover{border-color:var(--ymt-outline)}.token:focus-visible{border-color:var(--ymt-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ymt-primary) 25%,transparent)}.token--type{background:var(--ymt-primary-container);color:var(--ymt-on-primary-container);font-weight:500}.token--field{background:color-mix(in srgb,var(--ymt-primary) 10%,transparent);color:var(--ymt-primary);font-weight:500}.token--operator{background:var(--ymt-surface-container-high);color:var(--ymt-text-color-subtle);font-style:italic}.token--value{max-width:160px;overflow:hidden;text-overflow:ellipsis}.token--combinator{background:var(--ymt-surface-container-high);font-weight:600;font-size:.75em;letter-spacing:.04em;color:var(--ymt-text-color-subtle);border-color:transparent}.token--pending{opacity:.7;border-style:dashed;cursor:default}.token__icon{font-size:var(--ymt-sizing-xs);width:var(--ymt-sizing-xs);height:var(--ymt-sizing-xs);opacity:.8}.token__label{line-height:1}.token__remove{display:inline-flex;align-items:center;margin-left:var(--ymt-spacing-4xs);opacity:0;transition:opacity .1s,color .1s}.token__remove mat-icon{font-size:14px;width:14px;height:14px}.token:hover .token__remove{opacity:.6}.token__remove:hover{opacity:1;color:var(--ymt-error)}.suggestion{display:flex;align-items:center;gap:var(--ymt-spacing-xs)}.suggestion__icon{font-size:var(--ymt-sizing-s);width:var(--ymt-sizing-s);height:var(--ymt-sizing-s);opacity:.6}.suggestion__label{flex:1}.suggestion__type{font-size:.75em;opacity:.5;font-style:italic}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
473
473
|
}
|
|
474
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
474
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TokenSearchComponent, decorators: [{
|
|
475
475
|
type: Component,
|
|
476
476
|
args: [{ selector: 'yuv-token-search', imports: [
|
|
477
477
|
ReactiveFormsModule,
|
|
@@ -483,11 +483,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
483
483
|
|
|
484
484
|
const cmp = [TokenSearchComponent];
|
|
485
485
|
class YuvTokenSearchModule {
|
|
486
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
487
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
488
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvTokenSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
487
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: YuvTokenSearchModule, imports: [TokenSearchComponent], exports: [TokenSearchComponent] }); }
|
|
488
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvTokenSearchModule, imports: [cmp] }); }
|
|
489
489
|
}
|
|
490
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
490
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvTokenSearchModule, decorators: [{
|
|
491
491
|
type: NgModule,
|
|
492
492
|
args: [{
|
|
493
493
|
imports: cmp,
|
|
@@ -92,10 +92,10 @@ class TreeService {
|
|
|
92
92
|
this._resolveChildren(nodeIDs, n.children);
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
96
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
96
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TreeService }); }
|
|
97
97
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TreeService, decorators: [{
|
|
99
99
|
type: Injectable
|
|
100
100
|
}] });
|
|
101
101
|
|
|
@@ -138,10 +138,10 @@ class TreeNodeComponent {
|
|
|
138
138
|
ngOnDestroy() {
|
|
139
139
|
this._subs.forEach((s) => s.unsubscribe());
|
|
140
140
|
}
|
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
142
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: TreeNodeComponent, isStandalone: true, selector: "yuv-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, toggleIcon: { classPropertyName: "toggleIcon", publicName: "toggleIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "treeitem" }, properties: { "class.focused": "focused", "attr.aria-selected": "selected", "attr.aria-expanded": "expanded" } }, ngImport: i0, template: "@if (node().children?.length) {\n <!-- toggle children button-->\n <!-- TODO: title should be i18n -->\n <button class=\"toggle\" (click)=\"toggleExpanded()\">\n <yuv-icon [svg]=\"toggleIcon()\"></yuv-icon>\n </button>\n}\n<div class=\"node-label\" [attr.node-id]=\"node().id\" [ngClass]=\"{ selectable: node().selectable }\" (click)=\"select($event)\">\n @if (node().icon) {\n <yuv-icon class=\"node-icon\" [svg]=\"node().icon!\"></yuv-icon>\n }\n <div class=\"label\">{{ node().label }}</div>\n</div>\n\n@if (node().expanded) {\n <div class=\"children\">\n @for (childNode of node().children; track $index) {\n <yuv-tree-node tabindex=\"0\" [toggleIcon]=\"toggleIcon()\" [node]=\"childNode\"></yuv-tree-node>\n }\n </div>\n}\n", styles: [":host-context(:focus).focused>.node-label{background-color:var(--ymt-focus-background);outline:1px solid var(--ymt-text-color-subtle);outline-offset:-3px}:host-context([selectable])[aria-selected=true]>.node-label{background-color:var(--ymt-selection-background)}:host-context([selectable])[aria-selected=true]>.node-label:hover{background-color:var(--ymt-selection-background)}:host{display:grid;grid-template-rows:auto auto;grid-template-columns:var(--toggle-icon-size) 1fr;grid-template-areas:\"toggle label\" \"child child\";align-items:center}:host .node-label{grid-area:label;display:flex;flex-flow:row nowrap;align-items:center}:host .node-label.selectable{cursor:pointer}:host .node-label:hover{background-color:var(--ymt-hover-background)}:host .node-label .label{padding:var(--node-padding);text-align:start;color:var(--ymt-text-color);background-color:transparent;-webkit-user-select:none;user-select:none;flex:1}:host .node-label .node-icon{color:var(--ymt-text-color-subtle)}:host .children{grid-area:child;padding-inline-start:var(--node-indent)}:host[aria-expanded=true] button.toggle{rotate:90deg}:host button.toggle{grid-area:toggle;border:0;padding:2px;border-radius:50%;justify-self:center;align-self:center}\n"], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "yuv-tree-node", inputs: ["node", "toggleIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: YuvIconComponent, selector: "yuv-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: MatTooltipModule }] }); }
|
|
143
143
|
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TreeNodeComponent, decorators: [{
|
|
145
145
|
type: Component,
|
|
146
146
|
args: [{ selector: 'yuv-tree-node', standalone: true, imports: [CommonModule, YuvIconComponent, MatTooltipModule], host: {
|
|
147
147
|
role: 'treeitem',
|
|
@@ -274,10 +274,10 @@ class TreeComponent {
|
|
|
274
274
|
ngOnDestroy() {
|
|
275
275
|
this._observer.disconnect();
|
|
276
276
|
}
|
|
277
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
278
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
277
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
278
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: TreeComponent, isStandalone: true, selector: "yuv-tree", inputs: { tree: { classPropertyName: "tree", publicName: "tree", isSignal: true, isRequired: true, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, selectedNodes: { classPropertyName: "selectedNodes", publicName: "selectedNodes", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectionChange: "selectionChange" }, host: { attributes: { "role": "tree" }, listeners: { "keydown": "onKeydown($event)" }, properties: { "class.selectable": "selectable", "attr.tabindex": "tabindex" }, classAttribute: "yuv-tree" }, providers: [TreeService], ngImport: i0, template: "@for (node of tree().nodes; track node.id) {\n <yuv-tree-node tabindex=\"0\" [node]=\"node\"></yuv-tree-node>\n}\n", styles: [":host{--toggle-icon-size: 18px;--node-padding: var(--ymt-spacing-xs);--node-indent: var(--toggle-icon-size)}\n"], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "yuv-tree-node", inputs: ["node", "toggleIcon"] }] }); }
|
|
279
279
|
}
|
|
280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TreeComponent, decorators: [{
|
|
281
281
|
type: Component,
|
|
282
282
|
args: [{ selector: 'yuv-tree', standalone: true, imports: [TreeNodeComponent], providers: [TreeService], host: {
|
|
283
283
|
class: 'yuv-tree',
|
|
@@ -38,10 +38,10 @@ class UploadProgressOverlayComponent {
|
|
|
38
38
|
return this.translate.instant('yuv.upload-progress-overlay.error.default');
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UploadProgressOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: UploadProgressOverlayComponent, isStandalone: true, selector: "yuv-upload-progress-overlay", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "<ul>\n @for (item of _items(); track item.id) {\n @let progress = item.progress | async;\n <li [ngClass]=\"{ err: !!item.err, done: !!item.result }\" [style.--progress]=\"progress + '%'\">\n <button mat-icon-button class=\"remove\" (click)=\"remove(item.id)\">\n <mat-icon [ngClass]=\"{ err: !!item.err }\">close</mat-icon>\n </button>\n\n @if (!item.result) {\n <div class=\"name\">{{ item.filename }}\n @if(item.err) {\n <span class=\"error\">{{item.err.message}}</span>\n }\n </div>\n <div class=\"progress\">\n @if (progress && progress < 100) {\n <div class=\"percentage\">{{ progress }}</div>\n }\n @else if(item.err) {\n <mat-icon class=\"error\">warning</mat-icon>\n }\n @else {\n <mat-progress-spinner mode=\"indeterminate\" class=\"ymt-progress-spinner--tiny\"></mat-progress-spinner>\n }\n </div>\n } @else {\n <div class=\"result-items\">\n @for (res of item.result; track $index) {\n <div class=\"result-item\">\n <div class=\"name\" (click)=\"itemClick.emit(res)\">\n {{ res.label }}\n </div>\n </div>\n }\n </div>\n <mat-icon class=\"done\">check</mat-icon>\n }\n </li>\n }\n</ul>\n", styles: [":host ul{list-style:none;padding:0;margin:var(--ymt-spacing-xs) 0}:host li{--hover-background: transparent;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto;cursor:default;grid-template-areas:\"result progress action\";align-items:center;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-2xs) var(--ymt-spacing-2xs) var(--ymt-spacing-xs);gap:.5em;margin-block-end:1px;background:linear-gradient(90deg,rgb(from var(--ymt-primary) r g b/.1) 0%,rgb(from var(--ymt-primary) r g b/.3) var(--progress),var(--hover-background) var(--progress));transition:background-color .3s ease-in-out}:host li.done{background:var(--hover-background)}:host li:hover{--hover-background: var(--ymt-hover-background)}:host li .name{grid-area:result;max-width:35ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host li .name .error{color:var(--ymt-text-color-subtle);display:block;font-style:italic;max-width:35ch}:host li .progress{grid-area:progress}:host li .percentage{font-family:monospace;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-m);font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);align-self:center}:host li .percentage:after{content:\"%\"}:host li mat-icon.done{--icon-size: 18px;fill:var(--ymt-primary)}:host li .remove{grid-area:action}:host li .remove mat-icon{color:var(--ymt-text-color-subtle)}:host .result-items{grid-area:result}:host .result-items .result-item{cursor:pointer}:host mat-icon{--icon-size: 18px;border-radius:4px}:host mat-icon.done{background-color:var(--ymt-primary);color:var(--ymt-on-primary)}:host mat-icon.error{color:var(--ymt-danger)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UploadProgressOverlayComponent, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
46
|
args: [{ selector: 'yuv-upload-progress-overlay', standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, MatProgressSpinner], template: "<ul>\n @for (item of _items(); track item.id) {\n @let progress = item.progress | async;\n <li [ngClass]=\"{ err: !!item.err, done: !!item.result }\" [style.--progress]=\"progress + '%'\">\n <button mat-icon-button class=\"remove\" (click)=\"remove(item.id)\">\n <mat-icon [ngClass]=\"{ err: !!item.err }\">close</mat-icon>\n </button>\n\n @if (!item.result) {\n <div class=\"name\">{{ item.filename }}\n @if(item.err) {\n <span class=\"error\">{{item.err.message}}</span>\n }\n </div>\n <div class=\"progress\">\n @if (progress && progress < 100) {\n <div class=\"percentage\">{{ progress }}</div>\n }\n @else if(item.err) {\n <mat-icon class=\"error\">warning</mat-icon>\n }\n @else {\n <mat-progress-spinner mode=\"indeterminate\" class=\"ymt-progress-spinner--tiny\"></mat-progress-spinner>\n }\n </div>\n } @else {\n <div class=\"result-items\">\n @for (res of item.result; track $index) {\n <div class=\"result-item\">\n <div class=\"name\" (click)=\"itemClick.emit(res)\">\n {{ res.label }}\n </div>\n </div>\n }\n </div>\n <mat-icon class=\"done\">check</mat-icon>\n }\n </li>\n }\n</ul>\n", styles: [":host ul{list-style:none;padding:0;margin:var(--ymt-spacing-xs) 0}:host li{--hover-background: transparent;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto;cursor:default;grid-template-areas:\"result progress action\";align-items:center;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-2xs) var(--ymt-spacing-2xs) var(--ymt-spacing-xs);gap:.5em;margin-block-end:1px;background:linear-gradient(90deg,rgb(from var(--ymt-primary) r g b/.1) 0%,rgb(from var(--ymt-primary) r g b/.3) var(--progress),var(--hover-background) var(--progress));transition:background-color .3s ease-in-out}:host li.done{background:var(--hover-background)}:host li:hover{--hover-background: var(--ymt-hover-background)}:host li .name{grid-area:result;max-width:35ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host li .name .error{color:var(--ymt-text-color-subtle);display:block;font-style:italic;max-width:35ch}:host li .progress{grid-area:progress}:host li .percentage{font-family:monospace;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-m);font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);align-self:center}:host li .percentage:after{content:\"%\"}:host li mat-icon.done{--icon-size: 18px;fill:var(--ymt-primary)}:host li .remove{grid-area:action}:host li .remove mat-icon{color:var(--ymt-text-color-subtle)}:host .result-items{grid-area:result}:host .result-items .result-item{cursor:pointer}:host mat-icon{--icon-size: 18px;border-radius:4px}:host mat-icon.done{background-color:var(--ymt-primary);color:var(--ymt-on-primary)}:host mat-icon.error{color:var(--ymt-danger)}\n"] }]
|
|
47
47
|
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }] } });
|
|
@@ -93,10 +93,10 @@ class UploadProgressComponent {
|
|
|
93
93
|
close() {
|
|
94
94
|
this.filteredItems().forEach((item) => this.#uploadService.cancelItem(item.id));
|
|
95
95
|
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UploadProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: UploadProgressComponent, isStandalone: true, selector: "yuv-upload-progress", inputs: { scopes: { classPropertyName: "scopes", publicName: "scopes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { resultItemClick: "resultItemClick" }, host: { properties: { "class.expanded": "expanded" } }, ngImport: i0, template: "@let items = filteredItems();\n@if (items.length) {\n @let completed = completedUp$ | async;\n\n <div class=\"upload-progress\">\n <header>\n <h4>\n @if (!completed) {\n {{ 'yuv.upload-progress.header.uploading' | translate: { count: items.length } }}\n } @else {\n {{ 'yuv.upload-progress.header.uploaded' | translate: { count: items.length } }}\n }\n </h4>\n <button mat-icon-button (click)=\"expanded = !expanded\">\n <mat-icon class=\"toggle\">keyboard_arrow_down</mat-icon>\n </button>\n <button mat-icon-button (click)=\"close()\">\n <mat-icon class=\"toggle\">clear</mat-icon>\n </button>\n </header>\n @if (expanded) {\n <yuv-upload-progress-overlay [items]=\"items\" (itemClick)=\"resultItemClick.emit($event)\" />\n }\n </div>\n}\n", styles: [":host{--upload-progress-background-header: var(--ymt-surface-panel);--upload-progress-background-main: var(--ymt-surface-panel);--upload-progress-border-color: var(--ymt-surface-panel);--upload-progress-outline: 4px solid rgb(from var(--ymt-outline-variant) r g b / .9);--upload-progress-border-radius: var(--ymt-spacing-2xs);position:absolute;inset-block-end:var(--ymt-spacing-m);inset-inline-end:var(--ymt-spacing-m);z-index:1000}:host .upload-progress{display:flex;flex-flow:column;background-color:var(--upload-progress-background-main);border:1px solid var(--upload-progress-border-color);border-radius:var(--upload-progress-border-radius);outline:var(--upload-progress-outline);min-width:250px;max-height:30vh;overflow:hidden;animation:appear .3s ease-in-out}:host .toggle{rotate:180deg}:host.expanded .toggle{rotate:0deg}:host header{display:flex;align-items:center;gap:var(--ymt-spacing-2xs);background-color:var(--upload-progress-background-header);padding:var(--ymt-spacing-2xs)}:host header h4{margin:0;padding:0 var(--ymt-spacing-xs);flex:1}:host yuv-upload-progress-overlay{overflow-y:auto}@keyframes appear{0%{opacity:0;transform:translateY(var(--ymt-spacing-m))}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: UploadProgressOverlayComponent, selector: "yuv-upload-progress-overlay", inputs: ["items"], outputs: ["itemClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
98
98
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UploadProgressComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
101
101
|
args: [{ selector: 'yuv-upload-progress', standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, TranslatePipe, UploadProgressOverlayComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
102
102
|
'[class.expanded]': 'expanded'
|
|
@@ -107,11 +107,11 @@ const cmp = [
|
|
|
107
107
|
UploadProgressComponent
|
|
108
108
|
];
|
|
109
109
|
class YuvUploadProgressModule {
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
111
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
112
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvUploadProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
111
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: YuvUploadProgressModule, imports: [UploadProgressComponent], exports: [UploadProgressComponent] }); }
|
|
112
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvUploadProgressModule, imports: [cmp] }); }
|
|
113
113
|
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvUploadProgressModule, decorators: [{
|
|
115
115
|
type: NgModule,
|
|
116
116
|
args: [{
|
|
117
117
|
imports: [cmp],
|
|
@@ -601,10 +601,10 @@ class HaloFocusService {
|
|
|
601
601
|
this.#stopTracking();
|
|
602
602
|
}
|
|
603
603
|
};
|
|
604
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
605
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
604
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HaloFocusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
605
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HaloFocusService, providedIn: 'root' }); }
|
|
606
606
|
}
|
|
607
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
607
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HaloFocusService, decorators: [{
|
|
608
608
|
type: Injectable,
|
|
609
609
|
args: [{
|
|
610
610
|
providedIn: 'root'
|
|
@@ -1033,10 +1033,10 @@ class HaloUtilityService {
|
|
|
1033
1033
|
haloElement.style.height = `${height}px`;
|
|
1034
1034
|
haloElement.style.borderRadius = cs.borderRadius || '8px';
|
|
1035
1035
|
}
|
|
1036
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1037
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1036
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HaloUtilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1037
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HaloUtilityService }); }
|
|
1038
1038
|
}
|
|
1039
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1039
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HaloUtilityService, decorators: [{
|
|
1040
1040
|
type: Injectable
|
|
1041
1041
|
}] });
|
|
1042
1042
|
|
|
@@ -1146,10 +1146,10 @@ class PwaUpdateService {
|
|
|
1146
1146
|
.catch(() => false)
|
|
1147
1147
|
.finally(() => document.location.reload());
|
|
1148
1148
|
}
|
|
1149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1150
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PwaUpdateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1150
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PwaUpdateService, providedIn: 'root' }); }
|
|
1151
1151
|
}
|
|
1152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PwaUpdateService, decorators: [{
|
|
1153
1153
|
type: Injectable,
|
|
1154
1154
|
args: [{ providedIn: 'root' }]
|
|
1155
1155
|
}] });
|
|
@@ -1191,10 +1191,10 @@ class SessionExpiryDialogComponent {
|
|
|
1191
1191
|
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
1192
1192
|
return Math.max(0, Math.ceil((this.#data.expiresAt - Date.now()) / 1000));
|
|
1193
1193
|
}
|
|
1194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1195
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SessionExpiryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1195
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.20", type: SessionExpiryDialogComponent, isStandalone: true, selector: "yuv-session-expiry-dialog", ngImport: i0, template: "<yuv-dialog [headertitle]=\"'yuv.session.expires.title' | translate\">\n <main>{{ 'yuv.session.expires.message' | translate: { seconds: remainingSeconds() } }}</main>\n <footer>\n <button ymtButton=\"primary\" type=\"button\" (click)=\"extend()\">\n {{ 'yuv.session.extend.action' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: ["main{padding:var(--ymt-spacing-m)}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1196
1196
|
}
|
|
1197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SessionExpiryDialogComponent, decorators: [{
|
|
1198
1198
|
type: Component,
|
|
1199
1199
|
args: [{ selector: 'yuv-session-expiry-dialog', imports: [DialogComponent, YmtButtonDirective, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<yuv-dialog [headertitle]=\"'yuv.session.expires.title' | translate\">\n <main>{{ 'yuv.session.expires.message' | translate: { seconds: remainingSeconds() } }}</main>\n <footer>\n <button ymtButton=\"primary\" type=\"button\" (click)=\"extend()\">\n {{ 'yuv.session.extend.action' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: ["main{padding:var(--ymt-spacing-m)}\n"] }]
|
|
1200
1200
|
}], ctorParameters: () => [] });
|
|
@@ -1524,10 +1524,10 @@ class SessionService {
|
|
|
1524
1524
|
this.#activityWindowEnd$?.unsubscribe();
|
|
1525
1525
|
this.#logoutTimer$?.unsubscribe();
|
|
1526
1526
|
}
|
|
1527
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1528
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1527
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1528
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SessionService, providedIn: 'root' }); }
|
|
1529
1529
|
}
|
|
1530
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SessionService, decorators: [{
|
|
1531
1531
|
type: Injectable,
|
|
1532
1532
|
args: [{ providedIn: 'root' }]
|
|
1533
1533
|
}] });
|
|
@@ -1581,10 +1581,10 @@ class SnackBarService {
|
|
|
1581
1581
|
panelClass: ['yuv-snack-bar', 'level-' + options.level]
|
|
1582
1582
|
});
|
|
1583
1583
|
}
|
|
1584
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1585
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1584
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnackBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1585
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnackBarService, providedIn: 'root' }); }
|
|
1586
1586
|
}
|
|
1587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1587
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnackBarService, decorators: [{
|
|
1588
1588
|
type: Injectable,
|
|
1589
1589
|
args: [{
|
|
1590
1590
|
providedIn: 'root'
|
|
@@ -1610,8 +1610,8 @@ class SnackBarComponent {
|
|
|
1610
1610
|
this.#snackBarRef.dismiss();
|
|
1611
1611
|
}
|
|
1612
1612
|
}
|
|
1613
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1614
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
1613
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnackBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1614
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: SnackBarComponent, isStandalone: true, selector: "yuv-snack-bar-component", host: { properties: { "class.info": "level() === 'info'", "class.success": "level() === 'success'", "class.warning": "level() === 'warning'", "class.danger": "level() === 'danger'" } }, ngImport: i0, template: `
|
|
1615
1615
|
@let a = action();
|
|
1616
1616
|
<span
|
|
1617
1617
|
matSnackBarLabel
|
|
@@ -1630,7 +1630,7 @@ class SnackBarComponent {
|
|
|
1630
1630
|
}
|
|
1631
1631
|
`, isInline: true, styles: [":host{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: MatSnackBarAction, selector: "[matSnackBarAction]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1632
1632
|
}
|
|
1633
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1633
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnackBarComponent, decorators: [{
|
|
1634
1634
|
type: Component,
|
|
1635
1635
|
args: [{ selector: 'yuv-snack-bar-component', template: `
|
|
1636
1636
|
@let a = action();
|
|
@@ -1830,11 +1830,11 @@ function provideSession(sessionDuration) {
|
|
|
1830
1830
|
}
|
|
1831
1831
|
|
|
1832
1832
|
class YuuvisClientFrameworkModule {
|
|
1833
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1834
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
1835
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
1833
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuuvisClientFrameworkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1834
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: YuuvisClientFrameworkModule, imports: [CommonModule] }); }
|
|
1835
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuuvisClientFrameworkModule, imports: [CommonModule] }); }
|
|
1836
1836
|
}
|
|
1837
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1837
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuuvisClientFrameworkModule, decorators: [{
|
|
1838
1838
|
type: NgModule,
|
|
1839
1839
|
args: [{
|
|
1840
1840
|
imports: [CommonModule],
|
package/lib/assets/i18n/de.json
CHANGED
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"yuv.form.element.datetime.calendar.today": "Heute",
|
|
54
54
|
"yuv.form.element.organization-set.classify.icon.title": "Gruppe",
|
|
55
55
|
"yuv.form.element.organization.classify.icon.title": "Benutzer",
|
|
56
|
+
"yuv.form.element.organization.freetext.tooltip": "Freitext – kein aufgelöster Benutzer bzw. keine Gruppe",
|
|
56
57
|
"yuv.form.element.reference.classify.icon.title": "Referenz",
|
|
57
58
|
"yuv.form.element.reference.open.title": "Referenziertes Objekt öffnen",
|
|
58
59
|
"yuv.form.element.range-select-date.custom.overlay.button.apply": "Anwenden",
|
|
@@ -137,12 +138,12 @@
|
|
|
137
138
|
"yuv.object-versions.tabs.indexdata.title": "Metadaten",
|
|
138
139
|
"yuv.audit.label.create.metadata": "Objekt wurde erstellt",
|
|
139
140
|
"yuv.audit.label.create.metadata.withcontent": "Objekt wurde mit Dokumentdatei erstellt",
|
|
140
|
-
"yuv.audit.label.create.relationship": "
|
|
141
|
+
"yuv.audit.label.create.relationship": "Verknüpfung wurde erstellt",
|
|
141
142
|
"yuv.audit.label.create.tag": "Tag wurde erstellt",
|
|
142
143
|
"yuv.audit.label.delete": "Objekt wurde gelöscht",
|
|
143
144
|
"yuv.audit.label.delete.content": "Dokumentdatei wurde gelöscht",
|
|
144
145
|
"yuv.audit.label.delete.marked": "Objekt wurde zur Löschung vorgesehen",
|
|
145
|
-
"yuv.audit.label.delete.relationship": "
|
|
146
|
+
"yuv.audit.label.delete.relationship": "Verknüpfung wurde gelöscht",
|
|
146
147
|
"yuv.audit.label.delete.tag": "Tag wurde gelöscht",
|
|
147
148
|
"yuv.audit.label.delete.version": "Dokumentversion wurde gelöscht",
|
|
148
149
|
"yuv.audit.label.get.content": "Dokumentdatei wurde gelesen",
|
|
@@ -156,7 +157,7 @@
|
|
|
156
157
|
"yuv.audit.label.update.metadata.withcontent": "Metadaten und Dokumentdatei wurden geändert",
|
|
157
158
|
"yuv.audit.label.update.move": "Objekt wurde verschoben",
|
|
158
159
|
"yuv.audit.label.update.move.content": "Dokumentdatei wurde verschoben",
|
|
159
|
-
"yuv.audit.label.update.relationship": "
|
|
160
|
+
"yuv.audit.label.update.relationship": "Verknüpfung wurde geändert",
|
|
160
161
|
"yuv.audit.label.update.restore": "Alte Version wurde wiederhergestellt",
|
|
161
162
|
"yuv.audit.label.update.restore.more": "Wiederhergestellt aus Version {{version}}",
|
|
162
163
|
"yuv.audit.label.update.tag": "Tag wurde geändert",
|
|
@@ -171,18 +172,14 @@
|
|
|
171
172
|
"yuv.smart-search.add-type": "Suchen…",
|
|
172
173
|
"yuv.smart-search.cancel": "Abbrechen",
|
|
173
174
|
"yuv.smart-search.combinator.and": "UND",
|
|
174
|
-
"yuv.smart-search.combinator.or": "ODER",
|
|
175
175
|
"yuv.smart-search.combinator.as-well-as": "sowie",
|
|
176
|
+
"yuv.smart-search.combinator.or": "ODER",
|
|
176
177
|
"yuv.smart-search.condition.edit-aria": "Bedingung bearbeiten: {{label}}",
|
|
177
178
|
"yuv.smart-search.condition.mark-dynamic": "Als auszufüllendes Feld festlegen",
|
|
178
179
|
"yuv.smart-search.condition.remove": "Bedingung entfernen",
|
|
179
180
|
"yuv.smart-search.condition.unmark-dynamic": "Aus auszufüllenden Feldern entfernen",
|
|
180
181
|
"yuv.smart-search.condition.unset-value": "Kein Wert gesetzt",
|
|
181
182
|
"yuv.smart-search.confirm": "Bestätigen",
|
|
182
|
-
"yuv.smart-search.mode.empty": "Keine auszufüllenden Felder. Markieren Sie Bedingungen mit dem Blitz-Symbol, um sie hier hinzuzufügen.",
|
|
183
|
-
"yuv.smart-search.mode.essentials": "Kompakt",
|
|
184
|
-
"yuv.smart-search.mode.full": "Vollständige Suche",
|
|
185
|
-
"yuv.smart-search.mode.label": "Suchmodus",
|
|
186
183
|
"yuv.smart-search.date-preset.this-month": "Dieser Monat",
|
|
187
184
|
"yuv.smart-search.date-preset.this-week": "Diese Woche",
|
|
188
185
|
"yuv.smart-search.date-preset.this-year": "Dieses Jahr",
|
|
@@ -196,6 +193,10 @@
|
|
|
196
193
|
"yuv.smart-search.fulltext.scope.metadata": "Nur Metadaten",
|
|
197
194
|
"yuv.smart-search.fulltext.types.all": "Alle Typen",
|
|
198
195
|
"yuv.smart-search.fulltext.types.label": "Auf Typen einschränken",
|
|
196
|
+
"yuv.smart-search.mode.empty": "Keine auszufüllenden Felder. Markieren Sie Bedingungen mit dem Blitz-Symbol, um sie hier hinzuzufügen.",
|
|
197
|
+
"yuv.smart-search.mode.essentials": "Kompakt",
|
|
198
|
+
"yuv.smart-search.mode.full": "Vollständige Suche",
|
|
199
|
+
"yuv.smart-search.mode.label": "Suchmodus",
|
|
199
200
|
"yuv.smart-search.operator.change": "Operator ändern",
|
|
200
201
|
"yuv.smart-search.operator.empty": "ist leer",
|
|
201
202
|
"yuv.smart-search.operator.eq-false": "= falsch",
|
|
@@ -213,6 +214,7 @@
|
|
|
213
214
|
"yuv.sort.tooltip": "Sortieren",
|
|
214
215
|
"yuv.action.empty.selection": "",
|
|
215
216
|
"yuv.tile-config.button.close": "Schließen",
|
|
217
|
+
"yuv.tile-config.error.title-required": "Ein Titel-Attribut ist erforderlich. Wählen Sie ein Attribut für den Titel aus.",
|
|
216
218
|
"yuv.tile-config.button.reset": "Zurücksetzen",
|
|
217
219
|
"yuv.tile-config.button.save": "Änderungen speichern",
|
|
218
220
|
"yuv.tile-config.icon-select.pick": "Icon auswählen",
|
package/lib/assets/i18n/en.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"yuv.clipboard.text.cut.multiple": "{{count}} elements cut out",
|
|
39
39
|
"yuv.clipboard.text.cut.single": "1 element cut out",
|
|
40
40
|
"yuv.calendar.time.label": "Time",
|
|
41
|
+
"yuv.form.element.catalog.option.none": "No selection",
|
|
41
42
|
"yuv.form.element.data.grid.add-row.button.tooltip": "Add row",
|
|
42
43
|
"yuv.form.element.data.grid.add.headline": "Add new row",
|
|
43
44
|
"yuv.form.element.data.grid.edit": "Edit",
|
|
@@ -49,10 +50,10 @@
|
|
|
49
50
|
"yuv.form.element.data.grid.row.button.actions.tooltip": "Open actions menu",
|
|
50
51
|
"yuv.form.element.datetime.calendar.cancel": "Cancel",
|
|
51
52
|
"yuv.form.element.datetime.calendar.select": "Select",
|
|
52
|
-
"yuv.form.element.catalog.option.none": "No selection",
|
|
53
53
|
"yuv.form.element.datetime.calendar.today": "Today",
|
|
54
54
|
"yuv.form.element.organization-set.classify.icon.title": "Group",
|
|
55
55
|
"yuv.form.element.organization.classify.icon.title": "User",
|
|
56
|
+
"yuv.form.element.organization.freetext.tooltip": "Free text – not a resolved user or group",
|
|
56
57
|
"yuv.form.element.reference.classify.icon.title": "Reference",
|
|
57
58
|
"yuv.form.element.reference.open.title": "Open referenced object",
|
|
58
59
|
"yuv.form.element.range-select-date.custom.overlay.button.apply": "Apply",
|
|
@@ -142,7 +143,7 @@
|
|
|
142
143
|
"yuv.audit.label.delete": "Object was deleted",
|
|
143
144
|
"yuv.audit.label.delete.content": "Document file was deleted",
|
|
144
145
|
"yuv.audit.label.delete.marked": "Object was marked for deletion",
|
|
145
|
-
"yuv.audit.label.delete.relationship": "
|
|
146
|
+
"yuv.audit.label.delete.relationship": "Link was deleted",
|
|
146
147
|
"yuv.audit.label.delete.tag": "Tag was deleted",
|
|
147
148
|
"yuv.audit.label.delete.version": "Document version was deleted",
|
|
148
149
|
"yuv.audit.label.get.content": "Document file was read",
|
|
@@ -156,7 +157,7 @@
|
|
|
156
157
|
"yuv.audit.label.update.metadata.withcontent": "Metadata and document file were changed",
|
|
157
158
|
"yuv.audit.label.update.move": "Object was moved",
|
|
158
159
|
"yuv.audit.label.update.move.content": "Document file was moved",
|
|
159
|
-
"yuv.audit.label.update.relationship": "
|
|
160
|
+
"yuv.audit.label.update.relationship": "Link was changed",
|
|
160
161
|
"yuv.audit.label.update.restore": "An old version was restored",
|
|
161
162
|
"yuv.audit.label.update.restore.more": "Restored from version {{version}}",
|
|
162
163
|
"yuv.audit.label.update.tag": "Tag was changed",
|
|
@@ -171,18 +172,14 @@
|
|
|
171
172
|
"yuv.smart-search.add-type": "Search...",
|
|
172
173
|
"yuv.smart-search.cancel": "Cancel",
|
|
173
174
|
"yuv.smart-search.combinator.and": "AND",
|
|
174
|
-
"yuv.smart-search.combinator.or": "OR",
|
|
175
175
|
"yuv.smart-search.combinator.as-well-as": "as well as",
|
|
176
|
+
"yuv.smart-search.combinator.or": "OR",
|
|
176
177
|
"yuv.smart-search.condition.edit-aria": "Edit condition: {{label}}",
|
|
177
178
|
"yuv.smart-search.condition.mark-dynamic": "Make this an input field",
|
|
178
179
|
"yuv.smart-search.condition.remove": "Remove condition",
|
|
179
180
|
"yuv.smart-search.condition.unmark-dynamic": "Remove from input fields",
|
|
180
181
|
"yuv.smart-search.condition.unset-value": "Value not set",
|
|
181
182
|
"yuv.smart-search.confirm": "Confirm",
|
|
182
|
-
"yuv.smart-search.mode.empty": "No input fields available. Mark conditions with the lightning icon to add them here.",
|
|
183
|
-
"yuv.smart-search.mode.essentials": "Essentials",
|
|
184
|
-
"yuv.smart-search.mode.full": "Full search",
|
|
185
|
-
"yuv.smart-search.mode.label": "Search mode",
|
|
186
183
|
"yuv.smart-search.date-preset.this-month": "This month",
|
|
187
184
|
"yuv.smart-search.date-preset.this-week": "This week",
|
|
188
185
|
"yuv.smart-search.date-preset.this-year": "This year",
|
|
@@ -196,6 +193,10 @@
|
|
|
196
193
|
"yuv.smart-search.fulltext.scope.metadata": "Metadata only",
|
|
197
194
|
"yuv.smart-search.fulltext.types.all": "All types",
|
|
198
195
|
"yuv.smart-search.fulltext.types.label": "Limit to types",
|
|
196
|
+
"yuv.smart-search.mode.empty": "No input fields available. Mark conditions with the lightning icon to add them here.",
|
|
197
|
+
"yuv.smart-search.mode.essentials": "Essentials",
|
|
198
|
+
"yuv.smart-search.mode.full": "Full search",
|
|
199
|
+
"yuv.smart-search.mode.label": "Search mode",
|
|
199
200
|
"yuv.smart-search.operator.change": "Modify operator",
|
|
200
201
|
"yuv.smart-search.operator.empty": "is empty",
|
|
201
202
|
"yuv.smart-search.operator.eq-false": "= false",
|
|
@@ -213,6 +214,7 @@
|
|
|
213
214
|
"yuv.sort.tooltip": "Sort",
|
|
214
215
|
"yuv.action.empty.selection": "",
|
|
215
216
|
"yuv.tile-config.button.close": "Close",
|
|
217
|
+
"yuv.tile-config.error.title-required": "A title attribute is required. Select an attribute for the title slot.",
|
|
216
218
|
"yuv.tile-config.button.reset": "Reset",
|
|
217
219
|
"yuv.tile-config.button.save": "Save changes",
|
|
218
220
|
"yuv.tile-config.icon-select.pick": "Select icon",
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yuuvis/client-framework",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.17.0",
|
|
4
4
|
"author": "OPTIMAL SYSTEMS GmbH <npm@optimal-systems.de>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"peerDependencies": {
|
|
7
|
-
"@angular/cdk": "^21.2.
|
|
8
|
-
"@angular/common": "^21.2.
|
|
9
|
-
"@angular/core": "^21.2.
|
|
7
|
+
"@angular/cdk": "^21.2.14",
|
|
8
|
+
"@angular/common": "^21.2.19",
|
|
9
|
+
"@angular/core": "^21.2.19",
|
|
10
10
|
"angular-gridster2": "^21.0.1",
|
|
11
|
-
"@yuuvis/client-core": "^3.
|
|
12
|
-
"@yuuvis/client-shell-core": "^3.
|
|
13
|
-
"@yuuvis/client-components": "^3.
|
|
11
|
+
"@yuuvis/client-core": "^3.17.0",
|
|
12
|
+
"@yuuvis/client-shell-core": "^3.17.0",
|
|
13
|
+
"@yuuvis/client-components": "^3.17.0",
|
|
14
14
|
"ng-dynamic-component": "^10.8.2",
|
|
15
15
|
"modern-normalize": "^3.0.1"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@angular/material": "^21.2.
|
|
18
|
+
"@angular/material": "^21.2.14",
|
|
19
19
|
"@ngrx/signals": "^21.1.0",
|
|
20
|
-
"@yuuvis/material": "^3.
|
|
21
|
-
"@yuuvis/media-viewer": "^
|
|
20
|
+
"@yuuvis/material": "^3.17.0",
|
|
21
|
+
"@yuuvis/media-viewer": "^4.0.0",
|
|
22
22
|
"angular-split": "^20.0.0",
|
|
23
23
|
"vis-network": "^10.0.2",
|
|
24
24
|
"tslib": "^2.3.0"
|
|
@@ -38,6 +38,13 @@ declare class BadgeChipComponent {
|
|
|
38
38
|
badge: _angular_core.InputSignal<Badge>;
|
|
39
39
|
showLabel: _angular_core.InputSignal<boolean>;
|
|
40
40
|
readonly tooltip: _angular_core.Signal<string>;
|
|
41
|
+
/**
|
|
42
|
+
* Accessible name for the icon-only variant. Without a label the chip renders nothing
|
|
43
|
+
* but an inert icon, so assistive technology has no name to announce — the tooltip is
|
|
44
|
+
* a description, not a name, and it is mouse-only anyway. When the label is visible it
|
|
45
|
+
* already names the chip, so no override is set.
|
|
46
|
+
*/
|
|
47
|
+
readonly ariaLabel: _angular_core.Signal<string | null>;
|
|
41
48
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeChipComponent, never>;
|
|
42
49
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeChipComponent, "yuv-badge-chip", never, { "badge": { "alias": "badge"; "required": true; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
43
50
|
}
|