@esfaenza/flow-builder 20.3.13 → 20.3.14

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
@@ -1673,6 +1673,43 @@ declare function areTypesComparable(left: FlowDataType | undefined | null, right
1673
1673
  */
1674
1674
  declare function parseInvariantNumber(raw: string): number | undefined;
1675
1675
 
1676
+ /**
1677
+ * Quale campo di un `FlowElementReferenceOrValue` porta davvero il valore — FRONTEND.md §4.2.
1678
+ *
1679
+ * La regola del contratto e' "uno e un solo campo valorizzato", e la §2 dice che cio' che non c'e'
1680
+ * si **omette**. Un backend che serializza tutte le proprieta' — `System.Text.Json` senza
1681
+ * `IgnoreNullValues` lo fa di default — rispetta il contratto nella sostanza e lo viola nella forma:
1682
+ * arriva `{"enumValue": "InIstruttoria", "formulaExpression": null, ...}`, cioe' un solo valore e
1683
+ * sette caselle piene di niente.
1684
+ *
1685
+ * Il campo si sceglieva con `!== undefined`, e un `null` passava: la prima casella letta —
1686
+ * `formulaExpression` — vinceva, l'editor apriva la formula (vuota) e il valore, pur presente nel
1687
+ * documento, spariva dalla vista. Da qui questa funzione sola: **`null` e' assente quanto
1688
+ * `undefined`**, e chi interpreta un valore la usa invece di confrontare con `undefined`.
1689
+ *
1690
+ * Sta in `core/` perche' i chiamanti sono piu' d'uno — l'editor del valore, l'editor delle
1691
+ * condizioni — e la regola non deve divergere fra loro.
1692
+ */
1693
+
1694
+ /**
1695
+ * I campi che possono portare il valore, **nell'ordine in cui si interpretano**: `formulaExpression`
1696
+ * per primo perche' e' l'unico a due campi, poi il riferimento, poi i letterali. `formulaDataType`
1697
+ * non c'e': accompagna l'espressione, non e' un valore da solo.
1698
+ */
1699
+ declare const FLOW_VALUE_FIELDS: readonly (keyof FlowValue)[];
1700
+ /** I soli campi letterali: quelli che l'editor mostra sotto la modalita' «Valore». */
1701
+ declare const FLOW_VALUE_LITERAL_FIELDS: readonly (keyof FlowValue)[];
1702
+ /**
1703
+ * `true` se il campo porta un valore. Attenzione ai falsi legittimi: `booleanValue: false`,
1704
+ * `numberValue: 0` e `stringValue: ''` sono valori, quindi il confronto e' con `null`/`undefined`
1705
+ * e non una verifica di verita'.
1706
+ */
1707
+ declare function isValued(field: unknown): boolean;
1708
+ /** I campi valorizzati, nell'ordine di interpretazione: piu' di uno e' `VALUE_AMBIGUOUS` (§4.2). */
1709
+ declare function valuedFieldsOf(value: FlowValue | undefined | null): (keyof FlowValue)[];
1710
+ /** Il campo che l'editor considera **il** valore, cioe' il primo valorizzato nell'ordine sopra. */
1711
+ declare function valuedFieldOf(value: FlowValue | undefined | null): keyof FlowValue | undefined;
1712
+
1676
1713
  /**
1677
1714
  * Gli step di uno stage di orchestrazione — FRONTEND.md §5.13.
1678
1715
  *
@@ -2898,7 +2935,7 @@ declare class ReferencePickerComponent {
2898
2935
  * percorso inesistente di uno scope che i percorsi li dichiara, perche' lì il backend
2899
2936
  * risponderebbe `GLOBAL_UNKNOWN`.
2900
2937
  */
2901
- readonly valueState: _angular_core.Signal<"empty" | "unknown" | "member" | "known" | "navigated" | "host" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid">;
2938
+ readonly valueState: _angular_core.Signal<"member" | "empty" | "unknown" | "known" | "navigated" | "host" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid">;
2902
2939
  /** Le parole cambiano con la tappa: un campo di un'entita' non e' un membro di una classe. */
2903
2940
  private readonly tailIsObject;
2904
2941
  private readonly tailContainer;
@@ -3050,7 +3087,7 @@ declare class NamePickerComponent {
3050
3087
  * **errori** che bloccano l'attivazione (`ACTION_UNKNOWN`, `FORM_UNKNOWN`), mentre un flow
3051
3088
  * senza versione attiva e' un avviso. Mostrarli con lo stesso colore direbbe il falso.
3052
3089
  */
3053
- readonly unknownSeverity: _angular_core.InputSignal<"error" | "warn">;
3090
+ readonly unknownSeverity: _angular_core.InputSignal<"warn" | "error">;
3054
3091
  /** Cosa dire quando l'elenco e' vuoto: e' il caso "non lo so", non un errore. */
3055
3092
  readonly emptyMessage: _angular_core.InputSignal<string>;
3056
3093
  /** Testo monospazio: i nomi tecnici si leggono meglio, ed e' come li mostra il resto del form. */
@@ -3326,7 +3363,7 @@ declare class ConditionEditorComponent {
3326
3363
  */
3327
3364
  hasTypeMismatch(condition: FlowCondition): boolean;
3328
3365
  typeMismatchMessage(condition: FlowCondition): string;
3329
- readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
3366
+ readonly logicMode: _angular_core.Signal<"formula" | "and" | "or" | "custom">;
3330
3367
  readonly customLogic: _angular_core.Signal<string>;
3331
3368
  /** Feedback immediato sull'espressione: la verita' resta della validazione backend. */
3332
3369
  readonly customLogicError: _angular_core.Signal<string | null>;
@@ -3394,7 +3431,7 @@ declare class RecordFilterEditorComponent {
3394
3431
  * (§5.7, §13.10).
3395
3432
  */
3396
3433
  readonly emptyWarning: _angular_core.InputSignal<string | null>;
3397
- readonly emptyWarningSeverity: _angular_core.InputSignal<"error" | "warn">;
3434
+ readonly emptyWarningSeverity: _angular_core.InputSignal<"warn" | "error">;
3398
3435
  readonly changed: _angular_core.OutputEmitterRef<(holder: FilterHolder) => void>;
3399
3436
  /** Tutti i campi, filtrabili o no: serve solo a riconoscere le chiavi composte (§5.7). */
3400
3437
  private readonly allFields;
@@ -3417,7 +3454,7 @@ declare class RecordFilterEditorComponent {
3417
3454
  * evita la ricerca di un campo che nell'elenco non c'e' e non ci sara'.
3418
3455
  */
3419
3456
  readonly identifierNotFilterable: _angular_core.Signal<boolean>;
3420
- readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
3457
+ readonly logicMode: _angular_core.Signal<"formula" | "and" | "or" | "custom">;
3421
3458
  readonly customLogic: _angular_core.Signal<string>;
3422
3459
  readonly showEmptyWarning: _angular_core.Signal<boolean>;
3423
3460
  addFilter(): void;
@@ -4183,5 +4220,5 @@ declare class SelectValueDirective implements AfterViewChecked {
4183
4220
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectValueDirective, "select[fbValue]", never, { "fbValue": { "alias": "fbValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4184
4221
  }
4185
4222
 
4186
- export { ConditionEditorComponent, ConnectorEditorComponent, DebugPanelComponent, ElementDialogComponent, ElementInspectorComponent, ElementPaletteComponent, EnumValuePickerComponent, FALLBACK_COLLECTION_BY_TYPE, FALLBACK_TYPE_LABEL, FLOW_BUILDER_HTTP_CONFIG, FLOW_ELEMENT_ICONS, FLOW_ELEMENT_VARIANT_FIELDS, FLOW_ELEMENT_VARIANT_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, SEVERITY_BUCKETS, SEVERITY_ICON, SEVERITY_LABEL, START_NODE_NAME, SelectValueDirective, StartInspectorComponent, StructureMemberPickerComponent, StructurePickerComponent, TYPES_WITH_AUTOMATIC_OUTPUT, TYPE_BY_COLLECTION, UNSUPPORTED_TYPES, ValueEditorComponent, VersionPanelComponent, areTypesComparable, canvasNodeId, checkConditionLogic, checkFlowName, describePathEntry, elementIcon, emptyFlowDefinition, filterReferences, flowNodeWidth, flowNodeWidthClass, isCustomConditionLogic, isEmptyReferenceFilter, isGlobalReference, isNumericType, isTypeCheckedOperator, isValidFlowName, loadPathLevel, matchesReferenceFilter, moveCondition, navigatePath, outletByKey, outletsOf, parseCanvasNodeId, parseInvariantNumber, parseSourceConnectorId, parseTargetConnectorId, pathAvailableNames, pathContainerLabel, pathNotVerifiableMessage, referenceRoot, remapConditionLogic, removeCondition, resolvePath, severityBucket, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, uniqueFlowName, variantFieldOf, variantOf, variantPresetOf };
4223
+ export { ConditionEditorComponent, ConnectorEditorComponent, DebugPanelComponent, ElementDialogComponent, ElementInspectorComponent, ElementPaletteComponent, EnumValuePickerComponent, FALLBACK_COLLECTION_BY_TYPE, FALLBACK_TYPE_LABEL, FLOW_BUILDER_HTTP_CONFIG, FLOW_ELEMENT_ICONS, FLOW_ELEMENT_VARIANT_FIELDS, FLOW_ELEMENT_VARIANT_ICONS, FLOW_ERROR_FALLBACK_MESSAGE, FLOW_ERROR_HTTP_STATUS, FLOW_NAME_PATTERN, FLOW_NODE_COLLECTIONS, FLOW_NODE_HEIGHT, FLOW_NODE_WIDTH, FLOW_RESOURCE_COLLECTIONS, FLOW_VALUE_FIELDS, FLOW_VALUE_LITERAL_FIELDS, 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, SEVERITY_BUCKETS, SEVERITY_ICON, SEVERITY_LABEL, START_NODE_NAME, SelectValueDirective, StartInspectorComponent, StructureMemberPickerComponent, StructurePickerComponent, TYPES_WITH_AUTOMATIC_OUTPUT, TYPE_BY_COLLECTION, UNSUPPORTED_TYPES, ValueEditorComponent, VersionPanelComponent, areTypesComparable, canvasNodeId, checkConditionLogic, checkFlowName, describePathEntry, elementIcon, emptyFlowDefinition, filterReferences, flowNodeWidth, flowNodeWidthClass, isCustomConditionLogic, isEmptyReferenceFilter, isGlobalReference, isNumericType, isTypeCheckedOperator, isValidFlowName, isValued, loadPathLevel, matchesReferenceFilter, moveCondition, navigatePath, outletByKey, outletsOf, parseCanvasNodeId, parseInvariantNumber, parseSourceConnectorId, parseTargetConnectorId, pathAvailableNames, pathContainerLabel, pathNotVerifiableMessage, referenceRoot, remapConditionLogic, removeCondition, resolvePath, severityBucket, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, uniqueFlowName, valuedFieldOf, valuedFieldsOf, variantFieldOf, variantOf, variantPresetOf };
4187
4224
  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, FlowEnumValue, 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, FlowPalettePick, FlowPendingScreen, FlowProcessType, FlowRecordCreate, FlowRecordDelete, FlowRecordFilter, FlowRecordFilterOperator, FlowRecordLookup, FlowRecordRollback, FlowRecordTriggerType, FlowRecordUpdate, FlowRecordValue, FlowReference, FlowReferenceFilter, FlowReferenceKind, FlowResourceCollection, FlowResourceKindEntry, FlowResourceRef, FlowResumeRequest, FlowSaveRequest, FlowSaveResult, FlowSchedule, FlowScheduledPath, FlowScreen, FlowScreenNavigation, FlowScreenResponseRequest, 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, StructureMemberUsage, ValueMode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/flow-builder",
3
- "version": "20.3.13",
3
+ "version": "20.3.14",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.25",
6
6
  "@angular/core": "^20.3.25",