@esfaenza/flow-builder 20.3.1 → 20.3.2

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
@@ -2192,6 +2192,120 @@ declare class ReferencePickerComponent {
2192
2192
  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; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
2193
2193
  }
2194
2194
 
2195
+ declare class ObjectPickerComponent {
2196
+ private readonly catalog;
2197
+ readonly value: _angular_core.InputSignal<string | undefined>;
2198
+ readonly label: _angular_core.InputSignal<string>;
2199
+ readonly placeholder: _angular_core.InputSignal<string>;
2200
+ readonly disabled: _angular_core.InputSignal<boolean>;
2201
+ readonly valueChange: _angular_core.OutputEmitterRef<string | undefined>;
2202
+ private readonly objects;
2203
+ private readonly loadFailed;
2204
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
2205
+ /**
2206
+ * Il testo digitato **mentre** il pannello e' aperto: filtra l'elenco. Chiuso il pannello
2207
+ * torna a null e la casella mostra di nuovo il valore del documento, che e' l'unica
2208
+ * fonte di verita'.
2209
+ */
2210
+ private readonly query;
2211
+ constructor();
2212
+ /** Quel che si vede nella casella: il filtro se si sta digitando, il valore altrimenti. */
2213
+ readonly text: _angular_core.Signal<string>;
2214
+ readonly options: _angular_core.Signal<FlowObjectSummary[]>;
2215
+ readonly hasCatalog: _angular_core.Signal<boolean>;
2216
+ /**
2217
+ * Nome fuori catalogo: si avvisa e non si blocca. Senza catalogo non si accusa nessuno —
2218
+ * "non lo so" non e' "non esiste".
2219
+ */
2220
+ readonly isUnknown: _angular_core.Signal<boolean>;
2221
+ readonly labelOfValue: _angular_core.Signal<string | null>;
2222
+ readonly loadErrored: _angular_core.Signal<boolean>;
2223
+ open(): void;
2224
+ close(): void;
2225
+ toggle(): void;
2226
+ /** Digitare filtra **e** scrive: il nome puo' non essere in catalogo. */
2227
+ onInput(text: string): void;
2228
+ choose(object: FlowObjectSummary): void;
2229
+ clear(): void;
2230
+ describe(object: FlowObjectSummary): string;
2231
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectPickerComponent, never>;
2232
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectPickerComponent, "fb-object-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; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
2233
+ }
2234
+
2235
+ declare class FieldPickerComponent {
2236
+ private readonly catalog;
2237
+ readonly value: _angular_core.InputSignal<string | undefined>;
2238
+ /** L'entita' di cui elencare i campi: senza oggetto non c'e' catalogo. */
2239
+ readonly object: _angular_core.InputSignal<string | undefined>;
2240
+ readonly usage: _angular_core.InputSignal<FlowFieldUsage>;
2241
+ readonly label: _angular_core.InputSignal<string>;
2242
+ readonly placeholder: _angular_core.InputSignal<string>;
2243
+ readonly disabled: _angular_core.InputSignal<boolean>;
2244
+ readonly valueChange: _angular_core.OutputEmitterRef<string | undefined>;
2245
+ private readonly fields;
2246
+ private readonly loadFailed;
2247
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
2248
+ /** Il testo digitato mentre il pannello e' aperto: filtra l'elenco. */
2249
+ private readonly query;
2250
+ constructor();
2251
+ readonly text: _angular_core.Signal<string>;
2252
+ readonly options: _angular_core.Signal<FlowFieldDescription[]>;
2253
+ readonly hasCatalog: _angular_core.Signal<boolean>;
2254
+ /** `true` se il valore e' un percorso di relazione: non enumerabile, non verificato (§4.4). */
2255
+ readonly isRelationPath: _angular_core.Signal<boolean>;
2256
+ readonly isUnknown: _angular_core.Signal<boolean>;
2257
+ /** L'avviso dipende dall'uso: un campo puo' esistere e non essere filtrabile. */
2258
+ readonly unknownMessage: _angular_core.Signal<"Questo campo non e’ fra quelli filtrabili dell’oggetto." | "Questo campo non e’ fra quelli su cui si puo’ ordinare." | "Questo campo non e’ fra quelli aggiornabili dell’oggetto." | "Questo campo non e’ fra quelli dell’oggetto.">;
2259
+ readonly describeValue: _angular_core.Signal<string | null>;
2260
+ readonly loadErrored: _angular_core.Signal<boolean>;
2261
+ open(): void;
2262
+ close(): void;
2263
+ toggle(): void;
2264
+ onInput(text: string): void;
2265
+ choose(field: FlowFieldDescription): void;
2266
+ clear(): void;
2267
+ describe(field: FlowFieldDescription): string;
2268
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FieldPickerComponent, never>;
2269
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FieldPickerComponent, "fb-field-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "object": { "alias": "object"; "required": false; "isSignal": true; }; "usage": { "alias": "usage"; "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; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
2270
+ }
2271
+
2272
+ interface NamePickerOption {
2273
+ name: string;
2274
+ label?: string | null;
2275
+ description?: string | null;
2276
+ }
2277
+ declare class NamePickerComponent {
2278
+ readonly value: _angular_core.InputSignal<string | undefined>;
2279
+ readonly options: _angular_core.InputSignal<NamePickerOption[]>;
2280
+ readonly label: _angular_core.InputSignal<string>;
2281
+ readonly placeholder: _angular_core.InputSignal<string>;
2282
+ readonly disabled: _angular_core.InputSignal<boolean>;
2283
+ /** Il testo dell'avviso sul nome fuori elenco: dipende da cosa si sta scegliendo. */
2284
+ readonly unknownMessage: _angular_core.InputSignal<string>;
2285
+ /** Cosa dire quando l'elenco e' vuoto: e' il caso "non lo so", non un errore. */
2286
+ readonly emptyMessage: _angular_core.InputSignal<string>;
2287
+ /** Testo monospazio: i nomi tecnici si leggono meglio, ed e' come li mostra il resto del form. */
2288
+ readonly isMono: _angular_core.InputSignal<boolean>;
2289
+ readonly valueChange: _angular_core.OutputEmitterRef<string | undefined>;
2290
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
2291
+ private readonly query;
2292
+ constructor();
2293
+ readonly text: _angular_core.Signal<string>;
2294
+ readonly visibleOptions: _angular_core.Signal<NamePickerOption[]>;
2295
+ readonly hasOptions: _angular_core.Signal<boolean>;
2296
+ readonly isUnknown: _angular_core.Signal<boolean>;
2297
+ readonly labelOfValue: _angular_core.Signal<string | null>;
2298
+ open(): void;
2299
+ close(): void;
2300
+ toggle(): void;
2301
+ onInput(text: string): void;
2302
+ choose(option: NamePickerOption): void;
2303
+ clear(): void;
2304
+ describe(option: NamePickerOption): string;
2305
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NamePickerComponent, never>;
2306
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NamePickerComponent, "fb-name-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "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; }; "unknownMessage": { "alias": "unknownMessage"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "isMono": { "alias": "isMono"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
2307
+ }
2308
+
2195
2309
  /** Le modalita' offerte: una per campo del modello. */
2196
2310
  type ValueMode = 'reference' | 'literal' | 'formula' | 'globalConstant' | 'empty';
2197
2311
  declare class ValueEditorComponent {
@@ -2293,7 +2407,7 @@ declare class ConditionEditorComponent {
2293
2407
  */
2294
2408
  hasTypeMismatch(condition: FlowCondition): boolean;
2295
2409
  typeMismatchMessage(condition: FlowCondition): string;
2296
- readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
2410
+ readonly logicMode: _angular_core.Signal<"and" | "or" | "custom" | "formula">;
2297
2411
  readonly customLogic: _angular_core.Signal<string>;
2298
2412
  /** Feedback immediato sull'espressione: la verita' resta della validazione backend. */
2299
2413
  readonly customLogicError: _angular_core.Signal<string | null>;
@@ -2361,16 +2475,13 @@ declare class RecordFilterEditorComponent {
2361
2475
  * (§5.7, §13.10).
2362
2476
  */
2363
2477
  readonly emptyWarning: _angular_core.InputSignal<string | null>;
2364
- readonly emptyWarningSeverity: _angular_core.InputSignal<"error" | "warn">;
2478
+ readonly emptyWarningSeverity: _angular_core.InputSignal<"warn" | "error">;
2365
2479
  readonly changed: _angular_core.OutputEmitterRef<(holder: FilterHolder) => void>;
2366
2480
  private readonly fields;
2367
2481
  readonly filters: _angular_core.Signal<FlowRecordFilter[]>;
2368
2482
  readonly operators: _angular_core.Signal<_esfaenza_flow_builder.FlowDictionaryEntry[]>;
2369
2483
  constructor();
2370
- readonly fieldOptions: _angular_core.Signal<FlowFieldDescription[]>;
2371
- /** Catalogo vuoto = "non lo so": si lascia il campo libero, non si blocca (§7). */
2372
- readonly hasFieldCatalog: _angular_core.Signal<boolean>;
2373
- readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
2484
+ readonly logicMode: _angular_core.Signal<"and" | "or" | "custom" | "formula">;
2374
2485
  readonly customLogic: _angular_core.Signal<string>;
2375
2486
  readonly showEmptyWarning: _angular_core.Signal<boolean>;
2376
2487
  addFilter(): void;
@@ -2384,10 +2495,11 @@ declare class RecordFilterEditorComponent {
2384
2495
  setLogicMode(mode: 'and' | 'or' | 'custom' | 'formula'): void;
2385
2496
  setCustomLogic(logic: string): void;
2386
2497
  setFormula(formula: string): void;
2387
- /** Il tipo del campo, per proporre il controllo giusto sul valore. */
2498
+ /**
2499
+ * Il tipo del campo, per proporre il controllo giusto sul valore: e' il motivo per cui il
2500
+ * catalogo resta caricato qui, e non solo dentro il picker.
2501
+ */
2388
2502
  fieldDataType(filter: FlowRecordFilter): string | undefined;
2389
- /** `true` se il campo referenzia una relazione: la validazione non lo verifica (§4.4). */
2390
- isRelationPath(filter: FlowRecordFilter): boolean;
2391
2503
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RecordFilterEditorComponent, never>;
2392
2504
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RecordFilterEditorComponent, "fb-record-filter-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "object": { "alias": "object"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "usage": { "alias": "usage"; "required": false; "isSignal": true; }; "supportsLogic": { "alias": "supportsLogic"; "required": false; "isSignal": true; }; "supportsFormula": { "alias": "supportsFormula"; "required": false; "isSignal": true; }; "emptyWarning": { "alias": "emptyWarning"; "required": false; "isSignal": true; }; "emptyWarningSeverity": { "alias": "emptyWarningSeverity"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
2393
2505
  }
@@ -2443,7 +2555,6 @@ declare class FieldAssignmentEditorComponent {
2443
2555
  readonly changed: _angular_core.OutputEmitterRef<(holder: FieldAssignmentHolder) => void>;
2444
2556
  private readonly fields;
2445
2557
  readonly assignments: _angular_core.Signal<FlowInputFieldAssignment[]>;
2446
- readonly fieldOptions: _angular_core.Signal<FlowFieldDescription[]>;
2447
2558
  readonly hasCatalog: _angular_core.Signal<boolean>;
2448
2559
  /** Campi obbligatori dell'entita' non ancora valorizzati. */
2449
2560
  readonly missingRequired: _angular_core.Signal<FlowFieldDescription[]>;
@@ -2452,9 +2563,11 @@ declare class FieldAssignmentEditorComponent {
2452
2563
  remove(index: number): void;
2453
2564
  setField(index: number, field: string): void;
2454
2565
  setValue(index: number, value: FlowValue | undefined): void;
2566
+ /**
2567
+ * Il tipo del campo serve all'editor di valore: e' il motivo per cui il catalogo resta
2568
+ * caricato anche qui, oltre che dentro il picker.
2569
+ */
2455
2570
  describe(name: string | undefined): FlowFieldDescription | undefined;
2456
- /** Il catalogo e' popolato ma non conosce questo campo: sarebbe `FIELD_UNKNOWN`. */
2457
- isUnknown(assignment: FlowInputFieldAssignment): boolean;
2458
2571
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FieldAssignmentEditorComponent, never>;
2459
2572
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FieldAssignmentEditorComponent, "fb-field-assignment-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "object": { "alias": "object"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "disabledReason": { "alias": "disabledReason"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
2460
2573
  }
@@ -2597,7 +2710,6 @@ declare class ElementDialogComponent {
2597
2710
  declare class StartInspectorComponent {
2598
2711
  private readonly store;
2599
2712
  private readonly dictionaries;
2600
- private readonly catalog;
2601
2713
  private readonly validation;
2602
2714
  readonly start: _angular_core.Signal<FlowStart>;
2603
2715
  readonly startNode: _angular_core.Signal<FlowAnyNode>;
@@ -2606,10 +2718,6 @@ declare class StartInspectorComponent {
2606
2718
  readonly recordTriggerTypes: _angular_core.Signal<_esfaenza_flow_builder.FlowDictionaryEntry[]>;
2607
2719
  readonly frequencies: _angular_core.Signal<_esfaenza_flow_builder.FlowDictionaryEntry[]>;
2608
2720
  readonly offsetUnits: _angular_core.Signal<_esfaenza_flow_builder.FlowDictionaryEntry[]>;
2609
- private readonly objects;
2610
- constructor();
2611
- readonly objectOptions: _angular_core.Signal<FlowObjectSummary[]>;
2612
- readonly hasObjectCatalog: _angular_core.Signal<boolean>;
2613
2721
  readonly triggerType: _angular_core.Signal<string>;
2614
2722
  readonly isRecordTrigger: _angular_core.Signal<boolean>;
2615
2723
  readonly isScheduled: _angular_core.Signal<boolean>;
@@ -2663,9 +2771,8 @@ declare class OrchestratedStageInspectorComponent extends NodeInspectorBase {
2663
2771
  */
2664
2772
  private readonly flowCandidates;
2665
2773
  constructor();
2666
- readonly candidates: _angular_core.Signal<FlowSummary[]>;
2667
- /** L'id del `datalist`: dipende dall'elemento, per non collidere con un altro stage. */
2668
- readonly flowListId: _angular_core.Signal<string>;
2774
+ /** I candidati come li vuole il picker: il nome del flow e' il suo `flowName`. */
2775
+ readonly candidateOptions: _angular_core.Signal<NamePickerOption[]>;
2669
2776
  /**
2670
2777
  * I contenitori di condizioni, uno per step, calcolati **una volta** per documento: costruirli
2671
2778
  * nel template creerebbe un oggetto nuovo a ogni ciclo di change detection.
@@ -2750,14 +2857,12 @@ declare class ResourcePanelComponent {
2750
2857
  readonly kinds: ResourceKindDescriptor[];
2751
2858
  readonly dataTypes: _angular_core.Signal<_esfaenza_flow_builder.FlowDataTypeEntry[]>;
2752
2859
  readonly sortOrders: _angular_core.Signal<_esfaenza_flow_builder.FlowDictionaryEntry[]>;
2753
- private readonly objects;
2754
2860
  private readonly enumTypes;
2755
2861
  /** La collection aperta nel pannello. */
2756
2862
  readonly activeCollection: _angular_core.WritableSignal<"variables" | "constants" | "formulas" | "textTemplates" | "choices" | "dynamicChoiceSets" | "stages">;
2757
2863
  /** L'indice della risorsa in modifica, o `null`. */
2758
2864
  readonly editingIndex: _angular_core.WritableSignal<number | null>;
2759
2865
  constructor();
2760
- readonly objectOptions: _angular_core.Signal<FlowObjectSummary[]>;
2761
2866
  readonly enumOptions: _angular_core.Signal<FlowCatalogEntry[]>;
2762
2867
  readonly activeKind: _angular_core.Signal<ResourceKindDescriptor>;
2763
2868
  readonly items: _angular_core.Signal<FlowResourceRef[]>;
@@ -3071,5 +3176,5 @@ declare class SelectValueDirective implements AfterViewChecked {
3071
3176
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectValueDirective, "select[fbValue]", never, { "fbValue": { "alias": "fbValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3072
3177
  }
3073
3178
 
3074
- export { ConditionEditorComponent, ConnectorEditorComponent, DebugPanelComponent, ElementDialogComponent, ElementInspectorComponent, ElementPaletteComponent, FALLBACK_COLLECTION_BY_TYPE, FALLBACK_TYPE_LABEL, FLOW_BUILDER_HTTP_CONFIG, FLOW_ELEMENT_ICONS, FLOW_ERROR_FALLBACK_MESSAGE, FLOW_ERROR_HTTP_STATUS, FLOW_NAME_PATTERN, FLOW_NODE_COLLECTIONS, FLOW_NODE_HEIGHT, FLOW_NODE_WIDTH, FLOW_RESOURCE_COLLECTIONS, FieldAssignmentEditorComponent, FlowApiError, FlowBuilderApi, FlowBuilderComponent, FlowCanvasComponent, FlowCatalogStore, FlowDictionaryStore, FlowDocumentStore, FlowEditorSession, FlowLayoutService, FlowValidationStore, HttpFlowBuilderApi, NodeInspectorBase, ORCHESTRATION_CONDITION_OUTPUT, OrchestratedStageInspectorComponent, ParameterEditorComponent, ProblemsPanelComponent, RecordFilterEditorComponent, ReferencePickerComponent, ResourcePanelComponent, START_NODE_NAME, SelectValueDirective, StartInspectorComponent, TYPES_WITH_AUTOMATIC_OUTPUT, TYPE_BY_COLLECTION, UNSUPPORTED_TYPES, ValueEditorComponent, VersionPanelComponent, areTypesComparable, canvasNodeId, checkConditionLogic, checkFlowName, elementIcon, emptyFlowDefinition, flowNodeWidth, flowNodeWidthClass, isCustomConditionLogic, isGlobalReference, isNumericType, isTypeCheckedOperator, isValidFlowName, moveCondition, outletByKey, outletsOf, parseCanvasNodeId, parseInvariantNumber, parseSourceConnectorId, parseTargetConnectorId, referenceRoot, remapConditionLogic, removeCondition, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, uniqueFlowName };
3075
- export type { FieldAssignmentHolder, FilterHolder, FlowActionCall, FlowAnyNode, FlowAssignment, FlowAssignmentItem, FlowAssignmentOperator, FlowAssignmentOperatorEntry, FlowBuilderHttpConfig, FlowCanvasEdge, FlowCanvasNode, FlowCatalogEntry, FlowCatalogParameter, FlowChoice, 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, FlowEdge, FlowElementType, FlowElementTypeEntry, FlowErrorCategory, FlowExportQuery, FlowFieldDescription, FlowFieldUsage, FlowFieldValue, FlowFormula, FlowGlobalVariableEntry, FlowInputFieldAssignment, FlowInputParameter, FlowInterviewResult, FlowInterviewStatus, FlowIssueSeverity, FlowLayoutDirection, FlowLayoutNodeInput, FlowLayoutOptions, FlowLayoutResult, FlowListQuery, FlowLoop, FlowNameCheck, FlowNameProblem, FlowNewVersionRequest, FlowNodeBase, FlowNodeCollection, FlowNodeRef, FlowObjectDescription, FlowObjectSummary, FlowOffsetUnit, FlowOrchestratedStage, FlowOutlet, FlowOutline, FlowOutlineConnection, FlowOutlineNode, FlowOutputFieldAssignment, FlowOutputParameter, FlowPendingScreen, FlowProcessType, FlowRecordCreate, FlowRecordDelete, FlowRecordFilter, FlowRecordFilterOperator, FlowRecordLookup, FlowRecordRollback, FlowRecordTriggerType, FlowRecordUpdate, FlowReference, FlowReferenceKind, FlowReferenceQuery, FlowResourceCollection, FlowResourceKindEntry, FlowResourceRef, FlowResumeRequest, FlowSaveRequest, FlowSaveResult, FlowSchedule, FlowScheduledPath, FlowScreen, FlowScreenNavigation, FlowScreenResponseRequest, FlowScriptPluginCall, FlowSortOption, FlowSortOrder, FlowStage, FlowStageStep, FlowStageStepActionType, FlowStageStepAssignee, FlowStageStepConditionActionType, FlowStageStepRequest, FlowStageStepState, FlowStageStepStatus, FlowStageStepTypeEntry, FlowStart, FlowStartInterviewRequest, FlowSubflow, FlowSubflowInputAssignment, FlowSubflowOutputAssignment, FlowSummary, FlowTextTemplate, FlowTraceEntry, FlowTransactionModel, FlowTransform, FlowTransformType, FlowTransformValue, FlowTransformValueAction, FlowTriggerType, FlowTypedValue, FlowUnsupportedNode, FlowValidationIssue, FlowValidationResult, FlowValue, FlowVariable, FlowVersionStatus, FlowVersionSummary, FlowWait, FlowWaitEvent, ParameterHolder, ValueMode };
3179
+ export { ConditionEditorComponent, ConnectorEditorComponent, DebugPanelComponent, ElementDialogComponent, ElementInspectorComponent, ElementPaletteComponent, FALLBACK_COLLECTION_BY_TYPE, FALLBACK_TYPE_LABEL, FLOW_BUILDER_HTTP_CONFIG, FLOW_ELEMENT_ICONS, FLOW_ERROR_FALLBACK_MESSAGE, FLOW_ERROR_HTTP_STATUS, FLOW_NAME_PATTERN, FLOW_NODE_COLLECTIONS, FLOW_NODE_HEIGHT, FLOW_NODE_WIDTH, FLOW_RESOURCE_COLLECTIONS, FieldAssignmentEditorComponent, FieldPickerComponent, FlowApiError, FlowBuilderApi, FlowBuilderComponent, FlowCanvasComponent, FlowCatalogStore, FlowDictionaryStore, FlowDocumentStore, FlowEditorSession, FlowLayoutService, FlowValidationStore, HttpFlowBuilderApi, NamePickerComponent, NodeInspectorBase, ORCHESTRATION_CONDITION_OUTPUT, ObjectPickerComponent, OrchestratedStageInspectorComponent, ParameterEditorComponent, ProblemsPanelComponent, RecordFilterEditorComponent, ReferencePickerComponent, ResourcePanelComponent, START_NODE_NAME, SelectValueDirective, StartInspectorComponent, TYPES_WITH_AUTOMATIC_OUTPUT, TYPE_BY_COLLECTION, UNSUPPORTED_TYPES, ValueEditorComponent, VersionPanelComponent, areTypesComparable, canvasNodeId, checkConditionLogic, checkFlowName, elementIcon, emptyFlowDefinition, flowNodeWidth, flowNodeWidthClass, isCustomConditionLogic, isGlobalReference, isNumericType, isTypeCheckedOperator, isValidFlowName, moveCondition, outletByKey, outletsOf, parseCanvasNodeId, parseInvariantNumber, parseSourceConnectorId, parseTargetConnectorId, referenceRoot, remapConditionLogic, removeCondition, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, uniqueFlowName };
3180
+ export type { FieldAssignmentHolder, FilterHolder, FlowActionCall, FlowAnyNode, FlowAssignment, FlowAssignmentItem, FlowAssignmentOperator, FlowAssignmentOperatorEntry, FlowBuilderHttpConfig, FlowCanvasEdge, FlowCanvasNode, FlowCatalogEntry, FlowCatalogParameter, FlowChoice, 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, FlowEdge, FlowElementType, FlowElementTypeEntry, FlowErrorCategory, FlowExportQuery, FlowFieldDescription, FlowFieldUsage, FlowFieldValue, FlowFormula, FlowGlobalVariableEntry, FlowInputFieldAssignment, FlowInputParameter, FlowInterviewResult, FlowInterviewStatus, FlowIssueSeverity, FlowLayoutDirection, FlowLayoutNodeInput, FlowLayoutOptions, FlowLayoutResult, FlowListQuery, FlowLoop, FlowNameCheck, FlowNameProblem, FlowNewVersionRequest, FlowNodeBase, FlowNodeCollection, FlowNodeRef, FlowObjectDescription, FlowObjectSummary, FlowOffsetUnit, FlowOrchestratedStage, FlowOutlet, FlowOutline, FlowOutlineConnection, FlowOutlineNode, FlowOutputFieldAssignment, FlowOutputParameter, FlowPendingScreen, FlowProcessType, FlowRecordCreate, FlowRecordDelete, FlowRecordFilter, FlowRecordFilterOperator, FlowRecordLookup, FlowRecordRollback, FlowRecordTriggerType, FlowRecordUpdate, FlowReference, FlowReferenceKind, FlowReferenceQuery, FlowResourceCollection, FlowResourceKindEntry, FlowResourceRef, FlowResumeRequest, FlowSaveRequest, FlowSaveResult, FlowSchedule, FlowScheduledPath, FlowScreen, FlowScreenNavigation, FlowScreenResponseRequest, FlowScriptPluginCall, FlowSortOption, FlowSortOrder, FlowStage, FlowStageStep, FlowStageStepActionType, FlowStageStepAssignee, FlowStageStepConditionActionType, FlowStageStepRequest, FlowStageStepState, FlowStageStepStatus, FlowStageStepTypeEntry, FlowStart, FlowStartInterviewRequest, FlowSubflow, FlowSubflowInputAssignment, FlowSubflowOutputAssignment, FlowSummary, FlowTextTemplate, FlowTraceEntry, FlowTransactionModel, FlowTransform, FlowTransformType, FlowTransformValue, FlowTransformValueAction, FlowTriggerType, FlowTypedValue, FlowUnsupportedNode, FlowValidationIssue, FlowValidationResult, FlowValue, FlowVariable, FlowVersionStatus, FlowVersionSummary, FlowWait, FlowWaitEvent, NamePickerOption, ParameterHolder, ValueMode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/flow-builder",
3
- "version": "20.3.1",
3
+ "version": "20.3.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.25",
6
6
  "@angular/core": "^20.3.25",
@@ -413,6 +413,19 @@ f-flow .fb-edge--goto .f-connection-path {
413
413
  margin-bottom: 6px;
414
414
  }
415
415
 
416
+ /**
417
+ * I picker sono elementi custom: senza `flex` occuperebbero la larghezza del loro contenuto,
418
+ * e dentro l'intestazione di una voce di elenco resterebbero una casella minuscola accanto al
419
+ * bottone di rimozione. La regola sta qui perche' vale per ogni editor che li mette in fila.
420
+ */
421
+ .fb-list__header > fb-name-picker,
422
+ .fb-list__header > fb-field-picker,
423
+ .fb-list__header > fb-object-picker,
424
+ .fb-list__header > fb-reference-picker {
425
+ flex: 1;
426
+ min-width: 0;
427
+ }
428
+
416
429
  .fb-list__index {
417
430
  display: grid;
418
431
  place-items: center;