likec4 1.26.2 → 1.27.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.
Files changed (1566) hide show
  1. package/README.md +65 -54
  2. package/__app__/index.html +6 -1
  3. package/__app__/src/fonts.css +1 -0
  4. package/__app__/src/main.js +42714 -34537
  5. package/__app__/src/style.css +1 -1
  6. package/__app__/src/webcomponent.tsx +103 -0
  7. package/dist/cli/index.mjs +737 -610
  8. package/dist/index.d.mts +2 -1
  9. package/dist/index.mjs +1 -1
  10. package/dist/shared/likec4.C0T-ybr5.d.mts +10239 -0
  11. package/dist/shared/likec4.CcbefjP5.mjs +2206 -0
  12. package/dist/shared/likec4.D_ELXBwW.mjs +227 -0
  13. package/dist/vite-plugin/index.d.mts +2 -1
  14. package/dist/vite-plugin/index.mjs +1 -1
  15. package/icons/aws/activate.js +1 -21
  16. package/icons/aws/alexa-for-business.js +1 -21
  17. package/icons/aws/amplify.js +1 -21
  18. package/icons/aws/apache-mxnet-on-aws.js +1 -21
  19. package/icons/aws/api-gateway.js +1 -21
  20. package/icons/aws/app-config.js +1 -21
  21. package/icons/aws/app-flow.js +1 -21
  22. package/icons/aws/app-mesh.js +1 -21
  23. package/icons/aws/app-runner.js +1 -21
  24. package/icons/aws/app-stream.js +1 -21
  25. package/icons/aws/app-sync.js +1 -21
  26. package/icons/aws/application-auto-scaling.js +1 -21
  27. package/icons/aws/application-composer.js +1 -21
  28. package/icons/aws/application-cost-profiler.js +1 -21
  29. package/icons/aws/application-discovery-service.js +1 -21
  30. package/icons/aws/application-migration-service.js +1 -21
  31. package/icons/aws/artifact.js +1 -21
  32. package/icons/aws/athena.js +1 -21
  33. package/icons/aws/audit-manager.js +1 -21
  34. package/icons/aws/augmented-ai-a2i.js +1 -21
  35. package/icons/aws/aurora.js +1 -21
  36. package/icons/aws/auto-scaling.js +1 -21
  37. package/icons/aws/backint-agent.js +1 -21
  38. package/icons/aws/backup.js +1 -21
  39. package/icons/aws/batch.js +1 -21
  40. package/icons/aws/billing-conductor.js +1 -21
  41. package/icons/aws/bottlerocket.js +1 -21
  42. package/icons/aws/braket.js +1 -21
  43. package/icons/aws/budgets.js +1 -21
  44. package/icons/aws/certificate-manager.js +1 -21
  45. package/icons/aws/chatbot.js +1 -21
  46. package/icons/aws/chime-sdk.js +1 -21
  47. package/icons/aws/chime-voice-connector.js +1 -21
  48. package/icons/aws/chime.js +1 -21
  49. package/icons/aws/clean-rooms.js +1 -21
  50. package/icons/aws/client-vpn.js +1 -21
  51. package/icons/aws/cloud-control-api.js +1 -21
  52. package/icons/aws/cloud-development-kit.js +1 -21
  53. package/icons/aws/cloud-directory.js +1 -21
  54. package/icons/aws/cloud-formation.js +1 -21
  55. package/icons/aws/cloud-front.js +1 -21
  56. package/icons/aws/cloud-hsm.js +1 -21
  57. package/icons/aws/cloud-map.js +1 -21
  58. package/icons/aws/cloud-search.js +1 -21
  59. package/icons/aws/cloud-shell.js +1 -21
  60. package/icons/aws/cloud-trail.js +1 -21
  61. package/icons/aws/cloud-wan.js +1 -21
  62. package/icons/aws/cloud-watch.js +1 -21
  63. package/icons/aws/cloud9.js +1 -21
  64. package/icons/aws/code-artifact.js +1 -21
  65. package/icons/aws/code-build.js +1 -21
  66. package/icons/aws/code-catalyst.js +1 -21
  67. package/icons/aws/code-commit.js +1 -21
  68. package/icons/aws/code-deploy.js +1 -21
  69. package/icons/aws/code-guru.js +1 -21
  70. package/icons/aws/code-pipeline.js +1 -21
  71. package/icons/aws/code-star.js +1 -21
  72. package/icons/aws/code-whisperer.js +1 -21
  73. package/icons/aws/cognito.js +1 -21
  74. package/icons/aws/command-line-interface.js +1 -21
  75. package/icons/aws/comprehend-medical.js +1 -21
  76. package/icons/aws/comprehend.js +1 -21
  77. package/icons/aws/compute-optimizer.js +1 -21
  78. package/icons/aws/config.js +1 -21
  79. package/icons/aws/connect.js +1 -21
  80. package/icons/aws/console-mobile-application.js +1 -21
  81. package/icons/aws/control-tower.js +1 -21
  82. package/icons/aws/corretto.js +1 -21
  83. package/icons/aws/cost-and-usage-report.js +1 -21
  84. package/icons/aws/cost-explorer.js +1 -21
  85. package/icons/aws/data-exchange.js +1 -21
  86. package/icons/aws/data-pipeline.js +1 -21
  87. package/icons/aws/data-sync.js +1 -21
  88. package/icons/aws/data-zone.js +1 -21
  89. package/icons/aws/database-migration-service.js +1 -21
  90. package/icons/aws/deep-composer.js +1 -21
  91. package/icons/aws/deep-learning-amis.js +1 -21
  92. package/icons/aws/deep-learning-containers.js +1 -21
  93. package/icons/aws/deep-lens.js +1 -21
  94. package/icons/aws/deep-racer.js +1 -21
  95. package/icons/aws/detective.js +1 -21
  96. package/icons/aws/dev-ops-guru.js +1 -21
  97. package/icons/aws/device-farm.js +1 -21
  98. package/icons/aws/direct-connect.js +1 -21
  99. package/icons/aws/directory-service.js +1 -21
  100. package/icons/aws/distro-for-open-telemetry.js +1 -21
  101. package/icons/aws/document-db.js +1 -21
  102. package/icons/aws/dynamo-db.js +1 -21
  103. package/icons/aws/ec2-auto-scaling.js +1 -21
  104. package/icons/aws/ec2-image-builder.js +1 -21
  105. package/icons/aws/ec2.js +1 -21
  106. package/icons/aws/ecs-anywhere.js +1 -21
  107. package/icons/aws/efs.js +1 -21
  108. package/icons/aws/eks-anywhere.js +1 -21
  109. package/icons/aws/eks-cloud.js +1 -21
  110. package/icons/aws/eks-distro.js +1 -21
  111. package/icons/aws/elasti-cache.js +1 -21
  112. package/icons/aws/elastic-beanstalk.js +1 -21
  113. package/icons/aws/elastic-block-store.js +1 -21
  114. package/icons/aws/elastic-container-registry.js +1 -21
  115. package/icons/aws/elastic-container-service.js +1 -21
  116. package/icons/aws/elastic-disaster-recovery.js +1 -21
  117. package/icons/aws/elastic-fabric-adapter.js +1 -21
  118. package/icons/aws/elastic-inference.js +1 -21
  119. package/icons/aws/elastic-kubernetes-service.js +1 -21
  120. package/icons/aws/elastic-load-balancing.js +1 -21
  121. package/icons/aws/elastic-transcoder.js +1 -21
  122. package/icons/aws/elemental-appliances-software.js +1 -21
  123. package/icons/aws/elemental-conductor.js +1 -21
  124. package/icons/aws/elemental-delta.js +1 -21
  125. package/icons/aws/elemental-link.js +1 -21
  126. package/icons/aws/elemental-live.js +1 -21
  127. package/icons/aws/elemental-media-connect.js +1 -21
  128. package/icons/aws/elemental-media-convert.js +1 -21
  129. package/icons/aws/elemental-media-live.js +1 -21
  130. package/icons/aws/elemental-media-package.js +1 -21
  131. package/icons/aws/elemental-media-store.js +1 -21
  132. package/icons/aws/elemental-media-tailor.js +1 -21
  133. package/icons/aws/elemental-server.js +1 -21
  134. package/icons/aws/emr.js +1 -21
  135. package/icons/aws/event-bridge.js +1 -21
  136. package/icons/aws/express-workflows.js +1 -21
  137. package/icons/aws/fargate.js +1 -21
  138. package/icons/aws/fault-injection-simulator.js +1 -21
  139. package/icons/aws/file-cache.js +1 -21
  140. package/icons/aws/fin-space.js +1 -21
  141. package/icons/aws/firewall-manager.js +1 -21
  142. package/icons/aws/forecast.js +1 -21
  143. package/icons/aws/fraud-detector.js +1 -21
  144. package/icons/aws/free-rtos.js +1 -21
  145. package/icons/aws/fsx-for-lustre.js +1 -21
  146. package/icons/aws/fsx-for-net-app-ontap.js +1 -21
  147. package/icons/aws/fsx-for-open-zfs.js +1 -21
  148. package/icons/aws/fsx-for-wfs.js +1 -21
  149. package/icons/aws/fsx.js +1 -21
  150. package/icons/aws/game-kit.js +1 -21
  151. package/icons/aws/game-lift.js +1 -21
  152. package/icons/aws/game-sparks.js +1 -21
  153. package/icons/aws/genomics-cli.js +1 -21
  154. package/icons/aws/global-accelerator.js +1 -21
  155. package/icons/aws/glue-data-brew.js +1 -21
  156. package/icons/aws/glue-elastic-views.js +1 -21
  157. package/icons/aws/glue.js +1 -21
  158. package/icons/aws/ground-station.js +1 -21
  159. package/icons/aws/guard-duty.js +1 -21
  160. package/icons/aws/health-lake.js +1 -21
  161. package/icons/aws/honeycode.js +1 -21
  162. package/icons/aws/iam-identity-center.js +1 -21
  163. package/icons/aws/identity-and-access-management.js +1 -21
  164. package/icons/aws/inspector.js +1 -21
  165. package/icons/aws/interactive-video-service.js +1 -21
  166. package/icons/aws/io-t-1-click.js +1 -21
  167. package/icons/aws/io-t-analytics.js +1 -21
  168. package/icons/aws/io-t-button.js +1 -21
  169. package/icons/aws/io-t-core.js +1 -21
  170. package/icons/aws/io-t-device-defender.js +1 -21
  171. package/icons/aws/io-t-device-management.js +1 -21
  172. package/icons/aws/io-t-edu-kit.js +1 -21
  173. package/icons/aws/io-t-events.js +1 -21
  174. package/icons/aws/io-t-express-link.js +1 -21
  175. package/icons/aws/io-t-fleet-wise.js +1 -21
  176. package/icons/aws/io-t-greengrass.js +1 -21
  177. package/icons/aws/io-t-robo-runner.js +1 -21
  178. package/icons/aws/io-t-site-wise.js +1 -21
  179. package/icons/aws/io-t-things-graph.js +1 -21
  180. package/icons/aws/io-t-twin-maker.js +1 -37
  181. package/icons/aws/iq.js +1 -21
  182. package/icons/aws/kendra.js +1 -21
  183. package/icons/aws/key-management-service.js +1 -21
  184. package/icons/aws/keyspaces.js +1 -21
  185. package/icons/aws/kinesis-data-analytics.js +1 -21
  186. package/icons/aws/kinesis-data-streams.js +1 -21
  187. package/icons/aws/kinesis-firehose.js +1 -21
  188. package/icons/aws/kinesis-video-streams.js +1 -21
  189. package/icons/aws/kinesis.js +1 -21
  190. package/icons/aws/lake-formation.js +1 -21
  191. package/icons/aws/lambda.js +1 -21
  192. package/icons/aws/launch-wizard.js +1 -21
  193. package/icons/aws/lex.js +1 -21
  194. package/icons/aws/license-manager.js +1 -21
  195. package/icons/aws/lightsail.js +1 -21
  196. package/icons/aws/local-zones.js +1 -21
  197. package/icons/aws/location-service.js +1 -21
  198. package/icons/aws/lookout-for-equipment.js +1 -21
  199. package/icons/aws/lookout-for-metrics.js +1 -21
  200. package/icons/aws/lookout-for-vision.js +1 -21
  201. package/icons/aws/lumberyard.js +1 -21
  202. package/icons/aws/macie.js +1 -21
  203. package/icons/aws/mainframe-modernization.js +1 -21
  204. package/icons/aws/managed-blockchain.js +1 -21
  205. package/icons/aws/managed-grafana.js +1 -21
  206. package/icons/aws/managed-service-for-prometheus.js +1 -21
  207. package/icons/aws/managed-services.js +1 -21
  208. package/icons/aws/managed-streaming-for-apache-kafka.js +1 -21
  209. package/icons/aws/managed-workflows-for-apache-airflow.js +1 -21
  210. package/icons/aws/management-console.js +1 -21
  211. package/icons/aws/marketplace-dark.js +1 -15
  212. package/icons/aws/marketplace-light.js +1 -15
  213. package/icons/aws/memory-db-for-redis.js +1 -21
  214. package/icons/aws/migration-evaluator.js +1 -21
  215. package/icons/aws/migration-hub.js +1 -21
  216. package/icons/aws/monitron.js +1 -21
  217. package/icons/aws/mq.js +1 -21
  218. package/icons/aws/neptune.js +1 -21
  219. package/icons/aws/network-firewall.js +1 -21
  220. package/icons/aws/neuron.js +1 -21
  221. package/icons/aws/nice-dcv.js +1 -21
  222. package/icons/aws/nice-engin-frame.js +1 -21
  223. package/icons/aws/nimble-studio.js +1 -21
  224. package/icons/aws/nitro-enclaves.js +1 -21
  225. package/icons/aws/omics.js +1 -21
  226. package/icons/aws/open-3d-engine.js +1 -21
  227. package/icons/aws/open-search-service.js +1 -21
  228. package/icons/aws/ops-works.js +1 -21
  229. package/icons/aws/organizations.js +1 -21
  230. package/icons/aws/outposts-family.js +1 -21
  231. package/icons/aws/outposts-rack.js +1 -21
  232. package/icons/aws/outposts-servers.js +1 -21
  233. package/icons/aws/panorama.js +1 -21
  234. package/icons/aws/parallel-cluster.js +1 -21
  235. package/icons/aws/personal-health-dashboard.js +1 -21
  236. package/icons/aws/personalize.js +1 -21
  237. package/icons/aws/pinpoint-apis.js +1 -21
  238. package/icons/aws/pinpoint.js +1 -21
  239. package/icons/aws/polly.js +1 -21
  240. package/icons/aws/private-5g.js +1 -21
  241. package/icons/aws/private-certificate-authority.js +1 -28
  242. package/icons/aws/private-link.js +1 -21
  243. package/icons/aws/professional-services.js +1 -21
  244. package/icons/aws/proton.js +1 -21
  245. package/icons/aws/quantum-ledger-database.js +1 -21
  246. package/icons/aws/quick-sight.js +1 -21
  247. package/icons/aws/rds-on-vmware.js +1 -21
  248. package/icons/aws/rds.js +1 -21
  249. package/icons/aws/re-post.js +1 -21
  250. package/icons/aws/red-hat-open-shift-service-on-aws.js +1 -21
  251. package/icons/aws/redshift.js +1 -21
  252. package/icons/aws/rekognition.js +1 -21
  253. package/icons/aws/reserved-instance-reporting.js +1 -21
  254. package/icons/aws/resilience-hub.js +1 -21
  255. package/icons/aws/resource-access-manager.js +1 -21
  256. package/icons/aws/resource-explorer.js +1 -21
  257. package/icons/aws/robo-maker.js +1 -21
  258. package/icons/aws/route-53.js +1 -21
  259. package/icons/aws/s3-on-outposts.js +1 -21
  260. package/icons/aws/sage-maker-ground-truth.js +1 -21
  261. package/icons/aws/sage-maker-studio-lab.js +1 -21
  262. package/icons/aws/sage-maker.js +1 -21
  263. package/icons/aws/savings-plans.js +1 -21
  264. package/icons/aws/secrets-manager.js +1 -21
  265. package/icons/aws/security-hub.js +1 -21
  266. package/icons/aws/security-lake.js +1 -21
  267. package/icons/aws/server-migration-service.js +1 -21
  268. package/icons/aws/serverless-application-repository.js +1 -21
  269. package/icons/aws/service-catalog.js +1 -21
  270. package/icons/aws/service-management-connector.js +1 -28
  271. package/icons/aws/shield.js +1 -21
  272. package/icons/aws/signer.js +1 -21
  273. package/icons/aws/sim-space-weaver.js +1 -21
  274. package/icons/aws/simple-email-service.js +1 -21
  275. package/icons/aws/simple-notification-service.js +1 -21
  276. package/icons/aws/simple-queue-service.js +1 -21
  277. package/icons/aws/simple-storage-service-glacier.js +1 -21
  278. package/icons/aws/simple-storage-service.js +1 -21
  279. package/icons/aws/site-to-site-vpn.js +1 -21
  280. package/icons/aws/snowball-edge.js +1 -21
  281. package/icons/aws/snowball.js +1 -21
  282. package/icons/aws/snowcone.js +1 -21
  283. package/icons/aws/snowmobile.js +1 -21
  284. package/icons/aws/step-functions.js +1 -21
  285. package/icons/aws/storage-gateway.js +1 -21
  286. package/icons/aws/sumerian.js +1 -21
  287. package/icons/aws/supply-chain.js +1 -21
  288. package/icons/aws/support.js +1 -21
  289. package/icons/aws/systems-manager.js +1 -21
  290. package/icons/aws/tensor-flow-on-aws.js +1 -21
  291. package/icons/aws/textract.js +1 -21
  292. package/icons/aws/thinkbox-deadline.js +1 -21
  293. package/icons/aws/thinkbox-frost.js +1 -21
  294. package/icons/aws/thinkbox-krakatoa.js +1 -21
  295. package/icons/aws/thinkbox-sequoia.js +1 -21
  296. package/icons/aws/thinkbox-stoke.js +1 -21
  297. package/icons/aws/thinkbox-xmesh.js +1 -21
  298. package/icons/aws/timestream.js +1 -21
  299. package/icons/aws/tools-and-sdks.js +1 -21
  300. package/icons/aws/torch-serve.js +1 -21
  301. package/icons/aws/training-certification.js +1 -21
  302. package/icons/aws/transcribe.js +1 -21
  303. package/icons/aws/transfer-family.js +1 -21
  304. package/icons/aws/transit-gateway.js +1 -21
  305. package/icons/aws/translate.js +1 -21
  306. package/icons/aws/trusted-advisor.js +1 -21
  307. package/icons/aws/verified-access.js +1 -21
  308. package/icons/aws/verified-permissions.js +1 -21
  309. package/icons/aws/virtual-private-cloud.js +1 -21
  310. package/icons/aws/vmware-cloud-on-aws.js +1 -21
  311. package/icons/aws/vpc-lattice.js +1 -21
  312. package/icons/aws/waf.js +1 -21
  313. package/icons/aws/wavelength.js +1 -21
  314. package/icons/aws/well-architected-tool.js +1 -21
  315. package/icons/aws/wickr.js +1 -21
  316. package/icons/aws/work-docs-sdk.js +1 -21
  317. package/icons/aws/work-docs.js +1 -21
  318. package/icons/aws/work-link.js +1 -21
  319. package/icons/aws/work-mail.js +1 -21
  320. package/icons/aws/work-spaces-family.js +1 -21
  321. package/icons/aws/x-ray.js +1 -21
  322. package/icons/azure/abs-member.js +1 -32
  323. package/icons/azure/active-directory-connect-health.js +1 -132
  324. package/icons/azure/activity-log.js +1 -33
  325. package/icons/azure/administrative-units.js +1 -102
  326. package/icons/azure/advisor.js +1 -44
  327. package/icons/azure/ai-studio.js +1 -105
  328. package/icons/azure/aks-automatic.js +1 -105
  329. package/icons/azure/aks-istio.js +1 -96
  330. package/icons/azure/alerts.js +1 -29
  331. package/icons/azure/all-resources.js +1 -21
  332. package/icons/azure/analysis-services.js +1 -67
  333. package/icons/azure/anomaly-detector.js +1 -44
  334. package/icons/azure/api-center.js +1 -42
  335. package/icons/azure/api-connections.js +1 -66
  336. package/icons/azure/api-management-services.js +1 -51
  337. package/icons/azure/api-proxy.js +1 -32
  338. package/icons/azure/app-compliance-automation.js +1 -82
  339. package/icons/azure/app-configuration.js +1 -56
  340. package/icons/azure/app-registrations.js +1 -39
  341. package/icons/azure/app-service-certificates.js +1 -42
  342. package/icons/azure/app-service-domains.js +1 -23
  343. package/icons/azure/app-service-environments.js +1 -36
  344. package/icons/azure/app-service-plans.js +1 -66
  345. package/icons/azure/app-services.js +1 -104
  346. package/icons/azure/app-space-component.js +1 -39
  347. package/icons/azure/app-space.js +1 -37
  348. package/icons/azure/applens.js +1 -45
  349. package/icons/azure/application-gateway-containers.js +1 -134
  350. package/icons/azure/application-gateways.js +1 -92
  351. package/icons/azure/application-group.js +1 -21
  352. package/icons/azure/application-insights.js +1 -57
  353. package/icons/azure/application-security-groups.js +1 -54
  354. package/icons/azure/aquila.js +1 -95
  355. package/icons/azure/arc-data-services.js +1 -60
  356. package/icons/azure/arc-kubernetes.js +1 -139
  357. package/icons/azure/arc-machines.js +1 -40
  358. package/icons/azure/arc-postgre-sql.js +1 -73
  359. package/icons/azure/arc-sql-managed-instance.js +1 -75
  360. package/icons/azure/arc-sql-server.js +1 -40
  361. package/icons/azure/atm-multistack.js +1 -59
  362. package/icons/azure/auto-scale.js +1 -43
  363. package/icons/azure/automanaged-vm.js +1 -65
  364. package/icons/azure/automation-accounts.js +1 -62
  365. package/icons/azure/availability-sets.js +1 -70
  366. package/icons/azure/avs-vm.js +1 -32
  367. package/icons/azure/azure-a.js +1 -46
  368. package/icons/azure/azure-ad-b2c.js +1 -129
  369. package/icons/azure/azure-api-for-fhir.js +1 -33
  370. package/icons/azure/azure-applied-ai-services.js +1 -81
  371. package/icons/azure/azure-arc.js +1 -75
  372. package/icons/azure/azure-attestation.js +1 -35
  373. package/icons/azure/azure-backup-center.js +1 -63
  374. package/icons/azure/azure-blockchain-service.js +1 -51
  375. package/icons/azure/azure-center-for-sap.js +1 -37
  376. package/icons/azure/azure-chaos-studio.js +1 -75
  377. package/icons/azure/azure-cloud-shell.js +1 -39
  378. package/icons/azure/azure-communication-services.js +1 -63
  379. package/icons/azure/azure-communications-gateway.js +1 -43
  380. package/icons/azure/azure-compute-galleries.js +1 -35
  381. package/icons/azure/azure-cosmos-db.js +1 -47
  382. package/icons/azure/azure-data-catalog.js +1 -91
  383. package/icons/azure/azure-data-explorer-clusters.js +1 -126
  384. package/icons/azure/azure-database-maria-db-server.js +1 -56
  385. package/icons/azure/azure-database-migration-services.js +1 -83
  386. package/icons/azure/azure-database-my-sql-server.js +1 -56
  387. package/icons/azure/azure-database-postgre-sql-server-group.js +1 -65
  388. package/icons/azure/azure-database-postgre-sql-server.js +1 -57
  389. package/icons/azure/azure-databox-gateway.js +1 -39
  390. package/icons/azure/azure-databricks.js +1 -12
  391. package/icons/azure/azure-deployment-environments.js +1 -65
  392. package/icons/azure/azure-dev-ops.js +1 -21
  393. package/icons/azure/azure-dev-tunnels.js +1 -48
  394. package/icons/azure/azure-edge-hardware-center.js +1 -69
  395. package/icons/azure/azure-experimentation-studio.js +1 -88
  396. package/icons/azure/azure-fileshares.js +1 -46
  397. package/icons/azure/azure-firewall-manager.js +1 -60
  398. package/icons/azure/azure-firewall-policy.js +1 -37
  399. package/icons/azure/azure-hcp-cache.js +1 -23
  400. package/icons/azure/azure-hpc-workbenches.js +1 -112
  401. package/icons/azure/azure-hybrid-center.js +1 -33
  402. package/icons/azure/azure-information-protection.js +1 -95
  403. package/icons/azure/azure-io-t-operations.js +1 -57
  404. package/icons/azure/azure-lighthouse.js +1 -35
  405. package/icons/azure/azure-load-testing.js +1 -78
  406. package/icons/azure/azure-managed-grafana.js +1 -19
  407. package/icons/azure/azure-maps-accounts.js +1 -16
  408. package/icons/azure/azure-media-service.js +1 -107
  409. package/icons/azure/azure-migrate.js +1 -57
  410. package/icons/azure/azure-monitor-dashboard.js +1 -58
  411. package/icons/azure/azure-monitor-pipeline.js +1 -101
  412. package/icons/azure/azure-monitors-for-sap-solutions.js +1 -71
  413. package/icons/azure/azure-net-app-files.js +1 -36
  414. package/icons/azure/azure-network-function-manager-functions.js +1 -94
  415. package/icons/azure/azure-network-function-manager.js +1 -98
  416. package/icons/azure/azure-object-understanding.js +1 -50
  417. package/icons/azure/azure-open-ai.js +1 -29
  418. package/icons/azure/azure-operator-5g-core.js +1 -86
  419. package/icons/azure/azure-operator-insights.js +1 -42
  420. package/icons/azure/azure-operator-nexus.js +1 -87
  421. package/icons/azure/azure-operator-service-manager.js +1 -41
  422. package/icons/azure/azure-orbital.js +1 -115
  423. package/icons/azure/azure-programmable-connectivity.js +1 -168
  424. package/icons/azure/azure-purview-accounts.js +1 -100
  425. package/icons/azure/azure-quotas.js +1 -54
  426. package/icons/azure/azure-red-hat-open-shift.js +1 -44
  427. package/icons/azure/azure-sentinel.js +1 -37
  428. package/icons/azure/azure-service-bus.js +1 -77
  429. package/icons/azure/azure-sphere.js +1 -68
  430. package/icons/azure/azure-spring-apps.js +1 -111
  431. package/icons/azure/azure-sql-edge.js +1 -157
  432. package/icons/azure/azure-sql-server-stretch-databases.js +1 -82
  433. package/icons/azure/azure-sql-vm.js +1 -37
  434. package/icons/azure/azure-sql.js +1 -27
  435. package/icons/azure/azure-stack-edge.js +1 -44
  436. package/icons/azure/azure-stack-hci-sizer.js +1 -90
  437. package/icons/azure/azure-stack.js +1 -54
  438. package/icons/azure/azure-storage-mover.js +1 -120
  439. package/icons/azure/azure-support-center-blue.js +1 -53
  440. package/icons/azure/azure-sustainability.js +1 -75
  441. package/icons/azure/azure-synapse-analytics.js +1 -60
  442. package/icons/azure/azure-token-service.js +1 -46
  443. package/icons/azure/azure-video-indexer.js +1 -82
  444. package/icons/azure/azure-virtual-desktop.js +1 -19
  445. package/icons/azure/azure-vmware-solution.js +1 -57
  446. package/icons/azure/azure-workbooks.js +1 -78
  447. package/icons/azure/azurite.js +1 -34
  448. package/icons/azure/backlog.js +1 -48
  449. package/icons/azure/backup-vault.js +1 -71
  450. package/icons/azure/bare-metal-infrastructure.js +1 -63
  451. package/icons/azure/bastions.js +1 -71
  452. package/icons/azure/batch-accounts.js +1 -52
  453. package/icons/azure/batch-ai.js +1 -56
  454. package/icons/azure/biz-talk.js +1 -39
  455. package/icons/azure/blob-block.js +1 -17
  456. package/icons/azure/blob-page.js +1 -43
  457. package/icons/azure/blockchain-applications.js +1 -43
  458. package/icons/azure/blueprints.js +1 -56
  459. package/icons/azure/bonsai.js +1 -63
  460. package/icons/azure/bot-services.js +1 -43
  461. package/icons/azure/branch.js +1 -43
  462. package/icons/azure/browser.js +1 -16
  463. package/icons/azure/bug.js +1 -26
  464. package/icons/azure/builds.js +1 -48
  465. package/icons/azure/business-process-tracking.js +1 -28
  466. package/icons/azure/cache-redis.js +1 -72
  467. package/icons/azure/cache.js +1 -113
  468. package/icons/azure/capacity-reservation-groups.js +1 -47
  469. package/icons/azure/capacity.js +1 -74
  470. package/icons/azure/cdn-profiles.js +1 -32
  471. package/icons/azure/central-service-instance-for-sap.js +1 -55
  472. package/icons/azure/ceres.js +1 -58
  473. package/icons/azure/change-analysis.js +1 -93
  474. package/icons/azure/client-apps.js +1 -21
  475. package/icons/azure/cloud-services-classic.js +1 -48
  476. package/icons/azure/cloud-services-extended-support.js +1 -78
  477. package/icons/azure/cloud-test.js +1 -58
  478. package/icons/azure/code-optimization.js +1 -146
  479. package/icons/azure/code.js +1 -94
  480. package/icons/azure/cognitive-search.js +1 -26
  481. package/icons/azure/cognitive-services-decisions.js +1 -139
  482. package/icons/azure/cognitive-services.js +1 -42
  483. package/icons/azure/collaborative-service.js +1 -91
  484. package/icons/azure/commit.js +1 -30
  485. package/icons/azure/community-images.js +1 -68
  486. package/icons/azure/compliance-center.js +1 -70
  487. package/icons/azure/compliance.js +1 -35
  488. package/icons/azure/compute-fleet.js +1 -102
  489. package/icons/azure/computer-vision.js +1 -35
  490. package/icons/azure/conditional-access.js +1 -45
  491. package/icons/azure/confidential-ledgers.js +1 -96
  492. package/icons/azure/connected-cache.js +1 -99
  493. package/icons/azure/connected-vehicle-platform.js +1 -111
  494. package/icons/azure/connections.js +1 -54
  495. package/icons/azure/consortium.js +1 -63
  496. package/icons/azure/container-apps-environments.js +1 -66
  497. package/icons/azure/container-instances.js +1 -37
  498. package/icons/azure/container-registries.js +1 -68
  499. package/icons/azure/container-services-deprecated.js +1 -142
  500. package/icons/azure/content-moderators.js +1 -63
  501. package/icons/azure/content-safety.js +1 -88
  502. package/icons/azure/controls-horizontal.js +1 -135
  503. package/icons/azure/controls.js +1 -33
  504. package/icons/azure/cost-alerts.js +1 -28
  505. package/icons/azure/cost-analysis.js +1 -35
  506. package/icons/azure/cost-budgets.js +1 -30
  507. package/icons/azure/cost-export.js +1 -36
  508. package/icons/azure/cost-management-and-billing.js +1 -41
  509. package/icons/azure/cost-management.js +1 -46
  510. package/icons/azure/counter.js +1 -33
  511. package/icons/azure/cubes.js +1 -16
  512. package/icons/azure/custom-ip-prefix.js +1 -51
  513. package/icons/azure/custom-vision.js +1 -59
  514. package/icons/azure/customer-lockbox-for-microsoft-azure.js +1 -64
  515. package/icons/azure/dashboard-hub.js +1 -94
  516. package/icons/azure/dashboard.js +1 -42
  517. package/icons/azure/data-box.js +1 -33
  518. package/icons/azure/data-collection-rules.js +1 -64
  519. package/icons/azure/data-factories.js +1 -42
  520. package/icons/azure/data-lake-analytics.js +1 -43
  521. package/icons/azure/data-lake-storage-gen1.js +1 -49
  522. package/icons/azure/data-lake-store-gen1.js +1 -49
  523. package/icons/azure/data-share-invitations.js +1 -34
  524. package/icons/azure/data-shares.js +1 -67
  525. package/icons/azure/database-instance-for-sap.js +1 -80
  526. package/icons/azure/ddo-s-protection-plans.js +1 -47
  527. package/icons/azure/dedicated-hsm.js +1 -49
  528. package/icons/azure/defender-cm-local-manager.js +1 -175
  529. package/icons/azure/defender-dcs-controller.js +1 -99
  530. package/icons/azure/defender-distributer-control-system.js +1 -67
  531. package/icons/azure/defender-engineering-station.js +1 -115
  532. package/icons/azure/defender-external-management.js +1 -132
  533. package/icons/azure/defender-freezer-monitor.js +1 -217
  534. package/icons/azure/defender-historian.js +1 -53
  535. package/icons/azure/defender-hmi.js +1 -54
  536. package/icons/azure/defender-industrial-packaging-system.js +1 -97
  537. package/icons/azure/defender-industrial-printer.js +1 -51
  538. package/icons/azure/defender-industrial-robot.js +1 -165
  539. package/icons/azure/defender-industrial-scale-system.js +1 -80
  540. package/icons/azure/defender-marquee.js +1 -68
  541. package/icons/azure/defender-meter.js +1 -156
  542. package/icons/azure/defender-plc.js +1 -66
  543. package/icons/azure/defender-pneumatic-device.js +1 -72
  544. package/icons/azure/defender-programable-board.js +1 -126
  545. package/icons/azure/defender-relay.js +1 -67
  546. package/icons/azure/defender-robot-controller.js +1 -123
  547. package/icons/azure/defender-rtu.js +1 -23
  548. package/icons/azure/defender-sensor.js +1 -55
  549. package/icons/azure/defender-slot.js +1 -31
  550. package/icons/azure/defender-web-guiding-system.js +1 -266
  551. package/icons/azure/detonation.js +1 -41
  552. package/icons/azure/dev-console.js +1 -30
  553. package/icons/azure/dev-ops-starter.js +1 -102
  554. package/icons/azure/dev-test-labs.js +1 -46
  555. package/icons/azure/device-compliance.js +1 -62
  556. package/icons/azure/device-configuration.js +1 -66
  557. package/icons/azure/device-enrollment.js +1 -69
  558. package/icons/azure/device-provisioning-services.js +1 -54
  559. package/icons/azure/device-security-apple.js +1 -54
  560. package/icons/azure/device-security-google.js +1 -54
  561. package/icons/azure/device-security-windows.js +1 -54
  562. package/icons/azure/device-update-io-t-hub.js +1 -46
  563. package/icons/azure/devices.js +1 -29
  564. package/icons/azure/diagnostics-settings.js +1 -51
  565. package/icons/azure/digital-twins.js +1 -73
  566. package/icons/azure/disk-encryption-sets.js +1 -63
  567. package/icons/azure/disk-pool.js +1 -92
  568. package/icons/azure/disks-classic.js +1 -74
  569. package/icons/azure/disks-snapshots.js +1 -71
  570. package/icons/azure/disks.js +1 -63
  571. package/icons/azure/dns-multistack.js +1 -49
  572. package/icons/azure/dns-private-resolver.js +1 -50
  573. package/icons/azure/dns-security-policy.js +1 -90
  574. package/icons/azure/dns-zones.js +1 -37
  575. package/icons/azure/download.js +1 -60
  576. package/icons/azure/e-books.js +1 -42
  577. package/icons/azure/edge-management.js +1 -64
  578. package/icons/azure/education.js +1 -42
  579. package/icons/azure/elastic-job-agents.js +1 -61
  580. package/icons/azure/elastic-san.js +1 -65
  581. package/icons/azure/endpoint-analytics.js +1 -83
  582. package/icons/azure/enterprise-applications.js +1 -66
  583. package/icons/azure/entra-connect-health.js +1 -132
  584. package/icons/azure/entra-connect-sync.js +1 -86
  585. package/icons/azure/entra-connect.js +1 -123
  586. package/icons/azure/entra-domain-services.js +1 -105
  587. package/icons/azure/entra-global-secure-access.js +1 -76
  588. package/icons/azure/entra-id-protection.js +1 -74
  589. package/icons/azure/entra-identity-custom-roles.js +1 -62
  590. package/icons/azure/entra-identity-licenses.js +1 -85
  591. package/icons/azure/entra-identity-risky-signins.js +1 -28
  592. package/icons/azure/entra-identity-risky-users.js +1 -28
  593. package/icons/azure/entra-identity-roles-and-administrators.js +1 -53
  594. package/icons/azure/entra-internet-access.js +1 -105
  595. package/icons/azure/entra-managed-identities.js +1 -120
  596. package/icons/azure/entra-private-access.js +1 -104
  597. package/icons/azure/entra-privleged-identity-management.js +1 -120
  598. package/icons/azure/entra-verified-id.js +1 -75
  599. package/icons/azure/error.js +1 -30
  600. package/icons/azure/event-grid-domains.js +1 -75
  601. package/icons/azure/event-grid-subscriptions.js +1 -75
  602. package/icons/azure/event-grid-topics.js +1 -90
  603. package/icons/azure/event-hub-clusters.js +1 -77
  604. package/icons/azure/event-hubs.js +1 -64
  605. package/icons/azure/exchange-access.js +1 -45
  606. package/icons/azure/exchange-on-premises-access.js +1 -39
  607. package/icons/azure/express-route-circuits.js +1 -60
  608. package/icons/azure/express-route-direct.js +1 -61
  609. package/icons/azure/express-route-traffic-collector.js +1 -97
  610. package/icons/azure/extended-security-updates.js +1 -44
  611. package/icons/azure/extensions.js +1 -28
  612. package/icons/azure/external-identities.js +1 -42
  613. package/icons/azure/face-apis.js +1 -19
  614. package/icons/azure/feature-previews.js +1 -21
  615. package/icons/azure/fhir-service.js +1 -60
  616. package/icons/azure/fiji.js +1 -42
  617. package/icons/azure/file.js +1 -29
  618. package/icons/azure/files.js +1 -45
  619. package/icons/azure/firewalls.js +1 -32
  620. package/icons/azure/folder-blank.js +1 -39
  621. package/icons/azure/folder-website.js +1 -123
  622. package/icons/azure/form-recognizers.js +1 -48
  623. package/icons/azure/free-services.js +1 -43
  624. package/icons/azure/front-door-and-cdn-profiles.js +1 -37
  625. package/icons/azure/ftp.js +1 -17
  626. package/icons/azure/function-apps.js +1 -61
  627. package/icons/azure/gear.js +1 -37
  628. package/icons/azure/genomics-accounts.js +1 -68
  629. package/icons/azure/genomics.js +1 -57
  630. package/icons/azure/globe-error.js +1 -42
  631. package/icons/azure/globe-success.js +1 -52
  632. package/icons/azure/globe-warning.js +1 -53
  633. package/icons/azure/groups.js +1 -42
  634. package/icons/azure/guide.js +1 -17
  635. package/icons/azure/hd-insight-clusters.js +1 -71
  636. package/icons/azure/hdi-aks-cluster.js +1 -60
  637. package/icons/azure/heart.js +1 -31
  638. package/icons/azure/help-and-support.js +1 -55
  639. package/icons/azure/host-groups.js +1 -48
  640. package/icons/azure/host-pools.js +1 -19
  641. package/icons/azure/hosts.js +1 -46
  642. package/icons/azure/ic-m-troubleshooting.js +1 -60
  643. package/icons/azure/identity-governance.js +1 -52
  644. package/icons/azure/identity-multi-factor-authentication.js +1 -117
  645. package/icons/azure/identity-secure-score.js +1 -55
  646. package/icons/azure/image-definitions.js +1 -38
  647. package/icons/azure/image-templates.js +1 -43
  648. package/icons/azure/image-versions.js +1 -38
  649. package/icons/azure/image.js +1 -31
  650. package/icons/azure/images.js +1 -37
  651. package/icons/azure/immersive-readers.js +1 -82
  652. package/icons/azure/import-export-jobs.js +1 -25
  653. package/icons/azure/industrial-io-t.js +1 -97
  654. package/icons/azure/information.js +1 -21
  655. package/icons/azure/infrastructure-backup.js +1 -89
  656. package/icons/azure/input-output.js +1 -97
  657. package/icons/azure/instance-pools.js +1 -87
  658. package/icons/azure/integration-accounts.js +1 -52
  659. package/icons/azure/integration-environments.js +1 -94
  660. package/icons/azure/integration-service-environments.js +1 -90
  661. package/icons/azure/internet-analyzer-profiles.js +1 -59
  662. package/icons/azure/intune-app-protection.js +1 -79
  663. package/icons/azure/intune-for-education.js +1 -79
  664. package/icons/azure/intune-trends.js +1 -40
  665. package/icons/azure/intune.js +1 -46
  666. package/icons/azure/io-t-central-applications.js +1 -20
  667. package/icons/azure/io-t-edge.js +1 -25
  668. package/icons/azure/io-t-hub.js +1 -36
  669. package/icons/azure/ip-address-manager.js +1 -63
  670. package/icons/azure/ip-groups.js +1 -45
  671. package/icons/azure/journey-hub.js +1 -30
  672. package/icons/azure/key-vaults.js +1 -61
  673. package/icons/azure/keys.js +1 -97
  674. package/icons/azure/kubernetes-fleet-manager.js +1 -73
  675. package/icons/azure/kubernetes-services.js +1 -142
  676. package/icons/azure/lab-accounts.js +1 -69
  677. package/icons/azure/lab-services.js +1 -46
  678. package/icons/azure/language-understanding.js +1 -25
  679. package/icons/azure/language.js +1 -71
  680. package/icons/azure/launch-portal.js +1 -36
  681. package/icons/azure/learn.js +1 -61
  682. package/icons/azure/load-balancer-hub.js +1 -101
  683. package/icons/azure/load-balancers.js +1 -28
  684. package/icons/azure/load-test.js +1 -61
  685. package/icons/azure/load-testing.js +1 -71
  686. package/icons/azure/local-network-gateways.js +1 -44
  687. package/icons/azure/location.js +1 -34
  688. package/icons/azure/log-analytics-query-pack.js +1 -68
  689. package/icons/azure/log-analytics-workspaces.js +1 -58
  690. package/icons/azure/log-streaming.js +1 -57
  691. package/icons/azure/logic-apps-custom-connector.js +1 -76
  692. package/icons/azure/logic-apps.js +1 -65
  693. package/icons/azure/machine-learning-studio-classic-web-services.js +1 -49
  694. package/icons/azure/machine-learning-studio-web-service-plans.js +1 -84
  695. package/icons/azure/machine-learning-studio-workspaces.js +1 -55
  696. package/icons/azure/machine-learning.js +1 -29
  697. package/icons/azure/machines-azure-arc.js +1 -27
  698. package/icons/azure/maintenance-configuration.js +1 -62
  699. package/icons/azure/managed-applications-center.js +1 -55
  700. package/icons/azure/managed-database.js +1 -79
  701. package/icons/azure/managed-desktop.js +1 -40
  702. package/icons/azure/managed-dev-ops-pools.js +1 -59
  703. package/icons/azure/managed-file-shares.js +1 -59
  704. package/icons/azure/managed-identities.js +1 -66
  705. package/icons/azure/managed-instance-apache-cassandra.js +1 -100
  706. package/icons/azure/managed-service-fabric.js +1 -109
  707. package/icons/azure/management-groups.js +1 -77
  708. package/icons/azure/management-portal.js +1 -23
  709. package/icons/azure/marketplace-management.js +1 -47
  710. package/icons/azure/marketplace.js +1 -38
  711. package/icons/azure/med-tech-service.js +1 -87
  712. package/icons/azure/media-file.js +1 -36
  713. package/icons/azure/media.js +1 -108
  714. package/icons/azure/mesh-applications.js +1 -47
  715. package/icons/azure/metrics-advisor.js +1 -58
  716. package/icons/azure/metrics.js +1 -34
  717. package/icons/azure/microsoft-defender-easm.js +1 -69
  718. package/icons/azure/microsoft-defender-for-cloud.js +1 -61
  719. package/icons/azure/microsoft-defender-for-io-t.js +1 -54
  720. package/icons/azure/microsoft-dev-box.js +1 -143
  721. package/icons/azure/mindaro.js +1 -47
  722. package/icons/azure/mission-landing-zone.js +1 -48
  723. package/icons/azure/mobile-engagement.js +1 -46
  724. package/icons/azure/mobile-networks.js +1 -86
  725. package/icons/azure/mobile.js +1 -28
  726. package/icons/azure/modular-data-center.js +1 -83
  727. package/icons/azure/module.js +1 -25
  728. package/icons/azure/monitor-health-models.js +1 -110
  729. package/icons/azure/monitor.js +1 -61
  730. package/icons/azure/multi-tenancy.js +1 -80
  731. package/icons/azure/multifactor-authentication.js +1 -84
  732. package/icons/azure/my-customers.js +1 -42
  733. package/icons/azure/nat.js +1 -56
  734. package/icons/azure/network-interfaces.js +1 -52
  735. package/icons/azure/network-managers.js +1 -55
  736. package/icons/azure/network-security-groups.js +1 -53
  737. package/icons/azure/network-security-perimeters.js +1 -113
  738. package/icons/azure/network-watcher.js +1 -55
  739. package/icons/azure/notification-hub-namespaces.js +1 -33
  740. package/icons/azure/notification-hubs.js +1 -22
  741. package/icons/azure/offers.js +1 -35
  742. package/icons/azure/on-premises-data-gateways.js +1 -44
  743. package/icons/azure/open-supply-chain-platform.js +1 -111
  744. package/icons/azure/operation-log-classic.js +1 -44
  745. package/icons/azure/oracle-database.js +1 -55
  746. package/icons/azure/os-images-classic.js +1 -60
  747. package/icons/azure/osconfig.js +1 -82
  748. package/icons/azure/outbound-connection.js +1 -24
  749. package/icons/azure/partner-namespace.js +1 -97
  750. package/icons/azure/partner-registration.js +1 -117
  751. package/icons/azure/partner-topic.js +1 -93
  752. package/icons/azure/peering-service.js +1 -27
  753. package/icons/azure/peerings.js +1 -44
  754. package/icons/azure/personalizers.js +1 -99
  755. package/icons/azure/plans.js +1 -40
  756. package/icons/azure/policy.js +1 -34
  757. package/icons/azure/power-bi-embedded.js +1 -69
  758. package/icons/azure/power-platform.js +1 -163
  759. package/icons/azure/power-up.js +1 -42
  760. package/icons/azure/power.js +1 -31
  761. package/icons/azure/powershell.js +1 -30
  762. package/icons/azure/preview-features.js +1 -72
  763. package/icons/azure/private-endpoints.js +1 -80
  764. package/icons/azure/private-link-service.js +1 -83
  765. package/icons/azure/private-link-services.js +1 -72
  766. package/icons/azure/private-link.js +1 -94
  767. package/icons/azure/process-explorer.js +1 -23
  768. package/icons/azure/production-ready-database.js +1 -70
  769. package/icons/azure/proximity-placement-groups.js +1 -71
  770. package/icons/azure/public-ip-addresses-classic.js +1 -36
  771. package/icons/azure/public-ip-addresses.js +1 -19
  772. package/icons/azure/public-ip-prefixes.js +1 -85
  773. package/icons/azure/qn-a-makers.js +1 -61
  774. package/icons/azure/quickstart-center.js +1 -76
  775. package/icons/azure/recent.js +1 -57
  776. package/icons/azure/recovery-services-vaults.js +1 -67
  777. package/icons/azure/region-management.js +1 -42
  778. package/icons/azure/relays.js +1 -45
  779. package/icons/azure/remote-rendering.js +1 -71
  780. package/icons/azure/reservations.js +1 -37
  781. package/icons/azure/reserved-capacity.js +1 -45
  782. package/icons/azure/reserved-ip-addresses-classic.js +1 -38
  783. package/icons/azure/resource-explorer.js +1 -33
  784. package/icons/azure/resource-graph-explorer.js +1 -58
  785. package/icons/azure/resource-group-list.js +1 -48
  786. package/icons/azure/resource-groups.js +1 -40
  787. package/icons/azure/resource-guard.js +1 -46
  788. package/icons/azure/resource-linked.js +1 -51
  789. package/icons/azure/resource-management-private-link.js +1 -61
  790. package/icons/azure/resource-mover.js +1 -20
  791. package/icons/azure/resources-provider.js +1 -27
  792. package/icons/azure/restore-points-collections.js +1 -73
  793. package/icons/azure/restore-points.js +1 -72
  794. package/icons/azure/route-filters.js +1 -39
  795. package/icons/azure/route-tables.js +1 -62
  796. package/icons/azure/rtos.js +1 -64
  797. package/icons/azure/savings-plans.js +1 -75
  798. package/icons/azure/scheduler-job-collections.js +1 -73
  799. package/icons/azure/scheduler.js +1 -75
  800. package/icons/azure/scvmm-management-servers.js +1 -79
  801. package/icons/azure/search-grid.js +1 -48
  802. package/icons/azure/search.js +1 -28
  803. package/icons/azure/security-baselines.js +1 -55
  804. package/icons/azure/security.js +1 -22
  805. package/icons/azure/send-grid-accounts.js +1 -42
  806. package/icons/azure/server-farm.js +1 -65
  807. package/icons/azure/serverless-search.js +1 -65
  808. package/icons/azure/service-catalog-mad.js +1 -65
  809. package/icons/azure/service-endpoint-policies.js +1 -75
  810. package/icons/azure/service-fabric-clusters.js +1 -97
  811. package/icons/azure/service-health.js +1 -45
  812. package/icons/azure/service-providers.js +1 -71
  813. package/icons/azure/shared-image-galleries.js +1 -32
  814. package/icons/azure/signal-r.js +1 -22
  815. package/icons/azure/software-as-a-service.js +1 -65
  816. package/icons/azure/software-updates.js +1 -22
  817. package/icons/azure/solutions.js +1 -58
  818. package/icons/azure/sonic-dash.js +1 -95
  819. package/icons/azure/spatial-anchor-accounts.js +1 -88
  820. package/icons/azure/speech-services.js +1 -43
  821. package/icons/azure/spot-vm.js +1 -40
  822. package/icons/azure/spot-vmss.js +1 -77
  823. package/icons/azure/sql-data-warehouses.js +1 -82
  824. package/icons/azure/sql-database.js +1 -63
  825. package/icons/azure/sql-elastic-pools.js +1 -89
  826. package/icons/azure/sql-managed-instance.js +1 -73
  827. package/icons/azure/sql-server-registries.js +1 -75
  828. package/icons/azure/sql-server.js +1 -46
  829. package/icons/azure/ssd.js +1 -36
  830. package/icons/azure/ssh-keys.js +1 -42
  831. package/icons/azure/ssis-lift-and-shift-ir.js +1 -72
  832. package/icons/azure/stack-hci-premium.js +1 -144
  833. package/icons/azure/static-apps.js +1 -29
  834. package/icons/azure/stor-simple-data-managers.js +1 -57
  835. package/icons/azure/stor-simple-device-managers.js +1 -38
  836. package/icons/azure/storage-accounts-classic.js +1 -53
  837. package/icons/azure/storage-accounts.js +1 -35
  838. package/icons/azure/storage-actions.js +1 -88
  839. package/icons/azure/storage-azure-files.js +1 -47
  840. package/icons/azure/storage-container.js +1 -35
  841. package/icons/azure/storage-explorer.js +1 -38
  842. package/icons/azure/storage-functions.js +1 -57
  843. package/icons/azure/storage-queue.js +1 -24
  844. package/icons/azure/storage-sync-services.js +1 -74
  845. package/icons/azure/stream-analytics-jobs.js +1 -53
  846. package/icons/azure/subnet.js +1 -43
  847. package/icons/azure/subscriptions.js +1 -41
  848. package/icons/azure/system-topic.js +1 -182
  849. package/icons/azure/table.js +1 -23
  850. package/icons/azure/tag.js +1 -28
  851. package/icons/azure/tags.js +1 -46
  852. package/icons/azure/targets-management.js +1 -54
  853. package/icons/azure/template-specs.js +1 -67
  854. package/icons/azure/templates.js +1 -33
  855. package/icons/azure/tenant-properties.js +1 -90
  856. package/icons/azure/tenant-status.js +1 -40
  857. package/icons/azure/test-base.js +1 -56
  858. package/icons/azure/tfs-vc-repository.js +1 -97
  859. package/icons/azure/time-series-data-sets.js +1 -63
  860. package/icons/azure/time-series-insights-access-policies.js +1 -42
  861. package/icons/azure/time-series-insights-environments.js +1 -39
  862. package/icons/azure/time-series-insights-event-sources.js +1 -57
  863. package/icons/azure/toolbox.js +1 -26
  864. package/icons/azure/traffic-manager-profiles.js +1 -47
  865. package/icons/azure/translator-text.js +1 -75
  866. package/icons/azure/troubleshoot.js +1 -38
  867. package/icons/azure/universal-print.js +1 -74
  868. package/icons/azure/update-management-center.js +1 -135
  869. package/icons/azure/updates.js +1 -47
  870. package/icons/azure/user-privacy.js +1 -55
  871. package/icons/azure/user-settings.js +1 -68
  872. package/icons/azure/user-subscriptions.js +1 -104
  873. package/icons/azure/users.js +1 -26
  874. package/icons/azure/verifiable-credentials.js +1 -99
  875. package/icons/azure/verification-as-a-service.js +1 -84
  876. package/icons/azure/versions.js +1 -24
  877. package/icons/azure/video-analyzers.js +1 -42
  878. package/icons/azure/virtual-clusters.js +1 -99
  879. package/icons/azure/virtual-enclaves.js +1 -40
  880. package/icons/azure/virtual-instance-for-sap.js +1 -81
  881. package/icons/azure/virtual-machine.js +1 -52
  882. package/icons/azure/virtual-machines-classic.js +1 -53
  883. package/icons/azure/virtual-network-gateways.js +1 -56
  884. package/icons/azure/virtual-networks-classic.js +1 -86
  885. package/icons/azure/virtual-networks.js +1 -86
  886. package/icons/azure/virtual-router.js +1 -29
  887. package/icons/azure/virtual-visits-builder.js +1 -81
  888. package/icons/azure/virtual-wan-hub.js +1 -72
  889. package/icons/azure/virtual-wans.js +1 -60
  890. package/icons/azure/vm-app-definitions.js +1 -66
  891. package/icons/azure/vm-app-versions.js +1 -91
  892. package/icons/azure/vm-image-version.js +1 -103
  893. package/icons/azure/vm-images-classic.js +1 -60
  894. package/icons/azure/vm-scale-sets.js +1 -60
  895. package/icons/azure/wac-installer.js +1 -121
  896. package/icons/azure/wac.js +1 -56
  897. package/icons/azure/web-app-database.js +1 -177
  898. package/icons/azure/web-application-firewall-policies-waf.js +1 -97
  899. package/icons/azure/web-jobs.js +1 -119
  900. package/icons/azure/web-slots.js +1 -30
  901. package/icons/azure/web-test.js +1 -122
  902. package/icons/azure/website-power.js +1 -90
  903. package/icons/azure/website-staging.js +1 -24
  904. package/icons/azure/windows-notification-services.js +1 -78
  905. package/icons/azure/windows10-core-services.js +1 -61
  906. package/icons/azure/workbooks.js +1 -38
  907. package/icons/azure/worker-container-app.js +1 -91
  908. package/icons/azure/workflow.js +1 -47
  909. package/icons/azure/workspace-gateway.js +1 -86
  910. package/icons/azure/workspaces.js +1 -23
  911. package/icons/gcp/access-context-manager.js +1 -17
  912. package/icons/gcp/administration.js +1 -46
  913. package/icons/gcp/advanced-agent-modeling.js +1 -31
  914. package/icons/gcp/advanced-solutions-lab.js +1 -84
  915. package/icons/gcp/agent-assist.js +1 -12
  916. package/icons/gcp/ai-hub.js +1 -23
  917. package/icons/gcp/ai-platform-unified.js +1 -40
  918. package/icons/gcp/ai-platform.js +1 -23
  919. package/icons/gcp/analytics-hub.js +1 -28
  920. package/icons/gcp/anthos-config-management.js +1 -28
  921. package/icons/gcp/anthos-service-mesh.js +1 -13
  922. package/icons/gcp/anthos.js +1 -11
  923. package/icons/gcp/api-analytics.js +1 -26
  924. package/icons/gcp/api-monetization.js +1 -23
  925. package/icons/gcp/api.js +1 -29
  926. package/icons/gcp/apigee-api-platform.js +1 -35
  927. package/icons/gcp/apigee-sense.js +1 -28
  928. package/icons/gcp/app-engine.js +1 -39
  929. package/icons/gcp/artifact-registry.js +1 -33
  930. package/icons/gcp/asset-inventory.js +1 -19
  931. package/icons/gcp/assured-workloads.js +1 -38
  932. package/icons/gcp/auto-ml-natural-language.js +1 -9
  933. package/icons/gcp/auto-ml-tables.js +1 -19
  934. package/icons/gcp/auto-ml-translation.js +1 -25
  935. package/icons/gcp/auto-ml-video-intelligence.js +1 -25
  936. package/icons/gcp/auto-ml-vision.js +1 -18
  937. package/icons/gcp/auto-ml.js +1 -14
  938. package/icons/gcp/bare-metal-solutions.js +1 -10
  939. package/icons/gcp/batch.js +1 -12
  940. package/icons/gcp/beyondcorp.js +1 -13
  941. package/icons/gcp/big-query.js +1 -28
  942. package/icons/gcp/bigtable.js +1 -116
  943. package/icons/gcp/billing.js +1 -34
  944. package/icons/gcp/binary-authorization.js +1 -22
  945. package/icons/gcp/catalog.js +1 -29
  946. package/icons/gcp/certificate-authority-service.js +1 -33
  947. package/icons/gcp/certificate-manager.js +1 -24
  948. package/icons/gcp/cloud-api-gateway.js +1 -13
  949. package/icons/gcp/cloud-apis.js +1 -18
  950. package/icons/gcp/cloud-armor.js +1 -27
  951. package/icons/gcp/cloud-asset-inventory.js +1 -10
  952. package/icons/gcp/cloud-audit-logs.js +1 -60
  953. package/icons/gcp/cloud-build.js +1 -19
  954. package/icons/gcp/cloud-cdn.js +1 -22
  955. package/icons/gcp/cloud-code.js +1 -16
  956. package/icons/gcp/cloud-composer.js +1 -19
  957. package/icons/gcp/cloud-data-fusion.js +1 -15
  958. package/icons/gcp/cloud-deploy.js +1 -10
  959. package/icons/gcp/cloud-deployment-manager.js +1 -24
  960. package/icons/gcp/cloud-dns.js +1 -21
  961. package/icons/gcp/cloud-domains.js +1 -26
  962. package/icons/gcp/cloud-ekm.js +1 -13
  963. package/icons/gcp/cloud-endpoints.js +1 -26
  964. package/icons/gcp/cloud-external-ip-addresses.js +1 -21
  965. package/icons/gcp/cloud-firewall-rules.js +1 -15
  966. package/icons/gcp/cloud-for-marketing.js +1 -13
  967. package/icons/gcp/cloud-functions.js +1 -45
  968. package/icons/gcp/cloud-generic.js +1 -13
  969. package/icons/gcp/cloud-gpu.js +1 -18
  970. package/icons/gcp/cloud-healthcare-api.js +1 -65
  971. package/icons/gcp/cloud-healthcare-marketplace.js +1 -10
  972. package/icons/gcp/cloud-hsm.js +1 -43
  973. package/icons/gcp/cloud-ids.js +1 -42
  974. package/icons/gcp/cloud-inference-api.js +1 -27
  975. package/icons/gcp/cloud-interconnect.js +1 -15
  976. package/icons/gcp/cloud-jobs-api.js +1 -37
  977. package/icons/gcp/cloud-load-balancing.js +1 -20
  978. package/icons/gcp/cloud-logging.js +1 -35
  979. package/icons/gcp/cloud-media-edge.js +1 -23
  980. package/icons/gcp/cloud-monitoring.js +1 -26
  981. package/icons/gcp/cloud-nat.js +1 -31
  982. package/icons/gcp/cloud-natural-language-api.js +1 -40
  983. package/icons/gcp/cloud-network.js +1 -23
  984. package/icons/gcp/cloud-ops.js +1 -32
  985. package/icons/gcp/cloud-optimization-ai-fleet-routing-api.js +1 -34
  986. package/icons/gcp/cloud-optimization-ai.js +1 -28
  987. package/icons/gcp/cloud-router.js +1 -13
  988. package/icons/gcp/cloud-routes.js +1 -18
  989. package/icons/gcp/cloud-run-for-anthos.js +1 -21
  990. package/icons/gcp/cloud-run.js +1 -13
  991. package/icons/gcp/cloud-scheduler.js +1 -49
  992. package/icons/gcp/cloud-security-scanner.js +1 -21
  993. package/icons/gcp/cloud-shell.js +1 -16
  994. package/icons/gcp/cloud-spanner.js +1 -42
  995. package/icons/gcp/cloud-sql.js +1 -16
  996. package/icons/gcp/cloud-storage.js +1 -22
  997. package/icons/gcp/cloud-tasks.js +1 -101
  998. package/icons/gcp/cloud-test-lab.js +1 -39
  999. package/icons/gcp/cloud-tpu.js +1 -141
  1000. package/icons/gcp/cloud-translation-api.js +1 -16
  1001. package/icons/gcp/cloud-vision-api.js +1 -40
  1002. package/icons/gcp/cloud-vpn.js +1 -23
  1003. package/icons/gcp/compute-engine.js +1 -23
  1004. package/icons/gcp/configuration-management.js +1 -22
  1005. package/icons/gcp/connectivity-test.js +1 -6
  1006. package/icons/gcp/connectors.js +1 -13
  1007. package/icons/gcp/contact-center-ai.js +1 -6
  1008. package/icons/gcp/container-optimized-os.js +1 -13
  1009. package/icons/gcp/container-registry.js +1 -118
  1010. package/icons/gcp/data-catalog.js +1 -25
  1011. package/icons/gcp/data-labeling.js +1 -31
  1012. package/icons/gcp/data-layers.js +1 -11
  1013. package/icons/gcp/data-loss-prevention-api.js +1 -60
  1014. package/icons/gcp/data-qn-a.js +1 -24
  1015. package/icons/gcp/data-studio.js +1 -28
  1016. package/icons/gcp/data-transfer.js +1 -17
  1017. package/icons/gcp/database-migration-service.js +1 -24
  1018. package/icons/gcp/dataflow.js +1 -50
  1019. package/icons/gcp/datalab.js +1 -13
  1020. package/icons/gcp/dataplex.js +1 -15
  1021. package/icons/gcp/datapol.js +1 -70
  1022. package/icons/gcp/dataprep.js +1 -25
  1023. package/icons/gcp/dataproc-metastore.js +1 -12
  1024. package/icons/gcp/dataproc.js +1 -43
  1025. package/icons/gcp/datashare.js +1 -37
  1026. package/icons/gcp/datastore.js +1 -39
  1027. package/icons/gcp/datastream.js +1 -35
  1028. package/icons/gcp/debugger.js +1 -31
  1029. package/icons/gcp/developer-portal.js +1 -24
  1030. package/icons/gcp/dialogflow-cx.js +1 -28
  1031. package/icons/gcp/dialogflow-insights.js +1 -33
  1032. package/icons/gcp/dialogflow.js +1 -16
  1033. package/icons/gcp/document-ai.js +1 -27
  1034. package/icons/gcp/early-access-center.js +1 -12
  1035. package/icons/gcp/error-reporting.js +1 -42
  1036. package/icons/gcp/eventarc.js +1 -24
  1037. package/icons/gcp/filestore.js +1 -22
  1038. package/icons/gcp/financial-services-marketplace.js +1 -21
  1039. package/icons/gcp/firestore.js +1 -30
  1040. package/icons/gcp/fleet-engine.js +1 -10
  1041. package/icons/gcp/free-trial.js +1 -36
  1042. package/icons/gcp/game-servers.js +1 -32
  1043. package/icons/gcp/gce-systems-management.js +1 -13
  1044. package/icons/gcp/genomics.js +1 -23
  1045. package/icons/gcp/gke-on-prem.js +1 -31
  1046. package/icons/gcp/google-cloud-marketplace.js +1 -29
  1047. package/icons/gcp/google-kubernetes-engine.js +1 -23
  1048. package/icons/gcp/google-maps-platform.js +1 -47
  1049. package/icons/gcp/healthcare-nlp-api.js +1 -13
  1050. package/icons/gcp/home.js +1 -25
  1051. package/icons/gcp/identity-and-access-management.js +1 -23
  1052. package/icons/gcp/identity-aware-proxy.js +1 -32
  1053. package/icons/gcp/identity-platform.js +1 -26
  1054. package/icons/gcp/iot-core.js +1 -23
  1055. package/icons/gcp/iot-edge.js +1 -86
  1056. package/icons/gcp/key-access-justifications.js +1 -46
  1057. package/icons/gcp/key-management-service.js +1 -23
  1058. package/icons/gcp/kuberun.js +1 -26
  1059. package/icons/gcp/launcher.js +1 -35
  1060. package/icons/gcp/local-ssd.js +1 -13
  1061. package/icons/gcp/looker.js +1 -46
  1062. package/icons/gcp/managed-service-for-microsoft-active-directory.js +1 -59
  1063. package/icons/gcp/media-translation-api.js +1 -28
  1064. package/icons/gcp/memorystore.js +1 -26
  1065. package/icons/gcp/migrate-for-anthos.js +1 -13
  1066. package/icons/gcp/migrate-for-compute-engine.js +1 -13
  1067. package/icons/gcp/my-cloud.js +1 -21
  1068. package/icons/gcp/network-connectivity-center.js +1 -84
  1069. package/icons/gcp/network-intelligence-center.js +1 -13
  1070. package/icons/gcp/network-security.js +1 -38
  1071. package/icons/gcp/network-tiers.js +1 -53
  1072. package/icons/gcp/network-topology.js +1 -13
  1073. package/icons/gcp/onboarding.js +1 -25
  1074. package/icons/gcp/os-configuration-management.js +1 -13
  1075. package/icons/gcp/os-inventory-management.js +1 -15
  1076. package/icons/gcp/os-patch-management.js +1 -13
  1077. package/icons/gcp/partner-interconnect.js +1 -21
  1078. package/icons/gcp/partner-portal.js +1 -35
  1079. package/icons/gcp/performance-dashboard.js +1 -13
  1080. package/icons/gcp/permissions.js +1 -35
  1081. package/icons/gcp/persistent-disk.js +1 -10
  1082. package/icons/gcp/phishing-protection.js +1 -48
  1083. package/icons/gcp/policy-analyzer.js +1 -13
  1084. package/icons/gcp/premium-network-tier.js +1 -19
  1085. package/icons/gcp/private-connectivity.js +1 -18
  1086. package/icons/gcp/private-service-connect.js +1 -27
  1087. package/icons/gcp/producer-portal.js +1 -21
  1088. package/icons/gcp/profiler.js +1 -29
  1089. package/icons/gcp/project.js +1 -28
  1090. package/icons/gcp/pub-sub.js +1 -41
  1091. package/icons/gcp/quantum-engine.js +1 -27
  1092. package/icons/gcp/quotas.js +1 -42
  1093. package/icons/gcp/real-world-insights.js +1 -19
  1094. package/icons/gcp/recommendations-ai.js +1 -56
  1095. package/icons/gcp/release-notes.js +1 -12
  1096. package/icons/gcp/retail-api.js +1 -22
  1097. package/icons/gcp/risk-manager.js +1 -12
  1098. package/icons/gcp/runtime-config.js +1 -35
  1099. package/icons/gcp/secret-manager.js +1 -13
  1100. package/icons/gcp/security-command-center.js +1 -18
  1101. package/icons/gcp/security-health-advisor.js +1 -61
  1102. package/icons/gcp/security-key-enforcement.js +1 -21
  1103. package/icons/gcp/security.js +1 -27
  1104. package/icons/gcp/service-discovery.js +1 -36
  1105. package/icons/gcp/speech-to-text.js +1 -93
  1106. package/icons/gcp/stackdriver.js +1 -10
  1107. package/icons/gcp/standard-network-tier.js +1 -13
  1108. package/icons/gcp/stream-suite.js +1 -16
  1109. package/icons/gcp/support.js +1 -29
  1110. package/icons/gcp/tensorflow-enterprise.js +1 -13
  1111. package/icons/gcp/text-to-speech.js +1 -24
  1112. package/icons/gcp/tools-for-powershell.js +1 -29
  1113. package/icons/gcp/trace.js +1 -17
  1114. package/icons/gcp/traffic-director.js +1 -44
  1115. package/icons/gcp/transfer-appliance.js +1 -32
  1116. package/icons/gcp/transfer.js +1 -13
  1117. package/icons/gcp/user-preferences.js +1 -35
  1118. package/icons/gcp/vertex-ai.js +1 -48
  1119. package/icons/gcp/video-intelligence-api.js +1 -15
  1120. package/icons/gcp/virtual-private-cloud.js +1 -25
  1121. package/icons/gcp/visual-inspection.js +1 -24
  1122. package/icons/gcp/vmware-engine.js +1 -13
  1123. package/icons/gcp/web-risk.js +1 -55
  1124. package/icons/gcp/web-security-scanner.js +1 -27
  1125. package/icons/gcp/workflows.js +1 -82
  1126. package/icons/gcp/workload-identity-pool.js +1 -24
  1127. package/icons/tech/aarch64.js +1 -48
  1128. package/icons/tech/adobe-illustrator.js +1 -14
  1129. package/icons/tech/adobe-photoshop.js +1 -14
  1130. package/icons/tech/adobe-premiere-pro.js +1 -16
  1131. package/icons/tech/adobe-xd.js +1 -12
  1132. package/icons/tech/adonis-js.js +1 -14
  1133. package/icons/tech/after-effects.js +1 -16
  1134. package/icons/tech/airflow.js +1 -64
  1135. package/icons/tech/akka.js +1 -21
  1136. package/icons/tech/algolia.js +1 -12
  1137. package/icons/tech/alpine-js.js +1 -17
  1138. package/icons/tech/amazon-web-services.js +1 -21
  1139. package/icons/tech/anaconda.js +1 -12
  1140. package/icons/tech/android-studio.js +1 -44
  1141. package/icons/tech/android.js +1 -35
  1142. package/icons/tech/angular-js.js +1 -24
  1143. package/icons/tech/angular.js +1 -37
  1144. package/icons/tech/ansible.js +1 -15
  1145. package/icons/tech/ant-design.js +1 -112
  1146. package/icons/tech/apache.js +1 -222
  1147. package/icons/tech/apl.js +1 -21
  1148. package/icons/tech/appcelerator.js +1 -12
  1149. package/icons/tech/apple-safari.js +1 -39
  1150. package/icons/tech/apple.js +1 -6
  1151. package/icons/tech/appwrite.js +1 -21
  1152. package/icons/tech/arch-linux.js +1 -29
  1153. package/icons/tech/arduino.js +1 -9
  1154. package/icons/tech/argo-cd.js +1 -134
  1155. package/icons/tech/astro.js +1 -62
  1156. package/icons/tech/atom.js +1 -14
  1157. package/icons/tech/autodesk-maya.js +1 -144
  1158. package/icons/tech/autodesk-shot-grid.js +1 -15
  1159. package/icons/tech/awk.js +1 -34
  1160. package/icons/tech/azios.js +1 -12
  1161. package/icons/tech/azure-devops.js +1 -33
  1162. package/icons/tech/azure-sql-database.js +1 -95
  1163. package/icons/tech/azure.js +1 -55
  1164. package/icons/tech/babel.js +1 -15
  1165. package/icons/tech/backbone-js.js +1 -16
  1166. package/icons/tech/ballerina.js +1 -12
  1167. package/icons/tech/bamboo.js +1 -62
  1168. package/icons/tech/bash.js +1 -22
  1169. package/icons/tech/behance.js +1 -19
  1170. package/icons/tech/bitbucket.js +1 -37
  1171. package/icons/tech/blender.js +1 -21
  1172. package/icons/tech/bootstrap.js +1 -78
  1173. package/icons/tech/bower.js +1 -123
  1174. package/icons/tech/browserstack.js +1 -77
  1175. package/icons/tech/bulma.js +1 -6
  1176. package/icons/tech/bun.js +1 -68
  1177. package/icons/tech/c.js +1 -28
  1178. package/icons/tech/cairo-graphics.js +1 -21
  1179. package/icons/tech/cake-php.js +1 -12
  1180. package/icons/tech/canva.js +1 -9
  1181. package/icons/tech/capacitor.js +1 -25
  1182. package/icons/tech/cassandra.js +1 -101
  1183. package/icons/tech/cent-os.js +1 -22
  1184. package/icons/tech/chrome.js +1 -156
  1185. package/icons/tech/circle-ci.js +1 -12
  1186. package/icons/tech/clarity.js +1 -35
  1187. package/icons/tech/clion.js +1 -98
  1188. package/icons/tech/clojure-script.js +1 -39
  1189. package/icons/tech/clojure.js +1 -42
  1190. package/icons/tech/cloudflare-workers.js +1 -196
  1191. package/icons/tech/cloudflare.js +1 -22
  1192. package/icons/tech/cmake.js +1 -11
  1193. package/icons/tech/code-igniter.js +1 -12
  1194. package/icons/tech/code-pen.js +1 -12
  1195. package/icons/tech/codeac.js +1 -12
  1196. package/icons/tech/codecov.js +1 -12
  1197. package/icons/tech/coffee-script.js +1 -12
  1198. package/icons/tech/composer.js +1 -59
  1199. package/icons/tech/confluence.js +1 -57
  1200. package/icons/tech/consul.js +1 -12
  1201. package/icons/tech/contao.js +1 -15
  1202. package/icons/tech/corejs.js +1 -6
  1203. package/icons/tech/cosmosdb.js +1 -52
  1204. package/icons/tech/couchdb.js +1 -12
  1205. package/icons/tech/cplusplus.js +1 -35
  1206. package/icons/tech/crystal.js +1 -12
  1207. package/icons/tech/csharp.js +1 -28
  1208. package/icons/tech/css3.js +1 -25
  1209. package/icons/tech/cucumber.js +1 -12
  1210. package/icons/tech/cypress.js +1 -34
  1211. package/icons/tech/d3js.js +1 -145
  1212. package/icons/tech/dart.js +1 -24
  1213. package/icons/tech/data-grip.js +1 -109
  1214. package/icons/tech/data-spell.js +1 -102
  1215. package/icons/tech/dbeaver.js +1 -56
  1216. package/icons/tech/debian.js +1 -12
  1217. package/icons/tech/deno.js +1 -6
  1218. package/icons/tech/devicon.js +1 -25
  1219. package/icons/tech/digital-ocean.js +1 -9
  1220. package/icons/tech/discord-js.js +1 -56
  1221. package/icons/tech/django-rest.js +1 -35
  1222. package/icons/tech/django.js +1 -9
  1223. package/icons/tech/docker.js +1 -133
  1224. package/icons/tech/doctrine.js +1 -21
  1225. package/icons/tech/dropwizard.js +1 -70
  1226. package/icons/tech/drupal.js +1 -56
  1227. package/icons/tech/eclipse-ceylon.js +1 -44
  1228. package/icons/tech/eclipse-ide.js +1 -99
  1229. package/icons/tech/eclipse-vert-x.js +1 -29
  1230. package/icons/tech/elasticbeats.js +1 -22
  1231. package/icons/tech/elasticsearch.js +1 -28
  1232. package/icons/tech/electron.js +1 -11
  1233. package/icons/tech/eleventy-11ty.js +1 -15
  1234. package/icons/tech/elixir.js +1 -211
  1235. package/icons/tech/elm.js +1 -19
  1236. package/icons/tech/embedded-c.js +1 -42
  1237. package/icons/tech/ember-js.js +1 -16
  1238. package/icons/tech/envoy.js +1 -28
  1239. package/icons/tech/erlang.js +1 -12
  1240. package/icons/tech/eslint.js +1 -21
  1241. package/icons/tech/express.js +1 -6
  1242. package/icons/tech/facebook.js +1 -15
  1243. package/icons/tech/fast-api.js +1 -12
  1244. package/icons/tech/fastify.js +1 -15
  1245. package/icons/tech/fauna.js +1 -12
  1246. package/icons/tech/feathers.js +1 -6
  1247. package/icons/tech/fedora.js +1 -53
  1248. package/icons/tech/figma.js +1 -24
  1249. package/icons/tech/file-zilla.js +1 -29
  1250. package/icons/tech/firebase.js +1 -12
  1251. package/icons/tech/firefox.js +1 -1405
  1252. package/icons/tech/flask.js +1 -12
  1253. package/icons/tech/flutter.js +1 -16
  1254. package/icons/tech/fortran.js +1 -15
  1255. package/icons/tech/foundation.js +1 -240
  1256. package/icons/tech/fsharp.js +1 -10
  1257. package/icons/tech/gatling.js +1 -12
  1258. package/icons/tech/gatsby.js +1 -12
  1259. package/icons/tech/gazebo.js +1 -23
  1260. package/icons/tech/gcc.js +1 -44
  1261. package/icons/tech/gentoo.js +1 -14
  1262. package/icons/tech/ghost.js +1 -27
  1263. package/icons/tech/gimp.js +1 -382
  1264. package/icons/tech/git.js +1 -12
  1265. package/icons/tech/gitbook.js +1 -13
  1266. package/icons/tech/github-actions.js +1 -21
  1267. package/icons/tech/github-codespaces.js +1 -85
  1268. package/icons/tech/github.js +1 -16
  1269. package/icons/tech/gitlab.js +1 -35
  1270. package/icons/tech/gitpod.js +1 -32
  1271. package/icons/tech/gitter.js +1 -6
  1272. package/icons/tech/gnu-emacs.js +1 -15
  1273. package/icons/tech/go-land.js +1 -88
  1274. package/icons/tech/go.js +1 -294
  1275. package/icons/tech/godot-engine.js +1 -56
  1276. package/icons/tech/google-cloud.js +1 -29
  1277. package/icons/tech/google.js +1 -42
  1278. package/icons/tech/gradle.js +1 -12
  1279. package/icons/tech/grafana.js +1 -30
  1280. package/icons/tech/grails.js +1 -21
  1281. package/icons/tech/graphql.js +1 -15
  1282. package/icons/tech/groovy.js +1 -715
  1283. package/icons/tech/grunt-js.js +1 -260
  1284. package/icons/tech/gulp-js.js +1 -14
  1285. package/icons/tech/hadoop.js +1 -36
  1286. package/icons/tech/handlebars.js +1 -9
  1287. package/icons/tech/hardhat.js +1 -98
  1288. package/icons/tech/harvester.js +1 -10
  1289. package/icons/tech/hashicorp-vault.js +1 -12
  1290. package/icons/tech/haskell.js +1 -10
  1291. package/icons/tech/haxe.js +1 -17
  1292. package/icons/tech/helm.js +1 -12
  1293. package/icons/tech/heroku.js +1 -12
  1294. package/icons/tech/hibernate.js +1 -15
  1295. package/icons/tech/homebrew.js +1 -36
  1296. package/icons/tech/html5.js +1 -23
  1297. package/icons/tech/hugo.js +1 -22
  1298. package/icons/tech/ibm-spss-statistics.js +1 -21
  1299. package/icons/tech/ie10.js +1 -12
  1300. package/icons/tech/ifttt.js +1 -6
  1301. package/icons/tech/influxdb.js +1 -14
  1302. package/icons/tech/inkscape.js +1 -573
  1303. package/icons/tech/insomnia.js +1 -44
  1304. package/icons/tech/intellij-idea.js +1 -92
  1305. package/icons/tech/ionic.js +1 -9
  1306. package/icons/tech/jaeger.js +1 -102
  1307. package/icons/tech/jamstack.js +1 -12
  1308. package/icons/tech/jasmine.js +1 -10
  1309. package/icons/tech/java.js +1 -42
  1310. package/icons/tech/javascript.js +1 -15
  1311. package/icons/tech/jeet.js +1 -163
  1312. package/icons/tech/jekyll.js +1 -232
  1313. package/icons/tech/jenkins.js +1 -126
  1314. package/icons/tech/jest.js +1 -12
  1315. package/icons/tech/jetbrains.js +1 -118
  1316. package/icons/tech/jira-align.js +1 -57
  1317. package/icons/tech/jira.js +1 -62
  1318. package/icons/tech/jquery.js +1 -12
  1319. package/icons/tech/json.js +1 -57
  1320. package/icons/tech/jule.js +1 -12
  1321. package/icons/tech/julia.js +1 -49
  1322. package/icons/tech/junit.js +1 -30
  1323. package/icons/tech/jupyter.js +1 -35
  1324. package/icons/tech/k3os.js +1 -6
  1325. package/icons/tech/k3s.js +1 -12
  1326. package/icons/tech/kafka.js +1 -12
  1327. package/icons/tech/kaggle.js +1 -12
  1328. package/icons/tech/karate.js +1 -15
  1329. package/icons/tech/karma.js +1 -21
  1330. package/icons/tech/keras.js +1 -15
  1331. package/icons/tech/kibana.js +1 -10
  1332. package/icons/tech/knex-js.js +1 -12
  1333. package/icons/tech/knockout.js +1 -13
  1334. package/icons/tech/kotlin.js +1 -25
  1335. package/icons/tech/krakenjs.js +1 -14
  1336. package/icons/tech/ktor.js +1 -48
  1337. package/icons/tech/kubernetes.js +1 -10
  1338. package/icons/tech/labview.js +1 -69
  1339. package/icons/tech/laravel.js +1 -15
  1340. package/icons/tech/latex.js +1 -12
  1341. package/icons/tech/less-js.js +1 -14
  1342. package/icons/tech/linkedin.js +1 -21
  1343. package/icons/tech/linux.js +1 -5267
  1344. package/icons/tech/liquibase.js +1 -12
  1345. package/icons/tech/livewire.js +1 -79
  1346. package/icons/tech/llvm.js +1 -36
  1347. package/icons/tech/logstash.js +1 -10
  1348. package/icons/tech/lua.js +1 -28
  1349. package/icons/tech/lumen.js +1 -12
  1350. package/icons/tech/magento.js +1 -12
  1351. package/icons/tech/markdown.js +1 -44
  1352. package/icons/tech/material-ui.js +1 -11
  1353. package/icons/tech/materialize.js +1 -21
  1354. package/icons/tech/matlab.js +1 -73
  1355. package/icons/tech/matplotlib.js +1 -182
  1356. package/icons/tech/maven.js +1 -620
  1357. package/icons/tech/meteor-js.js +1 -12
  1358. package/icons/tech/microsoft-sql-server.js +1 -6
  1359. package/icons/tech/minitab.js +1 -45
  1360. package/icons/tech/mob-x.js +1 -57
  1361. package/icons/tech/mocha.js +1 -21
  1362. package/icons/tech/modx.js +1 -18
  1363. package/icons/tech/moleculer.js +1 -12
  1364. package/icons/tech/mongodb.js +1 -135
  1365. package/icons/tech/mongoose-js.js +1 -29
  1366. package/icons/tech/moodle.js +1 -145
  1367. package/icons/tech/ms-dos.js +1 -78
  1368. package/icons/tech/mysql.js +1 -12
  1369. package/icons/tech/nano.js +1 -12
  1370. package/icons/tech/nerog.js +1 -136
  1371. package/icons/tech/nestjs.js +1 -12
  1372. package/icons/tech/net-core.js +1 -9
  1373. package/icons/tech/net.js +1 -551
  1374. package/icons/tech/network-x.js +1 -58
  1375. package/icons/tech/new4j.js +1 -21
  1376. package/icons/tech/nextjs.js +1 -6
  1377. package/icons/tech/nginx.js +1 -12
  1378. package/icons/tech/nhibernate.js +1 -21
  1379. package/icons/tech/nim.js +1 -29
  1380. package/icons/tech/nimble.js +1 -84
  1381. package/icons/tech/nix.js +1 -25
  1382. package/icons/tech/nodejs.js +1 -12
  1383. package/icons/tech/nodemon.js +1 -21
  1384. package/icons/tech/nodewebkit.js +1 -42
  1385. package/icons/tech/npm.js +1 -12
  1386. package/icons/tech/nuget.js +1 -12
  1387. package/icons/tech/num-py.js +1 -29
  1388. package/icons/tech/nuxt-js.js +1 -28
  1389. package/icons/tech/objective-c.js +1 -9
  1390. package/icons/tech/ocaml.js +1 -96
  1391. package/icons/tech/oh-my-zsh.js +1 -38
  1392. package/icons/tech/okta.js +1 -21
  1393. package/icons/tech/open-al.js +1 -22
  1394. package/icons/tech/open-api.js +1 -139
  1395. package/icons/tech/open-cl.js +1 -42
  1396. package/icons/tech/open-cv.js +1 -28
  1397. package/icons/tech/open-gl.js +1 -35
  1398. package/icons/tech/open-stack.js +1 -12
  1399. package/icons/tech/open-suse.js +1 -15
  1400. package/icons/tech/open-telemetry.js +1 -21
  1401. package/icons/tech/opera.js +1 -32
  1402. package/icons/tech/oracle.js +1 -12
  1403. package/icons/tech/p5js.js +1 -12
  1404. package/icons/tech/packer.js +1 -15
  1405. package/icons/tech/pandas.js +1 -62
  1406. package/icons/tech/perl.js +1 -21
  1407. package/icons/tech/pf-sense.js +1 -6
  1408. package/icons/tech/phalcon.js +1 -32
  1409. package/icons/tech/phoenix-framework.js +1 -12
  1410. package/icons/tech/photon-engine.js +1 -41
  1411. package/icons/tech/php-storm.js +1 -105
  1412. package/icons/tech/php.js +1 -62
  1413. package/icons/tech/playwrite.js +1 -56
  1414. package/icons/tech/ploty.js +1 -28
  1415. package/icons/tech/podman.js +1 -150
  1416. package/icons/tech/polygon.js +1 -15
  1417. package/icons/tech/portainer.js +1 -12
  1418. package/icons/tech/postcss.js +1 -28
  1419. package/icons/tech/postgresql.js +1 -23
  1420. package/icons/tech/postman.js +1 -28
  1421. package/icons/tech/powershell.js +1 -79
  1422. package/icons/tech/processing.js +1 -201
  1423. package/icons/tech/prometheus.js +1 -12
  1424. package/icons/tech/protractor.js +1 -12
  1425. package/icons/tech/purescript.js +1 -16
  1426. package/icons/tech/putty.js +1 -56
  1427. package/icons/tech/pycharm.js +1 -81
  1428. package/icons/tech/pyscript.js +1 -15
  1429. package/icons/tech/pytest.js +1 -21
  1430. package/icons/tech/python-poetry.js +1 -155
  1431. package/icons/tech/python.js +1 -78
  1432. package/icons/tech/pytorch.js +1 -15
  1433. package/icons/tech/qodana.js +1 -52
  1434. package/icons/tech/qt.js +1 -12
  1435. package/icons/tech/quarkus.js +1 -23
  1436. package/icons/tech/quasar.js +1 -15
  1437. package/icons/tech/qwik.js +1 -37
  1438. package/icons/tech/r.js +1 -57
  1439. package/icons/tech/rabbitmq.js +1 -12
  1440. package/icons/tech/rancher.js +1 -6
  1441. package/icons/tech/raspberrypi.js +1 -28
  1442. package/icons/tech/reach.js +1 -27
  1443. package/icons/tech/react-bootstrap.js +1 -12
  1444. package/icons/tech/react.js +1 -9
  1445. package/icons/tech/realm.js +1 -63
  1446. package/icons/tech/red-cube-s-epic-compiler-thingy-programming-re-ct.js +1 -17
  1447. package/icons/tech/redhat.js +1 -22
  1448. package/icons/tech/redis.js +1 -59
  1449. package/icons/tech/redux.js +1 -12
  1450. package/icons/tech/ren-py.js +1 -547
  1451. package/icons/tech/rider.js +1 -38
  1452. package/icons/tech/robot-operating-system-ros.js +1 -15
  1453. package/icons/tech/rocksdb.js +1 -9
  1454. package/icons/tech/rollup-js.js +1 -155
  1455. package/icons/tech/rspec.js +1 -35
  1456. package/icons/tech/rstudio.js +1 -30
  1457. package/icons/tech/ruby-mine.js +1 -52
  1458. package/icons/tech/ruby-on-rails.js +1 -14
  1459. package/icons/tech/ruby.js +1 -359
  1460. package/icons/tech/rust.js +1 -6
  1461. package/icons/tech/salesforce.js +1 -28
  1462. package/icons/tech/sanity.js +1 -22
  1463. package/icons/tech/sass.js +1 -14
  1464. package/icons/tech/scala.js +1 -21
  1465. package/icons/tech/scalingo.js +1 -29
  1466. package/icons/tech/sdl.js +1 -42
  1467. package/icons/tech/selenium.js +1 -15
  1468. package/icons/tech/sema-software.js +1 -15
  1469. package/icons/tech/sequelize.js +1 -34
  1470. package/icons/tech/shopware.js +1 -9
  1471. package/icons/tech/sketch.js +1 -14
  1472. package/icons/tech/slack.js +1 -35
  1473. package/icons/tech/socket-io.js +1 -45
  1474. package/icons/tech/solid-js.js +1 -121
  1475. package/icons/tech/solidity.js +1 -13
  1476. package/icons/tech/sonarqube.js +1 -12
  1477. package/icons/tech/sourcetree.js +1 -12
  1478. package/icons/tech/spark.js +1 -12
  1479. package/icons/tech/splunk.js +1 -12
  1480. package/icons/tech/spring.js +1 -12
  1481. package/icons/tech/sql-developer.js +1 -43
  1482. package/icons/tech/sqlalchemy.js +1 -21
  1483. package/icons/tech/sqlite.js +1 -45
  1484. package/icons/tech/ssh.js +1 -12
  1485. package/icons/tech/stackoverflow.js +1 -15
  1486. package/icons/tech/stata.js +1 -12
  1487. package/icons/tech/storybook.js +1 -12
  1488. package/icons/tech/streamlit.js +1 -31
  1489. package/icons/tech/stylus.js +1 -9
  1490. package/icons/tech/subversion.js +1 -12
  1491. package/icons/tech/svelte.js +1 -23
  1492. package/icons/tech/swagger.js +1 -21
  1493. package/icons/tech/swift.js +1 -21
  1494. package/icons/tech/symfony.js +1 -12
  1495. package/icons/tech/tailwind-css.js +1 -12
  1496. package/icons/tech/tauri.js +1 -35
  1497. package/icons/tech/tensorflow.js +1 -12
  1498. package/icons/tech/terraform.js +1 -16
  1499. package/icons/tech/tex.js +1 -6
  1500. package/icons/tech/the-algorithms.js +1 -12
  1501. package/icons/tech/three-js.js +1 -139
  1502. package/icons/tech/titanium-sdk.js +1 -12
  1503. package/icons/tech/tomcat.js +1 -26
  1504. package/icons/tech/tortoise-git.js +1 -37
  1505. package/icons/tech/tower.js +1 -369
  1506. package/icons/tech/traefik-mesh.js +1 -12
  1507. package/icons/tech/traefik-proxy.js +1 -12
  1508. package/icons/tech/travis-ci.js +1 -12
  1509. package/icons/tech/trello.js +1 -12
  1510. package/icons/tech/twitter.js +1 -12
  1511. package/icons/tech/typescript.js +1 -16
  1512. package/icons/tech/typo3.js +1 -12
  1513. package/icons/tech/ubuntu.js +1 -12
  1514. package/icons/tech/uml.js +1 -29
  1515. package/icons/tech/unity.js +1 -22
  1516. package/icons/tech/unix.js +1 -12
  1517. package/icons/tech/unreal-engine.js +1 -9
  1518. package/icons/tech/uwsgi.js +1 -38
  1519. package/icons/tech/v8.js +1 -109
  1520. package/icons/tech/vagrant.js +1 -21
  1521. package/icons/tech/vala.js +1 -57
  1522. package/icons/tech/vercel.js +1 -6
  1523. package/icons/tech/veutify.js +1 -11
  1524. package/icons/tech/vim.js +1 -82
  1525. package/icons/tech/visualstudio.js +1 -12
  1526. package/icons/tech/vite.js +1 -6
  1527. package/icons/tech/vitejs.js +1 -56
  1528. package/icons/tech/vscode.js +1 -114
  1529. package/icons/tech/vsphere.js +1 -25
  1530. package/icons/tech/vue-storefront.js +1 -22
  1531. package/icons/tech/vue.js +1 -16
  1532. package/icons/tech/vyper.js +1 -17
  1533. package/icons/tech/webassembly.js +1 -12
  1534. package/icons/tech/webflow.js +1 -12
  1535. package/icons/tech/weblate.js +1 -80
  1536. package/icons/tech/webpack.js +1 -21
  1537. package/icons/tech/webstorm.js +1 -80
  1538. package/icons/tech/windows11.js +1 -12
  1539. package/icons/tech/windows8.js +1 -12
  1540. package/icons/tech/woo-commerce.js +1 -22
  1541. package/icons/tech/wordpress.js +1 -70
  1542. package/icons/tech/xamarin.js +1 -12
  1543. package/icons/tech/xcode.js +1 -623
  1544. package/icons/tech/xml.js +1 -51
  1545. package/icons/tech/yaml.js +1 -16
  1546. package/icons/tech/yarn.js +1 -9
  1547. package/icons/tech/yii-framework.js +1 -35
  1548. package/icons/tech/yuno-host.js +1 -15
  1549. package/icons/tech/zend-framework.js +1 -14
  1550. package/icons/tech/zig.js +1 -28
  1551. package/package.json +54 -63
  1552. package/react/index.d.mts +2659 -0
  1553. package/react/index.mjs +166 -0
  1554. package/vite-plugin-modules.d.ts +46 -2
  1555. package/__app__/webcomponent/webcomponent.js +0 -74
  1556. package/dist/cli/index.d.ts +0 -1
  1557. package/dist/index.d.ts +0 -102
  1558. package/dist/model/index.d.ts +0 -10
  1559. package/dist/shared/likec4.CdjXfSGc.mjs +0 -3682
  1560. package/dist/shared/likec4.DGrST4wG.d.mts +0 -2064
  1561. package/dist/shared/likec4.DGrST4wG.d.ts +0 -2064
  1562. package/dist/shared/likec4.DQwwl5M9.mjs +0 -354
  1563. package/dist/vite-plugin/index.d.ts +0 -48
  1564. package/react/index.d.ts +0 -853
  1565. package/react/index.js +0 -41671
  1566. package/react/likec4.css +0 -1
