@esfaenza/flow-builder 20.3.44 → 20.3.46

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/index.d.ts CHANGED
@@ -234,7 +234,7 @@ interface FlowScreen extends FlowNodeBase {
234
234
  * `screenFieldTypes`, che porta anche i flag (`storesValue`, `isContainer`, …) con cui
235
235
  * l'editor decide quali campi mostrare: qui il tipo e' aperto proprio per quello.
236
236
  */
237
- type FlowScreenFieldType = 'DisplayText' | 'InputField' | 'LargeTextArea' | 'PasswordField' | 'RadioButtons' | 'DropdownBox' | 'MultiSelectCheckboxes' | 'MultiSelectPicklist' | 'ComponentInstance' | 'Region' | 'RegionContainer' | 'ObjectProvided' | string;
237
+ type FlowScreenFieldType = 'DisplayText' | 'InputField' | 'LargeTextArea' | 'PasswordField' | 'RadioButtons' | 'DropdownBox' | 'MultiSelectCheckboxes' | 'MultiSelectPicklist' | 'ComponentInstance' | 'Region' | 'RegionContainer' | 'RepeatingSection' | 'ObjectProvided' | string;
238
238
  /** §5.2 — la sezione con o senza intestazione. */
239
239
  type FlowRegionContainerType = 'SectionWithHeader' | 'SectionWithoutHeader' | string;
240
240
  /** §5.2 — cosa succede ai valori quando si torna sulla schermata. */
@@ -253,6 +253,12 @@ interface FlowScreenValidationRule {
253
253
  * di node e risorse (§3.3), e un Assignment che ci scrive e' `TARGET_NOT_WRITABLE`;
254
254
  * - `fields` esiste solo sui contenitori (`Region`, `RegionContainer`) e l'annidamento previsto
255
255
  * e' **sezione → colonne → campi**: piu' profondo di così e' un avviso.
256
+ *
257
+ * L'unica eccezione alla prima e' un campo dentro una `RepeatingSection`: esiste in una riga per ogni
258
+ * elemento della collection, quindi il suo nome non individua alcun valore. Non e' una risorsa, non si
259
+ * propone fra i riferimenti, e nominarlo e' `SCREEN_FIELD_IN_REPEATER`. Il nome resta comunque **unico**
260
+ * — e' l'indirizzo con cui il frontend rende il campo — quindi un omonimo di una variabile resta
261
+ * `NAME_DUPLICATED`.
256
262
  */
257
263
  interface FlowScreenField {
258
264
  name?: string;
@@ -282,9 +288,49 @@ interface FlowScreenField {
282
288
  maxLength?: number;
283
289
  /** 1..12 nella griglia della schermata: il frontend puo' ignorarla. */
284
290
  width?: number;
285
- /** Solo sui contenitori: sezione → colonne → campi. */
291
+ /**
292
+ * Solo sui contenitori: sezione → colonne → campi. Su una `RepeatingSection` e' il **modello di una
293
+ * riga**: la schermata ne rende una copia per ogni elemento di `collectionReference`.
294
+ */
286
295
  fields?: FlowScreenField[];
287
296
  regionContainerType?: FlowRegionContainerType;
297
+ /**
298
+ * §5.2 — `RepeatingSection`: **dove vivono le righe**, una variabile collection di tipo `Structure`.
299
+ * E' quella che il resto del flow attraversa con un Loop, ed e' il motivo per cui la sezione non
300
+ * introduce un posto nuovo in cui i dati stanno. **Obbligatoria**: senza,
301
+ * `REPEATING_SECTION_INVALID`.
302
+ */
303
+ collectionReference?: string;
304
+ /**
305
+ * §5.2 — `RepeatingSection`: il **cursore**, una variabile `Structure` non collection dello stesso
306
+ * `objectType` di {@link collectionReference}, su cui il runtime appoggia la riga corrente. Ha lo
307
+ * stesso ruolo di `assignNextValueToReference` in un Loop, ed e' cio' che si nomina dentro una riga:
308
+ * `PuntoCorrente.PodId`, mai `Luce_POD`. **Obbligatorio**.
309
+ */
310
+ itemReference?: string;
311
+ /**
312
+ * §5.2 — sui campi **dentro** una `RepeatingSection`: il membro della riga che il campo raccoglie.
313
+ * Senza, vale il nome del campo. Il membro deve esistere sulla classe delle righe e non essere di
314
+ * sola lettura: `STRUCTURE_MEMBER_UNKNOWN` e `TARGET_NOT_WRITABLE`.
315
+ */
316
+ memberName?: string;
317
+ /** §5.2 — `RepeatingSection`: righe minime. */
318
+ minInstances?: number;
319
+ /** §5.2 — `RepeatingSection`: righe massime. Assente e' l'avviso `REPEATING_SECTION_WITHOUT_LIMIT`. */
320
+ maxInstances?: number;
321
+ /** §5.2 — `RepeatingSection`: default `true`. */
322
+ allowAdd?: boolean;
323
+ /** §5.2 — `RepeatingSection`: default `true`. */
324
+ allowRemove?: boolean;
325
+ /** §5.2 — `RepeatingSection`: la scritta del comando che aggiunge una riga. */
326
+ addButtonLabel?: string;
327
+ /** §5.2 — `RepeatingSection`: la scritta del comando che toglie una riga. */
328
+ removeButtonLabel?: string;
329
+ /**
330
+ * §5.2 — `RepeatingSection`: l'intestazione della **singola riga**. Supporta i merge field e viene
331
+ * risolta sulla riga, quindi ci si nomina il cursore: `Punto {!PuntoCorrente.PodId}`.
332
+ */
333
+ itemLabel?: string;
288
334
  /** `ComponentInstance`: il componente del frontend, dal catalogo dei form. */
289
335
  extensionName?: string;
290
336
  inputParameters?: FlowInputParameter[];
@@ -866,6 +912,13 @@ interface FlowScreenFieldTypeEntry extends FlowDictionaryEntry {
866
912
  acceptsChoices?: boolean;
867
913
  /** Il campo contiene altri campi (`Region`, `RegionContainer`). */
868
914
  isContainer?: boolean;
915
+ /**
916
+ * §5.2 — sezione **ripetibile**, ed e' distinto da {@link isContainer} di proposito: contiene campi
917
+ * ma quelli che contiene sono il *modello di una riga*, non i campi della schermata. Un editor che le
918
+ * trattasse allo stesso modo proporrebbe quei nomi fra i riferimenti, che e' esattamente cio' che la
919
+ * validazione rifiuta (`SCREEN_FIELD_IN_REPEATER`).
920
+ */
921
+ isRepeatingSection?: boolean;
869
922
  /** `dataType` obbligatorio: senza, `DATA_TYPE_MISSING`. */
870
923
  requiresDataType?: boolean;
871
924
  }
@@ -2272,6 +2325,12 @@ declare const ORCHESTRATION_CONDITION_OUTPUT = "isOrchestrationConditionMet";
2272
2325
  * del flow** (§5.2). I loro nomi vivono nello stesso spazio dei nomi di node e risorse (§3.3),
2273
2326
  * quindi `usedNames` dello store deve comprenderli — un campo omonimo di una variabile e'
2274
2327
  * `NAME_DUPLICATED`, non una stranezza tollerata.
2328
+ *
2329
+ * L'unica eccezione a quest'ultima e' la `RepeatingSection`, e le due meta' vanno tenute distinte perche'
2330
+ * e' facile appiattirle: i campi **dentro** una riga non sono risorse (il loro nome non individua alcun
2331
+ * valore, perche' la riga esiste una volta per elemento della collection) ma un nome unico ce l'hanno
2332
+ * comunque. Quindi `screenFieldNames` li comprende — `NAME_DUPLICATED` vale — mentre
2333
+ * {@link resourceFieldsOf} no: proporli fra i riferimenti e' `SCREEN_FIELD_IN_REPEATER`.
2275
2334
  */
2276
2335
 
2277
2336
  /** Il percorso di un campo nell'albero: indici dalla radice alla foglia. */
@@ -2299,7 +2358,9 @@ declare function allFieldsOf(screen: FlowDynamicScreen | undefined): FlowScreenF
2299
2358
  *
2300
2359
  * Contenitori compresi: un `Region` non e' una risorsa — non raccoglie un valore — ma il suo
2301
2360
  * nome resta un nome, e due campi omonimi nella stessa schermata sono comunque un problema.
2302
- * Chi vuole i **soli** riferimenti proponibili usa `isFieldResource`.
2361
+ * Ci sono anche i campi **dentro una riga** di una sezione ripetibile, che risorse non sono ma un nome
2362
+ * ce l'hanno lo stesso: e' l'indirizzo con cui il frontend rende il campo, e due omonimi lo renderebbero
2363
+ * ambiguo (§5.2). Chi vuole i **soli** riferimenti proponibili usa {@link resourceFieldsOf}.
2303
2364
  */
2304
2365
  declare function screenFieldNames(definition: FlowDefinition | undefined): string[];
2305
2366
  /**
@@ -2322,8 +2383,40 @@ declare function screenActionNames(definition: FlowDefinition | undefined): stri
2322
2383
  * i suoi output. Il flag `storesValue` arriva dal dizionario, che e' l'unica fonte autoritativa:
2323
2384
  * senza la voce del dizionario si risponde `false`, cioe' "non lo so" — proporre un riferimento
2324
2385
  * che il backend non conosce e' peggio che non proporlo.
2386
+ *
2387
+ * Guarda il **solo campo**, e non basta: un campo dentro una `RepeatingSection` raccoglie un valore ma
2388
+ * non e' una risorsa, perche' esiste in una riga per ogni elemento della collection. Quella domanda ha
2389
+ * bisogno del contesto, e la risponde {@link resourceFieldsOf}.
2325
2390
  */
2326
2391
  declare function isFieldResource(field: FlowScreenField | undefined, entry: FlowScreenFieldTypeEntry | undefined): boolean;
2392
+ /** Come si riconosce una voce del dizionario a partire dal campo: il flag e' del dizionario, non del codice. */
2393
+ type FlowScreenFieldTypeResolver = (field: FlowScreenField) => FlowScreenFieldTypeEntry | undefined;
2394
+ /**
2395
+ * §5.2 — i campi dichiarati dentro una `RepeatingSection` sono il **modello di una riga**, e la riga
2396
+ * esiste una volta per elemento della collection: il loro nome non individua alcun valore.
2397
+ *
2398
+ * Da qui discende tutto cio' che l'editor fa di diverso lì dentro. Non sono risorse del flow, non si
2399
+ * propongono fra i riferimenti, non innescano screen action e non sono destinazioni: nominarli e'
2400
+ * `SCREEN_FIELD_IN_REPEATER`. Dentro una riga si nomina il **cursore** (`itemReference`), che e' una
2401
+ * variabile vera — `PuntoCorrente.PodId`, mai `Luce_POD`.
2402
+ *
2403
+ * Cio' che invece **non** cambia: il nome resta unico, perche' e' l'indirizzo con cui il frontend rende
2404
+ * il campo, quindi un omonimo di una variabile e' `NAME_DUPLICATED` come sempre e `screenFieldNames` li
2405
+ * comprende tutti.
2406
+ */
2407
+ declare function repeatedFieldNames(definition: FlowDefinition | undefined, typeOf: FlowScreenFieldTypeResolver): Set<string>;
2408
+ /**
2409
+ * I campi di una schermata che sono **risorse del flow**: raccolgono un valore e non stanno dentro una
2410
+ * riga. Sono gli unici da proporre come riferimento, come innesco di una screen action e come
2411
+ * destinazione dei suoi output.
2412
+ */
2413
+ declare function resourceFieldsOf(screen: FlowDynamicScreen | undefined, typeOf: FlowScreenFieldTypeResolver): FlowScreenField[];
2414
+ /**
2415
+ * La sezione ripetibile che **contiene** il campo a un percorso, se c'e'. Un antenato stretto: la
2416
+ * sezione stessa non sta dentro se stessa, ed e' la differenza fra «configuro la sezione» e «configuro
2417
+ * un campo di una riga», che sono due pannelli diversi.
2418
+ */
2419
+ declare function repeatingSectionOf(screen: FlowDynamicScreen | undefined, path: FlowScreenFieldPath | null, typeOf: FlowScreenFieldTypeResolver): FlowScreenField | undefined;
2327
2420
  /** Inserisce un campo dentro `parentPath` alla posizione indicata (in fondo se assente). */
2328
2421
  declare function insertField(screen: FlowDynamicScreen, parentPath: FlowScreenFieldPath, field: FlowScreenField, index?: number): FlowScreenFieldPath | undefined;
2329
2422
  /** Rimuove il campo a un percorso, e con esso tutto cio' che conteneva. */
@@ -2504,6 +2597,13 @@ declare class FlowDictionaryStore {
2504
2597
  screenFieldStoresValue(value: string | undefined | null): boolean;
2505
2598
  /** §5.2 — il campo contiene altri campi: `Region`, `RegionContainer`. */
2506
2599
  screenFieldIsContainer(value: string | undefined | null): boolean;
2600
+ /**
2601
+ * §5.2 — sezione **ripetibile**. Distinto da {@link screenFieldIsContainer} di proposito: contiene
2602
+ * campi, ma quelli che contiene sono il modello di una riga e i loro nomi **non** sono riferimenti
2603
+ * proponibili (`SCREEN_FIELD_IN_REPEATER`). E' il flag su cui si accende tutto cio' che l'editor fa di
2604
+ * diverso dentro una riga.
2605
+ */
2606
+ screenFieldIsRepeatingSection(value: string | undefined | null): boolean;
2507
2607
  /** §5.2 — il campo si configura con `choiceReferences`. */
2508
2608
  screenFieldAcceptsChoices(value: string | undefined | null): boolean;
2509
2609
  /** §5.2 — `dataType` obbligatorio: senza, `DATA_TYPE_MISSING`. */
@@ -3683,6 +3783,19 @@ declare class FlowLayoutService {
3683
3783
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<FlowLayoutService>;
3684
3784
  }
3685
3785
 
3786
+ /**
3787
+ * §8 — la versione **attiva**, decisa in un posto solo.
3788
+ *
3789
+ * `isActive` e' una comodita' della riga, ma il campo su cui il contratto scrive il ciclo di vita e'
3790
+ * `status`: la tabella della §8 e' fatta di stati, non di flag. Un host che serializza l'uno e non
3791
+ * l'altro — il caso piu' comune e' `IsActive` in PascalCase, che diventa `undefined` senza dire
3792
+ * niente — farebbe credere all'editor che nessuna versione sia attiva, e da lì l'editor sceglierebbe
3793
+ * la piu' recente come «aperta» mentre il backend gli ha consegnato l'attiva.
3794
+ *
3795
+ * Il ripiego va in un verso solo: se il flag manca, decide lo stato. Se ci sono entrambi e si
3796
+ * contraddicono vince lo stato, per la stessa ragione.
3797
+ */
3798
+ declare function isVersionActive(version: FlowVersionSummary | undefined): boolean;
3686
3799
  /** Cosa mostrare quando il salvataggio incontra una versione modificata da altri (§9). */
3687
3800
  interface FlowConflictState {
3688
3801
  message: string;
@@ -3734,11 +3847,50 @@ declare class FlowEditorSession {
3734
3847
  startNew(fullName: string, label: string, processType: string): void;
3735
3848
  /**
3736
3849
  * Carica una versione e conserva il suo `updatedAt` (§11, "Modificare", passo 1).
3737
- * `version` assente → la versione attiva se c'e', altrimenti l'ultima.
3850
+ *
3851
+ * **La versione si chiede sempre esplicita**, anche quando il chiamante non la indica: la si
3852
+ * risolve prima dall'elenco, con la regola della §6.1 (la attiva, altrimenti l'ultima). Chiedere
3853
+ * la definizione «senza versione» e' comodo — decide il backend — ma lascia poi un numero da
3854
+ * indovinare, perche' il documento porta `status` e **non** il numero (§2): un host che sceglie
3855
+ * diversamente da come si e' dedotto fa evidenziare come «aperta» una riga diversa da quella che
3856
+ * si sta guardando e, molto peggio, conservare l'`updatedAt` di quella riga e mandarlo come
3857
+ * `expectedUpdatedAt` al salvataggio (§9).
3858
+ *
3859
+ * Costa un round trip solo quando serve: la richiesta dell'elenco parte comunque per prima, e la
3860
+ * si aspetta **solo** se il numero non ce l'abbiamo già. Se l'elenco non arriva — host che non
3861
+ * espone la primitiva, o elenco vuoto — si torna a chiedere senza versione e a dedurre
3862
+ * ({@link pickVersion}): degradare e' meglio che non aprire.
3738
3863
  */
3739
3864
  open(flowName: string, version?: number): Promise<void>;
3740
- /** Senza `version` il backend restituisce la versione attiva, altrimenti l'ultima (§6.1). */
3865
+ /**
3866
+ * Quale versione il backend ci ha consegnato, quando non gliel'abbiamo chiesta.
3867
+ *
3868
+ * Il documento non porta il numero (§2), quindi si deduce — ma **non si tira a indovinare**: lo
3869
+ * `status` del documento dice quale delle due strade della §6.1 ha preso il backend («la versione
3870
+ * attiva, altrimenti l'ultima»), e se una sola riga porta quello status la deduzione diventa una
3871
+ * constatazione. È il caso che conta: un flow con la **v1 attiva e la v2 in bozza** e' la forma
3872
+ * piu' comune che esista, ed e' quella in cui sbagliare significa evidenziare come «aperta» una
3873
+ * versione diversa da quella che si sta guardando — e, molto peggio, conservare l'`updatedAt`
3874
+ * della riga sbagliata e mandarlo come `expectedUpdatedAt` al salvataggio (§9).
3875
+ *
3876
+ * Il ripiego e' la regola del contratto, con due difese: «attiva» la decide
3877
+ * {@link isVersionActive} e non il solo flag, e «l'ultima» e' il **numero piu' alto** e non la
3878
+ * prima riga — l'elenco arriva dalla piu' recente (§6.1), ma e' una promessa dell'host, e un host
3879
+ * che ordina al contrario farebbe aprire la piu' vecchia senza che niente lo dica.
3880
+ *
3881
+ * Resta un caso che nessuna delle due strade risolve: piu' righe con lo stesso status del
3882
+ * documento e un host che non segue la §6.1. Lì si torna alla regola del contratto, che e' quanto
3883
+ * di meglio si possa dire di un backend che non la rispetta.
3884
+ */
3741
3885
  private static pickVersion;
3886
+ /**
3887
+ * La regola della §6.1 — «la versione attiva, altrimenti l'ultima» — applicata dal client, con due
3888
+ * difese: «attiva» la decide {@link isVersionActive} e non il solo flag, e «l'ultima» e' il
3889
+ * **numero piu' alto** e non la prima riga. L'elenco arriva dalla piu' recente (§6.1), ma e' una
3890
+ * promessa dell'host: un host che ordina al contrario farebbe aprire la piu' vecchia senza che
3891
+ * niente lo dica.
3892
+ */
3893
+ private static contractVersion;
3742
3894
  /**
3743
3895
  * Ricarica l'elenco versioni: dopo un'attivazione la precedente e' `Obsolete` (§8.4).
3744
3896
  *
@@ -4542,6 +4694,16 @@ declare class ReferencePickerComponent {
4542
4694
  * verrebbe accusato di non esistere.
4543
4695
  */
4544
4696
  readonly extraReferences: _angular_core.InputSignal<FlowReference[]>;
4697
+ /**
4698
+ * Le radici da proporre **per prime**. Oggi c'e' un chiamante solo: dentro una riga di sezione
4699
+ * ripetibile la strada normale e' il **cursore** (`PuntoCorrente.PodId`), e i campi della riga —
4700
+ * che sono cio' che uno cerca istintivamente — non sono nemmeno riferimenti validi (§5.2).
4701
+ *
4702
+ * Non aggiunge e non toglie niente: riordina. L'elenco resta quello della primitiva, e un
4703
+ * riferimento preferito che non c'e' semplicemente non compare — proporre un nome che il backend
4704
+ * non conosce sarebbe peggio che non metterlo in cima.
4705
+ */
4706
+ readonly preferredRoots: _angular_core.InputSignal<string[]>;
4545
4707
  readonly valueChange: _angular_core.OutputEmitterRef<string | undefined>;
4546
4708
  /**
4547
4709
  * L'elenco come arriva dalla primitiva, **senza** il filtro di tipo.
@@ -4637,6 +4799,12 @@ declare class ReferencePickerComponent {
4637
4799
  /** `true` → questa riga apre il percorso e non e' un valore valido per il campo. */
4638
4800
  isContainerOnly(reference: FlowReference): boolean;
4639
4801
  readonly options: _angular_core.Signal<FlowReference[]>;
4802
+ /**
4803
+ * Porta in testa le radici preferite, **senza** cambiare l'ordine relativo del resto. I gruppi si
4804
+ * costruiscono per ordine di prima apparizione, quindi bastano questi due passaggi perche' il
4805
+ * gruppo giusto risulti il primo della tendina.
4806
+ */
4807
+ private preferFirst;
4640
4808
  /** Le opzioni raggruppate per `kind`, così gli output automatici si distinguono. */
4641
4809
  readonly groups: _angular_core.Signal<{
4642
4810
  kind: string;
@@ -4703,7 +4871,7 @@ declare class ReferencePickerComponent {
4703
4871
  clear(): void;
4704
4872
  describe(reference: FlowReference): string;
4705
4873
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ReferencePickerComponent, never>;
4706
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ReferencePickerComponent, "fb-reference-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "isCollection": { "alias": "isCollection"; "required": false; "isSignal": true; }; "objectType": { "alias": "objectType"; "required": false; "isSignal": true; }; "writableOnly": { "alias": "writableOnly"; "required": false; "isSignal": true; }; "elementsOnly": { "alias": "elementsOnly"; "required": false; "isSignal": true; }; "extraReferences": { "alias": "extraReferences"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
4874
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ReferencePickerComponent, "fb-reference-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "isCollection": { "alias": "isCollection"; "required": false; "isSignal": true; }; "objectType": { "alias": "objectType"; "required": false; "isSignal": true; }; "writableOnly": { "alias": "writableOnly"; "required": false; "isSignal": true; }; "elementsOnly": { "alias": "elementsOnly"; "required": false; "isSignal": true; }; "extraReferences": { "alias": "extraReferences"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
4707
4875
  }
4708
4876
 
4709
4877
  declare class ObjectPickerComponent {
@@ -5041,6 +5209,12 @@ declare class FormulaEditorComponent {
5041
5209
  readonly ariaLabel: _angular_core.InputSignal<string>;
5042
5210
  readonly disabled: _angular_core.InputSignal<boolean>;
5043
5211
  readonly rows: _angular_core.InputSignal<number>;
5212
+ /**
5213
+ * I nomi da suggerire **per primi** (§5.2). Lo passa un chiamante solo: la regola di validazione
5214
+ * di un campo dentro una riga di sezione ripetibile, dove la strada normale e' il cursore. Non
5215
+ * aggiunge nomi all'elenco di `POST /flows/references`: riordina i suggerimenti.
5216
+ */
5217
+ readonly preferredRoots: _angular_core.InputSignal<string[]>;
5044
5218
  /**
5045
5219
  * Quando propagare al documento. `input` a ogni tasto, `change` all'uscita dal campo: la
5046
5220
  * seconda serve dove mutare il documento ridisegna mezza schermata — l'anteprima dello screen
@@ -5162,7 +5336,7 @@ declare class FormulaEditorComponent {
5162
5336
  private run;
5163
5337
  private cancel;
5164
5338
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormulaEditorComponent, never>;
5165
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaEditorComponent, "fb-formula-editor", never, { "expression": { "alias": "expression"; "required": false; "isSignal": true; }; "usage": { "alias": "usage"; "required": false; "isSignal": true; }; "expectedDataType": { "alias": "expectedDataType"; "required": false; "isSignal": true; }; "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "commitOn": { "alias": "commitOn"; "required": false; "isSignal": true; }; }, { "expressionChange": "expressionChange"; }, never, ["*"], true, never>;
5339
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaEditorComponent, "fb-formula-editor", never, { "expression": { "alias": "expression"; "required": false; "isSignal": true; }; "usage": { "alias": "usage"; "required": false; "isSignal": true; }; "expectedDataType": { "alias": "expectedDataType"; "required": false; "isSignal": true; }; "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; "commitOn": { "alias": "commitOn"; "required": false; "isSignal": true; }; }, { "expressionChange": "expressionChange"; }, never, ["*"], true, never>;
5166
5340
  }
5167
5341
 
5168
5342
  /** Le modalita' offerte: una per campo del modello. */
@@ -5184,6 +5358,12 @@ declare class ValueEditorComponent {
5184
5358
  readonly disabled: _angular_core.InputSignal<boolean>;
5185
5359
  /** Nasconde la modalita' formula dove il modello non la prevede. */
5186
5360
  readonly allowFormula: _angular_core.InputSignal<boolean>;
5361
+ /**
5362
+ * Le radici da proporre **per prime** nel reference picker (§5.2). Oggi lo passa un chiamante
5363
+ * solo: dentro una riga di sezione ripetibile la strada normale e' il **cursore**, e i campi
5364
+ * della riga non sono nemmeno riferimenti validi. Non aggiunge niente all'elenco: riordina.
5365
+ */
5366
+ readonly preferredRoots: _angular_core.InputSignal<string[]>;
5187
5367
  readonly valueChange: _angular_core.OutputEmitterRef<FlowValue | undefined>;
5188
5368
  /** La modalita' dedotta dal campo effettivamente valorizzato. */
5189
5369
  readonly mode: _angular_core.Signal<ValueMode>;
@@ -5258,7 +5438,7 @@ declare class ValueEditorComponent {
5258
5438
  private emit;
5259
5439
  readonly dataTypeOptions: _angular_core.Signal<_esfaenza_flow_builder.FlowDataTypeEntry[]>;
5260
5440
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ValueEditorComponent, never>;
5261
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ValueEditorComponent, "fb-value-editor", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "objectType": { "alias": "objectType"; "required": false; "isSignal": true; }; "isCollection": { "alias": "isCollection"; "required": false; "isSignal": true; }; "valueSet": { "alias": "valueSet"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
5441
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ValueEditorComponent, "fb-value-editor", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "objectType": { "alias": "objectType"; "required": false; "isSignal": true; }; "isCollection": { "alias": "isCollection"; "required": false; "isSignal": true; }; "valueSet": { "alias": "valueSet"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
5262
5442
  }
5263
5443
 
5264
5444
  declare class ConditionEditorComponent {
@@ -5271,6 +5451,12 @@ declare class ConditionEditorComponent {
5271
5451
  readonly title: _angular_core.InputSignal<string>;
5272
5452
  /** `false` dove il modello non prevede la modalita' formula sull'elemento. */
5273
5453
  readonly allowFormula: _angular_core.InputSignal<boolean>;
5454
+ /**
5455
+ * Le radici da proporre **per prime** nel reference picker (§5.2). Oggi lo passa un chiamante
5456
+ * solo: dentro una riga di sezione ripetibile la strada normale e' il **cursore**, e i campi
5457
+ * della riga non sono nemmeno riferimenti validi. Non aggiunge niente all'elenco: riordina.
5458
+ */
5459
+ readonly preferredRoots: _angular_core.InputSignal<string[]>;
5274
5460
  /**
5275
5461
  * `false` dove il modello porta **solo** la lista di condizioni, senza un campo per la
5276
5462
  * logica: gli `entryConditions` / `exitConditions` di uno step di orchestrazione (§5.14).
@@ -5355,7 +5541,7 @@ declare class ConditionEditorComponent {
5355
5541
  setRightValue(index: number, value: FlowValue | undefined): void;
5356
5542
  setUnaryExpectation(index: number, expectation: boolean): void;
5357
5543
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConditionEditorComponent, never>;
5358
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConditionEditorComponent, "fb-condition-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; "allowLogic": { "alias": "allowLogic"; "required": false; "isSignal": true; }; "issuePath": { "alias": "issuePath"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
5544
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConditionEditorComponent, "fb-condition-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; "allowLogic": { "alias": "allowLogic"; "required": false; "isSignal": true; }; "issuePath": { "alias": "issuePath"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
5359
5545
  }
5360
5546
 
5361
5547
  /**
@@ -5499,6 +5685,12 @@ declare class ParameterEditorComponent {
5499
5685
  * quei campi sono una destinazione, e per questo non e' un default ma un parametro del chiamante.
5500
5686
  */
5501
5687
  readonly extraTargets: _angular_core.InputSignal<FlowReference[]>;
5688
+ /**
5689
+ * Le radici da proporre **per prime**, in ingresso e in uscita (§5.2). Dentro una riga di sezione
5690
+ * ripetibile e' il cursore: e' lì che vanno letti gli input di un componente e assegnati i suoi
5691
+ * output, perche' una riga ha un cursore e i campi della riga non sono riferimenti.
5692
+ */
5693
+ readonly preferredRoots: _angular_core.InputSignal<string[]>;
5502
5694
  readonly changed: _angular_core.OutputEmitterRef<(holder: ParameterHolder) => void>;
5503
5695
  readonly inputs: _angular_core.Signal<FlowInputParameter[]>;
5504
5696
  readonly outputs: _angular_core.Signal<FlowOutputParameter[]>;
@@ -5537,7 +5729,7 @@ declare class ParameterEditorComponent {
5537
5729
  setOutputName(index: number, name: string): void;
5538
5730
  setOutputTarget(index: number, reference: string | undefined): void;
5539
5731
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ParameterEditorComponent, never>;
5540
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ParameterEditorComponent, "fb-parameter-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "catalogParameters": { "alias": "catalogParameters"; "required": false; "isSignal": true; }; "inputTitle": { "alias": "inputTitle"; "required": false; "isSignal": true; }; "outputTitle": { "alias": "outputTitle"; "required": false; "isSignal": true; }; "showInputs": { "alias": "showInputs"; "required": false; "isSignal": true; }; "showOutputs": { "alias": "showOutputs"; "required": false; "isSignal": true; }; "outputsDisabledReason": { "alias": "outputsDisabledReason"; "required": false; "isSignal": true; }; "extraTargets": { "alias": "extraTargets"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
5732
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ParameterEditorComponent, "fb-parameter-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "catalogParameters": { "alias": "catalogParameters"; "required": false; "isSignal": true; }; "inputTitle": { "alias": "inputTitle"; "required": false; "isSignal": true; }; "outputTitle": { "alias": "outputTitle"; "required": false; "isSignal": true; }; "showInputs": { "alias": "showInputs"; "required": false; "isSignal": true; }; "showOutputs": { "alias": "showOutputs"; "required": false; "isSignal": true; }; "outputsDisabledReason": { "alias": "outputsDisabledReason"; "required": false; "isSignal": true; }; "extraTargets": { "alias": "extraTargets"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
5541
5733
  }
5542
5734
 
5543
5735
  interface FieldAssignmentHolder {
@@ -6179,6 +6371,14 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
6179
6371
  readonly stageOptions: _angular_core.Signal<NamePickerOption[]>;
6180
6372
  isSelected(path: FlowScreenFieldPath): boolean;
6181
6373
  isContainer(field: FlowScreenField | undefined): boolean;
6374
+ isRepeatingSection(field: FlowScreenField | undefined): boolean;
6375
+ /**
6376
+ * §5.2 — il campo ha dei `fields` dentro, quale che sia il loro significato: e' la domanda che
6377
+ * serve al rilascio e al comando «aggiungi qui». I due flag restano distinti — cio' che sta in una
6378
+ * sezione ripetibile e' il **modello di una riga**, non campi della schermata — ma per decidere
6379
+ * *dove* finisce un campo trascinato la differenza non conta.
6380
+ */
6381
+ holdsFields(field: FlowScreenField | undefined): boolean;
6182
6382
  /** `true` sulla sezione, che dispone i figli **in riga**: le colonne stanno una accanto all'altra. */
6183
6383
  isSection(field: FlowScreenField | undefined): boolean;
6184
6384
  childPath(parent: FlowScreenFieldPath, index: number): FlowScreenFieldPath;
@@ -6283,6 +6483,10 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
6283
6483
  */
6284
6484
  private clickTarget;
6285
6485
  addComponentAtSelection(type: string): void;
6486
+ /** Se il tipo puo' finire dove il clic lo metterebbe: e' cio' che disabilita il chip della palette. */
6487
+ canAddAtSelection(type: string): boolean;
6488
+ /** §5.2 — l'unico divieto di collocazione: una sezione ripetibile dentro un'altra. */
6489
+ private canPlaceAt;
6286
6490
  addObjectFieldAtSelection(field: FlowFieldDescription): void;
6287
6491
  /**
6288
6492
  * Un componente nuovo. Una sezione nasce **con una colonna dentro**: una sezione vuota e'
@@ -6347,6 +6551,57 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
6347
6551
  /** L'oggetto di un `ObjectProvided`, cioe' la parte prima del punto (§5.2). */
6348
6552
  readonly providedObject: _angular_core.Signal<string>;
6349
6553
  readonly providedField: _angular_core.Signal<string>;
6554
+ /** Come si legge la voce di dizionario di un campo: il flag e' del dizionario, non del codice. */
6555
+ private readonly typeOfField;
6556
+ readonly selectedIsRepeatingSection: _angular_core.Signal<boolean>;
6557
+ /**
6558
+ * La sezione ripetibile che **contiene** il campo selezionato, se c'e'. Antenato stretto: sulla
6559
+ * sezione stessa e' `undefined`, perche' configurare la sezione e configurare un campo di una riga
6560
+ * sono due pannelli diversi.
6561
+ */
6562
+ readonly selectedRepeater: _angular_core.Signal<FlowScreenField | undefined>;
6563
+ readonly isInsideRepeater: _angular_core.Signal<boolean>;
6564
+ /**
6565
+ * Il **cursore** della riga in cui si sta: e' cio' che si nomina lì dentro (§5.2). Scrivere il nome
6566
+ * del campo — `Luce_POD` — e' `SCREEN_FIELD_IN_REPEATER`, perche' quel campo esiste in una riga per
6567
+ * elemento della collection e il riferimento non ne individua nessuna.
6568
+ */
6569
+ readonly rowCursor: _angular_core.Signal<string>;
6570
+ /**
6571
+ * Cosa proporre **per primo** nei selettori di riferimento del campo selezionato. Dentro una riga
6572
+ * e' il cursore: e' la strada normale, e i campi della riga — che sono cio' che uno cerca per
6573
+ * istinto — non compaiono affatto, perche' non sono riferimenti validi. Fuori e' vuoto, cioe'
6574
+ * l'ordine di sempre.
6575
+ */
6576
+ readonly preferredRoots: _angular_core.Signal<string[]>;
6577
+ /**
6578
+ * I tipi proponibili per il campo selezionato. Dentro una riga manca la sezione ripetibile: **non si
6579
+ * annidano** — il cursore e' una variabile sola per sezione, e due sezioni annidate ne vorrebbero due
6580
+ * vive contemporaneamente. La validazione lo rifiuta comunque, ma un editor che lascia comporre e poi
6581
+ * accusa fa perdere tempo due volte.
6582
+ */
6583
+ readonly fieldTypeOptions: _angular_core.Signal<FlowScreenFieldTypeEntry[]>;
6584
+ /**
6585
+ * La classe delle righe: l'`objectType` della **variabile** in `collectionReference` (§5.2). Si
6586
+ * legge dal documento e non da `getReferences` perche' i due riferimenti di una sezione sono
6587
+ * variabili per forza — ci scrive il runtime — e la risposta serve sincrona, dentro il template.
6588
+ */
6589
+ rowClassOf(section: FlowScreenField | undefined): string | undefined;
6590
+ /** La classe con cui si popolano le tendine dei membri: quella della sezione, dentro o fuori. */
6591
+ readonly rowClass: _angular_core.Signal<string | undefined>;
6592
+ /**
6593
+ * §5.2 — le incoerenze dei due riferimenti sono tutte `REPEATING_SECTION_INVALID`, e si dicono qui
6594
+ * invece di aspettare la validazione: riferimento mancante, costante al posto di una variabile,
6595
+ * collection scambiata col cursore, due classi diverse.
6596
+ */
6597
+ readonly repeaterIssue: _angular_core.Signal<string | null>;
6598
+ /** §5.2 — il massimo mancante e' un **avviso**: senza, l'utente puo' aggiungere righe all'infinito. */
6599
+ readonly repeaterHasNoLimit: _angular_core.Signal<boolean>;
6600
+ /**
6601
+ * La variabile del documento con quel nome, se e' una variabile. Non un riferimento qualunque: una
6602
+ * costante o una formula qui e' `REPEATING_SECTION_INVALID`, e distinguerle e' il punto.
6603
+ */
6604
+ private variableTypeOf;
6350
6605
  /** Scrive una proprieta' del campo selezionato; valore vuoto → chiave omessa (§2). */
6351
6606
  private patchField;
6352
6607
  setFieldProperty(property: keyof FlowScreenField, value: unknown): void;
@@ -6362,7 +6617,12 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
6362
6617
  */
6363
6618
  setFieldType(type: string): void;
6364
6619
  setDefaultValue(value: FlowValue | undefined): void;
6365
- setNumberProperty(property: 'scale' | 'maxLength' | 'width', raw: string): void;
6620
+ setNumberProperty(property: 'scale' | 'maxLength' | 'width' | 'minInstances' | 'maxInstances', raw: string): void;
6621
+ /**
6622
+ * §5.2 — `allowAdd` e `allowRemove` hanno default `true`: si scrive solo il `false`, che e' la
6623
+ * scelta significativa. È la stessa regola dei flag del node (§2), non quella di un `FlowValue`.
6624
+ */
6625
+ setRepeaterFlag(property: 'allowAdd' | 'allowRemove', value: boolean): void;
6366
6626
  /** `isRequired` si scrive solo quando e' vero: il default e' facoltativo. */
6367
6627
  setRequired(value: boolean): void;
6368
6628
  /** `isEditable` ha default `true`: si scrive solo il `false`, che e' la scelta significativa. */
@@ -6405,7 +6665,15 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
6405
6665
  * scrive resta `TARGET_NOT_WRITABLE`. Quindi l'allargamento e' qui, non nel picker.
6406
6666
  */
6407
6667
  readonly screenFieldTargets: _angular_core.Signal<FlowReference[]>;
6408
- /** I campi che raccolgono un valore: gli unici che un'action possa riempire, e gli unici che innescano. */
6668
+ /**
6669
+ * I campi che raccolgono un valore: gli unici che un'action possa riempire, e gli unici che
6670
+ * innescano.
6671
+ *
6672
+ * **Senza quelli dentro una riga**, che raccolgono un valore ma non sono risorse: un trigger nomina
6673
+ * un campo, e il campo di una riga non ne ha uno solo — sarebbe da dichiarare *quale* riga osserva.
6674
+ * Un `triggerFieldName` che punta lì e' `SCREEN_FIELD_IN_REPEATER`, e lo stesso vale per
6675
+ * l'`assignToReference` di un output (§5.2).
6676
+ */
6409
6677
  private valueFieldsOfScreen;
6410
6678
  /**
6411
6679
  * I campi proponibili come innesco. Sono **i campi di questa schermata**, non i riferimenti in
@@ -7009,6 +7277,12 @@ declare class VersionPanelComponent {
7009
7277
  /** La versione per cui e' stata chiesta l'eliminazione: conferma in due passi. */
7010
7278
  readonly pendingDelete: _angular_core.WritableSignal<number | null>;
7011
7279
  isCurrent(version: FlowVersionSummary): boolean;
7280
+ /**
7281
+ * §8 — attiva secondo lo **stato**, non il solo flag: e' la stessa regola con cui la sessione
7282
+ * decide quale versione ha in mano, e tenerne due farebbe una riga marcata attiva e un comando
7283
+ * «Attiva» offerto sopra di essa.
7284
+ */
7285
+ isActive(version: FlowVersionSummary): boolean;
7012
7286
  statusLabel(version: FlowVersionSummary): string;
7013
7287
  open(version: FlowVersionSummary): void;
7014
7288
  activate(version: FlowVersionSummary): Promise<void>;
@@ -7588,5 +7862,5 @@ declare class SelectValueDirective implements AfterViewChecked {
7588
7862
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectValueDirective, "select[fbValue]", never, { "fbValue": { "alias": "fbValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7589
7863
  }
7590
7864
 
7591
- export { ConditionEditorComponent, ConnectorEditorComponent, DebugPanelComponent, DynamicScreenInspectorComponent, ENUM_CHOICE_SET_DEFAULT_DISPLAY_FIELD, ENUM_CHOICE_SET_DEFAULT_VALUE_FIELD, ENUM_CHOICE_SET_FIELDS, ElementDialogComponent, ElementInspectorComponent, ElementPaletteComponent, EnumValuePickerComponent, FALLBACK_COLLECTION_BY_TYPE, FALLBACK_TYPE_LABEL, FLOW_BUILDER_HTTP_CONFIG, FLOW_CLIPBOARD_KIND, FLOW_CLIPBOARD_VERSION, FLOW_ELEMENT_ICONS, FLOW_ELEMENT_VARIANT_FIELDS, FLOW_ELEMENT_VARIANT_ICONS, FLOW_ERROR_FALLBACK_MESSAGE, FLOW_ERROR_HTTP_STATUS, FLOW_FOLD_HEIGHT, FLOW_FOLD_WIDTH, FLOW_GROUP_COLORS, FLOW_NAME_PATTERN, FLOW_NODE_COLLECTIONS, FLOW_NODE_HEIGHT, FLOW_NODE_WIDTH, FLOW_REFERENCE_FIELDS, FLOW_RESOURCE_COLLECTIONS, FLOW_VALUE_FIELDS, FLOW_VALUE_LITERAL_FIELDS, FieldAssignmentEditorComponent, FieldPickerComponent, FieldValuePickerComponent, FlowApiError, FlowBuilderApi, FlowBuilderComponent, FlowCanvasComponent, FlowCatalogStore, FlowClipboardService, FlowDictionaryStore, FlowDocumentStore, FlowEditorSession, FlowLayoutService, FlowValidationStore, FormulaEditorComponent, FormulaValidationService, GROUP_HEADER_HEIGHT, GROUP_MIN_HEIGHT, GROUP_MIN_WIDTH, GROUP_PADDING, GroupPanelComponent, HttpFlowBuilderApi, MergeTextEditorComponent, NamePickerComponent, NodeInspectorBase, ORCHESTRATION_CONDITION_OUTPUT, ObjectPickerComponent, OrchestratedStageInspectorComponent, ParameterEditorComponent, PasteDialogComponent, ProblemsPanelComponent, RecordFilterEditorComponent, ReferencePickerComponent, ResourceDialogComponent, ResourceFormComponent, ResourcePanelComponent, RunDialogComponent, SEVERITY_BUCKETS, SEVERITY_ICON, SEVERITY_LABEL, START_NODE_NAME, SelectValueDirective, StartInspectorComponent, StructureMemberPickerComponent, StructurePickerComponent, TYPES_WITH_AUTOMATIC_OUTPUT, TYPE_BY_COLLECTION, UNSUPPORTED_TYPES, ValueEditorComponent, VersionPanelComponent, allFieldsOf, applyPaste, areTypesComparable, boundsAround, buildClipboardPayload, canvasFoldId, canvasGroupId, canvasNodeId, checkConditionLogic, checkFlowName, choiceSetSourceOf, declaredChoiceSetSources, describeFieldPath, describePathEntry, duplicateField, elementIcon, emptyFlowDefinition, enumChoiceSetFieldType, fieldAt, filterReferences, flattenFields, flowNodeWidth, flowNodeWidthClass, foldSourceConnectorId, foldTargetConnectorId, groupColorClass, groupRect, hasAutoSize, innerNamesOf, insertField, isClipboardPayload, isCustomConditionLogic, isEmptyReferenceFilter, isFieldResource, isFoldReference, isGlobalReference, isNumericType, isPathInside, isTypeCheckedOperator, isUnknownEnumChoiceSetField, isValidFlowName, isValued, loadPathLevel, matchesReferenceFilter, membersInside, moveCondition, moveField, navigatePath, otherSourceFieldsOf, outletByKey, outletsOf, parseCanvasFoldId, parseCanvasGroupId, parseCanvasNodeId, parseFieldPath, parseInvariantNumber, parseSourceConnectorId, parseTargetConnectorId, pathAvailableNames, pathContainerLabel, pathKey, pathNotVerifiableMessage, planPaste, recomputeMembers, referenceRoot, referencedRootsOf, remapConditionLogic, removeCondition, removeField, resolvePath, rewriteReferences, sameMembers, samePath, screenActionNames, screenFieldNames, severityBucket, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, typeOfCollection, uniqueFlowName, valuedFieldOf, valuedFieldsOf, variantFieldOf, variantOf, variantPresetOf };
7592
- export type { ChoiceSetSource, FieldAssignmentHolder, FilterFieldOption, FilterHolder, FlowActionCall, FlowAnyNode, FlowAssignment, FlowAssignmentItem, FlowAssignmentOperator, FlowAssignmentOperatorEntry, FlowBuilderHttpConfig, FlowCanvasEdge, FlowCanvasFold, FlowCanvasGroup, FlowCanvasNode, FlowCatalogEntry, FlowCatalogParameter, FlowChoice, FlowClipboardNode, FlowClipboardPayload, FlowClipboardResource, FlowCloneRequest, FlowCollectionProcessor, FlowCollectionProcessorType, FlowComparisonOperator, FlowComparisonOperatorEntry, FlowCondition, FlowConditionHolder, FlowConditionLogic, FlowConflictState, FlowConnectionKind, FlowConnector, FlowConnectorTarget, FlowConstant, FlowCreateRequest, FlowCustomError, FlowCustomErrorMessage, FlowCustomProperty, FlowDataType, FlowDataTypeEntry, FlowDecision, FlowDecisionRule, FlowDefinition, FlowDictionaries, FlowDictionaryEntry, FlowDynamicChoiceSet, FlowDynamicScreen, FlowEdge, FlowElementType, FlowElementTypeEntry, FlowEnumValue, FlowErrorCategory, FlowExportQuery, FlowFieldDescription, FlowFieldUsage, FlowFieldValue, FlowFormKind, FlowFormula, FlowFormulaFunction, FlowFormulaFunctionParameter, FlowFormulaIssue, FlowFormulaUsage, FlowFormulaValidationRequest, FlowFormulaValidationResult, FlowGlobalVariableEntry, FlowGroup, FlowGroupRef, FlowGroupTarget, FlowInputFieldAssignment, FlowInputParameter, FlowInterviewResult, FlowInterviewStatus, FlowIssueSeverity, FlowLayoutDirection, FlowLayoutNodeInput, FlowLayoutOptions, FlowLayoutResult, FlowListQuery, FlowLoop, FlowNameCheck, FlowNameProblem, FlowNewVersionRequest, FlowNodeBase, FlowNodeCollection, FlowNodeRef, FlowObjectDescription, FlowObjectSummary, FlowOffsetUnit, FlowOrchestratedStage, FlowOutlet, FlowOutline, FlowOutlineConnection, FlowOutlineGroup, FlowOutlineNode, FlowOutputFieldAssignment, FlowOutputParameter, FlowPalettePick, FlowPastePlan, FlowPasteRename, FlowPasteResource, FlowPendingScreen, FlowProcessType, FlowRecordCreate, FlowRecordDelete, FlowRecordFilter, FlowRecordFilterOperator, FlowRecordLookup, FlowRecordRollback, FlowRecordTriggerType, FlowRecordUpdate, FlowRecordValue, FlowRect, FlowReference, FlowReferenceFilter, FlowReferenceKind, FlowRegionContainerType, FlowResourceCollection, FlowResourceEdit, FlowResourceKindEntry, FlowResourceRef, FlowResourceTarget, FlowResumeRequest, FlowRunOutcome, FlowRunRequest, FlowSaveRequest, FlowSaveResult, FlowSchedule, FlowScheduledPath, FlowScreen, FlowScreenAction, FlowScreenField, FlowScreenFieldInputsRevisited, FlowScreenFieldNode, FlowScreenFieldPath, FlowScreenFieldType, FlowScreenFieldTypeEntry, FlowScreenNavigation, FlowScreenResponseRequest, FlowScreenTrigger, FlowScreenTriggerInitBehavior, FlowScreenValidationRule, FlowScriptPluginCall, FlowSeverityBucket, FlowSortOption, FlowSortOrder, FlowStage, FlowStageStep, FlowStageStepActionType, FlowStageStepAssignee, FlowStageStepConditionActionType, FlowStageStepRequest, FlowStageStepState, FlowStageStepStatus, FlowStageStepTypeEntry, FlowStart, FlowStartInterviewRequest, FlowStructureDescribed, FlowStructureDescription, FlowStructureInstance, FlowStructureMember, FlowSubflow, FlowSubflowInputAssignment, FlowSubflowOutputAssignment, FlowSummary, FlowTextTemplate, FlowTraceEntry, FlowTransactionModel, FlowTransform, FlowTransformType, FlowTransformValue, FlowTransformValueAction, FlowTriggerType, FlowTypedEntry, FlowTypedValue, FlowUnsupportedNode, FlowValidationIssue, FlowValidationResult, FlowValue, FlowVariable, FlowVersionStatus, FlowVersionSummary, FlowWait, FlowWaitEvent, NamePickerOption, PaletteGroup, PaletteItem, ParameterHolder, PathCatalog, PathContainer, PathContainerKind, PathEntry, PathLevel, PathLevelStatus, PathNavigation, PathNavigationRequest, PathResolution, PathStopReason, PathValueSet, StructureMemberUsage, ValueMode };
7865
+ export { ConditionEditorComponent, ConnectorEditorComponent, DebugPanelComponent, DynamicScreenInspectorComponent, ENUM_CHOICE_SET_DEFAULT_DISPLAY_FIELD, ENUM_CHOICE_SET_DEFAULT_VALUE_FIELD, ENUM_CHOICE_SET_FIELDS, ElementDialogComponent, ElementInspectorComponent, ElementPaletteComponent, EnumValuePickerComponent, FALLBACK_COLLECTION_BY_TYPE, FALLBACK_TYPE_LABEL, FLOW_BUILDER_HTTP_CONFIG, FLOW_CLIPBOARD_KIND, FLOW_CLIPBOARD_VERSION, FLOW_ELEMENT_ICONS, FLOW_ELEMENT_VARIANT_FIELDS, FLOW_ELEMENT_VARIANT_ICONS, FLOW_ERROR_FALLBACK_MESSAGE, FLOW_ERROR_HTTP_STATUS, FLOW_FOLD_HEIGHT, FLOW_FOLD_WIDTH, FLOW_GROUP_COLORS, FLOW_NAME_PATTERN, FLOW_NODE_COLLECTIONS, FLOW_NODE_HEIGHT, FLOW_NODE_WIDTH, FLOW_REFERENCE_FIELDS, FLOW_RESOURCE_COLLECTIONS, FLOW_VALUE_FIELDS, FLOW_VALUE_LITERAL_FIELDS, FieldAssignmentEditorComponent, FieldPickerComponent, FieldValuePickerComponent, FlowApiError, FlowBuilderApi, FlowBuilderComponent, FlowCanvasComponent, FlowCatalogStore, FlowClipboardService, FlowDictionaryStore, FlowDocumentStore, FlowEditorSession, FlowLayoutService, FlowValidationStore, FormulaEditorComponent, FormulaValidationService, GROUP_HEADER_HEIGHT, GROUP_MIN_HEIGHT, GROUP_MIN_WIDTH, GROUP_PADDING, GroupPanelComponent, HttpFlowBuilderApi, MergeTextEditorComponent, NamePickerComponent, NodeInspectorBase, ORCHESTRATION_CONDITION_OUTPUT, ObjectPickerComponent, OrchestratedStageInspectorComponent, ParameterEditorComponent, PasteDialogComponent, ProblemsPanelComponent, RecordFilterEditorComponent, ReferencePickerComponent, ResourceDialogComponent, ResourceFormComponent, ResourcePanelComponent, RunDialogComponent, SEVERITY_BUCKETS, SEVERITY_ICON, SEVERITY_LABEL, START_NODE_NAME, SelectValueDirective, StartInspectorComponent, StructureMemberPickerComponent, StructurePickerComponent, TYPES_WITH_AUTOMATIC_OUTPUT, TYPE_BY_COLLECTION, UNSUPPORTED_TYPES, ValueEditorComponent, VersionPanelComponent, allFieldsOf, applyPaste, areTypesComparable, boundsAround, buildClipboardPayload, canvasFoldId, canvasGroupId, canvasNodeId, checkConditionLogic, checkFlowName, choiceSetSourceOf, declaredChoiceSetSources, describeFieldPath, describePathEntry, duplicateField, elementIcon, emptyFlowDefinition, enumChoiceSetFieldType, fieldAt, filterReferences, flattenFields, flowNodeWidth, flowNodeWidthClass, foldSourceConnectorId, foldTargetConnectorId, groupColorClass, groupRect, hasAutoSize, innerNamesOf, insertField, isClipboardPayload, isCustomConditionLogic, isEmptyReferenceFilter, isFieldResource, isFoldReference, isGlobalReference, isNumericType, isPathInside, isTypeCheckedOperator, isUnknownEnumChoiceSetField, isValidFlowName, isValued, isVersionActive, loadPathLevel, matchesReferenceFilter, membersInside, moveCondition, moveField, navigatePath, otherSourceFieldsOf, outletByKey, outletsOf, parseCanvasFoldId, parseCanvasGroupId, parseCanvasNodeId, parseFieldPath, parseInvariantNumber, parseSourceConnectorId, parseTargetConnectorId, pathAvailableNames, pathContainerLabel, pathKey, pathNotVerifiableMessage, planPaste, recomputeMembers, referenceRoot, referencedRootsOf, remapConditionLogic, removeCondition, removeField, repeatedFieldNames, repeatingSectionOf, resolvePath, resourceFieldsOf, rewriteReferences, sameMembers, samePath, screenActionNames, screenFieldNames, severityBucket, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, typeOfCollection, uniqueFlowName, valuedFieldOf, valuedFieldsOf, variantFieldOf, variantOf, variantPresetOf };
7866
+ export type { ChoiceSetSource, FieldAssignmentHolder, FilterFieldOption, FilterHolder, FlowActionCall, FlowAnyNode, FlowAssignment, FlowAssignmentItem, FlowAssignmentOperator, FlowAssignmentOperatorEntry, FlowBuilderHttpConfig, FlowCanvasEdge, FlowCanvasFold, FlowCanvasGroup, FlowCanvasNode, FlowCatalogEntry, FlowCatalogParameter, FlowChoice, FlowClipboardNode, FlowClipboardPayload, FlowClipboardResource, FlowCloneRequest, FlowCollectionProcessor, FlowCollectionProcessorType, FlowComparisonOperator, FlowComparisonOperatorEntry, FlowCondition, FlowConditionHolder, FlowConditionLogic, FlowConflictState, FlowConnectionKind, FlowConnector, FlowConnectorTarget, FlowConstant, FlowCreateRequest, FlowCustomError, FlowCustomErrorMessage, FlowCustomProperty, FlowDataType, FlowDataTypeEntry, FlowDecision, FlowDecisionRule, FlowDefinition, FlowDictionaries, FlowDictionaryEntry, FlowDynamicChoiceSet, FlowDynamicScreen, FlowEdge, FlowElementType, FlowElementTypeEntry, FlowEnumValue, FlowErrorCategory, FlowExportQuery, FlowFieldDescription, FlowFieldUsage, FlowFieldValue, FlowFormKind, FlowFormula, FlowFormulaFunction, FlowFormulaFunctionParameter, FlowFormulaIssue, FlowFormulaUsage, FlowFormulaValidationRequest, FlowFormulaValidationResult, FlowGlobalVariableEntry, FlowGroup, FlowGroupRef, FlowGroupTarget, FlowInputFieldAssignment, FlowInputParameter, FlowInterviewResult, FlowInterviewStatus, FlowIssueSeverity, FlowLayoutDirection, FlowLayoutNodeInput, FlowLayoutOptions, FlowLayoutResult, FlowListQuery, FlowLoop, FlowNameCheck, FlowNameProblem, FlowNewVersionRequest, FlowNodeBase, FlowNodeCollection, FlowNodeRef, FlowObjectDescription, FlowObjectSummary, FlowOffsetUnit, FlowOrchestratedStage, FlowOutlet, FlowOutline, FlowOutlineConnection, FlowOutlineGroup, FlowOutlineNode, FlowOutputFieldAssignment, FlowOutputParameter, FlowPalettePick, FlowPastePlan, FlowPasteRename, FlowPasteResource, FlowPendingScreen, FlowProcessType, FlowRecordCreate, FlowRecordDelete, FlowRecordFilter, FlowRecordFilterOperator, FlowRecordLookup, FlowRecordRollback, FlowRecordTriggerType, FlowRecordUpdate, FlowRecordValue, FlowRect, FlowReference, FlowReferenceFilter, FlowReferenceKind, FlowRegionContainerType, FlowResourceCollection, FlowResourceEdit, FlowResourceKindEntry, FlowResourceRef, FlowResourceTarget, FlowResumeRequest, FlowRunOutcome, FlowRunRequest, FlowSaveRequest, FlowSaveResult, FlowSchedule, FlowScheduledPath, FlowScreen, FlowScreenAction, FlowScreenField, FlowScreenFieldInputsRevisited, FlowScreenFieldNode, FlowScreenFieldPath, FlowScreenFieldType, FlowScreenFieldTypeEntry, FlowScreenFieldTypeResolver, FlowScreenNavigation, FlowScreenResponseRequest, FlowScreenTrigger, FlowScreenTriggerInitBehavior, FlowScreenValidationRule, FlowScriptPluginCall, FlowSeverityBucket, FlowSortOption, FlowSortOrder, FlowStage, FlowStageStep, FlowStageStepActionType, FlowStageStepAssignee, FlowStageStepConditionActionType, FlowStageStepRequest, FlowStageStepState, FlowStageStepStatus, FlowStageStepTypeEntry, FlowStart, FlowStartInterviewRequest, FlowStructureDescribed, FlowStructureDescription, FlowStructureInstance, FlowStructureMember, FlowSubflow, FlowSubflowInputAssignment, FlowSubflowOutputAssignment, FlowSummary, FlowTextTemplate, FlowTraceEntry, FlowTransactionModel, FlowTransform, FlowTransformType, FlowTransformValue, FlowTransformValueAction, FlowTriggerType, FlowTypedEntry, FlowTypedValue, FlowUnsupportedNode, FlowValidationIssue, FlowValidationResult, FlowValue, FlowVariable, FlowVersionStatus, FlowVersionSummary, FlowWait, FlowWaitEvent, NamePickerOption, PaletteGroup, PaletteItem, ParameterHolder, PathCatalog, PathContainer, PathContainerKind, PathEntry, PathLevel, PathLevelStatus, PathNavigation, PathNavigationRequest, PathResolution, PathStopReason, PathValueSet, StructureMemberUsage, ValueMode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/flow-builder",
3
- "version": "20.3.44",
3
+ "version": "20.3.46",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^20.2.14",
6
6
  "@angular/common": "^20.3.28",