@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.
@@ -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'` - Ensures halo appears above most other elements
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
  *