likec4 1.7.0 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__app__/src/chunks/{index-nxRBtTOQ.js → index-CsouX5P7.js} +26 -61
- package/dist/__app__/src/chunks/{likec4-DiOy4PZ9.js → likec4-5Tyb70uB.js} +319 -816
- package/dist/__app__/src/chunks/{mantine-u17mT9KZ.js → mantine-l9Camp3k.js} +336 -686
- package/dist/__app__/src/chunks/{tanstack-router-Cg36mbgZ.js → tanstack-router-BgNzIYOs.js} +61 -127
- package/dist/__app__/src/main.js +12352 -5
- package/dist/__app__/src/style.css +1 -1
- package/dist/__app__/tsconfig.tsbuildinfo +1 -1
- package/dist/cli/index.mjs +31 -31
- package/icons/all.js +2 -2
- package/icons/aws/activate.js +7 -7
- package/icons/aws/alexa-for-business.js +7 -7
- package/icons/aws/amplify.js +7 -7
- package/icons/aws/apache-mxnet-on-aws.js +7 -7
- package/icons/aws/api-gateway.js +7 -7
- package/icons/aws/app-config.js +7 -7
- package/icons/aws/app-flow.js +7 -7
- package/icons/aws/app-mesh.js +7 -7
- package/icons/aws/app-runner.js +7 -7
- package/icons/aws/app-stream.js +7 -7
- package/icons/aws/app-sync.js +7 -7
- package/icons/aws/application-auto-scaling.js +7 -7
- package/icons/aws/application-composer.js +7 -7
- package/icons/aws/application-cost-profiler.js +7 -7
- package/icons/aws/application-discovery-service.js +7 -7
- package/icons/aws/application-migration-service.js +7 -7
- package/icons/aws/artifact.js +7 -7
- package/icons/aws/athena.js +7 -7
- package/icons/aws/audit-manager.js +7 -7
- package/icons/aws/augmented-ai-a2i.js +7 -7
- package/icons/aws/aurora.js +7 -7
- package/icons/aws/auto-scaling.js +7 -7
- package/icons/aws/backint-agent.js +7 -7
- package/icons/aws/backup.js +7 -7
- package/icons/aws/batch.js +7 -7
- package/icons/aws/billing-conductor.js +7 -7
- package/icons/aws/bottlerocket.js +7 -7
- package/icons/aws/braket.js +7 -7
- package/icons/aws/budgets.js +7 -7
- package/icons/aws/certificate-manager.js +7 -7
- package/icons/aws/chatbot.js +7 -7
- package/icons/aws/chime-sdk.js +7 -7
- package/icons/aws/chime-voice-connector.js +7 -7
- package/icons/aws/chime.js +7 -7
- package/icons/aws/clean-rooms.js +7 -7
- package/icons/aws/client-vpn.js +7 -7
- package/icons/aws/cloud-control-api.js +7 -7
- package/icons/aws/cloud-development-kit.js +7 -7
- package/icons/aws/cloud-directory.js +7 -7
- package/icons/aws/cloud-formation.js +7 -7
- package/icons/aws/cloud-front.js +7 -7
- package/icons/aws/cloud-hsm.js +7 -7
- package/icons/aws/cloud-map.js +7 -7
- package/icons/aws/cloud-search.js +7 -7
- package/icons/aws/cloud-shell.js +7 -7
- package/icons/aws/cloud-trail.js +7 -7
- package/icons/aws/cloud-wan.js +7 -7
- package/icons/aws/cloud-watch.js +7 -7
- package/icons/aws/cloud9.js +7 -7
- package/icons/aws/code-artifact.js +7 -7
- package/icons/aws/code-build.js +7 -7
- package/icons/aws/code-catalyst.js +7 -7
- package/icons/aws/code-commit.js +7 -7
- package/icons/aws/code-deploy.js +7 -7
- package/icons/aws/code-guru.js +7 -7
- package/icons/aws/code-pipeline.js +7 -7
- package/icons/aws/code-star.js +7 -7
- package/icons/aws/code-whisperer.js +7 -7
- package/icons/aws/cognito.js +7 -7
- package/icons/aws/command-line-interface.js +7 -7
- package/icons/aws/comprehend-medical.js +7 -7
- package/icons/aws/comprehend.js +7 -7
- package/icons/aws/compute-optimizer.js +7 -7
- package/icons/aws/config.js +7 -7
- package/icons/aws/connect.js +7 -7
- package/icons/aws/console-mobile-application.js +7 -7
- package/icons/aws/control-tower.js +7 -7
- package/icons/aws/corretto.js +7 -7
- package/icons/aws/cost-and-usage-report.js +7 -7
- package/icons/aws/cost-explorer.js +7 -7
- package/icons/aws/data-exchange.js +7 -7
- package/icons/aws/data-pipeline.js +7 -7
- package/icons/aws/data-sync.js +7 -7
- package/icons/aws/data-zone.js +7 -7
- package/icons/aws/database-migration-service.js +7 -7
- package/icons/aws/deep-composer.js +7 -7
- package/icons/aws/deep-learning-amis.js +7 -7
- package/icons/aws/deep-learning-containers.js +7 -7
- package/icons/aws/deep-lens.js +7 -7
- package/icons/aws/deep-racer.js +7 -7
- package/icons/aws/detective.js +7 -7
- package/icons/aws/dev-ops-guru.js +7 -7
- package/icons/aws/device-farm.js +7 -7
- package/icons/aws/direct-connect.js +7 -7
- package/icons/aws/directory-service.js +7 -7
- package/icons/aws/distro-for-open-telemetry.js +7 -7
- package/icons/aws/document-db.js +7 -7
- package/icons/aws/dynamo-db.js +7 -7
- package/icons/aws/ec2-auto-scaling.js +7 -7
- package/icons/aws/ec2-image-builder.js +7 -7
- package/icons/aws/ec2.js +7 -7
- package/icons/aws/ecs-anywhere.js +7 -7
- package/icons/aws/efs.js +7 -7
- package/icons/aws/eks-anywhere.js +7 -7
- package/icons/aws/eks-cloud.js +7 -7
- package/icons/aws/eks-distro.js +7 -7
- package/icons/aws/elasti-cache.js +7 -7
- package/icons/aws/elastic-beanstalk.js +7 -7
- package/icons/aws/elastic-block-store.js +7 -7
- package/icons/aws/elastic-container-registry.js +7 -7
- package/icons/aws/elastic-container-service.js +7 -7
- package/icons/aws/elastic-disaster-recovery.js +7 -7
- package/icons/aws/elastic-fabric-adapter.js +7 -7
- package/icons/aws/elastic-inference.js +7 -7
- package/icons/aws/elastic-kubernetes-service.js +7 -7
- package/icons/aws/elastic-load-balancing.js +7 -7
- package/icons/aws/elastic-transcoder.js +7 -7
- package/icons/aws/elemental-appliances-software.js +7 -7
- package/icons/aws/elemental-conductor.js +7 -7
- package/icons/aws/elemental-delta.js +7 -7
- package/icons/aws/elemental-link.js +7 -7
- package/icons/aws/elemental-live.js +7 -7
- package/icons/aws/elemental-media-connect.js +7 -7
- package/icons/aws/elemental-media-convert.js +7 -7
- package/icons/aws/elemental-media-live.js +7 -7
- package/icons/aws/elemental-media-package.js +7 -7
- package/icons/aws/elemental-media-store.js +7 -7
- package/icons/aws/elemental-media-tailor.js +7 -7
- package/icons/aws/elemental-server.js +7 -7
- package/icons/aws/emr.js +7 -7
- package/icons/aws/event-bridge.js +7 -7
- package/icons/aws/express-workflows.js +7 -7
- package/icons/aws/fargate.js +7 -7
- package/icons/aws/fault-injection-simulator.js +7 -7
- package/icons/aws/file-cache.js +7 -7
- package/icons/aws/fin-space.js +7 -7
- package/icons/aws/firewall-manager.js +7 -7
- package/icons/aws/forecast.js +7 -7
- package/icons/aws/fraud-detector.js +7 -7
- package/icons/aws/free-rtos.js +7 -7
- package/icons/aws/fsx-for-lustre.js +7 -7
- package/icons/aws/fsx-for-net-app-ontap.js +7 -7
- package/icons/aws/fsx-for-open-zfs.js +7 -7
- package/icons/aws/fsx-for-wfs.js +7 -7
- package/icons/aws/fsx.js +7 -7
- package/icons/aws/game-kit.js +7 -7
- package/icons/aws/game-lift.js +7 -7
- package/icons/aws/game-sparks.js +7 -7
- package/icons/aws/genomics-cli.js +7 -7
- package/icons/aws/global-accelerator.js +7 -7
- package/icons/aws/glue-data-brew.js +7 -7
- package/icons/aws/glue-elastic-views.js +7 -7
- package/icons/aws/glue.js +7 -7
- package/icons/aws/ground-station.js +7 -7
- package/icons/aws/guard-duty.js +7 -7
- package/icons/aws/health-lake.js +7 -7
- package/icons/aws/honeycode.js +7 -7
- package/icons/aws/iam-identity-center.js +7 -7
- package/icons/aws/identity-and-access-management.js +7 -7
- package/icons/aws/inspector.js +7 -7
- package/icons/aws/interactive-video-service.js +7 -7
- package/icons/aws/io-t-1-click.js +7 -7
- package/icons/aws/io-t-analytics.js +7 -7
- package/icons/aws/io-t-button.js +7 -7
- package/icons/aws/io-t-core.js +7 -7
- package/icons/aws/io-t-device-defender.js +7 -7
- package/icons/aws/io-t-device-management.js +7 -7
- package/icons/aws/io-t-edu-kit.js +7 -7
- package/icons/aws/io-t-events.js +7 -7
- package/icons/aws/io-t-express-link.js +7 -7
- package/icons/aws/io-t-fleet-wise.js +7 -7
- package/icons/aws/io-t-greengrass.js +7 -7
- package/icons/aws/io-t-robo-runner.js +7 -7
- package/icons/aws/io-t-site-wise.js +7 -7
- package/icons/aws/io-t-things-graph.js +7 -7
- package/icons/aws/io-t-twin-maker.js +6 -6
- package/icons/aws/iq.js +7 -7
- package/icons/aws/kendra.js +7 -7
- package/icons/aws/key-management-service.js +7 -7
- package/icons/aws/keyspaces.js +7 -7
- package/icons/aws/kinesis-data-analytics.js +7 -7
- package/icons/aws/kinesis-data-streams.js +7 -7
- package/icons/aws/kinesis-firehose.js +7 -7
- package/icons/aws/kinesis-video-streams.js +7 -7
- package/icons/aws/kinesis.js +7 -7
- package/icons/aws/lake-formation.js +7 -7
- package/icons/aws/lambda.js +7 -7
- package/icons/aws/launch-wizard.js +7 -7
- package/icons/aws/lex.js +7 -7
- package/icons/aws/license-manager.js +7 -7
- package/icons/aws/lightsail.js +7 -7
- package/icons/aws/local-zones.js +7 -7
- package/icons/aws/location-service.js +7 -7
- package/icons/aws/lookout-for-equipment.js +7 -7
- package/icons/aws/lookout-for-metrics.js +7 -7
- package/icons/aws/lookout-for-vision.js +7 -7
- package/icons/aws/lumberyard.js +7 -7
- package/icons/aws/macie.js +7 -7
- package/icons/aws/mainframe-modernization.js +7 -7
- package/icons/aws/managed-blockchain.js +7 -7
- package/icons/aws/managed-grafana.js +7 -7
- package/icons/aws/managed-service-for-prometheus.js +7 -7
- package/icons/aws/managed-services.js +7 -7
- package/icons/aws/managed-streaming-for-apache-kafka.js +7 -7
- package/icons/aws/managed-workflows-for-apache-airflow.js +7 -7
- package/icons/aws/management-console.js +7 -7
- package/icons/aws/marketplace-dark.js +3 -3
- package/icons/aws/marketplace-light.js +3 -3
- package/icons/aws/memory-db-for-redis.js +7 -7
- package/icons/aws/migration-evaluator.js +7 -7
- package/icons/aws/migration-hub.js +7 -7
- package/icons/aws/monitron.js +7 -7
- package/icons/aws/mq.js +7 -7
- package/icons/aws/neptune.js +7 -7
- package/icons/aws/network-firewall.js +7 -7
- package/icons/aws/neuron.js +7 -7
- package/icons/aws/nice-dcv.js +7 -7
- package/icons/aws/nice-engin-frame.js +7 -7
- package/icons/aws/nimble-studio.js +7 -7
- package/icons/aws/nitro-enclaves.js +7 -7
- package/icons/aws/omics.js +7 -7
- package/icons/aws/open-3d-engine.js +7 -7
- package/icons/aws/open-search-service.js +7 -7
- package/icons/aws/ops-works.js +7 -7
- package/icons/aws/organizations.js +7 -7
- package/icons/aws/outposts-family.js +7 -7
- package/icons/aws/outposts-rack.js +7 -7
- package/icons/aws/outposts-servers.js +7 -7
- package/icons/aws/panorama.js +7 -7
- package/icons/aws/parallel-cluster.js +7 -7
- package/icons/aws/personal-health-dashboard.js +7 -7
- package/icons/aws/personalize.js +7 -7
- package/icons/aws/pinpoint-apis.js +7 -7
- package/icons/aws/pinpoint.js +7 -7
- package/icons/aws/polly.js +7 -7
- package/icons/aws/private-5g.js +7 -7
- package/icons/aws/private-certificate-authority.js +9 -9
- package/icons/aws/private-link.js +7 -7
- package/icons/aws/professional-services.js +7 -7
- package/icons/aws/proton.js +7 -7
- package/icons/aws/quantum-ledger-database.js +7 -7
- package/icons/aws/quick-sight.js +7 -7
- package/icons/aws/rds-on-vmware.js +7 -7
- package/icons/aws/rds.js +7 -7
- package/icons/aws/re-post.js +7 -7
- package/icons/aws/red-hat-open-shift-service-on-aws.js +7 -7
- package/icons/aws/redshift.js +7 -7
- package/icons/aws/rekognition.js +7 -7
- package/icons/aws/reserved-instance-reporting.js +7 -7
- package/icons/aws/resilience-hub.js +7 -7
- package/icons/aws/resource-access-manager.js +7 -7
- package/icons/aws/resource-explorer.js +7 -7
- package/icons/aws/robo-maker.js +7 -7
- package/icons/aws/route-53.js +7 -7
- package/icons/aws/s3-on-outposts.js +7 -7
- package/icons/aws/sage-maker-ground-truth.js +7 -7
- package/icons/aws/sage-maker-studio-lab.js +7 -7
- package/icons/aws/sage-maker.js +7 -7
- package/icons/aws/savings-plans.js +7 -7
- package/icons/aws/secrets-manager.js +7 -7
- package/icons/aws/security-hub.js +7 -7
- package/icons/aws/security-lake.js +7 -7
- package/icons/aws/server-migration-service.js +7 -7
- package/icons/aws/serverless-application-repository.js +7 -7
- package/icons/aws/service-catalog.js +7 -7
- package/icons/aws/service-management-connector.js +9 -9
- package/icons/aws/shield.js +7 -7
- package/icons/aws/signer.js +7 -7
- package/icons/aws/sim-space-weaver.js +7 -7
- package/icons/aws/simple-email-service.js +7 -7
- package/icons/aws/simple-notification-service.js +7 -7
- package/icons/aws/simple-queue-service.js +7 -7
- package/icons/aws/simple-storage-service-glacier.js +7 -7
- package/icons/aws/simple-storage-service.js +7 -7
- package/icons/aws/site-to-site-vpn.js +7 -7
- package/icons/aws/snowball-edge.js +7 -7
- package/icons/aws/snowball.js +7 -7
- package/icons/aws/snowcone.js +7 -7
- package/icons/aws/snowmobile.js +7 -7
- package/icons/aws/step-functions.js +7 -7
- package/icons/aws/storage-gateway.js +7 -7
- package/icons/aws/sumerian.js +7 -7
- package/icons/aws/supply-chain.js +7 -7
- package/icons/aws/support.js +7 -7
- package/icons/aws/systems-manager.js +7 -7
- package/icons/aws/tensor-flow-on-aws.js +7 -7
- package/icons/aws/textract.js +7 -7
- package/icons/aws/thinkbox-deadline.js +7 -7
- package/icons/aws/thinkbox-frost.js +7 -7
- package/icons/aws/thinkbox-krakatoa.js +7 -7
- package/icons/aws/thinkbox-sequoia.js +7 -7
- package/icons/aws/thinkbox-stoke.js +7 -7
- package/icons/aws/thinkbox-xmesh.js +7 -7
- package/icons/aws/timestream.js +7 -7
- package/icons/aws/tools-and-sdks.js +7 -7
- package/icons/aws/torch-serve.js +7 -7
- package/icons/aws/training-certification.js +7 -7
- package/icons/aws/transcribe.js +7 -7
- package/icons/aws/transfer-family.js +7 -7
- package/icons/aws/transit-gateway.js +7 -7
- package/icons/aws/translate.js +7 -7
- package/icons/aws/trusted-advisor.js +7 -7
- package/icons/aws/verified-access.js +7 -7
- package/icons/aws/verified-permissions.js +7 -7
- package/icons/aws/virtual-private-cloud.js +7 -7
- package/icons/aws/vmware-cloud-on-aws.js +7 -7
- package/icons/aws/vpc-lattice.js +7 -7
- package/icons/aws/waf.js +7 -7
- package/icons/aws/wavelength.js +7 -7
- package/icons/aws/well-architected-tool.js +7 -7
- package/icons/aws/wickr.js +7 -7
- package/icons/aws/work-docs-sdk.js +7 -7
- package/icons/aws/work-docs.js +7 -7
- package/icons/aws/work-link.js +7 -7
- package/icons/aws/work-mail.js +7 -7
- package/icons/aws/work-spaces-family.js +7 -7
- package/icons/aws/x-ray.js +7 -7
- package/icons/gcp/access-context-manager.js +4 -4
- package/icons/gcp/administration.js +10 -10
- package/icons/gcp/advanced-agent-modeling.js +6 -6
- package/icons/gcp/advanced-solutions-lab.js +29 -29
- package/icons/gcp/agent-assist.js +1 -1
- package/icons/gcp/ai-hub.js +10 -10
- package/icons/gcp/ai-platform-unified.js +8 -8
- package/icons/gcp/ai-platform.js +3 -3
- package/icons/gcp/analytics-hub.js +4 -4
- package/icons/gcp/anthos-config-management.js +4 -4
- package/icons/gcp/anthos-service-mesh.js +1 -1
- package/icons/gcp/anthos.js +5 -5
- package/icons/gcp/api-analytics.js +7 -7
- package/icons/gcp/api-monetization.js +10 -10
- package/icons/gcp/api.js +5 -5
- package/icons/gcp/apigee-api-platform.js +6 -6
- package/icons/gcp/apigee-sense.js +4 -4
- package/icons/gcp/app-engine.js +7 -7
- package/icons/gcp/artifact-registry.js +15 -15
- package/icons/gcp/asset-inventory.js +6 -6
- package/icons/gcp/assured-workloads.js +8 -8
- package/icons/gcp/auto-ml-natural-language.js +3 -3
- package/icons/gcp/auto-ml-tables.js +6 -6
- package/icons/gcp/auto-ml-translation.js +6 -6
- package/icons/gcp/auto-ml-video-intelligence.js +6 -6
- package/icons/gcp/auto-ml-vision.js +5 -5
- package/icons/gcp/auto-ml.js +7 -7
- package/icons/gcp/bare-metal-solutions.js +4 -4
- package/icons/gcp/batch.js +1 -1
- package/icons/gcp/beyondcorp.js +1 -1
- package/icons/gcp/big-query.js +8 -8
- package/icons/gcp/bigtable.js +19 -19
- package/icons/gcp/billing.js +10 -10
- package/icons/gcp/binary-authorization.js +4 -4
- package/icons/gcp/catalog.js +6 -6
- package/icons/gcp/certificate-authority-service.js +4 -4
- package/icons/gcp/certificate-manager.js +4 -4
- package/icons/gcp/cloud-api-gateway.js +1 -1
- package/icons/gcp/cloud-apis.js +11 -11
- package/icons/gcp/cloud-armor.js +8 -8
- package/icons/gcp/cloud-asset-inventory.js +4 -4
- package/icons/gcp/cloud-audit-logs.js +11 -11
- package/icons/gcp/cloud-build.js +6 -6
- package/icons/gcp/cloud-cdn.js +15 -15
- package/icons/gcp/cloud-code.js +9 -9
- package/icons/gcp/cloud-composer.js +6 -6
- package/icons/gcp/cloud-data-fusion.js +8 -8
- package/icons/gcp/cloud-deploy.js +4 -4
- package/icons/gcp/cloud-deployment-manager.js +11 -11
- package/icons/gcp/cloud-dns.js +13 -13
- package/icons/gcp/cloud-domains.js +6 -6
- package/icons/gcp/cloud-ekm.js +1 -1
- package/icons/gcp/cloud-endpoints.js +10 -10
- package/icons/gcp/cloud-external-ip-addresses.js +3 -3
- package/icons/gcp/cloud-firewall-rules.js +3 -3
- package/icons/gcp/cloud-for-marketing.js +1 -1
- package/icons/gcp/cloud-functions.js +16 -16
- package/icons/gcp/cloud-generic.js +1 -1
- package/icons/gcp/cloud-gpu.js +5 -5
- package/icons/gcp/cloud-healthcare-api.js +12 -12
- package/icons/gcp/cloud-healthcare-marketplace.js +4 -4
- package/icons/gcp/cloud-hsm.js +7 -7
- package/icons/gcp/cloud-ids.js +6 -6
- package/icons/gcp/cloud-inference-api.js +9 -9
- package/icons/gcp/cloud-interconnect.js +8 -8
- package/icons/gcp/cloud-jobs-api.js +9 -9
- package/icons/gcp/cloud-load-balancing.js +13 -13
- package/icons/gcp/cloud-logging.js +11 -11
- package/icons/gcp/cloud-media-edge.js +17 -17
- package/icons/gcp/cloud-monitoring.js +7 -7
- package/icons/gcp/cloud-nat.js +6 -6
- package/icons/gcp/cloud-natural-language-api.js +10 -10
- package/icons/gcp/cloud-network.js +10 -10
- package/icons/gcp/cloud-ops.js +8 -8
- package/icons/gcp/cloud-optimization-ai-fleet-routing-api.js +4 -4
- package/icons/gcp/cloud-optimization-ai.js +4 -4
- package/icons/gcp/cloud-router.js +1 -1
- package/icons/gcp/cloud-routes.js +5 -5
- package/icons/gcp/cloud-run-for-anthos.js +3 -3
- package/icons/gcp/cloud-run.js +6 -6
- package/icons/gcp/cloud-scheduler.js +10 -10
- package/icons/gcp/cloud-security-scanner.js +9 -9
- package/icons/gcp/cloud-shell.js +4 -4
- package/icons/gcp/cloud-spanner.js +8 -8
- package/icons/gcp/cloud-sql.js +9 -9
- package/icons/gcp/cloud-storage.js +15 -15
- package/icons/gcp/cloud-tasks.js +18 -18
- package/icons/gcp/cloud-test-lab.js +8 -8
- package/icons/gcp/cloud-tpu.js +19 -19
- package/icons/gcp/cloud-translation-api.js +3 -3
- package/icons/gcp/cloud-vision-api.js +9 -9
- package/icons/gcp/cloud-vpn.js +10 -10
- package/icons/gcp/compute-engine.js +10 -10
- package/icons/gcp/configuration-management.js +4 -4
- package/icons/gcp/connectivity-test.js +1 -1
- package/icons/gcp/connectors.js +7 -7
- package/icons/gcp/contact-center-ai.js +1 -1
- package/icons/gcp/container-optimized-os.js +1 -1
- package/icons/gcp/container-registry.js +20 -20
- package/icons/gcp/data-catalog.js +6 -6
- package/icons/gcp/data-labeling.js +12 -12
- package/icons/gcp/data-layers.js +5 -5
- package/icons/gcp/data-loss-prevention-api.js +11 -11
- package/icons/gcp/data-qn-a.js +6 -6
- package/icons/gcp/data-studio.js +9 -9
- package/icons/gcp/data-transfer.js +5 -5
- package/icons/gcp/database-migration-service.js +4 -4
- package/icons/gcp/dataflow.js +13 -13
- package/icons/gcp/datalab.js +1 -1
- package/icons/gcp/dataplex.js +3 -3
- package/icons/gcp/datapol.js +14 -14
- package/icons/gcp/dataprep.js +6 -6
- package/icons/gcp/dataproc-metastore.js +1 -1
- package/icons/gcp/dataproc.js +12 -12
- package/icons/gcp/datashare.js +6 -6
- package/icons/gcp/datastore.js +32 -32
- package/icons/gcp/datastream.js +10 -10
- package/icons/gcp/debugger.js +7 -7
- package/icons/gcp/developer-portal.js +5 -5
- package/icons/gcp/dialogflow-cx.js +4 -4
- package/icons/gcp/dialogflow-insights.js +8 -8
- package/icons/gcp/dialogflow.js +3 -3
- package/icons/gcp/document-ai.js +8 -8
- package/icons/gcp/early-access-center.js +1 -1
- package/icons/gcp/error-reporting.js +7 -7
- package/icons/gcp/eventarc.js +5 -5
- package/icons/gcp/filestore.js +7 -7
- package/icons/gcp/financial-services-marketplace.js +9 -9
- package/icons/gcp/firestore.js +7 -7
- package/icons/gcp/fleet-engine.js +4 -4
- package/icons/gcp/free-trial.js +8 -8
- package/icons/gcp/game-servers.js +14 -14
- package/icons/gcp/gce-systems-management.js +1 -1
- package/icons/gcp/genomics.js +16 -16
- package/icons/gcp/gke-on-prem.js +6 -6
- package/icons/gcp/google-cloud-marketplace.js +8 -8
- package/icons/gcp/google-kubernetes-engine.js +10 -10
- package/icons/gcp/google-maps-platform.js +6 -6
- package/icons/gcp/healthcare-nlp-api.js +1 -1
- package/icons/gcp/home.js +7 -7
- package/icons/gcp/identity-and-access-management.js +3 -3
- package/icons/gcp/identity-aware-proxy.js +7 -7
- package/icons/gcp/identity-platform.js +7 -7
- package/icons/gcp/iot-core.js +3 -3
- package/icons/gcp/iot-edge.js +35 -35
- package/icons/gcp/key-access-justifications.js +11 -11
- package/icons/gcp/key-management-service.js +3 -3
- package/icons/gcp/kuberun.js +5 -5
- package/icons/gcp/launcher.js +11 -11
- package/icons/gcp/local-ssd.js +1 -1
- package/icons/gcp/looker.js +5 -5
- package/icons/gcp/managed-service-for-microsoft-active-directory.js +9 -9
- package/icons/gcp/media-translation-api.js +4 -4
- package/icons/gcp/memorystore.js +7 -7
- package/icons/gcp/migrate-for-anthos.js +1 -1
- package/icons/gcp/migrate-for-compute-engine.js +1 -1
- package/icons/gcp/my-cloud.js +6 -6
- package/icons/gcp/network-connectivity-center.js +23 -23
- package/icons/gcp/network-intelligence-center.js +1 -1
- package/icons/gcp/network-security.js +7 -7
- package/icons/gcp/network-tiers.js +10 -10
- package/icons/gcp/network-topology.js +1 -1
- package/icons/gcp/onboarding.js +8 -8
- package/icons/gcp/os-configuration-management.js +1 -1
- package/icons/gcp/os-inventory-management.js +3 -3
- package/icons/gcp/os-patch-management.js +1 -1
- package/icons/gcp/partner-interconnect.js +8 -8
- package/icons/gcp/partner-portal.js +4 -4
- package/icons/gcp/performance-dashboard.js +1 -1
- package/icons/gcp/permissions.js +5 -5
- package/icons/gcp/persistent-disk.js +4 -4
- package/icons/gcp/phishing-protection.js +10 -10
- package/icons/gcp/policy-analyzer.js +1 -1
- package/icons/gcp/premium-network-tier.js +6 -6
- package/icons/gcp/private-connectivity.js +6 -6
- package/icons/gcp/private-service-connect.js +9 -9
- package/icons/gcp/producer-portal.js +5 -5
- package/icons/gcp/profiler.js +8 -8
- package/icons/gcp/project.js +11 -11
- package/icons/gcp/pub-sub.js +19 -19
- package/icons/gcp/quantum-engine.js +7 -7
- package/icons/gcp/quotas.js +12 -12
- package/icons/gcp/real-world-insights.js +6 -6
- package/icons/gcp/recommendations-ai.js +16 -16
- package/icons/gcp/release-notes.js +1 -1
- package/icons/gcp/retail-api.js +4 -4
- package/icons/gcp/risk-manager.js +1 -1
- package/icons/gcp/runtime-config.js +12 -12
- package/icons/gcp/secret-manager.js +1 -1
- package/icons/gcp/security-command-center.js +5 -5
- package/icons/gcp/security-health-advisor.js +11 -11
- package/icons/gcp/security-key-enforcement.js +3 -3
- package/icons/gcp/security.js +4 -4
- package/icons/gcp/service-discovery.js +13 -13
- package/icons/gcp/speech-to-text.js +14 -14
- package/icons/gcp/stackdriver.js +4 -4
- package/icons/gcp/standard-network-tier.js +1 -1
- package/icons/gcp/stream-suite.js +4 -4
- package/icons/gcp/support.js +5 -5
- package/icons/gcp/tensorflow-enterprise.js +1 -1
- package/icons/gcp/text-to-speech.js +5 -5
- package/icons/gcp/tools-for-powershell.js +10 -10
- package/icons/gcp/trace.js +9 -9
- package/icons/gcp/traffic-director.js +11 -11
- package/icons/gcp/transfer-appliance.js +7 -7
- package/icons/gcp/transfer.js +1 -1
- package/icons/gcp/user-preferences.js +5 -5
- package/icons/gcp/vertex-ai.js +24 -24
- package/icons/gcp/video-intelligence-api.js +3 -3
- package/icons/gcp/virtual-private-cloud.js +12 -12
- package/icons/gcp/visual-inspection.js +4 -4
- package/icons/gcp/vmware-engine.js +1 -1
- package/icons/gcp/web-risk.js +11 -11
- package/icons/gcp/web-security-scanner.js +8 -8
- package/icons/gcp/workflows.js +12 -12
- package/icons/gcp/workload-identity-pool.js +5 -5
- package/icons/tech/aarch64.js +7 -7
- package/icons/tech/adobe-illustrator.js +1 -1
- package/icons/tech/adobe-photoshop.js +1 -1
- package/icons/tech/adobe-premiere-pro.js +4 -4
- package/icons/tech/adobe-xd.js +1 -1
- package/icons/tech/adonis-js.js +1 -1
- package/icons/tech/after-effects.js +4 -4
- package/icons/tech/airflow.js +10 -10
- package/icons/tech/akka.js +3 -3
- package/icons/tech/algolia.js +1 -1
- package/icons/tech/alpine-js.js +3 -3
- package/icons/tech/amazon-web-services.js +3 -3
- package/icons/tech/anaconda.js +1 -1
- package/icons/tech/android-studio.js +8 -8
- package/icons/tech/android.js +5 -5
- package/icons/tech/angular-js.js +6 -6
- package/icons/tech/angular.js +4 -4
- package/icons/tech/ansible.js +3 -3
- package/icons/tech/ant-design.js +21 -21
- package/icons/tech/apache.js +71 -71
- package/icons/tech/apl.js +3 -3
- package/icons/tech/appcelerator.js +1 -1
- package/icons/tech/apple-safari.js +10 -10
- package/icons/tech/apple.js +1 -1
- package/icons/tech/appwrite.js +3 -3
- package/icons/tech/arch-linux.js +3 -3
- package/icons/tech/arduino.js +3 -3
- package/icons/tech/argo-cd.js +31 -31
- package/icons/tech/astro.js +11 -11
- package/icons/tech/atom.js +1 -1
- package/icons/tech/autodesk-maya.js +41 -41
- package/icons/tech/autodesk-shot-grid.js +3 -3
- package/icons/tech/awk.js +15 -15
- package/icons/tech/azios.js +1 -1
- package/icons/tech/azure-devops.js +8 -8
- package/icons/tech/azure-sql-database.js +19 -19
- package/icons/tech/azure.js +18 -18
- package/icons/tech/babel.js +3 -3
- package/icons/tech/backbone-js.js +4 -4
- package/icons/tech/ballerina.js +1 -1
- package/icons/tech/bamboo.js +11 -11
- package/icons/tech/bash.js +4 -4
- package/icons/tech/behance.js +6 -6
- package/icons/tech/bitbucket.js +6 -6
- package/icons/tech/blender.js +3 -3
- package/icons/tech/bootstrap.js +18 -18
- package/icons/tech/bower.js +15 -15
- package/icons/tech/browserstack.js +11 -11
- package/icons/tech/bulma.js +1 -1
- package/icons/tech/bun.js +14 -14
- package/icons/tech/c.js +4 -4
- package/icons/tech/cairo-graphics.js +3 -3
- package/icons/tech/cake-php.js +1 -1
- package/icons/tech/canva.js +3 -3
- package/icons/tech/capacitor.js +7 -7
- package/icons/tech/cassandra.js +14 -14
- package/icons/tech/cent-os.js +10 -10
- package/icons/tech/chrome.js +35 -35
- package/icons/tech/circle-ci.js +1 -1
- package/icons/tech/clarity.js +5 -5
- package/icons/tech/clion.js +27 -27
- package/icons/tech/clojure-script.js +5 -5
- package/icons/tech/clojure.js +6 -6
- package/icons/tech/cloudflare-workers.js +34 -34
- package/icons/tech/cloudflare.js +4 -4
- package/icons/tech/cmake.js +5 -5
- package/icons/tech/code-igniter.js +1 -1
- package/icons/tech/code-pen.js +1 -1
- package/icons/tech/codeac.js +1 -1
- package/icons/tech/codecov.js +1 -1
- package/icons/tech/coffee-script.js +1 -1
- package/icons/tech/composer.js +32 -32
- package/icons/tech/confluence.js +12 -12
- package/icons/tech/consul.js +1 -1
- package/icons/tech/contao.js +1 -1
- package/icons/tech/corejs.js +1 -1
- package/icons/tech/cosmosdb.js +6 -6
- package/icons/tech/couchdb.js +1 -1
- package/icons/tech/cplusplus.js +5 -5
- package/icons/tech/crystal.js +1 -1
- package/icons/tech/csharp.js +4 -4
- package/icons/tech/css3.js +7 -7
- package/icons/tech/cucumber.js +1 -1
- package/icons/tech/cypress.js +3 -3
- package/icons/tech/d3js.js +25 -25
- package/icons/tech/dart.js +6 -6
- package/icons/tech/data-grip.js +31 -31
- package/icons/tech/data-spell.js +24 -24
- package/icons/tech/dbeaver.js +8 -8
- package/icons/tech/debian.js +1 -1
- package/icons/tech/deno.js +1 -1
- package/icons/tech/devicon.js +7 -7
- package/icons/tech/digital-ocean.js +3 -3
- package/icons/tech/discord-js.js +8 -8
- package/icons/tech/django-rest.js +5 -5
- package/icons/tech/django.js +3 -3
- package/icons/tech/docker.js +17 -17
- package/icons/tech/doctrine.js +3 -3
- package/icons/tech/dropwizard.js +19 -19
- package/icons/tech/drupal.js +8 -8
- package/icons/tech/eclipse-ceylon.js +7 -7
- package/icons/tech/eclipse-ide.js +17 -17
- package/icons/tech/eclipse-vert-x.js +3 -3
- package/icons/tech/elasticbeats.js +4 -4
- package/icons/tech/elasticsearch.js +4 -4
- package/icons/tech/electron.js +5 -5
- package/icons/tech/eleventy-11ty.js +3 -3
- package/icons/tech/elixir.js +32 -32
- package/icons/tech/elm.js +7 -7
- package/icons/tech/embedded-c.js +27 -27
- package/icons/tech/ember-js.js +3 -3
- package/icons/tech/envoy.js +4 -4
- package/icons/tech/erlang.js +1 -1
- package/icons/tech/eslint.js +3 -3
- package/icons/tech/express.js +1 -1
- package/icons/tech/facebook.js +3 -3
- package/icons/tech/fast-api.js +1 -1
- package/icons/tech/fastify.js +3 -3
- package/icons/tech/fauna.js +1 -1
- package/icons/tech/feathers.js +1 -1
- package/icons/tech/fedora.js +7 -7
- package/icons/tech/figma.js +6 -6
- package/icons/tech/file-zilla.js +5 -5
- package/icons/tech/firebase.js +1 -1
- package/icons/tech/firefox.js +332 -332
- package/icons/tech/flask.js +1 -1
- package/icons/tech/flutter.js +9 -9
- package/icons/tech/fortran.js +1 -1
- package/icons/tech/foundation.js +34 -34
- package/icons/tech/fsharp.js +4 -4
- package/icons/tech/gatling.js +1 -1
- package/icons/tech/gatsby.js +1 -1
- package/icons/tech/gazebo.js +5 -5
- package/icons/tech/gcc.js +8 -8
- package/icons/tech/gentoo.js +1 -1
- package/icons/tech/ghost.js +3 -3
- package/icons/tech/gimp.js +65 -65
- package/icons/tech/git.js +1 -1
- package/icons/tech/gitbook.js +1 -1
- package/icons/tech/github-actions.js +3 -3
- package/icons/tech/github-codespaces.js +15 -15
- package/icons/tech/github.js +3 -3
- package/icons/tech/gitlab.js +5 -5
- package/icons/tech/gitpod.js +5 -5
- package/icons/tech/gitter.js +1 -1
- package/icons/tech/gnu-emacs.js +1 -1
- package/icons/tech/go-land.js +30 -30
- package/icons/tech/go.js +36 -36
- package/icons/tech/godot-engine.js +8 -8
- package/icons/tech/google-cloud.js +5 -5
- package/icons/tech/google.js +6 -6
- package/icons/tech/gradle.js +1 -1
- package/icons/tech/grafana.js +5 -5
- package/icons/tech/grails.js +3 -3
- package/icons/tech/graphql.js +9 -9
- package/icons/tech/groovy.js +99 -99
- package/icons/tech/grunt-js.js +30 -30
- package/icons/tech/gulp-js.js +1 -1
- package/icons/tech/hadoop.js +6 -6
- package/icons/tech/handlebars.js +3 -3
- package/icons/tech/hardhat.js +23 -23
- package/icons/tech/harvester.js +4 -4
- package/icons/tech/hashicorp-vault.js +1 -1
- package/icons/tech/haskell.js +4 -4
- package/icons/tech/haxe.js +11 -11
- package/icons/tech/helm.js +1 -1
- package/icons/tech/heroku.js +1 -1
- package/icons/tech/hibernate.js +3 -3
- package/icons/tech/homebrew.js +6 -6
- package/icons/tech/html5.js +5 -5
- package/icons/tech/hugo.js +4 -4
- package/icons/tech/ibm-spss-statistics.js +3 -3
- package/icons/tech/ie10.js +1 -1
- package/icons/tech/ifttt.js +1 -1
- package/icons/tech/influxdb.js +1 -1
- package/icons/tech/inkscape.js +112 -112
- package/icons/tech/insomnia.js +7 -7
- package/icons/tech/intellij-idea.js +34 -34
- package/icons/tech/ionic.js +3 -3
- package/icons/tech/jaeger.js +18 -18
- package/icons/tech/jamstack.js +1 -1
- package/icons/tech/jasmine.js +4 -4
- package/icons/tech/java.js +6 -6
- package/icons/tech/javascript.js +3 -3
- package/icons/tech/jeet.js +29 -29
- package/icons/tech/jekyll.js +40 -40
- package/icons/tech/jenkins.js +18 -18
- package/icons/tech/jest.js +1 -1
- package/icons/tech/jetbrains.js +23 -23
- package/icons/tech/jira-align.js +12 -12
- package/icons/tech/jira.js +11 -11
- package/icons/tech/jquery.js +1 -1
- package/icons/tech/json.js +9 -9
- package/icons/tech/jule.js +1 -1
- package/icons/tech/julia.js +7 -7
- package/icons/tech/junit.js +3 -3
- package/icons/tech/jupyter.js +5 -5
- package/icons/tech/k3os.js +1 -1
- package/icons/tech/k3s.js +1 -1
- package/icons/tech/kafka.js +1 -1
- package/icons/tech/kaggle.js +1 -1
- package/icons/tech/karate.js +3 -3
- package/icons/tech/karma.js +3 -3
- package/icons/tech/keras.js +3 -3
- package/icons/tech/kibana.js +4 -4
- package/icons/tech/knex-js.js +1 -1
- package/icons/tech/knockout.js +1 -1
- package/icons/tech/kotlin.js +6 -6
- package/icons/tech/krakenjs.js +1 -1
- package/icons/tech/ktor.js +15 -15
- package/icons/tech/kubernetes.js +4 -4
- package/icons/tech/labview.js +4 -4
- package/icons/tech/laravel.js +1 -1
- package/icons/tech/latex.js +6 -6
- package/icons/tech/less-js.js +1 -1
- package/icons/tech/linkedin.js +3 -3
- package/icons/tech/linux.js +800 -800
- package/icons/tech/liquibase.js +1 -1
- package/icons/tech/livewire.js +9 -9
- package/icons/tech/llvm.js +6 -6
- package/icons/tech/logstash.js +4 -4
- package/icons/tech/lua.js +4 -4
- package/icons/tech/lumen.js +1 -1
- package/icons/tech/magento.js +1 -1
- package/icons/tech/markdown.js +3 -3
- package/icons/tech/material-ui.js +5 -5
- package/icons/tech/materialize.js +3 -3
- package/icons/tech/matlab.js +22 -22
- package/icons/tech/matplotlib.js +23 -23
- package/icons/tech/maven.js +138 -138
- package/icons/tech/meteor-js.js +1 -1
- package/icons/tech/microsoft-sql-server.js +1 -1
- package/icons/tech/minitab.js +8 -8
- package/icons/tech/mob-x.js +6 -6
- package/icons/tech/mocha.js +3 -3
- package/icons/tech/modx.js +5 -5
- package/icons/tech/moleculer.js +1 -1
- package/icons/tech/mongodb.js +17 -17
- package/icons/tech/mongoose-js.js +3 -3
- package/icons/tech/moodle.js +38 -38
- package/icons/tech/ms-dos.js +12 -12
- package/icons/tech/mysql.js +1 -1
- package/icons/tech/nano.js +1 -1
- package/icons/tech/nerog.js +24 -24
- package/icons/tech/nestjs.js +1 -1
- package/icons/tech/net-core.js +3 -3
- package/icons/tech/net.js +117 -117
- package/icons/tech/network-x.js +10 -10
- package/icons/tech/new4j.js +3 -3
- package/icons/tech/nextjs.js +1 -1
- package/icons/tech/nginx.js +1 -1
- package/icons/tech/nhibernate.js +3 -3
- package/icons/tech/nim.js +3 -3
- package/icons/tech/nimble.js +8 -8
- package/icons/tech/nix.js +3 -3
- package/icons/tech/nodejs.js +1 -1
- package/icons/tech/nodemon.js +3 -3
- package/icons/tech/nodewebkit.js +6 -6
- package/icons/tech/npm.js +1 -1
- package/icons/tech/nuget.js +1 -1
- package/icons/tech/num-py.js +3 -3
- package/icons/tech/nuxt-js.js +4 -4
- package/icons/tech/objective-c.js +3 -3
- package/icons/tech/ocaml.js +19 -19
- package/icons/tech/oh-my-zsh.js +5 -5
- package/icons/tech/okta.js +3 -3
- package/icons/tech/open-al.js +3 -3
- package/icons/tech/open-api.js +13 -13
- package/icons/tech/open-cl.js +6 -6
- package/icons/tech/open-cv.js +4 -4
- package/icons/tech/open-gl.js +5 -5
- package/icons/tech/open-stack.js +1 -1
- package/icons/tech/open-suse.js +3 -3
- package/icons/tech/open-telemetry.js +3 -3
- package/icons/tech/opera.js +11 -11
- package/icons/tech/oracle.js +1 -1
- package/icons/tech/p5js.js +1 -1
- package/icons/tech/packer.js +3 -3
- package/icons/tech/pandas.js +6 -6
- package/icons/tech/perl.js +3 -3
- package/icons/tech/pf-sense.js +1 -1
- package/icons/tech/phalcon.js +26 -26
- package/icons/tech/phoenix-framework.js +1 -1
- package/icons/tech/photon-engine.js +9 -9
- package/icons/tech/php-storm.js +28 -28
- package/icons/tech/php.js +14 -14
- package/icons/tech/playwrite.js +8 -8
- package/icons/tech/ploty.js +4 -4
- package/icons/tech/podman.js +24 -24
- package/icons/tech/polygon.js +3 -3
- package/icons/tech/portainer.js +6 -6
- package/icons/tech/postcss.js +4 -4
- package/icons/tech/postgresql.js +5 -5
- package/icons/tech/postman.js +4 -4
- package/icons/tech/powershell.js +14 -14
- package/icons/tech/processing.js +95 -95
- package/icons/tech/prometheus.js +1 -1
- package/icons/tech/protractor.js +1 -1
- package/icons/tech/purescript.js +1 -1
- package/icons/tech/putty.js +44 -44
- package/icons/tech/pycharm.js +52 -52
- package/icons/tech/pyscript.js +3 -3
- package/icons/tech/pytest.js +9 -9
- package/icons/tech/python-poetry.js +34 -34
- package/icons/tech/python.js +13 -13
- package/icons/tech/pytorch.js +3 -3
- package/icons/tech/qodana.js +19 -19
- package/icons/tech/qt.js +1 -1
- package/icons/tech/quarkus.js +11 -11
- package/icons/tech/quasar.js +3 -3
- package/icons/tech/qwik.js +4 -4
- package/icons/tech/r.js +10 -10
- package/icons/tech/rabbitmq.js +1 -1
- package/icons/tech/rancher.js +1 -1
- package/icons/tech/raspberrypi.js +4 -4
- package/icons/tech/reach.js +3 -3
- package/icons/tech/react-bootstrap.js +1 -1
- package/icons/tech/react.js +3 -3
- package/icons/tech/realm.js +9 -9
- package/icons/tech/red-cube-s-epic-compiler-thingy-programming-re-ct.js +5 -5
- package/icons/tech/redhat.js +4 -4
- package/icons/tech/redis.js +11 -11
- package/icons/tech/redux.js +1 -1
- package/icons/tech/ren-py.js +161 -161
- package/icons/tech/rider.js +17 -17
- package/icons/tech/robot-operating-system-ros.js +1 -1
- package/icons/tech/rocksdb.js +3 -3
- package/icons/tech/rollup-js.js +34 -34
- package/icons/tech/rspec.js +5 -5
- package/icons/tech/rstudio.js +4 -4
- package/icons/tech/ruby-mine.js +25 -25
- package/icons/tech/ruby-on-rails.js +1 -1
- package/icons/tech/ruby.js +117 -117
- package/icons/tech/rust.js +1 -1
- package/icons/tech/salesforce.js +4 -4
- package/icons/tech/sanity.js +4 -4
- package/icons/tech/sass.js +1 -1
- package/icons/tech/scala.js +3 -3
- package/icons/tech/scalingo.js +3 -3
- package/icons/tech/sdl.js +8 -8
- package/icons/tech/selenium.js +3 -3
- package/icons/tech/sema-software.js +1 -1
- package/icons/tech/sequelize.js +28 -28
- package/icons/tech/shopware.js +3 -3
- package/icons/tech/sketch.js +8 -8
- package/icons/tech/slack.js +5 -5
- package/icons/tech/socket-io.js +3 -3
- package/icons/tech/solid-js.js +24 -24
- package/icons/tech/solidity.js +7 -7
- package/icons/tech/sonarqube.js +1 -1
- package/icons/tech/sourcetree.js +1 -1
- package/icons/tech/spark.js +1 -1
- package/icons/tech/splunk.js +1 -1
- package/icons/tech/spring.js +1 -1
- package/icons/tech/sql-developer.js +7 -7
- package/icons/tech/sqlalchemy.js +3 -3
- package/icons/tech/sqlite.js +8 -8
- package/icons/tech/ssh.js +1 -1
- package/icons/tech/stackoverflow.js +3 -3
- package/icons/tech/stata.js +1 -1
- package/icons/tech/storybook.js +1 -1
- package/icons/tech/streamlit.js +4 -4
- package/icons/tech/stylus.js +3 -3
- package/icons/tech/subversion.js +1 -1
- package/icons/tech/svelte.js +3 -3
- package/icons/tech/swagger.js +3 -3
- package/icons/tech/swift.js +3 -3
- package/icons/tech/symfony.js +1 -1
- package/icons/tech/tailwind-css.js +1 -1
- package/icons/tech/tauri.js +5 -5
- package/icons/tech/tensorflow.js +1 -1
- package/icons/tech/terraform.js +4 -4
- package/icons/tech/tex.js +1 -1
- package/icons/tech/the-algorithms.js +1 -1
- package/icons/tech/three-js.js +5 -5
- package/icons/tech/titanium-sdk.js +1 -1
- package/icons/tech/tomcat.js +8 -8
- package/icons/tech/tortoise-git.js +6 -6
- package/icons/tech/tower.js +136 -136
- package/icons/tech/traefik-mesh.js +1 -1
- package/icons/tech/traefik-proxy.js +1 -1
- package/icons/tech/travis-ci.js +1 -1
- package/icons/tech/trello.js +1 -1
- package/icons/tech/twitter.js +1 -1
- package/icons/tech/typescript.js +3 -3
- package/icons/tech/typo3.js +1 -1
- package/icons/tech/ubuntu.js +1 -1
- package/icons/tech/uml.js +5 -5
- package/icons/tech/unity.js +4 -4
- package/icons/tech/unix.js +1 -1
- package/icons/tech/unreal-engine.js +3 -3
- package/icons/tech/uwsgi.js +8 -8
- package/icons/tech/v8.js +30 -30
- package/icons/tech/vagrant.js +3 -3
- package/icons/tech/vala.js +15 -15
- package/icons/tech/vercel.js +1 -1
- package/icons/tech/veutify.js +5 -5
- package/icons/tech/vim.js +34 -34
- package/icons/tech/visualstudio.js +1 -1
- package/icons/tech/vite.js +1 -1
- package/icons/tech/vitejs.js +11 -11
- package/icons/tech/vscode.js +28 -28
- package/icons/tech/vsphere.js +6 -6
- package/icons/tech/vue-storefront.js +4 -4
- package/icons/tech/vue.js +4 -4
- package/icons/tech/vyper.js +5 -5
- package/icons/tech/webassembly.js +1 -1
- package/icons/tech/webflow.js +1 -1
- package/icons/tech/weblate.js +14 -14
- package/icons/tech/webpack.js +3 -3
- package/icons/tech/webstorm.js +16 -16
- package/icons/tech/windows11.js +1 -1
- package/icons/tech/windows8.js +1 -1
- package/icons/tech/woo-commerce.js +4 -4
- package/icons/tech/wordpress.js +8 -8
- package/icons/tech/xamarin.js +1 -1
- package/icons/tech/xcode.js +248 -248
- package/icons/tech/xml.js +5 -5
- package/icons/tech/yaml.js +4 -4
- package/icons/tech/yarn.js +3 -3
- package/icons/tech/yii-framework.js +5 -5
- package/icons/tech/yuno-host.js +3 -3
- package/icons/tech/zend-framework.js +1 -1
- package/icons/tech/zig.js +10 -10
- package/package.json +9 -9
- package/dist/__app__/src/chunks/IconCopy-BoSoNPZ_.js +0 -21
- package/dist/__app__/src/chunks/LikeC4Diagram-DytrE8GE.js +0 -9769
- package/dist/__app__/src/chunks/StaticLikeC4Diagram-DdbjVDqf.js +0 -32
- package/dist/__app__/src/chunks/chunk-RAAYCPUM-CpeCcSnm.js +0 -13
- package/dist/__app__/src/chunks/chunk-SGAFZVQH-F2W_It6h.js +0 -8
- package/dist/__app__/src/chunks/const-DiwrD95Q.js +0 -6
- package/dist/__app__/src/chunks/createReactComponent-BWheWDGL.js +0 -64
- package/dist/__app__/src/chunks/index-BxglQLE6.js +0 -10
- package/dist/__app__/src/chunks/index-fBIC0lf6.js +0 -12
- package/dist/__app__/src/chunks/react-resizable-panels.browser.esm-BaxT8im_.js +0 -1528
- package/dist/__app__/src/components/ColorSchemeToggle.js +0 -38
- package/dist/__app__/src/components/CopyToClipboard.js +0 -17
- package/dist/__app__/src/components/NotFound.js +0 -40
- package/dist/__app__/src/components/sidebar/Drawer.js +0 -186
- package/dist/__app__/src/components/view-page/Header.js +0 -416
- package/dist/__app__/src/hooks.js +0 -16
- package/dist/__app__/src/routeTree.gen.js +0 -57
- package/dist/__app__/src/router.js +0 -26
- package/dist/__app__/src/routes/__root.js +0 -42
- package/dist/__app__/src/routes/embed._viewId.js +0 -45
- package/dist/__app__/src/routes/export._viewId.js +0 -60
- package/dist/__app__/src/routes/index.css.js +0 -7
- package/dist/__app__/src/routes/index.js +0 -89
- package/dist/__app__/src/routes/view._viewId.d2.js +0 -53
- package/dist/__app__/src/routes/view._viewId.dot.js +0 -58
- package/dist/__app__/src/routes/view._viewId.editor.js +0 -43
- package/dist/__app__/src/routes/view._viewId.index.js +0 -39
- package/dist/__app__/src/routes/view._viewId.js +0 -173
- package/dist/__app__/src/routes/view._viewId.mmd.js +0 -102
- package/dist/__app__/src/routes/view.css.js +0 -12
- package/dist/__app__/src/routes/view_viewId_.css.js +0 -7
- package/dist/__app__/src/routes/webcomponent._.js +0 -61
- package/dist/__app__/src/theme.js +0 -21
- /package/dist/__app__/src/{components/RenderIcon.js → icons.js} +0 -0
- /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
|
-
};
|