@eqproject/eqp-dynamic-module 2.11.5 → 2.11.7

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.
Files changed (37) hide show
  1. package/README.md +4 -0
  2. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +3 -3
  3. package/esm2020/lib/components/private/dynamic-module-field-extra-fix/dynamic-module-field-extra-fix.component.mjs +3 -3
  4. package/esm2020/lib/components/private/field-graphics-editor/field-graphics-editor.component.mjs +115 -27
  5. package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +28 -6
  6. package/esm2020/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +25 -5
  7. package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +12 -3
  8. package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +26 -4
  9. package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +28 -6
  10. package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +27 -5
  11. package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +1 -1
  12. package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +1 -1
  13. package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +1 -1
  14. package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +3 -3
  15. package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +3 -3
  16. package/esm2020/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +3 -3
  17. package/esm2020/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +3 -3
  18. package/esm2020/lib/directives/speech-to-text/speech-to-text.directive.mjs +7 -2
  19. package/esm2020/lib/utils/css-property-catalog.mjs +45 -2
  20. package/esm2020/lib/utils/field-style-catalog.mjs +45 -19
  21. package/esm2020/lib/utils/floating-label-styles.mjs +155 -0
  22. package/esm2020/lib/utils/refresh-outline-notch.mjs +38 -0
  23. package/fesm2015/eqproject-eqp-dynamic-module.mjs +799 -339
  24. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
  25. package/fesm2020/eqproject-eqp-dynamic-module.mjs +779 -325
  26. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
  27. package/lib/components/private/field-graphics-editor/field-graphics-editor.component.d.ts +19 -1
  28. package/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.d.ts +6 -2
  29. package/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.d.ts +6 -2
  30. package/lib/components/private/field-templates/text-field-template/text-field-template.component.d.ts +6 -2
  31. package/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.d.ts +6 -2
  32. package/lib/directives/speech-to-text/speech-to-text.directive.d.ts +3 -1
  33. package/lib/utils/css-property-catalog.d.ts +25 -0
  34. package/lib/utils/field-style-catalog.d.ts +5 -0
  35. package/lib/utils/floating-label-styles.d.ts +73 -0
  36. package/lib/utils/refresh-outline-notch.d.ts +15 -0
  37. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { UntypedFormBuilder } from '@angular/forms';
3
3
  import { BaseField, FieldTypeEnum } from '../../../models/baseField.model';
4
4
  import { EndPointConfiguration } from '../../../models/endPointConfiguration.model';
5
- import { CssPropertyDef } from '../../../utils/css-property-catalog';
5
+ import { CssElementProfile, CssPropertyDef } from '../../../utils/css-property-catalog';
6
6
  import { FieldStyleEntryDef, FieldStyleTypeDef, getFieldDisplayName, GlobalStyleElementDef } from '../../../utils/field-style-catalog';
7
7
  import * as i0 from "@angular/core";
8
8
  /** Un gruppo raccoglie tutti i campi selezionati che condividono la stessa tipologia */
