likec4 1.7.0 → 1.7.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 (992) hide show
  1. package/dist/__app__/src/chunks/{index-nxRBtTOQ.js → index-CsouX5P7.js} +26 -61
  2. package/dist/__app__/src/chunks/{likec4-DiOy4PZ9.js → likec4-5Tyb70uB.js} +319 -816
  3. package/dist/__app__/src/chunks/{mantine-u17mT9KZ.js → mantine-l9Camp3k.js} +336 -686
  4. package/dist/__app__/src/chunks/{tanstack-router-Cg36mbgZ.js → tanstack-router-BgNzIYOs.js} +61 -127
  5. package/dist/__app__/src/main.js +12352 -5
  6. package/dist/__app__/src/style.css +1 -1
  7. package/dist/__app__/tsconfig.tsbuildinfo +1 -1
  8. package/dist/cli/index.mjs +31 -31
  9. package/icons/all.js +2 -2
  10. package/icons/aws/activate.js +7 -7
  11. package/icons/aws/alexa-for-business.js +7 -7
  12. package/icons/aws/amplify.js +7 -7
  13. package/icons/aws/apache-mxnet-on-aws.js +7 -7
  14. package/icons/aws/api-gateway.js +7 -7
  15. package/icons/aws/app-config.js +7 -7
  16. package/icons/aws/app-flow.js +7 -7
  17. package/icons/aws/app-mesh.js +7 -7
  18. package/icons/aws/app-runner.js +7 -7
  19. package/icons/aws/app-stream.js +7 -7
  20. package/icons/aws/app-sync.js +7 -7
  21. package/icons/aws/application-auto-scaling.js +7 -7
  22. package/icons/aws/application-composer.js +7 -7
  23. package/icons/aws/application-cost-profiler.js +7 -7
  24. package/icons/aws/application-discovery-service.js +7 -7
  25. package/icons/aws/application-migration-service.js +7 -7
  26. package/icons/aws/artifact.js +7 -7
  27. package/icons/aws/athena.js +7 -7
  28. package/icons/aws/audit-manager.js +7 -7
  29. package/icons/aws/augmented-ai-a2i.js +7 -7
  30. package/icons/aws/aurora.js +7 -7
  31. package/icons/aws/auto-scaling.js +7 -7
  32. package/icons/aws/backint-agent.js +7 -7
  33. package/icons/aws/backup.js +7 -7
  34. package/icons/aws/batch.js +7 -7
  35. package/icons/aws/billing-conductor.js +7 -7
  36. package/icons/aws/bottlerocket.js +7 -7
  37. package/icons/aws/braket.js +7 -7
  38. package/icons/aws/budgets.js +7 -7
  39. package/icons/aws/certificate-manager.js +7 -7
  40. package/icons/aws/chatbot.js +7 -7
  41. package/icons/aws/chime-sdk.js +7 -7
  42. package/icons/aws/chime-voice-connector.js +7 -7
  43. package/icons/aws/chime.js +7 -7
  44. package/icons/aws/clean-rooms.js +7 -7
  45. package/icons/aws/client-vpn.js +7 -7
  46. package/icons/aws/cloud-control-api.js +7 -7
  47. package/icons/aws/cloud-development-kit.js +7 -7
  48. package/icons/aws/cloud-directory.js +7 -7
  49. package/icons/aws/cloud-formation.js +7 -7
  50. package/icons/aws/cloud-front.js +7 -7
  51. package/icons/aws/cloud-hsm.js +7 -7
  52. package/icons/aws/cloud-map.js +7 -7
  53. package/icons/aws/cloud-search.js +7 -7
  54. package/icons/aws/cloud-shell.js +7 -7
  55. package/icons/aws/cloud-trail.js +7 -7
  56. package/icons/aws/cloud-wan.js +7 -7
  57. package/icons/aws/cloud-watch.js +7 -7
  58. package/icons/aws/cloud9.js +7 -7
  59. package/icons/aws/code-artifact.js +7 -7
  60. package/icons/aws/code-build.js +7 -7
  61. package/icons/aws/code-catalyst.js +7 -7
  62. package/icons/aws/code-commit.js +7 -7
  63. package/icons/aws/code-deploy.js +7 -7
  64. package/icons/aws/code-guru.js +7 -7
  65. package/icons/aws/code-pipeline.js +7 -7
  66. package/icons/aws/code-star.js +7 -7
  67. package/icons/aws/code-whisperer.js +7 -7
  68. package/icons/aws/cognito.js +7 -7
  69. package/icons/aws/command-line-interface.js +7 -7
  70. package/icons/aws/comprehend-medical.js +7 -7
  71. package/icons/aws/comprehend.js +7 -7
  72. package/icons/aws/compute-optimizer.js +7 -7
  73. package/icons/aws/config.js +7 -7
  74. package/icons/aws/connect.js +7 -7
  75. package/icons/aws/console-mobile-application.js +7 -7
  76. package/icons/aws/control-tower.js +7 -7
  77. package/icons/aws/corretto.js +7 -7
  78. package/icons/aws/cost-and-usage-report.js +7 -7
  79. package/icons/aws/cost-explorer.js +7 -7
  80. package/icons/aws/data-exchange.js +7 -7
  81. package/icons/aws/data-pipeline.js +7 -7
  82. package/icons/aws/data-sync.js +7 -7
  83. package/icons/aws/data-zone.js +7 -7
  84. package/icons/aws/database-migration-service.js +7 -7
  85. package/icons/aws/deep-composer.js +7 -7
  86. package/icons/aws/deep-learning-amis.js +7 -7
  87. package/icons/aws/deep-learning-containers.js +7 -7
  88. package/icons/aws/deep-lens.js +7 -7
  89. package/icons/aws/deep-racer.js +7 -7
  90. package/icons/aws/detective.js +7 -7
  91. package/icons/aws/dev-ops-guru.js +7 -7
  92. package/icons/aws/device-farm.js +7 -7
  93. package/icons/aws/direct-connect.js +7 -7
  94. package/icons/aws/directory-service.js +7 -7
  95. package/icons/aws/distro-for-open-telemetry.js +7 -7
  96. package/icons/aws/document-db.js +7 -7
  97. package/icons/aws/dynamo-db.js +7 -7
  98. package/icons/aws/ec2-auto-scaling.js +7 -7
  99. package/icons/aws/ec2-image-builder.js +7 -7
  100. package/icons/aws/ec2.js +7 -7
  101. package/icons/aws/ecs-anywhere.js +7 -7
  102. package/icons/aws/efs.js +7 -7
  103. package/icons/aws/eks-anywhere.js +7 -7
  104. package/icons/aws/eks-cloud.js +7 -7
  105. package/icons/aws/eks-distro.js +7 -7
  106. package/icons/aws/elasti-cache.js +7 -7
  107. package/icons/aws/elastic-beanstalk.js +7 -7
  108. package/icons/aws/elastic-block-store.js +7 -7
  109. package/icons/aws/elastic-container-registry.js +7 -7
  110. package/icons/aws/elastic-container-service.js +7 -7
  111. package/icons/aws/elastic-disaster-recovery.js +7 -7
  112. package/icons/aws/elastic-fabric-adapter.js +7 -7
  113. package/icons/aws/elastic-inference.js +7 -7
  114. package/icons/aws/elastic-kubernetes-service.js +7 -7
  115. package/icons/aws/elastic-load-balancing.js +7 -7
  116. package/icons/aws/elastic-transcoder.js +7 -7
  117. package/icons/aws/elemental-appliances-software.js +7 -7
  118. package/icons/aws/elemental-conductor.js +7 -7
  119. package/icons/aws/elemental-delta.js +7 -7
  120. package/icons/aws/elemental-link.js +7 -7
  121. package/icons/aws/elemental-live.js +7 -7
  122. package/icons/aws/elemental-media-connect.js +7 -7
  123. package/icons/aws/elemental-media-convert.js +7 -7
  124. package/icons/aws/elemental-media-live.js +7 -7
  125. package/icons/aws/elemental-media-package.js +7 -7
  126. package/icons/aws/elemental-media-store.js +7 -7
  127. package/icons/aws/elemental-media-tailor.js +7 -7
  128. package/icons/aws/elemental-server.js +7 -7
  129. package/icons/aws/emr.js +7 -7
  130. package/icons/aws/event-bridge.js +7 -7
  131. package/icons/aws/express-workflows.js +7 -7
  132. package/icons/aws/fargate.js +7 -7
  133. package/icons/aws/fault-injection-simulator.js +7 -7
  134. package/icons/aws/file-cache.js +7 -7
  135. package/icons/aws/fin-space.js +7 -7
  136. package/icons/aws/firewall-manager.js +7 -7
  137. package/icons/aws/forecast.js +7 -7
  138. package/icons/aws/fraud-detector.js +7 -7
  139. package/icons/aws/free-rtos.js +7 -7
  140. package/icons/aws/fsx-for-lustre.js +7 -7
  141. package/icons/aws/fsx-for-net-app-ontap.js +7 -7
  142. package/icons/aws/fsx-for-open-zfs.js +7 -7
  143. package/icons/aws/fsx-for-wfs.js +7 -7
  144. package/icons/aws/fsx.js +7 -7
  145. package/icons/aws/game-kit.js +7 -7
  146. package/icons/aws/game-lift.js +7 -7
  147. package/icons/aws/game-sparks.js +7 -7
  148. package/icons/aws/genomics-cli.js +7 -7
  149. package/icons/aws/global-accelerator.js +7 -7
  150. package/icons/aws/glue-data-brew.js +7 -7
  151. package/icons/aws/glue-elastic-views.js +7 -7
  152. package/icons/aws/glue.js +7 -7
  153. package/icons/aws/ground-station.js +7 -7
  154. package/icons/aws/guard-duty.js +7 -7
  155. package/icons/aws/health-lake.js +7 -7
  156. package/icons/aws/honeycode.js +7 -7
  157. package/icons/aws/iam-identity-center.js +7 -7
  158. package/icons/aws/identity-and-access-management.js +7 -7
  159. package/icons/aws/inspector.js +7 -7
  160. package/icons/aws/interactive-video-service.js +7 -7
  161. package/icons/aws/io-t-1-click.js +7 -7
  162. package/icons/aws/io-t-analytics.js +7 -7
  163. package/icons/aws/io-t-button.js +7 -7
  164. package/icons/aws/io-t-core.js +7 -7
  165. package/icons/aws/io-t-device-defender.js +7 -7
  166. package/icons/aws/io-t-device-management.js +7 -7
  167. package/icons/aws/io-t-edu-kit.js +7 -7
  168. package/icons/aws/io-t-events.js +7 -7
  169. package/icons/aws/io-t-express-link.js +7 -7
  170. package/icons/aws/io-t-fleet-wise.js +7 -7
  171. package/icons/aws/io-t-greengrass.js +7 -7
  172. package/icons/aws/io-t-robo-runner.js +7 -7
  173. package/icons/aws/io-t-site-wise.js +7 -7
  174. package/icons/aws/io-t-things-graph.js +7 -7
  175. package/icons/aws/io-t-twin-maker.js +6 -6
  176. package/icons/aws/iq.js +7 -7
  177. package/icons/aws/kendra.js +7 -7
  178. package/icons/aws/key-management-service.js +7 -7
  179. package/icons/aws/keyspaces.js +7 -7
  180. package/icons/aws/kinesis-data-analytics.js +7 -7
  181. package/icons/aws/kinesis-data-streams.js +7 -7
  182. package/icons/aws/kinesis-firehose.js +7 -7
  183. package/icons/aws/kinesis-video-streams.js +7 -7
  184. package/icons/aws/kinesis.js +7 -7
  185. package/icons/aws/lake-formation.js +7 -7
  186. package/icons/aws/lambda.js +7 -7
  187. package/icons/aws/launch-wizard.js +7 -7
  188. package/icons/aws/lex.js +7 -7
  189. package/icons/aws/license-manager.js +7 -7
  190. package/icons/aws/lightsail.js +7 -7
  191. package/icons/aws/local-zones.js +7 -7
  192. package/icons/aws/location-service.js +7 -7
  193. package/icons/aws/lookout-for-equipment.js +7 -7
  194. package/icons/aws/lookout-for-metrics.js +7 -7
  195. package/icons/aws/lookout-for-vision.js +7 -7
  196. package/icons/aws/lumberyard.js +7 -7
  197. package/icons/aws/macie.js +7 -7
  198. package/icons/aws/mainframe-modernization.js +7 -7
  199. package/icons/aws/managed-blockchain.js +7 -7
  200. package/icons/aws/managed-grafana.js +7 -7
  201. package/icons/aws/managed-service-for-prometheus.js +7 -7
  202. package/icons/aws/managed-services.js +7 -7
  203. package/icons/aws/managed-streaming-for-apache-kafka.js +7 -7
  204. package/icons/aws/managed-workflows-for-apache-airflow.js +7 -7
  205. package/icons/aws/management-console.js +7 -7
  206. package/icons/aws/marketplace-dark.js +3 -3
  207. package/icons/aws/marketplace-light.js +3 -3
  208. package/icons/aws/memory-db-for-redis.js +7 -7
  209. package/icons/aws/migration-evaluator.js +7 -7
  210. package/icons/aws/migration-hub.js +7 -7
  211. package/icons/aws/monitron.js +7 -7
  212. package/icons/aws/mq.js +7 -7
  213. package/icons/aws/neptune.js +7 -7
  214. package/icons/aws/network-firewall.js +7 -7
  215. package/icons/aws/neuron.js +7 -7
  216. package/icons/aws/nice-dcv.js +7 -7
  217. package/icons/aws/nice-engin-frame.js +7 -7
  218. package/icons/aws/nimble-studio.js +7 -7
  219. package/icons/aws/nitro-enclaves.js +7 -7
  220. package/icons/aws/omics.js +7 -7
  221. package/icons/aws/open-3d-engine.js +7 -7
  222. package/icons/aws/open-search-service.js +7 -7
  223. package/icons/aws/ops-works.js +7 -7
  224. package/icons/aws/organizations.js +7 -7
  225. package/icons/aws/outposts-family.js +7 -7
  226. package/icons/aws/outposts-rack.js +7 -7
  227. package/icons/aws/outposts-servers.js +7 -7
  228. package/icons/aws/panorama.js +7 -7
  229. package/icons/aws/parallel-cluster.js +7 -7
  230. package/icons/aws/personal-health-dashboard.js +7 -7
  231. package/icons/aws/personalize.js +7 -7
  232. package/icons/aws/pinpoint-apis.js +7 -7
  233. package/icons/aws/pinpoint.js +7 -7
  234. package/icons/aws/polly.js +7 -7
  235. package/icons/aws/private-5g.js +7 -7
  236. package/icons/aws/private-certificate-authority.js +9 -9
  237. package/icons/aws/private-link.js +7 -7
  238. package/icons/aws/professional-services.js +7 -7
  239. package/icons/aws/proton.js +7 -7
  240. package/icons/aws/quantum-ledger-database.js +7 -7
  241. package/icons/aws/quick-sight.js +7 -7
  242. package/icons/aws/rds-on-vmware.js +7 -7
  243. package/icons/aws/rds.js +7 -7
  244. package/icons/aws/re-post.js +7 -7
  245. package/icons/aws/red-hat-open-shift-service-on-aws.js +7 -7
  246. package/icons/aws/redshift.js +7 -7
  247. package/icons/aws/rekognition.js +7 -7
  248. package/icons/aws/reserved-instance-reporting.js +7 -7
  249. package/icons/aws/resilience-hub.js +7 -7
  250. package/icons/aws/resource-access-manager.js +7 -7
  251. package/icons/aws/resource-explorer.js +7 -7
  252. package/icons/aws/robo-maker.js +7 -7
  253. package/icons/aws/route-53.js +7 -7
  254. package/icons/aws/s3-on-outposts.js +7 -7
  255. package/icons/aws/sage-maker-ground-truth.js +7 -7
  256. package/icons/aws/sage-maker-studio-lab.js +7 -7
  257. package/icons/aws/sage-maker.js +7 -7
  258. package/icons/aws/savings-plans.js +7 -7
  259. package/icons/aws/secrets-manager.js +7 -7
  260. package/icons/aws/security-hub.js +7 -7
  261. package/icons/aws/security-lake.js +7 -7
  262. package/icons/aws/server-migration-service.js +7 -7
  263. package/icons/aws/serverless-application-repository.js +7 -7
  264. package/icons/aws/service-catalog.js +7 -7
  265. package/icons/aws/service-management-connector.js +9 -9
  266. package/icons/aws/shield.js +7 -7
  267. package/icons/aws/signer.js +7 -7
  268. package/icons/aws/sim-space-weaver.js +7 -7
  269. package/icons/aws/simple-email-service.js +7 -7
  270. package/icons/aws/simple-notification-service.js +7 -7
  271. package/icons/aws/simple-queue-service.js +7 -7
  272. package/icons/aws/simple-storage-service-glacier.js +7 -7
  273. package/icons/aws/simple-storage-service.js +7 -7
  274. package/icons/aws/site-to-site-vpn.js +7 -7
  275. package/icons/aws/snowball-edge.js +7 -7
  276. package/icons/aws/snowball.js +7 -7
  277. package/icons/aws/snowcone.js +7 -7
  278. package/icons/aws/snowmobile.js +7 -7
  279. package/icons/aws/step-functions.js +7 -7
  280. package/icons/aws/storage-gateway.js +7 -7
  281. package/icons/aws/sumerian.js +7 -7
  282. package/icons/aws/supply-chain.js +7 -7
  283. package/icons/aws/support.js +7 -7
  284. package/icons/aws/systems-manager.js +7 -7
  285. package/icons/aws/tensor-flow-on-aws.js +7 -7
  286. package/icons/aws/textract.js +7 -7
  287. package/icons/aws/thinkbox-deadline.js +7 -7
  288. package/icons/aws/thinkbox-frost.js +7 -7
  289. package/icons/aws/thinkbox-krakatoa.js +7 -7
  290. package/icons/aws/thinkbox-sequoia.js +7 -7
  291. package/icons/aws/thinkbox-stoke.js +7 -7
  292. package/icons/aws/thinkbox-xmesh.js +7 -7
  293. package/icons/aws/timestream.js +7 -7
  294. package/icons/aws/tools-and-sdks.js +7 -7
  295. package/icons/aws/torch-serve.js +7 -7
  296. package/icons/aws/training-certification.js +7 -7
  297. package/icons/aws/transcribe.js +7 -7
  298. package/icons/aws/transfer-family.js +7 -7
  299. package/icons/aws/transit-gateway.js +7 -7
  300. package/icons/aws/translate.js +7 -7
  301. package/icons/aws/trusted-advisor.js +7 -7
  302. package/icons/aws/verified-access.js +7 -7
  303. package/icons/aws/verified-permissions.js +7 -7
  304. package/icons/aws/virtual-private-cloud.js +7 -7
  305. package/icons/aws/vmware-cloud-on-aws.js +7 -7
  306. package/icons/aws/vpc-lattice.js +7 -7
  307. package/icons/aws/waf.js +7 -7
  308. package/icons/aws/wavelength.js +7 -7
  309. package/icons/aws/well-architected-tool.js +7 -7
  310. package/icons/aws/wickr.js +7 -7
  311. package/icons/aws/work-docs-sdk.js +7 -7
  312. package/icons/aws/work-docs.js +7 -7
  313. package/icons/aws/work-link.js +7 -7
  314. package/icons/aws/work-mail.js +7 -7
  315. package/icons/aws/work-spaces-family.js +7 -7
  316. package/icons/aws/x-ray.js +7 -7
  317. package/icons/gcp/access-context-manager.js +4 -4
  318. package/icons/gcp/administration.js +10 -10
  319. package/icons/gcp/advanced-agent-modeling.js +6 -6
  320. package/icons/gcp/advanced-solutions-lab.js +29 -29
  321. package/icons/gcp/agent-assist.js +1 -1
  322. package/icons/gcp/ai-hub.js +10 -10
  323. package/icons/gcp/ai-platform-unified.js +8 -8
  324. package/icons/gcp/ai-platform.js +3 -3
  325. package/icons/gcp/analytics-hub.js +4 -4
  326. package/icons/gcp/anthos-config-management.js +4 -4
  327. package/icons/gcp/anthos-service-mesh.js +1 -1
  328. package/icons/gcp/anthos.js +5 -5
  329. package/icons/gcp/api-analytics.js +7 -7
  330. package/icons/gcp/api-monetization.js +10 -10
  331. package/icons/gcp/api.js +5 -5
  332. package/icons/gcp/apigee-api-platform.js +6 -6
  333. package/icons/gcp/apigee-sense.js +4 -4
  334. package/icons/gcp/app-engine.js +7 -7
  335. package/icons/gcp/artifact-registry.js +15 -15
  336. package/icons/gcp/asset-inventory.js +6 -6
  337. package/icons/gcp/assured-workloads.js +8 -8
  338. package/icons/gcp/auto-ml-natural-language.js +3 -3
  339. package/icons/gcp/auto-ml-tables.js +6 -6
  340. package/icons/gcp/auto-ml-translation.js +6 -6
  341. package/icons/gcp/auto-ml-video-intelligence.js +6 -6
  342. package/icons/gcp/auto-ml-vision.js +5 -5
  343. package/icons/gcp/auto-ml.js +7 -7
  344. package/icons/gcp/bare-metal-solutions.js +4 -4
  345. package/icons/gcp/batch.js +1 -1
  346. package/icons/gcp/beyondcorp.js +1 -1
  347. package/icons/gcp/big-query.js +8 -8
  348. package/icons/gcp/bigtable.js +19 -19
  349. package/icons/gcp/billing.js +10 -10
  350. package/icons/gcp/binary-authorization.js +4 -4
  351. package/icons/gcp/catalog.js +6 -6
  352. package/icons/gcp/certificate-authority-service.js +4 -4
  353. package/icons/gcp/certificate-manager.js +4 -4
  354. package/icons/gcp/cloud-api-gateway.js +1 -1
  355. package/icons/gcp/cloud-apis.js +11 -11
  356. package/icons/gcp/cloud-armor.js +8 -8
  357. package/icons/gcp/cloud-asset-inventory.js +4 -4
  358. package/icons/gcp/cloud-audit-logs.js +11 -11
  359. package/icons/gcp/cloud-build.js +6 -6
  360. package/icons/gcp/cloud-cdn.js +15 -15
  361. package/icons/gcp/cloud-code.js +9 -9
  362. package/icons/gcp/cloud-composer.js +6 -6
  363. package/icons/gcp/cloud-data-fusion.js +8 -8
  364. package/icons/gcp/cloud-deploy.js +4 -4
  365. package/icons/gcp/cloud-deployment-manager.js +11 -11
  366. package/icons/gcp/cloud-dns.js +13 -13
  367. package/icons/gcp/cloud-domains.js +6 -6
  368. package/icons/gcp/cloud-ekm.js +1 -1
  369. package/icons/gcp/cloud-endpoints.js +10 -10
  370. package/icons/gcp/cloud-external-ip-addresses.js +3 -3
  371. package/icons/gcp/cloud-firewall-rules.js +3 -3
  372. package/icons/gcp/cloud-for-marketing.js +1 -1
  373. package/icons/gcp/cloud-functions.js +16 -16
  374. package/icons/gcp/cloud-generic.js +1 -1
  375. package/icons/gcp/cloud-gpu.js +5 -5
  376. package/icons/gcp/cloud-healthcare-api.js +12 -12
  377. package/icons/gcp/cloud-healthcare-marketplace.js +4 -4
  378. package/icons/gcp/cloud-hsm.js +7 -7
  379. package/icons/gcp/cloud-ids.js +6 -6
  380. package/icons/gcp/cloud-inference-api.js +9 -9
  381. package/icons/gcp/cloud-interconnect.js +8 -8
  382. package/icons/gcp/cloud-jobs-api.js +9 -9
  383. package/icons/gcp/cloud-load-balancing.js +13 -13
  384. package/icons/gcp/cloud-logging.js +11 -11
  385. package/icons/gcp/cloud-media-edge.js +17 -17
  386. package/icons/gcp/cloud-monitoring.js +7 -7
  387. package/icons/gcp/cloud-nat.js +6 -6
  388. package/icons/gcp/cloud-natural-language-api.js +10 -10
  389. package/icons/gcp/cloud-network.js +10 -10
  390. package/icons/gcp/cloud-ops.js +8 -8
  391. package/icons/gcp/cloud-optimization-ai-fleet-routing-api.js +4 -4
  392. package/icons/gcp/cloud-optimization-ai.js +4 -4
  393. package/icons/gcp/cloud-router.js +1 -1
  394. package/icons/gcp/cloud-routes.js +5 -5
  395. package/icons/gcp/cloud-run-for-anthos.js +3 -3
  396. package/icons/gcp/cloud-run.js +6 -6
  397. package/icons/gcp/cloud-scheduler.js +10 -10
  398. package/icons/gcp/cloud-security-scanner.js +9 -9
  399. package/icons/gcp/cloud-shell.js +4 -4
  400. package/icons/gcp/cloud-spanner.js +8 -8
  401. package/icons/gcp/cloud-sql.js +9 -9
  402. package/icons/gcp/cloud-storage.js +15 -15
  403. package/icons/gcp/cloud-tasks.js +18 -18
  404. package/icons/gcp/cloud-test-lab.js +8 -8
  405. package/icons/gcp/cloud-tpu.js +19 -19
  406. package/icons/gcp/cloud-translation-api.js +3 -3
  407. package/icons/gcp/cloud-vision-api.js +9 -9
  408. package/icons/gcp/cloud-vpn.js +10 -10
  409. package/icons/gcp/compute-engine.js +10 -10
  410. package/icons/gcp/configuration-management.js +4 -4
  411. package/icons/gcp/connectivity-test.js +1 -1
  412. package/icons/gcp/connectors.js +7 -7
  413. package/icons/gcp/contact-center-ai.js +1 -1
  414. package/icons/gcp/container-optimized-os.js +1 -1
  415. package/icons/gcp/container-registry.js +20 -20
  416. package/icons/gcp/data-catalog.js +6 -6
  417. package/icons/gcp/data-labeling.js +12 -12
  418. package/icons/gcp/data-layers.js +5 -5
  419. package/icons/gcp/data-loss-prevention-api.js +11 -11
  420. package/icons/gcp/data-qn-a.js +6 -6
  421. package/icons/gcp/data-studio.js +9 -9
  422. package/icons/gcp/data-transfer.js +5 -5
  423. package/icons/gcp/database-migration-service.js +4 -4
  424. package/icons/gcp/dataflow.js +13 -13
  425. package/icons/gcp/datalab.js +1 -1
  426. package/icons/gcp/dataplex.js +3 -3
  427. package/icons/gcp/datapol.js +14 -14
  428. package/icons/gcp/dataprep.js +6 -6
  429. package/icons/gcp/dataproc-metastore.js +1 -1
  430. package/icons/gcp/dataproc.js +12 -12
  431. package/icons/gcp/datashare.js +6 -6
  432. package/icons/gcp/datastore.js +32 -32
  433. package/icons/gcp/datastream.js +10 -10
  434. package/icons/gcp/debugger.js +7 -7
  435. package/icons/gcp/developer-portal.js +5 -5
  436. package/icons/gcp/dialogflow-cx.js +4 -4
  437. package/icons/gcp/dialogflow-insights.js +8 -8
  438. package/icons/gcp/dialogflow.js +3 -3
  439. package/icons/gcp/document-ai.js +8 -8
  440. package/icons/gcp/early-access-center.js +1 -1
  441. package/icons/gcp/error-reporting.js +7 -7
  442. package/icons/gcp/eventarc.js +5 -5
  443. package/icons/gcp/filestore.js +7 -7
  444. package/icons/gcp/financial-services-marketplace.js +9 -9
  445. package/icons/gcp/firestore.js +7 -7
  446. package/icons/gcp/fleet-engine.js +4 -4
  447. package/icons/gcp/free-trial.js +8 -8
  448. package/icons/gcp/game-servers.js +14 -14
  449. package/icons/gcp/gce-systems-management.js +1 -1
  450. package/icons/gcp/genomics.js +16 -16
  451. package/icons/gcp/gke-on-prem.js +6 -6
  452. package/icons/gcp/google-cloud-marketplace.js +8 -8
  453. package/icons/gcp/google-kubernetes-engine.js +10 -10
  454. package/icons/gcp/google-maps-platform.js +6 -6
  455. package/icons/gcp/healthcare-nlp-api.js +1 -1
  456. package/icons/gcp/home.js +7 -7
  457. package/icons/gcp/identity-and-access-management.js +3 -3
  458. package/icons/gcp/identity-aware-proxy.js +7 -7
  459. package/icons/gcp/identity-platform.js +7 -7
  460. package/icons/gcp/iot-core.js +3 -3
  461. package/icons/gcp/iot-edge.js +35 -35
  462. package/icons/gcp/key-access-justifications.js +11 -11
  463. package/icons/gcp/key-management-service.js +3 -3
  464. package/icons/gcp/kuberun.js +5 -5
  465. package/icons/gcp/launcher.js +11 -11
  466. package/icons/gcp/local-ssd.js +1 -1
  467. package/icons/gcp/looker.js +5 -5
  468. package/icons/gcp/managed-service-for-microsoft-active-directory.js +9 -9
  469. package/icons/gcp/media-translation-api.js +4 -4
  470. package/icons/gcp/memorystore.js +7 -7
  471. package/icons/gcp/migrate-for-anthos.js +1 -1
  472. package/icons/gcp/migrate-for-compute-engine.js +1 -1
  473. package/icons/gcp/my-cloud.js +6 -6
  474. package/icons/gcp/network-connectivity-center.js +23 -23
  475. package/icons/gcp/network-intelligence-center.js +1 -1
  476. package/icons/gcp/network-security.js +7 -7
  477. package/icons/gcp/network-tiers.js +10 -10
  478. package/icons/gcp/network-topology.js +1 -1
  479. package/icons/gcp/onboarding.js +8 -8
  480. package/icons/gcp/os-configuration-management.js +1 -1
  481. package/icons/gcp/os-inventory-management.js +3 -3
  482. package/icons/gcp/os-patch-management.js +1 -1
  483. package/icons/gcp/partner-interconnect.js +8 -8
  484. package/icons/gcp/partner-portal.js +4 -4
  485. package/icons/gcp/performance-dashboard.js +1 -1
  486. package/icons/gcp/permissions.js +5 -5
  487. package/icons/gcp/persistent-disk.js +4 -4
  488. package/icons/gcp/phishing-protection.js +10 -10
  489. package/icons/gcp/policy-analyzer.js +1 -1
  490. package/icons/gcp/premium-network-tier.js +6 -6
  491. package/icons/gcp/private-connectivity.js +6 -6
  492. package/icons/gcp/private-service-connect.js +9 -9
  493. package/icons/gcp/producer-portal.js +5 -5
  494. package/icons/gcp/profiler.js +8 -8
  495. package/icons/gcp/project.js +11 -11
  496. package/icons/gcp/pub-sub.js +19 -19
  497. package/icons/gcp/quantum-engine.js +7 -7
  498. package/icons/gcp/quotas.js +12 -12
  499. package/icons/gcp/real-world-insights.js +6 -6
  500. package/icons/gcp/recommendations-ai.js +16 -16
  501. package/icons/gcp/release-notes.js +1 -1
  502. package/icons/gcp/retail-api.js +4 -4
  503. package/icons/gcp/risk-manager.js +1 -1
  504. package/icons/gcp/runtime-config.js +12 -12
  505. package/icons/gcp/secret-manager.js +1 -1
  506. package/icons/gcp/security-command-center.js +5 -5
  507. package/icons/gcp/security-health-advisor.js +11 -11
  508. package/icons/gcp/security-key-enforcement.js +3 -3
  509. package/icons/gcp/security.js +4 -4
  510. package/icons/gcp/service-discovery.js +13 -13
  511. package/icons/gcp/speech-to-text.js +14 -14
  512. package/icons/gcp/stackdriver.js +4 -4
  513. package/icons/gcp/standard-network-tier.js +1 -1
  514. package/icons/gcp/stream-suite.js +4 -4
  515. package/icons/gcp/support.js +5 -5
  516. package/icons/gcp/tensorflow-enterprise.js +1 -1
  517. package/icons/gcp/text-to-speech.js +5 -5
  518. package/icons/gcp/tools-for-powershell.js +10 -10
  519. package/icons/gcp/trace.js +9 -9
  520. package/icons/gcp/traffic-director.js +11 -11
  521. package/icons/gcp/transfer-appliance.js +7 -7
  522. package/icons/gcp/transfer.js +1 -1
  523. package/icons/gcp/user-preferences.js +5 -5
  524. package/icons/gcp/vertex-ai.js +24 -24
  525. package/icons/gcp/video-intelligence-api.js +3 -3
  526. package/icons/gcp/virtual-private-cloud.js +12 -12
  527. package/icons/gcp/visual-inspection.js +4 -4
  528. package/icons/gcp/vmware-engine.js +1 -1
  529. package/icons/gcp/web-risk.js +11 -11
  530. package/icons/gcp/web-security-scanner.js +8 -8
  531. package/icons/gcp/workflows.js +12 -12
  532. package/icons/gcp/workload-identity-pool.js +5 -5
  533. package/icons/tech/aarch64.js +7 -7
  534. package/icons/tech/adobe-illustrator.js +1 -1
  535. package/icons/tech/adobe-photoshop.js +1 -1
  536. package/icons/tech/adobe-premiere-pro.js +4 -4
  537. package/icons/tech/adobe-xd.js +1 -1
  538. package/icons/tech/adonis-js.js +1 -1
  539. package/icons/tech/after-effects.js +4 -4
  540. package/icons/tech/airflow.js +10 -10
  541. package/icons/tech/akka.js +3 -3
  542. package/icons/tech/algolia.js +1 -1
  543. package/icons/tech/alpine-js.js +3 -3
  544. package/icons/tech/amazon-web-services.js +3 -3
  545. package/icons/tech/anaconda.js +1 -1
  546. package/icons/tech/android-studio.js +8 -8
  547. package/icons/tech/android.js +5 -5
  548. package/icons/tech/angular-js.js +6 -6
  549. package/icons/tech/angular.js +4 -4
  550. package/icons/tech/ansible.js +3 -3
  551. package/icons/tech/ant-design.js +21 -21
  552. package/icons/tech/apache.js +71 -71
  553. package/icons/tech/apl.js +3 -3
  554. package/icons/tech/appcelerator.js +1 -1
  555. package/icons/tech/apple-safari.js +10 -10
  556. package/icons/tech/apple.js +1 -1
  557. package/icons/tech/appwrite.js +3 -3
  558. package/icons/tech/arch-linux.js +3 -3
  559. package/icons/tech/arduino.js +3 -3
  560. package/icons/tech/argo-cd.js +31 -31
  561. package/icons/tech/astro.js +11 -11
  562. package/icons/tech/atom.js +1 -1
  563. package/icons/tech/autodesk-maya.js +41 -41
  564. package/icons/tech/autodesk-shot-grid.js +3 -3
  565. package/icons/tech/awk.js +15 -15
  566. package/icons/tech/azios.js +1 -1
  567. package/icons/tech/azure-devops.js +8 -8
  568. package/icons/tech/azure-sql-database.js +19 -19
  569. package/icons/tech/azure.js +18 -18
  570. package/icons/tech/babel.js +3 -3
  571. package/icons/tech/backbone-js.js +4 -4
  572. package/icons/tech/ballerina.js +1 -1
  573. package/icons/tech/bamboo.js +11 -11
  574. package/icons/tech/bash.js +4 -4
  575. package/icons/tech/behance.js +6 -6
  576. package/icons/tech/bitbucket.js +6 -6
  577. package/icons/tech/blender.js +3 -3
  578. package/icons/tech/bootstrap.js +18 -18
  579. package/icons/tech/bower.js +15 -15
  580. package/icons/tech/browserstack.js +11 -11
  581. package/icons/tech/bulma.js +1 -1
  582. package/icons/tech/bun.js +14 -14
  583. package/icons/tech/c.js +4 -4
  584. package/icons/tech/cairo-graphics.js +3 -3
  585. package/icons/tech/cake-php.js +1 -1
  586. package/icons/tech/canva.js +3 -3
  587. package/icons/tech/capacitor.js +7 -7
  588. package/icons/tech/cassandra.js +14 -14
  589. package/icons/tech/cent-os.js +10 -10
  590. package/icons/tech/chrome.js +35 -35
  591. package/icons/tech/circle-ci.js +1 -1
  592. package/icons/tech/clarity.js +5 -5
  593. package/icons/tech/clion.js +27 -27
  594. package/icons/tech/clojure-script.js +5 -5
  595. package/icons/tech/clojure.js +6 -6
  596. package/icons/tech/cloudflare-workers.js +34 -34
  597. package/icons/tech/cloudflare.js +4 -4
  598. package/icons/tech/cmake.js +5 -5
  599. package/icons/tech/code-igniter.js +1 -1
  600. package/icons/tech/code-pen.js +1 -1
  601. package/icons/tech/codeac.js +1 -1
  602. package/icons/tech/codecov.js +1 -1
  603. package/icons/tech/coffee-script.js +1 -1
  604. package/icons/tech/composer.js +32 -32
  605. package/icons/tech/confluence.js +12 -12
  606. package/icons/tech/consul.js +1 -1
  607. package/icons/tech/contao.js +1 -1
  608. package/icons/tech/corejs.js +1 -1
  609. package/icons/tech/cosmosdb.js +6 -6
  610. package/icons/tech/couchdb.js +1 -1
  611. package/icons/tech/cplusplus.js +5 -5
  612. package/icons/tech/crystal.js +1 -1
  613. package/icons/tech/csharp.js +4 -4
  614. package/icons/tech/css3.js +7 -7
  615. package/icons/tech/cucumber.js +1 -1
  616. package/icons/tech/cypress.js +3 -3
  617. package/icons/tech/d3js.js +25 -25
  618. package/icons/tech/dart.js +6 -6
  619. package/icons/tech/data-grip.js +31 -31
  620. package/icons/tech/data-spell.js +24 -24
  621. package/icons/tech/dbeaver.js +8 -8
  622. package/icons/tech/debian.js +1 -1
  623. package/icons/tech/deno.js +1 -1
  624. package/icons/tech/devicon.js +7 -7
  625. package/icons/tech/digital-ocean.js +3 -3
  626. package/icons/tech/discord-js.js +8 -8
  627. package/icons/tech/django-rest.js +5 -5
  628. package/icons/tech/django.js +3 -3
  629. package/icons/tech/docker.js +17 -17
  630. package/icons/tech/doctrine.js +3 -3
  631. package/icons/tech/dropwizard.js +19 -19
  632. package/icons/tech/drupal.js +8 -8
  633. package/icons/tech/eclipse-ceylon.js +7 -7
  634. package/icons/tech/eclipse-ide.js +17 -17
  635. package/icons/tech/eclipse-vert-x.js +3 -3
  636. package/icons/tech/elasticbeats.js +4 -4
  637. package/icons/tech/elasticsearch.js +4 -4
  638. package/icons/tech/electron.js +5 -5
  639. package/icons/tech/eleventy-11ty.js +3 -3
  640. package/icons/tech/elixir.js +32 -32
  641. package/icons/tech/elm.js +7 -7
  642. package/icons/tech/embedded-c.js +27 -27
  643. package/icons/tech/ember-js.js +3 -3
  644. package/icons/tech/envoy.js +4 -4
  645. package/icons/tech/erlang.js +1 -1
  646. package/icons/tech/eslint.js +3 -3
  647. package/icons/tech/express.js +1 -1
  648. package/icons/tech/facebook.js +3 -3
  649. package/icons/tech/fast-api.js +1 -1
  650. package/icons/tech/fastify.js +3 -3
  651. package/icons/tech/fauna.js +1 -1
  652. package/icons/tech/feathers.js +1 -1
  653. package/icons/tech/fedora.js +7 -7
  654. package/icons/tech/figma.js +6 -6
  655. package/icons/tech/file-zilla.js +5 -5
  656. package/icons/tech/firebase.js +1 -1
  657. package/icons/tech/firefox.js +332 -332
  658. package/icons/tech/flask.js +1 -1
  659. package/icons/tech/flutter.js +9 -9
  660. package/icons/tech/fortran.js +1 -1
  661. package/icons/tech/foundation.js +34 -34
  662. package/icons/tech/fsharp.js +4 -4
  663. package/icons/tech/gatling.js +1 -1
  664. package/icons/tech/gatsby.js +1 -1
  665. package/icons/tech/gazebo.js +5 -5
  666. package/icons/tech/gcc.js +8 -8
  667. package/icons/tech/gentoo.js +1 -1
  668. package/icons/tech/ghost.js +3 -3
  669. package/icons/tech/gimp.js +65 -65
  670. package/icons/tech/git.js +1 -1
  671. package/icons/tech/gitbook.js +1 -1
  672. package/icons/tech/github-actions.js +3 -3
  673. package/icons/tech/github-codespaces.js +15 -15
  674. package/icons/tech/github.js +3 -3
  675. package/icons/tech/gitlab.js +5 -5
  676. package/icons/tech/gitpod.js +5 -5
  677. package/icons/tech/gitter.js +1 -1
  678. package/icons/tech/gnu-emacs.js +1 -1
  679. package/icons/tech/go-land.js +30 -30
  680. package/icons/tech/go.js +36 -36
  681. package/icons/tech/godot-engine.js +8 -8
  682. package/icons/tech/google-cloud.js +5 -5
  683. package/icons/tech/google.js +6 -6
  684. package/icons/tech/gradle.js +1 -1
  685. package/icons/tech/grafana.js +5 -5
  686. package/icons/tech/grails.js +3 -3
  687. package/icons/tech/graphql.js +9 -9
  688. package/icons/tech/groovy.js +99 -99
  689. package/icons/tech/grunt-js.js +30 -30
  690. package/icons/tech/gulp-js.js +1 -1
  691. package/icons/tech/hadoop.js +6 -6
  692. package/icons/tech/handlebars.js +3 -3
  693. package/icons/tech/hardhat.js +23 -23
  694. package/icons/tech/harvester.js +4 -4
  695. package/icons/tech/hashicorp-vault.js +1 -1
  696. package/icons/tech/haskell.js +4 -4
  697. package/icons/tech/haxe.js +11 -11
  698. package/icons/tech/helm.js +1 -1
  699. package/icons/tech/heroku.js +1 -1
  700. package/icons/tech/hibernate.js +3 -3
  701. package/icons/tech/homebrew.js +6 -6
  702. package/icons/tech/html5.js +5 -5
  703. package/icons/tech/hugo.js +4 -4
  704. package/icons/tech/ibm-spss-statistics.js +3 -3
  705. package/icons/tech/ie10.js +1 -1
  706. package/icons/tech/ifttt.js +1 -1
  707. package/icons/tech/influxdb.js +1 -1
  708. package/icons/tech/inkscape.js +112 -112
  709. package/icons/tech/insomnia.js +7 -7
  710. package/icons/tech/intellij-idea.js +34 -34
  711. package/icons/tech/ionic.js +3 -3
  712. package/icons/tech/jaeger.js +18 -18
  713. package/icons/tech/jamstack.js +1 -1
  714. package/icons/tech/jasmine.js +4 -4
  715. package/icons/tech/java.js +6 -6
  716. package/icons/tech/javascript.js +3 -3
  717. package/icons/tech/jeet.js +29 -29
  718. package/icons/tech/jekyll.js +40 -40
  719. package/icons/tech/jenkins.js +18 -18
  720. package/icons/tech/jest.js +1 -1
  721. package/icons/tech/jetbrains.js +23 -23
  722. package/icons/tech/jira-align.js +12 -12
  723. package/icons/tech/jira.js +11 -11
  724. package/icons/tech/jquery.js +1 -1
  725. package/icons/tech/json.js +9 -9
  726. package/icons/tech/jule.js +1 -1
  727. package/icons/tech/julia.js +7 -7
  728. package/icons/tech/junit.js +3 -3
  729. package/icons/tech/jupyter.js +5 -5
  730. package/icons/tech/k3os.js +1 -1
  731. package/icons/tech/k3s.js +1 -1
  732. package/icons/tech/kafka.js +1 -1
  733. package/icons/tech/kaggle.js +1 -1
  734. package/icons/tech/karate.js +3 -3
  735. package/icons/tech/karma.js +3 -3
  736. package/icons/tech/keras.js +3 -3
  737. package/icons/tech/kibana.js +4 -4
  738. package/icons/tech/knex-js.js +1 -1
  739. package/icons/tech/knockout.js +1 -1
  740. package/icons/tech/kotlin.js +6 -6
  741. package/icons/tech/krakenjs.js +1 -1
  742. package/icons/tech/ktor.js +15 -15
  743. package/icons/tech/kubernetes.js +4 -4
  744. package/icons/tech/labview.js +4 -4
  745. package/icons/tech/laravel.js +1 -1
  746. package/icons/tech/latex.js +6 -6
  747. package/icons/tech/less-js.js +1 -1
  748. package/icons/tech/linkedin.js +3 -3
  749. package/icons/tech/linux.js +800 -800
  750. package/icons/tech/liquibase.js +1 -1
  751. package/icons/tech/livewire.js +9 -9
  752. package/icons/tech/llvm.js +6 -6
  753. package/icons/tech/logstash.js +4 -4
  754. package/icons/tech/lua.js +4 -4
  755. package/icons/tech/lumen.js +1 -1
  756. package/icons/tech/magento.js +1 -1
  757. package/icons/tech/markdown.js +3 -3
  758. package/icons/tech/material-ui.js +5 -5
  759. package/icons/tech/materialize.js +3 -3
  760. package/icons/tech/matlab.js +22 -22
  761. package/icons/tech/matplotlib.js +23 -23
  762. package/icons/tech/maven.js +138 -138
  763. package/icons/tech/meteor-js.js +1 -1
  764. package/icons/tech/microsoft-sql-server.js +1 -1
  765. package/icons/tech/minitab.js +8 -8
  766. package/icons/tech/mob-x.js +6 -6
  767. package/icons/tech/mocha.js +3 -3
  768. package/icons/tech/modx.js +5 -5
  769. package/icons/tech/moleculer.js +1 -1
  770. package/icons/tech/mongodb.js +17 -17
  771. package/icons/tech/mongoose-js.js +3 -3
  772. package/icons/tech/moodle.js +38 -38
  773. package/icons/tech/ms-dos.js +12 -12
  774. package/icons/tech/mysql.js +1 -1
  775. package/icons/tech/nano.js +1 -1
  776. package/icons/tech/nerog.js +24 -24
  777. package/icons/tech/nestjs.js +1 -1
  778. package/icons/tech/net-core.js +3 -3
  779. package/icons/tech/net.js +117 -117
  780. package/icons/tech/network-x.js +10 -10
  781. package/icons/tech/new4j.js +3 -3
  782. package/icons/tech/nextjs.js +1 -1
  783. package/icons/tech/nginx.js +1 -1
  784. package/icons/tech/nhibernate.js +3 -3
  785. package/icons/tech/nim.js +3 -3
  786. package/icons/tech/nimble.js +8 -8
  787. package/icons/tech/nix.js +3 -3
  788. package/icons/tech/nodejs.js +1 -1
  789. package/icons/tech/nodemon.js +3 -3
  790. package/icons/tech/nodewebkit.js +6 -6
  791. package/icons/tech/npm.js +1 -1
  792. package/icons/tech/nuget.js +1 -1
  793. package/icons/tech/num-py.js +3 -3
  794. package/icons/tech/nuxt-js.js +4 -4
  795. package/icons/tech/objective-c.js +3 -3
  796. package/icons/tech/ocaml.js +19 -19
  797. package/icons/tech/oh-my-zsh.js +5 -5
  798. package/icons/tech/okta.js +3 -3
  799. package/icons/tech/open-al.js +3 -3
  800. package/icons/tech/open-api.js +13 -13
  801. package/icons/tech/open-cl.js +6 -6
  802. package/icons/tech/open-cv.js +4 -4
  803. package/icons/tech/open-gl.js +5 -5
  804. package/icons/tech/open-stack.js +1 -1
  805. package/icons/tech/open-suse.js +3 -3
  806. package/icons/tech/open-telemetry.js +3 -3
  807. package/icons/tech/opera.js +11 -11
  808. package/icons/tech/oracle.js +1 -1
  809. package/icons/tech/p5js.js +1 -1
  810. package/icons/tech/packer.js +3 -3
  811. package/icons/tech/pandas.js +6 -6
  812. package/icons/tech/perl.js +3 -3
  813. package/icons/tech/pf-sense.js +1 -1
  814. package/icons/tech/phalcon.js +26 -26
  815. package/icons/tech/phoenix-framework.js +1 -1
  816. package/icons/tech/photon-engine.js +9 -9
  817. package/icons/tech/php-storm.js +28 -28
  818. package/icons/tech/php.js +14 -14
  819. package/icons/tech/playwrite.js +8 -8
  820. package/icons/tech/ploty.js +4 -4
  821. package/icons/tech/podman.js +24 -24
  822. package/icons/tech/polygon.js +3 -3
  823. package/icons/tech/portainer.js +6 -6
  824. package/icons/tech/postcss.js +4 -4
  825. package/icons/tech/postgresql.js +5 -5
  826. package/icons/tech/postman.js +4 -4
  827. package/icons/tech/powershell.js +14 -14
  828. package/icons/tech/processing.js +95 -95
  829. package/icons/tech/prometheus.js +1 -1
  830. package/icons/tech/protractor.js +1 -1
  831. package/icons/tech/purescript.js +1 -1
  832. package/icons/tech/putty.js +44 -44
  833. package/icons/tech/pycharm.js +52 -52
  834. package/icons/tech/pyscript.js +3 -3
  835. package/icons/tech/pytest.js +9 -9
  836. package/icons/tech/python-poetry.js +34 -34
  837. package/icons/tech/python.js +13 -13
  838. package/icons/tech/pytorch.js +3 -3
  839. package/icons/tech/qodana.js +19 -19
  840. package/icons/tech/qt.js +1 -1
  841. package/icons/tech/quarkus.js +11 -11
  842. package/icons/tech/quasar.js +3 -3
  843. package/icons/tech/qwik.js +4 -4
  844. package/icons/tech/r.js +10 -10
  845. package/icons/tech/rabbitmq.js +1 -1
  846. package/icons/tech/rancher.js +1 -1
  847. package/icons/tech/raspberrypi.js +4 -4
  848. package/icons/tech/reach.js +3 -3
  849. package/icons/tech/react-bootstrap.js +1 -1
  850. package/icons/tech/react.js +3 -3
  851. package/icons/tech/realm.js +9 -9
  852. package/icons/tech/red-cube-s-epic-compiler-thingy-programming-re-ct.js +5 -5
  853. package/icons/tech/redhat.js +4 -4
  854. package/icons/tech/redis.js +11 -11
  855. package/icons/tech/redux.js +1 -1
  856. package/icons/tech/ren-py.js +161 -161
  857. package/icons/tech/rider.js +17 -17
  858. package/icons/tech/robot-operating-system-ros.js +1 -1
  859. package/icons/tech/rocksdb.js +3 -3
  860. package/icons/tech/rollup-js.js +34 -34
  861. package/icons/tech/rspec.js +5 -5
  862. package/icons/tech/rstudio.js +4 -4
  863. package/icons/tech/ruby-mine.js +25 -25
  864. package/icons/tech/ruby-on-rails.js +1 -1
  865. package/icons/tech/ruby.js +117 -117
  866. package/icons/tech/rust.js +1 -1
  867. package/icons/tech/salesforce.js +4 -4
  868. package/icons/tech/sanity.js +4 -4
  869. package/icons/tech/sass.js +1 -1
  870. package/icons/tech/scala.js +3 -3
  871. package/icons/tech/scalingo.js +3 -3
  872. package/icons/tech/sdl.js +8 -8
  873. package/icons/tech/selenium.js +3 -3
  874. package/icons/tech/sema-software.js +1 -1
  875. package/icons/tech/sequelize.js +28 -28
  876. package/icons/tech/shopware.js +3 -3
  877. package/icons/tech/sketch.js +8 -8
  878. package/icons/tech/slack.js +5 -5
  879. package/icons/tech/socket-io.js +3 -3
  880. package/icons/tech/solid-js.js +24 -24
  881. package/icons/tech/solidity.js +7 -7
  882. package/icons/tech/sonarqube.js +1 -1
  883. package/icons/tech/sourcetree.js +1 -1
  884. package/icons/tech/spark.js +1 -1
  885. package/icons/tech/splunk.js +1 -1
  886. package/icons/tech/spring.js +1 -1
  887. package/icons/tech/sql-developer.js +7 -7
  888. package/icons/tech/sqlalchemy.js +3 -3
  889. package/icons/tech/sqlite.js +8 -8
  890. package/icons/tech/ssh.js +1 -1
  891. package/icons/tech/stackoverflow.js +3 -3
  892. package/icons/tech/stata.js +1 -1
  893. package/icons/tech/storybook.js +1 -1
  894. package/icons/tech/streamlit.js +4 -4
  895. package/icons/tech/stylus.js +3 -3
  896. package/icons/tech/subversion.js +1 -1
  897. package/icons/tech/svelte.js +3 -3
  898. package/icons/tech/swagger.js +3 -3
  899. package/icons/tech/swift.js +3 -3
  900. package/icons/tech/symfony.js +1 -1
  901. package/icons/tech/tailwind-css.js +1 -1
  902. package/icons/tech/tauri.js +5 -5
  903. package/icons/tech/tensorflow.js +1 -1
  904. package/icons/tech/terraform.js +4 -4
  905. package/icons/tech/tex.js +1 -1
  906. package/icons/tech/the-algorithms.js +1 -1
  907. package/icons/tech/three-js.js +5 -5
  908. package/icons/tech/titanium-sdk.js +1 -1
  909. package/icons/tech/tomcat.js +8 -8
  910. package/icons/tech/tortoise-git.js +6 -6
  911. package/icons/tech/tower.js +136 -136
  912. package/icons/tech/traefik-mesh.js +1 -1
  913. package/icons/tech/traefik-proxy.js +1 -1
  914. package/icons/tech/travis-ci.js +1 -1
  915. package/icons/tech/trello.js +1 -1
  916. package/icons/tech/twitter.js +1 -1
  917. package/icons/tech/typescript.js +3 -3
  918. package/icons/tech/typo3.js +1 -1
  919. package/icons/tech/ubuntu.js +1 -1
  920. package/icons/tech/uml.js +5 -5
  921. package/icons/tech/unity.js +4 -4
  922. package/icons/tech/unix.js +1 -1
  923. package/icons/tech/unreal-engine.js +3 -3
  924. package/icons/tech/uwsgi.js +8 -8
  925. package/icons/tech/v8.js +30 -30
  926. package/icons/tech/vagrant.js +3 -3
  927. package/icons/tech/vala.js +15 -15
  928. package/icons/tech/vercel.js +1 -1
  929. package/icons/tech/veutify.js +5 -5
  930. package/icons/tech/vim.js +34 -34
  931. package/icons/tech/visualstudio.js +1 -1
  932. package/icons/tech/vite.js +1 -1
  933. package/icons/tech/vitejs.js +11 -11
  934. package/icons/tech/vscode.js +28 -28
  935. package/icons/tech/vsphere.js +6 -6
  936. package/icons/tech/vue-storefront.js +4 -4
  937. package/icons/tech/vue.js +4 -4
  938. package/icons/tech/vyper.js +5 -5
  939. package/icons/tech/webassembly.js +1 -1
  940. package/icons/tech/webflow.js +1 -1
  941. package/icons/tech/weblate.js +14 -14
  942. package/icons/tech/webpack.js +3 -3
  943. package/icons/tech/webstorm.js +16 -16
  944. package/icons/tech/windows11.js +1 -1
  945. package/icons/tech/windows8.js +1 -1
  946. package/icons/tech/woo-commerce.js +4 -4
  947. package/icons/tech/wordpress.js +8 -8
  948. package/icons/tech/xamarin.js +1 -1
  949. package/icons/tech/xcode.js +248 -248
  950. package/icons/tech/xml.js +5 -5
  951. package/icons/tech/yaml.js +4 -4
  952. package/icons/tech/yarn.js +3 -3
  953. package/icons/tech/yii-framework.js +5 -5
  954. package/icons/tech/yuno-host.js +3 -3
  955. package/icons/tech/zend-framework.js +1 -1
  956. package/icons/tech/zig.js +10 -10
  957. package/package.json +9 -9
  958. package/dist/__app__/src/chunks/IconCopy-BoSoNPZ_.js +0 -21
  959. package/dist/__app__/src/chunks/LikeC4Diagram-DytrE8GE.js +0 -9769
  960. package/dist/__app__/src/chunks/StaticLikeC4Diagram-DdbjVDqf.js +0 -32
  961. package/dist/__app__/src/chunks/chunk-RAAYCPUM-CpeCcSnm.js +0 -13
  962. package/dist/__app__/src/chunks/chunk-SGAFZVQH-F2W_It6h.js +0 -8
  963. package/dist/__app__/src/chunks/const-DiwrD95Q.js +0 -6
  964. package/dist/__app__/src/chunks/createReactComponent-BWheWDGL.js +0 -64
  965. package/dist/__app__/src/chunks/index-BxglQLE6.js +0 -10
  966. package/dist/__app__/src/chunks/index-fBIC0lf6.js +0 -12
  967. package/dist/__app__/src/chunks/react-resizable-panels.browser.esm-BaxT8im_.js +0 -1528
  968. package/dist/__app__/src/components/ColorSchemeToggle.js +0 -38
  969. package/dist/__app__/src/components/CopyToClipboard.js +0 -17
  970. package/dist/__app__/src/components/NotFound.js +0 -40
  971. package/dist/__app__/src/components/sidebar/Drawer.js +0 -186
  972. package/dist/__app__/src/components/view-page/Header.js +0 -416
  973. package/dist/__app__/src/hooks.js +0 -16
  974. package/dist/__app__/src/routeTree.gen.js +0 -57
  975. package/dist/__app__/src/router.js +0 -26
  976. package/dist/__app__/src/routes/__root.js +0 -42
  977. package/dist/__app__/src/routes/embed._viewId.js +0 -45
  978. package/dist/__app__/src/routes/export._viewId.js +0 -60
  979. package/dist/__app__/src/routes/index.css.js +0 -7
  980. package/dist/__app__/src/routes/index.js +0 -89
  981. package/dist/__app__/src/routes/view._viewId.d2.js +0 -53
  982. package/dist/__app__/src/routes/view._viewId.dot.js +0 -58
  983. package/dist/__app__/src/routes/view._viewId.editor.js +0 -43
  984. package/dist/__app__/src/routes/view._viewId.index.js +0 -39
  985. package/dist/__app__/src/routes/view._viewId.js +0 -173
  986. package/dist/__app__/src/routes/view._viewId.mmd.js +0 -102
  987. package/dist/__app__/src/routes/view.css.js +0 -12
  988. package/dist/__app__/src/routes/view_viewId_.css.js +0 -7
  989. package/dist/__app__/src/routes/webcomponent._.js +0 -61
  990. package/dist/__app__/src/theme.js +0 -21
  991. /package/dist/__app__/src/{components/RenderIcon.js → icons.js} +0 -0
  992. /package/dist/__app__/src/{routes/-view-lazy-data.js → lazy-data.js} +0 -0
