@flowuent-org/diagramming-core 1.3.10 → 1.4.1
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/.editorconfig +13 -13
- package/.eslintignore +1 -1
- package/.eslintrc.json +35 -35
- package/.prettierignore +3 -3
- package/.prettierrc +3 -3
- package/.vscode/settings.json +6 -6
- package/README.md +95 -95
- package/apps/authentication/tsconfig.app.json +23 -23
- package/apps/authentication/tsconfig.json +21 -21
- package/apps/authentication/tsconfig.spec.json +28 -28
- package/apps/diagramming/.eslintrc.json +18 -18
- package/apps/diagramming/index.html +16 -16
- package/apps/diagramming/project.json +53 -53
- package/apps/diagramming/public/aws-icons/compute/App Runner.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Application Auto Scaling.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Batch.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Bottlerocket.svg +19 -19
- package/apps/diagramming/public/aws-icons/compute/Compute Optimizer.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/EC2 Auto Scaling.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/EC2 Image Builder.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/EC2.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Elastic Beanstalk.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Elastic Fabric Adapter.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Fargate.svg +19 -19
- package/apps/diagramming/public/aws-icons/compute/Genomics CLI.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Lambda.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Local Zones.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/NICE DCV.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/NICE EnginFrame.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Nitro Enclaves.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Outposts family.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Outposts rack.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Outposts servers.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/ParallelCluster.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Serverless Application Repository.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/SimSpace Weaver.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox Deadline.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox Frost.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox Sequoia.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox Stoke.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox XMesh.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/VMware Cloud on AWS.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Wavelength.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/ECS Anywhere.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/EKS Anywhere.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/EKS Cloud.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/EKS Distro.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/Elastic Container Registry.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/Elastic Container Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/Elastic Kubernetes Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/Fargate.svg +19 -19
- package/apps/diagramming/public/aws-icons/container/Red Hat OpenShift Service on AWS.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Aurora.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Database Migration Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/DocumentDB.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/ElastiCache.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Keyspaces.svg +15 -15
- package/apps/diagramming/public/aws-icons/database/MemoryDB for Redis.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Neptune.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/RDS on VMware.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/RDS.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Timestream.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/App Mesh.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Client VPN.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Cloud Directory.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Cloud Map.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Cloud WAN.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/CloudFront.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Direct Connect.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Elastic Load Balancing.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Global Accelerator.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Private 5G.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/PrivateLink.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Route 53.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Site to Site VPN.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Transit Gateway.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/VPC Lattice.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Verified Access.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Virtual Private Cloud.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Artifact.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Audit Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Certificate Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/CloudHSM.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Cognito.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Detective.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Directory Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Firewall Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/GuardDuty.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/IAM Identity Center.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Identity and Access Management.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Inspector.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Key Management Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Macie.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Network Firewall.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Resource Access Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Secrets Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Security Hub.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Security Lake.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Shield.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Signer.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Verified Permissions.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/WAF.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Backup.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/EFS.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Elastic Block Store.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Elastic Disaster Recovery.svg +15 -15
- package/apps/diagramming/public/aws-icons/storage/FSx for Lustre.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/FSx for NetApp ONTAP.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/FSx for OpenZFS.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/FSx for WFS.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/FSx.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/File Cache.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/S3 on Outposts.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Simple Storage Service Glacier.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Simple Storage Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Snowball Edge.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Snowball.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Snowcone.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Snowmobile.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Storage Gateway.svg +17 -17
- package/apps/diagramming/public/azure-icons/compute/02112-icon-service-Automanaged-VM.svg +1 -1
- package/apps/diagramming/public/azure-icons/databases/02390-icon-service-Azure-SQL.svg +1 -1
- package/apps/diagramming/public/azure-icons/databases/02392-icon-service-SSIS-Lift-And-Shift-IR.svg +1 -1
- package/apps/diagramming/public/azure-icons/networking/02145-icon-service-Resource-Management-Private-Link.svg +1 -1
- package/apps/diagramming/public/azure-icons/security/02247-icon-service-Microsoft-Defender-for-IoT.svg +1 -1
- package/apps/diagramming/public/sample-node-complete.json +63 -63
- package/apps/diagramming/public/sample-node-data.json +63 -63
- package/apps/diagramming/src/AutomationDiagramData.ts +147 -480
- package/apps/diagramming/src/CollaborationDiagramData.ts +127 -127
- package/apps/diagramming/src/CustomIconExamples.ts +233 -233
- package/apps/diagramming/src/DiagramTabs.tsx +205 -205
- package/apps/diagramming/src/Pages/DevPlayground.tsx +3 -3
- package/apps/diagramming/src/Pages/Home.tsx +111 -111
- package/apps/diagramming/src/SequenceDiagramData.ts +215 -215
- package/apps/diagramming/src/StateMachineDiagramData.ts +64 -64
- package/apps/diagramming/src/UseCaseDiagramData.ts +52 -52
- package/apps/diagramming/src/cloud-data.ts +371 -371
- package/apps/diagramming/src/components/AddNodeView.tsx +252 -252
- package/apps/diagramming/src/createSelecors.tsx +17 -17
- package/apps/diagramming/src/index.scss +12 -12
- package/apps/diagramming/src/main.tsx +463 -463
- package/apps/diagramming/src/node-data.ts +664 -664
- package/apps/diagramming/src/sample-workflow-content.ts +55 -55
- package/apps/diagramming/src/stencil-items.ts +31 -31
- package/apps/diagramming/src/style.css +13 -13
- package/apps/diagramming/src/tabsStore.tsx +152 -152
- package/apps/diagramming/src/vite-env.d.ts +1 -1
- package/apps/diagramming/tsconfig.app.json +23 -23
- package/apps/diagramming/tsconfig.json +21 -21
- package/apps/diagramming/tsconfig.spec.json +28 -28
- package/apps/diagramming/vite.config.ts +34 -34
- package/apps/diagramming/webpack.config.js +13 -13
- package/apps/workflow/.eslintrc.json +18 -18
- package/apps/workflow/group/group-form-hooks/index.ts +3 -3
- package/apps/workflow/group/group-form-hooks/useFormValidation.ts +20 -20
- package/apps/workflow/group/group-form-schema/SettingsTabFormSchema.ts +7 -7
- package/apps/workflow/group/group-form-schema/index.ts +3 -3
- package/apps/workflow/i18n.ts +19 -19
- package/apps/workflow/index.html +16 -16
- package/apps/workflow/locales/en/translation.json +713 -713
- package/apps/workflow/project.json +8 -8
- package/apps/workflow/src/app/app.module.css +1 -1
- package/apps/workflow/src/app/app.spec.tsx +15 -15
- package/apps/workflow/src/app/app.tsx +370 -370
- package/apps/workflow/src/main.tsx +13 -13
- package/apps/workflow/src/styles.css +1 -1
- package/apps/workflow/src/theme/index.ts +546 -546
- package/apps/workflow/tsconfig.app.json +23 -23
- package/apps/workflow/tsconfig.json +21 -21
- package/apps/workflow/tsconfig.spec.json +28 -28
- package/apps/workflow/vite.config.ts +51 -51
- package/nx.json +58 -58
- package/package.json +1 -1
- package/packages/api/.babelrc +12 -12
- package/packages/api/.eslintrc.json +18 -18
- package/packages/api/README.md +7 -7
- package/packages/api/project.json +8 -8
- package/packages/api/src/index.ts +3 -3
- package/packages/api/src/lib/jsonPlaceholderService/endpoints.ts +3 -3
- package/packages/api/src/lib/jsonPlaceholderService/service.ts +13 -13
- package/packages/api/tsconfig.json +17 -17
- package/packages/api/tsconfig.lib.json +24 -24
- package/packages/atoms/.babelrc +12 -12
- package/packages/atoms/.eslintrc.json +18 -18
- package/packages/atoms/README.md +7 -7
- package/packages/atoms/forms/AuthenticationTabForm/authenticationTabForm.json +224 -224
- package/packages/atoms/forms/AuthenticationTabForm/index.tsx +255 -255
- package/packages/atoms/forms/SettingsTabForm/index.tsx +85 -85
- package/packages/atoms/forms/SettingsTabForm/settingTabForm.json +27 -27
- package/packages/atoms/forms/index.ts +4 -4
- package/packages/atoms/project.json +8 -8
- package/packages/atoms/src/index.ts +33 -33
- package/packages/atoms/src/lib/Accordion/Accordion.module.css +7 -7
- package/packages/atoms/src/lib/Accordion/Accordion.spec.tsx +13 -13
- package/packages/atoms/src/lib/Accordion/Accordion.tsx +29 -29
- package/packages/atoms/src/lib/Alert/Alert.module.css +7 -7
- package/packages/atoms/src/lib/Alert/Alert.spec.tsx +10 -10
- package/packages/atoms/src/lib/Alert/Alert.tsx +19 -19
- package/packages/atoms/src/lib/Avatar/Avatar.module.css +7 -7
- package/packages/atoms/src/lib/Avatar/Avatar.spec.tsx +10 -10
- package/packages/atoms/src/lib/Avatar/Avatar.tsx +22 -22
- package/packages/atoms/src/lib/Box/Box.module.css +7 -7
- package/packages/atoms/src/lib/Box/Box.spec.tsx +10 -10
- package/packages/atoms/src/lib/Box/Box.tsx +19 -19
- package/packages/atoms/src/lib/BulkEdit/BulkEdit.module.css +7 -7
- package/packages/atoms/src/lib/BulkEdit/BulkEdit.spec.tsx +10 -10
- package/packages/atoms/src/lib/BulkEdit/BulkEdit.tsx +15 -15
- package/packages/atoms/src/lib/Button/Button.module.css +7 -7
- package/packages/atoms/src/lib/Button/Button.spec.tsx +10 -10
- package/packages/atoms/src/lib/Button/Button.tsx +78 -78
- package/packages/atoms/src/lib/Card/Card.module.css +7 -7
- package/packages/atoms/src/lib/Card/Card.spec.tsx +10 -10
- package/packages/atoms/src/lib/Card/Card.tsx +19 -19
- package/packages/atoms/src/lib/CardContent/CardContent.module.css +7 -7
- package/packages/atoms/src/lib/CardContent/CardContent.spec.tsx +10 -10
- package/packages/atoms/src/lib/CardContent/CardContent.tsx +22 -22
- package/packages/atoms/src/lib/FormTextField/FormTextField.module.css +7 -7
- package/packages/atoms/src/lib/FormTextField/FormTextField.spec.tsx +10 -10
- package/packages/atoms/src/lib/FormTextField/FormTextField.tsx +35 -35
- package/packages/atoms/src/lib/Grid/Grid.module.css +7 -7
- package/packages/atoms/src/lib/Grid/Grid.spec.tsx +10 -10
- package/packages/atoms/src/lib/Grid/Grid.tsx +19 -19
- package/packages/atoms/src/lib/Stack/Stack.module.css +7 -7
- package/packages/atoms/src/lib/Stack/Stack.spec.tsx +10 -10
- package/packages/atoms/src/lib/Stack/Stack.tsx +19 -19
- package/packages/atoms/src/lib/Switch/Switch.module.css +7 -7
- package/packages/atoms/src/lib/Switch/Switch.spec.tsx +10 -10
- package/packages/atoms/src/lib/Switch/Switch.tsx +46 -46
- package/packages/atoms/src/lib/TableView/TableView.module.css +7 -7
- package/packages/atoms/src/lib/TableView/TableView.spec.tsx +10 -10
- package/packages/atoms/src/lib/TableView/TableView.tsx +88 -88
- package/packages/atoms/src/lib/TextField/TextField.module.css +7 -7
- package/packages/atoms/src/lib/TextField/TextField.spec.tsx +10 -10
- package/packages/atoms/src/lib/TextField/TextField.tsx +17 -17
- package/packages/atoms/src/lib/Typography/Typography.module.css +7 -7
- package/packages/atoms/src/lib/Typography/Typography.spec.tsx +10 -10
- package/packages/atoms/src/lib/Typography/Typography.tsx +22 -22
- package/packages/atoms/tsconfig.json +17 -17
- package/packages/atoms/tsconfig.lib.json +30 -30
- package/packages/common/.babelrc +12 -12
- package/packages/common/.eslintrc.json +18 -18
- package/packages/common/README.md +7 -7
- package/packages/common/project.json +8 -8
- package/packages/common/src/index.ts +4 -4
- package/packages/common/src/lib/generateRandomProfilePic.ts +3 -3
- package/packages/common/src/lib/generateValidationSchema.ts +46 -46
- package/packages/common/tsconfig.json +17 -17
- package/packages/common/tsconfig.lib.json +24 -24
- package/packages/contexts/.babelrc +12 -12
- package/packages/contexts/.eslintrc.json +18 -18
- package/packages/contexts/README.md +7 -7
- package/packages/contexts/project.json +8 -8
- package/packages/contexts/src/index.ts +2 -2
- package/packages/contexts/tsconfig.json +17 -17
- package/packages/contexts/tsconfig.lib.json +24 -24
- package/packages/diagrams/.babelrc +12 -12
- package/packages/diagrams/.ctirc +208 -208
- package/packages/diagrams/.eslintrc.json +17 -17
- package/packages/diagrams/CUSTOM_ICONS.md +232 -232
- package/packages/diagrams/GOOGLE_SHEETS_IMPLEMENTATION.md +233 -233
- package/packages/diagrams/NODE_DATA_UPDATE_API.md +430 -430
- package/packages/diagrams/README.md +7 -7
- package/packages/diagrams/UNDO_REDO_API.md +306 -306
- package/packages/diagrams/locales/en/translation.json +713 -713
- package/packages/diagrams/package.json +27 -27
- package/packages/diagrams/pnpm-lock.yaml +2606 -2606
- package/packages/diagrams/project.json +42 -42
- package/packages/diagrams/rollup.config.js +26 -26
- package/packages/diagrams/src/DiagramFlow.tsx +7 -7
- package/packages/diagrams/src/declarations.d.ts +7 -7
- package/packages/diagrams/src/index.ts +8 -1
- package/packages/diagrams/src/index.ts.bak +99 -99
- package/packages/diagrams/src/lib/assets/markers/markers.param.tsx +101 -101
- package/packages/diagrams/src/lib/assets/markers/markers.type.ts +10 -10
- package/packages/diagrams/src/lib/atoms/ActorNode.tsx +123 -123
- package/packages/diagrams/src/lib/atoms/AddParallelColButton.tsx +26 -26
- package/packages/diagrams/src/lib/atoms/BendpointNode.tsx +71 -71
- package/packages/diagrams/src/lib/atoms/CardBlockTypeSelector.tsx +35 -35
- package/packages/diagrams/src/lib/atoms/CardEditableTitle.tsx +76 -76
- package/packages/diagrams/src/lib/atoms/CardMainContent.tsx +19 -19
- package/packages/diagrams/src/lib/atoms/ConnectionPoints.tsx +149 -149
- package/packages/diagrams/src/lib/atoms/ContentAssist.tsx +341 -341
- package/packages/diagrams/src/lib/atoms/DiagramControls.tsx +56 -56
- package/packages/diagrams/src/lib/atoms/ExpressionInput.tsx +437 -437
- package/packages/diagrams/src/lib/atoms/FloatingConnectionLine.tsx +73 -73
- package/packages/diagrams/src/lib/atoms/LazyIcon.tsx +31 -31
- package/packages/diagrams/src/lib/atoms/MarkerSelector.tsx +106 -106
- package/packages/diagrams/src/lib/atoms/MultiSelectInput.tsx +87 -87
- package/packages/diagrams/src/lib/atoms/ParameterInput.tsx +199 -199
- package/packages/diagrams/src/lib/atoms/PropertyInput.tsx +114 -114
- package/packages/diagrams/src/lib/atoms/StyledBox.tsx +69 -69
- package/packages/diagrams/src/lib/atoms/ValidationError.tsx +37 -37
- package/packages/diagrams/src/lib/atoms/ValidationMessage.tsx +63 -63
- package/packages/diagrams/src/lib/components/AiButton.tsx +52 -52
- package/packages/diagrams/src/lib/components/ControlEdgeList.tsx +303 -303
- package/packages/diagrams/src/lib/components/CreateFunctionModal.tsx +264 -264
- package/packages/diagrams/src/lib/components/CustomCodeModal.tsx +287 -287
- package/packages/diagrams/src/lib/components/DiagramPanel.tsx +331 -331
- package/packages/diagrams/src/lib/components/FunctionModalTooltip.tsx +30 -30
- package/packages/diagrams/src/lib/components/GraphQLCustomCodeModal.tsx +210 -210
- package/packages/diagrams/src/lib/components/Header.tsx +143 -143
- package/packages/diagrams/src/lib/components/MiniMapCommon.tsx +24 -24
- package/packages/diagrams/src/lib/components/ResizeIcon.tsx +81 -81
- package/packages/diagrams/src/lib/components/SideBar.tsx +40 -40
- package/packages/diagrams/src/lib/components/automation/AISuggestionsModal.tsx +269 -269
- package/packages/diagrams/src/lib/components/automation/AISuggestionsPanel.tsx +28 -175
- package/packages/diagrams/src/lib/components/automation/AutomationApiNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationDecisionNode.tsx +94 -0
- package/packages/diagrams/src/lib/components/automation/AutomationEndNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationExecutionPanel.tsx +439 -439
- package/packages/diagrams/src/lib/components/automation/AutomationFormattingNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationInteractionNode.tsx +693 -693
- package/packages/diagrams/src/lib/components/automation/AutomationMonitoringNode.tsx +399 -399
- package/packages/diagrams/src/lib/components/automation/AutomationNavigationNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationNodeCard.tsx +414 -0
- package/packages/diagrams/src/lib/components/automation/AutomationSlackNode.tsx +694 -694
- package/packages/diagrams/src/lib/components/automation/AutomationSmsNode.tsx +62 -0
- package/packages/diagrams/src/lib/components/automation/AutomationStartNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationTelegramNode.tsx +664 -664
- package/packages/diagrams/src/lib/components/automation/AutomationVoiceCallNode.tsx +65 -0
- package/packages/diagrams/src/lib/components/automation/AutomationWorkflowNode.tsx +85 -0
- package/packages/diagrams/src/lib/components/automation/NodeAIAssistantPopup.tsx +504 -504
- package/packages/diagrams/src/lib/components/automation/index.ts +29 -19
- package/packages/diagrams/src/lib/components/automation/statusColors.ts +124 -124
- package/packages/diagrams/src/lib/contexts/CardDataProvider.tsx +111 -111
- package/packages/diagrams/src/lib/contexts/DiagramProvider.tsx +392 -391
- package/packages/diagrams/src/lib/contexts/diagramStoreTypes.tsx +134 -134
- package/packages/diagrams/src/lib/contexts/onConnect.ts +39 -39
- package/packages/diagrams/src/lib/contexts/onDragStart.ts +45 -45
- package/packages/diagrams/src/lib/contexts/onNodeDragEnd.ts +179 -179
- package/packages/diagrams/src/lib/contexts/onNodesChange.ts +406 -406
- package/packages/diagrams/src/lib/contexts/onReconnect.ts +59 -59
- package/packages/diagrams/src/lib/contexts/onWorkflowNodeDelete.ts +65 -65
- package/packages/diagrams/src/lib/contexts/setContentHeight.ts +14 -14
- package/packages/diagrams/src/lib/contexts/setDiagramType.ts +10 -10
- package/packages/diagrams/src/lib/contexts/setEdgeShapeType.ts +7 -7
- package/packages/diagrams/src/lib/contexts/setEdges.ts +9 -9
- package/packages/diagrams/src/lib/contexts/setLayoutDirection.ts +9 -9
- package/packages/diagrams/src/lib/contexts/setNodeSetting.ts +17 -17
- package/packages/diagrams/src/lib/contexts/setNodes.ts +10 -10
- package/packages/diagrams/src/lib/contexts/setPannable.ts +7 -7
- package/packages/diagrams/src/lib/contexts/setSelectedEdge.ts +7 -7
- package/packages/diagrams/src/lib/contexts/setSelectedNode.ts +7 -7
- package/packages/diagrams/src/lib/contexts/undo.ts +163 -163
- package/packages/diagrams/src/lib/contexts/updateNodeSetting.ts +17 -17
- package/packages/diagrams/src/lib/examples/TwilioWhatsAppConfigExample.ts +128 -128
- package/packages/diagrams/src/lib/externals.ts +4 -4
- package/packages/diagrams/src/lib/hooks/customUseReactFlow.tsx +90 -90
- package/packages/diagrams/src/lib/hooks/updateNodes.ts +45 -45
- package/packages/diagrams/src/lib/hooks/useAddChildButton.tsx +61 -61
- package/packages/diagrams/src/lib/hooks/useAddSwitchCase.ts +75 -75
- package/packages/diagrams/src/lib/hooks/useAutoRegisterFunctions.ts +135 -135
- package/packages/diagrams/src/lib/hooks/useAutoRegisterVariables.ts +286 -286
- package/packages/diagrams/src/lib/hooks/useDeleteNodeByEvent.ts +64 -64
- package/packages/diagrams/src/lib/hooks/useDragCallbacks.tsx +122 -122
- package/packages/diagrams/src/lib/hooks/useFormValidation.ts +349 -349
- package/packages/diagrams/src/lib/hooks/useFunctionFormCallbacks.ts +136 -136
- package/packages/diagrams/src/lib/hooks/useIsSelectedNode.ts +11 -11
- package/packages/diagrams/src/lib/hooks/useModalControls.ts +13 -13
- package/packages/diagrams/src/lib/hooks/useNodeDragHandlers.ts +43 -43
- package/packages/diagrams/src/lib/hooks/useNodeSelection.ts +55 -55
- package/packages/diagrams/src/lib/hooks/useRenderDividers.tsx +19 -19
- package/packages/diagrams/src/lib/hooks/useRenderPins.tsx +74 -74
- package/packages/diagrams/src/lib/hooks/useResizeObserver.ts +21 -21
- package/packages/diagrams/src/lib/hooks/useTreeChildNode.ts +536 -536
- package/packages/diagrams/src/lib/i18n.ts +42 -42
- package/packages/diagrams/src/lib/icons/icons.tsx +324 -0
- package/packages/diagrams/src/lib/icons/index.ts +29 -0
- package/packages/diagrams/src/lib/icons/types.ts +7 -0
- package/packages/diagrams/src/lib/molecules/AddingBlock.tsx +147 -147
- package/packages/diagrams/src/lib/molecules/AvailableVariablesDisplay.tsx +57 -57
- package/packages/diagrams/src/lib/molecules/Block.tsx +143 -143
- package/packages/diagrams/src/lib/molecules/BlockProvider.tsx +28 -28
- package/packages/diagrams/src/lib/molecules/BlockWrapper.tsx +14 -14
- package/packages/diagrams/src/lib/molecules/ConditionRule.tsx +131 -131
- package/packages/diagrams/src/lib/molecules/DraggablePane.tsx +198 -198
- package/packages/diagrams/src/lib/molecules/EntityNodeBlocks.tsx +66 -66
- package/packages/diagrams/src/lib/molecules/SideHandles.tsx +215 -215
- package/packages/diagrams/src/lib/molecules/StencilItem.tsx +85 -85
- package/packages/diagrams/src/lib/molecules/WorkflowNodeActionButtons.tsx +62 -62
- package/packages/diagrams/src/lib/molecules/animated-add-button.tsx +83 -83
- package/packages/diagrams/src/lib/molecules/json-viewer.tsx +107 -107
- package/packages/diagrams/src/lib/organisms/AddNodeView.tsx +102 -102
- package/packages/diagrams/src/lib/organisms/Card/EntityNode.tsx +259 -259
- package/packages/diagrams/src/lib/organisms/Card/card.params.ts +29 -29
- package/packages/diagrams/src/lib/organisms/Card/card.types.ts +5 -5
- package/packages/diagrams/src/lib/organisms/CodeModal.tsx +105 -105
- package/packages/diagrams/src/lib/organisms/ConditionRuleGroup.tsx +138 -138
- package/packages/diagrams/src/lib/organisms/CustomEdge/EdgeMarkers.tsx +51 -51
- package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge-generator.tsx +135 -135
- package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge.params.ts +6 -6
- package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge.type.ts +15 -15
- package/packages/diagrams/src/lib/organisms/CustomEdge/useCreateBendPoint.tsx +121 -121
- package/packages/diagrams/src/lib/organisms/CustomEdge/useEdgeModal.ts +37 -37
- package/packages/diagrams/src/lib/organisms/CustomEdge/useEdgePath.tsx +99 -99
- package/packages/diagrams/src/lib/organisms/DownloadPanel.tsx +345 -345
- package/packages/diagrams/src/lib/organisms/EdgeModal.tsx +243 -243
- package/packages/diagrams/src/lib/organisms/HistoryPane.tsx +118 -118
- package/packages/diagrams/src/lib/organisms/NodeContextMenu.tsx +259 -259
- package/packages/diagrams/src/lib/organisms/PropertiesPane.tsx +276 -276
- package/packages/diagrams/src/lib/organisms/SmartDynamicForm.tsx +226 -226
- package/packages/diagrams/src/lib/organisms/Stencil.tsx +60 -60
- package/packages/diagrams/src/lib/organisms/UseDiagramStore.tsx +4 -4
- package/packages/diagrams/src/lib/organisms/WorkFlowNode/NodeActionButtons.tsx +45 -45
- package/packages/diagrams/src/lib/organisms/WorkFlowNode/NodeTypeDisplay.tsx +114 -114
- package/packages/diagrams/src/lib/organisms/WorkFlowNode/WorkflowNodeIcons.tsx +21 -23
- package/packages/diagrams/src/lib/organisms/WorkflowNode.tsx +484 -484
- package/packages/diagrams/src/lib/services/GoogleSheetsService.ts +961 -961
- package/packages/diagrams/src/lib/services/SlackService.ts +134 -134
- package/packages/diagrams/src/lib/services/TwilioWhatsAppService.ts +273 -273
- package/packages/diagrams/src/lib/styles.css +55 -55
- package/packages/diagrams/src/lib/templates/PageLinks.tsx +13 -13
- package/packages/diagrams/src/lib/templates/arch/ArchDiagram.tsx +793 -793
- package/packages/diagrams/src/lib/templates/arch/components/EdgeDialog.tsx +82 -82
- package/packages/diagrams/src/lib/templates/arch/components/EdgeSettings.tsx +81 -81
- package/packages/diagrams/src/lib/templates/arch/components/GroupControls.tsx +59 -59
- package/packages/diagrams/src/lib/templates/arch/components/GroupSizeDialog.tsx +81 -81
- package/packages/diagrams/src/lib/templates/arch/components/NodeDialog.tsx +214 -214
- package/packages/diagrams/src/lib/templates/arch/components/nodeTypes.ts +91 -91
- package/packages/diagrams/src/lib/templates/arch/controls/ArchDiagramControls.tsx +349 -349
- package/packages/diagrams/src/lib/templates/arch/data/templatee-data.ts +212 -212
- package/packages/diagrams/src/lib/templates/cloud-arch/components/CloudArchitectureDiagram.tsx +3912 -3912
- package/packages/diagrams/src/lib/templates/cloud-arch/components/FormatConverter.tsx +809 -809
- package/packages/diagrams/src/lib/templates/cloud-arch/components/FragmentImporter.tsx +276 -276
- package/packages/diagrams/src/lib/templates/cloud-arch/components/PropertiesPanel.tsx +1063 -1063
- package/packages/diagrams/src/lib/templates/cloud-arch/components/ServiceIconPicker.tsx +138 -138
- package/packages/diagrams/src/lib/templates/cloud-arch/components/SettingsSidebar.tsx +656 -656
- package/packages/diagrams/src/lib/templates/cloud-arch/components/SubnetSelector.tsx +468 -468
- package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/ServiceNode.tsx +310 -310
- package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/SubnetNode.tsx +475 -475
- package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/UsersNode.tsx +277 -277
- package/packages/diagrams/src/lib/templates/cloud-arch/data/diagramManager.ts +364 -364
- package/packages/diagrams/src/lib/templates/cloud-arch/data/types.ts +183 -183
- package/packages/diagrams/src/lib/templates/cloud-arch/integration/diagramValidator.ts +379 -379
- package/packages/diagrams/src/lib/templates/cloud-arch/messages/errorMessages.json +95 -95
- package/packages/diagrams/src/lib/templates/cloud-arch/types/localization.ts +368 -368
- package/packages/diagrams/src/lib/templates/cloud-arch/types/validation.ts +72 -72
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/aws-icons.ts +557 -557
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/awsValidation.ts +446 -446
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/azure-icons.ts +802 -802
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/azureValidation.ts +495 -495
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/cloudValidation.ts +929 -929
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/errorMessages.ts +283 -283
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/gcp-icons.ts +186 -186
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/gcpValidation.ts +312 -312
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/genericValidation.ts +689 -689
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/iconMapping.ts +383 -383
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/idGenerator.ts +220 -220
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/localizationManager.ts +300 -300
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/restrictionEngine.ts +550 -550
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/restrictionValidator.ts +400 -400
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/serviceIcons.tsx +129 -129
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/serviceMapping.ts +330 -330
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/translations.ts +54 -54
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/validationExtractor.ts +342 -342
- package/packages/diagrams/src/lib/templates/collaborationDiagram/CollaborationDiagram.tsx +15 -15
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/AddCollabEdgeDialog.tsx +181 -181
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollabLayout.ts +182 -182
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollabObjectNodeSettings.tsx +86 -86
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollaborationDiagramFlow.tsx +731 -731
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/DraggableEdgeLabel.tsx +123 -123
- package/packages/diagrams/src/lib/templates/collaborationDiagram/controls/CollaborationControls.tsx +131 -131
- package/packages/diagrams/src/lib/templates/collaborationDiagram/nodes/CollabEdge.tsx +170 -170
- package/packages/diagrams/src/lib/templates/collaborationDiagram/nodes/CollabObjectNode.tsx +178 -178
- package/packages/diagrams/src/lib/templates/home.style.css +16 -16
- package/packages/diagrams/src/lib/templates/node-forms/ApiForm.tsx +416 -416
- package/packages/diagrams/src/lib/templates/node-forms/CallForm.tsx +370 -370
- package/packages/diagrams/src/lib/templates/node-forms/ForLoopNode.tsx +313 -313
- package/packages/diagrams/src/lib/templates/node-forms/FunctionForm.tsx +211 -211
- package/packages/diagrams/src/lib/templates/node-forms/GraphQLForm.tsx +679 -679
- package/packages/diagrams/src/lib/templates/node-forms/IfNodeForm.tsx +97 -97
- package/packages/diagrams/src/lib/templates/node-forms/LetNodeForm.tsx +533 -533
- package/packages/diagrams/src/lib/templates/node-forms/LoopNode.tsx +149 -149
- package/packages/diagrams/src/lib/templates/node-forms/NodeForm.tsx +383 -383
- package/packages/diagrams/src/lib/templates/node-forms/ReturnNodeForm.tsx +96 -96
- package/packages/diagrams/src/lib/templates/node-forms/SetNodeForm.tsx +141 -141
- package/packages/diagrams/src/lib/templates/node-forms/SwitchNodeForm.tsx +249 -249
- package/packages/diagrams/src/lib/templates/node-forms/TryCatchForm.tsx +167 -167
- package/packages/diagrams/src/lib/templates/nodeFormSchema.json +84 -84
- package/packages/diagrams/src/lib/templates/sequence/SequenceDiagram.tsx +22 -22
- package/packages/diagrams/src/lib/templates/sequence/components/ActivationBarNode.tsx +33 -33
- package/packages/diagrams/src/lib/templates/sequence/components/AddMessageDialog.tsx +302 -302
- package/packages/diagrams/src/lib/templates/sequence/components/CombinedFragmentNode.tsx +65 -65
- package/packages/diagrams/src/lib/templates/sequence/components/EntitySettings.tsx +559 -559
- package/packages/diagrams/src/lib/templates/sequence/components/FragmentSettings.tsx +116 -116
- package/packages/diagrams/src/lib/templates/sequence/components/SequenceComponents.tsx +14 -14
- package/packages/diagrams/src/lib/templates/sequence/components/SequenceDiagramFlow.tsx +1361 -1361
- package/packages/diagrams/src/lib/templates/sequence/components/SequenceEntityNode.tsx +394 -394
- package/packages/diagrams/src/lib/templates/sequence/components/SequenceMessageEdge.tsx +272 -272
- package/packages/diagrams/src/lib/templates/sequence/components/SimpleEntitySettings.tsx +89 -89
- package/packages/diagrams/src/lib/templates/sequence/controls/DiagramControls.tsx +707 -707
- package/packages/diagrams/src/lib/templates/sequence/data/template-data.ts +635 -635
- package/packages/diagrams/src/lib/templates/stateMachine/StateMachineDiagram.tsx +66 -66
- package/packages/diagrams/src/lib/templates/stateMachine/components/CompositeStateNodeSettings.tsx +638 -638
- package/packages/diagrams/src/lib/templates/stateMachine/components/CustomEdge.tsx +220 -220
- package/packages/diagrams/src/lib/templates/stateMachine/components/EdgeSettings.tsx +193 -193
- package/packages/diagrams/src/lib/templates/stateMachine/components/SelfConnectingEdge.tsx +41 -41
- package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineComponents.tsx +49 -49
- package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineDiagramFlow.tsx +1238 -1238
- package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineLayout.ts +350 -350
- package/packages/diagrams/src/lib/templates/stateMachine/components/StateNodeSettings.tsx +188 -188
- package/packages/diagrams/src/lib/templates/stateMachine/components/useSelfTransition.ts +114 -114
- package/packages/diagrams/src/lib/templates/stateMachine/controls/StateDiagramControls.tsx +488 -488
- package/packages/diagrams/src/lib/templates/stateMachine/data/template-data.ts +4 -4
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/ChoicePointNode.tsx +54 -54
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/CompositeStateNode.tsx +225 -225
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/EntryPointNode.tsx +31 -31
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/ExitPointNode.tsx +44 -44
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/FinalStateNode.tsx +41 -41
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/ForkJoinNode.tsx +53 -53
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/HistoryStateNode.tsx +36 -36
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/InitialStateNode.tsx +29 -29
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/JunctionPointNode.tsx +33 -33
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/PinPointNode.tsx +111 -111
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/StateNode.tsx +124 -124
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/bendPoint.tsx +71 -71
- package/packages/diagrams/src/lib/templates/systemFlow/SystemFlowDiagram.tsx +67 -67
- package/packages/diagrams/src/lib/templates/systemFlow/components/EdgeSettings.tsx +330 -330
- package/packages/diagrams/src/lib/templates/systemFlow/components/FloatingEdge.tsx +219 -219
- package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowComponents.tsx +28 -28
- package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowDiagramFlow.tsx +1179 -1179
- package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowNodeSettings.tsx +151 -151
- package/packages/diagrams/src/lib/templates/systemFlow/controls/SystemFlowControls.tsx +435 -435
- package/packages/diagrams/src/lib/templates/systemFlow/data/template-data.ts +308 -308
- package/packages/diagrams/src/lib/templates/systemFlow/demo.tsx +91 -91
- package/packages/diagrams/src/lib/templates/systemFlow/index.ts +5 -5
- package/packages/diagrams/src/lib/templates/systemFlow/nodes/BendpointNode.tsx +80 -80
- package/packages/diagrams/src/lib/templates/systemFlow/nodes/SystemNode.tsx +92 -92
- package/packages/diagrams/src/lib/templates/systemFlow/nodes/TreeSystemNode.tsx +755 -755
- package/packages/diagrams/src/lib/templates/useCaseDiagram/UseCaseDiagram.tsx +16 -16
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/ActorNodeSettings.tsx +103 -103
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/AddRelationshipDialog.tsx +186 -186
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/PackageNodeSettings.tsx +205 -205
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/UseCaseDiagramFlow.tsx +637 -637
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/UseCaseNodeSettings.tsx +120 -120
- package/packages/diagrams/src/lib/templates/useCaseDiagram/controls/UseCaseControls.tsx +289 -289
- package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/PackageNode.tsx +83 -83
- package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/UseCaseEdge.tsx +115 -115
- package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/UseCaseNode.tsx +230 -230
- package/packages/diagrams/src/lib/templates/validationSchema.json +277 -277
- package/packages/diagrams/src/lib/theme.ts +439 -439
- package/packages/diagrams/src/lib/types/FunctionSignature.ts +11 -11
- package/packages/diagrams/src/lib/types/SmartDynamicFormField.ts +37 -37
- package/packages/diagrams/src/lib/types/automation-node-data-types.ts +45 -131
- package/packages/diagrams/src/lib/types/available-variables.ts +18 -18
- package/packages/diagrams/src/lib/types/card-node.ts +68 -68
- package/packages/diagrams/src/lib/types/collaboration-types.ts +114 -114
- package/packages/diagrams/src/lib/types/colors.ts +25 -25
- package/packages/diagrams/src/lib/types/condition-builder.ts +18 -18
- package/packages/diagrams/src/lib/types/diagram-types.ts +14 -14
- package/packages/diagrams/src/lib/types/edge-types.ts +39 -39
- package/packages/diagrams/src/lib/types/function-execution.ts +35 -35
- package/packages/diagrams/src/lib/types/hooks.types.ts +6 -6
- package/packages/diagrams/src/lib/types/ndoe-form-types.ts +139 -139
- package/packages/diagrams/src/lib/types/node-types.ts +13 -23
- package/packages/diagrams/src/lib/types/sequence-types.ts +178 -178
- package/packages/diagrams/src/lib/types/shared-node-types.ts +21 -21
- package/packages/diagrams/src/lib/types/state-machine-types.ts +225 -225
- package/packages/diagrams/src/lib/types/stencil-item.ts +7 -7
- package/packages/diagrams/src/lib/types/structures.ts +80 -80
- package/packages/diagrams/src/lib/types/system-flow-types.ts +129 -129
- package/packages/diagrams/src/lib/types/usecase-types.ts +84 -84
- package/packages/diagrams/src/lib/types/validation-types.ts +134 -134
- package/packages/diagrams/src/lib/types/workflow-content-dynamic-form-type.ts +23 -23
- package/packages/diagrams/src/lib/types/workflow-node-data-types.ts +172 -172
- package/packages/diagrams/src/lib/utils/AutomationExecutionEngine.ts +658 -1179
- package/packages/diagrams/src/lib/utils/add-new-block.ts +34 -34
- package/packages/diagrams/src/lib/utils/add-new-node.ts +52 -52
- package/packages/diagrams/src/lib/utils/addToHistory.ts +15 -15
- package/packages/diagrams/src/lib/utils/automation-flow-processor.ts +556 -619
- package/packages/diagrams/src/lib/utils/closestPoint.ts +45 -45
- package/packages/diagrams/src/lib/utils/color-options.tsx +26 -26
- package/packages/diagrams/src/lib/utils/compress-img.ts +59 -59
- package/packages/diagrams/src/lib/utils/configLoader.ts +329 -329
- package/packages/diagrams/src/lib/utils/constant-lengths.ts +8 -8
- package/packages/diagrams/src/lib/utils/create-updated.tsx +40 -40
- package/packages/diagrams/src/lib/utils/createHistoryChange.ts +3 -3
- package/packages/diagrams/src/lib/utils/dividerUtils.tsx +59 -59
- package/packages/diagrams/src/lib/utils/edge-hooks.ts +53 -53
- package/packages/diagrams/src/lib/utils/elkLayout.ts +297 -297
- package/packages/diagrams/src/lib/utils/event-hooks.ts +69 -69
- package/packages/diagrams/src/lib/utils/event-store.ts +58 -58
- package/packages/diagrams/src/lib/utils/flow-node-hooks.ts +28 -28
- package/packages/diagrams/src/lib/utils/flow-to-js.ts +1465 -1465
- package/packages/diagrams/src/lib/utils/functionGenerator.ts +38 -38
- package/packages/diagrams/src/lib/utils/generateEdgesFromNodeOrder.ts +113 -113
- package/packages/diagrams/src/lib/utils/helpers.types.ts +10 -10
- package/packages/diagrams/src/lib/utils/highlightText.tsx +93 -93
- package/packages/diagrams/src/lib/utils/iconMapper.tsx +76 -76
- package/packages/diagrams/src/lib/utils/logger.ts +5 -5
- package/packages/diagrams/src/lib/utils/model-hooks.ts +129 -129
- package/packages/diagrams/src/lib/utils/node-hooks.ts +78 -78
- package/packages/diagrams/src/lib/utils/nodeAIAssistantConfig.ts +54 -54
- package/packages/diagrams/src/lib/utils/nodeOrderByEdges.ts +437 -437
- package/packages/diagrams/src/lib/utils/nodeutils.ts +242 -242
- package/packages/diagrams/src/lib/utils/object.ts +13 -13
- package/packages/diagrams/src/lib/utils/useDebounce.ts +19 -19
- package/packages/diagrams/src/lib/utils/utilities.ts +105 -105
- package/packages/diagrams/src/lib/utils/validationEngine.ts +610 -610
- package/packages/diagrams/src/lib/utils/vhToPixels.ts +9 -9
- package/packages/diagrams/tsconfig.json +21 -21
- package/packages/diagrams/tsconfig.lib.json +26 -25
- package/packages/diagrams/webpack.config.js +17 -17
- package/packages/interfaces/.babelrc +12 -12
- package/packages/interfaces/.eslintrc.json +18 -18
- package/packages/interfaces/README.md +7 -7
- package/packages/interfaces/project.json +8 -8
- package/packages/interfaces/src/index.ts +21 -21
- package/packages/interfaces/src/lib/Button.tsx +1 -1
- package/packages/interfaces/src/lib/DataGrid.ts +14 -14
- package/packages/interfaces/src/lib/StyledBox.tsx +1 -1
- package/packages/interfaces/src/lib/ToolbarItem.ts +7 -7
- package/packages/interfaces/src/lib/UserCard.ts +8 -8
- package/packages/interfaces/src/lib/yup.ts +3 -3
- package/packages/interfaces/tsconfig.json +17 -17
- package/packages/interfaces/tsconfig.lib.json +24 -24
- package/packages/molecules/.babelrc +12 -12
- package/packages/molecules/.eslintrc.json +18 -18
- package/packages/molecules/README.md +7 -7
- package/packages/molecules/project.json +8 -8
- package/packages/molecules/src/index.ts +47 -41
- package/packages/molecules/src/lib/ActionTextField/ActionTextField.module.css +7 -7
- package/packages/molecules/src/lib/ActionTextField/ActionTextField.spec.tsx +10 -10
- package/packages/molecules/src/lib/ActionTextField/ActionTextField.tsx +33 -33
- package/packages/molecules/src/lib/ClosableButton/CloseableButton.module.css +7 -7
- package/packages/molecules/src/lib/ClosableButton/CloseableButton.spec.tsx +11 -11
- package/packages/molecules/src/lib/ClosableButton/CloseableButton.tsx +69 -69
- package/packages/molecules/src/lib/EditorTab/EditorTab.module.css +7 -7
- package/packages/molecules/src/lib/EditorTab/EditorTab.spec.tsx +10 -10
- package/packages/molecules/src/lib/EditorTab/EditorTab.tsx +42 -42
- package/packages/molecules/src/lib/EditorTab/TabPanel.tsx +25 -25
- package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.module.css +7 -7
- package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.spec.tsx +10 -10
- package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.tsx +24 -24
- package/packages/molecules/src/lib/SvgIcons/icons.tsx +323 -291
- package/packages/molecules/src/lib/SvgIcons/index.ts +31 -25
- package/packages/molecules/src/lib/SvgIcons/types.ts +7 -7
- package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.module.css +7 -7
- package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.spec.tsx +10 -10
- package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.tsx +47 -47
- package/packages/molecules/src/lib/UserCard/UserCard.module.css +7 -7
- package/packages/molecules/src/lib/UserCard/UserCard.spec.tsx +11 -11
- package/packages/molecules/src/lib/UserCard/UserCard.tsx +22 -22
- package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.module.css +7 -7
- package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.spec.tsx +10 -10
- package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.tsx +72 -72
- package/packages/molecules/tsconfig.json +17 -17
- package/packages/molecules/tsconfig.lib.json +30 -30
- package/packages/organisms/.babelrc +12 -12
- package/packages/organisms/.eslintrc.json +18 -18
- package/packages/organisms/README.md +7 -7
- package/packages/organisms/project.json +8 -8
- package/packages/organisms/src/index.ts +4 -4
- package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.module.css +7 -7
- package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.spec.tsx +10 -10
- package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.tsx +117 -117
- package/packages/organisms/src/lib/EditorToolbar/SortableItem.tsx +51 -51
- package/packages/organisms/src/lib/UserList/UserList.module.css +7 -7
- package/packages/organisms/src/lib/UserList/UserList.spec.tsx +11 -11
- package/packages/organisms/src/lib/UserList/UserList.tsx +48 -48
- package/packages/organisms/src/lib/UserList/store.ts +49 -49
- package/packages/organisms/tsconfig.json +17 -17
- package/packages/organisms/tsconfig.lib.json +24 -24
- package/packages/zustand/.babelrc +12 -12
- package/packages/zustand/.eslintrc.json +18 -18
- package/packages/zustand/README.md +7 -7
- package/packages/zustand/project.json +8 -8
- package/packages/zustand/src/index.ts +4 -4
- package/packages/zustand/tsconfig.json +17 -17
- package/packages/zustand/tsconfig.lib.json +24 -24
- package/tsconfig.base.json +29 -29
- package/packages/diagrams/src/lib/components/automation/AutomationAISuggestionNode.tsx +0 -304
- package/packages/diagrams/src/lib/components/automation/AutomationEmailNode.tsx +0 -773
- package/packages/diagrams/src/lib/components/automation/AutomationGoogleServicesNode.tsx +0 -779
- package/packages/diagrams/src/lib/components/automation/AutomationNoteNode.tsx +0 -422
- package/packages/diagrams/src/lib/components/automation/AutomationSheetsNode.tsx +0 -1135
- package/packages/diagrams/src/lib/examples/GoogleSheetsConfigurationExamples.ts +0 -306
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { isValidIdentifier } from '../types/ndoe-form-types';
|
|
2
|
-
|
|
3
|
-
export interface FunctionArgument {
|
|
4
|
-
name: string;
|
|
5
|
-
operator: string;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const ARITHMETIC_OPERATORS = ['+', '-', '*', '/', '(', ')'];
|
|
9
|
-
|
|
10
|
-
export const generateFunctionCode = (args: FunctionArgument[]): string => {
|
|
11
|
-
if (args.length === 0) return '';
|
|
12
|
-
|
|
13
|
-
let code = 'return ';
|
|
14
|
-
for (let i = 0; i < args.length; i++) {
|
|
15
|
-
const argName = args[i].name.trim();
|
|
16
|
-
// Allow parentheses as pseudo-arguments (for grouping)
|
|
17
|
-
if (argName === '(' || argName === ')') {
|
|
18
|
-
code += argName;
|
|
19
|
-
} else if (isValidIdentifier(argName)) {
|
|
20
|
-
code += argName;
|
|
21
|
-
} else {
|
|
22
|
-
code += 'a'; // fallback to a valid identifier
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (i < args.length - 1) {
|
|
26
|
-
const op = args[i + 1].operator;
|
|
27
|
-
if (ARITHMETIC_OPERATORS.includes(op)) {
|
|
28
|
-
code += ' ' + op + ' ';
|
|
29
|
-
} else {
|
|
30
|
-
code += ' + ';
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
code += ';';
|
|
35
|
-
return code;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export { ARITHMETIC_OPERATORS };
|
|
1
|
+
import { isValidIdentifier } from '../types/ndoe-form-types';
|
|
2
|
+
|
|
3
|
+
export interface FunctionArgument {
|
|
4
|
+
name: string;
|
|
5
|
+
operator: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const ARITHMETIC_OPERATORS = ['+', '-', '*', '/', '(', ')'];
|
|
9
|
+
|
|
10
|
+
export const generateFunctionCode = (args: FunctionArgument[]): string => {
|
|
11
|
+
if (args.length === 0) return '';
|
|
12
|
+
|
|
13
|
+
let code = 'return ';
|
|
14
|
+
for (let i = 0; i < args.length; i++) {
|
|
15
|
+
const argName = args[i].name.trim();
|
|
16
|
+
// Allow parentheses as pseudo-arguments (for grouping)
|
|
17
|
+
if (argName === '(' || argName === ')') {
|
|
18
|
+
code += argName;
|
|
19
|
+
} else if (isValidIdentifier(argName)) {
|
|
20
|
+
code += argName;
|
|
21
|
+
} else {
|
|
22
|
+
code += 'a'; // fallback to a valid identifier
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (i < args.length - 1) {
|
|
26
|
+
const op = args[i + 1].operator;
|
|
27
|
+
if (ARITHMETIC_OPERATORS.includes(op)) {
|
|
28
|
+
code += ' ' + op + ' ';
|
|
29
|
+
} else {
|
|
30
|
+
code += ' + ';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
code += ';';
|
|
35
|
+
return code;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { ARITHMETIC_OPERATORS };
|
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
import { Edge, MarkerType } from '@xyflow/react';
|
|
2
|
-
import { ICardNode } from '../types/card-node';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Generates edges based on the order of nodes in the array.
|
|
6
|
-
* Creates a linear connection from first node to last node.
|
|
7
|
-
*
|
|
8
|
-
* @param nodes - Array of nodes in the desired order
|
|
9
|
-
* @param options - Configuration options for edge generation
|
|
10
|
-
* @returns Array of edges connecting nodes in sequence
|
|
11
|
-
*/
|
|
12
|
-
export interface GenerateEdgesOptions {
|
|
13
|
-
/** Edge style stroke color */
|
|
14
|
-
strokeColor?: string;
|
|
15
|
-
/** Edge stroke width */
|
|
16
|
-
strokeWidth?: number;
|
|
17
|
-
/** Whether to add arrow marker at the end */
|
|
18
|
-
markerEnd?: boolean;
|
|
19
|
-
/** Whether edges should be animated */
|
|
20
|
-
animated?: boolean;
|
|
21
|
-
/** Source handle ID pattern (e.g., 'right-source', 'bottom-source') */
|
|
22
|
-
sourceHandleId?: string;
|
|
23
|
-
/** Target handle ID pattern (e.g., 'left-target', 'top-target') */
|
|
24
|
-
targetHandleId?: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const defaultOptions: GenerateEdgesOptions = {
|
|
28
|
-
strokeColor: '#10B981',
|
|
29
|
-
strokeWidth: 2,
|
|
30
|
-
markerEnd: true,
|
|
31
|
-
animated: false,
|
|
32
|
-
sourceHandleId: 'right-source',
|
|
33
|
-
targetHandleId: 'left-target',
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export function generateEdgesFromNodeOrder(
|
|
37
|
-
nodes: ICardNode[],
|
|
38
|
-
options: GenerateEdgesOptions = {}
|
|
39
|
-
): Edge[] {
|
|
40
|
-
const opts = { ...defaultOptions, ...options };
|
|
41
|
-
const edges: Edge[] = [];
|
|
42
|
-
|
|
43
|
-
// Need at least 2 nodes to create edges
|
|
44
|
-
if (nodes.length < 2) {
|
|
45
|
-
return edges;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Create edges between consecutive nodes
|
|
49
|
-
for (let i = 0; i < nodes.length - 1; i++) {
|
|
50
|
-
const sourceNode = nodes[i];
|
|
51
|
-
const targetNode = nodes[i + 1];
|
|
52
|
-
|
|
53
|
-
const edge: Edge = {
|
|
54
|
-
id: `edge-${sourceNode.id}-${targetNode.id}`,
|
|
55
|
-
source: sourceNode.id,
|
|
56
|
-
target: targetNode.id,
|
|
57
|
-
sourceHandle: opts.sourceHandleId,
|
|
58
|
-
targetHandle: opts.targetHandleId,
|
|
59
|
-
type: 'default',
|
|
60
|
-
animated: opts.animated,
|
|
61
|
-
style: {
|
|
62
|
-
stroke: opts.strokeColor,
|
|
63
|
-
strokeWidth: opts.strokeWidth,
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// Add arrow marker if enabled
|
|
68
|
-
if (opts.markerEnd) {
|
|
69
|
-
edge.markerEnd = {
|
|
70
|
-
type: MarkerType.ArrowClosed,
|
|
71
|
-
width: 20,
|
|
72
|
-
height: 20,
|
|
73
|
-
color: opts.strokeColor,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
edges.push(edge);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return edges;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Generates edges based on node order for automation diagrams (horizontal layout)
|
|
85
|
-
*/
|
|
86
|
-
export function generateAutomationEdges(nodes: ICardNode[]): Edge[] {
|
|
87
|
-
return generateEdgesFromNodeOrder(nodes, {
|
|
88
|
-
strokeColor: '#10B981',
|
|
89
|
-
strokeWidth: 2,
|
|
90
|
-
markerEnd: true,
|
|
91
|
-
animated: false,
|
|
92
|
-
sourceHandleId: 'right-source',
|
|
93
|
-
targetHandleId: 'left-target',
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Generates edges based on node order for vertical layout diagrams
|
|
99
|
-
*/
|
|
100
|
-
export function generateVerticalEdges(nodes: ICardNode[]): Edge[] {
|
|
101
|
-
return generateEdgesFromNodeOrder(nodes, {
|
|
102
|
-
strokeColor: '#10B981',
|
|
103
|
-
strokeWidth: 2,
|
|
104
|
-
markerEnd: true,
|
|
105
|
-
animated: false,
|
|
106
|
-
sourceHandleId: 'bottom-source',
|
|
107
|
-
targetHandleId: 'top-target',
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export default generateEdgesFromNodeOrder;
|
|
112
|
-
|
|
113
|
-
|
|
1
|
+
import { Edge, MarkerType } from '@xyflow/react';
|
|
2
|
+
import { ICardNode } from '../types/card-node';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Generates edges based on the order of nodes in the array.
|
|
6
|
+
* Creates a linear connection from first node to last node.
|
|
7
|
+
*
|
|
8
|
+
* @param nodes - Array of nodes in the desired order
|
|
9
|
+
* @param options - Configuration options for edge generation
|
|
10
|
+
* @returns Array of edges connecting nodes in sequence
|
|
11
|
+
*/
|
|
12
|
+
export interface GenerateEdgesOptions {
|
|
13
|
+
/** Edge style stroke color */
|
|
14
|
+
strokeColor?: string;
|
|
15
|
+
/** Edge stroke width */
|
|
16
|
+
strokeWidth?: number;
|
|
17
|
+
/** Whether to add arrow marker at the end */
|
|
18
|
+
markerEnd?: boolean;
|
|
19
|
+
/** Whether edges should be animated */
|
|
20
|
+
animated?: boolean;
|
|
21
|
+
/** Source handle ID pattern (e.g., 'right-source', 'bottom-source') */
|
|
22
|
+
sourceHandleId?: string;
|
|
23
|
+
/** Target handle ID pattern (e.g., 'left-target', 'top-target') */
|
|
24
|
+
targetHandleId?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const defaultOptions: GenerateEdgesOptions = {
|
|
28
|
+
strokeColor: '#10B981',
|
|
29
|
+
strokeWidth: 2,
|
|
30
|
+
markerEnd: true,
|
|
31
|
+
animated: false,
|
|
32
|
+
sourceHandleId: 'right-source',
|
|
33
|
+
targetHandleId: 'left-target',
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export function generateEdgesFromNodeOrder(
|
|
37
|
+
nodes: ICardNode[],
|
|
38
|
+
options: GenerateEdgesOptions = {}
|
|
39
|
+
): Edge[] {
|
|
40
|
+
const opts = { ...defaultOptions, ...options };
|
|
41
|
+
const edges: Edge[] = [];
|
|
42
|
+
|
|
43
|
+
// Need at least 2 nodes to create edges
|
|
44
|
+
if (nodes.length < 2) {
|
|
45
|
+
return edges;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Create edges between consecutive nodes
|
|
49
|
+
for (let i = 0; i < nodes.length - 1; i++) {
|
|
50
|
+
const sourceNode = nodes[i];
|
|
51
|
+
const targetNode = nodes[i + 1];
|
|
52
|
+
|
|
53
|
+
const edge: Edge = {
|
|
54
|
+
id: `edge-${sourceNode.id}-${targetNode.id}`,
|
|
55
|
+
source: sourceNode.id,
|
|
56
|
+
target: targetNode.id,
|
|
57
|
+
sourceHandle: opts.sourceHandleId,
|
|
58
|
+
targetHandle: opts.targetHandleId,
|
|
59
|
+
type: 'default',
|
|
60
|
+
animated: opts.animated,
|
|
61
|
+
style: {
|
|
62
|
+
stroke: opts.strokeColor,
|
|
63
|
+
strokeWidth: opts.strokeWidth,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// Add arrow marker if enabled
|
|
68
|
+
if (opts.markerEnd) {
|
|
69
|
+
edge.markerEnd = {
|
|
70
|
+
type: MarkerType.ArrowClosed,
|
|
71
|
+
width: 20,
|
|
72
|
+
height: 20,
|
|
73
|
+
color: opts.strokeColor,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
edges.push(edge);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return edges;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Generates edges based on node order for automation diagrams (horizontal layout)
|
|
85
|
+
*/
|
|
86
|
+
export function generateAutomationEdges(nodes: ICardNode[]): Edge[] {
|
|
87
|
+
return generateEdgesFromNodeOrder(nodes, {
|
|
88
|
+
strokeColor: '#10B981',
|
|
89
|
+
strokeWidth: 2,
|
|
90
|
+
markerEnd: true,
|
|
91
|
+
animated: false,
|
|
92
|
+
sourceHandleId: 'right-source',
|
|
93
|
+
targetHandleId: 'left-target',
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Generates edges based on node order for vertical layout diagrams
|
|
99
|
+
*/
|
|
100
|
+
export function generateVerticalEdges(nodes: ICardNode[]): Edge[] {
|
|
101
|
+
return generateEdgesFromNodeOrder(nodes, {
|
|
102
|
+
strokeColor: '#10B981',
|
|
103
|
+
strokeWidth: 2,
|
|
104
|
+
markerEnd: true,
|
|
105
|
+
animated: false,
|
|
106
|
+
sourceHandleId: 'bottom-source',
|
|
107
|
+
targetHandleId: 'top-target',
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export default generateEdgesFromNodeOrder;
|
|
112
|
+
|
|
113
|
+
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { IBlockType, ICardNode, ICardNodeData } from '../types/card-node';
|
|
2
|
-
import { colorMap } from '../types/colors';
|
|
3
|
-
|
|
4
|
-
export interface GenerateNewNodeProps {
|
|
5
|
-
title: string;
|
|
6
|
-
color: keyof typeof colorMap;
|
|
7
|
-
data: ICardNodeData;
|
|
8
|
-
nodes: ICardNode[];
|
|
9
|
-
type: IBlockType;
|
|
10
|
-
}
|
|
1
|
+
import { IBlockType, ICardNode, ICardNodeData } from '../types/card-node';
|
|
2
|
+
import { colorMap } from '../types/colors';
|
|
3
|
+
|
|
4
|
+
export interface GenerateNewNodeProps {
|
|
5
|
+
title: string;
|
|
6
|
+
color: keyof typeof colorMap;
|
|
7
|
+
data: ICardNodeData;
|
|
8
|
+
nodes: ICardNode[];
|
|
9
|
+
type: IBlockType;
|
|
10
|
+
}
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Utility function to highlight search terms in text
|
|
5
|
-
* @param text - The text to highlight
|
|
6
|
-
* @param searchQuery - The search query to highlight
|
|
7
|
-
* @returns React node with highlighted text
|
|
8
|
-
*/
|
|
9
|
-
export const highlightText = (text: string, searchQuery: string): React.ReactNode => {
|
|
10
|
-
if (!searchQuery.trim() || !text) {
|
|
11
|
-
return text;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const searchLower = searchQuery.toLowerCase();
|
|
15
|
-
const textLower = text.toLowerCase();
|
|
16
|
-
const index = textLower.indexOf(searchLower);
|
|
17
|
-
|
|
18
|
-
if (index === -1) {
|
|
19
|
-
return text;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const beforeMatch = text.substring(0, index);
|
|
23
|
-
const match = text.substring(index, index + searchQuery.length);
|
|
24
|
-
const afterMatch = text.substring(index + searchQuery.length);
|
|
25
|
-
|
|
26
|
-
return (
|
|
27
|
-
<>
|
|
28
|
-
{beforeMatch}
|
|
29
|
-
<mark
|
|
30
|
-
style={{
|
|
31
|
-
backgroundColor: '#FFD700',
|
|
32
|
-
color: '#000',
|
|
33
|
-
padding: '2px 4px',
|
|
34
|
-
borderRadius: '3px',
|
|
35
|
-
fontWeight: 'bold',
|
|
36
|
-
}}
|
|
37
|
-
>
|
|
38
|
-
{match}
|
|
39
|
-
</mark>
|
|
40
|
-
{afterMatch}
|
|
41
|
-
</>
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Highlight all occurrences of search query in text
|
|
47
|
-
*/
|
|
48
|
-
export const highlightAllOccurrences = (text: string, searchQuery: string): React.ReactNode => {
|
|
49
|
-
if (!searchQuery.trim() || !text) {
|
|
50
|
-
return text;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const searchLower = searchQuery.toLowerCase();
|
|
54
|
-
const textLower = text.toLowerCase();
|
|
55
|
-
const parts: React.ReactNode[] = [];
|
|
56
|
-
let lastIndex = 0;
|
|
57
|
-
let index = textLower.indexOf(searchLower, lastIndex);
|
|
58
|
-
|
|
59
|
-
while (index !== -1) {
|
|
60
|
-
// Add text before match
|
|
61
|
-
if (index > lastIndex) {
|
|
62
|
-
parts.push(text.substring(lastIndex, index));
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Add highlighted match
|
|
66
|
-
parts.push(
|
|
67
|
-
<mark
|
|
68
|
-
key={index}
|
|
69
|
-
style={{
|
|
70
|
-
backgroundColor: '#FFD700',
|
|
71
|
-
color: '#000',
|
|
72
|
-
padding: '2px 4px',
|
|
73
|
-
borderRadius: '3px',
|
|
74
|
-
fontWeight: 'bold',
|
|
75
|
-
}}
|
|
76
|
-
>
|
|
77
|
-
{text.substring(index, index + searchQuery.length)}
|
|
78
|
-
</mark>
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
lastIndex = index + searchQuery.length;
|
|
82
|
-
index = textLower.indexOf(searchLower, lastIndex);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Add remaining text
|
|
86
|
-
if (lastIndex < text.length) {
|
|
87
|
-
parts.push(text.substring(lastIndex));
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return <>{parts}</>;
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Utility function to highlight search terms in text
|
|
5
|
+
* @param text - The text to highlight
|
|
6
|
+
* @param searchQuery - The search query to highlight
|
|
7
|
+
* @returns React node with highlighted text
|
|
8
|
+
*/
|
|
9
|
+
export const highlightText = (text: string, searchQuery: string): React.ReactNode => {
|
|
10
|
+
if (!searchQuery.trim() || !text) {
|
|
11
|
+
return text;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const searchLower = searchQuery.toLowerCase();
|
|
15
|
+
const textLower = text.toLowerCase();
|
|
16
|
+
const index = textLower.indexOf(searchLower);
|
|
17
|
+
|
|
18
|
+
if (index === -1) {
|
|
19
|
+
return text;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const beforeMatch = text.substring(0, index);
|
|
23
|
+
const match = text.substring(index, index + searchQuery.length);
|
|
24
|
+
const afterMatch = text.substring(index + searchQuery.length);
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<>
|
|
28
|
+
{beforeMatch}
|
|
29
|
+
<mark
|
|
30
|
+
style={{
|
|
31
|
+
backgroundColor: '#FFD700',
|
|
32
|
+
color: '#000',
|
|
33
|
+
padding: '2px 4px',
|
|
34
|
+
borderRadius: '3px',
|
|
35
|
+
fontWeight: 'bold',
|
|
36
|
+
}}
|
|
37
|
+
>
|
|
38
|
+
{match}
|
|
39
|
+
</mark>
|
|
40
|
+
{afterMatch}
|
|
41
|
+
</>
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Highlight all occurrences of search query in text
|
|
47
|
+
*/
|
|
48
|
+
export const highlightAllOccurrences = (text: string, searchQuery: string): React.ReactNode => {
|
|
49
|
+
if (!searchQuery.trim() || !text) {
|
|
50
|
+
return text;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const searchLower = searchQuery.toLowerCase();
|
|
54
|
+
const textLower = text.toLowerCase();
|
|
55
|
+
const parts: React.ReactNode[] = [];
|
|
56
|
+
let lastIndex = 0;
|
|
57
|
+
let index = textLower.indexOf(searchLower, lastIndex);
|
|
58
|
+
|
|
59
|
+
while (index !== -1) {
|
|
60
|
+
// Add text before match
|
|
61
|
+
if (index > lastIndex) {
|
|
62
|
+
parts.push(text.substring(lastIndex, index));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Add highlighted match
|
|
66
|
+
parts.push(
|
|
67
|
+
<mark
|
|
68
|
+
key={index}
|
|
69
|
+
style={{
|
|
70
|
+
backgroundColor: '#FFD700',
|
|
71
|
+
color: '#000',
|
|
72
|
+
padding: '2px 4px',
|
|
73
|
+
borderRadius: '3px',
|
|
74
|
+
fontWeight: 'bold',
|
|
75
|
+
}}
|
|
76
|
+
>
|
|
77
|
+
{text.substring(index, index + searchQuery.length)}
|
|
78
|
+
</mark>
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
lastIndex = index + searchQuery.length;
|
|
82
|
+
index = textLower.indexOf(searchLower, lastIndex);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Add remaining text
|
|
86
|
+
if (lastIndex < text.length) {
|
|
87
|
+
parts.push(text.substring(lastIndex));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return <>{parts}</>;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
// Empty icon mapping object - users will add their own icons
|
|
4
|
-
const iconMap: Record<string, React.ComponentType<any>> = {};
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Get an icon component by name
|
|
8
|
-
* @param iconName - The name of the icon to retrieve
|
|
9
|
-
* @param fallbackIcon - Fallback icon component if iconName is not found
|
|
10
|
-
* @returns React component for the icon
|
|
11
|
-
*/
|
|
12
|
-
export const getIconByName = (
|
|
13
|
-
iconName: string | undefined,
|
|
14
|
-
fallbackIcon?: React.ComponentType<any>
|
|
15
|
-
): React.ComponentType<any> => {
|
|
16
|
-
if (!iconName) {
|
|
17
|
-
return fallbackIcon || (() => <div>No Icon</div>);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Check if the icon exists in the user-defined map
|
|
21
|
-
const IconComponent = iconMap[iconName];
|
|
22
|
-
if (IconComponent) {
|
|
23
|
-
return IconComponent;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// If not found and no fallback provided, return a placeholder
|
|
27
|
-
if (!fallbackIcon) {
|
|
28
|
-
return () => <div title={`Icon "${iconName}" not found`}>❓</div>;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return fallbackIcon;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Get all available icon names
|
|
36
|
-
* @returns Array of available icon names
|
|
37
|
-
*/
|
|
38
|
-
export const getAvailableIconNames = (): string[] => {
|
|
39
|
-
return Object.keys(iconMap);
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Check if an icon name exists
|
|
44
|
-
* @param iconName - The name of the icon to check
|
|
45
|
-
* @returns True if the icon exists, false otherwise
|
|
46
|
-
*/
|
|
47
|
-
export const iconExists = (iconName: string): boolean => {
|
|
48
|
-
return iconName in iconMap;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Add a custom icon to the icon map
|
|
53
|
-
* @param iconName - The name to use for the icon
|
|
54
|
-
* @param iconComponent - The React component for the icon
|
|
55
|
-
*/
|
|
56
|
-
export const addCustomIcon = (iconName: string, iconComponent: React.ComponentType<any>): void => {
|
|
57
|
-
iconMap[iconName] = iconComponent;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Add multiple custom icons to the icon map
|
|
62
|
-
* @param icons - Object mapping icon names to React components
|
|
63
|
-
*/
|
|
64
|
-
export const addCustomIcons = (icons: Record<string, React.ComponentType<any>>): void => {
|
|
65
|
-
Object.assign(iconMap, icons);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Remove a custom icon from the icon map
|
|
70
|
-
* @param iconName - The name of the icon to remove
|
|
71
|
-
*/
|
|
72
|
-
export const removeCustomIcon = (iconName: string): void => {
|
|
73
|
-
delete iconMap[iconName];
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
export default iconMap;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
// Empty icon mapping object - users will add their own icons
|
|
4
|
+
const iconMap: Record<string, React.ComponentType<any>> = {};
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Get an icon component by name
|
|
8
|
+
* @param iconName - The name of the icon to retrieve
|
|
9
|
+
* @param fallbackIcon - Fallback icon component if iconName is not found
|
|
10
|
+
* @returns React component for the icon
|
|
11
|
+
*/
|
|
12
|
+
export const getIconByName = (
|
|
13
|
+
iconName: string | undefined,
|
|
14
|
+
fallbackIcon?: React.ComponentType<any>
|
|
15
|
+
): React.ComponentType<any> => {
|
|
16
|
+
if (!iconName) {
|
|
17
|
+
return fallbackIcon || (() => <div>No Icon</div>);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Check if the icon exists in the user-defined map
|
|
21
|
+
const IconComponent = iconMap[iconName];
|
|
22
|
+
if (IconComponent) {
|
|
23
|
+
return IconComponent;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// If not found and no fallback provided, return a placeholder
|
|
27
|
+
if (!fallbackIcon) {
|
|
28
|
+
return () => <div title={`Icon "${iconName}" not found`}>❓</div>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return fallbackIcon;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Get all available icon names
|
|
36
|
+
* @returns Array of available icon names
|
|
37
|
+
*/
|
|
38
|
+
export const getAvailableIconNames = (): string[] => {
|
|
39
|
+
return Object.keys(iconMap);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Check if an icon name exists
|
|
44
|
+
* @param iconName - The name of the icon to check
|
|
45
|
+
* @returns True if the icon exists, false otherwise
|
|
46
|
+
*/
|
|
47
|
+
export const iconExists = (iconName: string): boolean => {
|
|
48
|
+
return iconName in iconMap;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Add a custom icon to the icon map
|
|
53
|
+
* @param iconName - The name to use for the icon
|
|
54
|
+
* @param iconComponent - The React component for the icon
|
|
55
|
+
*/
|
|
56
|
+
export const addCustomIcon = (iconName: string, iconComponent: React.ComponentType<any>): void => {
|
|
57
|
+
iconMap[iconName] = iconComponent;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Add multiple custom icons to the icon map
|
|
62
|
+
* @param icons - Object mapping icon names to React components
|
|
63
|
+
*/
|
|
64
|
+
export const addCustomIcons = (icons: Record<string, React.ComponentType<any>>): void => {
|
|
65
|
+
Object.assign(iconMap, icons);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Remove a custom icon from the icon map
|
|
70
|
+
* @param iconName - The name of the icon to remove
|
|
71
|
+
*/
|
|
72
|
+
export const removeCustomIcon = (iconName: string): void => {
|
|
73
|
+
delete iconMap[iconName];
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export default iconMap;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const logger = (...params: any[]) => {
|
|
2
|
-
if (false) {
|
|
3
|
-
;
|
|
4
|
-
}
|
|
5
|
-
};
|
|
1
|
+
export const logger = (...params: any[]) => {
|
|
2
|
+
if (false) {
|
|
3
|
+
;
|
|
4
|
+
}
|
|
5
|
+
};
|