@@ -0,0 +1,2659 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ import { CSSProperties, ComponentType, DependencyList, HTMLAttributes, JSX, MouseEvent as ReactMouseEvent, PropsWithChildren, ReactNode, WheelEvent as WheelEvent$1 } from 'react';
4
+
5
+ type Primitive = null | undefined | string | number | boolean | symbol | bigint;
6
+ type UnionToIntersection<Union> = (
7
+ // `extends unknown` is always going to be the case and is used to convert the
8
+ // `Union` into a [distributive conditional
9
+ // type](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#distributive-conditional-types).
10
+ Union extends unknown ? (distributedUnion: Union) => void : never) extends ((mergedIntersection: infer Intersection) => void) ? Intersection & Union : never;
11
+ type Simplify<T> = {
12
+ [KeyType in keyof T]: T[KeyType];
13
+ } & {};
14
+ type LiteralUnion<LiteralType, BaseType extends Primitive> = LiteralType | (BaseType & Record<never, never>);
15
+ declare const tag: unique symbol;
16
+ type TagContainer<Token> = {
17
+ readonly [tag]: Token;
18
+ };
19
+ type Tag<Token extends PropertyKey, TagMetadata> = TagContainer<{
20
+ [K in Token]: TagMetadata;
21
+ }>;
22
+ type Tagged<Type, TagName extends PropertyKey, TagMetadata = never> = Type & Tag<TagName, TagMetadata>;
23
+ type TupleToUnion<ArrayType> = ArrayType extends readonly unknown[] ? ArrayType[number] : never;
24
+ declare const ThemeColors: readonly [
25
+ "amber",
26
+ "blue",
27
+ "gray",
28
+ "slate",
29
+ "green",
30
+ "indigo",
31
+ "muted",
32
+ "primary",
33
+ "red",
34
+ "secondary",
35
+ "sky"
36
+ ];
37
+ type ThemeColor = typeof ThemeColors[number];
38
+ type HexColorLiteral = `#${string}`;
39
+ type ColorLiteral = HexColorLiteral;
40
+ type Color = LiteralUnion<ThemeColor, string>;
41
+ type ShapeSize = "xs" | "sm" | "md" | "lg" | "xl";
42
+ type SpacingSize = "xs" | "sm" | "md" | "lg" | "xl";
43
+ type TextSize = "xs" | "sm" | "md" | "lg" | "xl";
44
+ interface ElementThemeColorValues {
45
+ fill: ColorLiteral;
46
+ stroke: ColorLiteral;
47
+ hiContrast: ColorLiteral;
48
+ loContrast: ColorLiteral;
49
+ }
50
+ interface RelationshipThemeColorValues {
51
+ lineColor: ColorLiteral;
52
+ labelBgColor: ColorLiteral;
53
+ labelColor: ColorLiteral;
54
+ }
55
+ interface ThemeColorValues {
56
+ elements: ElementThemeColorValues;
57
+ relationships: RelationshipThemeColorValues;
58
+ }
59
+ type NonEmptyArray<T> = [
60
+ T,
61
+ ...T[]
62
+ ];
63
+ type IconUrl = Tagged<string, "IconUrl"> | "none";
64
+ type Point = readonly [
65
+ x: number,
66
+ y: number
67
+ ];
68
+ interface XYPoint {
69
+ x: number;
70
+ y: number;
71
+ }
72
+ type AllNever<Expressions> = UnionToIntersection<{
73
+ [Name in keyof Expressions]: {
74
+ -readonly [Key in keyof Expressions[Name]]?: never;
75
+ };
76
+ }[keyof Expressions]>;
77
+ type ExclusiveUnion<Expressions> = Expressions extends object ? {
78
+ [Name in keyof Expressions]: Simplify<Omit<AllNever<Expressions>, keyof Expressions[Name]> & Expressions[Name]>;
79
+ }[keyof Expressions] : Expressions;
80
+ type Fqn<Id extends string = string> = Tagged<Id, "Fqn">;
81
+ declare const BorderStyles: readonly [
82
+ "solid",
83
+ "dashed",
84
+ "dotted",
85
+ "none"
86
+ ];
87
+ type BorderStyle = TupleToUnion<typeof BorderStyles>;
88
+ type ElementKind<Kinds extends string = string> = Tagged<Kinds, "ElementKind">;
89
+ declare namespace ElementKind {
90
+ const Group: ElementKind;
91
+ }
92
+ declare const ElementShapes: readonly [
93
+ "rectangle",
94
+ "person",
95
+ "browser",
96
+ "mobile",
97
+ "cylinder",
98
+ "storage",
99
+ "queue"
100
+ ];
101
+ type ElementShape = TupleToUnion<typeof ElementShapes>;
102
+ interface ElementStyle {
103
+ readonly border?: BorderStyle;
104
+ /**
105
+ * In percentage 0-100, 0 is fully transparent
106
+ *
107
+ * @default 100
108
+ */
109
+ readonly opacity?: number;
110
+ /**
111
+ * If true, the element is rendered as multiple shapes
112
+ * @default false
113
+ */
114
+ readonly multiple?: boolean;
115
+ /**
116
+ * Shape size
117
+ *
118
+ * @default 'md'
119
+ */
120
+ readonly size?: ShapeSize;
121
+ readonly padding?: SpacingSize;
122
+ readonly textSize?: TextSize;
123
+ }
124
+ type Tag$1<Tags extends string = string> = Tagged<Tags, "Tag">;
125
+ interface Link {
126
+ readonly title?: string;
127
+ readonly url: string;
128
+ readonly relative?: string;
129
+ }
130
+ type EqualOperator<V> = {
131
+ eq: V;
132
+ neq?: never;
133
+ } | {
134
+ eq?: never;
135
+ neq: V;
136
+ };
137
+ type AllNever$1 = {
138
+ not?: never;
139
+ and?: never;
140
+ or?: never;
141
+ tag?: never;
142
+ kind?: never;
143
+ participant?: never;
144
+ };
145
+ type TagEqual<Tag> = Omit<AllNever$1, "tag"> & {
146
+ tag: EqualOperator<Tag>;
147
+ };
148
+ type KindEqual<Kind> = Omit<AllNever$1, "kind"> & {
149
+ kind: EqualOperator<Kind>;
150
+ };
151
+ type Participant = "source" | "target";
152
+ type ParticipantOperator<Tag, Kind> = Omit<AllNever$1, "participant"> & {
153
+ participant: Participant;
154
+ operator: KindEqual<Kind> | TagEqual<Tag>;
155
+ };
156
+ type NotOperator<Tag, Kind> = Omit<AllNever$1, "not"> & {
157
+ not: WhereOperator<Tag, Kind>;
158
+ };
159
+ type AndOperator<Tag, Kind> = Omit<AllNever$1, "and"> & {
160
+ and: NonEmptyArray<WhereOperator<Tag, Kind>>;
161
+ };
162
+ type OrOperator<Tag, Kind> = Omit<AllNever$1, "or"> & {
163
+ or: NonEmptyArray<WhereOperator<Tag, Kind>>;
164
+ };
165
+ type WhereOperator<Tag, Kind> = TagEqual<Tag> | KindEqual<Kind> | ParticipantOperator<Tag, Kind> | NotOperator<Tag, Kind> | AndOperator<Tag, Kind> | OrOperator<Tag, Kind>;
166
+ interface BaseExpr {
167
+ where?: never;
168
+ element?: never;
169
+ custom?: never;
170
+ expanded?: never;
171
+ elementKind?: never;
172
+ elementTag?: never;
173
+ isEqual?: never;
174
+ isChildren?: never;
175
+ isDescendants?: never;
176
+ wildcard?: never;
177
+ source?: never;
178
+ target?: never;
179
+ inout?: never;
180
+ incoming?: never;
181
+ outgoing?: never;
182
+ customRelation?: never;
183
+ }
184
+ interface ElementRefExpr extends Omit<BaseExpr, "element" | "isChildren" | "isDescendants"> {
185
+ element: Fqn;
186
+ isChildren?: boolean;
187
+ isDescendants?: boolean;
188
+ }
189
+ interface ExpandedElementExpr extends Omit<BaseExpr, "expanded"> {
190
+ expanded: Fqn;
191
+ }
192
+ interface CustomElementExpr extends Omit<BaseExpr, "custom"> {
193
+ custom: {
194
+ expr: ElementExpression | ElementWhereExpr;
195
+ title?: string;
196
+ description?: string;
197
+ technology?: string;
198
+ notation?: string;
199
+ shape?: ElementShape;
200
+ color?: Color;
201
+ icon?: IconUrl;
202
+ border?: BorderStyle;
203
+ opacity?: number;
204
+ navigateTo?: ViewId;
205
+ multiple?: boolean;
206
+ size?: ShapeSize;
207
+ padding?: ShapeSize;
208
+ textSize?: ShapeSize;
209
+ };
210
+ }
211
+ interface WildcardExpr extends Omit<BaseExpr, "wildcard"> {
212
+ wildcard: true;
213
+ }
214
+ interface ElementKindExpr extends Omit<BaseExpr, "elementKind" | "isEqual"> {
215
+ elementKind: ElementKind;
216
+ isEqual: boolean;
217
+ }
218
+ interface ElementTagExpr extends Omit<BaseExpr, "elementTag" | "isEqual"> {
219
+ elementTag: Tag$1;
220
+ isEqual: boolean;
221
+ }
222
+ type NonWilcard = ElementRefExpr | ElementKindExpr | ElementTagExpr | ExpandedElementExpr;
223
+ type ElementExpression = NonWilcard | WildcardExpr;
224
+ interface ElementWhereExpr extends Omit<BaseExpr, "where"> {
225
+ where: {
226
+ expr: ElementExpression;
227
+ condition: WhereOperator<string, string>;
228
+ };
229
+ }
230
+ type ElementPredicateExpression = ElementExpression | ElementWhereExpr | CustomElementExpr;
231
+ interface DirectRelationExpr extends Omit<BaseExpr, "source" | "target"> {
232
+ source: ElementExpression;
233
+ target: ElementExpression;
234
+ isBidirectional?: boolean;
235
+ }
236
+ interface InOutExpr extends Omit<BaseExpr, "inout"> {
237
+ inout: ElementExpression;
238
+ }
239
+ interface IncomingExpr extends Omit<BaseExpr, "incoming"> {
240
+ incoming: ElementExpression;
241
+ }
242
+ interface OutgoingExpr extends Omit<BaseExpr, "outgoing"> {
243
+ outgoing: ElementExpression;
244
+ }
245
+ type RelationExpression = DirectRelationExpr | InOutExpr | IncomingExpr | OutgoingExpr;
246
+ interface RelationWhereExpr extends Omit<BaseExpr, "where"> {
247
+ where: {
248
+ expr: RelationExpression;
249
+ condition: WhereOperator<string, string>;
250
+ };
251
+ }
252
+ interface CustomRelationExpr extends Omit<BaseExpr, "customRelation"> {
253
+ customRelation: {
254
+ relation: RelationExpression | RelationWhereExpr;
255
+ title?: string;
256
+ description?: string;
257
+ technology?: string;
258
+ notation?: string;
259
+ navigateTo?: ViewId;
260
+ notes?: string;
261
+ color?: Color;
262
+ line?: RelationshipLineType;
263
+ head?: RelationshipArrowType;
264
+ tail?: RelationshipArrowType;
265
+ };
266
+ }
267
+ type RelationPredicateExpression = RelationExpression | RelationWhereExpr | CustomRelationExpr;
268
+ type Expression = ElementPredicateExpression | RelationPredicateExpression;
269
+ declare namespace FqnRef {
270
+ /**
271
+ * Represents a reference to an instance within a deployment.
272
+ *
273
+ * @template D - The type representing the deployment fqn. Defaults to `Fqn`.
274
+ * @template M - The type representing the model fqn. Defaults to `Fqn`.
275
+ *
276
+ * @property {D} deployment - TThe fully qualified name (FQN) of the deployed instance.
277
+ * @property {M} element - The element reference within the deployment.
278
+ */
279
+ type InsideInstanceRef<D = Fqn, M = Fqn> = {
280
+ deployment: D;
281
+ element: M;
282
+ };
283
+ const isInsideInstanceRef: (ref: FqnRef) => ref is InsideInstanceRef;
284
+ /**
285
+ * Represents a reference to a deployment element.
286
+ *
287
+ * @template F - The type of the fully qualified name (FQN) of the deployment element. Defaults to `Fqn`.
288
+ * @property {F} deployment - The fully qualified name (FQN) of the deployment element.
289
+ */
290
+ type DeploymentElementRef<F = Fqn> = {
291
+ deployment: F;
292
+ };
293
+ const isDeploymentElementRef: (ref: FqnRef) => ref is DeploymentElementRef;
294
+ type DeploymentRef<D = Fqn, M = Fqn> = DeploymentElementRef<D> | InsideInstanceRef<D, M>;
295
+ const isDeploymentRef: (ref: FqnRef) => ref is DeploymentRef;
296
+ /**
297
+ * Reference to logical model element
298
+ */
299
+ type ModelRef<F = Fqn> = {
300
+ model: F;
301
+ };
302
+ const isModelRef: (ref: FqnRef) => ref is ModelRef;
303
+ const toDeploymentRef: (ref: FqnRef) => DeploymentRef;
304
+ }
305
+ type FqnRef<D = Fqn, M = Fqn> = ExclusiveUnion<{
306
+ InsideInstanceRef: FqnRef.InsideInstanceRef<D, M>;
307
+ DeploymentRef: FqnRef.DeploymentRef<D>;
308
+ ModelRef: FqnRef.ModelRef<M>;
309
+ }>;
310
+ declare namespace FqnExpr {
311
+ type Wildcard = {
312
+ wildcard: true;
313
+ };
314
+ const isWildcard: (expr: ExpressionV2) => expr is Wildcard;
315
+ type ModelRef<M = Fqn> = {
316
+ ref: FqnRef.ModelRef<M>;
317
+ selector?: PredicateSelector;
318
+ };
319
+ const isModelRef: (ref: ExpressionV2) => ref is ModelRef;
320
+ type DeploymentRef<D = Fqn, M = Fqn> = {
321
+ ref: FqnRef.DeploymentRef<D> | FqnRef.InsideInstanceRef<D, M>;
322
+ selector?: PredicateSelector;
323
+ };
324
+ const isDeploymentRef: (ref: ExpressionV2) => ref is FqnExpr.DeploymentRef;
325
+ type NonWildcard<D = Fqn, M = Fqn> = ExclusiveUnion<{
326
+ ModelRef: ModelRef<M>;
327
+ DeploymentRef: DeploymentRef<D, M>;
328
+ }>;
329
+ }
330
+ type FqnExpr<D = Fqn, M = Fqn> = ExclusiveUnion<{
331
+ Wildcard: FqnExpr.Wildcard;
332
+ ModelRef: FqnExpr.ModelRef<M>;
333
+ DeploymentRef: FqnExpr.DeploymentRef<D, M>;
334
+ }>;
335
+ declare namespace RelationExpr {
336
+ type Direct<D = Fqn, M = Fqn> = {
337
+ source: FqnExpr<D, M>;
338
+ target: FqnExpr<D, M>;
339
+ isBidirectional?: boolean;
340
+ };
341
+ const isDirect: (expr: ExpressionV2) => expr is Direct;
342
+ type Incoming<D = Fqn, M = Fqn> = {
343
+ incoming: FqnExpr<D, M>;
344
+ };
345
+ const isIncoming: (expr: ExpressionV2) => expr is Incoming;
346
+ type Outgoing<D = Fqn, M = Fqn> = {
347
+ outgoing: FqnExpr<D, M>;
348
+ };
349
+ const isOutgoing: (expr: ExpressionV2) => expr is Outgoing;
350
+ type InOut<D = Fqn, M = Fqn> = {
351
+ inout: FqnExpr<D, M>;
352
+ };
353
+ const isInOut: (expr: ExpressionV2) => expr is InOut;
354
+ type Where<D = Fqn, M = Fqn> = {
355
+ where: {
356
+ expr: ExpressionV2<D, M>;
357
+ condition: WhereOperator<string, string>;
358
+ };
359
+ };
360
+ const isWhere: (expr: ExpressionV2) => expr is Where;
361
+ }
362
+ type RelationExpr<D = Fqn, M = Fqn> = ExclusiveUnion<{
363
+ Direct: RelationExpr.Direct<D, M>;
364
+ Incoming: RelationExpr.Incoming<D, M>;
365
+ Outgoing: RelationExpr.Outgoing<D, M>;
366
+ InOut: RelationExpr.InOut<D, M>;
367
+ Where: RelationExpr.Where<D, M>;
368
+ }>;
369
+ type ExpressionV2<D = Fqn, M = Fqn> = ExclusiveUnion<{
370
+ Wildcard: FqnExpr.Wildcard;
371
+ ModelRef: FqnExpr.ModelRef<M>;
372
+ DeploymentRef: FqnExpr.DeploymentRef<D, M>;
373
+ Direct: RelationExpr.Direct<D, M>;
374
+ Incoming: RelationExpr.Incoming<D, M>;
375
+ Outgoing: RelationExpr.Outgoing<D, M>;
376
+ InOut: RelationExpr.InOut<D, M>;
377
+ RelationPredicateOrWhere: RelationExpr.Where<D, M>;
378
+ }>;
379
+ declare namespace ExpressionV2 {
380
+ const isFqnExpr: (expr: ExpressionV2) => expr is FqnExpr;
381
+ const isRelation: (expr: ExpressionV2) => expr is RelationExpr;
382
+ }
383
+ type GlobalPredicateId = Tagged<string, "GlobalPredicateId">;
384
+ type GlobalStyleID = Tagged<string, "GlobalStyleID">;
385
+ type ElementNotation = {
386
+ kinds: string[];
387
+ shape: ElementShape;
388
+ color: Color;
389
+ title: string;
390
+ };
391
+ type ViewId<Id extends string = string> = Tagged<Id, "ViewID">;
392
+ type ViewRulePredicate = {
393
+ include: Expression[];
394
+ exclude?: never;
395
+ } | {
396
+ include?: never;
397
+ exclude: Expression[];
398
+ };
399
+ interface ViewRuleGlobalPredicateRef {
400
+ predicateId: GlobalPredicateId;
401
+ }
402
+ interface ViewRuleStyle {
403
+ targets: ElementExpression[];
404
+ notation?: string;
405
+ style: ElementStyle & {
406
+ color?: Color;
407
+ shape?: ElementShape;
408
+ icon?: IconUrl;
409
+ };
410
+ }
411
+ interface ViewRuleGlobalStyle {
412
+ styleId: GlobalStyleID;
413
+ }
414
+ type AutoLayoutDirection = "TB" | "BT" | "LR" | "RL";
415
+ interface ViewRuleAutoLayout {
416
+ direction: AutoLayoutDirection;
417
+ nodeSep?: number;
418
+ rankSep?: number;
419
+ }
420
+ interface ViewRuleGroup {
421
+ groupRules: Array<ViewRulePredicate | ViewRuleGroup>;
422
+ title: string | null;
423
+ color?: Color;
424
+ border?: BorderStyle;
425
+ opacity?: number;
426
+ multiple?: boolean;
427
+ size?: ShapeSize;
428
+ padding?: SpacingSize;
429
+ textSize?: TextSize;
430
+ }
431
+ type ViewRule = ViewRulePredicate | ViewRuleGlobalPredicateRef | ViewRuleGroup | ViewRuleStyle | ViewRuleGlobalStyle | ViewRuleAutoLayout;
432
+ interface BasicView<ViewType extends "element" | "dynamic" | "deployment", ViewIDs extends string, Tags extends string> {
433
+ readonly __?: ViewType;
434
+ readonly id: ViewId<ViewIDs>;
435
+ readonly title: string | null;
436
+ readonly description: string | null;
437
+ readonly tags: NonEmptyArray<Tag$1<Tags>> | null;
438
+ readonly links: NonEmptyArray<Link> | null;
439
+ /**
440
+ * URI to the source file of this view.
441
+ * Undefined if the view is auto-generated.
442
+ */
443
+ readonly docUri?: string;
444
+ /**
445
+ * For all views we find common ancestor path.
446
+ * This is used to generate relative paths, i.e.:
447
+ * - "/home/project/index.c4" becomes "index.c4"
448
+ * - "/home/project/subdir/views.c4" becomes "subdir/views.c4"
449
+ *
450
+ * Undefined if the view is auto-generated.
451
+ */
452
+ readonly relativePath?: string;
453
+ /**
454
+ * If the view is changed manually this field contains the layout data.
455
+ */
456
+ readonly manualLayout?: ViewManualLayout | undefined;
457
+ readonly customColorDefinitions: CustomColorDefinitions;
458
+ }
459
+ interface BasicElementView<ViewIDs extends string, Tags extends string> extends BasicView<"element", ViewIDs, Tags> {
460
+ readonly viewOf?: Fqn;
461
+ readonly rules: ViewRule[];
462
+ }
463
+ interface ScopedElementView<ViewIDs extends string, Tags extends string> extends BasicElementView<ViewIDs, Tags> {
464
+ readonly viewOf: Fqn;
465
+ }
466
+ interface ExtendsElementView<ViewIDs extends string, Tags extends string> extends BasicElementView<ViewIDs, Tags> {
467
+ readonly extends: ViewId<ViewIDs>;
468
+ }
469
+ type ElementView<ViewIDs extends string = string, Tags extends string = string> = ScopedElementView<ViewIDs, Tags> | ExtendsElementView<ViewIDs, Tags> | BasicElementView<ViewIDs, Tags>;
470
+ interface DynamicViewStep {
471
+ readonly source: Fqn;
472
+ readonly target: Fqn;
473
+ readonly title: string | null;
474
+ readonly description?: string;
475
+ readonly technology?: string;
476
+ readonly notation?: string;
477
+ readonly notes?: string;
478
+ readonly color?: Color;
479
+ readonly line?: RelationshipLineType;
480
+ readonly head?: RelationshipArrowType;
481
+ readonly tail?: RelationshipArrowType;
482
+ readonly isBackward?: boolean;
483
+ readonly navigateTo?: ViewId;
484
+ __parallel?: never;
485
+ }
486
+ interface DynamicViewParallelSteps {
487
+ readonly __parallel: DynamicViewStep[];
488
+ }
489
+ type DynamicViewStepOrParallel = DynamicViewStep | DynamicViewParallelSteps;
490
+ type DynamicViewIncludeRule = {
491
+ include: ElementPredicateExpression[];
492
+ };
493
+ type DynamicViewRule = DynamicViewIncludeRule | ViewRuleGlobalPredicateRef | ViewRuleStyle | ViewRuleGlobalStyle | ViewRuleAutoLayout;
494
+ interface DynamicView<ViewIDs extends string = string, Tags extends string = string> extends BasicView<"dynamic", ViewIDs, Tags> {
495
+ readonly __: "dynamic";
496
+ readonly steps: DynamicViewStepOrParallel[];
497
+ readonly rules: DynamicViewRule[];
498
+ }
499
+ type CustomColorDefinitions = {
500
+ [key: string]: ThemeColorValues;
501
+ };
502
+ type DeploymentViewRulePredicate = {
503
+ include: ExpressionV2[];
504
+ exclude?: never;
505
+ } | {
506
+ include?: never;
507
+ exclude: ExpressionV2[];
508
+ };
509
+ type DeploymentViewRuleStyle = {
510
+ targets: FqnExpr[];
511
+ notation?: string;
512
+ style: ElementStyle & {
513
+ color?: Color;
514
+ shape?: ElementShape;
515
+ icon?: IconUrl;
516
+ };
517
+ };
518
+ type DeploymentViewRule = DeploymentViewRulePredicate | ViewRuleAutoLayout | DeploymentViewRuleStyle;
519
+ interface DeploymentView<ViewIDs extends string = string, Tags extends string = string> extends BasicView<"deployment", ViewIDs, Tags> {
520
+ readonly __: "deployment";
521
+ readonly rules: DeploymentViewRule[];
522
+ }
523
+ type NodeId<IDs extends string = string> = Tagged<IDs, "Fqn">;
524
+ type EdgeId = Tagged<string, "EdgeId">;
525
+ interface ComputedNode {
526
+ id: NodeId;
527
+ kind: string;
528
+ parent: NodeId | null;
529
+ /**
530
+ * Reference to model element
531
+ * If 1 - node id is a reference
532
+ */
533
+ modelRef?: 1 | Fqn;
534
+ /**
535
+ * Reference to deployment element
536
+ * If 1 - node id is a reference
537
+ */
538
+ deploymentRef?: 1 | Fqn;
539
+ title: string;
540
+ description: string | null;
541
+ technology: string | null;
542
+ notation?: string;
543
+ tags: NonEmptyArray<Tag$1> | null;
544
+ links: NonEmptyArray<Link> | null;
545
+ children: NodeId[];
546
+ inEdges: EdgeId[];
547
+ outEdges: EdgeId[];
548
+ shape: ElementShape;
549
+ color: Color;
550
+ /**
551
+ * @deprecated Use `style` instead
552
+ */
553
+ icon?: IconUrl;
554
+ style: ElementStyle;
555
+ navigateTo?: ViewId | null;
556
+ level: number;
557
+ depth?: number;
558
+ /**
559
+ * If this node was customized in the view
560
+ */
561
+ isCustomized?: boolean;
562
+ }
563
+ declare namespace ComputedNode {
564
+ function modelRef(node: ComputedNode): Fqn | null;
565
+ function deploymentRef(node: ComputedNode): Fqn | null;
566
+ /**
567
+ * Nodes group is a special kind of node, exisiting only in view
568
+ */
569
+ function isNodesGroup(node: ComputedNode): boolean;
570
+ }
571
+ interface ComputedEdge {
572
+ id: EdgeId;
573
+ parent: NodeId | null;
574
+ source: NodeId;
575
+ target: NodeId;
576
+ label: string | null;
577
+ description?: string;
578
+ technology?: string;
579
+ relations: RelationId[];
580
+ kind?: RelationshipKind;
581
+ notation?: string;
582
+ notes?: string;
583
+ color?: Color;
584
+ line?: RelationshipLineType;
585
+ head?: RelationshipArrowType;
586
+ tail?: RelationshipArrowType;
587
+ tags?: NonEmptyArray<Tag$1>;
588
+ navigateTo?: ViewId;
589
+ /**
590
+ * If this edge is derived from custom relationship predicate
591
+ */
592
+ isCustomized?: boolean;
593
+ /**
594
+ * For layouting purposes
595
+ * @default 'forward'
596
+ */
597
+ dir?: "forward" | "back" | "both";
598
+ }
599
+ interface ViewWithHash {
600
+ /**
601
+ * Hash of the view object.
602
+ * This is used to detect changes in layout
603
+ */
604
+ hash: string;
605
+ }
606
+ interface ViewWithNotation {
607
+ notation?: {
608
+ elements: ElementNotation[];
609
+ };
610
+ }
611
+ interface ViewAutoLayout {
612
+ direction: ViewRuleAutoLayout["direction"];
613
+ rankSep?: number;
614
+ nodeSep?: number;
615
+ }
616
+ interface ComputedElementView<ViewIDs extends string = string, Tags extends string = string> extends Omit<ElementView<ViewIDs, Tags>, "rules" | "docUri">, ViewWithHash, ViewWithNotation {
617
+ readonly extends?: ViewId<ViewIDs>;
618
+ readonly autoLayout: ViewAutoLayout;
619
+ readonly nodes: ComputedNode[];
620
+ readonly edges: ComputedEdge[];
621
+ rules?: never;
622
+ docUri?: never;
623
+ }
624
+ interface ComputedDynamicView<ViewIDs extends string = string, Tags extends string = string> extends Omit<DynamicView<ViewIDs, Tags>, "rules" | "steps" | "docUri">, ViewWithHash, ViewWithNotation {
625
+ readonly autoLayout: ViewAutoLayout;
626
+ readonly nodes: ComputedNode[];
627
+ readonly edges: ComputedEdge[];
628
+ steps?: never;
629
+ rules?: never;
630
+ docUri?: never;
631
+ }
632
+ interface ComputedDeploymentView<ViewIDs extends string = string, Tags extends string = string> extends Omit<DeploymentView<ViewIDs, Tags>, "rules" | "docUri">, ViewWithHash, ViewWithNotation {
633
+ readonly autoLayout: ViewAutoLayout;
634
+ readonly nodes: ComputedNode[];
635
+ readonly edges: ComputedEdge[];
636
+ rules?: never;
637
+ docUri?: never;
638
+ }
639
+ type ComputedView<ViewIDs extends string = string, Tags extends string = string> = ComputedElementView<ViewIDs, Tags> | ComputedDynamicView<ViewIDs, Tags> | ComputedDeploymentView<ViewIDs, Tags>;
640
+ declare namespace ComputedView {
641
+ function isDeployment(view: ComputedView): view is ComputedDeploymentView;
642
+ function isDynamic(view: ComputedView): view is ComputedDynamicView;
643
+ function isElement(view: ComputedView): view is ComputedElementView;
644
+ }
645
+ type BBox = {
646
+ x: number;
647
+ y: number;
648
+ width: number;
649
+ height: number;
650
+ };
651
+ interface DiagramNode extends ComputedNode {
652
+ width: number;
653
+ height: number;
654
+ position: Point;
655
+ labelBBox: BBox;
656
+ }
657
+ declare namespace DiagramNode {
658
+ function modelRef(node: DiagramNode): Fqn | null;
659
+ function deploymentRef(node: DiagramNode): Fqn | null;
660
+ /**
661
+ * Nodes group is a special kind of node, exisiting only in view
662
+ */
663
+ function isNodesGroup(node: DiagramNode): boolean;
664
+ }
665
+ interface DiagramEdge extends ComputedEdge {
666
+ points: NonEmptyArray<Point>;
667
+ controlPoints?: NonEmptyArray<XYPoint>;
668
+ labelBBox?: BBox | null;
669
+ dotpos?: string;
670
+ }
671
+ interface DiagramView<ViewIDs extends string = string, Tags extends string = string> extends Omit<ComputedView<ViewIDs, Tags>, "nodes" | "edges" | "manualLayout"> {
672
+ readonly nodes: DiagramNode[];
673
+ readonly edges: DiagramEdge[];
674
+ readonly bounds: BBox;
675
+ /**
676
+ * If diagram has manual layout
677
+ * But was changed and layout should be recalculated
678
+ */
679
+ hasLayoutDrift?: boolean;
680
+ manualLayout?: never;
681
+ }
682
+ type ViewManualLayout = {
683
+ readonly hash: string;
684
+ readonly x: number;
685
+ readonly y: number;
686
+ readonly width: number;
687
+ readonly height: number;
688
+ readonly autoLayout: ViewAutoLayout;
689
+ readonly nodes: Record<string, {
690
+ isCompound: boolean;
691
+ x: number;
692
+ y: number;
693
+ width: number;
694
+ height: number;
695
+ }>;
696
+ readonly edges: Record<string, {
697
+ dotpos?: string;
698
+ points: NonEmptyArray<Point>;
699
+ controlPoints?: NonEmptyArray<XYPoint>;
700
+ labelBBox?: BBox;
701
+ }>;
702
+ };
703
+ type RelationId = Tagged<string, "RelationID">;
704
+ type RelationshipKind<Kinds extends string = string> = Tagged<Kinds, "RelationshipKind">;
705
+ type RelationshipLineType = "dashed" | "solid" | "dotted";
706
+ type RelationshipArrowType = "none" | "normal" | "onormal" | "dot" | "odot" | "diamond" | "odiamond" | "crow" | "open" | "vee";
707
+ type PredicateSelector = "children" | "expanded" | "descendants";
708
+ declare namespace ViewChange {
709
+ interface ChangeElementStyle {
710
+ op: "change-element-style";
711
+ style: {
712
+ border?: BorderStyle;
713
+ opacity?: number;
714
+ shape?: ElementShape;
715
+ color?: ThemeColor;
716
+ };
717
+ targets: NonEmptyArray<Fqn>;
718
+ }
719
+ interface SaveManualLayout {
720
+ op: "save-manual-layout";
721
+ layout: ViewManualLayout;
722
+ }
723
+ interface ChangeAutoLayout {
724
+ op: "change-autolayout";
725
+ layout: {
726
+ direction: AutoLayoutDirection;
727
+ nodeSep?: number | null;
728
+ rankSep?: number | null;
729
+ };
730
+ }
731
+ }
732
+ type ViewChange = ViewChange.ChangeElementStyle | ViewChange.SaveManualLayout | ViewChange.ChangeAutoLayout;
733
+ type NodeDimensionChange = {
734
+ id: string;
735
+ type: "dimensions";
736
+ dimensions?: Dimensions;
737
+ resizing?: boolean;
738
+ setAttributes?: boolean;
739
+ };
740
+ type NodePositionChange = {
741
+ id: string;
742
+ type: "position";
743
+ position?: XYPosition;
744
+ positionAbsolute?: XYPosition;
745
+ dragging?: boolean;
746
+ };
747
+ type NodeSelectionChange = {
748
+ id: string;
749
+ type: "select";
750
+ selected: boolean;
751
+ };
752
+ type NodeRemoveChange = {
753
+ id: string;
754
+ type: "remove";
755
+ };
756
+ type NodeAddChange<NodeType extends NodeBase = NodeBase> = {
757
+ item: NodeType;
758
+ type: "add";
759
+ index?: number;
760
+ };
761
+ type NodeReplaceChange<NodeType extends NodeBase = NodeBase> = {
762
+ id: string;
763
+ item: NodeType;
764
+ type: "replace";
765
+ };
766
+ type NodeChange<NodeType extends NodeBase = NodeBase> = NodeDimensionChange | NodePositionChange | NodeSelectionChange | NodeRemoveChange | NodeAddChange<NodeType> | NodeReplaceChange<NodeType>;
767
+ type EdgeSelectionChange = NodeSelectionChange;
768
+ type EdgeRemoveChange = NodeRemoveChange;
769
+ type EdgeAddChange<EdgeType extends EdgeBase = EdgeBase> = {
770
+ item: EdgeType;
771
+ type: "add";
772
+ index?: number;
773
+ };
774
+ type EdgeReplaceChange<EdgeType extends EdgeBase = EdgeBase> = {
775
+ id: string;
776
+ item: EdgeType;
777
+ type: "replace";
778
+ };
779
+ type EdgeChange<EdgeType extends EdgeBase = EdgeBase> = EdgeSelectionChange | EdgeRemoveChange | EdgeAddChange<EdgeType> | EdgeReplaceChange<EdgeType>;
780
+ declare enum Position {
781
+ Left = "left",
782
+ Top = "top",
783
+ Right = "right",
784
+ Bottom = "bottom"
785
+ }
786
+ type XYPosition = {
787
+ x: number;
788
+ y: number;
789
+ };
790
+ type Dimensions = {
791
+ width: number;
792
+ height: number;
793
+ };
794
+ type Rect = Dimensions & XYPosition;
795
+ type CoordinateExtent = [
796
+ [
797
+ number,
798
+ number
799
+ ],
800
+ [
801
+ number,
802
+ number
803
+ ]
804
+ ];
805
+ type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
806
+ type NodeBase<NodeData extends Record<string, unknown> = Record<string, unknown>, NodeType extends string = string> = {
807
+ /** Unique id of a node */
808
+ id: string;
809
+ /**
810
+ * Position of a node on the pane
811
+ * @example { x: 0, y: 0 }
812
+ */
813
+ position: XYPosition;
814
+ /** Arbitrary data passed to a node */
815
+ data: NodeData;
816
+ /** Type of node defined in nodeTypes */
817
+ type?: NodeType;
818
+ /**
819
+ * Only relevant for default, source, target nodeType. controls source position
820
+ * @example 'right', 'left', 'top', 'bottom'
821
+ */
822
+ sourcePosition?: Position;
823
+ /**
824
+ * Only relevant for default, source, target nodeType. controls target position
825
+ * @example 'right', 'left', 'top', 'bottom'
826
+ */
827
+ targetPosition?: Position;
828
+ hidden?: boolean;
829
+ selected?: boolean;
830
+ /** True, if node is being dragged */
831
+ dragging?: boolean;
832
+ draggable?: boolean;
833
+ selectable?: boolean;
834
+ connectable?: boolean;
835
+ deletable?: boolean;
836
+ dragHandle?: string;
837
+ width?: number;
838
+ height?: number;
839
+ initialWidth?: number;
840
+ initialHeight?: number;
841
+ /** Parent node id, used for creating sub-flows */
842
+ parentId?: string;
843
+ zIndex?: number;
844
+ /**
845
+ * Boundary a node can be moved in
846
+ * @example 'parent' or [[0, 0], [100, 100]]
847
+ */
848
+ extent?: "parent" | CoordinateExtent;
849
+ expandParent?: boolean;
850
+ ariaLabel?: string;
851
+ /**
852
+ * Origin of the node relative to it's position
853
+ * @example
854
+ * [0.5, 0.5] // centers the node
855
+ * [0, 0] // top left
856
+ * [1, 1] // bottom right
857
+ */
858
+ origin?: NodeOrigin;
859
+ handles?: NodeHandle[];
860
+ measured?: {
861
+ width?: number;
862
+ height?: number;
863
+ };
864
+ };
865
+ type InternalNodeBase<NodeType extends NodeBase = NodeBase> = NodeType & {
866
+ measured: {
867
+ width?: number;
868
+ height?: number;
869
+ };
870
+ internals: {
871
+ positionAbsolute: XYPosition;
872
+ z: number;
873
+ /**
874
+ * Holds a reference to the original node object provided by the user.
875
+ * Used as an optimization to avoid certain operations.
876
+ */
877
+ userNode: NodeType;
878
+ handleBounds?: NodeHandleBounds;
879
+ bounds?: NodeBounds;
880
+ };
881
+ };
882
+ type NodeProps<NodeType extends NodeBase> = Pick<NodeType, "id" | "data" | "width" | "height" | "sourcePosition" | "targetPosition" | "dragHandle" | "parentId"> & Required<Pick<NodeType, "type" | "dragging" | "zIndex" | "selectable" | "deletable" | "selected" | "draggable">> & {
883
+ /** whether a node is connectable or not */
884
+ isConnectable: boolean;
885
+ /** position absolute x value */
886
+ positionAbsoluteX: number;
887
+ /** position absolute x value */
888
+ positionAbsoluteY: number;
889
+ };
890
+ type NodeHandleBounds = {
891
+ source: Handle[] | null;
892
+ target: Handle[] | null;
893
+ };
894
+ type NodeBounds = XYPosition & {
895
+ width: number | null;
896
+ height: number | null;
897
+ };
898
+ type NodeOrigin = [
899
+ number,
900
+ number
901
+ ];
902
+ type NodeHandle = Omit<Optional<Handle, "width" | "height">, "nodeId">;
903
+ type HandleType = "source" | "target";
904
+ type Handle = {
905
+ id?: string | null;
906
+ nodeId: string;
907
+ x: number;
908
+ y: number;
909
+ position: Position;
910
+ type: HandleType;
911
+ width: number;
912
+ height: number;
913
+ };
914
+ type OnMove = (event: MouseEvent | TouchEvent | null, viewport: Viewport) => void;
915
+ type OnMoveStart = OnMove;
916
+ type OnMoveEnd = OnMove;
917
+ type ZoomInOut = (options?: ViewportHelperFunctionOptions) => Promise<boolean>;
918
+ type ZoomTo = (zoomLevel: number, options?: ViewportHelperFunctionOptions) => Promise<boolean>;
919
+ type GetZoom = () => number;
920
+ type GetViewport = () => Viewport;
921
+ type SetViewport = (viewport: Viewport, options?: ViewportHelperFunctionOptions) => Promise<boolean>;
922
+ type SetCenter = (x: number, y: number, options?: SetCenterOptions) => Promise<boolean>;
923
+ type FitBounds = (bounds: Rect, options?: FitBoundsOptions) => Promise<boolean>;
924
+ type Connection = {
925
+ source: string;
926
+ target: string;
927
+ sourceHandle: string | null;
928
+ targetHandle: string | null;
929
+ };
930
+ type HandleConnection = Connection & {
931
+ edgeId: string;
932
+ };
933
+ type NodeConnection = Connection & {
934
+ edgeId: string;
935
+ };
936
+ declare enum ConnectionMode {
937
+ Strict = "strict",
938
+ Loose = "loose"
939
+ }
940
+ type OnConnectStartParams = {
941
+ nodeId: string | null;
942
+ handleId: string | null;
943
+ handleType: HandleType | null;
944
+ };
945
+ type OnConnectStart = (event: MouseEvent | TouchEvent, params: OnConnectStartParams) => void;
946
+ type OnConnect = (connection: Connection) => void;
947
+ type OnConnectEnd = (event: MouseEvent | TouchEvent, connectionState: FinalConnectionState) => void;
948
+ type FitViewOptionsBase<NodeType extends NodeBase = NodeBase> = {
949
+ padding?: number;
950
+ includeHiddenNodes?: boolean;
951
+ minZoom?: number;
952
+ maxZoom?: number;
953
+ duration?: number;
954
+ nodes?: (NodeType | {
955
+ id: string;
956
+ })[];
957
+ };
958
+ type Viewport = {
959
+ x: number;
960
+ y: number;
961
+ zoom: number;
962
+ };
963
+ type KeyCode = string | Array<string>;
964
+ type SnapGrid = [
965
+ number,
966
+ number
967
+ ];
968
+ declare enum PanOnScrollMode {
969
+ Free = "free",
970
+ Vertical = "vertical",
971
+ Horizontal = "horizontal"
972
+ }
973
+ type ViewportHelperFunctionOptions = {
974
+ duration?: number;
975
+ };
976
+ type SetCenterOptions = ViewportHelperFunctionOptions & {
977
+ zoom?: number;
978
+ };
979
+ type FitBoundsOptions = ViewportHelperFunctionOptions & {
980
+ padding?: number;
981
+ };
982
+ type PanelPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
983
+ type ProOptions = {
984
+ account?: string;
985
+ hideAttribution: boolean;
986
+ };
987
+ declare enum SelectionMode$1 {
988
+ Partial = "partial",
989
+ Full = "full"
990
+ }
991
+ type OnError = (id: string, message: string) => void;
992
+ type NoConnection = {
993
+ inProgress: false;
994
+ isValid: null;
995
+ from: null;
996
+ fromHandle: null;
997
+ fromPosition: null;
998
+ fromNode: null;
999
+ to: null;
1000
+ toHandle: null;
1001
+ toPosition: null;
1002
+ toNode: null;
1003
+ };
1004
+ type ConnectionInProgress<NodeType extends InternalNodeBase = InternalNodeBase> = {
1005
+ inProgress: true;
1006
+ isValid: boolean | null;
1007
+ from: XYPosition;
1008
+ fromHandle: Handle;
1009
+ fromPosition: Position;
1010
+ fromNode: NodeType;
1011
+ to: XYPosition;
1012
+ toHandle: Handle | null;
1013
+ toPosition: Position;
1014
+ toNode: NodeType | null;
1015
+ };
1016
+ type ConnectionState<NodeType extends InternalNodeBase = InternalNodeBase> = ConnectionInProgress<NodeType> | NoConnection;
1017
+ type FinalConnectionState<NodeType extends InternalNodeBase = InternalNodeBase> = Omit<ConnectionState<NodeType>, "inProgress">;
1018
+ type ColorModeClass = "light" | "dark";
1019
+ type ColorMode = ColorModeClass | "system";
1020
+ type OnBeforeDeleteBase<NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase> = ({ nodes, edges, }: {
1021
+ nodes: NodeType[];
1022
+ edges: EdgeType[];
1023
+ }) => Promise<boolean | {
1024
+ nodes: NodeType[];
1025
+ edges: EdgeType[];
1026
+ }>;
1027
+ type EdgeBase<EdgeData extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string | undefined = string | undefined> = {
1028
+ /** Unique id of an edge */
1029
+ id: string;
1030
+ /** Type of an edge defined in edgeTypes */
1031
+ type?: EdgeType;
1032
+ /** Id of source node */
1033
+ source: string;
1034
+ /** Id of target node */
1035
+ target: string;
1036
+ /**
1037
+ * Id of source handle
1038
+ * only needed if there are multiple handles per node
1039
+ */
1040
+ sourceHandle?: string | null;
1041
+ /**
1042
+ * Id of target handle
1043
+ * only needed if there are multiple handles per node
1044
+ */
1045
+ targetHandle?: string | null;
1046
+ animated?: boolean;
1047
+ hidden?: boolean;
1048
+ deletable?: boolean;
1049
+ selectable?: boolean;
1050
+ /** Arbitrary data passed to an edge */
1051
+ data?: EdgeData;
1052
+ selected?: boolean;
1053
+ /**
1054
+ * Set the marker on the beginning of an edge
1055
+ * @example 'arrow', 'arrowclosed' or custom marker
1056
+ */
1057
+ markerStart?: EdgeMarkerType;
1058
+ /**
1059
+ * Set the marker on the end of an edge
1060
+ * @example 'arrow', 'arrowclosed' or custom marker
1061
+ */
1062
+ markerEnd?: EdgeMarkerType;
1063
+ zIndex?: number;
1064
+ ariaLabel?: string;
1065
+ /** Padding around the edge where interaction is still possible */
1066
+ interactionWidth?: number;
1067
+ };
1068
+ type DefaultEdgeOptionsBase<EdgeType extends EdgeBase> = Omit<EdgeType, "id" | "source" | "target" | "sourceHandle" | "targetHandle" | "selected">;
1069
+ declare enum ConnectionLineType {
1070
+ Bezier = "default",
1071
+ Straight = "straight",
1072
+ Step = "step",
1073
+ SmoothStep = "smoothstep",
1074
+ SimpleBezier = "simplebezier"
1075
+ }
1076
+ type EdgeMarker = {
1077
+ type: MarkerType;
1078
+ color?: string;
1079
+ width?: number;
1080
+ height?: number;
1081
+ markerUnits?: string;
1082
+ orient?: string;
1083
+ strokeWidth?: number;
1084
+ };
1085
+ type EdgeMarkerType = string | EdgeMarker;
1086
+ declare enum MarkerType {
1087
+ Arrow = "arrow",
1088
+ ArrowClosed = "arrowclosed"
1089
+ }
1090
+ type EdgePosition = {
1091
+ sourceX: number;
1092
+ sourceY: number;
1093
+ targetX: number;
1094
+ targetY: number;
1095
+ sourcePosition: Position;
1096
+ targetPosition: Position;
1097
+ };
1098
+ type OnNodesChange<NodeType extends Node$1 = Node$1> = (changes: NodeChange<NodeType>[]) => void;
1099
+ type OnEdgesChange<EdgeType extends Edge = Edge> = (changes: EdgeChange<EdgeType>[]) => void;
1100
+ type OnNodesDelete<NodeType extends Node$1 = Node$1> = (nodes: NodeType[]) => void;
1101
+ type OnEdgesDelete<EdgeType extends Edge = Edge> = (edges: EdgeType[]) => void;
1102
+ type OnDelete<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> = (params: {
1103
+ nodes: NodeType[];
1104
+ edges: EdgeType[];
1105
+ }) => void;
1106
+ type NodeTypes = Record<string, ComponentType<NodeProps$1 & {
1107
+ data: any;
1108
+ type: any;
1109
+ }>>;
1110
+ type EdgeTypes = Record<string, ComponentType<EdgeProps & {
1111
+ data: any;
1112
+ type: any;
1113
+ }>>;
1114
+ type OnSelectionChangeParams<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> = {
1115
+ nodes: NodeType[];
1116
+ edges: EdgeType[];
1117
+ };
1118
+ type OnSelectionChangeFunc<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> = (params: OnSelectionChangeParams<NodeType, EdgeType>) => void;
1119
+ type FitViewOptions<NodeType extends Node$1 = Node$1> = FitViewOptionsBase<NodeType>;
1120
+ type FitView = (fitViewOptions?: FitViewOptions) => Promise<boolean>;
1121
+ type OnInit<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> = (reactFlowInstance: ReactFlowInstance<NodeType, EdgeType>) => void;
1122
+ type ViewportHelperFunctions = {
1123
+ /**
1124
+ * Zooms viewport in by 1.2.
1125
+ *
1126
+ * @param options.duration - optional duration. If set, a transition will be applied
1127
+ */
1128
+ zoomIn: ZoomInOut;
1129
+ /**
1130
+ * Zooms viewport out by 1 / 1.2.
1131
+ *
1132
+ * @param options.duration - optional duration. If set, a transition will be applied
1133
+ */
1134
+ zoomOut: ZoomInOut;
1135
+ /**
1136
+ * Sets the current zoom level.
1137
+ *
1138
+ * @param zoomLevel - the zoom level to set
1139
+ * @param options.duration - optional duration. If set, a transition will be applied
1140
+ */
1141
+ zoomTo: ZoomTo;
1142
+ /**
1143
+ * Returns the current zoom level.
1144
+ *
1145
+ * @returns current zoom as a number
1146
+ */
1147
+ getZoom: GetZoom;
1148
+ /**
1149
+ * Sets the current viewport.
1150
+ *
1151
+ * @param viewport - the viewport to set
1152
+ * @param options.duration - optional duration. If set, a transition will be applied
1153
+ */
1154
+ setViewport: SetViewport;
1155
+ /**
1156
+ * Returns the current viewport.
1157
+ *
1158
+ * @returns Viewport
1159
+ */
1160
+ getViewport: GetViewport;
1161
+ /**
1162
+ * Fits the view.
1163
+ *
1164
+ * @param options.padding - optional padding
1165
+ * @param options.includeHiddenNodes - optional includeHiddenNodes
1166
+ * @param options.minZoom - optional minZoom
1167
+ * @param options.maxZoom - optional maxZoom
1168
+ * @param options.duration - optional duration. If set, a transition will be applied
1169
+ * @param options.nodes - optional nodes to fit the view to
1170
+ */
1171
+ fitView: FitView;
1172
+ /**
1173
+ * Sets the center of the view to the given position.
1174
+ *
1175
+ * @param x - x position
1176
+ * @param y - y position
1177
+ * @param options.zoom - optional zoom
1178
+ */
1179
+ setCenter: SetCenter;
1180
+ /**
1181
+ * Fits the view to the given bounds .
1182
+ *
1183
+ * @param bounds - the bounds ({ x: number, y: number, width: number, height: number }) to fit the view to
1184
+ * @param options.padding - optional padding
1185
+ */
1186
+ fitBounds: FitBounds;
1187
+ /**
1188
+ * Converts a screen / client position to a flow position.
1189
+ *
1190
+ * @param clientPosition - the screen / client position. When you are working with events you can use event.clientX and event.clientY
1191
+ * @param options.snapToGrid - if true, the converted position will be snapped to the grid
1192
+ * @returns position as { x: number, y: number }
1193
+ *
1194
+ * @example
1195
+ * const flowPosition = screenToFlowPosition({ x: event.clientX, y: event.clientY })
1196
+ */
1197
+ screenToFlowPosition: (clientPosition: XYPosition, options?: {
1198
+ snapToGrid: boolean;
1199
+ }) => XYPosition;
1200
+ /**
1201
+ * Converts a flow position to a screen / client position.
1202
+ *
1203
+ * @param flowPosition - the screen / client position. When you are working with events you can use event.clientX and event.clientY
1204
+ * @returns position as { x: number, y: number }
1205
+ *
1206
+ * @example
1207
+ * const clientPosition = flowToScreenPosition({ x: node.position.x, y: node.position.y })
1208
+ */
1209
+ flowToScreenPosition: (flowPosition: XYPosition) => XYPosition;
1210
+ };
1211
+ type OnBeforeDelete<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> = OnBeforeDeleteBase<NodeType, EdgeType>;
1212
+ type IsValidConnection<EdgeType extends Edge = Edge> = (edge: EdgeType | Connection) => boolean;
1213
+ type Node$1<NodeData extends Record<string, unknown> = Record<string, unknown>, NodeType extends string = string> = NodeBase<NodeData, NodeType> & {
1214
+ style?: CSSProperties;
1215
+ className?: string;
1216
+ resizing?: boolean;
1217
+ focusable?: boolean;
1218
+ };
1219
+ type InternalNode<NodeType extends Node$1 = Node$1> = InternalNodeBase<NodeType>;
1220
+ type NodeMouseHandler<NodeType extends Node$1 = Node$1> = (event: ReactMouseEvent, node: NodeType) => void;
1221
+ type SelectionDragHandler<NodeType extends Node$1 = Node$1> = (event: ReactMouseEvent, nodes: NodeType[]) => void;
1222
+ type OnNodeDrag<NodeType extends Node$1 = Node$1> = (event: ReactMouseEvent, node: NodeType, nodes: NodeType[]) => void;
1223
+ type NodeProps$1<NodeType extends Node$1 = Node$1> = NodeProps<NodeType>;
1224
+ type EdgeLabelOptions = {
1225
+ label?: string | ReactNode;
1226
+ labelStyle?: CSSProperties;
1227
+ labelShowBg?: boolean;
1228
+ labelBgStyle?: CSSProperties;
1229
+ labelBgPadding?: [
1230
+ number,
1231
+ number
1232
+ ];
1233
+ labelBgBorderRadius?: number;
1234
+ };
1235
+ type Edge<EdgeData extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string | undefined = string | undefined> = EdgeBase<EdgeData, EdgeType> & EdgeLabelOptions & {
1236
+ style?: CSSProperties;
1237
+ className?: string;
1238
+ reconnectable?: boolean | HandleType;
1239
+ focusable?: boolean;
1240
+ };
1241
+ type EdgeMouseHandler<EdgeType extends Edge = Edge> = (event: ReactMouseEvent, edge: EdgeType) => void;
1242
+ type DefaultEdgeOptions = DefaultEdgeOptionsBase<Edge>;
1243
+ type EdgeProps<EdgeType extends Edge = Edge> = Pick<EdgeType, "id" | "animated" | "data" | "style" | "selected" | "source" | "target" | "selectable" | "deletable"> & EdgePosition & EdgeLabelOptions & {
1244
+ sourceHandleId?: string | null;
1245
+ targetHandleId?: string | null;
1246
+ markerStart?: string;
1247
+ markerEnd?: string;
1248
+ pathOptions?: any;
1249
+ interactionWidth?: number;
1250
+ };
1251
+ type OnReconnect<EdgeType extends Edge = Edge> = (oldEdge: EdgeType, newConnection: Connection) => void;
1252
+ type ConnectionLineComponentProps<NodeType extends Node$1 = Node$1> = {
1253
+ connectionLineStyle?: CSSProperties;
1254
+ connectionLineType: ConnectionLineType;
1255
+ fromNode: InternalNode<NodeType>;
1256
+ fromHandle: Handle;
1257
+ fromX: number;
1258
+ fromY: number;
1259
+ toX: number;
1260
+ toY: number;
1261
+ fromPosition: Position;
1262
+ toPosition: Position;
1263
+ connectionStatus: "valid" | "invalid" | null;
1264
+ toNode: InternalNode<NodeType> | null;
1265
+ toHandle: Handle | null;
1266
+ };
1267
+ type ConnectionLineComponent<NodeType extends Node$1 = Node$1> = ComponentType<ConnectionLineComponentProps<NodeType>>;
1268
+ interface ReactFlowProps<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> extends Omit<HTMLAttributes<HTMLDivElement>, "onError"> {
1269
+ /**
1270
+ * An array of nodes to render in a controlled flow.
1271
+ * @example
1272
+ * const nodes = [
1273
+ * {
1274
+ * id: 'node-1',
1275
+ * type: 'input',
1276
+ * data: { label: 'Node 1' },
1277
+ * position: { x: 250, y: 50 }
1278
+ * }
1279
+ * ];
1280
+ */
1281
+ nodes?: NodeType[];
1282
+ /**
1283
+ * An array of edges to render in a controlled flow.
1284
+ * @example
1285
+ * const edges = [
1286
+ * {
1287
+ * id: 'edge-1-2',
1288
+ * source: 'node-1',
1289
+ * target: 'node-2',
1290
+ * }
1291
+ * ];
1292
+ */
1293
+ edges?: EdgeType[];
1294
+ /** The initial nodes to render in an uncontrolled flow. */
1295
+ defaultNodes?: NodeType[];
1296
+ /** The initial edges to render in an uncontrolled flow. */
1297
+ defaultEdges?: EdgeType[];
1298
+ /**
1299
+ * Defaults to be applied to all new edges that are added to the flow.
1300
+ *
1301
+ * Properties on a new edge will override these defaults if they exist.
1302
+ * @example
1303
+ * const defaultEdgeOptions = {
1304
+ * type: 'customEdgeType',
1305
+ * animated: true,
1306
+ * interactionWidth: 10,
1307
+ * data: { label: 'custom label' },
1308
+ * hidden: false,
1309
+ * deletable: true,
1310
+ * selected: false,
1311
+ * focusable: true,
1312
+ * markerStart: EdgeMarker.ArrowClosed,
1313
+ * markerEnd: EdgeMarker.ArrowClosed,
1314
+ * zIndex: 12,
1315
+ * ariaLabel: 'custom aria label'
1316
+ * }
1317
+ */
1318
+ defaultEdgeOptions?: DefaultEdgeOptions;
1319
+ /** This event handler is called when a user clicks on a node */
1320
+ onNodeClick?: NodeMouseHandler<NodeType>;
1321
+ /** This event handler is called when a user double clicks on a node */
1322
+ onNodeDoubleClick?: NodeMouseHandler<NodeType>;
1323
+ /** This event handler is called when mouse of a user enters a node */
1324
+ onNodeMouseEnter?: NodeMouseHandler<NodeType>;
1325
+ /** This event handler is called when mouse of a user moves over a node */
1326
+ onNodeMouseMove?: NodeMouseHandler<NodeType>;
1327
+ /** This event handler is called when mouse of a user leaves a node */
1328
+ onNodeMouseLeave?: NodeMouseHandler<NodeType>;
1329
+ /** This event handler is called when a user right clicks on a node */
1330
+ onNodeContextMenu?: NodeMouseHandler<NodeType>;
1331
+ /** This event handler is called when a user starts to drag a node */
1332
+ onNodeDragStart?: OnNodeDrag<NodeType>;
1333
+ /** This event handler is called when a user drags a node */
1334
+ onNodeDrag?: OnNodeDrag<NodeType>;
1335
+ /** This event handler is called when a user stops dragging a node */
1336
+ onNodeDragStop?: OnNodeDrag<NodeType>;
1337
+ /** This event handler is called when a user clicks on an edge */
1338
+ onEdgeClick?: (event: ReactMouseEvent, edge: EdgeType) => void;
1339
+ /** This event handler is called when a user right clicks on an edge */
1340
+ onEdgeContextMenu?: EdgeMouseHandler<EdgeType>;
1341
+ /** This event handler is called when mouse of a user enters an edge */
1342
+ onEdgeMouseEnter?: EdgeMouseHandler<EdgeType>;
1343
+ /** This event handler is called when mouse of a user moves over an edge */
1344
+ onEdgeMouseMove?: EdgeMouseHandler<EdgeType>;
1345
+ /** This event handler is called when mouse of a user leaves an edge */
1346
+ onEdgeMouseLeave?: EdgeMouseHandler<EdgeType>;
1347
+ /** This event handler is called when a user double clicks on an edge */
1348
+ onEdgeDoubleClick?: EdgeMouseHandler<EdgeType>;
1349
+ onReconnect?: OnReconnect<EdgeType>;
1350
+ onReconnectStart?: (event: ReactMouseEvent, edge: EdgeType, handleType: HandleType) => void;
1351
+ onReconnectEnd?: (event: MouseEvent | TouchEvent, edge: EdgeType, handleType: HandleType) => void;
1352
+ /**
1353
+ * This event handler is called when a Node is updated
1354
+ * @example // Use NodesState hook to create edges and get onNodesChange handler
1355
+ * import ReactFlow, { useNodesState } from '@xyflow/react';
1356
+ * const [edges, setNodes, onNodesChange] = useNodesState(initialNodes);
1357
+ *
1358
+ * return (<ReactFlow onNodeChange={onNodeChange} {...rest} />)
1359
+ * @example // Use helper function to update edge
1360
+ * import ReactFlow, { applyNodeChanges } from '@xyflow/react';
1361
+ *
1362
+ * const onNodeChange = useCallback(
1363
+ * (changes) => setNode((eds) => applyNodeChanges(changes, eds)),
1364
+ * [],
1365
+ * );
1366
+ *
1367
+ * return (<ReactFlow onNodeChange={onNodeChange} {...rest} />)
1368
+ */
1369
+ onNodesChange?: OnNodesChange<NodeType>;
1370
+ /**
1371
+ * This event handler is called when a Edge is updated
1372
+ * @example // Use EdgesState hook to create edges and get onEdgesChange handler
1373
+ * import ReactFlow, { useEdgesState } from '@xyflow/react';
1374
+ * const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);
1375
+ *
1376
+ * return (<ReactFlow onEdgesChange={onEdgesChange} {...rest} />)
1377
+ * @example // Use helper function to update edge
1378
+ * import ReactFlow, { applyEdgeChanges } from '@xyflow/react';
1379
+ *
1380
+ * const onEdgesChange = useCallback(
1381
+ * (changes) => setEdges((eds) => applyEdgeChanges(changes, eds)),
1382
+ * [],
1383
+ * );
1384
+ *
1385
+ * return (<ReactFlow onEdgesChange={onEdgesChange} {...rest} />)
1386
+ */
1387
+ onEdgesChange?: OnEdgesChange<EdgeType>;
1388
+ /** This event handler gets called when a Node is deleted */
1389
+ onNodesDelete?: OnNodesDelete<NodeType>;
1390
+ /** This event handler gets called when a Edge is deleted */
1391
+ onEdgesDelete?: OnEdgesDelete<EdgeType>;
1392
+ /** This event handler gets called when a Node or Edge is deleted */
1393
+ onDelete?: OnDelete<NodeType, EdgeType>;
1394
+ /** This event handler gets called when a user starts to drag a selection box */
1395
+ onSelectionDragStart?: SelectionDragHandler<NodeType>;
1396
+ /** This event handler gets called when a user drags a selection box */
1397
+ onSelectionDrag?: SelectionDragHandler<NodeType>;
1398
+ /** This event handler gets called when a user stops dragging a selection box */
1399
+ onSelectionDragStop?: SelectionDragHandler<NodeType>;
1400
+ onSelectionStart?: (event: ReactMouseEvent) => void;
1401
+ onSelectionEnd?: (event: ReactMouseEvent) => void;
1402
+ onSelectionContextMenu?: (event: ReactMouseEvent, nodes: NodeType[]) => void;
1403
+ /**
1404
+ * When a connection line is completed and two nodes are connected by the user, this event fires with the new connection.
1405
+ *
1406
+ * You can use the addEdge utility to convert the connection to a complete edge.
1407
+ * @example // Use helper function to update edges onConnect
1408
+ * import ReactFlow, { addEdge } from '@xyflow/react';
1409
+ *
1410
+ * const onConnect = useCallback(
1411
+ * (params) => setEdges((eds) => addEdge(params, eds)),
1412
+ * [],
1413
+ * );
1414
+ *
1415
+ * return (<ReactFlow onConnect={onConnect} {...rest} />)
1416
+ */
1417
+ onConnect?: OnConnect;
1418
+ /** This event handler gets called when a user starts to drag a connection line */
1419
+ onConnectStart?: OnConnectStart;
1420
+ /** This event handler gets called when a user stops dragging a connection line */
1421
+ onConnectEnd?: OnConnectEnd;
1422
+ onClickConnectStart?: OnConnectStart;
1423
+ onClickConnectEnd?: OnConnectEnd;
1424
+ /** This event handler gets called when a flow has finished initializing */
1425
+ onInit?: OnInit<NodeType, EdgeType>;
1426
+ /** This event handler is called while the user is either panning or zooming the viewport. */
1427
+ onMove?: OnMove;
1428
+ /** This event handler gets called when a user starts to pan or zoom the viewport */
1429
+ onMoveStart?: OnMoveStart;
1430
+ /** This event handler gets called when a user stops panning or zooming the viewport */
1431
+ onMoveEnd?: OnMoveEnd;
1432
+ /** This event handler gets called when a user changes group of selected elements in the flow */
1433
+ onSelectionChange?: OnSelectionChangeFunc<NodeType, EdgeType>;
1434
+ /** This event handler gets called when user scroll inside the pane */
1435
+ onPaneScroll?: (event?: WheelEvent) => void;
1436
+ /** This event handler gets called when user clicks inside the pane */
1437
+ onPaneClick?: (event: ReactMouseEvent) => void;
1438
+ /** This event handler gets called when user right clicks inside the pane */
1439
+ onPaneContextMenu?: (event: ReactMouseEvent | MouseEvent) => void;
1440
+ /** This event handler gets called when mouse enters the pane */
1441
+ onPaneMouseEnter?: (event: ReactMouseEvent) => void;
1442
+ /** This event handler gets called when mouse moves over the pane */
1443
+ onPaneMouseMove?: (event: ReactMouseEvent) => void;
1444
+ /** This event handler gets called when mouse leaves the pane */
1445
+ onPaneMouseLeave?: (event: ReactMouseEvent) => void;
1446
+ /**
1447
+ * Distance that the mouse can move between mousedown/up that will trigger a click
1448
+ * @default 0
1449
+ */
1450
+ paneClickDistance?: number;
1451
+ /**
1452
+ * Distance that the mouse can move between mousedown/up that will trigger a click
1453
+ * @default 0
1454
+ */
1455
+ nodeClickDistance?: number;
1456
+ /** This handler gets called before the user deletes nodes or edges and provides a way to abort the deletion by returning false. */
1457
+ onBeforeDelete?: OnBeforeDelete<NodeType, EdgeType>;
1458
+ /**
1459
+ * Custom node types to be available in a flow.
1460
+ *
1461
+ * React Flow matches a node's type to a component in the nodeTypes object.
1462
+ * @example
1463
+ * import CustomNode from './CustomNode';
1464
+ *
1465
+ * const nodeTypes = { nameOfNodeType: CustomNode };
1466
+ */
1467
+ nodeTypes?: NodeTypes;
1468
+ /**
1469
+ * Custom edge types to be available in a flow.
1470
+ *
1471
+ * React Flow matches an edge's type to a component in the edgeTypes object.
1472
+ * @example
1473
+ * import CustomEdge from './CustomEdge';
1474
+ *
1475
+ * const edgeTypes = { nameOfEdgeType: CustomEdge };
1476
+ */
1477
+ edgeTypes?: EdgeTypes;
1478
+ /**
1479
+ * The type of edge path to use for connection lines.
1480
+ *
1481
+ * Although created edges can be of any type, React Flow needs to know what type of path to render for the connection line before the edge is created!
1482
+ */
1483
+ connectionLineType?: ConnectionLineType;
1484
+ /** Styles to be applied to the connection line */
1485
+ connectionLineStyle?: CSSProperties;
1486
+ /** React Component to be used as a connection line */
1487
+ connectionLineComponent?: ConnectionLineComponent<NodeType>;
1488
+ /** Styles to be applied to the container of the connection line */
1489
+ connectionLineContainerStyle?: CSSProperties;
1490
+ /**
1491
+ * 'strict' connection mode will only allow you to connect source handles to target handles.
1492
+ *
1493
+ * 'loose' connection mode will allow you to connect handles of any type to one another.
1494
+ * @default 'strict'
1495
+ */
1496
+ connectionMode?: ConnectionMode;
1497
+ /**
1498
+ * Pressing down this key deletes all selected nodes & edges.
1499
+ * @default 'Backspace'
1500
+ */
1501
+ deleteKeyCode?: KeyCode | null;
1502
+ /**
1503
+ * If a key is set, you can pan the viewport while that key is held down even if panOnScroll is set to false.
1504
+ *
1505
+ * By setting this prop to null you can disable this functionality.
1506
+ * @default 'Space'
1507
+ */
1508
+ selectionKeyCode?: KeyCode | null;
1509
+ /** Select multiple elements with a selection box, without pressing down selectionKey */
1510
+ selectionOnDrag?: boolean;
1511
+ /**
1512
+ * When set to "partial", when the user creates a selection box by click and dragging nodes that are only partially in the box are still selected.
1513
+ * @default 'full'
1514
+ */
1515
+ selectionMode?: SelectionMode$1;
1516
+ /**
1517
+ * If a key is set, you can pan the viewport while that key is held down even if panOnScroll is set to false.
1518
+ *
1519
+ * By setting this prop to null you can disable this functionality.
1520
+ * @default 'Space'
1521
+ */
1522
+ panActivationKeyCode?: KeyCode | null;
1523
+ /**
1524
+ * Pressing down this key you can select multiple elements by clicking.
1525
+ * @default 'Meta' for macOS, "Ctrl" for other systems
1526
+ */
1527
+ multiSelectionKeyCode?: KeyCode | null;
1528
+ /**
1529
+ * If a key is set, you can zoom the viewport while that key is held down even if panOnScroll is set to false.
1530
+ *
1531
+ * By setting this prop to null you can disable this functionality.
1532
+ * @default 'Meta' for macOS, "Ctrl" for other systems
1533
+ *
1534
+ */
1535
+ zoomActivationKeyCode?: KeyCode | null;
1536
+ /** Set this prop to make the flow snap to the grid */
1537
+ snapToGrid?: boolean;
1538
+ /**
1539
+ * Grid all nodes will snap to
1540
+ * @example [20, 20]
1541
+ */
1542
+ snapGrid?: SnapGrid;
1543
+ /**
1544
+ * You can enable this optimisation to instruct Svelte Flow to only render nodes and edges that would be visible in the viewport.
1545
+ *
1546
+ * This might improve performance when you have a large number of nodes and edges but also adds an overhead.
1547
+ * @default false
1548
+ */
1549
+ onlyRenderVisibleElements?: boolean;
1550
+ /**
1551
+ * Controls if all nodes should be draggable
1552
+ * @default true
1553
+ */
1554
+ nodesDraggable?: boolean;
1555
+ /**
1556
+ * Controls if all nodes should be connectable to each other
1557
+ * @default true
1558
+ */
1559
+ nodesConnectable?: boolean;
1560
+ /**
1561
+ * Controls if all nodes should be focusable
1562
+ * @default true
1563
+ */
1564
+ nodesFocusable?: boolean;
1565
+ /**
1566
+ * Defines nodes relative position to its coordinates
1567
+ * @example
1568
+ * [0, 0] // default, top left
1569
+ * [0.5, 0.5] // center
1570
+ * [1, 1] // bottom right
1571
+ */
1572
+ nodeOrigin?: NodeOrigin;
1573
+ /**
1574
+ * Controls if all edges should be focusable
1575
+ * @default true
1576
+ */
1577
+ edgesFocusable?: boolean;
1578
+ /**
1579
+ * Controls if all edges should be updateable
1580
+ * @default true
1581
+ */
1582
+ edgesReconnectable?: boolean;
1583
+ /**
1584
+ * Controls if all elements should (nodes & edges) be selectable
1585
+ * @default true
1586
+ */
1587
+ elementsSelectable?: boolean;
1588
+ /**
1589
+ * If true, nodes get selected on drag
1590
+ * @default true
1591
+ */
1592
+ selectNodesOnDrag?: boolean;
1593
+ /**
1594
+ * Enableing this prop allows users to pan the viewport by clicking and dragging.
1595
+ *
1596
+ * You can also set this prop to an array of numbers to limit which mouse buttons can activate panning.
1597
+ * @example [0, 2] // allows panning with the left and right mouse buttons
1598
+ * [0, 1, 2, 3, 4] // allows panning with all mouse buttons
1599
+ */
1600
+ panOnDrag?: boolean | number[];
1601
+ /**
1602
+ * Minimum zoom level
1603
+ * @default 0.5
1604
+ */
1605
+ minZoom?: number;
1606
+ /**
1607
+ * Maximum zoom level
1608
+ * @default 2
1609
+ */
1610
+ maxZoom?: number;
1611
+ /** Controlled viewport to be used instead of internal one */
1612
+ viewport?: Viewport;
1613
+ /**
1614
+ * Sets the initial position and zoom of the viewport.
1615
+ *
1616
+ * If a default viewport is provided but fitView is enabled, the default viewport will be ignored.
1617
+ * @example
1618
+ * const initialViewport = {
1619
+ * zoom: 0.5,
1620
+ * position: { x: 0, y: 0 }
1621
+ * };
1622
+ */
1623
+ defaultViewport?: Viewport;
1624
+ /**
1625
+ * Gets called when the viewport changes.
1626
+ */
1627
+ onViewportChange?: (viewport: Viewport) => void;
1628
+ /**
1629
+ * By default the viewport extends infinitely. You can use this prop to set a boundary.
1630
+ *
1631
+ * The first pair of coordinates is the top left boundary and the second pair is the bottom right.
1632
+ * @example [[-1000, -10000], [1000, 1000]]
1633
+ */
1634
+ translateExtent?: CoordinateExtent;
1635
+ /**
1636
+ * Disabling this prop will allow the user to scroll the page even when their pointer is over the flow.
1637
+ * @default true
1638
+ */
1639
+ preventScrolling?: boolean;
1640
+ /**
1641
+ * By default nodes can be placed on an infinite flow. You can use this prop to set a boundary.
1642
+ *
1643
+ * The first pair of coordinates is the top left boundary and the second pair is the bottom right.
1644
+ * @example [[-1000, -10000], [1000, 1000]]
1645
+ */
1646
+ nodeExtent?: CoordinateExtent;
1647
+ /**
1648
+ * Color of edge markers
1649
+ * @example "#b1b1b7"
1650
+ */
1651
+ defaultMarkerColor?: string;
1652
+ /** Controls if the viewport should zoom by scrolling inside the container */
1653
+ zoomOnScroll?: boolean;
1654
+ /** Controls if the viewport should zoom by pinching on a touch screen */
1655
+ zoomOnPinch?: boolean;
1656
+ /**
1657
+ * Controls if the viewport should pan by scrolling inside the container
1658
+ *
1659
+ * Can be limited to a specific direction with panOnScrollMode
1660
+ */
1661
+ panOnScroll?: boolean;
1662
+ /**
1663
+ * Controls how fast viewport should be panned on scroll.
1664
+ *
1665
+ * Use togther with panOnScroll prop.
1666
+ */
1667
+ panOnScrollSpeed?: number;
1668
+ /**
1669
+ * This prop is used to limit the direction of panning when panOnScroll is enabled.
1670
+ *
1671
+ * The "free" option allows panning in any direction.
1672
+ * @default "free"
1673
+ * @example "horizontal" | "vertical"
1674
+ */
1675
+ panOnScrollMode?: PanOnScrollMode;
1676
+ /** Controls if the viewport should zoom by double clicking somewhere on the flow */
1677
+ zoomOnDoubleClick?: boolean;
1678
+ reconnectRadius?: number;
1679
+ noDragClassName?: string;
1680
+ noWheelClassName?: string;
1681
+ noPanClassName?: string;
1682
+ /** If set, initial viewport will show all nodes & edges */
1683
+ fitView?: boolean;
1684
+ /**
1685
+ * Options to be used in combination with fitView
1686
+ * @example
1687
+ * const fitViewOptions = {
1688
+ * padding: 0.1,
1689
+ * includeHiddenNodes: false,
1690
+ * minZoom: 0.1,
1691
+ * maxZoom: 1,
1692
+ * duration: 200,
1693
+ * nodes: [{id: 'node-1'}, {id: 'node-2'}], // nodes to fit
1694
+ * };
1695
+ */
1696
+ fitViewOptions?: FitViewOptions;
1697
+ /**
1698
+ *The connectOnClick option lets you click or tap on a source handle to start a connection
1699
+ * and then click on a target handle to complete the connection.
1700
+ *
1701
+ * If you set this option to false, users will need to drag the connection line to the target
1702
+ * handle to create a connection.
1703
+ */
1704
+ connectOnClick?: boolean;
1705
+ /**
1706
+ * Set position of the attribution
1707
+ * @default 'bottom-right'
1708
+ * @example 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'
1709
+ */
1710
+ attributionPosition?: PanelPosition;
1711
+ /**
1712
+ * By default, we render a small attribution in the corner of your flows that links back to the project.
1713
+ *
1714
+ * Anyone is free to remove this attribution whether they're a Pro subscriber or not
1715
+ * but we ask that you take a quick look at our {@link https://reactflow.dev/learn/troubleshooting/remove-attribution | removing attribution guide}
1716
+ * before doing so.
1717
+ */
1718
+ proOptions?: ProOptions;
1719
+ /**
1720
+ * Enabling this option will raise the z-index of nodes when they are selected.
1721
+ * @default true
1722
+ */
1723
+ elevateNodesOnSelect?: boolean;
1724
+ /**
1725
+ * Enabling this option will raise the z-index of edges when they are selected.
1726
+ * @default true
1727
+ */
1728
+ elevateEdgesOnSelect?: boolean;
1729
+ /**
1730
+ * Can be set true if built-in keyboard controls should be disabled.
1731
+ * @default false
1732
+ */
1733
+ disableKeyboardA11y?: boolean;
1734
+ /**
1735
+ * You can enable this prop to automatically pan the viewport while dragging a node.
1736
+ * @default true
1737
+ */
1738
+ autoPanOnNodeDrag?: boolean;
1739
+ /**
1740
+ * You can enable this prop to automatically pan the viewport while dragging a node.
1741
+ * @default true
1742
+ */
1743
+ autoPanOnConnect?: boolean;
1744
+ /**
1745
+ * The speed at which the viewport pans while dragging a node or a selection box.
1746
+ * @default 15
1747
+ */
1748
+ autoPanSpeed?: number;
1749
+ /**
1750
+ * You can enable this prop to automatically pan the viewport while making a new connection.
1751
+ * @default true
1752
+ */
1753
+ connectionRadius?: number;
1754
+ /**
1755
+ * Ocassionally something may happen that causes Svelte Flow to throw an error.
1756
+ *
1757
+ * Instead of exploding your application, we log a message to the console and then call this event handler.
1758
+ * You might use it for additional logging or to show a message to the user.
1759
+ */
1760
+ onError?: OnError;
1761
+ /**
1762
+ * This callback can be used to validate a new connection
1763
+ *
1764
+ * If you return false, the edge will not be added to your flow.
1765
+ * If you have custom connection logic its preferred to use this callback over the isValidConnection prop on the handle component for performance reasons.
1766
+ * @default (connection: Connection) => true
1767
+ */
1768
+ isValidConnection?: IsValidConnection<EdgeType>;
1769
+ /**
1770
+ * With a threshold greater than zero you can control the distinction between node drag and click events.
1771
+ *
1772
+ * If threshold equals 1, you need to drag the node 1 pixel before a drag event is fired.
1773
+ * @default 1
1774
+ */
1775
+ nodeDragThreshold?: number;
1776
+ /** Sets a fixed width for the flow */
1777
+ width?: number;
1778
+ /** Sets a fixed height for the flow */
1779
+ height?: number;
1780
+ /**
1781
+ * Controls color scheme used for styling the flow
1782
+ * @default 'system'
1783
+ * @example 'system' | 'light' | 'dark'
1784
+ */
1785
+ colorMode?: ColorMode;
1786
+ /**
1787
+ * If set true, some debug information will be logged to the console like which events are fired.
1788
+ *
1789
+ * @default undefined
1790
+ */
1791
+ debug?: boolean;
1792
+ }
1793
+ type ReactFlowJsonObject<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> = {
1794
+ nodes: NodeType[];
1795
+ edges: EdgeType[];
1796
+ viewport: Viewport;
1797
+ };
1798
+ type DeleteElementsOptions = {
1799
+ nodes?: (Node$1 | {
1800
+ id: Node$1["id"];
1801
+ })[];
1802
+ edges?: (Edge | {
1803
+ id: Edge["id"];
1804
+ })[];
1805
+ };
1806
+ type GeneralHelpers<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> = {
1807
+ /**
1808
+ * Returns nodes.
1809
+ *
1810
+ * @returns nodes array
1811
+ */
1812
+ getNodes: () => NodeType[];
1813
+ /**
1814
+ * Sets nodes.
1815
+ *
1816
+ * @param payload - the nodes to set or a function that receives the current nodes and returns the new nodes
1817
+ */
1818
+ setNodes: (payload: NodeType[] | ((nodes: NodeType[]) => NodeType[])) => void;
1819
+ /**
1820
+ * Adds nodes.
1821
+ *
1822
+ * @param payload - the nodes to add
1823
+ */
1824
+ addNodes: (payload: NodeType[] | NodeType) => void;
1825
+ /**
1826
+ * Returns a node by id.
1827
+ *
1828
+ * @param id - the node id
1829
+ * @returns the node or undefined if no node was found
1830
+ */
1831
+ getNode: (id: string) => NodeType | undefined;
1832
+ /**
1833
+ * Returns an internal node by id.
1834
+ *
1835
+ * @param id - the node id
1836
+ * @returns the internal node or undefined if no node was found
1837
+ */
1838
+ getInternalNode: (id: string) => InternalNode<NodeType> | undefined;
1839
+ /**
1840
+ * Returns edges.
1841
+ *
1842
+ * @returns edges array
1843
+ */
1844
+ getEdges: () => EdgeType[];
1845
+ /**
1846
+ * Sets edges.
1847
+ *
1848
+ * @param payload - the edges to set or a function that receives the current edges and returns the new edges
1849
+ */
1850
+ setEdges: (payload: EdgeType[] | ((edges: EdgeType[]) => EdgeType[])) => void;
1851
+ /**
1852
+ * Adds edges.
1853
+ *
1854
+ * @param payload - the edges to add
1855
+ */
1856
+ addEdges: (payload: EdgeType[] | EdgeType) => void;
1857
+ /**
1858
+ * Returns an edge by id.
1859
+ *
1860
+ * @param id - the edge id
1861
+ * @returns the edge or undefined if no edge was found
1862
+ */
1863
+ getEdge: (id: string) => EdgeType | undefined;
1864
+ /**
1865
+ * Returns the nodes, edges and the viewport as a JSON object.
1866
+ *
1867
+ * @returns the nodes, edges and the viewport as a JSON object
1868
+ */
1869
+ toObject: () => ReactFlowJsonObject<NodeType, EdgeType>;
1870
+ /**
1871
+ * Deletes nodes and edges.
1872
+ *
1873
+ * @param params.nodes - optional nodes array to delete
1874
+ * @param params.edges - optional edges array to delete
1875
+ *
1876
+ * @returns a promise that resolves with the deleted nodes and edges
1877
+ */
1878
+ deleteElements: (params: DeleteElementsOptions) => Promise<{
1879
+ deletedNodes: Node$1[];
1880
+ deletedEdges: Edge[];
1881
+ }>;
1882
+ /**
1883
+ * Returns all nodes that intersect with the given node or rect.
1884
+ *
1885
+ * @param node - the node or rect to check for intersections
1886
+ * @param partially - if true, the node is considered to be intersecting if it partially overlaps with the passed node or rect
1887
+ * @param nodes - optional nodes array to check for intersections
1888
+ *
1889
+ * @returns an array of intersecting nodes
1890
+ */
1891
+ getIntersectingNodes: (node: NodeType | {
1892
+ id: Node$1["id"];
1893
+ } | Rect, partially?: boolean, nodes?: NodeType[]) => NodeType[];
1894
+ /**
1895
+ * Checks if the given node or rect intersects with the passed rect.
1896
+ *
1897
+ * @param node - the node or rect to check for intersections
1898
+ * @param area - the rect to check for intersections
1899
+ * @param partially - if true, the node is considered to be intersecting if it partially overlaps with the passed react
1900
+ *
1901
+ * @returns true if the node or rect intersects with the given area
1902
+ */
1903
+ isNodeIntersecting: (node: NodeType | {
1904
+ id: Node$1["id"];
1905
+ } | Rect, area: Rect, partially?: boolean) => boolean;
1906
+ /**
1907
+ * Updates a node.
1908
+ *
1909
+ * @param id - id of the node to update
1910
+ * @param nodeUpdate - the node update as an object or a function that receives the current node and returns the node update
1911
+ * @param options.replace - if true, the node is replaced with the node update, otherwise the changes get merged
1912
+ *
1913
+ * @example
1914
+ * updateNode('node-1', (node) => ({ position: { x: node.position.x + 10, y: node.position.y } }));
1915
+ */
1916
+ updateNode: (id: string, nodeUpdate: Partial<NodeType> | ((node: NodeType) => Partial<NodeType>), options?: {
1917
+ replace: boolean;
1918
+ }) => void;
1919
+ /**
1920
+ * Updates the data attribute of a node.
1921
+ *
1922
+ * @param id - id of the node to update
1923
+ * @param dataUpdate - the data update as an object or a function that receives the current data and returns the data update
1924
+ * @param options.replace - if true, the data is replaced with the data update, otherwise the changes get merged
1925
+ *
1926
+ * @example
1927
+ * updateNodeData('node-1', { label: 'A new label' });
1928
+ */
1929
+ updateNodeData: (id: string, dataUpdate: Partial<NodeType["data"]> | ((node: NodeType) => Partial<NodeType["data"]>), options?: {
1930
+ replace: boolean;
1931
+ }) => void;
1932
+ /**
1933
+ * Updates an edge.
1934
+ *
1935
+ * @param id - id of the edge to update
1936
+ * @param edgeUpdate - the edge update as an object or a function that receives the current edge and returns the edge update
1937
+ * @param options.replace - if true, the edge is replaced with the edge update, otherwise the changes get merged
1938
+ *
1939
+ * @example
1940
+ * updateEdge('edge-1', (edge) => ({ label: 'A new label' }));
1941
+ */
1942
+ updateEdge: (id: string, edgeUpdate: Partial<EdgeType> | ((edge: EdgeType) => Partial<EdgeType>), options?: {
1943
+ replace: boolean;
1944
+ }) => void;
1945
+ /**
1946
+ * Updates the data attribute of a edge.
1947
+ *
1948
+ * @param id - id of the edge to update
1949
+ * @param dataUpdate - the data update as an object or a function that receives the current data and returns the data update
1950
+ * @param options.replace - if true, the data is replaced with the data update, otherwise the changes get merged
1951
+ *
1952
+ * @example
1953
+ * updateEdgeData('edge-1', { label: 'A new label' });
1954
+ */
1955
+ updateEdgeData: (id: string, dataUpdate: Partial<EdgeType["data"]> | ((edge: EdgeType) => Partial<EdgeType["data"]>), options?: {
1956
+ replace: boolean;
1957
+ }) => void;
1958
+ /**
1959
+ * Returns the bounds of the given nodes or node ids.
1960
+ *
1961
+ * @param nodes - the nodes or node ids to calculate the bounds for
1962
+ *
1963
+ * @returns the bounds of the given nodes
1964
+ */
1965
+ getNodesBounds: (nodes: (NodeType | InternalNode | string)[]) => Rect;
1966
+ /**
1967
+ * Gets all connections for a given handle belonging to a specific node.
1968
+ * @deprecated
1969
+ * @param type - handle type 'source' or 'target'
1970
+ * @param id - the handle id (this is only needed if you have multiple handles of the same type, meaning you have to provide a unique id for each handle)
1971
+ * @param nodeId - the node id the handle belongs to
1972
+ * @returns an array with handle connections
1973
+ */
1974
+ getHandleConnections: ({ type, id, nodeId, }: {
1975
+ type: HandleType;
1976
+ nodeId: string;
1977
+ id?: string | null;
1978
+ }) => HandleConnection[];
1979
+ /**
1980
+ * Gets all connections to a node. Can be filtered by handle type and id.
1981
+ * @param type - handle type 'source' or 'target'
1982
+ * @param handleId - the handle id (this is only needed if you have multiple handles of the same type, meaning you have to provide a unique id for each handle)
1983
+ * @param nodeId - the node id the handle belongs to
1984
+ * @returns an array with handle connections
1985
+ */
1986
+ getNodeConnections: ({ type, handleId, nodeId, }: {
1987
+ type?: HandleType;
1988
+ nodeId: string;
1989
+ handleId?: string | null;
1990
+ }) => NodeConnection[];
1991
+ };
1992
+ type ReactFlowInstance<NodeType extends Node$1 = Node$1, EdgeType extends Edge = Edge> = GeneralHelpers<NodeType, EdgeType> & Omit<ViewportHelperFunctions, "initialized"> & {
1993
+ viewportInitialized: boolean;
1994
+ };
1995
+ type ControlsCustomLayoutProps = {
1996
+ burgerMenu: ReactNode;
1997
+ navigationButtons: ReactNode;
1998
+ search: ReactNode;
1999
+ actionsGroup: ReactNode;
2000
+ syncInProgressBadge: ReactNode;
2001
+ };
2002
+ type ControlsCustomLayout = (props: ControlsCustomLayoutProps) => ReactNode;
2003
+ type DiagramNodeWithNavigate<ID = ViewId> = Omit<DiagramNode, "navigateTo"> & {
2004
+ navigateTo: ID;
2005
+ };
2006
+ type ElementIconRendererProps = {
2007
+ node: {
2008
+ id: string;
2009
+ title: string;
2010
+ icon?: string | null | undefined;
2011
+ };
2012
+ };
2013
+ type ElementIconRenderer = (props: ElementIconRendererProps) => ReactNode;
2014
+ type OnNavigateTo<ID = ViewId> = (to: ID, event?: ReactMouseEvent, element?: DiagramNodeWithNavigate<ID>) => void;
2015
+ type OnNodeClick = (node: DiagramNode, event: ReactMouseEvent) => void;
2016
+ type OnEdgeClick = (edge: DiagramEdge, event: ReactMouseEvent) => void;
2017
+ type OnCanvasClick = (event: ReactMouseEvent) => void;
2018
+ type ChangeEvent = {
2019
+ change: ViewChange;
2020
+ };
2021
+ type OnChange = (event: ChangeEvent) => void;
2022
+ type OverrideReactFlowProps = Pick<ReactFlowProps, "paneClickDistance" | "nodeClickDistance" | "selectionKeyCode" | "panActivationKeyCode" | "multiSelectionKeyCode" | "zoomActivationKeyCode" | "snapToGrid" | "snapGrid" | "onlyRenderVisibleElements" | "nodesDraggable" | "nodesFocusable" | "elementsSelectable" | "selectNodesOnDrag" | "panOnDrag" | "preventScrolling" | "zoomOnScroll" | "zoomOnPinch" | "panOnScroll" | "panOnScrollSpeed" | "panOnScrollMode" | "zoomOnDoubleClick" | "nodeDragThreshold">;
2023
+ interface LikeC4DiagramProperties {
2024
+ view: DiagramView;
2025
+ className?: string | undefined;
2026
+ /**
2027
+ * Enable/disable panning
2028
+ * @default true
2029
+ */
2030
+ pannable?: boolean | undefined;
2031
+ /**
2032
+ * Enable/disable zooming
2033
+ * @default true
2034
+ */
2035
+ zoomable?: boolean | undefined;
2036
+ /**
2037
+ * Disable any editing (dragging still can be enabled with `nodesDraggable`)
2038
+ * @default true
2039
+ */
2040
+ readonly?: boolean | undefined;
2041
+ /**
2042
+ * Show/hide panel with top left controls,
2043
+ *
2044
+ * @default true if not readonly
2045
+ */
2046
+ controls?: boolean | undefined;
2047
+ /**
2048
+ * If set, initial viewport will show all nodes & edges
2049
+ * @default true
2050
+ */
2051
+ fitView?: boolean | undefined;
2052
+ /**
2053
+ * Seems like this is percentage of the view size
2054
+ * @default 0
2055
+ */
2056
+ fitViewPadding?: number | undefined;
2057
+ /**
2058
+ * @default false if readonly
2059
+ */
2060
+ nodesSelectable?: boolean | undefined;
2061
+ /**
2062
+ * @default false if readonly
2063
+ */
2064
+ nodesDraggable?: boolean | undefined;
2065
+ initialWidth?: number | undefined;
2066
+ initialHeight?: number | undefined;
2067
+ /**
2068
+ * Background pattern
2069
+ * @default 'dots'
2070
+ */
2071
+ background?: "transparent" | "solid" | "dots" | "lines" | "cross" | undefined;
2072
+ /**
2073
+ * Display webview with diagram title / description
2074
+ * @default true
2075
+ */
2076
+ showDiagramTitle?: boolean | undefined;
2077
+ /**
2078
+ * Show back/forward history navigation buttons
2079
+ * @default true if `onNavigateTo` is set
2080
+ */
2081
+ showNavigationButtons?: undefined | boolean;
2082
+ /**
2083
+ * Display notations of the view
2084
+ * @default true
2085
+ */
2086
+ showNotations?: boolean | undefined;
2087
+ /**
2088
+ * Display dropdown with details on relationship's label click
2089
+ * @default false
2090
+ */
2091
+ enableRelationshipDetails?: boolean | undefined;
2092
+ /**
2093
+ * If double click on a node should enable focus mode, i.e. highlight incoming/outgoing edges
2094
+ * @default false
2095
+ */
2096
+ enableFocusMode?: boolean | undefined;
2097
+ /**
2098
+ * Enable search popup for elements and views
2099
+ * @default true
2100
+ */
2101
+ enableSearch?: boolean | undefined;
2102
+ /**
2103
+ * Enable modal with element details
2104
+ * @default false
2105
+ */
2106
+ enableElementDetails?: boolean | undefined;
2107
+ /**
2108
+ * Experimental feature to browse relationships
2109
+ *
2110
+ * @default false
2111
+ */
2112
+ enableRelationshipBrowser?: boolean | undefined;
2113
+ /**
2114
+ * If Walkthrough for dynamic views should be enabled
2115
+ * @default false
2116
+ */
2117
+ enableDynamicViewWalkthrough?: boolean | undefined;
2118
+ /**
2119
+ * Experimental feature to enable edge editing
2120
+ * @default false
2121
+ */
2122
+ experimentalEdgeEditing?: boolean | undefined;
2123
+ /**
2124
+ * Improve performance by hiding certain elements and reducing visual effects (disable mix-blend, shadows, animations)
2125
+ *
2126
+ * @default 'auto' - will be set to true if view has more then 3000 * 2000 pixels
2127
+ */
2128
+ reduceGraphics?: "auto" | boolean | undefined;
2129
+ /**
2130
+ * Render icon for an element, bundled or remote
2131
+ * By default, if icon is http:// or https://, it will be rendered as an image
2132
+ */
2133
+ renderIcon?: ElementIconRenderer | undefined;
2134
+ /**
2135
+ * Customize layout of the controls on the top left
2136
+ */
2137
+ renderControls?: ControlsCustomLayout | undefined;
2138
+ /**
2139
+ * Dynamic filter, applies both to nodes and edges
2140
+ */
2141
+ where?: WhereOperator<string, string> | undefined;
2142
+ /**
2143
+ * Override ReactFlow props
2144
+ */
2145
+ reactFlowProps?: OverrideReactFlowProps | undefined;
2146
+ }
2147
+ type OpenSourceParams = {
2148
+ element: Fqn;
2149
+ property?: string;
2150
+ } | {
2151
+ relation: RelationId;
2152
+ } | {
2153
+ deployment: Fqn;
2154
+ property?: string;
2155
+ } | {
2156
+ view: ViewId;
2157
+ };
2158
+ interface LikeC4DiagramEventHandlers {
2159
+ onChange?: OnChange | null | undefined;
2160
+ onNavigateTo?: OnNavigateTo | null | undefined;
2161
+ onNodeClick?: OnNodeClick | null | undefined;
2162
+ onNodeContextMenu?: OnNodeClick | null | undefined;
2163
+ onCanvasContextMenu?: OnCanvasClick | null | undefined;
2164
+ onEdgeClick?: OnEdgeClick | null | undefined;
2165
+ onEdgeContextMenu?: OnEdgeClick | null | undefined;
2166
+ onCanvasClick?: OnCanvasClick | null | undefined;
2167
+ onCanvasDblClick?: OnCanvasClick | null | undefined;
2168
+ onBurgerMenuClick?: null | undefined | (() => void);
2169
+ onOpenSource?: null | undefined | ((params: OpenSourceParams) => void);
2170
+ }
2171
+ export interface LikeC4ViewProps<ViewId = string, Tag = string, Kind = string> {
2172
+ /**
2173
+ * View to display.
2174
+ */
2175
+ viewId: ViewId;
2176
+ /**
2177
+ * Enable/disable panning
2178
+ * @default false
2179
+ */
2180
+ pannable?: boolean | undefined;
2181
+ /**
2182
+ * Enable/disable zooming
2183
+ * @default false
2184
+ */
2185
+ zoomable?: boolean | undefined;
2186
+ /**
2187
+ * @default true
2188
+ */
2189
+ keepAspectRatio?: boolean | undefined;
2190
+ /**
2191
+ * Background pattern
2192
+ * @default 'transparent'
2193
+ */
2194
+ background?: "dots" | "lines" | "cross" | "transparent" | "solid" | undefined;
2195
+ /**
2196
+ * Click on the view opens a modal with browser.
2197
+ * You can customize or disable the browser.
2198
+ *
2199
+ * @default true
2200
+ */
2201
+ browser?: boolean | LikeC4BrowserProps | undefined;
2202
+ /**
2203
+ * @default - determined by the user's system preferences.
2204
+ */
2205
+ colorScheme?: "light" | "dark" | undefined;
2206
+ /**
2207
+ * LikeC4 views are using 'IBM Plex Sans' font.
2208
+ * By default, component injects the CSS to document head.
2209
+ * Set to false if you want to handle the font yourself.
2210
+ *
2211
+ * @default true
2212
+ */
2213
+ injectFontCss?: boolean | undefined;
2214
+ /**
2215
+ * Show/hide panel with top left controls,
2216
+ * @default false
2217
+ */
2218
+ controls?: boolean | undefined;
2219
+ /**
2220
+ * If set, initial viewport will show all nodes & edges
2221
+ * @default true
2222
+ */
2223
+ fitView?: boolean | undefined;
2224
+ /**
2225
+ * Seems like this is percentage of the view size
2226
+ * @default 0.1
2227
+ */
2228
+ fitViewPadding?: number | undefined;
2229
+ /**
2230
+ * Display diagram title / description
2231
+ *
2232
+ * @default false
2233
+ */
2234
+ showDiagramTitle?: boolean | undefined;
2235
+ /**
2236
+ * Show back/forward navigation buttons
2237
+ * @default false
2238
+ */
2239
+ showNavigationButtons?: undefined | boolean;
2240
+ /**
2241
+ * Display notations of the view
2242
+ * @default false
2243
+ */
2244
+ showNotations?: boolean | undefined;
2245
+ /**
2246
+ * If double click on a node should enable focus mode, i.e. highlight incoming/outgoing edges
2247
+ * Conflicts with `browser` prop
2248
+ *
2249
+ * @default false
2250
+ */
2251
+ enableFocusMode?: boolean | undefined;
2252
+ /**
2253
+ * If Walkthrough for dynamic views should be enabled
2254
+ * @default enableFocusMode
2255
+ */
2256
+ enableDynamicViewWalkthrough?: boolean | undefined;
2257
+ /**
2258
+ * Enable popup with element details
2259
+ * @default false
2260
+ */
2261
+ enableElementDetails?: boolean | undefined;
2262
+ /**
2263
+ * Experimental feature to browse relationships
2264
+ *
2265
+ * @default enableElementDetails
2266
+ */
2267
+ enableRelationshipBrowser?: boolean | undefined;
2268
+ /**
2269
+ * Display dropdown with details on relationship's label click
2270
+ * @default enableRelationshipBrowser
2271
+ */
2272
+ enableRelationshipDetails?: boolean | undefined;
2273
+ /**
2274
+ * Improve performance by hiding certain elements and reducing visual effects (disable mix-blend, shadows, animations)
2275
+ *
2276
+ * @default 'auto' - will be set to true if view is pannable and has more than 3000 * 2000 pixels
2277
+ */
2278
+ reduceGraphics?: "auto" | boolean | undefined;
2279
+ where?: WhereOperator<Tag, Kind> | undefined;
2280
+ /**
2281
+ * Override some react flow props
2282
+ */
2283
+ reactFlowProps?: OverrideReactFlowProps | undefined;
2284
+ className?: string | undefined;
2285
+ style?: CSSProperties | undefined;
2286
+ /**
2287
+ * Override Mantine theme
2288
+ */
2289
+ mantineTheme?: any;
2290
+ /** Function to generate nonce attribute added to all generated `<style />` tags */
2291
+ styleNonce?: string | (() => string) | undefined;
2292
+ /**
2293
+ * Render custom icon for a node
2294
+ * By default, if icon is http:// or https://, it will be rendered as an image
2295
+ */
2296
+ renderIcon?: ElementIconRenderer | undefined;
2297
+ }
2298
+ interface LikeC4BrowserProps {
2299
+ /**
2300
+ * Background pattern for the browser view.
2301
+ * @default 'dots'
2302
+ */
2303
+ background?: "dots" | "lines" | "cross" | "transparent" | "solid" | undefined;
2304
+ /**
2305
+ * Seems like this is percentage of the view size
2306
+ * @default 0.1
2307
+ */
2308
+ fitViewPadding?: number | undefined;
2309
+ /**
2310
+ * Show/hide panel with top left controls,
2311
+ * @default true
2312
+ */
2313
+ controls?: boolean | undefined;
2314
+ /**
2315
+ * Display diagram title / description
2316
+ *
2317
+ * @default true
2318
+ */
2319
+ showDiagramTitle?: boolean | undefined;
2320
+ /**
2321
+ * Show back/forward navigation buttons
2322
+ * @default true
2323
+ */
2324
+ showNavigationButtons?: undefined | boolean;
2325
+ /**
2326
+ * Enable search popup for elements and views
2327
+ * @default true
2328
+ */
2329
+ enableSearch?: boolean | undefined;
2330
+ /**
2331
+ * If double click on a node should enable focus mode
2332
+ *
2333
+ * @default true
2334
+ */
2335
+ enableFocusMode?: boolean | undefined;
2336
+ /**
2337
+ * If Walkthrough for dynamic views should be enabled
2338
+ * @default true
2339
+ */
2340
+ enableDynamicViewWalkthrough?: boolean | undefined;
2341
+ /**
2342
+ * Enable popup with element details
2343
+ * @default true
2344
+ */
2345
+ enableElementDetails?: boolean | undefined;
2346
+ /**
2347
+ * Experimental feature to browse relationships
2348
+ *
2349
+ * @default enableElementDetails
2350
+ */
2351
+ enableRelationshipBrowser?: boolean | undefined;
2352
+ /**
2353
+ * Display dropdown with details on relationship's label click
2354
+ * @default enableRelationshipBrowser
2355
+ */
2356
+ enableRelationshipDetails?: boolean | undefined;
2357
+ /**
2358
+ * Display notations of the view
2359
+ * @default true
2360
+ */
2361
+ showNotations?: boolean | undefined;
2362
+ /**
2363
+ * Improve performance by hiding certain elements and reducing visual effects (disable mix-blend, shadows, animations)
2364
+ *
2365
+ * @default 'auto' - will be set to true if view is pannable and has more than 3000 * 2000 pixels
2366
+ */
2367
+ reduceGraphics?: "auto" | boolean | undefined;
2368
+ className?: string | undefined;
2369
+ style?: CSSProperties | undefined;
2370
+ /**
2371
+ * Override some react flow props
2372
+ */
2373
+ reactFlowProps?: OverrideReactFlowProps | undefined;
2374
+ }
2375
+ export declare function LikeC4View<ViewId extends string = string, Tag = string, Kind = string>({ viewId, ...props }: LikeC4ViewProps<ViewId, Tag, Kind>): import("react/jsx-runtime").JSX.Element;
2376
+ type LikeC4DiagramProps = PropsWithChildren<LikeC4DiagramProperties & LikeC4DiagramEventHandlers>;
2377
+ export type ReactLikeC4Props<ViewId = string, Tag = string, Kind = string> = Omit<LikeC4DiagramProps, "view" | "where" | "onNavigateTo"> & {
2378
+ viewId: ViewId;
2379
+ /**
2380
+ * Keep aspect ratio of the diagram
2381
+ * Disable if you need to manage the viewport (use className)
2382
+ *
2383
+ * @default true
2384
+ */
2385
+ keepAspectRatio?: boolean | undefined;
2386
+ /**
2387
+ * By default determined by the user's system preferences.
2388
+ */
2389
+ colorScheme?: "light" | "dark" | undefined;
2390
+ /**
2391
+ * LikeC4 views are using 'IBM Plex Sans' font.
2392
+ * By default, component injects the CSS to document head.
2393
+ * Set to false if you want to handle the font yourself.
2394
+ *
2395
+ * @default true
2396
+ */
2397
+ injectFontCss?: boolean | undefined;
2398
+ style?: CSSProperties | undefined;
2399
+ where?: WhereOperator<Tag, Kind> | undefined;
2400
+ onNavigateTo?: OnNavigateTo<ViewId> | undefined;
2401
+ mantineTheme?: any;
2402
+ /** Function to generate nonce attribute added to all generated `<style />` tags */
2403
+ styleNonce?: string | (() => string) | undefined;
2404
+ };
2405
+ export declare function ReactLikeC4<ViewId extends string = string, Tag = string, Kind = string>({ viewId, ...props }: ReactLikeC4Props<ViewId, Tag, Kind>): import("react/jsx-runtime").JSX.Element;
2406
+ export declare namespace ReactLikeC4 {
2407
+ var displayName: string;
2408
+ }
2409
+ type LikeC4ModelProviderProps = PropsWithChildren<{
2410
+ /**
2411
+ * The LikeC4 model to be provided to the context.
2412
+ * TODO: refer to 'likec4/model'
2413
+ */
2414
+ likec4model: any;
2415
+ }>;
2416
+ export declare const LikeC4ModelProvider: (props: LikeC4ModelProviderProps) => JSX.Element;
2417
+ type AllKeys<T> = T extends any ? keyof T : never;
2418
+ type Primitive$1 = boolean | number | string;
2419
+ type ReadonlyIfObject<Value> = Value extends undefined ? Value : Value extends (...args: any) => any ? Value : Value extends Primitive$1 ? Value : Value extends object ? Readonly<Value> : Value;
2420
+ interface ReadableAtom<Value = any> {
2421
+ /**
2422
+ * Get store value.
2423
+ *
2424
+ * In contrast with {@link ReadableAtom#value} this value will be always
2425
+ * initialized even if store had no listeners.
2426
+ *
2427
+ * ```js
2428
+ * $store.get()
2429
+ * ```
2430
+ *
2431
+ * @returns Store value.
2432
+ */
2433
+ get(): Value;
2434
+ /**
2435
+ * Listeners count.
2436
+ */
2437
+ readonly lc: number;
2438
+ /**
2439
+ * Subscribe to store changes.
2440
+ *
2441
+ * In contrast with {@link Store#subscribe} it do not call listener
2442
+ * immediately.
2443
+ *
2444
+ * @param listener Callback with store value and old value.
2445
+ * @returns Function to remove listener.
2446
+ */
2447
+ listen(listener: (value: ReadonlyIfObject<Value>, oldValue: ReadonlyIfObject<Value>) => void): () => void;
2448
+ /**
2449
+ * Low-level method to notify listeners about changes in the store.
2450
+ *
2451
+ * Can cause unexpected behaviour when combined with frontend frameworks
2452
+ * that perform equality checks for values, such as React.
2453
+ */
2454
+ notify(oldValue?: ReadonlyIfObject<Value>): void;
2455
+ /**
2456
+ * Unbind all listeners.
2457
+ */
2458
+ off(): void;
2459
+ /**
2460
+ * Subscribe to store changes and call listener immediately.
2461
+ *
2462
+ * ```
2463
+ * import { $router } from '../store'
2464
+ *
2465
+ * $router.subscribe(page => {
2466
+ * console.log(page)
2467
+ * })
2468
+ * ```
2469
+ *
2470
+ * @param listener Callback with store value and old value.
2471
+ * @returns Function to remove listener.
2472
+ */
2473
+ subscribe(listener: (value: ReadonlyIfObject<Value>, oldValue?: ReadonlyIfObject<Value>) => void): () => void;
2474
+ /**
2475
+ * Low-level method to read store’s value without calling `onStart`.
2476
+ *
2477
+ * Try to use only {@link ReadableAtom#get}.
2478
+ * Without subscribers, value can be undefined.
2479
+ */
2480
+ readonly value: undefined | Value;
2481
+ }
2482
+ interface WritableAtom<Value = any> extends ReadableAtom<Value> {
2483
+ /**
2484
+ * Change store value.
2485
+ *
2486
+ * ```js
2487
+ * $router.set({ path: location.pathname, page: parse(location.pathname) })
2488
+ * ```
2489
+ *
2490
+ * @param newValue New store value.
2491
+ */
2492
+ set(newValue: Value): void;
2493
+ }
2494
+ interface PreinitializedWritableAtom<Value> extends WritableAtom<Value> {
2495
+ readonly value: Value;
2496
+ }
2497
+ type Atom<Value = any> = ReadableAtom<Value> | WritableAtom<Value>;
2498
+ declare function atom<Value, StoreExt = object>(...args: undefined extends Value ? [
2499
+ ] | [
2500
+ Value
2501
+ ] : [
2502
+ Value
2503
+ ]): PreinitializedWritableAtom<Value> & StoreExt;
2504
+ type KeyofBase = keyof any;
2505
+ type Get<T, K extends KeyofBase> = Extract<T, {
2506
+ [K1 in K]: any;
2507
+ }>[K];
2508
+ type WritableStore<Value = any> = (Value extends object ? MapStore<Value> : never) | WritableAtom<Value>;
2509
+ type Store<Value = any> = ReadableAtom<Value> | WritableStore<Value>;
2510
+ type AnyStore<Value = any> = {
2511
+ get(): Value;
2512
+ readonly value: undefined | Value;
2513
+ };
2514
+ type StoreValue<SomeStore> = SomeStore extends {
2515
+ get(): infer Value;
2516
+ } ? Value : any;
2517
+ interface MapStore<Value extends object = any> extends WritableAtom<Value> {
2518
+ /**
2519
+ * Subscribe to store changes.
2520
+ *
2521
+ * In contrast with {@link Store#subscribe} it do not call listener
2522
+ * immediately.
2523
+ *
2524
+ * @param listener Callback with store value and old value.
2525
+ * @param changedKey Key that was changed. Will present only if `setKey`
2526
+ * has been used to change a store.
2527
+ * @returns Function to remove listener.
2528
+ */
2529
+ listen(listener: (value: ReadonlyIfObject<Value>, oldValue: ReadonlyIfObject<Value>, changedKey: AllKeys<Value>) => void): () => void;
2530
+ /**
2531
+ * Low-level method to notify listeners about changes in the store.
2532
+ *
2533
+ * Can cause unexpected behaviour when combined with frontend frameworks
2534
+ * that perform equality checks for values, such as React.
2535
+ */
2536
+ notify(oldValue?: ReadonlyIfObject<Value>, changedKey?: AllKeys<Value>): void;
2537
+ /**
2538
+ * Change store value.
2539
+ *
2540
+ * ```js
2541
+ * $settings.set({ theme: 'dark' })
2542
+ * ```
2543
+ *
2544
+ * Operation is atomic, subscribers will be notified once with the new value.
2545
+ * `changedKey` will be undefined
2546
+ *
2547
+ * @param newValue New store value.
2548
+ */
2549
+ set(newValue: Value): void;
2550
+ /**
2551
+ * Change key in store value.
2552
+ *
2553
+ * ```js
2554
+ * $settings.setKey('theme', 'dark')
2555
+ * ```
2556
+ *
2557
+ * To delete key set `undefined`.
2558
+ *
2559
+ * ```js
2560
+ * $settings.setKey('theme', undefined)
2561
+ * ```
2562
+ *
2563
+ * @param key The key name.
2564
+ * @param value New value.
2565
+ */
2566
+ setKey<Key extends AllKeys<Value>>(key: Key, value: Get<Value, Key> | Value[Key]): void;
2567
+ /**
2568
+ * Subscribe to store changes and call listener immediately.
2569
+ *
2570
+ * ```
2571
+ * import { $router } from '../store'
2572
+ *
2573
+ * $router.subscribe(page => {
2574
+ * console.log(page)
2575
+ * })
2576
+ * ```
2577
+ *
2578
+ * @param listener Callback with store value and old value.
2579
+ * @param changedKey Key that was changed. Will present only
2580
+ * if `setKey` has been used to change a store.
2581
+ * @returns Function to remove listener.
2582
+ */
2583
+ subscribe(listener: (value: ReadonlyIfObject<Value>, oldValue: ReadonlyIfObject<Value> | undefined, changedKey: AllKeys<Value> | undefined) => void): () => void;
2584
+ }
2585
+ interface PreinitializedMapStore<Value extends object = any> extends MapStore<Value> {
2586
+ readonly value: Value;
2587
+ }
2588
+ declare function map<Value extends object, StoreExt extends object = object>(value?: Value): PreinitializedMapStore<Value> & StoreExt;
2589
+ interface Task<Value> extends Promise<Value> {
2590
+ t: true;
2591
+ }
2592
+ type StoreValues<Stores extends AnyStore[]> = {
2593
+ [Index in keyof Stores]: StoreValue<Stores[Index]>;
2594
+ };
2595
+ interface Computed {
2596
+ <Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Task<Value>): ReadableAtom<undefined | Value>;
2597
+ <Value, OriginStores extends AnyStore[]>(stores: [
2598
+ ...OriginStores
2599
+ ], cb: (...values: StoreValues<OriginStores>) => Task<Value>): ReadableAtom<undefined | Value>;
2600
+ <Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Value): ReadableAtom<Value>;
2601
+ /**
2602
+ * Create derived store, which use generates value from another stores.
2603
+ *
2604
+ * ```js
2605
+ * import { computed } from 'nanostores'
2606
+ *
2607
+ * import { $users } from './users.js'
2608
+ *
2609
+ * export const $admins = computed($users, users => {
2610
+ * return users.filter(user => user.isAdmin)
2611
+ * })
2612
+ * ```
2613
+ *
2614
+ * An async function can be evaluated by using {@link task}.
2615
+ *
2616
+ * ```js
2617
+ * import { computed, task } from 'nanostores'
2618
+ *
2619
+ * import { $userId } from './users.js'
2620
+ *
2621
+ * export const $user = computed($userId, userId => task(async () => {
2622
+ * const response = await fetch(`https://my-api/users/${userId}`)
2623
+ * return response.json()
2624
+ * }))
2625
+ * ```
2626
+ */
2627
+ <Value, OriginStores extends AnyStore[]>(stores: [
2628
+ ...OriginStores
2629
+ ], cb: (...values: StoreValues<OriginStores>) => Task<Value> | Value): ReadableAtom<Value>;
2630
+ }
2631
+ declare const computed: Computed;
2632
+ type StoreKeys<T> = T extends {
2633
+ setKey: (k: infer K, v: any) => unknown;
2634
+ } ? K : never;
2635
+ interface UseStoreOptions<SomeStore> {
2636
+ /**
2637
+ * @default
2638
+ * ```ts
2639
+ * [store, options.keys]
2640
+ * ```
2641
+ */
2642
+ deps?: DependencyList;
2643
+ /**
2644
+ * Will re-render components only on specific key changes.
2645
+ */
2646
+ keys?: StoreKeys<SomeStore>[];
2647
+ }
2648
+ declare function useStore<SomeStore extends Store>(store: SomeStore, options?: UseStoreOptions<SomeStore>): StoreValue<SomeStore>;
2649
+ export declare const createHooksForModel: ($atom: WritableAtom) => any;
2650
+
2651
+ declare namespace nano {
2652
+ export { Atom, WritableAtom, atom, computed, map, useStore };
2653
+ }
2654
+
2655
+ export {
2656
+ nano,
2657
+ };
2658
+
2659
+ export {};