@mindlogic-ai/logician-ui 3.1.0 → 3.2.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Icon/_constants/iconList.d.ts +1 -1
- package/dist/components/Icon/_constants/iconList.d.ts.map +1 -1
- package/dist/components/Icon/_constants/iconList.js +18 -0
- package/dist/components/Icon/_constants/iconList.js.map +1 -1
- package/dist/components/Icon/_constants/iconList.mjs +20 -2
- package/dist/components/Icon/_constants/iconList.mjs.map +1 -1
- package/dist/components/Icon/index.d.ts +2 -1
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js +20 -1
- package/dist/components/Icon/index.js.map +1 -1
- package/dist/components/Icon/index.mjs +4 -2
- package/dist/components/Icon/index.mjs.map +1 -1
- package/dist/components/Workflow/Workflow.d.ts +3 -0
- package/dist/components/Workflow/Workflow.d.ts.map +1 -0
- package/dist/components/Workflow/Workflow.js +109 -0
- package/dist/components/Workflow/Workflow.js.map +1 -0
- package/dist/components/Workflow/Workflow.mjs +107 -0
- package/dist/components/Workflow/Workflow.mjs.map +1 -0
- package/dist/components/Workflow/Workflow.translations.json.js +164 -0
- package/dist/components/Workflow/Workflow.translations.json.js.map +1 -0
- package/dist/components/Workflow/Workflow.translations.json.mjs +138 -0
- package/dist/components/Workflow/Workflow.translations.json.mjs.map +1 -0
- package/dist/components/Workflow/Workflow.types.d.ts +435 -0
- package/dist/components/Workflow/Workflow.types.d.ts.map +1 -0
- package/dist/components/Workflow/Workflow.types.js +19 -0
- package/dist/components/Workflow/Workflow.types.js.map +1 -0
- package/dist/components/Workflow/Workflow.types.mjs +16 -0
- package/dist/components/Workflow/Workflow.types.mjs.map +1 -0
- package/dist/components/Workflow/WorkflowContext/WorkflowContext.d.ts +10 -0
- package/dist/components/Workflow/WorkflowContext/WorkflowContext.d.ts.map +1 -0
- package/dist/components/Workflow/WorkflowContext/WorkflowContext.js +163 -0
- package/dist/components/Workflow/WorkflowContext/WorkflowContext.js.map +1 -0
- package/dist/components/Workflow/WorkflowContext/WorkflowContext.mjs +159 -0
- package/dist/components/Workflow/WorkflowContext/WorkflowContext.mjs.map +1 -0
- package/dist/components/Workflow/WorkflowContext/WorkflowContext.types.d.ts +117 -0
- package/dist/components/Workflow/WorkflowContext/WorkflowContext.types.d.ts.map +1 -0
- package/dist/components/Workflow/WorkflowContext/index.d.ts +3 -0
- package/dist/components/Workflow/WorkflowContext/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.d.ts +19 -0
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.js +44 -0
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.js.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.mjs +42 -0
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.mjs.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.d.ts +10 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.js +531 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.js.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.mjs +529 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.mjs.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.d.ts +53 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.js +96 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.js.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.mjs +93 -0
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.mjs.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/CanvasControls.d.ts +27 -0
- package/dist/components/Workflow/canvas/Canvas/CanvasControls.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/CanvasControls.js +70 -0
- package/dist/components/Workflow/canvas/Canvas/CanvasControls.js.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/CanvasControls.mjs +68 -0
- package/dist/components/Workflow/canvas/Canvas/CanvasControls.mjs.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.d.ts +10 -0
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.js +106 -0
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.js.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.mjs +104 -0
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.mjs.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.d.ts +13 -0
- package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.js +18 -0
- package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.js.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.mjs +16 -0
- package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.mjs.map +1 -0
- package/dist/components/Workflow/canvas/Canvas/index.d.ts +2 -0
- package/dist/components/Workflow/canvas/Canvas/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.d.ts +30 -0
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.js +34 -0
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.js.map +1 -0
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.mjs +32 -0
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.mjs.map +1 -0
- package/dist/components/Workflow/canvas/CollapsibleSection/index.d.ts +2 -0
- package/dist/components/Workflow/canvas/CollapsibleSection/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.d.ts +37 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.js +33 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.js.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.mjs +31 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.mjs.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.d.ts +16 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.js +54 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.js.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.mjs +52 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.mjs.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.d.ts +27 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.js +178 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.js.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.mjs +176 -0
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.mjs.map +1 -0
- package/dist/components/Workflow/canvas/DrawerShell/index.d.ts +3 -0
- package/dist/components/Workflow/canvas/DrawerShell/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.d.ts +12 -0
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.js +68 -0
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.js.map +1 -0
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.mjs +66 -0
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.mjs.map +1 -0
- package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.d.ts +19 -0
- package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.js +35 -0
- package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.js.map +1 -0
- package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.mjs +32 -0
- package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.mjs.map +1 -0
- package/dist/components/Workflow/canvas/EdgeInspector/index.d.ts +3 -0
- package/dist/components/Workflow/canvas/EdgeInspector/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.d.ts +54 -0
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.js +56 -0
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.js.map +1 -0
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.mjs +54 -0
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.mjs.map +1 -0
- package/dist/components/Workflow/canvas/FieldWrapper/index.d.ts +3 -0
- package/dist/components/Workflow/canvas/FieldWrapper/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.d.ts +16 -0
- package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.js +25 -0
- package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.js.map +1 -0
- package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.mjs +22 -0
- package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.mjs.map +1 -0
- package/dist/components/Workflow/canvas/FloatingCard/index.d.ts +2 -0
- package/dist/components/Workflow/canvas/FloatingCard/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/GenericNode/GenericNode.d.ts +14 -0
- package/dist/components/Workflow/canvas/GenericNode/GenericNode.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/GenericNode/GenericNode.js +61 -0
- package/dist/components/Workflow/canvas/GenericNode/GenericNode.js.map +1 -0
- package/dist/components/Workflow/canvas/GenericNode/GenericNode.mjs +59 -0
- package/dist/components/Workflow/canvas/GenericNode/GenericNode.mjs.map +1 -0
- package/dist/components/Workflow/canvas/GenericNode/GenericNode.types.d.ts +11 -0
- package/dist/components/Workflow/canvas/GenericNode/GenericNode.types.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/GenericNode/index.d.ts +3 -0
- package/dist/components/Workflow/canvas/GenericNode/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.d.ts +15 -0
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.js +145 -0
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.js.map +1 -0
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.mjs +143 -0
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.mjs.map +1 -0
- package/dist/components/Workflow/canvas/GraphErrorBanner/index.d.ts +2 -0
- package/dist/components/Workflow/canvas/GraphErrorBanner/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.d.ts +10 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.js +21 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.js.map +1 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.mjs +19 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.mjs.map +1 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.d.ts +18 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.js +40 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.js.map +1 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.mjs +37 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.mjs.map +1 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.types.d.ts +15 -0
- package/dist/components/Workflow/canvas/IconTile/IconTile.types.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/IconTile/index.d.ts +4 -0
- package/dist/components/Workflow/canvas/IconTile/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/IssueList/IssueList.d.ts +24 -0
- package/dist/components/Workflow/canvas/IssueList/IssueList.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/IssueList/IssueList.js +34 -0
- package/dist/components/Workflow/canvas/IssueList/IssueList.js.map +1 -0
- package/dist/components/Workflow/canvas/IssueList/IssueList.mjs +32 -0
- package/dist/components/Workflow/canvas/IssueList/IssueList.mjs.map +1 -0
- package/dist/components/Workflow/canvas/IssueList/index.d.ts +2 -0
- package/dist/components/Workflow/canvas/IssueList/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.d.ts +9 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.js +94 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.js.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs +92 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.d.ts +7 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.js +13 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.js.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.mjs +10 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.mjs.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.d.ts +10 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.js +28 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.js.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.mjs +26 -0
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.mjs.map +1 -0
- package/dist/components/Workflow/canvas/NodePalette/index.d.ts +4 -0
- package/dist/components/Workflow/canvas/NodePalette/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.d.ts +3 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.js +137 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.js.map +1 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.mjs +135 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.mjs.map +1 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.d.ts +66 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.js +87 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.js.map +1 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.mjs +77 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.mjs.map +1 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.types.d.ts +35 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.types.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/NodeShell/index.d.ts +4 -0
- package/dist/components/Workflow/canvas/NodeShell/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.d.ts +15 -0
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.js +14 -0
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.js.map +1 -0
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.mjs +12 -0
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.mjs.map +1 -0
- package/dist/components/Workflow/canvas/SeverityDot/index.d.ts +2 -0
- package/dist/components/Workflow/canvas/SeverityDot/index.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/issueSeverity.d.ts +23 -0
- package/dist/components/Workflow/canvas/issueSeverity.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/issueSeverity.js +51 -0
- package/dist/components/Workflow/canvas/issueSeverity.js.map +1 -0
- package/dist/components/Workflow/canvas/issueSeverity.mjs +47 -0
- package/dist/components/Workflow/canvas/issueSeverity.mjs.map +1 -0
- package/dist/components/Workflow/canvas/useFieldFocusRequest.d.ts +14 -0
- package/dist/components/Workflow/canvas/useFieldFocusRequest.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/useFieldFocusRequest.js +48 -0
- package/dist/components/Workflow/canvas/useFieldFocusRequest.js.map +1 -0
- package/dist/components/Workflow/canvas/useFieldFocusRequest.mjs +46 -0
- package/dist/components/Workflow/canvas/useFieldFocusRequest.mjs.map +1 -0
- package/dist/components/Workflow/canvas/workflowLabelProps.d.ts +12 -0
- package/dist/components/Workflow/canvas/workflowLabelProps.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/workflowLabelProps.js +17 -0
- package/dist/components/Workflow/canvas/workflowLabelProps.js.map +1 -0
- package/dist/components/Workflow/canvas/workflowLabelProps.mjs +15 -0
- package/dist/components/Workflow/canvas/workflowLabelProps.mjs.map +1 -0
- package/dist/components/Workflow/connectionRules.d.ts +59 -0
- package/dist/components/Workflow/connectionRules.d.ts.map +1 -0
- package/dist/components/Workflow/connectionRules.js +150 -0
- package/dist/components/Workflow/connectionRules.js.map +1 -0
- package/dist/components/Workflow/connectionRules.mjs +145 -0
- package/dist/components/Workflow/connectionRules.mjs.map +1 -0
- package/dist/components/Workflow/createNode.d.ts +27 -0
- package/dist/components/Workflow/createNode.d.ts.map +1 -0
- package/dist/components/Workflow/createNode.js +66 -0
- package/dist/components/Workflow/createNode.js.map +1 -0
- package/dist/components/Workflow/createNode.mjs +62 -0
- package/dist/components/Workflow/createNode.mjs.map +1 -0
- package/dist/components/Workflow/graphHistory.d.ts +23 -0
- package/dist/components/Workflow/graphHistory.d.ts.map +1 -0
- package/dist/components/Workflow/graphHistory.js +73 -0
- package/dist/components/Workflow/graphHistory.js.map +1 -0
- package/dist/components/Workflow/graphHistory.mjs +70 -0
- package/dist/components/Workflow/graphHistory.mjs.map +1 -0
- package/dist/components/Workflow/graphObserver.d.ts +13 -0
- package/dist/components/Workflow/graphObserver.d.ts.map +1 -0
- package/dist/components/Workflow/graphObserver.js +11 -0
- package/dist/components/Workflow/graphObserver.js.map +1 -0
- package/dist/components/Workflow/graphObserver.mjs +8 -0
- package/dist/components/Workflow/graphObserver.mjs.map +1 -0
- package/dist/components/Workflow/graphReducer.d.ts +75 -0
- package/dist/components/Workflow/graphReducer.d.ts.map +1 -0
- package/dist/components/Workflow/graphReducer.js +122 -0
- package/dist/components/Workflow/graphReducer.js.map +1 -0
- package/dist/components/Workflow/graphReducer.mjs +119 -0
- package/dist/components/Workflow/graphReducer.mjs.map +1 -0
- package/dist/components/Workflow/index.d.ts +22 -0
- package/dist/components/Workflow/index.d.ts.map +1 -0
- package/dist/components/Workflow/layout/autoLayout.d.ts +49 -0
- package/dist/components/Workflow/layout/autoLayout.d.ts.map +1 -0
- package/dist/components/Workflow/layout/autoLayout.js +149 -0
- package/dist/components/Workflow/layout/autoLayout.js.map +1 -0
- package/dist/components/Workflow/layout/autoLayout.mjs +146 -0
- package/dist/components/Workflow/layout/autoLayout.mjs.map +1 -0
- package/dist/components/Workflow/stories/toyNodeTypes.d.ts +40 -0
- package/dist/components/Workflow/stories/toyNodeTypes.d.ts.map +1 -0
- package/dist/components/Workflow/useWorkflowIssueMessage.d.ts +15 -0
- package/dist/components/Workflow/useWorkflowIssueMessage.d.ts.map +1 -0
- package/dist/components/Workflow/useWorkflowIssueMessage.js +45 -0
- package/dist/components/Workflow/useWorkflowIssueMessage.js.map +1 -0
- package/dist/components/Workflow/useWorkflowIssueMessage.mjs +43 -0
- package/dist/components/Workflow/useWorkflowIssueMessage.mjs.map +1 -0
- package/dist/components/Workflow/useWorkflowKeyboard.d.ts +10 -0
- package/dist/components/Workflow/useWorkflowKeyboard.d.ts.map +1 -0
- package/dist/components/Workflow/useWorkflowKeyboard.js +116 -0
- package/dist/components/Workflow/useWorkflowKeyboard.js.map +1 -0
- package/dist/components/Workflow/useWorkflowKeyboard.mjs +114 -0
- package/dist/components/Workflow/useWorkflowKeyboard.mjs.map +1 -0
- package/dist/icons.js +17 -0
- package/dist/icons.js.map +1 -1
- package/dist/icons.mjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +14 -0
- package/dist/index.mjs.map +1 -1
- package/dist/test-support/setup.d.ts +5 -0
- package/dist/test-support/setup.d.ts.map +1 -0
- package/package.json +10 -2
- package/src/components/Icon/_constants/iconList.ts +35 -0
- package/src/components/Icon/index.tsx +20 -0
- package/src/components/Workflow/README.md +362 -0
- package/src/components/Workflow/Workflow.translations.json +112 -0
- package/src/components/Workflow/Workflow.tsx +189 -0
- package/src/components/Workflow/Workflow.types.ts +496 -0
- package/src/components/Workflow/WorkflowContext/WorkflowContext.tsx +215 -0
- package/src/components/Workflow/WorkflowContext/WorkflowContext.types.ts +122 -0
- package/src/components/Workflow/WorkflowContext/index.ts +10 -0
- package/src/components/Workflow/WorkflowContext/workflowSelection.test.tsx +93 -0
- package/src/components/Workflow/canvas/Canvas/BranchLabelBadge.tsx +69 -0
- package/src/components/Workflow/canvas/Canvas/Canvas.styles.ts +91 -0
- package/src/components/Workflow/canvas/Canvas/Canvas.tsx +773 -0
- package/src/components/Workflow/canvas/Canvas/CanvasControls.tsx +178 -0
- package/src/components/Workflow/canvas/Canvas/LabeledEdge.tsx +198 -0
- package/src/components/Workflow/canvas/Canvas/edgeLabelVariant.test.ts +26 -0
- package/src/components/Workflow/canvas/Canvas/edgeLabelVariant.ts +23 -0
- package/src/components/Workflow/canvas/Canvas/index.ts +1 -0
- package/src/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.tsx +96 -0
- package/src/components/Workflow/canvas/CollapsibleSection/index.ts +4 -0
- package/src/components/Workflow/canvas/DrawerShell/DrawerHeader.tsx +104 -0
- package/src/components/Workflow/canvas/DrawerShell/DrawerIssues.tsx +115 -0
- package/src/components/Workflow/canvas/DrawerShell/DrawerShell.tsx +408 -0
- package/src/components/Workflow/canvas/DrawerShell/index.ts +2 -0
- package/src/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.tsx +135 -0
- package/src/components/Workflow/canvas/EdgeInspector/endpointTitle.ts +38 -0
- package/src/components/Workflow/canvas/EdgeInspector/index.ts +2 -0
- package/src/components/Workflow/canvas/FieldWrapper/FieldWrapper.tsx +118 -0
- package/src/components/Workflow/canvas/FieldWrapper/index.ts +6 -0
- package/src/components/Workflow/canvas/FloatingCard/FloatingCard.tsx +37 -0
- package/src/components/Workflow/canvas/FloatingCard/index.ts +1 -0
- package/src/components/Workflow/canvas/GenericNode/GenericNode.tsx +114 -0
- package/src/components/Workflow/canvas/GenericNode/GenericNode.types.ts +10 -0
- package/src/components/Workflow/canvas/GenericNode/index.ts +5 -0
- package/src/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.tsx +284 -0
- package/src/components/Workflow/canvas/GraphErrorBanner/index.ts +1 -0
- package/src/components/Workflow/canvas/IconTile/IconTile.styles.ts +40 -0
- package/src/components/Workflow/canvas/IconTile/IconTile.tsx +36 -0
- package/src/components/Workflow/canvas/IconTile/IconTile.types.ts +13 -0
- package/src/components/Workflow/canvas/IconTile/index.ts +7 -0
- package/src/components/Workflow/canvas/IssueList/IssueList.tsx +84 -0
- package/src/components/Workflow/canvas/IssueList/index.ts +1 -0
- package/src/components/Workflow/canvas/NodePalette/NodePalette.styles.ts +7 -0
- package/src/components/Workflow/canvas/NodePalette/NodePalette.tsx +180 -0
- package/src/components/Workflow/canvas/NodePalette/NodePaletteToggle.tsx +39 -0
- package/src/components/Workflow/canvas/NodePalette/index.ts +3 -0
- package/src/components/Workflow/canvas/NodeShell/NodeShell.styles.ts +84 -0
- package/src/components/Workflow/canvas/NodeShell/NodeShell.tsx +321 -0
- package/src/components/Workflow/canvas/NodeShell/NodeShell.types.ts +45 -0
- package/src/components/Workflow/canvas/NodeShell/index.ts +8 -0
- package/src/components/Workflow/canvas/SeverityDot/SeverityDot.tsx +33 -0
- package/src/components/Workflow/canvas/SeverityDot/index.ts +1 -0
- package/src/components/Workflow/canvas/issueSeverity.ts +48 -0
- package/src/components/Workflow/canvas/useFieldFocusRequest.ts +54 -0
- package/src/components/Workflow/canvas/workflowLabelProps.ts +11 -0
- package/src/components/Workflow/connectionRules.test.ts +326 -0
- package/src/components/Workflow/connectionRules.ts +190 -0
- package/src/components/Workflow/createNode.test.ts +61 -0
- package/src/components/Workflow/createNode.ts +67 -0
- package/src/components/Workflow/graphHistory.test.ts +178 -0
- package/src/components/Workflow/graphHistory.ts +91 -0
- package/src/components/Workflow/graphObserver.ts +21 -0
- package/src/components/Workflow/graphReducer.test.ts +314 -0
- package/src/components/Workflow/graphReducer.ts +196 -0
- package/src/components/Workflow/index.ts +74 -0
- package/src/components/Workflow/layout/autoLayout.test.ts +170 -0
- package/src/components/Workflow/layout/autoLayout.ts +200 -0
- package/src/components/Workflow/stories/Workflow.stories.tsx +111 -0
- package/src/components/Workflow/stories/toyNodeTypes.tsx +146 -0
- package/src/components/Workflow/useWorkflowIssueMessage.test.ts +101 -0
- package/src/components/Workflow/useWorkflowIssueMessage.ts +49 -0
- package/src/components/Workflow/useWorkflowKeyboard.ts +126 -0
- package/src/index.ts +1 -0
- package/src/test-support/setup.ts +11 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var react$1 = require('@chakra-ui/react');
|
|
7
|
+
var react = require('@xyflow/react');
|
|
8
|
+
var index = require('../../../Icon/index.js');
|
|
9
|
+
var Spinner = require('../../../Spinner/Spinner.js');
|
|
10
|
+
require('../../../Typography/H1.js');
|
|
11
|
+
require('../../../Typography/H2.js');
|
|
12
|
+
require('../../../Typography/H3.js');
|
|
13
|
+
require('../../../Typography/H4.js');
|
|
14
|
+
require('../../../Typography/H5.js');
|
|
15
|
+
require('../../../Typography/Link.js');
|
|
16
|
+
var Subtext = require('../../../Typography/Subtext.js');
|
|
17
|
+
require('../../../Typography/Subtitle.js');
|
|
18
|
+
var Text = require('../../../Typography/Text.js');
|
|
19
|
+
var useWorkflowIssueMessage = require('../../useWorkflowIssueMessage.js');
|
|
20
|
+
var WorkflowContext = require('../../WorkflowContext/WorkflowContext.js');
|
|
21
|
+
require('../../../Input/Input.js');
|
|
22
|
+
require('../../../Toast/Toaster.js');
|
|
23
|
+
var endpointTitle = require('../EdgeInspector/endpointTitle.js');
|
|
24
|
+
var IssueList = require('../IssueList/IssueList.js');
|
|
25
|
+
|
|
26
|
+
const NODELESS_GROUP = '__graph__';
|
|
27
|
+
// Same fallback chain as everywhere else (instance title → kind label → id),
|
|
28
|
+
// so an unnamed node groups under "End", not its raw `end_1` id.
|
|
29
|
+
const getNodeTitle = (node, def) => endpointTitle.endpointTitle(node, def ?? undefined, node.id);
|
|
30
|
+
/**
|
|
31
|
+
* Floating banner listing the current graph's validation issues — both the
|
|
32
|
+
* live validator output and backend `INVALID_GRAPH` errors fed in via
|
|
33
|
+
* `externalIssues`. Issues group by node (then severity); clicking an issue
|
|
34
|
+
* selects and pans to its node. Hidden in read-only mode (the Behavior-tab
|
|
35
|
+
* preview).
|
|
36
|
+
*
|
|
37
|
+
* `paletteToggleVisible` shifts the banner clear of the floating `+` palette
|
|
38
|
+
* toggle, which docks in the same top-left corner once the palette is
|
|
39
|
+
* collapsed — otherwise the two overlays would overlap.
|
|
40
|
+
*/
|
|
41
|
+
function GraphErrorBanner({ paletteToggleVisible = false, }) {
|
|
42
|
+
const { issues, graph, readOnly, validating, getNodeType, setSelectedNodeId, revealInspector, requestFieldFocus, } = WorkflowContext.useWorkflow();
|
|
43
|
+
const { fitView } = react.useReactFlow();
|
|
44
|
+
const translate = WorkflowContext.useWorkflowTranslate();
|
|
45
|
+
const resolveIssueMessage = useWorkflowIssueMessage.useWorkflowIssueMessage();
|
|
46
|
+
const [open, setOpen] = React.useState(false);
|
|
47
|
+
// Stringify counts before interpolation — see `useWorkflowIssueMessage`
|
|
48
|
+
// for the underlying `useTranslate` quirk this guards against.
|
|
49
|
+
const summarize = (errorCount, warningCount) => {
|
|
50
|
+
const parts = [];
|
|
51
|
+
if (errorCount > 0) {
|
|
52
|
+
parts.push(translate('workflow_issues_summary_errors', {
|
|
53
|
+
count: String(errorCount),
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
if (warningCount > 0) {
|
|
57
|
+
parts.push(translate('workflow_issues_summary_warnings', {
|
|
58
|
+
count: String(warningCount),
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
return parts.join(', ');
|
|
62
|
+
};
|
|
63
|
+
const { errorCount, warningCount, groups } = React.useMemo(() => {
|
|
64
|
+
let errors = 0;
|
|
65
|
+
let warnings = 0;
|
|
66
|
+
// Preserve insertion order from `graph.nodes` so the dropdown matches
|
|
67
|
+
// canvas left-to-right reading order; graph-wide issues are appended last.
|
|
68
|
+
const byKey = new Map();
|
|
69
|
+
const nodeById = new Map(graph.nodes.map((n) => [n.id, n]));
|
|
70
|
+
const getOrCreate = (key) => {
|
|
71
|
+
let g = byKey.get(key);
|
|
72
|
+
if (!g) {
|
|
73
|
+
const node = nodeById.get(key) ?? null;
|
|
74
|
+
g = {
|
|
75
|
+
key,
|
|
76
|
+
node,
|
|
77
|
+
def: node ? (getNodeType(node.kind) ?? null) : null,
|
|
78
|
+
errors: [],
|
|
79
|
+
warnings: [],
|
|
80
|
+
};
|
|
81
|
+
byKey.set(key, g);
|
|
82
|
+
}
|
|
83
|
+
return g;
|
|
84
|
+
};
|
|
85
|
+
for (const issue of issues) {
|
|
86
|
+
if (issue.severity === 'error')
|
|
87
|
+
errors += 1;
|
|
88
|
+
else
|
|
89
|
+
warnings += 1;
|
|
90
|
+
const key = issue.nodeId ?? NODELESS_GROUP;
|
|
91
|
+
const g = getOrCreate(key);
|
|
92
|
+
if (issue.severity === 'error')
|
|
93
|
+
g.errors.push(issue);
|
|
94
|
+
else
|
|
95
|
+
g.warnings.push(issue);
|
|
96
|
+
}
|
|
97
|
+
// Order: graph-wide bucket first (cycle / unreachable / etc. block the
|
|
98
|
+
// whole canvas and deserve top billing), then per-node buckets in
|
|
99
|
+
// canvas order.
|
|
100
|
+
const ordered = [];
|
|
101
|
+
const graphWide = byKey.get(NODELESS_GROUP);
|
|
102
|
+
if (graphWide)
|
|
103
|
+
ordered.push(graphWide);
|
|
104
|
+
for (const node of graph.nodes) {
|
|
105
|
+
const g = byKey.get(node.id);
|
|
106
|
+
if (g)
|
|
107
|
+
ordered.push(g);
|
|
108
|
+
}
|
|
109
|
+
return { errorCount: errors, warningCount: warnings, groups: ordered };
|
|
110
|
+
}, [issues, graph.nodes, getNodeType]);
|
|
111
|
+
// Noise guard: only surface the "validating" affordance when we're
|
|
112
|
+
// re-checking a graph that ALREADY shows issues (the retained `displayIssues`
|
|
113
|
+
// the host passes in during a save). A clean graph (no issues) stays hidden
|
|
114
|
+
// mid-save — the header save-status spinner already covers that case — so
|
|
115
|
+
// editing a valid graph never flashes a banner on every keystroke.
|
|
116
|
+
if (readOnly || issues.length === 0)
|
|
117
|
+
return null;
|
|
118
|
+
const showValidating = validating;
|
|
119
|
+
const jumpToNode = (nodeId) => {
|
|
120
|
+
if (!nodeId || !graph.nodes.some((n) => n.id === nodeId))
|
|
121
|
+
return;
|
|
122
|
+
setSelectedNodeId(nodeId);
|
|
123
|
+
// revealInspector so jumping to a node from the banner also restores the
|
|
124
|
+
// inspector when it's parked (test mode), not just sets the drawer target.
|
|
125
|
+
revealInspector({ type: 'node', id: nodeId });
|
|
126
|
+
void fitView({ nodes: [{ id: nodeId }], duration: 400, maxZoom: 1.2 });
|
|
127
|
+
};
|
|
128
|
+
const jumpToIssue = (issue) => {
|
|
129
|
+
if (!issue.nodeId)
|
|
130
|
+
return;
|
|
131
|
+
jumpToNode(issue.nodeId);
|
|
132
|
+
if (issue.fieldKey) {
|
|
133
|
+
requestFieldFocus(issue.nodeId, issue.fieldKey);
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
return (jsxRuntime.jsxs(react$1.Box, { position: "absolute", top: 3,
|
|
137
|
+
// Clear the floating `+` palette toggle (md IconButton at left={4}) when
|
|
138
|
+
// it's showing, so the banner sits beside it rather than under it.
|
|
139
|
+
left: paletteToggleVisible ? 16 : 3, zIndex: 5, maxW: "md", bg: "bg.surface", borderWidth: "1px", borderColor: errorCount > 0 ? 'danger.main' : 'warning.main', borderRadius: "md", boxShadow: "sm", overflow: "hidden", children: [showValidating ? (jsxRuntime.jsxs(react$1.Flex, { align: "center", gap: 2, px: 3, py: 2, bg: "slate.50", borderBottomWidth: "1px", borderColor: "slate.200", children: [jsxRuntime.jsx(Spinner.Spinner, { size: "xs" }), jsxRuntime.jsx(Subtext.Subtext, { fontWeight: "semibold", color: "slate.1100", children: translate('workflow_issues_validating') })] })) : null, jsxRuntime.jsxs(react$1.Box, { as: "button", w: "100%", display: "flex", alignItems: "center", justifyContent: "space-between", gap: 3, px: 3, py: 2, bg: "transparent", border: "none", cursor: "pointer", opacity: showValidating ? 0.6 : 1, transition: "opacity 0.15s", onClick: () => setOpen((o) => !o), children: [jsxRuntime.jsx(Text.Text, { fontSize: "sm", fontWeight: "semibold", color: "slate.1300", children: summarize(errorCount, warningCount) }), jsxRuntime.jsx(index.TbChevronDown, { boxSize: "xs", color: "slate.900", transform: open ? 'rotate(180deg)' : 'none', transition: "transform 0.15s" })] }), open ? (jsxRuntime.jsx(react$1.VStack, { align: "stretch", gap: 0, maxH: "80", overflowY: "auto", opacity: showValidating ? 0.6 : 1, transition: "opacity 0.15s", borderTopWidth: "1px", borderColor: "slate.200", children: groups.map((group, gi) => (jsxRuntime.jsxs(react$1.Box, { borderTopWidth: gi === 0 ? 0 : '1px', borderColor: "slate.200", children: [jsxRuntime.jsxs(react$1.Flex, { align: "center", gap: 2, px: 3, py: 1.5, bg: "slate.50", cursor: group.node ? 'pointer' : 'default', _hover: group.node ? { bg: 'slate.100' } : undefined, onClick: group.node ? () => jumpToNode(group.key) : undefined, children: [group.def?.icon ? (jsxRuntime.jsx(react$1.Box, { color: "slate.1100", display: "flex", alignItems: "center", flexShrink: 0, children: jsxRuntime.jsx(group.def.icon, { boxSize: "xs" }) })) : null, jsxRuntime.jsx(Subtext.Subtext, { fontWeight: "semibold", color: "slate.1300", truncate: true, children: group.node
|
|
140
|
+
? getNodeTitle(group.node, group.def)
|
|
141
|
+
: translate('workflow_drawer_graph_group_title') })] }), group.errors.length > 0 ? (jsxRuntime.jsx(IssueList.IssueList, { label: translate('workflow_issues_errors_label'), tone: "error", issues: group.errors, onIssueClick: group.node ? jumpToIssue : undefined, resolveMessage: resolveIssueMessage })) : null, group.warnings.length > 0 ? (jsxRuntime.jsx(IssueList.IssueList, { label: translate('workflow_issues_warnings_label'), tone: "warning", issues: group.warnings, onIssueClick: group.node ? jumpToIssue : undefined, resolveMessage: resolveIssueMessage })) : null] }, group.key))) })) : null] }));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
exports.GraphErrorBanner = GraphErrorBanner;
|
|
145
|
+
//# sourceMappingURL=GraphErrorBanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphErrorBanner.js","sources":["../../../../../src/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.tsx"],"sourcesContent":[null],"names":["endpointTitle","useWorkflow","useReactFlow","useWorkflowTranslate","useWorkflowIssueMessage","useState","useMemo","_jsxs","Box","Flex","_jsx","Spinner","Subtext","Text","TbChevronDown","VStack","IssueList"],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useMemo } from 'react';
|
|
4
|
+
import { Box, Flex, VStack } from '@chakra-ui/react';
|
|
5
|
+
import { useReactFlow } from '@xyflow/react';
|
|
6
|
+
import { TbChevronDown } from '../../../Icon/index.mjs';
|
|
7
|
+
import { Spinner } from '../../../Spinner/Spinner.mjs';
|
|
8
|
+
import '../../../Typography/H1.mjs';
|
|
9
|
+
import '../../../Typography/H2.mjs';
|
|
10
|
+
import '../../../Typography/H3.mjs';
|
|
11
|
+
import '../../../Typography/H4.mjs';
|
|
12
|
+
import '../../../Typography/H5.mjs';
|
|
13
|
+
import '../../../Typography/Link.mjs';
|
|
14
|
+
import { Subtext } from '../../../Typography/Subtext.mjs';
|
|
15
|
+
import '../../../Typography/Subtitle.mjs';
|
|
16
|
+
import { Text } from '../../../Typography/Text.mjs';
|
|
17
|
+
import { useWorkflowIssueMessage } from '../../useWorkflowIssueMessage.mjs';
|
|
18
|
+
import { useWorkflow, useWorkflowTranslate } from '../../WorkflowContext/WorkflowContext.mjs';
|
|
19
|
+
import '../../../Input/Input.mjs';
|
|
20
|
+
import '../../../Toast/Toaster.mjs';
|
|
21
|
+
import { endpointTitle } from '../EdgeInspector/endpointTitle.mjs';
|
|
22
|
+
import { IssueList } from '../IssueList/IssueList.mjs';
|
|
23
|
+
|
|
24
|
+
const NODELESS_GROUP = '__graph__';
|
|
25
|
+
// Same fallback chain as everywhere else (instance title → kind label → id),
|
|
26
|
+
// so an unnamed node groups under "End", not its raw `end_1` id.
|
|
27
|
+
const getNodeTitle = (node, def) => endpointTitle(node, def ?? undefined, node.id);
|
|
28
|
+
/**
|
|
29
|
+
* Floating banner listing the current graph's validation issues — both the
|
|
30
|
+
* live validator output and backend `INVALID_GRAPH` errors fed in via
|
|
31
|
+
* `externalIssues`. Issues group by node (then severity); clicking an issue
|
|
32
|
+
* selects and pans to its node. Hidden in read-only mode (the Behavior-tab
|
|
33
|
+
* preview).
|
|
34
|
+
*
|
|
35
|
+
* `paletteToggleVisible` shifts the banner clear of the floating `+` palette
|
|
36
|
+
* toggle, which docks in the same top-left corner once the palette is
|
|
37
|
+
* collapsed — otherwise the two overlays would overlap.
|
|
38
|
+
*/
|
|
39
|
+
function GraphErrorBanner({ paletteToggleVisible = false, }) {
|
|
40
|
+
const { issues, graph, readOnly, validating, getNodeType, setSelectedNodeId, revealInspector, requestFieldFocus, } = useWorkflow();
|
|
41
|
+
const { fitView } = useReactFlow();
|
|
42
|
+
const translate = useWorkflowTranslate();
|
|
43
|
+
const resolveIssueMessage = useWorkflowIssueMessage();
|
|
44
|
+
const [open, setOpen] = useState(false);
|
|
45
|
+
// Stringify counts before interpolation — see `useWorkflowIssueMessage`
|
|
46
|
+
// for the underlying `useTranslate` quirk this guards against.
|
|
47
|
+
const summarize = (errorCount, warningCount) => {
|
|
48
|
+
const parts = [];
|
|
49
|
+
if (errorCount > 0) {
|
|
50
|
+
parts.push(translate('workflow_issues_summary_errors', {
|
|
51
|
+
count: String(errorCount),
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
if (warningCount > 0) {
|
|
55
|
+
parts.push(translate('workflow_issues_summary_warnings', {
|
|
56
|
+
count: String(warningCount),
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
return parts.join(', ');
|
|
60
|
+
};
|
|
61
|
+
const { errorCount, warningCount, groups } = useMemo(() => {
|
|
62
|
+
let errors = 0;
|
|
63
|
+
let warnings = 0;
|
|
64
|
+
// Preserve insertion order from `graph.nodes` so the dropdown matches
|
|
65
|
+
// canvas left-to-right reading order; graph-wide issues are appended last.
|
|
66
|
+
const byKey = new Map();
|
|
67
|
+
const nodeById = new Map(graph.nodes.map((n) => [n.id, n]));
|
|
68
|
+
const getOrCreate = (key) => {
|
|
69
|
+
let g = byKey.get(key);
|
|
70
|
+
if (!g) {
|
|
71
|
+
const node = nodeById.get(key) ?? null;
|
|
72
|
+
g = {
|
|
73
|
+
key,
|
|
74
|
+
node,
|
|
75
|
+
def: node ? (getNodeType(node.kind) ?? null) : null,
|
|
76
|
+
errors: [],
|
|
77
|
+
warnings: [],
|
|
78
|
+
};
|
|
79
|
+
byKey.set(key, g);
|
|
80
|
+
}
|
|
81
|
+
return g;
|
|
82
|
+
};
|
|
83
|
+
for (const issue of issues) {
|
|
84
|
+
if (issue.severity === 'error')
|
|
85
|
+
errors += 1;
|
|
86
|
+
else
|
|
87
|
+
warnings += 1;
|
|
88
|
+
const key = issue.nodeId ?? NODELESS_GROUP;
|
|
89
|
+
const g = getOrCreate(key);
|
|
90
|
+
if (issue.severity === 'error')
|
|
91
|
+
g.errors.push(issue);
|
|
92
|
+
else
|
|
93
|
+
g.warnings.push(issue);
|
|
94
|
+
}
|
|
95
|
+
// Order: graph-wide bucket first (cycle / unreachable / etc. block the
|
|
96
|
+
// whole canvas and deserve top billing), then per-node buckets in
|
|
97
|
+
// canvas order.
|
|
98
|
+
const ordered = [];
|
|
99
|
+
const graphWide = byKey.get(NODELESS_GROUP);
|
|
100
|
+
if (graphWide)
|
|
101
|
+
ordered.push(graphWide);
|
|
102
|
+
for (const node of graph.nodes) {
|
|
103
|
+
const g = byKey.get(node.id);
|
|
104
|
+
if (g)
|
|
105
|
+
ordered.push(g);
|
|
106
|
+
}
|
|
107
|
+
return { errorCount: errors, warningCount: warnings, groups: ordered };
|
|
108
|
+
}, [issues, graph.nodes, getNodeType]);
|
|
109
|
+
// Noise guard: only surface the "validating" affordance when we're
|
|
110
|
+
// re-checking a graph that ALREADY shows issues (the retained `displayIssues`
|
|
111
|
+
// the host passes in during a save). A clean graph (no issues) stays hidden
|
|
112
|
+
// mid-save — the header save-status spinner already covers that case — so
|
|
113
|
+
// editing a valid graph never flashes a banner on every keystroke.
|
|
114
|
+
if (readOnly || issues.length === 0)
|
|
115
|
+
return null;
|
|
116
|
+
const showValidating = validating;
|
|
117
|
+
const jumpToNode = (nodeId) => {
|
|
118
|
+
if (!nodeId || !graph.nodes.some((n) => n.id === nodeId))
|
|
119
|
+
return;
|
|
120
|
+
setSelectedNodeId(nodeId);
|
|
121
|
+
// revealInspector so jumping to a node from the banner also restores the
|
|
122
|
+
// inspector when it's parked (test mode), not just sets the drawer target.
|
|
123
|
+
revealInspector({ type: 'node', id: nodeId });
|
|
124
|
+
void fitView({ nodes: [{ id: nodeId }], duration: 400, maxZoom: 1.2 });
|
|
125
|
+
};
|
|
126
|
+
const jumpToIssue = (issue) => {
|
|
127
|
+
if (!issue.nodeId)
|
|
128
|
+
return;
|
|
129
|
+
jumpToNode(issue.nodeId);
|
|
130
|
+
if (issue.fieldKey) {
|
|
131
|
+
requestFieldFocus(issue.nodeId, issue.fieldKey);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
return (jsxs(Box, { position: "absolute", top: 3,
|
|
135
|
+
// Clear the floating `+` palette toggle (md IconButton at left={4}) when
|
|
136
|
+
// it's showing, so the banner sits beside it rather than under it.
|
|
137
|
+
left: paletteToggleVisible ? 16 : 3, zIndex: 5, maxW: "md", bg: "bg.surface", borderWidth: "1px", borderColor: errorCount > 0 ? 'danger.main' : 'warning.main', borderRadius: "md", boxShadow: "sm", overflow: "hidden", children: [showValidating ? (jsxs(Flex, { align: "center", gap: 2, px: 3, py: 2, bg: "slate.50", borderBottomWidth: "1px", borderColor: "slate.200", children: [jsx(Spinner, { size: "xs" }), jsx(Subtext, { fontWeight: "semibold", color: "slate.1100", children: translate('workflow_issues_validating') })] })) : null, jsxs(Box, { as: "button", w: "100%", display: "flex", alignItems: "center", justifyContent: "space-between", gap: 3, px: 3, py: 2, bg: "transparent", border: "none", cursor: "pointer", opacity: showValidating ? 0.6 : 1, transition: "opacity 0.15s", onClick: () => setOpen((o) => !o), children: [jsx(Text, { fontSize: "sm", fontWeight: "semibold", color: "slate.1300", children: summarize(errorCount, warningCount) }), jsx(TbChevronDown, { boxSize: "xs", color: "slate.900", transform: open ? 'rotate(180deg)' : 'none', transition: "transform 0.15s" })] }), open ? (jsx(VStack, { align: "stretch", gap: 0, maxH: "80", overflowY: "auto", opacity: showValidating ? 0.6 : 1, transition: "opacity 0.15s", borderTopWidth: "1px", borderColor: "slate.200", children: groups.map((group, gi) => (jsxs(Box, { borderTopWidth: gi === 0 ? 0 : '1px', borderColor: "slate.200", children: [jsxs(Flex, { align: "center", gap: 2, px: 3, py: 1.5, bg: "slate.50", cursor: group.node ? 'pointer' : 'default', _hover: group.node ? { bg: 'slate.100' } : undefined, onClick: group.node ? () => jumpToNode(group.key) : undefined, children: [group.def?.icon ? (jsx(Box, { color: "slate.1100", display: "flex", alignItems: "center", flexShrink: 0, children: jsx(group.def.icon, { boxSize: "xs" }) })) : null, jsx(Subtext, { fontWeight: "semibold", color: "slate.1300", truncate: true, children: group.node
|
|
138
|
+
? getNodeTitle(group.node, group.def)
|
|
139
|
+
: translate('workflow_drawer_graph_group_title') })] }), group.errors.length > 0 ? (jsx(IssueList, { label: translate('workflow_issues_errors_label'), tone: "error", issues: group.errors, onIssueClick: group.node ? jumpToIssue : undefined, resolveMessage: resolveIssueMessage })) : null, group.warnings.length > 0 ? (jsx(IssueList, { label: translate('workflow_issues_warnings_label'), tone: "warning", issues: group.warnings, onIssueClick: group.node ? jumpToIssue : undefined, resolveMessage: resolveIssueMessage })) : null] }, group.key))) })) : null] }));
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export { GraphErrorBanner };
|
|
143
|
+
//# sourceMappingURL=GraphErrorBanner.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphErrorBanner.mjs","sources":["../../../../../src/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,cAAc,GAAG,WAAW;AAYlC;AACA;AACA,MAAM,YAAY,GAAG,CAAC,IAAe,EAAE,GAAuB,KAC5D,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;AAEhD;;;;;;;;;;AAUG;SACa,gBAAgB,CAAC,EAC/B,oBAAoB,GAAG,KAAK,GAG7B,EAAA;IACC,MAAM,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,GAAG,WAAW,EAAE;AACjB,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE;AAClC,IAAA,MAAM,SAAS,GAAG,oBAAoB,EAAE;AACxC,IAAA,MAAM,mBAAmB,GAAG,uBAAuB,EAAE;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;;;AAIvC,IAAA,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,YAAoB,KAAY;QACrE,MAAM,KAAK,GAAa,EAAE;AAC1B,QAAA,IAAI,UAAU,GAAG,CAAC,EAAE;AAClB,YAAA,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,gCAAgC,EAAE;AAC1C,gBAAA,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;AAC1B,aAAA,CAAW,CACb;QACH;AACA,QAAA,IAAI,YAAY,GAAG,CAAC,EAAE;AACpB,YAAA,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,kCAAkC,EAAE;AAC5C,gBAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC5B,aAAA,CAAW,CACb;QACH;AACA,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB,IAAA,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAK;QACxD,IAAI,MAAM,GAAG,CAAC;QACd,IAAI,QAAQ,GAAG,CAAC;;;AAGhB,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B;QAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC;AAEpE,QAAA,MAAM,WAAW,GAAG,CAAC,GAAW,KAAqB;YACnD,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YACtB,IAAI,CAAC,CAAC,EAAE;gBACN,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI;AACtC,gBAAA,CAAC,GAAG;oBACF,GAAG;oBACH,IAAI;AACJ,oBAAA,GAAG,EAAE,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI;AACnD,oBAAA,MAAM,EAAE,EAAE;AACV,oBAAA,QAAQ,EAAE,EAAE;iBACb;AACD,gBAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACnB;AACA,YAAA,OAAO,CAAC;AACV,QAAA,CAAC;AAED,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;gBAAE,MAAM,IAAI,CAAC;;gBACtC,QAAQ,IAAI,CAAC;AAClB,YAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc;AAC1C,YAAA,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;AAAE,gBAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;AAC/C,gBAAA,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7B;;;;QAKA,MAAM,OAAO,GAAsB,EAAE;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;AAC3C,QAAA,IAAI,SAAS;AAAE,YAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AACtC,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;YAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACxB;AAEA,QAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IACxE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;;;;;AAOtC,IAAA,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,IAAI;IAEhD,MAAM,cAAc,GAAG,UAAU;AAEjC,IAAA,MAAM,UAAU,GAAG,CAAC,MAAe,KAAI;QACrC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;YAAE;QAC1D,iBAAiB,CAAC,MAAM,CAAC;;;QAGzB,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAC7C,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACxE,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,KAAY,KAAI;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE;AACnB,QAAA,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;AACxB,QAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QACjD;AACF,IAAA,CAAC;IAED,QACEA,IAAA,CAAC,GAAG,EAAA,EACF,QAAQ,EAAC,UAAU,EACnB,GAAG,EAAE,CAAC;;;QAGN,IAAI,EAAE,oBAAoB,GAAG,EAAE,GAAG,CAAC,EACnC,MAAM,EAAE,CAAC,EACT,IAAI,EAAC,IAAI,EACT,EAAE,EAAC,YAAY,EACf,WAAW,EAAC,KAAK,EACjB,WAAW,EAAE,UAAU,GAAG,CAAC,GAAG,aAAa,GAAG,cAAc,EAC5D,YAAY,EAAC,IAAI,EACjB,SAAS,EAAC,IAAI,EACd,QAAQ,EAAC,QAAQ,EAAA,QAAA,EAAA,CAEhB,cAAc,IACbA,IAAA,CAAC,IAAI,EAAA,EACH,KAAK,EAAC,QAAQ,EACd,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAC,UAAU,EACb,iBAAiB,EAAC,KAAK,EACvB,WAAW,EAAC,WAAW,EAAA,QAAA,EAAA,CAEvBC,GAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAC,IAAI,EAAA,CAAG,EACrBA,GAAA,CAAC,OAAO,EAAA,EAAC,UAAU,EAAC,UAAU,EAAC,KAAK,EAAC,YAAY,EAAA,QAAA,EAC9C,SAAS,CAAC,4BAA4B,CAAW,EAAA,CAC1C,CAAA,EAAA,CACL,IACL,IAAI,EACRD,IAAA,CAAC,GAAG,EAAA,EACF,EAAE,EAAC,QAAQ,EACX,CAAC,EAAC,MAAM,EACR,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAC,aAAa,EAChB,MAAM,EAAC,MAAM,EACb,MAAM,EAAC,SAAS,EAChB,OAAO,EAAE,cAAc,GAAG,GAAG,GAAG,CAAC,EACjC,UAAU,EAAC,eAAe,EAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAA,QAAA,EAAA,CAEjCC,GAAA,CAAC,IAAI,EAAA,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAC,KAAK,EAAC,YAAY,EAAA,QAAA,EACzD,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,GAC/B,EACPA,GAAA,CAAC,aAAa,EAAA,EACZ,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,WAAW,EACjB,SAAS,EAAE,IAAI,GAAG,gBAAgB,GAAG,MAAM,EAC3C,UAAU,EAAC,iBAAiB,EAAA,CAC5B,IACE,EACL,IAAI,IACHA,GAAA,CAAC,MAAM,EAAA,EACL,KAAK,EAAC,SAAS,EACf,GAAG,EAAE,CAAC,EACN,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,MAAM,EAChB,OAAO,EAAE,cAAc,GAAG,GAAG,GAAG,CAAC,EACjC,UAAU,EAAC,eAAe,EAC1B,cAAc,EAAC,KAAK,EACpB,WAAW,EAAC,WAAW,EAAA,QAAA,EAEtB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,MACpBD,IAAA,CAAC,GAAG,EAAA,EAEF,cAAc,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,EACpC,WAAW,EAAC,WAAW,EAAA,QAAA,EAAA,CAEvBA,IAAA,CAAC,IAAI,EAAA,EACH,KAAK,EAAC,QAAQ,EACd,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,GAAG,EACP,EAAE,EAAC,UAAU,EACb,MAAM,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,GAAG,SAAS,EAC1C,MAAM,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,SAAS,EACpD,OAAO,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EAAA,QAAA,EAAA,CAE5D,KAAK,CAAC,GAAG,EAAE,IAAI,IACdC,GAAA,CAAC,GAAG,EAAA,EACF,KAAK,EAAC,YAAY,EAClB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,UAAU,EAAE,CAAC,EAAA,QAAA,EAEbA,GAAA,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,CAAG,EAAA,CAC3B,IACJ,IAAI,EACRA,GAAA,CAAC,OAAO,IAAC,UAAU,EAAC,UAAU,EAAC,KAAK,EAAC,YAAY,EAAC,QAAQ,EAAA,IAAA,EAAA,QAAA,EACvD,KAAK,CAAC;0CACH,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;AACpC,0CAAE,SAAS,CAAC,mCAAmC,CAAC,EAAA,CAC1C,CAAA,EAAA,CACL,EACN,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IACtBA,GAAA,CAAC,SAAS,EAAA,EACR,KAAK,EAAE,SAAS,CAAC,8BAA8B,CAAW,EAC1D,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,KAAK,CAAC,IAAI,GAAG,WAAW,GAAG,SAAS,EAClD,cAAc,EAAE,mBAAmB,EAAA,CACnC,IACA,IAAI,EACP,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IACxBA,GAAA,CAAC,SAAS,EAAA,EACR,KAAK,EAAE,SAAS,CAAC,gCAAgC,CAAW,EAC5D,IAAI,EAAC,SAAS,EACd,MAAM,EAAE,KAAK,CAAC,QAAQ,EACtB,YAAY,EAAE,KAAK,CAAC,IAAI,GAAG,WAAW,GAAG,SAAS,EAClD,cAAc,EAAE,mBAAmB,EAAA,CACnC,IACA,IAAI,CAAA,EAAA,EA/CH,KAAK,CAAC,GAAG,CAgDV,CACP,CAAC,EAAA,CACK,IACP,IAAI,CAAA,EAAA,CACJ;AAEV;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Workflow/canvas/GraphErrorBanner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IconTileProps } from './IconTile.types';
|
|
2
|
+
/**
|
|
3
|
+
* The 24×24 tile that carries the only category-derived color in a node.
|
|
4
|
+
* Background uses the category's `bg` token; icon uses the `fg` token.
|
|
5
|
+
*
|
|
6
|
+
* `size` is the tile's outer side in px; the icon renders at the `xs`
|
|
7
|
+
* t-shirt token (16px) to match logician-ui's Icon sizing scale.
|
|
8
|
+
*/
|
|
9
|
+
export declare function IconTile({ category, icon: Icon, size, tokens, }: IconTileProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=IconTile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconTile.d.ts","sourceRoot":"","sources":["../../../../../src/components/Workflow/canvas/IconTile/IconTile.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,IAAI,EAAE,IAAI,EACV,IAAS,EACT,MAAM,GACP,EAAE,aAAa,2CAgBf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('@chakra-ui/react');
|
|
6
|
+
var IconTile_styles = require('./IconTile.styles.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The 24×24 tile that carries the only category-derived color in a node.
|
|
10
|
+
* Background uses the category's `bg` token; icon uses the `fg` token.
|
|
11
|
+
*
|
|
12
|
+
* `size` is the tile's outer side in px; the icon renders at the `xs`
|
|
13
|
+
* t-shirt token (16px) to match logician-ui's Icon sizing scale.
|
|
14
|
+
*/
|
|
15
|
+
function IconTile({ category, icon: Icon, size = 24, tokens, }) {
|
|
16
|
+
const c = IconTile_styles.getCategoryTokens(category, tokens);
|
|
17
|
+
return (jsxRuntime.jsx(react.Box, { width: `${size}px`, height: `${size}px`, borderRadius: "sm", bg: c.bg, color: c.fg, display: "grid", placeItems: "center", flexShrink: 0, children: jsxRuntime.jsx(Icon, { boxSize: "xs" }) }));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
exports.IconTile = IconTile;
|
|
21
|
+
//# sourceMappingURL=IconTile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconTile.js","sources":["../../../../../src/components/Workflow/canvas/IconTile/IconTile.tsx"],"sourcesContent":[null],"names":["getCategoryTokens","_jsx","Box"],"mappings":";;;;;;;AAOA;;;;;;AAMG;AACG,SAAU,QAAQ,CAAC,EACvB,QAAQ,EACR,IAAI,EAAE,IAAI,EACV,IAAI,GAAG,EAAE,EACT,MAAM,GACQ,EAAA;IACd,MAAM,CAAC,GAAGA,iCAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC7C,QACEC,cAAA,CAACC,SAAG,EAAA,EACF,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,EAClB,MAAM,EAAE,GAAG,IAAI,CAAA,EAAA,CAAI,EACnB,YAAY,EAAC,IAAI,EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,KAAK,EAAE,CAAC,CAAC,EAAE,EACX,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,UAAU,EAAE,CAAC,EAAA,QAAA,EAEbD,cAAA,CAAC,IAAI,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,CAAG,EAAA,CACjB;AAEV;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Box } from '@chakra-ui/react';
|
|
4
|
+
import { getCategoryTokens } from './IconTile.styles.mjs';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The 24×24 tile that carries the only category-derived color in a node.
|
|
8
|
+
* Background uses the category's `bg` token; icon uses the `fg` token.
|
|
9
|
+
*
|
|
10
|
+
* `size` is the tile's outer side in px; the icon renders at the `xs`
|
|
11
|
+
* t-shirt token (16px) to match logician-ui's Icon sizing scale.
|
|
12
|
+
*/
|
|
13
|
+
function IconTile({ category, icon: Icon, size = 24, tokens, }) {
|
|
14
|
+
const c = getCategoryTokens(category, tokens);
|
|
15
|
+
return (jsx(Box, { width: `${size}px`, height: `${size}px`, borderRadius: "sm", bg: c.bg, color: c.fg, display: "grid", placeItems: "center", flexShrink: 0, children: jsx(Icon, { boxSize: "xs" }) }));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { IconTile };
|
|
19
|
+
//# sourceMappingURL=IconTile.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconTile.mjs","sources":["../../../../../src/components/Workflow/canvas/IconTile/IconTile.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;AAOA;;;;;;AAMG;AACG,SAAU,QAAQ,CAAC,EACvB,QAAQ,EACR,IAAI,EAAE,IAAI,EACV,IAAI,GAAG,EAAE,EACT,MAAM,GACQ,EAAA;IACd,MAAM,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC7C,QACEA,GAAA,CAAC,GAAG,EAAA,EACF,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,EAClB,MAAM,EAAE,GAAG,IAAI,CAAA,EAAA,CAAI,EACnB,YAAY,EAAC,IAAI,EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,KAAK,EAAE,CAAC,CAAC,EAAE,EACX,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,UAAU,EAAE,CAAC,EAAA,QAAA,EAEbA,GAAA,CAAC,IAAI,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,CAAG,EAAA,CACjB;AAEV;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { NodeCategory } from '../../Workflow.types';
|
|
2
|
+
import type { CategoryTokenMap, CategoryTokens } from './IconTile.types';
|
|
3
|
+
/**
|
|
4
|
+
* Default mapping from the six categories to logician-ui semantic color
|
|
5
|
+
* tokens. "fg" tints the icon, "bg" fills the tile background. Output and
|
|
6
|
+
* Note don't map cleanly to a `colorPalette` so they're spelled out with
|
|
7
|
+
* raw token pairs.
|
|
8
|
+
*
|
|
9
|
+
* Host apps that want to retheme can override the map via the
|
|
10
|
+
* `categoryTokens` prop on `<Workflow>` — see WorkflowContext.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DEFAULT_CATEGORY_TOKENS: CategoryTokenMap;
|
|
13
|
+
/**
|
|
14
|
+
* Returns tokens for a category, falling back to `output` if a host passes
|
|
15
|
+
* an unknown category (e.g. from a JSON graph payload).
|
|
16
|
+
*/
|
|
17
|
+
export declare function getCategoryTokens(category: NodeCategory, map?: CategoryTokenMap): CategoryTokens;
|
|
18
|
+
//# sourceMappingURL=IconTile.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconTile.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Workflow/canvas/IconTile/IconTile.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAgBrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,GAAG,GAAE,gBAA0C,GAC9C,cAAc,CAEhB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Default mapping from the six categories to logician-ui semantic color
|
|
6
|
+
* tokens. "fg" tints the icon, "bg" fills the tile background. Output and
|
|
7
|
+
* Note don't map cleanly to a `colorPalette` so they're spelled out with
|
|
8
|
+
* raw token pairs.
|
|
9
|
+
*
|
|
10
|
+
* Host apps that want to retheme can override the map via the
|
|
11
|
+
* `categoryTokens` prop on `<Workflow>` — see WorkflowContext.
|
|
12
|
+
*/
|
|
13
|
+
const DEFAULT_CATEGORY_TOKENS = {
|
|
14
|
+
trigger: {
|
|
15
|
+
bg: 'success.lightest',
|
|
16
|
+
fg: 'success.main',
|
|
17
|
+
border: 'slate.300',
|
|
18
|
+
},
|
|
19
|
+
ai: { bg: 'primary.lightest', fg: 'primary.main', border: 'slate.300' },
|
|
20
|
+
logic: {
|
|
21
|
+
bg: 'secondary.lightest',
|
|
22
|
+
fg: 'secondary.main',
|
|
23
|
+
border: 'slate.300',
|
|
24
|
+
},
|
|
25
|
+
safety: { bg: 'danger.lightest', fg: 'danger.main', border: 'slate.300' },
|
|
26
|
+
output: { bg: 'slate.50', fg: 'slate.1200', border: 'slate.300' },
|
|
27
|
+
// Note's `border` doubles as the body border so it reads as warm, not gray.
|
|
28
|
+
note: { bg: 'warning.lightest', fg: 'warning.dark', border: 'warning.light' },
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Returns tokens for a category, falling back to `output` if a host passes
|
|
32
|
+
* an unknown category (e.g. from a JSON graph payload).
|
|
33
|
+
*/
|
|
34
|
+
function getCategoryTokens(category, map = DEFAULT_CATEGORY_TOKENS) {
|
|
35
|
+
return map[category] ?? DEFAULT_CATEGORY_TOKENS.output;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.DEFAULT_CATEGORY_TOKENS = DEFAULT_CATEGORY_TOKENS;
|
|
39
|
+
exports.getCategoryTokens = getCategoryTokens;
|
|
40
|
+
//# sourceMappingURL=IconTile.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconTile.styles.js","sources":["../../../../../src/components/Workflow/canvas/IconTile/IconTile.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGA;;;;;;;;AAQG;AACI,MAAM,uBAAuB,GAAqB;AACvD,IAAA,OAAO,EAAE;AACP,QAAA,EAAE,EAAE,kBAAkB;AACtB,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,MAAM,EAAE,WAAW;AACpB,KAAA;AACD,IAAA,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE;AACvE,IAAA,KAAK,EAAE;AACL,QAAA,EAAE,EAAE,oBAAoB;AACxB,QAAA,EAAE,EAAE,gBAAgB;AACpB,QAAA,MAAM,EAAE,WAAW;AACpB,KAAA;AACD,IAAA,MAAM,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE;AACzE,IAAA,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;;AAEjE,IAAA,IAAI,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE;;AAG/E;;;AAGG;SACa,iBAAiB,CAC/B,QAAsB,EACtB,MAAwB,uBAAuB,EAAA;IAE/C,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,MAAM;AACxD;;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
/**
|
|
3
|
+
* Default mapping from the six categories to logician-ui semantic color
|
|
4
|
+
* tokens. "fg" tints the icon, "bg" fills the tile background. Output and
|
|
5
|
+
* Note don't map cleanly to a `colorPalette` so they're spelled out with
|
|
6
|
+
* raw token pairs.
|
|
7
|
+
*
|
|
8
|
+
* Host apps that want to retheme can override the map via the
|
|
9
|
+
* `categoryTokens` prop on `<Workflow>` — see WorkflowContext.
|
|
10
|
+
*/
|
|
11
|
+
const DEFAULT_CATEGORY_TOKENS = {
|
|
12
|
+
trigger: {
|
|
13
|
+
bg: 'success.lightest',
|
|
14
|
+
fg: 'success.main',
|
|
15
|
+
border: 'slate.300',
|
|
16
|
+
},
|
|
17
|
+
ai: { bg: 'primary.lightest', fg: 'primary.main', border: 'slate.300' },
|
|
18
|
+
logic: {
|
|
19
|
+
bg: 'secondary.lightest',
|
|
20
|
+
fg: 'secondary.main',
|
|
21
|
+
border: 'slate.300',
|
|
22
|
+
},
|
|
23
|
+
safety: { bg: 'danger.lightest', fg: 'danger.main', border: 'slate.300' },
|
|
24
|
+
output: { bg: 'slate.50', fg: 'slate.1200', border: 'slate.300' },
|
|
25
|
+
// Note's `border` doubles as the body border so it reads as warm, not gray.
|
|
26
|
+
note: { bg: 'warning.lightest', fg: 'warning.dark', border: 'warning.light' },
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Returns tokens for a category, falling back to `output` if a host passes
|
|
30
|
+
* an unknown category (e.g. from a JSON graph payload).
|
|
31
|
+
*/
|
|
32
|
+
function getCategoryTokens(category, map = DEFAULT_CATEGORY_TOKENS) {
|
|
33
|
+
return map[category] ?? DEFAULT_CATEGORY_TOKENS.output;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { DEFAULT_CATEGORY_TOKENS, getCategoryTokens };
|
|
37
|
+
//# sourceMappingURL=IconTile.styles.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconTile.styles.mjs","sources":["../../../../../src/components/Workflow/canvas/IconTile/IconTile.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";AAGA;;;;;;;;AAQG;AACI,MAAM,uBAAuB,GAAqB;AACvD,IAAA,OAAO,EAAE;AACP,QAAA,EAAE,EAAE,kBAAkB;AACtB,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,MAAM,EAAE,WAAW;AACpB,KAAA;AACD,IAAA,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE;AACvE,IAAA,KAAK,EAAE;AACL,QAAA,EAAE,EAAE,oBAAoB;AACxB,QAAA,EAAE,EAAE,gBAAgB;AACpB,QAAA,MAAM,EAAE,WAAW;AACpB,KAAA;AACD,IAAA,MAAM,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE;AACzE,IAAA,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;;AAEjE,IAAA,IAAI,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE;;AAG/E;;;AAGG;SACa,iBAAiB,CAC/B,QAAsB,EACtB,MAAwB,uBAAuB,EAAA;IAE/C,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,MAAM;AACxD;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type CreatedIcon } from '@/components/Icon';
|
|
2
|
+
import type { NodeCategory } from '../../Workflow.types';
|
|
3
|
+
export type CategoryTokens = {
|
|
4
|
+
bg: string;
|
|
5
|
+
fg: string;
|
|
6
|
+
border: string;
|
|
7
|
+
};
|
|
8
|
+
export type CategoryTokenMap = Record<NodeCategory, CategoryTokens>;
|
|
9
|
+
export type IconTileProps = {
|
|
10
|
+
category: NodeCategory;
|
|
11
|
+
icon: CreatedIcon;
|
|
12
|
+
size?: number;
|
|
13
|
+
tokens?: CategoryTokenMap;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=IconTile.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconTile.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Workflow/canvas/IconTile/IconTile.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Workflow/canvas/IconTile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Issue } from '../../Workflow.types';
|
|
2
|
+
/**
|
|
3
|
+
* Severity-bucketed list of node issues rendered inside the floating canvas
|
|
4
|
+
* banner's dropdown. Row-style — each issue is an inline row with a thin
|
|
5
|
+
* severity bar, sized for dense scanning rather than block-level reading.
|
|
6
|
+
*/
|
|
7
|
+
export declare function IssueList({ label, tone, issues, onIssueClick, resolveMessage, }: {
|
|
8
|
+
label: string;
|
|
9
|
+
tone: 'error' | 'warning';
|
|
10
|
+
issues: Issue[];
|
|
11
|
+
/**
|
|
12
|
+
* Optional row click handler — when present, each row becomes a button
|
|
13
|
+
* that jumps the inspector to the offending field. Stops propagation so
|
|
14
|
+
* the parent bucket's own click (jump to node) doesn't also fire.
|
|
15
|
+
*/
|
|
16
|
+
onIssueClick?: (issue: Issue) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Map an issue to its display message. Defaults to `issue.message`
|
|
19
|
+
* (English). Callers wire in `useWorkflowIssueMessage` to get the
|
|
20
|
+
* localized form.
|
|
21
|
+
*/
|
|
22
|
+
resolveMessage?: (issue: Issue) => string;
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
//# sourceMappingURL=IssueList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IssueList.d.ts","sourceRoot":"","sources":["../../../../../src/components/Workflow/canvas/IssueList/IssueList.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,cAAc,GACf,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;CAC3C,2CA8CA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('@chakra-ui/react');
|
|
6
|
+
require('../../../Typography/H1.js');
|
|
7
|
+
require('../../../Typography/H2.js');
|
|
8
|
+
require('../../../Typography/H3.js');
|
|
9
|
+
require('../../../Typography/H4.js');
|
|
10
|
+
require('../../../Typography/H5.js');
|
|
11
|
+
require('../../../Typography/Link.js');
|
|
12
|
+
var Subtext = require('../../../Typography/Subtext.js');
|
|
13
|
+
require('../../../Typography/Subtitle.js');
|
|
14
|
+
var Text = require('../../../Typography/Text.js');
|
|
15
|
+
var issueSeverity = require('../issueSeverity.js');
|
|
16
|
+
var SeverityDot = require('../SeverityDot/SeverityDot.js');
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Severity-bucketed list of node issues rendered inside the floating canvas
|
|
20
|
+
* banner's dropdown. Row-style — each issue is an inline row with a thin
|
|
21
|
+
* severity bar, sized for dense scanning rather than block-level reading.
|
|
22
|
+
*/
|
|
23
|
+
function IssueList({ label, tone, issues, onIssueClick, resolveMessage, }) {
|
|
24
|
+
const color = issueSeverity.severityColorToken(tone);
|
|
25
|
+
return (jsxRuntime.jsxs(react.Box, { children: [jsxRuntime.jsxs(react.HStack, { gap: 1, px: 3, pt: 1.5, pb: 0.5, children: [jsxRuntime.jsx(SeverityDot.SeverityDot, { severity: tone }), jsxRuntime.jsxs(Subtext.Subtext, { fontWeight: "medium", color: color, textTransform: "uppercase", letterSpacing: "wider", children: [label, " \u00B7 ", issues.length] })] }), issues.map((issue, i) => (jsxRuntime.jsxs(react.Flex, { gap: 2, px: 3, py: 1.5, align: "center", cursor: onIssueClick ? 'pointer' : undefined, _hover: onIssueClick ? { bg: 'slate.50' } : undefined, onClick: onIssueClick
|
|
26
|
+
? (e) => {
|
|
27
|
+
e.stopPropagation();
|
|
28
|
+
onIssueClick(issue);
|
|
29
|
+
}
|
|
30
|
+
: undefined, children: [jsxRuntime.jsx(react.Box, { w: "3px", flexShrink: 0, borderRadius: "full", bg: issueSeverity.severityColorToken(issue.severity) }), jsxRuntime.jsx(Text.Text, { fontSize: "sm", color: "slate.1200", children: resolveMessage ? resolveMessage(issue) : issue.message })] }, `${issue.code}_${i}`)))] }));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
exports.IssueList = IssueList;
|
|
34
|
+
//# sourceMappingURL=IssueList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IssueList.js","sources":["../../../../../src/components/Workflow/canvas/IssueList/IssueList.tsx"],"sourcesContent":[null],"names":["severityColorToken","_jsxs","Box","HStack","_jsx","SeverityDot","Subtext","Flex","Text"],"mappings":";;;;;;;;;;;;;;;;;AAUA;;;;AAIG;AACG,SAAU,SAAS,CAAC,EACxB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,cAAc,GAiBf,EAAA;AACC,IAAA,MAAM,KAAK,GAAGA,gCAAkB,CAAC,IAAI,CAAC;IACtC,QACEC,eAAA,CAACC,SAAG,EAAA,EAAA,QAAA,EAAA,CACFD,eAAA,CAACE,YAAM,EAAA,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAA,QAAA,EAAA,CACrCC,cAAA,CAACC,uBAAW,EAAA,EAAC,QAAQ,EAAE,IAAI,EAAA,CAAI,EAC/BJ,eAAA,CAACK,eAAO,EAAA,EACN,UAAU,EAAC,QAAQ,EACnB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAC,WAAW,EACzB,aAAa,EAAC,OAAO,EAAA,QAAA,EAAA,CAEpB,KAAK,EAAA,UAAA,EAAK,MAAM,CAAC,MAAM,CAAA,EAAA,CAChB,CAAA,EAAA,CACH,EACR,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MACnBL,eAAA,CAACM,UAAI,EAAA,EAEH,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,GAAG,EACP,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,EAC5C,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,SAAS,EACrD,OAAO,EACL;AACE,sBAAE,CAAC,CAAC,KAAI;wBACJ,CAAC,CAAC,eAAe,EAAE;wBACnB,YAAY,CAAC,KAAK,CAAC;oBACrB;AACF,sBAAE,SAAS,EAAA,QAAA,EAAA,CAGfH,cAAA,CAACF,SAAG,EAAA,EACF,CAAC,EAAC,KAAK,EACP,UAAU,EAAE,CAAC,EACb,YAAY,EAAC,MAAM,EACnB,EAAE,EAAEF,gCAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAA,CACtC,EACFI,cAAA,CAACI,SAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,YAAY,EAAA,QAAA,EACnC,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,EAAA,CAClD,CAAA,EAAA,EAxBF,CAAA,EAAG,KAAK,CAAC,IAAI,CAAA,CAAA,EAAI,CAAC,CAAA,CAAE,CAyBpB,CACR,CAAC,CAAA,EAAA,CACE;AAEV;;;;"}
|