@@ -1,1528 +0,0 @@
1
- import * as React from "react";
2
- const {
3
- createElement,
4
- createContext,
5
- createRef,
6
- forwardRef,
7
- useCallback,
8
- useContext,
9
- useEffect,
10
- useImperativeHandle,
11
- useLayoutEffect,
12
- useMemo,
13
- useRef,
14
- useState
15
- } = React, useId = React.useId, useLayoutEffect_do_not_use_directly = useLayoutEffect, PanelGroupContext = createContext(null);
16
- PanelGroupContext.displayName = "PanelGroupContext";
17
- const useIsomorphicLayoutEffect = useLayoutEffect_do_not_use_directly, wrappedUseId = typeof useId == "function" ? useId : () => null;
18
- let counter = 0;
19
- function useUniqueId(idFromParams = null) {
20
- const idFromUseId = wrappedUseId(), idRef = useRef(idFromParams || idFromUseId || null);
21
- return idRef.current === null && (idRef.current = "" + counter++), idFromParams ?? idRef.current;
22
- }
23
- function PanelWithForwardedRef({
24
- children,
25
- className: classNameFromProps = "",
26
- collapsedSize,
27
- collapsible,
28
- defaultSize,
29
- forwardedRef,
30
- id: idFromProps,
31
- maxSize,
32
- minSize,
33
- onCollapse,
34
- onExpand,
35
- onResize,
36
- order,
37
- style: styleFromProps,
38
- tagName: Type = "div",
39
- ...rest
40
- }) {
41
- const context = useContext(PanelGroupContext);
42
- if (context === null)
43
- throw Error("Panel components must be rendered within a PanelGroup container");
44
- const {
45
- collapsePanel,
46
- expandPanel,
47
- getPanelSize,
48
- getPanelStyle,
49
- groupId,
50
- isPanelCollapsed,
51
- reevaluatePanelConstraints,
52
- registerPanel,
53
- resizePanel: resizePanel2,
54
- unregisterPanel
55
- } = context, panelId = useUniqueId(idFromProps), panelDataRef = useRef({
56
- callbacks: {
57
- onCollapse,
58
- onExpand,
59
- onResize
60
- },
61
- constraints: {
62
- collapsedSize,
63
- collapsible,
64
- defaultSize,
65
- maxSize,
66
- minSize
67
- },
68
- id: panelId,
69
- idIsFromProps: idFromProps !== void 0,
70
- order
71
- });
72
- useRef({
73
- didLogMissingDefaultSizeWarning: !1
74
- }), useIsomorphicLayoutEffect(() => {
75
- const {
76
- callbacks,
77
- constraints
78
- } = panelDataRef.current, prevConstraints = {
79
- ...constraints
80
- };
81
- panelDataRef.current.id = panelId, panelDataRef.current.idIsFromProps = idFromProps !== void 0, panelDataRef.current.order = order, callbacks.onCollapse =
82
- onCollapse, callbacks.onExpand = onExpand, callbacks.onResize = onResize, constraints.collapsedSize = collapsedSize, constraints.collapsible = collapsible,
83
- constraints.defaultSize = defaultSize, constraints.maxSize = maxSize, constraints.minSize = minSize, (prevConstraints.collapsedSize !== constraints.
84
- collapsedSize || prevConstraints.collapsible !== constraints.collapsible || prevConstraints.maxSize !== constraints.maxSize || prevConstraints.minSize !==
85
- constraints.minSize) && reevaluatePanelConstraints(panelDataRef.current, prevConstraints);
86
- }), useIsomorphicLayoutEffect(() => {
87
- const panelData = panelDataRef.current;
88
- return registerPanel(panelData), () => {
89
- unregisterPanel(panelData);
90
- };
91
- }, [order, panelId, registerPanel, unregisterPanel]), useImperativeHandle(forwardedRef, () => ({
92
- collapse: () => {
93
- collapsePanel(panelDataRef.current);
94
- },
95
- expand: (minSize2) => {
96
- expandPanel(panelDataRef.current, minSize2);
97
- },
98
- getId() {
99
- return panelId;
100
- },
101
- getSize() {
102
- return getPanelSize(panelDataRef.current);
103
- },
104
- isCollapsed() {
105
- return isPanelCollapsed(panelDataRef.current);
106
- },
107
- isExpanded() {
108
- return !isPanelCollapsed(panelDataRef.current);
109
- },
110
- resize: (size) => {
111
- resizePanel2(panelDataRef.current, size);
112
- }
113
- }), [collapsePanel, expandPanel, getPanelSize, isPanelCollapsed, panelId, resizePanel2]);
114
- const style = getPanelStyle(panelDataRef.current, defaultSize);
115
- return createElement(Type, {
116
- ...rest,
117
- children,
118
- className: classNameFromProps,
119
- id: idFromProps,
120
- style: {
121
- ...style,
122
- ...styleFromProps
123
- },
124
- // CSS selectors
125
- "data-panel": "",
126
- "data-panel-collapsible": collapsible || void 0,
127
- "data-panel-group-id": groupId,
128
- "data-panel-id": panelId,
129
- "data-panel-size": parseFloat("" + style.flexGrow).toFixed(1)
130
- });
131
- }
132
- const Panel = forwardRef((props2, ref) => createElement(PanelWithForwardedRef, {
133
- ...props2,
134
- forwardedRef: ref
135
- }));
136
- PanelWithForwardedRef.displayName = "Panel";
137
- Panel.displayName = "forwardRef(Panel)";
138
- let currentCursorStyle = null, styleElement = null;
139
- function getCursorStyle(state, constraintFlags) {
140
- if (constraintFlags) {
141
- const horizontalMin = (constraintFlags & EXCEEDED_HORIZONTAL_MIN) !== 0, horizontalMax = (constraintFlags & EXCEEDED_HORIZONTAL_MAX) !== 0, verticalMin = (constraintFlags &
142
- EXCEEDED_VERTICAL_MIN) !== 0, verticalMax = (constraintFlags & EXCEEDED_VERTICAL_MAX) !== 0;
143
- if (horizontalMin)
144
- return verticalMin ? "se-resize" : verticalMax ? "ne-resize" : "e-resize";
145
- if (horizontalMax)
146
- return verticalMin ? "sw-resize" : verticalMax ? "nw-resize" : "w-resize";
147
- if (verticalMin)
148
- return "s-resize";
149
- if (verticalMax)
150
- return "n-resize";
151
- }
152
- switch (state) {
153
- case "horizontal":
154
- return "ew-resize";
155
- case "intersection":
156
- return "move";
157
- case "vertical":
158
- return "ns-resize";
159
- }
160
- }
161
- function resetGlobalCursorStyle() {
162
- styleElement !== null && (document.head.removeChild(styleElement), currentCursorStyle = null, styleElement = null);
163
- }
164
- function setGlobalCursorStyle(state, constraintFlags) {
165
- const style = getCursorStyle(state, constraintFlags);
166
- currentCursorStyle !== style && (currentCursorStyle = style, styleElement === null && (styleElement = document.createElement("style"), document.head.
167
- appendChild(styleElement)), styleElement.innerHTML = `*{cursor: ${style}!important;}`);
168
- }
169
- function isKeyDown(event) {
170
- return event.type === "keydown";
171
- }
172
- function isPointerEvent(event) {
173
- return event.type.startsWith("pointer");
174
- }
175
- function isMouseEvent(event) {
176
- return event.type.startsWith("mouse");
177
- }
178
- function getResizeEventCoordinates(event) {
179
- if (isPointerEvent(event)) {
180
- if (event.isPrimary)
181
- return {
182
- x: event.clientX,
183
- y: event.clientY
184
- };
185
- } else if (isMouseEvent(event))
186
- return {
187
- x: event.clientX,
188
- y: event.clientY
189
- };
190
- return {
191
- x: 1 / 0,
192
- y: 1 / 0
193
- };
194
- }
195
- function getInputType() {
196
- if (typeof matchMedia == "function")
197
- return matchMedia("(pointer:coarse)").matches ? "coarse" : "fine";
198
- }
199
- function intersects(rectOne, rectTwo, strict) {
200
- return rectOne.x < rectTwo.x + rectTwo.width && rectOne.x + rectOne.width > rectTwo.x && rectOne.y < rectTwo.y + rectTwo.height && rectOne.y + rectOne.
201
- height > rectTwo.y;
202
- }
203
- function compare(a, b) {
204
- if (a === b) throw new Error("Cannot compare node with itself");
205
- const ancestors = {
206
- a: get_ancestors(a),
207
- b: get_ancestors(b)
208
- };
209
- let common_ancestor;
210
- for (; ancestors.a.at(-1) === ancestors.b.at(-1); )
211
- a = ancestors.a.pop(), b = ancestors.b.pop(), common_ancestor = a;
212
- assert(common_ancestor, "Stacking order can only be calculated for elements with a common ancestor");
213
- const z_indexes = {
214
- a: get_z_index(find_stacking_context(ancestors.a)),
215
- b: get_z_index(find_stacking_context(ancestors.b))
216
- };
217
- if (z_indexes.a === z_indexes.b) {
218
- const children = common_ancestor.childNodes, furthest_ancestors = {
219
- a: ancestors.a.at(-1),
220
- b: ancestors.b.at(-1)
221
- };
222
- let i = children.length;
223
- for (; i--; ) {
224
- const child = children[i];
225
- if (child === furthest_ancestors.a) return 1;
226
- if (child === furthest_ancestors.b) return -1;
227
- }
228
- }
229
- return Math.sign(z_indexes.a - z_indexes.b);
230
- }
231
- const props = /\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;
232
- function is_flex_item(node) {
233
- var _get_parent;
234
- const display = getComputedStyle((_get_parent = get_parent(node)) !== null && _get_parent !== void 0 ? _get_parent : node).display;
235
- return display === "flex" || display === "inline-flex";
236
- }
237
- function creates_stacking_context(node) {
238
- const style = getComputedStyle(node);
239
- return !!(style.position === "fixed" || style.zIndex !== "auto" && (style.position !== "static" || is_flex_item(node)) || +style.opacity < 1 || "tra\
240
- nsform" in style && style.transform !== "none" || "webkitTransform" in style && style.webkitTransform !== "none" || "mixBlendMode" in style && style.mixBlendMode !==
241
- "normal" || "filter" in style && style.filter !== "none" || "webkitFilter" in style && style.webkitFilter !== "none" || "isolation" in style && style.
242
- isolation === "isolate" || props.test(style.willChange) || style.webkitOverflowScrolling === "touch");
243
- }
244
- function find_stacking_context(nodes) {
245
- let i = nodes.length;
246
- for (; i--; ) {
247
- const node = nodes[i];
248
- if (assert(node, "Missing node"), creates_stacking_context(node)) return node;
249
- }
250
- return null;
251
- }
252
- function get_z_index(node) {
253
- return node && Number(getComputedStyle(node).zIndex) || 0;
254
- }
255
- function get_ancestors(node) {
256
- const ancestors = [];
257
- for (; node; )
258
- ancestors.push(node), node = get_parent(node);
259
- return ancestors;
260
- }
261
- function get_parent(node) {
262
- const {
263
- parentNode
264
- } = node;
265
- return parentNode && parentNode instanceof ShadowRoot ? parentNode.host : parentNode;
266
- }
267
- const EXCEEDED_HORIZONTAL_MIN = 1, EXCEEDED_HORIZONTAL_MAX = 2, EXCEEDED_VERTICAL_MIN = 4, EXCEEDED_VERTICAL_MAX = 8, isCoarsePointer = getInputType() ===
268
- "coarse";
269
- let intersectingHandles = [], isPointerDown = !1, ownerDocumentCounts = /* @__PURE__ */ new Map(), panelConstraintFlags = /* @__PURE__ */ new Map();
270
- const registeredResizeHandlers = /* @__PURE__ */ new Set();
271
- function registerResizeHandle(resizeHandleId, element, direction, hitAreaMargins, setResizeHandlerState) {
272
- var _ownerDocumentCounts$;
273
- const {
274
- ownerDocument
275
- } = element, data = {
276
- direction,
277
- element,
278
- hitAreaMargins,
279
- setResizeHandlerState
280
- }, count = (_ownerDocumentCounts$ = ownerDocumentCounts.get(ownerDocument)) !== null && _ownerDocumentCounts$ !== void 0 ? _ownerDocumentCounts$ : 0;
281
- return ownerDocumentCounts.set(ownerDocument, count + 1), registeredResizeHandlers.add(data), updateListeners(), function() {
282
- var _ownerDocumentCounts$2;
283
- panelConstraintFlags.delete(resizeHandleId), registeredResizeHandlers.delete(data);
284
- const count2 = (_ownerDocumentCounts$2 = ownerDocumentCounts.get(ownerDocument)) !== null && _ownerDocumentCounts$2 !== void 0 ? _ownerDocumentCounts$2 :
285
- 1;
286
- if (ownerDocumentCounts.set(ownerDocument, count2 - 1), updateListeners(), count2 === 1 && ownerDocumentCounts.delete(ownerDocument), intersectingHandles.
287
- includes(data)) {
288
- const index = intersectingHandles.indexOf(data);
289
- index >= 0 && intersectingHandles.splice(index, 1), updateCursor();
290
- }
291
- };
292
- }
293
- function handlePointerDown(event) {
294
- const {
295
- target
296
- } = event, {
297
- x,
298
- y
299
- } = getResizeEventCoordinates(event);
300
- isPointerDown = !0, recalculateIntersectingHandles({
301
- target,
302
- x,
303
- y
304
- }), updateListeners(), intersectingHandles.length > 0 && (updateResizeHandlerStates("down", event), event.preventDefault(), event.stopPropagation());
305
- }
306
- function handlePointerMove(event) {
307
- const {
308
- x,
309
- y
310
- } = getResizeEventCoordinates(event);
311
- if (event.buttons === 0 && (isPointerDown = !1, updateResizeHandlerStates("up", event)), !isPointerDown) {
312
- const {
313
- target
314
- } = event;
315
- recalculateIntersectingHandles({
316
- target,
317
- x,
318
- y
319
- });
320
- }
321
- updateResizeHandlerStates("move", event), updateCursor(), intersectingHandles.length > 0 && event.preventDefault();
322
- }
323
- function handlePointerUp(event) {
324
- const {
325
- target
326
- } = event, {
327
- x,
328
- y
329
- } = getResizeEventCoordinates(event);
330
- panelConstraintFlags.clear(), isPointerDown = !1, intersectingHandles.length > 0 && event.preventDefault(), updateResizeHandlerStates("up", event), recalculateIntersectingHandles(
331
- {
332
- target,
333
- x,
334
- y
335
- }), updateCursor(), updateListeners();
336
- }
337
- function recalculateIntersectingHandles({
338
- target,
339
- x,
340
- y
341
- }) {
342
- intersectingHandles.splice(0);
343
- let targetElement = null;
344
- target instanceof HTMLElement && (targetElement = target), registeredResizeHandlers.forEach((data) => {
345
- const {
346
- element: dragHandleElement,
347
- hitAreaMargins
348
- } = data, dragHandleRect = dragHandleElement.getBoundingClientRect(), {
349
- bottom,
350
- left,
351
- right,
352
- top
353
- } = dragHandleRect, margin = isCoarsePointer ? hitAreaMargins.coarse : hitAreaMargins.fine;
354
- if (x >= left - margin && x <= right + margin && y >= top - margin && y <= bottom + margin) {
355
- if (targetElement !== null && dragHandleElement !== targetElement && !dragHandleElement.contains(targetElement) && !targetElement.contains(dragHandleElement) &&
356
- // Calculating stacking order has a cost, so we should avoid it if possible
357
- // That is why we only check potentially intersecting handles,
358
- // and why we skip if the event target is within the handle's DOM
359
- compare(targetElement, dragHandleElement) > 0) {
360
- let currentElement = targetElement, didIntersect = !1;
361
- for (; currentElement && !currentElement.contains(dragHandleElement); ) {
362
- if (intersects(currentElement.getBoundingClientRect(), dragHandleRect)) {
363
- didIntersect = !0;
364
- break;
365
- }
366
- currentElement = currentElement.parentElement;
367
- }
368
- if (didIntersect)
369
- return;
370
- }
371
- intersectingHandles.push(data);
372
- }
373
- });
374
- }
375
- function reportConstraintsViolation(resizeHandleId, flag) {
376
- panelConstraintFlags.set(resizeHandleId, flag);
377
- }
378
- function updateCursor() {
379
- let intersectsHorizontal = !1, intersectsVertical = !1;
380
- intersectingHandles.forEach((data) => {
381
- const {
382
- direction
383
- } = data;
384
- direction === "horizontal" ? intersectsHorizontal = !0 : intersectsVertical = !0;
385
- });
386
- let constraintFlags = 0;
387
- panelConstraintFlags.forEach((flag) => {
388
- constraintFlags |= flag;
389
- }), intersectsHorizontal && intersectsVertical ? setGlobalCursorStyle("intersection", constraintFlags) : intersectsHorizontal ? setGlobalCursorStyle(
390
- "horizontal", constraintFlags) : intersectsVertical ? setGlobalCursorStyle("vertical", constraintFlags) : resetGlobalCursorStyle();
391
- }
392
- function updateListeners() {
393
- ownerDocumentCounts.forEach((_, ownerDocument) => {
394
- const {
395
- body
396
- } = ownerDocument;
397
- body.removeEventListener("contextmenu", handlePointerUp), body.removeEventListener("pointerdown", handlePointerDown), body.removeEventListener("po\
398
- interleave", handlePointerMove), body.removeEventListener("pointermove", handlePointerMove);
399
- }), window.removeEventListener("pointerup", handlePointerUp), window.removeEventListener("pointercancel", handlePointerUp), registeredResizeHandlers.
400
- size > 0 && (isPointerDown ? (intersectingHandles.length > 0 && ownerDocumentCounts.forEach((count, ownerDocument) => {
401
- const {
402
- body
403
- } = ownerDocument;
404
- count > 0 && (body.addEventListener("contextmenu", handlePointerUp), body.addEventListener("pointerleave", handlePointerMove), body.addEventListener(
405
- "pointermove", handlePointerMove));
406
- }), window.addEventListener("pointerup", handlePointerUp), window.addEventListener("pointercancel", handlePointerUp)) : ownerDocumentCounts.forEach(
407
- (count, ownerDocument) => {
408
- const {
409
- body
410
- } = ownerDocument;
411
- count > 0 && (body.addEventListener("pointerdown", handlePointerDown, {
412
- capture: !0
413
- }), body.addEventListener("pointermove", handlePointerMove));
414
- }));
415
- }
416
- function updateResizeHandlerStates(action, event) {
417
- registeredResizeHandlers.forEach((data) => {
418
- const {
419
- setResizeHandlerState
420
- } = data, isActive = intersectingHandles.includes(data);
421
- setResizeHandlerState(action, isActive, event);
422
- });
423
- }
424
- function useForceUpdate() {
425
- const [_, setCount] = useState(0);
426
- return useCallback(() => setCount((prevCount) => prevCount + 1), []);
427
- }
428
- function assert(expectedCondition, message) {
429
- if (!expectedCondition)
430
- throw console.error(message), Error(message);
431
- }
432
- const PRECISION = 10;
433
- function fuzzyCompareNumbers(actual, expected, fractionDigits = PRECISION) {
434
- return actual.toFixed(fractionDigits) === expected.toFixed(fractionDigits) ? 0 : actual > expected ? 1 : -1;
435
- }
436
- function fuzzyNumbersEqual$1(actual, expected, fractionDigits = PRECISION) {
437
- return fuzzyCompareNumbers(actual, expected, fractionDigits) === 0;
438
- }
439
- function fuzzyNumbersEqual(actual, expected, fractionDigits) {
440
- return fuzzyCompareNumbers(actual, expected, fractionDigits) === 0;
441
- }
442
- function fuzzyLayoutsEqual(actual, expected, fractionDigits) {
443
- if (actual.length !== expected.length)
444
- return !1;
445
- for (let index = 0; index < actual.length; index++) {
446
- const actualSize = actual[index], expectedSize = expected[index];
447
- if (!fuzzyNumbersEqual(actualSize, expectedSize, fractionDigits))
448
- return !1;
449
- }
450
- return !0;
451
- }
452
- function resizePanel({
453
- panelConstraints: panelConstraintsArray,
454
- panelIndex,
455
- size
456
- }) {
457
- const panelConstraints = panelConstraintsArray[panelIndex];
458
- assert(panelConstraints != null, `Panel constraints not found for index ${panelIndex}`);
459
- let {
460
- collapsedSize = 0,
461
- collapsible,
462
- maxSize = 100,
463
- minSize = 0
464
- } = panelConstraints;
465
- if (fuzzyCompareNumbers(size, minSize) < 0)
466
- if (collapsible) {
467
- const halfwayPoint = (collapsedSize + minSize) / 2;
468
- fuzzyCompareNumbers(size, halfwayPoint) < 0 ? size = collapsedSize : size = minSize;
469
- } else
470
- size = minSize;
471
- return size = Math.min(maxSize, size), size = parseFloat(size.toFixed(PRECISION)), size;
472
- }
473
- function adjustLayoutByDelta({
474
- delta,
475
- initialLayout,
476
- panelConstraints: panelConstraintsArray,
477
- pivotIndices,
478
- prevLayout,
479
- trigger
480
- }) {
481
- if (fuzzyNumbersEqual(delta, 0))
482
- return initialLayout;
483
- const nextLayout = [...initialLayout], [firstPivotIndex, secondPivotIndex] = pivotIndices;
484
- assert(firstPivotIndex != null, "Invalid first pivot index"), assert(secondPivotIndex != null, "Invalid second pivot index");
485
- let deltaApplied = 0;
486
- if (trigger === "keyboard") {
487
- {
488
- const index = delta < 0 ? secondPivotIndex : firstPivotIndex, panelConstraints = panelConstraintsArray[index];
489
- assert(panelConstraints, `Panel constraints not found for index ${index}`);
490
- const {
491
- collapsedSize = 0,
492
- collapsible,
493
- minSize = 0
494
- } = panelConstraints;
495
- if (collapsible) {
496
- const prevSize = initialLayout[index];
497
- if (assert(prevSize != null, `Previous layout not found for panel index ${index}`), fuzzyNumbersEqual(prevSize, collapsedSize)) {
498
- const localDelta = minSize - prevSize;
499
- fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0 && (delta = delta < 0 ? 0 - localDelta : localDelta);
500
- }
501
- }
502
- }
503
- {
504
- const index = delta < 0 ? firstPivotIndex : secondPivotIndex, panelConstraints = panelConstraintsArray[index];
505
- assert(panelConstraints, `No panel constraints found for index ${index}`);
506
- const {
507
- collapsedSize = 0,
508
- collapsible,
509
- minSize = 0
510
- } = panelConstraints;
511
- if (collapsible) {
512
- const prevSize = initialLayout[index];
513
- if (assert(prevSize != null, `Previous layout not found for panel index ${index}`), fuzzyNumbersEqual(prevSize, minSize)) {
514
- const localDelta = prevSize - collapsedSize;
515
- fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0 && (delta = delta < 0 ? 0 - localDelta : localDelta);
516
- }
517
- }
518
- }
519
- }
520
- {
521
- const increment = delta < 0 ? 1 : -1;
522
- let index = delta < 0 ? secondPivotIndex : firstPivotIndex, maxAvailableDelta = 0;
523
- for (; ; ) {
524
- const prevSize = initialLayout[index];
525
- assert(prevSize != null, `Previous layout not found for panel index ${index}`);
526
- const delta2 = resizePanel({
527
- panelConstraints: panelConstraintsArray,
528
- panelIndex: index,
529
- size: 100
530
- }) - prevSize;
531
- if (maxAvailableDelta += delta2, index += increment, index < 0 || index >= panelConstraintsArray.length)
532
- break;
533
- }
534
- const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta));
535
- delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta;
536
- }
537
- {
538
- let index = delta < 0 ? firstPivotIndex : secondPivotIndex;
539
- for (; index >= 0 && index < panelConstraintsArray.length; ) {
540
- const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied), prevSize = initialLayout[index];
541
- assert(prevSize != null, `Previous layout not found for panel index ${index}`);
542
- const unsafeSize = prevSize - deltaRemaining, safeSize = resizePanel({
543
- panelConstraints: panelConstraintsArray,
544
- panelIndex: index,
545
- size: unsafeSize
546
- });
547
- if (!fuzzyNumbersEqual(prevSize, safeSize) && (deltaApplied += prevSize - safeSize, nextLayout[index] = safeSize, deltaApplied.toPrecision(3).localeCompare(
548
- Math.abs(delta).toPrecision(3), void 0, {
549
- numeric: !0
550
- }) >= 0))
551
- break;
552
- delta < 0 ? index-- : index++;
553
- }
554
- }
555
- if (fuzzyLayoutsEqual(prevLayout, nextLayout))
556
- return prevLayout;
557
- {
558
- const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex, prevSize = initialLayout[pivotIndex];
559
- assert(prevSize != null, `Previous layout not found for panel index ${pivotIndex}`);
560
- const unsafeSize = prevSize + deltaApplied, safeSize = resizePanel({
561
- panelConstraints: panelConstraintsArray,
562
- panelIndex: pivotIndex,
563
- size: unsafeSize
564
- });
565
- if (nextLayout[pivotIndex] = safeSize, !fuzzyNumbersEqual(safeSize, unsafeSize)) {
566
- let deltaRemaining = unsafeSize - safeSize, index = delta < 0 ? secondPivotIndex : firstPivotIndex;
567
- for (; index >= 0 && index < panelConstraintsArray.length; ) {
568
- const prevSize2 = nextLayout[index];
569
- assert(prevSize2 != null, `Previous layout not found for panel index ${index}`);
570
- const unsafeSize2 = prevSize2 + deltaRemaining, safeSize2 = resizePanel({
571
- panelConstraints: panelConstraintsArray,
572
- panelIndex: index,
573
- size: unsafeSize2
574
- });
575
- if (fuzzyNumbersEqual(prevSize2, safeSize2) || (deltaRemaining -= safeSize2 - prevSize2, nextLayout[index] = safeSize2), fuzzyNumbersEqual(deltaRemaining,
576
- 0))
577
- break;
578
- delta > 0 ? index-- : index++;
579
- }
580
- }
581
- }
582
- const totalSize = nextLayout.reduce((total, size) => size + total, 0);
583
- return fuzzyNumbersEqual(totalSize, 100) ? nextLayout : prevLayout;
584
- }
585
- function calculateAriaValues({
586
- layout,
587
- panelsArray,
588
- pivotIndices
589
- }) {
590
- let currentMinSize = 0, currentMaxSize = 100, totalMinSize = 0, totalMaxSize = 0;
591
- const firstIndex = pivotIndices[0];
592
- assert(firstIndex != null, "No pivot index found"), panelsArray.forEach((panelData, index) => {
593
- const {
594
- constraints
595
- } = panelData, {
596
- maxSize = 100,
597
- minSize = 0
598
- } = constraints;
599
- index === firstIndex ? (currentMinSize = minSize, currentMaxSize = maxSize) : (totalMinSize += minSize, totalMaxSize += maxSize);
600
- });
601
- const valueMax = Math.min(currentMaxSize, 100 - totalMinSize), valueMin = Math.max(currentMinSize, 100 - totalMaxSize), valueNow = layout[firstIndex];
602
- return {
603
- valueMax,
604
- valueMin,
605
- valueNow
606
- };
607
- }
608
- function getResizeHandleElementsForGroup(groupId, scope = document) {
609
- return Array.from(scope.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${groupId}"]`));
610
- }
611
- function getResizeHandleElementIndex(groupId, id, scope = document) {
612
- const index = getResizeHandleElementsForGroup(groupId, scope).findIndex((handle) => handle.getAttribute("data-panel-resize-handle-id") === id);
613
- return index ?? null;
614
- }
615
- function determinePivotIndices(groupId, dragHandleId, panelGroupElement) {
616
- const index = getResizeHandleElementIndex(groupId, dragHandleId, panelGroupElement);
617
- return index != null ? [index, index + 1] : [-1, -1];
618
- }
619
- function getPanelGroupElement(id, rootElement = document) {
620
- var _dataset;
621
- if (rootElement instanceof HTMLElement && (rootElement == null || (_dataset = rootElement.dataset) === null || _dataset === void 0 ? void 0 : _dataset.
622
- panelGroupId) == id)
623
- return rootElement;
624
- const element = rootElement.querySelector(`[data-panel-group][data-panel-group-id="${id}"]`);
625
- return element || null;
626
- }
627
- function getResizeHandleElement(id, scope = document) {
628
- const element = scope.querySelector(`[data-panel-resize-handle-id="${id}"]`);
629
- return element || null;
630
- }
631
- function getResizeHandlePanelIds(groupId, handleId, panelsArray, scope = document) {
632
- var _panelsArray$index$id, _panelsArray$index, _panelsArray$id, _panelsArray;
633
- const handle = getResizeHandleElement(handleId, scope), handles = getResizeHandleElementsForGroup(groupId, scope), index = handle ? handles.indexOf(
634
- handle) : -1, idBefore = (_panelsArray$index$id = (_panelsArray$index = panelsArray[index]) === null || _panelsArray$index === void 0 ? void 0 : _panelsArray$index.
635
- id) !== null && _panelsArray$index$id !== void 0 ? _panelsArray$index$id : null, idAfter = (_panelsArray$id = (_panelsArray = panelsArray[index + 1]) ===
636
- null || _panelsArray === void 0 ? void 0 : _panelsArray.id) !== null && _panelsArray$id !== void 0 ? _panelsArray$id : null;
637
- return [idBefore, idAfter];
638
- }
639
- function useWindowSplitterPanelGroupBehavior({
640
- committedValuesRef,
641
- eagerValuesRef,
642
- groupId,
643
- layout,
644
- panelDataArray,
645
- panelGroupElement,
646
- setLayout
647
- }) {
648
- useRef({
649
- didWarnAboutMissingResizeHandle: !1
650
- }), useIsomorphicLayoutEffect(() => {
651
- if (!panelGroupElement)
652
- return;
653
- const resizeHandleElements = getResizeHandleElementsForGroup(groupId, panelGroupElement);
654
- for (let index = 0; index < panelDataArray.length - 1; index++) {
655
- const {
656
- valueMax,
657
- valueMin,
658
- valueNow
659
- } = calculateAriaValues({
660
- layout,
661
- panelsArray: panelDataArray,
662
- pivotIndices: [index, index + 1]
663
- }), resizeHandleElement = resizeHandleElements[index];
664
- if (resizeHandleElement != null) {
665
- const panelData = panelDataArray[index];
666
- assert(panelData, `No panel data found for index "${index}"`), resizeHandleElement.setAttribute("aria-controls", panelData.id), resizeHandleElement.
667
- setAttribute("aria-valuemax", "" + Math.round(valueMax)), resizeHandleElement.setAttribute("aria-valuemin", "" + Math.round(valueMin)), resizeHandleElement.
668
- setAttribute("aria-valuenow", valueNow != null ? "" + Math.round(valueNow) : "");
669
- }
670
- }
671
- return () => {
672
- resizeHandleElements.forEach((resizeHandleElement, index) => {
673
- resizeHandleElement.removeAttribute("aria-controls"), resizeHandleElement.removeAttribute("aria-valuemax"), resizeHandleElement.removeAttribute(
674
- "aria-valuemin"), resizeHandleElement.removeAttribute("aria-valuenow");
675
- });
676
- };
677
- }, [groupId, layout, panelDataArray, panelGroupElement]), useEffect(() => {
678
- if (!panelGroupElement)
679
- return;
680
- const eagerValues = eagerValuesRef.current;
681
- assert(eagerValues, "Eager values not found");
682
- const {
683
- panelDataArray: panelDataArray2
684
- } = eagerValues, groupElement = getPanelGroupElement(groupId, panelGroupElement);
685
- assert(groupElement != null, `No group found for id "${groupId}"`);
686
- const handles = getResizeHandleElementsForGroup(groupId, panelGroupElement);
687
- assert(handles, `No resize handles found for group id "${groupId}"`);
688
- const cleanupFunctions = handles.map((handle) => {
689
- const handleId = handle.getAttribute("data-panel-resize-handle-id");
690
- assert(handleId, "Resize handle element has no handle id attribute");
691
- const [idBefore, idAfter] = getResizeHandlePanelIds(groupId, handleId, panelDataArray2, panelGroupElement);
692
- if (idBefore == null || idAfter == null)
693
- return () => {
694
- };
695
- const onKeyDown = (event) => {
696
- if (!event.defaultPrevented)
697
- switch (event.key) {
698
- case "Enter": {
699
- event.preventDefault();
700
- const index = panelDataArray2.findIndex((panelData) => panelData.id === idBefore);
701
- if (index >= 0) {
702
- const panelData = panelDataArray2[index];
703
- assert(panelData, `No panel data found for index ${index}`);
704
- const size = layout[index], {
705
- collapsedSize = 0,
706
- collapsible,
707
- minSize = 0
708
- } = panelData.constraints;
709
- if (size != null && collapsible) {
710
- const nextLayout = adjustLayoutByDelta({
711
- delta: fuzzyNumbersEqual(size, collapsedSize) ? minSize - collapsedSize : collapsedSize - size,
712
- initialLayout: layout,
713
- panelConstraints: panelDataArray2.map((panelData2) => panelData2.constraints),
714
- pivotIndices: determinePivotIndices(groupId, handleId, panelGroupElement),
715
- prevLayout: layout,
716
- trigger: "keyboard"
717
- });
718
- layout !== nextLayout && setLayout(nextLayout);
719
- }
720
- }
721
- break;
722
- }
723
- }
724
- };
725
- return handle.addEventListener("keydown", onKeyDown), () => {
726
- handle.removeEventListener("keydown", onKeyDown);
727
- };
728
- });
729
- return () => {
730
- cleanupFunctions.forEach((cleanupFunction) => cleanupFunction());
731
- };
732
- }, [panelGroupElement, committedValuesRef, eagerValuesRef, groupId, layout, panelDataArray, setLayout]);
733
- }
734
- function areEqual(arrayA, arrayB) {
735
- if (arrayA.length !== arrayB.length)
736
- return !1;
737
- for (let index = 0; index < arrayA.length; index++)
738
- if (arrayA[index] !== arrayB[index])
739
- return !1;
740
- return !0;
741
- }
742
- function getResizeEventCursorPosition(direction, event) {
743
- const isHorizontal = direction === "horizontal", {
744
- x,
745
- y
746
- } = getResizeEventCoordinates(event);
747
- return isHorizontal ? x : y;
748
- }
749
- function calculateDragOffsetPercentage(event, dragHandleId, direction, initialDragState, panelGroupElement) {
750
- const isHorizontal = direction === "horizontal", handleElement = getResizeHandleElement(dragHandleId, panelGroupElement);
751
- assert(handleElement, `No resize handle element found for id "${dragHandleId}"`);
752
- const groupId = handleElement.getAttribute("data-panel-group-id");
753
- assert(groupId, "Resize handle element has no group id attribute");
754
- let {
755
- initialCursorPosition
756
- } = initialDragState;
757
- const cursorPosition = getResizeEventCursorPosition(direction, event), groupElement = getPanelGroupElement(groupId, panelGroupElement);
758
- assert(groupElement, `No group element found for id "${groupId}"`);
759
- const groupRect = groupElement.getBoundingClientRect(), groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height;
760
- return (cursorPosition - initialCursorPosition) / groupSizeInPixels * 100;
761
- }
762
- function calculateDeltaPercentage(event, dragHandleId, direction, initialDragState, keyboardResizeBy, panelGroupElement) {
763
- if (isKeyDown(event)) {
764
- const isHorizontal = direction === "horizontal";
765
- let delta = 0;
766
- event.shiftKey ? delta = 100 : keyboardResizeBy != null ? delta = keyboardResizeBy : delta = 10;
767
- let movement = 0;
768
- switch (event.key) {
769
- case "ArrowDown":
770
- movement = isHorizontal ? 0 : delta;
771
- break;
772
- case "ArrowLeft":
773
- movement = isHorizontal ? -delta : 0;
774
- break;
775
- case "ArrowRight":
776
- movement = isHorizontal ? delta : 0;
777
- break;
778
- case "ArrowUp":
779
- movement = isHorizontal ? 0 : -delta;
780
- break;
781
- case "End":
782
- movement = 100;
783
- break;
784
- case "Home":
785
- movement = -100;
786
- break;
787
- }
788
- return movement;
789
- } else
790
- return initialDragState == null ? 0 : calculateDragOffsetPercentage(event, dragHandleId, direction, initialDragState, panelGroupElement);
791
- }
792
- function calculateUnsafeDefaultLayout({
793
- panelDataArray
794
- }) {
795
- const layout = Array(panelDataArray.length), panelConstraintsArray = panelDataArray.map((panelData) => panelData.constraints);
796
- let numPanelsWithSizes = 0, remainingSize = 100;
797
- for (let index = 0; index < panelDataArray.length; index++) {
798
- const panelConstraints = panelConstraintsArray[index];
799
- assert(panelConstraints, `Panel constraints not found for index ${index}`);
800
- const {
801
- defaultSize
802
- } = panelConstraints;
803
- defaultSize != null && (numPanelsWithSizes++, layout[index] = defaultSize, remainingSize -= defaultSize);
804
- }
805
- for (let index = 0; index < panelDataArray.length; index++) {
806
- const panelConstraints = panelConstraintsArray[index];
807
- assert(panelConstraints, `Panel constraints not found for index ${index}`);
808
- const {
809
- defaultSize
810
- } = panelConstraints;
811
- if (defaultSize != null)
812
- continue;
813
- const numRemainingPanels = panelDataArray.length - numPanelsWithSizes, size = remainingSize / numRemainingPanels;
814
- numPanelsWithSizes++, layout[index] = size, remainingSize -= size;
815
- }
816
- return layout;
817
- }
818
- function callPanelCallbacks(panelsArray, layout, panelIdToLastNotifiedSizeMap) {
819
- layout.forEach((size, index) => {
820
- const panelData = panelsArray[index];
821
- assert(panelData, `Panel data not found for index ${index}`);
822
- const {
823
- callbacks,
824
- constraints,
825
- id: panelId
826
- } = panelData, {
827
- collapsedSize = 0,
828
- collapsible
829
- } = constraints, lastNotifiedSize = panelIdToLastNotifiedSizeMap[panelId];
830
- if (lastNotifiedSize == null || size !== lastNotifiedSize) {
831
- panelIdToLastNotifiedSizeMap[panelId] = size;
832
- const {
833
- onCollapse,
834
- onExpand,
835
- onResize
836
- } = callbacks;
837
- onResize && onResize(size, lastNotifiedSize), collapsible && (onCollapse || onExpand) && (onExpand && (lastNotifiedSize == null || fuzzyNumbersEqual$1(
838
- lastNotifiedSize, collapsedSize)) && !fuzzyNumbersEqual$1(size, collapsedSize) && onExpand(), onCollapse && (lastNotifiedSize == null || !fuzzyNumbersEqual$1(
839
- lastNotifiedSize, collapsedSize)) && fuzzyNumbersEqual$1(size, collapsedSize) && onCollapse());
840
- }
841
- });
842
- }
843
- function compareLayouts(a, b) {
844
- if (a.length !== b.length)
845
- return !1;
846
- for (let index = 0; index < a.length; index++)
847
- if (a[index] != b[index])
848
- return !1;
849
- return !0;
850
- }
851
- function computePanelFlexBoxStyle({
852
- defaultSize,
853
- dragState,
854
- layout,
855
- panelData,
856
- panelIndex,
857
- precision = 3
858
- }) {
859
- const size = layout[panelIndex];
860
- let flexGrow;
861
- return size == null ? flexGrow = defaultSize != null ? defaultSize.toPrecision(precision) : "1" : panelData.length === 1 ? flexGrow = "1" : flexGrow =
862
- size.toPrecision(precision), {
863
- flexBasis: 0,
864
- flexGrow,
865
- flexShrink: 1,
866
- // Without this, Panel sizes may be unintentionally overridden by their content
867
- overflow: "hidden",
868
- // Disable pointer events inside of a panel during resize
869
- // This avoid edge cases like nested iframes
870
- pointerEvents: dragState !== null ? "none" : void 0
871
- };
872
- }
873
- function debounce(callback, durationMs = 10) {
874
- let timeoutId = null;
875
- return (...args) => {
876
- timeoutId !== null && clearTimeout(timeoutId), timeoutId = setTimeout(() => {
877
- callback(...args);
878
- }, durationMs);
879
- };
880
- }
881
- function initializeDefaultStorage(storageObject) {
882
- try {
883
- if (typeof localStorage < "u")
884
- storageObject.getItem = (name) => localStorage.getItem(name), storageObject.setItem = (name, value) => {
885
- localStorage.setItem(name, value);
886
- };
887
- else
888
- throw new Error("localStorage not supported in this environment");
889
- } catch (error) {
890
- console.error(error), storageObject.getItem = () => null, storageObject.setItem = () => {
891
- };
892
- }
893
- }
894
- function getPanelGroupKey(autoSaveId) {
895
- return `react-resizable-panels:${autoSaveId}`;
896
- }
897
- function getPanelKey(panels) {
898
- return panels.map((panel) => {
899
- const {
900
- constraints,
901
- id,
902
- idIsFromProps,
903
- order
904
- } = panel;
905
- return idIsFromProps ? id : order ? `${order}:${JSON.stringify(constraints)}` : JSON.stringify(constraints);
906
- }).sort((a, b) => a.localeCompare(b)).join(",");
907
- }
908
- function loadSerializedPanelGroupState(autoSaveId, storage) {
909
- try {
910
- const panelGroupKey = getPanelGroupKey(autoSaveId), serialized = storage.getItem(panelGroupKey);
911
- if (serialized) {
912
- const parsed = JSON.parse(serialized);
913
- if (typeof parsed == "object" && parsed != null)
914
- return parsed;
915
- }
916
- } catch {
917
- }
918
- return null;
919
- }
920
- function loadPanelGroupState(autoSaveId, panels, storage) {
921
- var _loadSerializedPanelG, _state$panelKey;
922
- const state = (_loadSerializedPanelG = loadSerializedPanelGroupState(autoSaveId, storage)) !== null && _loadSerializedPanelG !== void 0 ? _loadSerializedPanelG :
923
- {}, panelKey = getPanelKey(panels);
924
- return (_state$panelKey = state[panelKey]) !== null && _state$panelKey !== void 0 ? _state$panelKey : null;
925
- }
926
- function savePanelGroupState(autoSaveId, panels, panelSizesBeforeCollapse, sizes, storage) {
927
- var _loadSerializedPanelG2;
928
- const panelGroupKey = getPanelGroupKey(autoSaveId), panelKey = getPanelKey(panels), state = (_loadSerializedPanelG2 = loadSerializedPanelGroupState(
929
- autoSaveId, storage)) !== null && _loadSerializedPanelG2 !== void 0 ? _loadSerializedPanelG2 : {};
930
- state[panelKey] = {
931
- expandToSizes: Object.fromEntries(panelSizesBeforeCollapse.entries()),
932
- layout: sizes
933
- };
934
- try {
935
- storage.setItem(panelGroupKey, JSON.stringify(state));
936
- } catch (error) {
937
- console.error(error);
938
- }
939
- }
940
- function validatePanelGroupLayout({
941
- layout: prevLayout,
942
- panelConstraints
943
- }) {
944
- const nextLayout = [...prevLayout], nextLayoutTotalSize = nextLayout.reduce((accumulated, current) => accumulated + current, 0);
945
- if (nextLayout.length !== panelConstraints.length)
946
- throw Error(`Invalid ${panelConstraints.length} panel layout: ${nextLayout.map((size) => `${size}%`).join(", ")}`);
947
- if (!fuzzyNumbersEqual(nextLayoutTotalSize, 100))
948
- for (let index = 0; index < panelConstraints.length; index++) {
949
- const unsafeSize = nextLayout[index];
950
- assert(unsafeSize != null, `No layout data found for index ${index}`);
951
- const safeSize = 100 / nextLayoutTotalSize * unsafeSize;
952
- nextLayout[index] = safeSize;
953
- }
954
- let remainingSize = 0;
955
- for (let index = 0; index < panelConstraints.length; index++) {
956
- const unsafeSize = nextLayout[index];
957
- assert(unsafeSize != null, `No layout data found for index ${index}`);
958
- const safeSize = resizePanel({
959
- panelConstraints,
960
- panelIndex: index,
961
- size: unsafeSize
962
- });
963
- unsafeSize != safeSize && (remainingSize += unsafeSize - safeSize, nextLayout[index] = safeSize);
964
- }
965
- if (!fuzzyNumbersEqual(remainingSize, 0))
966
- for (let index = 0; index < panelConstraints.length; index++) {
967
- const prevSize = nextLayout[index];
968
- assert(prevSize != null, `No layout data found for index ${index}`);
969
- const unsafeSize = prevSize + remainingSize, safeSize = resizePanel({
970
- panelConstraints,
971
- panelIndex: index,
972
- size: unsafeSize
973
- });
974
- if (prevSize !== safeSize && (remainingSize -= safeSize - prevSize, nextLayout[index] = safeSize, fuzzyNumbersEqual(remainingSize, 0)))
975
- break;
976
- }
977
- return nextLayout;
978
- }
979
- const LOCAL_STORAGE_DEBOUNCE_INTERVAL = 100, defaultStorage = {
980
- getItem: (name) => (initializeDefaultStorage(defaultStorage), defaultStorage.getItem(name)),
981
- setItem: (name, value) => {
982
- initializeDefaultStorage(defaultStorage), defaultStorage.setItem(name, value);
983
- }
984
- }, debounceMap = {};
985
- function PanelGroupWithForwardedRef({
986
- autoSaveId = null,
987
- children,
988
- className: classNameFromProps = "",
989
- direction,
990
- forwardedRef,
991
- id: idFromProps = null,
992
- onLayout = null,
993
- keyboardResizeBy = null,
994
- storage = defaultStorage,
995
- style: styleFromProps,
996
- tagName: Type = "div",
997
- ...rest
998
- }) {
999
- const groupId = useUniqueId(idFromProps), panelGroupElementRef = useRef(null), [dragState, setDragState] = useState(null), [layout, setLayout] = useState(
1000
- []), forceUpdate = useForceUpdate(), panelIdToLastNotifiedSizeMapRef = useRef({}), panelSizeBeforeCollapseRef = useRef(/* @__PURE__ */ new Map()), prevDeltaRef = useRef(
1001
- 0), committedValuesRef = useRef({
1002
- autoSaveId,
1003
- direction,
1004
- dragState,
1005
- id: groupId,
1006
- keyboardResizeBy,
1007
- onLayout,
1008
- storage
1009
- }), eagerValuesRef = useRef({
1010
- layout,
1011
- panelDataArray: [],
1012
- panelDataArrayChanged: !1
1013
- });
1014
- useRef({
1015
- didLogIdAndOrderWarning: !1,
1016
- didLogPanelConstraintsWarning: !1,
1017
- prevPanelIds: []
1018
- }), useImperativeHandle(forwardedRef, () => ({
1019
- getId: () => committedValuesRef.current.id,
1020
- getLayout: () => {
1021
- const {
1022
- layout: layout2
1023
- } = eagerValuesRef.current;
1024
- return layout2;
1025
- },
1026
- setLayout: (unsafeLayout) => {
1027
- const {
1028
- onLayout: onLayout2
1029
- } = committedValuesRef.current, {
1030
- layout: prevLayout,
1031
- panelDataArray
1032
- } = eagerValuesRef.current, safeLayout = validatePanelGroupLayout({
1033
- layout: unsafeLayout,
1034
- panelConstraints: panelDataArray.map((panelData) => panelData.constraints)
1035
- });
1036
- areEqual(prevLayout, safeLayout) || (setLayout(safeLayout), eagerValuesRef.current.layout = safeLayout, onLayout2 && onLayout2(safeLayout), callPanelCallbacks(
1037
- panelDataArray, safeLayout, panelIdToLastNotifiedSizeMapRef.current));
1038
- }
1039
- }), []), useIsomorphicLayoutEffect(() => {
1040
- committedValuesRef.current.autoSaveId = autoSaveId, committedValuesRef.current.direction = direction, committedValuesRef.current.dragState = dragState,
1041
- committedValuesRef.current.id = groupId, committedValuesRef.current.onLayout = onLayout, committedValuesRef.current.storage = storage;
1042
- }), useWindowSplitterPanelGroupBehavior({
1043
- committedValuesRef,
1044
- eagerValuesRef,
1045
- groupId,
1046
- layout,
1047
- panelDataArray: eagerValuesRef.current.panelDataArray,
1048
- setLayout,
1049
- panelGroupElement: panelGroupElementRef.current
1050
- }), useEffect(() => {
1051
- const {
1052
- panelDataArray
1053
- } = eagerValuesRef.current;
1054
- if (autoSaveId) {
1055
- if (layout.length === 0 || layout.length !== panelDataArray.length)
1056
- return;
1057
- let debouncedSave = debounceMap[autoSaveId];
1058
- debouncedSave == null && (debouncedSave = debounce(savePanelGroupState, LOCAL_STORAGE_DEBOUNCE_INTERVAL), debounceMap[autoSaveId] = debouncedSave);
1059
- const clonedPanelDataArray = [...panelDataArray], clonedPanelSizesBeforeCollapse = new Map(panelSizeBeforeCollapseRef.current);
1060
- debouncedSave(autoSaveId, clonedPanelDataArray, clonedPanelSizesBeforeCollapse, layout, storage);
1061
- }
1062
- }, [autoSaveId, layout, storage]), useEffect(() => {
1063
- });
1064
- const collapsePanel = useCallback((panelData) => {
1065
- const {
1066
- onLayout: onLayout2
1067
- } = committedValuesRef.current, {
1068
- layout: prevLayout,
1069
- panelDataArray
1070
- } = eagerValuesRef.current;
1071
- if (panelData.constraints.collapsible) {
1072
- const panelConstraintsArray = panelDataArray.map((panelData2) => panelData2.constraints), {
1073
- collapsedSize = 0,
1074
- panelSize,
1075
- pivotIndices
1076
- } = panelDataHelper(panelDataArray, panelData, prevLayout);
1077
- if (assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`), !fuzzyNumbersEqual$1(panelSize, collapsedSize)) {
1078
- panelSizeBeforeCollapseRef.current.set(panelData.id, panelSize);
1079
- const delta = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1 ? panelSize - collapsedSize : collapsedSize - panelSize,
1080
- nextLayout = adjustLayoutByDelta({
1081
- delta,
1082
- initialLayout: prevLayout,
1083
- panelConstraints: panelConstraintsArray,
1084
- pivotIndices,
1085
- prevLayout,
1086
- trigger: "imperative-api"
1087
- });
1088
- compareLayouts(prevLayout, nextLayout) || (setLayout(nextLayout), eagerValuesRef.current.layout = nextLayout, onLayout2 && onLayout2(nextLayout),
1089
- callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current));
1090
- }
1091
- }
1092
- }, []), expandPanel = useCallback((panelData, minSizeOverride) => {
1093
- const {
1094
- onLayout: onLayout2
1095
- } = committedValuesRef.current, {
1096
- layout: prevLayout,
1097
- panelDataArray
1098
- } = eagerValuesRef.current;
1099
- if (panelData.constraints.collapsible) {
1100
- const panelConstraintsArray = panelDataArray.map((panelData2) => panelData2.constraints), {
1101
- collapsedSize = 0,
1102
- panelSize = 0,
1103
- minSize: minSizeFromProps = 0,
1104
- pivotIndices
1105
- } = panelDataHelper(panelDataArray, panelData, prevLayout), minSize = minSizeOverride ?? minSizeFromProps;
1106
- if (fuzzyNumbersEqual$1(panelSize, collapsedSize)) {
1107
- const prevPanelSize = panelSizeBeforeCollapseRef.current.get(panelData.id), baseSize = prevPanelSize != null && prevPanelSize >= minSize ? prevPanelSize :
1108
- minSize, delta = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1 ? panelSize - baseSize : baseSize - panelSize, nextLayout = adjustLayoutByDelta(
1109
- {
1110
- delta,
1111
- initialLayout: prevLayout,
1112
- panelConstraints: panelConstraintsArray,
1113
- pivotIndices,
1114
- prevLayout,
1115
- trigger: "imperative-api"
1116
- });
1117
- compareLayouts(prevLayout, nextLayout) || (setLayout(nextLayout), eagerValuesRef.current.layout = nextLayout, onLayout2 && onLayout2(nextLayout),
1118
- callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current));
1119
- }
1120
- }
1121
- }, []), getPanelSize = useCallback((panelData) => {
1122
- const {
1123
- layout: layout2,
1124
- panelDataArray
1125
- } = eagerValuesRef.current, {
1126
- panelSize
1127
- } = panelDataHelper(panelDataArray, panelData, layout2);
1128
- return assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`), panelSize;
1129
- }, []), getPanelStyle = useCallback((panelData, defaultSize) => {
1130
- const {
1131
- panelDataArray
1132
- } = eagerValuesRef.current, panelIndex = findPanelDataIndex(panelDataArray, panelData);
1133
- return computePanelFlexBoxStyle({
1134
- defaultSize,
1135
- dragState,
1136
- layout,
1137
- panelData: panelDataArray,
1138
- panelIndex
1139
- });
1140
- }, [dragState, layout]), isPanelCollapsed = useCallback((panelData) => {
1141
- const {
1142
- layout: layout2,
1143
- panelDataArray
1144
- } = eagerValuesRef.current, {
1145
- collapsedSize = 0,
1146
- collapsible,
1147
- panelSize
1148
- } = panelDataHelper(panelDataArray, panelData, layout2);
1149
- return assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`), collapsible === !0 && fuzzyNumbersEqual$1(panelSize, collapsedSize);
1150
- }, []), isPanelExpanded = useCallback((panelData) => {
1151
- const {
1152
- layout: layout2,
1153
- panelDataArray
1154
- } = eagerValuesRef.current, {
1155
- collapsedSize = 0,
1156
- collapsible,
1157
- panelSize
1158
- } = panelDataHelper(panelDataArray, panelData, layout2);
1159
- return assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`), !collapsible || fuzzyCompareNumbers(panelSize, collapsedSize) >
1160
- 0;
1161
- }, []), registerPanel = useCallback((panelData) => {
1162
- const {
1163
- panelDataArray
1164
- } = eagerValuesRef.current;
1165
- panelDataArray.push(panelData), panelDataArray.sort((panelA, panelB) => {
1166
- const orderA = panelA.order, orderB = panelB.order;
1167
- return orderA == null && orderB == null ? 0 : orderA == null ? -1 : orderB == null ? 1 : orderA - orderB;
1168
- }), eagerValuesRef.current.panelDataArrayChanged = !0, forceUpdate();
1169
- }, [forceUpdate]);
1170
- useIsomorphicLayoutEffect(() => {
1171
- if (eagerValuesRef.current.panelDataArrayChanged) {
1172
- eagerValuesRef.current.panelDataArrayChanged = !1;
1173
- const {
1174
- autoSaveId: autoSaveId2,
1175
- onLayout: onLayout2,
1176
- storage: storage2
1177
- } = committedValuesRef.current, {
1178
- layout: prevLayout,
1179
- panelDataArray
1180
- } = eagerValuesRef.current;
1181
- let unsafeLayout = null;
1182
- if (autoSaveId2) {
1183
- const state = loadPanelGroupState(autoSaveId2, panelDataArray, storage2);
1184
- state && (panelSizeBeforeCollapseRef.current = new Map(Object.entries(state.expandToSizes)), unsafeLayout = state.layout);
1185
- }
1186
- unsafeLayout == null && (unsafeLayout = calculateUnsafeDefaultLayout({
1187
- panelDataArray
1188
- }));
1189
- const nextLayout = validatePanelGroupLayout({
1190
- layout: unsafeLayout,
1191
- panelConstraints: panelDataArray.map((panelData) => panelData.constraints)
1192
- });
1193
- areEqual(prevLayout, nextLayout) || (setLayout(nextLayout), eagerValuesRef.current.layout = nextLayout, onLayout2 && onLayout2(nextLayout), callPanelCallbacks(
1194
- panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current));
1195
- }
1196
- }), useIsomorphicLayoutEffect(() => {
1197
- const eagerValues = eagerValuesRef.current;
1198
- return () => {
1199
- eagerValues.layout = [];
1200
- };
1201
- }, []);
1202
- const registerResizeHandle2 = useCallback((dragHandleId) => function(event) {
1203
- event.preventDefault();
1204
- const panelGroupElement = panelGroupElementRef.current;
1205
- if (!panelGroupElement)
1206
- return () => null;
1207
- const {
1208
- direction: direction2,
1209
- dragState: dragState2,
1210
- id: groupId2,
1211
- keyboardResizeBy: keyboardResizeBy2,
1212
- onLayout: onLayout2
1213
- } = committedValuesRef.current, {
1214
- layout: prevLayout,
1215
- panelDataArray
1216
- } = eagerValuesRef.current, {
1217
- initialLayout
1218
- } = dragState2 ?? {}, pivotIndices = determinePivotIndices(groupId2, dragHandleId, panelGroupElement);
1219
- let delta = calculateDeltaPercentage(event, dragHandleId, direction2, dragState2, keyboardResizeBy2, panelGroupElement);
1220
- const isHorizontal = direction2 === "horizontal";
1221
- document.dir === "rtl" && isHorizontal && (delta = -delta);
1222
- const panelConstraints = panelDataArray.map((panelData) => panelData.constraints), nextLayout = adjustLayoutByDelta({
1223
- delta,
1224
- initialLayout: initialLayout ?? prevLayout,
1225
- panelConstraints,
1226
- pivotIndices,
1227
- prevLayout,
1228
- trigger: isKeyDown(event) ? "keyboard" : "mouse-or-touch"
1229
- }), layoutChanged = !compareLayouts(prevLayout, nextLayout);
1230
- (isPointerEvent(event) || isMouseEvent(event)) && prevDeltaRef.current != delta && (prevDeltaRef.current = delta, layoutChanged ? reportConstraintsViolation(
1231
- dragHandleId, 0) : isHorizontal ? reportConstraintsViolation(dragHandleId, delta < 0 ? EXCEEDED_HORIZONTAL_MIN : EXCEEDED_HORIZONTAL_MAX) : reportConstraintsViolation(
1232
- dragHandleId, delta < 0 ? EXCEEDED_VERTICAL_MIN : EXCEEDED_VERTICAL_MAX)), layoutChanged && (setLayout(nextLayout), eagerValuesRef.current.layout =
1233
- nextLayout, onLayout2 && onLayout2(nextLayout), callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current));
1234
- }, []), resizePanel2 = useCallback((panelData, unsafePanelSize) => {
1235
- const {
1236
- onLayout: onLayout2
1237
- } = committedValuesRef.current, {
1238
- layout: prevLayout,
1239
- panelDataArray
1240
- } = eagerValuesRef.current, panelConstraintsArray = panelDataArray.map((panelData2) => panelData2.constraints), {
1241
- panelSize,
1242
- pivotIndices
1243
- } = panelDataHelper(panelDataArray, panelData, prevLayout);
1244
- assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`);
1245
- const delta = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1 ? panelSize - unsafePanelSize : unsafePanelSize - panelSize,
1246
- nextLayout = adjustLayoutByDelta({
1247
- delta,
1248
- initialLayout: prevLayout,
1249
- panelConstraints: panelConstraintsArray,
1250
- pivotIndices,
1251
- prevLayout,
1252
- trigger: "imperative-api"
1253
- });
1254
- compareLayouts(prevLayout, nextLayout) || (setLayout(nextLayout), eagerValuesRef.current.layout = nextLayout, onLayout2 && onLayout2(nextLayout), callPanelCallbacks(
1255
- panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current));
1256
- }, []), reevaluatePanelConstraints = useCallback((panelData, prevConstraints) => {
1257
- const {
1258
- layout: layout2,
1259
- panelDataArray
1260
- } = eagerValuesRef.current, {
1261
- collapsedSize: prevCollapsedSize = 0,
1262
- collapsible: prevCollapsible
1263
- } = prevConstraints, {
1264
- collapsedSize: nextCollapsedSize = 0,
1265
- collapsible: nextCollapsible,
1266
- maxSize: nextMaxSize = 100,
1267
- minSize: nextMinSize = 0
1268
- } = panelData.constraints, {
1269
- panelSize: prevPanelSize
1270
- } = panelDataHelper(panelDataArray, panelData, layout2);
1271
- prevPanelSize != null && (prevCollapsible && nextCollapsible && fuzzyNumbersEqual$1(prevPanelSize, prevCollapsedSize) ? fuzzyNumbersEqual$1(prevCollapsedSize,
1272
- nextCollapsedSize) || resizePanel2(panelData, nextCollapsedSize) : prevPanelSize < nextMinSize ? resizePanel2(panelData, nextMinSize) : prevPanelSize >
1273
- nextMaxSize && resizePanel2(panelData, nextMaxSize));
1274
- }, [resizePanel2]), startDragging = useCallback((dragHandleId, event) => {
1275
- const {
1276
- direction: direction2
1277
- } = committedValuesRef.current, {
1278
- layout: layout2
1279
- } = eagerValuesRef.current;
1280
- if (!panelGroupElementRef.current)
1281
- return;
1282
- const handleElement = getResizeHandleElement(dragHandleId, panelGroupElementRef.current);
1283
- assert(handleElement, `Drag handle element not found for id "${dragHandleId}"`);
1284
- const initialCursorPosition = getResizeEventCursorPosition(direction2, event);
1285
- setDragState({
1286
- dragHandleId,
1287
- dragHandleRect: handleElement.getBoundingClientRect(),
1288
- initialCursorPosition,
1289
- initialLayout: layout2
1290
- });
1291
- }, []), stopDragging = useCallback(() => {
1292
- setDragState(null);
1293
- }, []), unregisterPanel = useCallback((panelData) => {
1294
- const {
1295
- panelDataArray
1296
- } = eagerValuesRef.current, index = findPanelDataIndex(panelDataArray, panelData);
1297
- index >= 0 && (panelDataArray.splice(index, 1), delete panelIdToLastNotifiedSizeMapRef.current[panelData.id], eagerValuesRef.current.panelDataArrayChanged =
1298
- !0, forceUpdate());
1299
- }, [forceUpdate]), context = useMemo(() => ({
1300
- collapsePanel,
1301
- direction,
1302
- dragState,
1303
- expandPanel,
1304
- getPanelSize,
1305
- getPanelStyle,
1306
- groupId,
1307
- isPanelCollapsed,
1308
- isPanelExpanded,
1309
- reevaluatePanelConstraints,
1310
- registerPanel,
1311
- registerResizeHandle: registerResizeHandle2,
1312
- resizePanel: resizePanel2,
1313
- startDragging,
1314
- stopDragging,
1315
- unregisterPanel,
1316
- panelGroupElement: panelGroupElementRef.current
1317
- }), [collapsePanel, dragState, direction, expandPanel, getPanelSize, getPanelStyle, groupId, isPanelCollapsed, isPanelExpanded, reevaluatePanelConstraints,
1318
- registerPanel, registerResizeHandle2, resizePanel2, startDragging, stopDragging, unregisterPanel]), style = {
1319
- display: "flex",
1320
- flexDirection: direction === "horizontal" ? "row" : "column",
1321
- height: "100%",
1322
- overflow: "hidden",
1323
- width: "100%"
1324
- };
1325
- return createElement(PanelGroupContext.Provider, {
1326
- value: context
1327
- }, createElement(Type, {
1328
- ...rest,
1329
- children,
1330
- className: classNameFromProps,
1331
- id: idFromProps,
1332
- ref: panelGroupElementRef,
1333
- style: {
1334
- ...style,
1335
- ...styleFromProps
1336
- },
1337
- // CSS selectors
1338
- "data-panel-group": "",
1339
- "data-panel-group-direction": direction,
1340
- "data-panel-group-id": groupId
1341
- }));
1342
- }
1343
- const PanelGroup = forwardRef((props2, ref) => createElement(PanelGroupWithForwardedRef, {
1344
- ...props2,
1345
- forwardedRef: ref
1346
- }));
1347
- PanelGroupWithForwardedRef.displayName = "PanelGroup";
1348
- PanelGroup.displayName = "forwardRef(PanelGroup)";
1349
- function findPanelDataIndex(panelDataArray, panelData) {
1350
- return panelDataArray.findIndex((prevPanelData) => prevPanelData === panelData || prevPanelData.id === panelData.id);
1351
- }
1352
- function panelDataHelper(panelDataArray, panelData, layout) {
1353
- const panelIndex = findPanelDataIndex(panelDataArray, panelData), pivotIndices = panelIndex === panelDataArray.length - 1 ? [panelIndex - 1, panelIndex] :
1354
- [panelIndex, panelIndex + 1], panelSize = layout[panelIndex];
1355
- return {
1356
- ...panelData.constraints,
1357
- panelSize,
1358
- pivotIndices
1359
- };
1360
- }
1361
- function useWindowSplitterResizeHandlerBehavior({
1362
- disabled,
1363
- handleId,
1364
- resizeHandler,
1365
- panelGroupElement
1366
- }) {
1367
- useEffect(() => {
1368
- if (disabled || resizeHandler == null || panelGroupElement == null)
1369
- return;
1370
- const handleElement = getResizeHandleElement(handleId, panelGroupElement);
1371
- if (handleElement == null)
1372
- return;
1373
- const onKeyDown = (event) => {
1374
- if (!event.defaultPrevented)
1375
- switch (event.key) {
1376
- case "ArrowDown":
1377
- case "ArrowLeft":
1378
- case "ArrowRight":
1379
- case "ArrowUp":
1380
- case "End":
1381
- case "Home": {
1382
- event.preventDefault(), resizeHandler(event);
1383
- break;
1384
- }
1385
- case "F6": {
1386
- event.preventDefault();
1387
- const groupId = handleElement.getAttribute("data-panel-group-id");
1388
- assert(groupId, `No group element found for id "${groupId}"`);
1389
- const handles = getResizeHandleElementsForGroup(groupId, panelGroupElement), index = getResizeHandleElementIndex(groupId, handleId, panelGroupElement);
1390
- assert(index !== null, `No resize element found for id "${handleId}"`);
1391
- const nextIndex = event.shiftKey ? index > 0 ? index - 1 : handles.length - 1 : index + 1 < handles.length ? index + 1 : 0;
1392
- handles[nextIndex].focus();
1393
- break;
1394
- }
1395
- }
1396
- };
1397
- return handleElement.addEventListener("keydown", onKeyDown), () => {
1398
- handleElement.removeEventListener("keydown", onKeyDown);
1399
- };
1400
- }, [panelGroupElement, disabled, handleId, resizeHandler]);
1401
- }
1402
- function PanelResizeHandle({
1403
- children = null,
1404
- className: classNameFromProps = "",
1405
- disabled = !1,
1406
- hitAreaMargins,
1407
- id: idFromProps,
1408
- onBlur,
1409
- onDragging,
1410
- onFocus,
1411
- style: styleFromProps = {},
1412
- tabIndex = 0,
1413
- tagName: Type = "div",
1414
- ...rest
1415
- }) {
1416
- var _hitAreaMargins$coars, _hitAreaMargins$fine;
1417
- const elementRef = useRef(null), callbacksRef = useRef({
1418
- onDragging
1419
- });
1420
- useEffect(() => {
1421
- callbacksRef.current.onDragging = onDragging;
1422
- });
1423
- const panelGroupContext = useContext(PanelGroupContext);
1424
- if (panelGroupContext === null)
1425
- throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");
1426
- const {
1427
- direction,
1428
- groupId,
1429
- registerResizeHandle: registerResizeHandleWithParentGroup,
1430
- startDragging,
1431
- stopDragging,
1432
- panelGroupElement
1433
- } = panelGroupContext, resizeHandleId = useUniqueId(idFromProps), [state, setState] = useState("inactive"), [isFocused, setIsFocused] = useState(!1),
1434
- [resizeHandler, setResizeHandler] = useState(null), committedValuesRef = useRef({
1435
- state
1436
- });
1437
- useIsomorphicLayoutEffect(() => {
1438
- committedValuesRef.current.state = state;
1439
- }), useEffect(() => {
1440
- if (disabled)
1441
- setResizeHandler(null);
1442
- else {
1443
- const resizeHandler2 = registerResizeHandleWithParentGroup(resizeHandleId);
1444
- setResizeHandler(() => resizeHandler2);
1445
- }
1446
- }, [disabled, resizeHandleId, registerResizeHandleWithParentGroup]);
1447
- const coarseHitAreaMargins = (_hitAreaMargins$coars = hitAreaMargins?.coarse) !== null && _hitAreaMargins$coars !== void 0 ? _hitAreaMargins$coars :
1448
- 15, fineHitAreaMargins = (_hitAreaMargins$fine = hitAreaMargins?.fine) !== null && _hitAreaMargins$fine !== void 0 ? _hitAreaMargins$fine : 5;
1449
- return useEffect(() => {
1450
- if (disabled || resizeHandler == null)
1451
- return;
1452
- const element = elementRef.current;
1453
- return assert(element, "Element ref not attached"), registerResizeHandle(resizeHandleId, element, direction, {
1454
- coarse: coarseHitAreaMargins,
1455
- fine: fineHitAreaMargins
1456
- }, (action, isActive, event) => {
1457
- if (isActive)
1458
- switch (action) {
1459
- case "down": {
1460
- setState("drag"), startDragging(resizeHandleId, event);
1461
- const {
1462
- onDragging: onDragging2
1463
- } = callbacksRef.current;
1464
- onDragging2 && onDragging2(!0);
1465
- break;
1466
- }
1467
- case "move": {
1468
- const {
1469
- state: state2
1470
- } = committedValuesRef.current;
1471
- state2 !== "drag" && setState("hover"), resizeHandler(event);
1472
- break;
1473
- }
1474
- case "up": {
1475
- setState("hover"), stopDragging();
1476
- const {
1477
- onDragging: onDragging2
1478
- } = callbacksRef.current;
1479
- onDragging2 && onDragging2(!1);
1480
- break;
1481
- }
1482
- }
1483
- else
1484
- setState("inactive");
1485
- });
1486
- }, [coarseHitAreaMargins, direction, disabled, fineHitAreaMargins, registerResizeHandleWithParentGroup, resizeHandleId, resizeHandler, startDragging,
1487
- stopDragging]), useWindowSplitterResizeHandlerBehavior({
1488
- disabled,
1489
- handleId: resizeHandleId,
1490
- resizeHandler,
1491
- panelGroupElement
1492
- }), createElement(Type, {
1493
- ...rest,
1494
- children,
1495
- className: classNameFromProps,
1496
- id: idFromProps,
1497
- onBlur: () => {
1498
- setIsFocused(!1), onBlur?.();
1499
- },
1500
- onFocus: () => {
1501
- setIsFocused(!0), onFocus?.();
1502
- },
1503
- ref: elementRef,
1504
- role: "separator",
1505
- style: {
1506
- ...{
1507
- touchAction: "none",
1508
- userSelect: "none"
1509
- },
1510
- ...styleFromProps
1511
- },
1512
- tabIndex,
1513
- // CSS selectors
1514
- "data-panel-group-direction": direction,
1515
- "data-panel-group-id": groupId,
1516
- "data-resize-handle": "",
1517
- "data-resize-handle-active": state === "drag" ? "pointer" : isFocused ? "keyboard" : void 0,
1518
- "data-resize-handle-state": state,
1519
- "data-panel-resize-handle-enabled": !disabled,
1520
- "data-panel-resize-handle-id": resizeHandleId
1521
- });
1522
- }
1523
- PanelResizeHandle.displayName = "PanelResizeHandle";
1524
- export {
1525
- PanelGroup as P,
1526
- Panel as a,
1527
- PanelResizeHandle as b
1528
- };