@yuuvis/client-framework 3.14.1 → 3.15.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-badges.mjs +4 -1
- package/fesm2022/yuuvis-client-framework-badges.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-forms.mjs +18 -16
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs +2 -2
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs +10 -10
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-versions.mjs +2 -2
- package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-renderer.mjs +48 -2
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +14 -6
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework.mjs +83 -11
- package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
- package/lib/assets/i18n/en.json +1 -1
- package/package.json +5 -5
- 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.d.ts +12 -2
|
@@ -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 };
|
|
@@ -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
|
*
|