@yuuvis/client-framework 3.14.1 → 3.16.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 +19 -19
- package/fesm2022/yuuvis-client-framework-app-bar.mjs +3 -3
- package/fesm2022/yuuvis-client-framework-badges.mjs +16 -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 +70 -68
- 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.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 +35 -35
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-preview.mjs +9 -9
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs +38 -38
- 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 +8 -8
- package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
- 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 +99 -53
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +16 -8
- 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 +77 -35
- 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 +108 -36
- package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
- package/lib/assets/i18n/de.json +4 -3
- package/lib/assets/i18n/en.json +4 -3
- package/package.json +10 -10
- package/types/yuuvis-client-framework-forms.d.ts +3 -1
- package/types/yuuvis-client-framework-renderer.d.ts +18 -2
- package/types/yuuvis-client-framework-sequence-list.d.ts +9 -1
- package/types/yuuvis-client-framework-tile-list.d.ts +1 -0
- package/types/yuuvis-client-framework.d.ts +12 -2
package/lib/assets/i18n/en.json
CHANGED
|
@@ -137,12 +137,12 @@
|
|
|
137
137
|
"yuv.object-versions.tabs.indexdata.title": "Metadata",
|
|
138
138
|
"yuv.audit.label.create.metadata": "Object was created",
|
|
139
139
|
"yuv.audit.label.create.metadata.withcontent": "Object was created with document file",
|
|
140
|
-
"yuv.audit.label.create.relationship": "
|
|
140
|
+
"yuv.audit.label.create.relationship": "Link was created",
|
|
141
141
|
"yuv.audit.label.create.tag": "Tag was created",
|
|
142
142
|
"yuv.audit.label.delete": "Object was deleted",
|
|
143
143
|
"yuv.audit.label.delete.content": "Document file was deleted",
|
|
144
144
|
"yuv.audit.label.delete.marked": "Object was marked for deletion",
|
|
145
|
-
"yuv.audit.label.delete.relationship": "
|
|
145
|
+
"yuv.audit.label.delete.relationship": "Link was deleted",
|
|
146
146
|
"yuv.audit.label.delete.tag": "Tag was deleted",
|
|
147
147
|
"yuv.audit.label.delete.version": "Document version was deleted",
|
|
148
148
|
"yuv.audit.label.get.content": "Document file was read",
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
"yuv.audit.label.update.metadata.withcontent": "Metadata and document file were changed",
|
|
157
157
|
"yuv.audit.label.update.move": "Object was moved",
|
|
158
158
|
"yuv.audit.label.update.move.content": "Document file was moved",
|
|
159
|
-
"yuv.audit.label.update.relationship": "
|
|
159
|
+
"yuv.audit.label.update.relationship": "Link was changed",
|
|
160
160
|
"yuv.audit.label.update.restore": "An old version was restored",
|
|
161
161
|
"yuv.audit.label.update.restore.more": "Restored from version {{version}}",
|
|
162
162
|
"yuv.audit.label.update.tag": "Tag was changed",
|
|
@@ -223,6 +223,7 @@
|
|
|
223
223
|
"yuv.tile-config.slot.property.headline": "Attributes",
|
|
224
224
|
"yuv.tile-config.title": "Hit list configuration for {{bucket}}",
|
|
225
225
|
"yuv.tile-config.trigger.tooltip": "Hit list configuration",
|
|
226
|
+
"yuv.tile-config.warning.empty": "An empty tile configuration cannot be saved. The default configuration will be used instead.",
|
|
226
227
|
"yuv.tile-list.item.actions-menu.button.tooltip": "Open actions menu",
|
|
227
228
|
"yuv.upload-progress-overlay.error.403": "You do not have the required permissions to upload the file.",
|
|
228
229
|
"yuv.upload-progress-overlay.error.default": "Unable to upload the file.",
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yuuvis/client-framework",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.16.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.16.0",
|
|
12
|
+
"@yuuvis/client-shell-core": "^3.16.0",
|
|
13
|
+
"@yuuvis/client-components": "^3.16.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.16.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"
|
|
@@ -388,7 +388,9 @@ declare class NumberComponent extends AbstractMatFormField<number> implements Co
|
|
|
388
388
|
declare class OrganizationSetComponent extends AbstractMatFormField<string | string[] | undefined> implements ControlValueAccessor, OnDestroy, OnInit {
|
|
389
389
|
#private;
|
|
390
390
|
/**
|
|
391
|
-
* Possibles values are `EDIT` (default),`SEARCH`,`CREATE`.
|
|
391
|
+
* Possibles values are `EDIT` (default),`SEARCH`,`CREATE`.
|
|
392
|
+
* In search situation validation of the form element will be turned off,
|
|
393
|
+
* so you are able to enter search terms that do not meet the elements validators.
|
|
392
394
|
*/
|
|
393
395
|
situation: _angular_core.InputSignal<string | undefined>;
|
|
394
396
|
/**
|
|
@@ -97,6 +97,22 @@ declare class FileSizeRendererComponent extends AbstractRendererComponent {
|
|
|
97
97
|
static ɵcmp: i0.ɵɵComponentDeclaration<FileSizeRendererComponent, "yuv-string-renderer", never, {}, {}, never, never, true, never>;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Renders the value(s) of an i18n catalog field (classification `i18n:catalog[one, two, three]`).
|
|
102
|
+
*
|
|
103
|
+
* Catalog fields store the technical value, so the label has to be resolved from the
|
|
104
|
+
* localizations. This uses the same label keys as the `yuv-i18n-catalog` form element:
|
|
105
|
+
* for property name `status` and value `open` the key is `catalog:status:open_label`.
|
|
106
|
+
* Values without a matching localization fall back to the technical value.
|
|
107
|
+
*/
|
|
108
|
+
declare class I18nCatalogRendererComponent extends AbstractRendererComponent<string | string[]> {
|
|
109
|
+
#private;
|
|
110
|
+
readonly label: i0.Signal<string>;
|
|
111
|
+
constructor();
|
|
112
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<I18nCatalogRendererComponent, never>;
|
|
113
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<I18nCatalogRendererComponent, "yuv-i18n-catalog-renderer", never, {}, {}, never, never, true, never>;
|
|
114
|
+
}
|
|
115
|
+
|
|
100
116
|
declare class IconRendererComponent extends AbstractRendererComponent {
|
|
101
117
|
#private;
|
|
102
118
|
protected readonly customId: `${string}-${string}-${string}-${string}-${string}`;
|
|
@@ -146,7 +162,7 @@ declare class UnknownRendererComponent extends AbstractRendererComponent<any> {
|
|
|
146
162
|
static ɵcmp: i0.ɵɵComponentDeclaration<UnknownRendererComponent, "yuv-unknown-renderer", never, {}, {}, never, never, true, never>;
|
|
147
163
|
}
|
|
148
164
|
|
|
149
|
-
type RendererComponent = IntegerRendererComponent | DecimalRendererComponent | DateTimeRendererComponent | IconRendererComponent | StringRendererComponent | BooleanRendererComponent | TableRendererComponent;
|
|
165
|
+
type RendererComponent = IntegerRendererComponent | DecimalRendererComponent | DateTimeRendererComponent | IconRendererComponent | StringRendererComponent | BooleanRendererComponent | TableRendererComponent | I18nCatalogRendererComponent;
|
|
150
166
|
type RendererDirectiveInput = ResolvedObjectConfigItem;
|
|
151
167
|
|
|
152
168
|
/**
|
|
@@ -191,5 +207,5 @@ declare class RendererDirective {
|
|
|
191
207
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RendererDirective, "[yuvRenderer]", never, { "yuvRenderer": { "alias": "yuvRenderer"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
192
208
|
}
|
|
193
209
|
|
|
194
|
-
export { AbstractAuditRendererComponent, AbstractRendererComponent, AuditRendererDirective, AuditRendererService, BooleanRendererComponent, DateTimeRendererComponent, DecimalRendererComponent, DefaultAuditRendererComponent, FileSizeRendererComponent, IconRendererComponent, IntegerRendererComponent, OrganizationRendererComponent, RendererDirective, RendererService, StringRendererComponent, TableRendererComponent, UnknownRendererComponent };
|
|
210
|
+
export { AbstractAuditRendererComponent, AbstractRendererComponent, AuditRendererDirective, AuditRendererService, BooleanRendererComponent, DateTimeRendererComponent, DecimalRendererComponent, DefaultAuditRendererComponent, FileSizeRendererComponent, I18nCatalogRendererComponent, IconRendererComponent, IntegerRendererComponent, OrganizationRendererComponent, RendererDirective, RendererService, StringRendererComponent, TableRendererComponent, UnknownRendererComponent };
|
|
195
211
|
export type { RendererComponent, RendererDirectiveInput };
|
|
@@ -38,6 +38,14 @@ declare class SequenceListComponent implements ControlValueAccessor, Validator {
|
|
|
38
38
|
* Maximum number of sequence items (defaults to 100).
|
|
39
39
|
*/
|
|
40
40
|
maxLength: _angular_core.InputSignal<number>;
|
|
41
|
+
/**
|
|
42
|
+
* Minimum number of sequence items that must remain (defaults to 1, matching
|
|
43
|
+
* the original behaviour where a list can never be emptied). Consumers that
|
|
44
|
+
* represent a tail of optional follow-up items (e.g. the remaining steps of
|
|
45
|
+
* an already-started routing list) can set this to 0 to allow removing the
|
|
46
|
+
* last remaining item.
|
|
47
|
+
*/
|
|
48
|
+
minLength: _angular_core.InputSignal<number>;
|
|
41
49
|
maxLengthExceeded: _angular_core.WritableSignal<boolean>;
|
|
42
50
|
readonly controlCount: _angular_core.WritableSignal<number>;
|
|
43
51
|
sequenceForm: SequenceForm;
|
|
@@ -53,7 +61,7 @@ declare class SequenceListComponent implements ControlValueAccessor, Validator {
|
|
|
53
61
|
propagateChange: (_: any) => void;
|
|
54
62
|
registerOnTouched(): void;
|
|
55
63
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SequenceListComponent, never>;
|
|
56
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SequenceListComponent, "yuv-sequence-list", never, { "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
64
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SequenceListComponent, "yuv-sequence-list", never, { "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
57
65
|
}
|
|
58
66
|
|
|
59
67
|
export { SequenceListComponent };
|
|
@@ -771,6 +771,7 @@ declare class TileConfigComponent {
|
|
|
771
771
|
*/
|
|
772
772
|
excludeProperties: _angular_core.InputSignal<string[]>;
|
|
773
773
|
get configChanged(): boolean;
|
|
774
|
+
get isConfigEmpty(): boolean;
|
|
774
775
|
types: Signal<InnerType[]>;
|
|
775
776
|
save: _angular_core.OutputEmitterRef<void>;
|
|
776
777
|
canceled: _angular_core.OutputEmitterRef<void>;
|
|
@@ -92,13 +92,21 @@ declare const defaultHaloFocusOffset = 3;
|
|
|
92
92
|
* **Style Properties:**
|
|
93
93
|
* - `position: 'fixed'` - Keeps halo in viewport regardless of scroll position
|
|
94
94
|
* - `pointerEvents: 'none'` - Allows click-through; halo doesn't block interactions
|
|
95
|
-
* - `zIndex: '9999'` -
|
|
95
|
+
* - `zIndex: '9999'` - Stacking fallback for browsers without the Popover API. The halo normally
|
|
96
|
+
* joins the browser's top layer instead (see {@link HaloFocusService}), where z-index does not
|
|
97
|
+
* apply, because Angular CDK renders overlays there as well.
|
|
96
98
|
* - `border` - Primary border using CSS variable `--ymt-primary` (2px solid)
|
|
97
99
|
* - `boxShadow` - Soft shadow with 20% opacity for subtle depth effect
|
|
98
100
|
* - `borderRadius` - Default 8px rounded corners for modern appearance
|
|
99
101
|
* - `opacity: '0'` - Initially hidden; visibility controlled by service
|
|
100
102
|
* - `transform: 'translateZ(0)'` - Creates GPU layer for smoother animations
|
|
101
103
|
*
|
|
104
|
+
* **Popover user-agent resets:**
|
|
105
|
+
* Once the halo carries `popover="manual"` the UA stylesheet applies
|
|
106
|
+
* `inset: 0; margin: auto; padding: 0.25em; overflow: auto; background-color: Canvas` to it. Those
|
|
107
|
+
* defaults would re-center the halo and paint it as an opaque filled box over the content, so they
|
|
108
|
+
* are neutralised here. This mirrors the resets the CDK applies to its own `.cdk-overlay-popover`.
|
|
109
|
+
*
|
|
102
110
|
* **CSS Variable Dependencies:**
|
|
103
111
|
* - `--ymt-primary` - Primary theme color for border and shadow
|
|
104
112
|
*
|
|
@@ -528,6 +536,7 @@ declare function provideSession(sessionDuration?: number): EnvironmentProviders;
|
|
|
528
536
|
* - Automatic visibility detection (handles clipping, hidden elements, etc.)
|
|
529
537
|
* - Responsive to dynamic DOM changes via ResizeObserver and MutationObserver
|
|
530
538
|
* - Smart exclusion for Angular Material form fields (prevents redundant styling)
|
|
539
|
+
* - Renders in the browser's top layer, so it stays visible inside CDK overlays
|
|
531
540
|
*
|
|
532
541
|
* **Usage:**
|
|
533
542
|
* 1. Add `provideHaloFocus()` to your providers array in app.config.ts
|
|
@@ -582,7 +591,8 @@ declare class HaloFocusService {
|
|
|
582
591
|
*
|
|
583
592
|
* This method performs the following initialization steps:
|
|
584
593
|
* 1. Applies optional configuration for halo appearance (inner and outer colors)
|
|
585
|
-
* 2. Creates and appends the halo DIV element to the document body
|
|
594
|
+
* 2. Creates and appends the halo DIV element to the document body, as a `popover` so it can
|
|
595
|
+
* join the browser's top layer, and marks the body with `yuv-halo-focus`
|
|
586
596
|
* 3. Attaches global event listeners for focus, blur, keyboard, mouse, scroll, and resize events
|
|
587
597
|
* 4. Sets up ResizeObserver and MutationObserver for tracking dynamic DOM changes
|
|
588
598
|
*
|