@@ -149,6 +149,7 @@ export declare class FieldGraphicsEditorComponent implements OnInit {
149
149
  get currentElements(): Array<{
150
150
  key: string;
151
151
  label: string;
152
+ profile?: CssElementProfile;
152
153
  }>;
153
154
  get currentStates(): Array<FieldStyleEntryDef>;
154
155
  get currentSelectedState(): string;
@@ -157,9 +158,21 @@ export declare class FieldGraphicsEditorComponent implements OnInit {
157
158
  toggleCurrentElement(elementKey: string): void;
158
159
  get currentShowAllProperties(): boolean;
159
160
  toggleCurrentShowAll(): void;
161
+ /** False per gli elementi con un elenco di proprietà chiuso (niente "Altre proprietà...") */
162
+ rowHasMoreProperties(elementKey: string): boolean;
160
163
  rowProperties(elementKey: string): Array<CssPropertyDef>;
161
164
  rowCount(elementKey: string): number;
165
+ /** Valore impostato direttamente sull'elemento, senza eredità */
166
+ private rowGetOwn;
167
+ /**
168
+ * Valore mostrato a video. "Etichetta sul bordo" parte dalla grafica di "Etichetta nel
169
+ * contenitore" e sovrascrive solo ciò che vi è impostato: dove non ha un valore proprio
170
+ * mostra quello ereditato, così lo specchietto riflette ciò che si vede in anteprima.
171
+ */
162
172
  rowGet(elementKey: string, prop: string): string;
173
+ /** Elemento da cui "…Sollevata" eredita (la chiave base), null per gli altri */
174
+ private inheritanceSourceKey;
175
+ rowIsInherited(elementKey: string, prop: string): boolean;
163
176
  rowSet(elementKey: string, prop: string, value: string): void;
164
177
  rowIsSet(elementKey: string, prop: string): boolean;
165
178
  rowReset(elementKey: string, prop: string): void;
@@ -183,6 +196,11 @@ export declare class FieldGraphicsEditorComponent implements OnInit {
183
196
  }): string;
184
197
  /** Crea il campo fittizio dell'anteprima agganciandogli la mappa stili passata */
185
198
  private buildPreviewField;
199
+ /**
200
+ * Stato della label che l'anteprima deve mostrare per l'elemento aperto: la label Material
201
+ * si solleva sul bordo solo se il campo ha un valore, quindi l'anteprima lo simula.
202
+ */
203
+ private previewLabelMode;
186
204
  private getPreviewInitialValue;
187
205
  /** Completa il campo di anteprima con i valori minimi richiesti dai singoli template */
188
206
  private prepareTypeSpecificPreview;
@@ -1,14 +1,16 @@
1
- import { EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
1
+ import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
2
+ import { MatFormField } from '@angular/material/form-field';
2
3
  import { Record } from '../../../../models/record.model';
3
4
  import { ImageSelectorField } from '../../../../models/fields/imageSelectorField.model';
4
5
  import * as i0 from "@angular/core";
5
- export declare class ImageFieldSelectorTemplateComponent implements OnInit, OnChanges, OnDestroy {
6
+ export declare class ImageFieldSelectorTemplateComponent implements AfterViewInit, OnInit, OnChanges, OnDestroy {
6
7
  private renderer;
7
8
  record: Record;
8
9
  formulaObject: any;
9
10
  field: ImageSelectorField;
10
11
  inConfig: boolean;
11
12
  styleVersion: number;
13
+ formField: MatFormField;
12
14
  forceState: string | null;
13
15
  recordChange: EventEmitter<Record>;
14
16
  FieldstyleObj: any;
@@ -16,9 +18,11 @@ export declare class ImageFieldSelectorTemplateComponent implements OnInit, OnCh
16
18
  transformedRecord: any;
17
19
  fieldUid: string;
18
20
  private styleEl;
21
+ private notchObserver;
19
22
  constructor(renderer: Renderer2);
20
23
  ngOnInit(): void;
21
24
  ngOnChanges(changes: SimpleChanges): void;
25
+ ngAfterViewInit(): void;
22
26
  ngOnDestroy(): void;
23
27
  initStyles(): void;
24
28
  ToLowerCase(el: string): string;
@@ -1,10 +1,11 @@
1
- import { EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
1
+ import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
2
+ import { MatFormField } from '@angular/material/form-field';
2
3
  import { TmwNumericOptions } from 'tmw-numeric';
3
4
  import { Record } from '../../../../models/record.model';
4
5
  import { NumericField, NumericFieldIconPositionEnum } from '../../../../models/fields/numericField.model';
5
6
  import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
6
7
  import * as i0 from "@angular/core";
7
- export declare class NumericFieldTemplateComponent implements OnInit, OnChanges, OnDestroy, IBaseFieldComponent {
8
+ export declare class NumericFieldTemplateComponent implements AfterViewInit, OnInit, OnChanges, OnDestroy, IBaseFieldComponent {
8
9
  private renderer;
9
10
  field: NumericField;
10
11
  record: Record;
@@ -12,6 +13,7 @@ export declare class NumericFieldTemplateComponent implements OnInit, OnChanges,
12
13
  inConfig: boolean;
13
14
  /** Incrementa dall'esterno per forzare il ricalcolo degli stili CSS (es. dal configuratore) */
14
15
  styleVersion: number;
16
+ formField: MatFormField;
15
17
  /** Forza visivamente uno stato specifico nell'anteprima del configuratore */
16
18
  forceState: string | null;
17
19
  recordChange: EventEmitter<Record>;
@@ -24,9 +26,11 @@ export declare class NumericFieldTemplateComponent implements OnInit, OnChanges,
24
26
  fieldUid: string;
25
27
  private styleEl;
26
28
  private statusSub;
29
+ private notchObserver;
27
30
  constructor(renderer: Renderer2);
28
31
  ngOnInit(): void;
29
32
  ngOnChanges(changes: SimpleChanges): void;
33
+ ngAfterViewInit(): void;
30
34
  ngOnDestroy(): void;
31
35
  initStyles(): void;
32
36
  /** Rigenera il tag <style> con defaults + regole utente, entrambi scoped per #uid */
@@ -1,10 +1,11 @@
1
- import { EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
1
+ import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
2
+ import { MatFormField } from '@angular/material/form-field';
2
3
  import { Record } from '../../../../models/record.model';
3
4
  import { TextFieldIconPositionEnum, TextMaskEnum, TextField } from '../../../../models/fields/textField.model';
4
5
  import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
5
6
  import { Subscription } from 'rxjs';
6
7
  import * as i0 from "@angular/core";
7
- export declare class TextFieldTemplateComponent implements OnInit, OnChanges, OnDestroy, IBaseFieldComponent {
8
+ export declare class TextFieldTemplateComponent implements AfterViewInit, OnInit, OnChanges, OnDestroy, IBaseFieldComponent {
8
9
  private renderer;
9
10
  isStillRecoginze: boolean;
10
11
  source: import("rxjs").Observable<number>;
@@ -16,6 +17,7 @@ export declare class TextFieldTemplateComponent implements OnInit, OnChanges, On
16
17
  inConfig: boolean;
17
18
  /** Incrementa dall'esterno per forzare il ricalcolo degli stili CSS (es. dal configuratore) */
18
19
  styleVersion: number;
20
+ formField: MatFormField;
19
21
  /** Forza visivamente uno stato specifico nell'anteprima del configuratore */
20
22
  forceState: string | null;
21
23
  FieldstyleObj: any;
@@ -27,9 +29,11 @@ export declare class TextFieldTemplateComponent implements OnInit, OnChanges, On
27
29
  fieldUid: string;
28
30
  private styleEl;
29
31
  private statusSub;
32
+ private notchObserver;
30
33
  constructor(renderer: Renderer2);
31
34
  ngOnInit(): void;
32
35
  ngOnChanges(changes: SimpleChanges): void;
36
+ ngAfterViewInit(): void;
33
37
  ngOnDestroy(): void;
34
38
  initStyles(): void;
35
39
  /** Rigenera il tag <style> con defaults + regole utente, entrambi scoped per #uid */
@@ -1,10 +1,11 @@
1
- import { EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
1
+ import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
2
+ import { MatFormField } from '@angular/material/form-field';
2
3
  import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
3
4
  import { Record } from '../../../../models/record.model';
4
5
  import { TextareaField, TextareaFieldIconPositionEnum } from '../../../../models/fields/textareaField.model';
5
6
  import { Subscription } from 'rxjs';
6
7
  import * as i0 from "@angular/core";
7
- export declare class TextareaFieldTemplateComponent implements OnInit, OnChanges, OnDestroy, IBaseFieldComponent {
8
+ export declare class TextareaFieldTemplateComponent implements AfterViewInit, OnInit, OnChanges, OnDestroy, IBaseFieldComponent {
8
9
  private renderer;
9
10
  isStillRecoginze: boolean;
10
11
  field: TextareaField;
@@ -13,6 +14,7 @@ export declare class TextareaFieldTemplateComponent implements OnInit, OnChanges
13
14
  inConfig: boolean;
14
15
  /** Incrementa dall'esterno per forzare il ricalcolo degli stili CSS (es. dal configuratore) */
15
16
  styleVersion: number;
17
+ formField: MatFormField;
16
18
  /** Forza visivamente uno stato specifico nell'anteprima del configuratore */
17
19
  forceState: string | null;
18
20
  source: import("rxjs").Observable<number>;
@@ -26,9 +28,11 @@ export declare class TextareaFieldTemplateComponent implements OnInit, OnChanges
26
28
  fieldUid: string;
27
29
  private styleEl;
28
30
  private statusSub;
31
+ private notchObserver;
29
32
  constructor(renderer: Renderer2);
30
33
  ngOnInit(): void;
31
34
  ngOnChanges(changes: SimpleChanges): void;
35
+ ngAfterViewInit(): void;
32
36
  ngOnDestroy(): void;
33
37
  initStyles(): void;
34
38
  /** Rigenera il tag <style> con defaults + regole utente, entrambi scoped per #uid */
@@ -3,6 +3,8 @@ import { Subscription } from "rxjs";
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpeechToTextDirective implements OnDestroy {
5
5
  private elementRef;
6
+ /** True mentre QUESTA icona è quella in ascolto — usato dal template per mostrare tmw-icon in variante 'filled' */
7
+ get isListening(): boolean;
6
8
  debug: boolean;
7
9
  bindedText: string;
8
10
  bindedTextChange: EventEmitter<string>;
@@ -27,5 +29,5 @@ export declare class SpeechToTextDirective implements OnDestroy {
27
29
  private wordConcat;
28
30
  private printDebug;
29
31
  static ɵfac: i0.ɵɵFactoryDeclaration<SpeechToTextDirective, never>;
30
- static ɵdir: i0.ɵɵDirectiveDeclaration<SpeechToTextDirective, "[SpeechToText]", never, { "bindedText": "bindedText"; }, { "bindedTextChange": "bindedTextChange"; }, never, never, false, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SpeechToTextDirective, "[SpeechToText]", ["speechToText"], { "bindedText": "bindedText"; }, { "bindedTextChange": "bindedTextChange"; }, never, never, false, never>;
31
33
  }
@@ -19,6 +19,8 @@ export interface CssPropertyDef {
19
19
  max?: number;
20
20
  step?: number;
21
21
  unit?: string;
22
+ /** Solo per type 'size': posizione iniziale dello slider quando la proprietà non è impostata */
23
+ defaultValue?: number;
22
24
  /** Solo per type 'select' */
23
25
  options?: Array<{
24
26
  value: string;
@@ -31,6 +33,29 @@ export declare const CSS_CORE_PROPERTIES: Array<CssPropertyDef>;
31
33
  /** Proprietà aggiuntive, mostrate solo aprendo "Altre proprietà" */
32
34
  export declare const CSS_EXTRA_PROPERTIES: Array<CssPropertyDef>;
33
35
  export declare const CSS_ALL_PROPERTIES: Array<CssPropertyDef>;
36
+ /**
37
+ * Proprietà che hanno senso solo su alcuni elementi: non compaiono nelle liste generali,
38
+ * vengono aggiunte dai profili dei singoli elementi (vedi CssElementProfile).
39
+ */
40
+ export declare const CSS_ELEMENT_ONLY_PROPERTIES: Array<CssPropertyDef>;
34
41
  export declare function getCssPropertyDef(prop: string): CssPropertyDef | null;
42
+ /**
43
+ * Personalizza l'elenco delle proprietà mostrate per un elemento grafico.
44
+ * Le proprietà già valorizzate sul campo restano sempre visibili, così si possono azzerare.
45
+ */
46
+ export interface CssElementProfile {
47
+ /** Se presente, l'elemento mostra solo queste proprietà e niente "Altre proprietà..." */
48
+ only?: Array<string>;
49
+ /** Proprietà tolte dalle liste generali */
50
+ hidden?: Array<string>;
51
+ /** Proprietà aggiunte in coda alle principali */
52
+ extra?: Array<string>;
53
+ }
54
+ export declare const CSS_PROFILE_LABEL: CssElementProfile;
55
+ export declare const CSS_PROFILE_VALUE: CssElementProfile;
56
+ /** Label dentro la casella o sollevata sul bordo: solo le proprietà che cambiano fra i due casi */
57
+ export declare const CSS_PROFILE_FLOATING_LABEL: CssElementProfile;
58
+ /** Proprietà da mostrare per un elemento, applicando l'eventuale profilo */
59
+ export declare function getCssPropertiesForProfile(profile: CssElementProfile | undefined, showAll: boolean): Array<CssPropertyDef>;
35
60
  /** Definizione di ripiego per una proprietà scritta a mano e non catalogata */
36
61
  export declare function buildCustomCssPropertyDef(prop: string): CssPropertyDef;
@@ -1,4 +1,5 @@
1
1
  import { BaseField, FieldTypeEnum } from '../models/baseField.model';
2
+ import { CssElementProfile } from './css-property-catalog';
2
3
  /**
3
4
  * Catalogo centralizzato della grafica dei campi.
4
5
  *
@@ -10,6 +11,8 @@ import { BaseField, FieldTypeEnum } from '../models/baseField.model';
10
11
  export interface FieldStyleEntryDef {
11
12
  key: string;
12
13
  label: string;
14
+ /** Proprietà mostrate dall'editor per questo elemento (default: elenco generale) */
15
+ profile?: CssElementProfile;
13
16
  }
14
17
  export interface FieldStyleTypeDef {
15
18
  fieldType: FieldTypeEnum;
@@ -59,6 +62,8 @@ export declare function cloneFieldStyleMap(field: BaseField): {
59
62
  export interface GlobalStyleElementDef {
60
63
  key: string;
61
64
  label: string;
65
+ /** Proprietà mostrate dall'editor per questo elemento (default: elenco generale) */
66
+ profile?: CssElementProfile;
62
67
  /** Per ogni tipologia, gli elementi reali su cui scrivere */
63
68
  perType: {
64
69
  [fieldType: number]: Array<string>;
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Label "flottante" dei mat-form-field outline (Angular Material 15).
3
+ *
4
+ * La stessa label ha due aspetti: a riposo dentro la casella (campo vuoto e non selezionato)
5
+ * e sollevata sul bordo (campo compilato o selezionato). L'editor li mostra come due elementi:
6
+ * "Etichetta nel contenitore" è la chiave storica (Descrizione / Label): grafica base della
7
+ * label, valida sempre. "Etichetta sul bordo" (DescrizioneSollevata / LabelSollevata) sovrascrive
8
+ * solo ciò che vi è impostato quando la label è sollevata.
9
+ *
10
+ * Il server conosce solo le chiavi storiche: l'override del bordo viene quindi salvato DENTRO la
11
+ * stringa CSS della chiave base, come proprietà custom `--eqp-sollevata: "<css>"`. È CSS valido
12
+ * (il browser la ignora) e passa intatta per le classi tipizzate del server. Le chiavi
13
+ * "…Sollevata" esistono solo in memoria, nell'editor: readStyleCss/writeStyleCss fanno da ponte.
14
+ */
15
+ /** Suffisso del selettore della label per la label sollevata */
16
+ export declare const LABEL_FLOATING_SUFFIX = ".mdc-floating-label--float-above";
17
+ /** Proprietà custom, dentro la chiave base, che contiene il CSS dell'etichetta sul bordo */
18
+ export declare const FLOATING_OVERRIDE_PROP = "--eqp-sollevata";
19
+ /** True per le chiavi virtuali dell'etichetta sul bordo (es. "DescrizioneSollevataNormale") */
20
+ export declare function isFloatingOverrideKey(key: string): boolean;
21
+ /** Chiave reale in cui è salvato l'override: "DescrizioneSollevataNormale" -> "DescrizioneNormale" */
22
+ export declare function floatingBaseKey(key: string): string;
23
+ /**
24
+ * CSS di una chiave "Elemento+Stato", anche virtuale, letto da una mappa nel formato salvato.
25
+ * Per le chiavi base restituisce il CSS senza la proprietà custom (che non va iniettata).
26
+ */
27
+ export declare function readStyleCss(map: {
28
+ [key: string]: string;
29
+ }, key: string): string;
30
+ /** Scrive il CSS di una chiave, anche virtuale, in una mappa nel formato salvato */
31
+ export declare function writeStyleCss(map: {
32
+ [key: string]: string;
33
+ }, key: string, css: string): void;
34
+ /** Mappa "esplosa" per l'editor: chiavi base pulite più le chiavi virtuali "…Sollevata…" */
35
+ export declare function decodeFloatingMap(map: {
36
+ [key: string]: string;
37
+ }): {
38
+ [key: string]: string;
39
+ };
40
+ /** Inverso di decodeFloatingMap: riporta la mappa al formato salvato */
41
+ export declare function encodeFloatingMap(decoded: {
42
+ [key: string]: string;
43
+ }): {
44
+ [key: string]: string;
45
+ };
46
+ /** Aggiunge !important a ogni dichiarazione: serve dove regole globali con !important coprono le nostre */
47
+ export declare function forceImportantCss(css: string): string;
48
+ /** True se il campo ha una grafica sulla label (base o sul bordo) con quel prefisso di chiave */
49
+ export declare function hasFloatingLabelStyles(styleMap: {
50
+ [key: string]: string;
51
+ }, basePrefix?: string): boolean;
52
+ /**
53
+ * Regole di base da iniettare prima di quelle dell'utente quando la label è personalizzata. Material la rimpicciolisce al 75% con una trasformazione: dimensione testo,
54
+ * padding e larghezza impostati dall'utente risulterebbero ridotti. Qui la scala torna a 1 e il
55
+ * testo riparte dalla stessa dimensione che Material mostrava (12px); la label resta centrata
56
+ * sulla linea del bordo, e "top" la sposta da lì.
57
+ * I selettori sono dentro :where() per restare più deboli di qualsiasi regola dell'utente,
58
+ * anche di quelle su Descrizione che valgono per entrambe le posizioni.
59
+ *
60
+ * @param uid id del wrapper del campo
61
+ * @param labelSelector selettore della label, relativo al wrapper (es. " label.mat-mdc-floating-label")
62
+ * @param styleMap mappa "Elemento+Stato" -> CSS del campo
63
+ */
64
+ export declare function buildFloatingLabelBaseRules(uid: string, labelSelector: string, styleMap: {
65
+ [key: string]: string;
66
+ }): Array<string>;
67
+ /**
68
+ * True se il CSS imposta "top". Il top dell'etichetta nel contenitore non deve propagarsi alla
69
+ * label sollevata, che ha la propria posizione: i template, dopo la regola della chiave base (Descrizione / Label),
70
+ * ne emettono una che riporta a 0 il top della label sollevata; quella di "…Sollevata",
71
+ * venendo dopo, la sovrascrive.
72
+ */
73
+ export declare function cssSetsTop(css: string): boolean;
@@ -0,0 +1,15 @@
1
+ import { MatFormField } from '@angular/material/form-field';
2
+ /**
3
+ * Rimisura la label di un mat-form-field "outline" e riallinea l'apertura nel bordo.
4
+ *
5
+ * Material misura la label solo alla creazione del campo: se poi gli stili iniettati
6
+ * cambiano font, spaziatura o larghezza della descrizione, l'apertura resta stretta
7
+ * e la label sollevata viene tagliata.
8
+ */
9
+ export declare function refreshOutlineNotch(formField: MatFormField | undefined): void;
10
+ /**
11
+ * Rimisura la label ogni volta che si solleva o torna dentro la casella: le due posizioni
12
+ * possono avere grafiche diverse, e Material misurerebbe quella a riposo anche per il bordo.
13
+ * Restituisce l'osservatore, da scollegare nell'ngOnDestroy.
14
+ */
15
+ export declare function watchOutlineNotch(formField: MatFormField | undefined): MutationObserver | null;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "EqProject"
6
6
  },
7
- "version": "2.11.5",
7
+ "version": "2.11.7",
8
8
  "peerDependencies": {
9
9
  "@angular/cdk": "^15.1.2",
10
10
  "@angular/common": "^15.1.2",