likec4 1.27.3 → 1.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__app__/src/main.js +996 -1021
- package/__app__/src/style.css +1 -1
- package/dist/cli/index.mjs +690 -676
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/shared/{likec4.sbYSTpRI.mjs → likec4.CYGgfB-B.mjs} +1 -1
- package/dist/shared/likec4.DRjStDbg.mjs +2209 -0
- package/dist/shared/{likec4.QmEWuoHf.d.mts → likec4.DwrogUe0.d.mts} +22 -22
- package/dist/vite-plugin/index.d.mts +1 -1
- package/dist/vite-plugin/index.mjs +1 -1
- package/icons/aws/activate.js +21 -1
- package/icons/aws/alexa-for-business.js +21 -1
- package/icons/aws/amplify.js +21 -1
- package/icons/aws/apache-mxnet-on-aws.js +21 -1
- package/icons/aws/api-gateway.js +21 -1
- package/icons/aws/app-config.js +21 -1
- package/icons/aws/app-flow.js +21 -1
- package/icons/aws/app-mesh.js +21 -1
- package/icons/aws/app-runner.js +21 -1
- package/icons/aws/app-stream.js +21 -1
- package/icons/aws/app-sync.js +21 -1
- package/icons/aws/application-auto-scaling.js +21 -1
- package/icons/aws/application-composer.js +21 -1
- package/icons/aws/application-cost-profiler.js +21 -1
- package/icons/aws/application-discovery-service.js +21 -1
- package/icons/aws/application-migration-service.js +21 -1
- package/icons/aws/artifact.js +21 -1
- package/icons/aws/athena.js +21 -1
- package/icons/aws/audit-manager.js +21 -1
- package/icons/aws/augmented-ai-a2i.js +21 -1
- package/icons/aws/aurora.js +21 -1
- package/icons/aws/auto-scaling.js +21 -1
- package/icons/aws/backint-agent.js +21 -1
- package/icons/aws/backup.js +21 -1
- package/icons/aws/batch.js +21 -1
- package/icons/aws/billing-conductor.js +21 -1
- package/icons/aws/bottlerocket.js +21 -1
- package/icons/aws/braket.js +21 -1
- package/icons/aws/budgets.js +21 -1
- package/icons/aws/certificate-manager.js +21 -1
- package/icons/aws/chatbot.js +21 -1
- package/icons/aws/chime-sdk.js +21 -1
- package/icons/aws/chime-voice-connector.js +21 -1
- package/icons/aws/chime.js +21 -1
- package/icons/aws/clean-rooms.js +21 -1
- package/icons/aws/client-vpn.js +21 -1
- package/icons/aws/cloud-control-api.js +21 -1
- package/icons/aws/cloud-development-kit.js +21 -1
- package/icons/aws/cloud-directory.js +21 -1
- package/icons/aws/cloud-formation.js +21 -1
- package/icons/aws/cloud-front.js +21 -1
- package/icons/aws/cloud-hsm.js +21 -1
- package/icons/aws/cloud-map.js +21 -1
- package/icons/aws/cloud-search.js +21 -1
- package/icons/aws/cloud-shell.js +21 -1
- package/icons/aws/cloud-trail.js +21 -1
- package/icons/aws/cloud-wan.js +21 -1
- package/icons/aws/cloud-watch.js +21 -1
- package/icons/aws/cloud9.js +21 -1
- package/icons/aws/code-artifact.js +21 -1
- package/icons/aws/code-build.js +21 -1
- package/icons/aws/code-catalyst.js +21 -1
- package/icons/aws/code-commit.js +21 -1
- package/icons/aws/code-deploy.js +21 -1
- package/icons/aws/code-guru.js +21 -1
- package/icons/aws/code-pipeline.js +21 -1
- package/icons/aws/code-star.js +21 -1
- package/icons/aws/code-whisperer.js +21 -1
- package/icons/aws/cognito.js +21 -1
- package/icons/aws/command-line-interface.js +21 -1
- package/icons/aws/comprehend-medical.js +21 -1
- package/icons/aws/comprehend.js +21 -1
- package/icons/aws/compute-optimizer.js +21 -1
- package/icons/aws/config.js +21 -1
- package/icons/aws/connect.js +21 -1
- package/icons/aws/console-mobile-application.js +21 -1
- package/icons/aws/control-tower.js +21 -1
- package/icons/aws/corretto.js +21 -1
- package/icons/aws/cost-and-usage-report.js +21 -1
- package/icons/aws/cost-explorer.js +21 -1
- package/icons/aws/data-exchange.js +21 -1
- package/icons/aws/data-pipeline.js +21 -1
- package/icons/aws/data-sync.js +21 -1
- package/icons/aws/data-zone.js +21 -1
- package/icons/aws/database-migration-service.js +21 -1
- package/icons/aws/deep-composer.js +21 -1
- package/icons/aws/deep-learning-amis.js +21 -1
- package/icons/aws/deep-learning-containers.js +21 -1
- package/icons/aws/deep-lens.js +21 -1
- package/icons/aws/deep-racer.js +21 -1
- package/icons/aws/detective.js +21 -1
- package/icons/aws/dev-ops-guru.js +21 -1
- package/icons/aws/device-farm.js +21 -1
- package/icons/aws/direct-connect.js +21 -1
- package/icons/aws/directory-service.js +21 -1
- package/icons/aws/distro-for-open-telemetry.js +21 -1
- package/icons/aws/document-db.js +21 -1
- package/icons/aws/dynamo-db.js +21 -1
- package/icons/aws/ec2-auto-scaling.js +21 -1
- package/icons/aws/ec2-image-builder.js +21 -1
- package/icons/aws/ec2.js +21 -1
- package/icons/aws/ecs-anywhere.js +21 -1
- package/icons/aws/efs.js +21 -1
- package/icons/aws/eks-anywhere.js +21 -1
- package/icons/aws/eks-cloud.js +21 -1
- package/icons/aws/eks-distro.js +21 -1
- package/icons/aws/elasti-cache.js +21 -1
- package/icons/aws/elastic-beanstalk.js +21 -1
- package/icons/aws/elastic-block-store.js +21 -1
- package/icons/aws/elastic-container-registry.js +21 -1
- package/icons/aws/elastic-container-service.js +21 -1
- package/icons/aws/elastic-disaster-recovery.js +21 -1
- package/icons/aws/elastic-fabric-adapter.js +21 -1
- package/icons/aws/elastic-inference.js +21 -1
- package/icons/aws/elastic-kubernetes-service.js +21 -1
- package/icons/aws/elastic-load-balancing.js +21 -1
- package/icons/aws/elastic-transcoder.js +21 -1
- package/icons/aws/elemental-appliances-software.js +21 -1
- package/icons/aws/elemental-conductor.js +21 -1
- package/icons/aws/elemental-delta.js +21 -1
- package/icons/aws/elemental-link.js +21 -1
- package/icons/aws/elemental-live.js +21 -1
- package/icons/aws/elemental-media-connect.js +21 -1
- package/icons/aws/elemental-media-convert.js +21 -1
- package/icons/aws/elemental-media-live.js +21 -1
- package/icons/aws/elemental-media-package.js +21 -1
- package/icons/aws/elemental-media-store.js +21 -1
- package/icons/aws/elemental-media-tailor.js +21 -1
- package/icons/aws/elemental-server.js +21 -1
- package/icons/aws/emr.js +21 -1
- package/icons/aws/event-bridge.js +21 -1
- package/icons/aws/express-workflows.js +21 -1
- package/icons/aws/fargate.js +21 -1
- package/icons/aws/fault-injection-simulator.js +21 -1
- package/icons/aws/file-cache.js +21 -1
- package/icons/aws/fin-space.js +21 -1
- package/icons/aws/firewall-manager.js +21 -1
- package/icons/aws/forecast.js +21 -1
- package/icons/aws/fraud-detector.js +21 -1
- package/icons/aws/free-rtos.js +21 -1
- package/icons/aws/fsx-for-lustre.js +21 -1
- package/icons/aws/fsx-for-net-app-ontap.js +21 -1
- package/icons/aws/fsx-for-open-zfs.js +21 -1
- package/icons/aws/fsx-for-wfs.js +21 -1
- package/icons/aws/fsx.js +21 -1
- package/icons/aws/game-kit.js +21 -1
- package/icons/aws/game-lift.js +21 -1
- package/icons/aws/game-sparks.js +21 -1
- package/icons/aws/genomics-cli.js +21 -1
- package/icons/aws/global-accelerator.js +21 -1
- package/icons/aws/glue-data-brew.js +21 -1
- package/icons/aws/glue-elastic-views.js +21 -1
- package/icons/aws/glue.js +21 -1
- package/icons/aws/ground-station.js +21 -1
- package/icons/aws/guard-duty.js +21 -1
- package/icons/aws/health-lake.js +21 -1
- package/icons/aws/honeycode.js +21 -1
- package/icons/aws/iam-identity-center.js +21 -1
- package/icons/aws/identity-and-access-management.js +21 -1
- package/icons/aws/inspector.js +21 -1
- package/icons/aws/interactive-video-service.js +21 -1
- package/icons/aws/io-t-1-click.js +21 -1
- package/icons/aws/io-t-analytics.js +21 -1
- package/icons/aws/io-t-button.js +21 -1
- package/icons/aws/io-t-core.js +21 -1
- package/icons/aws/io-t-device-defender.js +21 -1
- package/icons/aws/io-t-device-management.js +21 -1
- package/icons/aws/io-t-edu-kit.js +21 -1
- package/icons/aws/io-t-events.js +21 -1
- package/icons/aws/io-t-express-link.js +21 -1
- package/icons/aws/io-t-fleet-wise.js +21 -1
- package/icons/aws/io-t-greengrass.js +21 -1
- package/icons/aws/io-t-robo-runner.js +21 -1
- package/icons/aws/io-t-site-wise.js +21 -1
- package/icons/aws/io-t-things-graph.js +21 -1
- package/icons/aws/io-t-twin-maker.js +37 -1
- package/icons/aws/iq.js +21 -1
- package/icons/aws/kendra.js +21 -1
- package/icons/aws/key-management-service.js +21 -1
- package/icons/aws/keyspaces.js +21 -1
- package/icons/aws/kinesis-data-analytics.js +21 -1
- package/icons/aws/kinesis-data-streams.js +21 -1
- package/icons/aws/kinesis-firehose.js +21 -1
- package/icons/aws/kinesis-video-streams.js +21 -1
- package/icons/aws/kinesis.js +21 -1
- package/icons/aws/lake-formation.js +21 -1
- package/icons/aws/lambda.js +21 -1
- package/icons/aws/launch-wizard.js +21 -1
- package/icons/aws/lex.js +21 -1
- package/icons/aws/license-manager.js +21 -1
- package/icons/aws/lightsail.js +21 -1
- package/icons/aws/local-zones.js +21 -1
- package/icons/aws/location-service.js +21 -1
- package/icons/aws/lookout-for-equipment.js +21 -1
- package/icons/aws/lookout-for-metrics.js +21 -1
- package/icons/aws/lookout-for-vision.js +21 -1
- package/icons/aws/lumberyard.js +21 -1
- package/icons/aws/macie.js +21 -1
- package/icons/aws/mainframe-modernization.js +21 -1
- package/icons/aws/managed-blockchain.js +21 -1
- package/icons/aws/managed-grafana.js +21 -1
- package/icons/aws/managed-service-for-prometheus.js +21 -1
- package/icons/aws/managed-services.js +21 -1
- package/icons/aws/managed-streaming-for-apache-kafka.js +21 -1
- package/icons/aws/managed-workflows-for-apache-airflow.js +21 -1
- package/icons/aws/management-console.js +21 -1
- package/icons/aws/marketplace-dark.js +15 -1
- package/icons/aws/marketplace-light.js +15 -1
- package/icons/aws/memory-db-for-redis.js +21 -1
- package/icons/aws/migration-evaluator.js +21 -1
- package/icons/aws/migration-hub.js +21 -1
- package/icons/aws/monitron.js +21 -1
- package/icons/aws/mq.js +21 -1
- package/icons/aws/neptune.js +21 -1
- package/icons/aws/network-firewall.js +21 -1
- package/icons/aws/neuron.js +21 -1
- package/icons/aws/nice-dcv.js +21 -1
- package/icons/aws/nice-engin-frame.js +21 -1
- package/icons/aws/nimble-studio.js +21 -1
- package/icons/aws/nitro-enclaves.js +21 -1
- package/icons/aws/omics.js +21 -1
- package/icons/aws/open-3d-engine.js +21 -1
- package/icons/aws/open-search-service.js +21 -1
- package/icons/aws/ops-works.js +21 -1
- package/icons/aws/organizations.js +21 -1
- package/icons/aws/outposts-family.js +21 -1
- package/icons/aws/outposts-rack.js +21 -1
- package/icons/aws/outposts-servers.js +21 -1
- package/icons/aws/panorama.js +21 -1
- package/icons/aws/parallel-cluster.js +21 -1
- package/icons/aws/personal-health-dashboard.js +21 -1
- package/icons/aws/personalize.js +21 -1
- package/icons/aws/pinpoint-apis.js +21 -1
- package/icons/aws/pinpoint.js +21 -1
- package/icons/aws/polly.js +21 -1
- package/icons/aws/private-5g.js +21 -1
- package/icons/aws/private-certificate-authority.js +28 -1
- package/icons/aws/private-link.js +21 -1
- package/icons/aws/professional-services.js +21 -1
- package/icons/aws/proton.js +21 -1
- package/icons/aws/quantum-ledger-database.js +21 -1
- package/icons/aws/quick-sight.js +21 -1
- package/icons/aws/rds-on-vmware.js +21 -1
- package/icons/aws/rds.js +21 -1
- package/icons/aws/re-post.js +21 -1
- package/icons/aws/red-hat-open-shift-service-on-aws.js +21 -1
- package/icons/aws/redshift.js +21 -1
- package/icons/aws/rekognition.js +21 -1
- package/icons/aws/reserved-instance-reporting.js +21 -1
- package/icons/aws/resilience-hub.js +21 -1
- package/icons/aws/resource-access-manager.js +21 -1
- package/icons/aws/resource-explorer.js +21 -1
- package/icons/aws/robo-maker.js +21 -1
- package/icons/aws/route-53.js +21 -1
- package/icons/aws/s3-on-outposts.js +21 -1
- package/icons/aws/sage-maker-ground-truth.js +21 -1
- package/icons/aws/sage-maker-studio-lab.js +21 -1
- package/icons/aws/sage-maker.js +21 -1
- package/icons/aws/savings-plans.js +21 -1
- package/icons/aws/secrets-manager.js +21 -1
- package/icons/aws/security-hub.js +21 -1
- package/icons/aws/security-lake.js +21 -1
- package/icons/aws/server-migration-service.js +21 -1
- package/icons/aws/serverless-application-repository.js +21 -1
- package/icons/aws/service-catalog.js +21 -1
- package/icons/aws/service-management-connector.js +28 -1
- package/icons/aws/shield.js +21 -1
- package/icons/aws/signer.js +21 -1
- package/icons/aws/sim-space-weaver.js +21 -1
- package/icons/aws/simple-email-service.js +21 -1
- package/icons/aws/simple-notification-service.js +21 -1
- package/icons/aws/simple-queue-service.js +21 -1
- package/icons/aws/simple-storage-service-glacier.js +21 -1
- package/icons/aws/simple-storage-service.js +21 -1
- package/icons/aws/site-to-site-vpn.js +21 -1
- package/icons/aws/snowball-edge.js +21 -1
- package/icons/aws/snowball.js +21 -1
- package/icons/aws/snowcone.js +21 -1
- package/icons/aws/snowmobile.js +21 -1
- package/icons/aws/step-functions.js +21 -1
- package/icons/aws/storage-gateway.js +21 -1
- package/icons/aws/sumerian.js +21 -1
- package/icons/aws/supply-chain.js +21 -1
- package/icons/aws/support.js +21 -1
- package/icons/aws/systems-manager.js +21 -1
- package/icons/aws/tensor-flow-on-aws.js +21 -1
- package/icons/aws/textract.js +21 -1
- package/icons/aws/thinkbox-deadline.js +21 -1
- package/icons/aws/thinkbox-frost.js +21 -1
- package/icons/aws/thinkbox-krakatoa.js +21 -1
- package/icons/aws/thinkbox-sequoia.js +21 -1
- package/icons/aws/thinkbox-stoke.js +21 -1
- package/icons/aws/thinkbox-xmesh.js +21 -1
- package/icons/aws/timestream.js +21 -1
- package/icons/aws/tools-and-sdks.js +21 -1
- package/icons/aws/torch-serve.js +21 -1
- package/icons/aws/training-certification.js +21 -1
- package/icons/aws/transcribe.js +21 -1
- package/icons/aws/transfer-family.js +21 -1
- package/icons/aws/transit-gateway.js +21 -1
- package/icons/aws/translate.js +21 -1
- package/icons/aws/trusted-advisor.js +21 -1
- package/icons/aws/verified-access.js +21 -1
- package/icons/aws/verified-permissions.js +21 -1
- package/icons/aws/virtual-private-cloud.js +21 -1
- package/icons/aws/vmware-cloud-on-aws.js +21 -1
- package/icons/aws/vpc-lattice.js +21 -1
- package/icons/aws/waf.js +21 -1
- package/icons/aws/wavelength.js +21 -1
- package/icons/aws/well-architected-tool.js +21 -1
- package/icons/aws/wickr.js +21 -1
- package/icons/aws/work-docs-sdk.js +21 -1
- package/icons/aws/work-docs.js +21 -1
- package/icons/aws/work-link.js +21 -1
- package/icons/aws/work-mail.js +21 -1
- package/icons/aws/work-spaces-family.js +21 -1
- package/icons/aws/x-ray.js +21 -1
- package/icons/azure/abs-member.js +32 -1
- package/icons/azure/active-directory-connect-health.js +132 -1
- package/icons/azure/activity-log.js +33 -1
- package/icons/azure/administrative-units.js +102 -1
- package/icons/azure/advisor.js +44 -1
- package/icons/azure/ai-studio.js +105 -1
- package/icons/azure/aks-automatic.js +105 -1
- package/icons/azure/aks-istio.js +96 -1
- package/icons/azure/alerts.js +29 -1
- package/icons/azure/all-resources.js +21 -1
- package/icons/azure/analysis-services.js +67 -1
- package/icons/azure/anomaly-detector.js +44 -1
- package/icons/azure/api-center.js +42 -1
- package/icons/azure/api-connections.js +66 -1
- package/icons/azure/api-management-services.js +51 -1
- package/icons/azure/api-proxy.js +32 -1
- package/icons/azure/app-compliance-automation.js +82 -1
- package/icons/azure/app-configuration.js +56 -1
- package/icons/azure/app-registrations.js +39 -1
- package/icons/azure/app-service-certificates.js +42 -1
- package/icons/azure/app-service-domains.js +23 -1
- package/icons/azure/app-service-environments.js +36 -1
- package/icons/azure/app-service-plans.js +66 -1
- package/icons/azure/app-services.js +104 -1
- package/icons/azure/app-space-component.js +39 -1
- package/icons/azure/app-space.js +37 -1
- package/icons/azure/applens.js +45 -1
- package/icons/azure/application-gateway-containers.js +134 -1
- package/icons/azure/application-gateways.js +92 -1
- package/icons/azure/application-group.js +21 -1
- package/icons/azure/application-insights.js +57 -1
- package/icons/azure/application-security-groups.js +54 -1
- package/icons/azure/aquila.js +95 -1
- package/icons/azure/arc-data-services.js +60 -1
- package/icons/azure/arc-kubernetes.js +139 -1
- package/icons/azure/arc-machines.js +40 -1
- package/icons/azure/arc-postgre-sql.js +73 -1
- package/icons/azure/arc-sql-managed-instance.js +75 -1
- package/icons/azure/arc-sql-server.js +40 -1
- package/icons/azure/atm-multistack.js +59 -1
- package/icons/azure/auto-scale.js +43 -1
- package/icons/azure/automanaged-vm.js +65 -1
- package/icons/azure/automation-accounts.js +62 -1
- package/icons/azure/availability-sets.js +70 -1
- package/icons/azure/avs-vm.js +32 -1
- package/icons/azure/azure-a.js +46 -1
- package/icons/azure/azure-ad-b2c.js +129 -1
- package/icons/azure/azure-api-for-fhir.js +33 -1
- package/icons/azure/azure-applied-ai-services.js +81 -1
- package/icons/azure/azure-arc.js +75 -1
- package/icons/azure/azure-attestation.js +35 -1
- package/icons/azure/azure-backup-center.js +63 -1
- package/icons/azure/azure-blockchain-service.js +51 -1
- package/icons/azure/azure-center-for-sap.js +37 -1
- package/icons/azure/azure-chaos-studio.js +75 -1
- package/icons/azure/azure-cloud-shell.js +39 -1
- package/icons/azure/azure-communication-services.js +63 -1
- package/icons/azure/azure-communications-gateway.js +43 -1
- package/icons/azure/azure-compute-galleries.js +35 -1
- package/icons/azure/azure-cosmos-db.js +47 -1
- package/icons/azure/azure-data-catalog.js +91 -1
- package/icons/azure/azure-data-explorer-clusters.js +126 -1
- package/icons/azure/azure-database-maria-db-server.js +56 -1
- package/icons/azure/azure-database-migration-services.js +83 -1
- package/icons/azure/azure-database-my-sql-server.js +56 -1
- package/icons/azure/azure-database-postgre-sql-server-group.js +65 -1
- package/icons/azure/azure-database-postgre-sql-server.js +57 -1
- package/icons/azure/azure-databox-gateway.js +39 -1
- package/icons/azure/azure-databricks.js +12 -1
- package/icons/azure/azure-deployment-environments.js +65 -1
- package/icons/azure/azure-dev-ops.js +21 -1
- package/icons/azure/azure-dev-tunnels.js +48 -1
- package/icons/azure/azure-edge-hardware-center.js +69 -1
- package/icons/azure/azure-experimentation-studio.js +88 -1
- package/icons/azure/azure-fileshares.js +46 -1
- package/icons/azure/azure-firewall-manager.js +60 -1
- package/icons/azure/azure-firewall-policy.js +37 -1
- package/icons/azure/azure-hcp-cache.js +23 -1
- package/icons/azure/azure-hpc-workbenches.js +112 -1
- package/icons/azure/azure-hybrid-center.js +33 -1
- package/icons/azure/azure-information-protection.js +95 -1
- package/icons/azure/azure-io-t-operations.js +57 -1
- package/icons/azure/azure-lighthouse.js +35 -1
- package/icons/azure/azure-load-testing.js +78 -1
- package/icons/azure/azure-managed-grafana.js +19 -1
- package/icons/azure/azure-maps-accounts.js +16 -1
- package/icons/azure/azure-media-service.js +107 -1
- package/icons/azure/azure-migrate.js +57 -1
- package/icons/azure/azure-monitor-dashboard.js +58 -1
- package/icons/azure/azure-monitor-pipeline.js +101 -1
- package/icons/azure/azure-monitors-for-sap-solutions.js +71 -1
- package/icons/azure/azure-net-app-files.js +36 -1
- package/icons/azure/azure-network-function-manager-functions.js +94 -1
- package/icons/azure/azure-network-function-manager.js +98 -1
- package/icons/azure/azure-object-understanding.js +50 -1
- package/icons/azure/azure-open-ai.js +29 -1
- package/icons/azure/azure-operator-5g-core.js +86 -1
- package/icons/azure/azure-operator-insights.js +42 -1
- package/icons/azure/azure-operator-nexus.js +87 -1
- package/icons/azure/azure-operator-service-manager.js +41 -1
- package/icons/azure/azure-orbital.js +115 -1
- package/icons/azure/azure-programmable-connectivity.js +168 -1
- package/icons/azure/azure-purview-accounts.js +100 -1
- package/icons/azure/azure-quotas.js +54 -1
- package/icons/azure/azure-red-hat-open-shift.js +44 -1
- package/icons/azure/azure-sentinel.js +37 -1
- package/icons/azure/azure-service-bus.js +77 -1
- package/icons/azure/azure-sphere.js +68 -1
- package/icons/azure/azure-spring-apps.js +111 -1
- package/icons/azure/azure-sql-edge.js +157 -1
- package/icons/azure/azure-sql-server-stretch-databases.js +82 -1
- package/icons/azure/azure-sql-vm.js +37 -1
- package/icons/azure/azure-sql.js +27 -1
- package/icons/azure/azure-stack-edge.js +44 -1
- package/icons/azure/azure-stack-hci-sizer.js +90 -1
- package/icons/azure/azure-stack.js +54 -1
- package/icons/azure/azure-storage-mover.js +120 -1
- package/icons/azure/azure-support-center-blue.js +53 -1
- package/icons/azure/azure-sustainability.js +75 -1
- package/icons/azure/azure-synapse-analytics.js +60 -1
- package/icons/azure/azure-token-service.js +46 -1
- package/icons/azure/azure-video-indexer.js +82 -1
- package/icons/azure/azure-virtual-desktop.js +19 -1
- package/icons/azure/azure-vmware-solution.js +57 -1
- package/icons/azure/azure-workbooks.js +78 -1
- package/icons/azure/azurite.js +34 -1
- package/icons/azure/backlog.js +48 -1
- package/icons/azure/backup-vault.js +71 -1
- package/icons/azure/bare-metal-infrastructure.js +63 -1
- package/icons/azure/bastions.js +71 -1
- package/icons/azure/batch-accounts.js +52 -1
- package/icons/azure/batch-ai.js +56 -1
- package/icons/azure/biz-talk.js +39 -1
- package/icons/azure/blob-block.js +17 -1
- package/icons/azure/blob-page.js +43 -1
- package/icons/azure/blockchain-applications.js +43 -1
- package/icons/azure/blueprints.js +56 -1
- package/icons/azure/bonsai.js +63 -1
- package/icons/azure/bot-services.js +43 -1
- package/icons/azure/branch.js +43 -1
- package/icons/azure/browser.js +16 -1
- package/icons/azure/bug.js +26 -1
- package/icons/azure/builds.js +48 -1
- package/icons/azure/business-process-tracking.js +28 -1
- package/icons/azure/cache-redis.js +72 -1
- package/icons/azure/cache.js +113 -1
- package/icons/azure/capacity-reservation-groups.js +47 -1
- package/icons/azure/capacity.js +74 -1
- package/icons/azure/cdn-profiles.js +32 -1
- package/icons/azure/central-service-instance-for-sap.js +55 -1
- package/icons/azure/ceres.js +58 -1
- package/icons/azure/change-analysis.js +93 -1
- package/icons/azure/client-apps.js +21 -1
- package/icons/azure/cloud-services-classic.js +48 -1
- package/icons/azure/cloud-services-extended-support.js +78 -1
- package/icons/azure/cloud-test.js +58 -1
- package/icons/azure/code-optimization.js +146 -1
- package/icons/azure/code.js +94 -1
- package/icons/azure/cognitive-search.js +26 -1
- package/icons/azure/cognitive-services-decisions.js +139 -1
- package/icons/azure/cognitive-services.js +42 -1
- package/icons/azure/collaborative-service.js +91 -1
- package/icons/azure/commit.js +30 -1
- package/icons/azure/community-images.js +68 -1
- package/icons/azure/compliance-center.js +70 -1
- package/icons/azure/compliance.js +35 -1
- package/icons/azure/compute-fleet.js +102 -1
- package/icons/azure/computer-vision.js +35 -1
- package/icons/azure/conditional-access.js +45 -1
- package/icons/azure/confidential-ledgers.js +96 -1
- package/icons/azure/connected-cache.js +99 -1
- package/icons/azure/connected-vehicle-platform.js +111 -1
- package/icons/azure/connections.js +54 -1
- package/icons/azure/consortium.js +63 -1
- package/icons/azure/container-apps-environments.js +66 -1
- package/icons/azure/container-instances.js +37 -1
- package/icons/azure/container-registries.js +68 -1
- package/icons/azure/container-services-deprecated.js +142 -1
- package/icons/azure/content-moderators.js +63 -1
- package/icons/azure/content-safety.js +88 -1
- package/icons/azure/controls-horizontal.js +135 -1
- package/icons/azure/controls.js +33 -1
- package/icons/azure/cost-alerts.js +28 -1
- package/icons/azure/cost-analysis.js +35 -1
- package/icons/azure/cost-budgets.js +30 -1
- package/icons/azure/cost-export.js +36 -1
- package/icons/azure/cost-management-and-billing.js +41 -1
- package/icons/azure/cost-management.js +46 -1
- package/icons/azure/counter.js +33 -1
- package/icons/azure/cubes.js +16 -1
- package/icons/azure/custom-ip-prefix.js +51 -1
- package/icons/azure/custom-vision.js +59 -1
- package/icons/azure/customer-lockbox-for-microsoft-azure.js +64 -1
- package/icons/azure/dashboard-hub.js +94 -1
- package/icons/azure/dashboard.js +42 -1
- package/icons/azure/data-box.js +33 -1
- package/icons/azure/data-collection-rules.js +64 -1
- package/icons/azure/data-factories.js +42 -1
- package/icons/azure/data-lake-analytics.js +43 -1
- package/icons/azure/data-lake-storage-gen1.js +49 -1
- package/icons/azure/data-lake-store-gen1.js +49 -1
- package/icons/azure/data-share-invitations.js +34 -1
- package/icons/azure/data-shares.js +67 -1
- package/icons/azure/database-instance-for-sap.js +80 -1
- package/icons/azure/ddo-s-protection-plans.js +47 -1
- package/icons/azure/dedicated-hsm.js +49 -1
- package/icons/azure/defender-cm-local-manager.js +175 -1
- package/icons/azure/defender-dcs-controller.js +99 -1
- package/icons/azure/defender-distributer-control-system.js +67 -1
- package/icons/azure/defender-engineering-station.js +115 -1
- package/icons/azure/defender-external-management.js +132 -1
- package/icons/azure/defender-freezer-monitor.js +217 -1
- package/icons/azure/defender-historian.js +53 -1
- package/icons/azure/defender-hmi.js +54 -1
- package/icons/azure/defender-industrial-packaging-system.js +97 -1
- package/icons/azure/defender-industrial-printer.js +51 -1
- package/icons/azure/defender-industrial-robot.js +165 -1
- package/icons/azure/defender-industrial-scale-system.js +80 -1
- package/icons/azure/defender-marquee.js +68 -1
- package/icons/azure/defender-meter.js +156 -1
- package/icons/azure/defender-plc.js +66 -1
- package/icons/azure/defender-pneumatic-device.js +72 -1
- package/icons/azure/defender-programable-board.js +126 -1
- package/icons/azure/defender-relay.js +67 -1
- package/icons/azure/defender-robot-controller.js +123 -1
- package/icons/azure/defender-rtu.js +23 -1
- package/icons/azure/defender-sensor.js +55 -1
- package/icons/azure/defender-slot.js +31 -1
- package/icons/azure/defender-web-guiding-system.js +266 -1
- package/icons/azure/detonation.js +41 -1
- package/icons/azure/dev-console.js +30 -1
- package/icons/azure/dev-ops-starter.js +102 -1
- package/icons/azure/dev-test-labs.js +46 -1
- package/icons/azure/device-compliance.js +62 -1
- package/icons/azure/device-configuration.js +66 -1
- package/icons/azure/device-enrollment.js +69 -1
- package/icons/azure/device-provisioning-services.js +54 -1
- package/icons/azure/device-security-apple.js +54 -1
- package/icons/azure/device-security-google.js +54 -1
- package/icons/azure/device-security-windows.js +54 -1
- package/icons/azure/device-update-io-t-hub.js +46 -1
- package/icons/azure/devices.js +29 -1
- package/icons/azure/diagnostics-settings.js +51 -1
- package/icons/azure/digital-twins.js +73 -1
- package/icons/azure/disk-encryption-sets.js +63 -1
- package/icons/azure/disk-pool.js +92 -1
- package/icons/azure/disks-classic.js +74 -1
- package/icons/azure/disks-snapshots.js +71 -1
- package/icons/azure/disks.js +63 -1
- package/icons/azure/dns-multistack.js +49 -1
- package/icons/azure/dns-private-resolver.js +50 -1
- package/icons/azure/dns-security-policy.js +90 -1
- package/icons/azure/dns-zones.js +37 -1
- package/icons/azure/download.js +60 -1
- package/icons/azure/e-books.js +42 -1
- package/icons/azure/edge-management.js +64 -1
- package/icons/azure/education.js +42 -1
- package/icons/azure/elastic-job-agents.js +61 -1
- package/icons/azure/elastic-san.js +65 -1
- package/icons/azure/endpoint-analytics.js +83 -1
- package/icons/azure/enterprise-applications.js +66 -1
- package/icons/azure/entra-connect-health.js +132 -1
- package/icons/azure/entra-connect-sync.js +86 -1
- package/icons/azure/entra-connect.js +123 -1
- package/icons/azure/entra-domain-services.js +105 -1
- package/icons/azure/entra-global-secure-access.js +76 -1
- package/icons/azure/entra-id-protection.js +74 -1
- package/icons/azure/entra-identity-custom-roles.js +62 -1
- package/icons/azure/entra-identity-licenses.js +85 -1
- package/icons/azure/entra-identity-risky-signins.js +28 -1
- package/icons/azure/entra-identity-risky-users.js +28 -1
- package/icons/azure/entra-identity-roles-and-administrators.js +53 -1
- package/icons/azure/entra-internet-access.js +105 -1
- package/icons/azure/entra-managed-identities.js +120 -1
- package/icons/azure/entra-private-access.js +104 -1
- package/icons/azure/entra-privleged-identity-management.js +120 -1
- package/icons/azure/entra-verified-id.js +75 -1
- package/icons/azure/error.js +30 -1
- package/icons/azure/event-grid-domains.js +75 -1
- package/icons/azure/event-grid-subscriptions.js +75 -1
- package/icons/azure/event-grid-topics.js +90 -1
- package/icons/azure/event-hub-clusters.js +77 -1
- package/icons/azure/event-hubs.js +64 -1
- package/icons/azure/exchange-access.js +45 -1
- package/icons/azure/exchange-on-premises-access.js +39 -1
- package/icons/azure/express-route-circuits.js +60 -1
- package/icons/azure/express-route-direct.js +61 -1
- package/icons/azure/express-route-traffic-collector.js +97 -1
- package/icons/azure/extended-security-updates.js +44 -1
- package/icons/azure/extensions.js +28 -1
- package/icons/azure/external-identities.js +42 -1
- package/icons/azure/face-apis.js +19 -1
- package/icons/azure/feature-previews.js +21 -1
- package/icons/azure/fhir-service.js +60 -1
- package/icons/azure/fiji.js +42 -1
- package/icons/azure/file.js +29 -1
- package/icons/azure/files.js +45 -1
- package/icons/azure/firewalls.js +32 -1
- package/icons/azure/folder-blank.js +39 -1
- package/icons/azure/folder-website.js +123 -1
- package/icons/azure/form-recognizers.js +48 -1
- package/icons/azure/free-services.js +43 -1
- package/icons/azure/front-door-and-cdn-profiles.js +37 -1
- package/icons/azure/ftp.js +17 -1
- package/icons/azure/function-apps.js +61 -1
- package/icons/azure/gear.js +37 -1
- package/icons/azure/genomics-accounts.js +68 -1
- package/icons/azure/genomics.js +57 -1
- package/icons/azure/globe-error.js +42 -1
- package/icons/azure/globe-success.js +52 -1
- package/icons/azure/globe-warning.js +53 -1
- package/icons/azure/groups.js +42 -1
- package/icons/azure/guide.js +17 -1
- package/icons/azure/hd-insight-clusters.js +71 -1
- package/icons/azure/hdi-aks-cluster.js +60 -1
- package/icons/azure/heart.js +31 -1
- package/icons/azure/help-and-support.js +55 -1
- package/icons/azure/host-groups.js +48 -1
- package/icons/azure/host-pools.js +19 -1
- package/icons/azure/hosts.js +46 -1
- package/icons/azure/ic-m-troubleshooting.js +60 -1
- package/icons/azure/identity-governance.js +52 -1
- package/icons/azure/identity-multi-factor-authentication.js +117 -1
- package/icons/azure/identity-secure-score.js +55 -1
- package/icons/azure/image-definitions.js +38 -1
- package/icons/azure/image-templates.js +43 -1
- package/icons/azure/image-versions.js +38 -1
- package/icons/azure/image.js +31 -1
- package/icons/azure/images.js +37 -1
- package/icons/azure/immersive-readers.js +82 -1
- package/icons/azure/import-export-jobs.js +25 -1
- package/icons/azure/industrial-io-t.js +97 -1
- package/icons/azure/information.js +21 -1
- package/icons/azure/infrastructure-backup.js +89 -1
- package/icons/azure/input-output.js +97 -1
- package/icons/azure/instance-pools.js +87 -1
- package/icons/azure/integration-accounts.js +52 -1
- package/icons/azure/integration-environments.js +94 -1
- package/icons/azure/integration-service-environments.js +90 -1
- package/icons/azure/internet-analyzer-profiles.js +59 -1
- package/icons/azure/intune-app-protection.js +79 -1
- package/icons/azure/intune-for-education.js +79 -1
- package/icons/azure/intune-trends.js +40 -1
- package/icons/azure/intune.js +46 -1
- package/icons/azure/io-t-central-applications.js +20 -1
- package/icons/azure/io-t-edge.js +25 -1
- package/icons/azure/io-t-hub.js +36 -1
- package/icons/azure/ip-address-manager.js +63 -1
- package/icons/azure/ip-groups.js +45 -1
- package/icons/azure/journey-hub.js +30 -1
- package/icons/azure/key-vaults.js +61 -1
- package/icons/azure/keys.js +97 -1
- package/icons/azure/kubernetes-fleet-manager.js +73 -1
- package/icons/azure/kubernetes-services.js +142 -1
- package/icons/azure/lab-accounts.js +69 -1
- package/icons/azure/lab-services.js +46 -1
- package/icons/azure/language-understanding.js +25 -1
- package/icons/azure/language.js +71 -1
- package/icons/azure/launch-portal.js +36 -1
- package/icons/azure/learn.js +61 -1
- package/icons/azure/load-balancer-hub.js +101 -1
- package/icons/azure/load-balancers.js +28 -1
- package/icons/azure/load-test.js +61 -1
- package/icons/azure/load-testing.js +71 -1
- package/icons/azure/local-network-gateways.js +44 -1
- package/icons/azure/location.js +34 -1
- package/icons/azure/log-analytics-query-pack.js +68 -1
- package/icons/azure/log-analytics-workspaces.js +58 -1
- package/icons/azure/log-streaming.js +57 -1
- package/icons/azure/logic-apps-custom-connector.js +76 -1
- package/icons/azure/logic-apps.js +65 -1
- package/icons/azure/machine-learning-studio-classic-web-services.js +49 -1
- package/icons/azure/machine-learning-studio-web-service-plans.js +84 -1
- package/icons/azure/machine-learning-studio-workspaces.js +55 -1
- package/icons/azure/machine-learning.js +29 -1
- package/icons/azure/machines-azure-arc.js +27 -1
- package/icons/azure/maintenance-configuration.js +62 -1
- package/icons/azure/managed-applications-center.js +55 -1
- package/icons/azure/managed-database.js +79 -1
- package/icons/azure/managed-desktop.js +40 -1
- package/icons/azure/managed-dev-ops-pools.js +59 -1
- package/icons/azure/managed-file-shares.js +59 -1
- package/icons/azure/managed-identities.js +66 -1
- package/icons/azure/managed-instance-apache-cassandra.js +100 -1
- package/icons/azure/managed-service-fabric.js +109 -1
- package/icons/azure/management-groups.js +77 -1
- package/icons/azure/management-portal.js +23 -1
- package/icons/azure/marketplace-management.js +47 -1
- package/icons/azure/marketplace.js +38 -1
- package/icons/azure/med-tech-service.js +87 -1
- package/icons/azure/media-file.js +36 -1
- package/icons/azure/media.js +108 -1
- package/icons/azure/mesh-applications.js +47 -1
- package/icons/azure/metrics-advisor.js +58 -1
- package/icons/azure/metrics.js +34 -1
- package/icons/azure/microsoft-defender-easm.js +69 -1
- package/icons/azure/microsoft-defender-for-cloud.js +61 -1
- package/icons/azure/microsoft-defender-for-io-t.js +54 -1
- package/icons/azure/microsoft-dev-box.js +143 -1
- package/icons/azure/mindaro.js +47 -1
- package/icons/azure/mission-landing-zone.js +48 -1
- package/icons/azure/mobile-engagement.js +46 -1
- package/icons/azure/mobile-networks.js +86 -1
- package/icons/azure/mobile.js +28 -1
- package/icons/azure/modular-data-center.js +83 -1
- package/icons/azure/module.js +25 -1
- package/icons/azure/monitor-health-models.js +110 -1
- package/icons/azure/monitor.js +61 -1
- package/icons/azure/multi-tenancy.js +80 -1
- package/icons/azure/multifactor-authentication.js +84 -1
- package/icons/azure/my-customers.js +42 -1
- package/icons/azure/nat.js +56 -1
- package/icons/azure/network-interfaces.js +52 -1
- package/icons/azure/network-managers.js +55 -1
- package/icons/azure/network-security-groups.js +53 -1
- package/icons/azure/network-security-perimeters.js +113 -1
- package/icons/azure/network-watcher.js +55 -1
- package/icons/azure/notification-hub-namespaces.js +33 -1
- package/icons/azure/notification-hubs.js +22 -1
- package/icons/azure/offers.js +35 -1
- package/icons/azure/on-premises-data-gateways.js +44 -1
- package/icons/azure/open-supply-chain-platform.js +111 -1
- package/icons/azure/operation-log-classic.js +44 -1
- package/icons/azure/oracle-database.js +55 -1
- package/icons/azure/os-images-classic.js +60 -1
- package/icons/azure/osconfig.js +82 -1
- package/icons/azure/outbound-connection.js +24 -1
- package/icons/azure/partner-namespace.js +97 -1
- package/icons/azure/partner-registration.js +117 -1
- package/icons/azure/partner-topic.js +93 -1
- package/icons/azure/peering-service.js +27 -1
- package/icons/azure/peerings.js +44 -1
- package/icons/azure/personalizers.js +99 -1
- package/icons/azure/plans.js +40 -1
- package/icons/azure/policy.js +34 -1
- package/icons/azure/power-bi-embedded.js +69 -1
- package/icons/azure/power-platform.js +163 -1
- package/icons/azure/power-up.js +42 -1
- package/icons/azure/power.js +31 -1
- package/icons/azure/powershell.js +30 -1
- package/icons/azure/preview-features.js +72 -1
- package/icons/azure/private-endpoints.js +80 -1
- package/icons/azure/private-link-service.js +83 -1
- package/icons/azure/private-link-services.js +72 -1
- package/icons/azure/private-link.js +94 -1
- package/icons/azure/process-explorer.js +23 -1
- package/icons/azure/production-ready-database.js +70 -1
- package/icons/azure/proximity-placement-groups.js +71 -1
- package/icons/azure/public-ip-addresses-classic.js +36 -1
- package/icons/azure/public-ip-addresses.js +19 -1
- package/icons/azure/public-ip-prefixes.js +85 -1
- package/icons/azure/qn-a-makers.js +61 -1
- package/icons/azure/quickstart-center.js +76 -1
- package/icons/azure/recent.js +57 -1
- package/icons/azure/recovery-services-vaults.js +67 -1
- package/icons/azure/region-management.js +42 -1
- package/icons/azure/relays.js +45 -1
- package/icons/azure/remote-rendering.js +71 -1
- package/icons/azure/reservations.js +37 -1
- package/icons/azure/reserved-capacity.js +45 -1
- package/icons/azure/reserved-ip-addresses-classic.js +38 -1
- package/icons/azure/resource-explorer.js +33 -1
- package/icons/azure/resource-graph-explorer.js +58 -1
- package/icons/azure/resource-group-list.js +48 -1
- package/icons/azure/resource-groups.js +40 -1
- package/icons/azure/resource-guard.js +46 -1
- package/icons/azure/resource-linked.js +51 -1
- package/icons/azure/resource-management-private-link.js +61 -1
- package/icons/azure/resource-mover.js +20 -1
- package/icons/azure/resources-provider.js +27 -1
- package/icons/azure/restore-points-collections.js +73 -1
- package/icons/azure/restore-points.js +72 -1
- package/icons/azure/route-filters.js +39 -1
- package/icons/azure/route-tables.js +62 -1
- package/icons/azure/rtos.js +64 -1
- package/icons/azure/savings-plans.js +75 -1
- package/icons/azure/scheduler-job-collections.js +73 -1
- package/icons/azure/scheduler.js +75 -1
- package/icons/azure/scvmm-management-servers.js +79 -1
- package/icons/azure/search-grid.js +48 -1
- package/icons/azure/search.js +28 -1
- package/icons/azure/security-baselines.js +55 -1
- package/icons/azure/security.js +22 -1
- package/icons/azure/send-grid-accounts.js +42 -1
- package/icons/azure/server-farm.js +65 -1
- package/icons/azure/serverless-search.js +65 -1
- package/icons/azure/service-catalog-mad.js +65 -1
- package/icons/azure/service-endpoint-policies.js +75 -1
- package/icons/azure/service-fabric-clusters.js +97 -1
- package/icons/azure/service-health.js +45 -1
- package/icons/azure/service-providers.js +71 -1
- package/icons/azure/shared-image-galleries.js +32 -1
- package/icons/azure/signal-r.js +22 -1
- package/icons/azure/software-as-a-service.js +65 -1
- package/icons/azure/software-updates.js +22 -1
- package/icons/azure/solutions.js +58 -1
- package/icons/azure/sonic-dash.js +95 -1
- package/icons/azure/spatial-anchor-accounts.js +88 -1
- package/icons/azure/speech-services.js +43 -1
- package/icons/azure/spot-vm.js +40 -1
- package/icons/azure/spot-vmss.js +77 -1
- package/icons/azure/sql-data-warehouses.js +82 -1
- package/icons/azure/sql-database.js +63 -1
- package/icons/azure/sql-elastic-pools.js +89 -1
- package/icons/azure/sql-managed-instance.js +73 -1
- package/icons/azure/sql-server-registries.js +75 -1
- package/icons/azure/sql-server.js +46 -1
- package/icons/azure/ssd.js +36 -1
- package/icons/azure/ssh-keys.js +42 -1
- package/icons/azure/ssis-lift-and-shift-ir.js +72 -1
- package/icons/azure/stack-hci-premium.js +144 -1
- package/icons/azure/static-apps.js +29 -1
- package/icons/azure/stor-simple-data-managers.js +57 -1
- package/icons/azure/stor-simple-device-managers.js +38 -1
- package/icons/azure/storage-accounts-classic.js +53 -1
- package/icons/azure/storage-accounts.js +35 -1
- package/icons/azure/storage-actions.js +88 -1
- package/icons/azure/storage-azure-files.js +47 -1
- package/icons/azure/storage-container.js +35 -1
- package/icons/azure/storage-explorer.js +38 -1
- package/icons/azure/storage-functions.js +57 -1
- package/icons/azure/storage-queue.js +24 -1
- package/icons/azure/storage-sync-services.js +74 -1
- package/icons/azure/stream-analytics-jobs.js +53 -1
- package/icons/azure/subnet.js +43 -1
- package/icons/azure/subscriptions.js +41 -1
- package/icons/azure/system-topic.js +182 -1
- package/icons/azure/table.js +23 -1
- package/icons/azure/tag.js +28 -1
- package/icons/azure/tags.js +46 -1
- package/icons/azure/targets-management.js +54 -1
- package/icons/azure/template-specs.js +67 -1
- package/icons/azure/templates.js +33 -1
- package/icons/azure/tenant-properties.js +90 -1
- package/icons/azure/tenant-status.js +40 -1
- package/icons/azure/test-base.js +56 -1
- package/icons/azure/tfs-vc-repository.js +97 -1
- package/icons/azure/time-series-data-sets.js +63 -1
- package/icons/azure/time-series-insights-access-policies.js +42 -1
- package/icons/azure/time-series-insights-environments.js +39 -1
- package/icons/azure/time-series-insights-event-sources.js +57 -1
- package/icons/azure/toolbox.js +26 -1
- package/icons/azure/traffic-manager-profiles.js +47 -1
- package/icons/azure/translator-text.js +75 -1
- package/icons/azure/troubleshoot.js +38 -1
- package/icons/azure/universal-print.js +74 -1
- package/icons/azure/update-management-center.js +135 -1
- package/icons/azure/updates.js +47 -1
- package/icons/azure/user-privacy.js +55 -1
- package/icons/azure/user-settings.js +68 -1
- package/icons/azure/user-subscriptions.js +104 -1
- package/icons/azure/users.js +26 -1
- package/icons/azure/verifiable-credentials.js +99 -1
- package/icons/azure/verification-as-a-service.js +84 -1
- package/icons/azure/versions.js +24 -1
- package/icons/azure/video-analyzers.js +42 -1
- package/icons/azure/virtual-clusters.js +99 -1
- package/icons/azure/virtual-enclaves.js +40 -1
- package/icons/azure/virtual-instance-for-sap.js +81 -1
- package/icons/azure/virtual-machine.js +52 -1
- package/icons/azure/virtual-machines-classic.js +53 -1
- package/icons/azure/virtual-network-gateways.js +56 -1
- package/icons/azure/virtual-networks-classic.js +86 -1
- package/icons/azure/virtual-networks.js +86 -1
- package/icons/azure/virtual-router.js +29 -1
- package/icons/azure/virtual-visits-builder.js +81 -1
- package/icons/azure/virtual-wan-hub.js +72 -1
- package/icons/azure/virtual-wans.js +60 -1
- package/icons/azure/vm-app-definitions.js +66 -1
- package/icons/azure/vm-app-versions.js +91 -1
- package/icons/azure/vm-image-version.js +103 -1
- package/icons/azure/vm-images-classic.js +60 -1
- package/icons/azure/vm-scale-sets.js +60 -1
- package/icons/azure/wac-installer.js +121 -1
- package/icons/azure/wac.js +56 -1
- package/icons/azure/web-app-database.js +177 -1
- package/icons/azure/web-application-firewall-policies-waf.js +97 -1
- package/icons/azure/web-jobs.js +119 -1
- package/icons/azure/web-slots.js +30 -1
- package/icons/azure/web-test.js +122 -1
- package/icons/azure/website-power.js +90 -1
- package/icons/azure/website-staging.js +24 -1
- package/icons/azure/windows-notification-services.js +78 -1
- package/icons/azure/windows10-core-services.js +61 -1
- package/icons/azure/workbooks.js +38 -1
- package/icons/azure/worker-container-app.js +91 -1
- package/icons/azure/workflow.js +47 -1
- package/icons/azure/workspace-gateway.js +86 -1
- package/icons/azure/workspaces.js +58 -1
- package/icons/gcp/access-context-manager.js +17 -1
- package/icons/gcp/administration.js +46 -1
- package/icons/gcp/advanced-agent-modeling.js +31 -1
- package/icons/gcp/advanced-solutions-lab.js +84 -1
- package/icons/gcp/agent-assist.js +12 -1
- package/icons/gcp/ai-hub.js +23 -1
- package/icons/gcp/ai-platform-unified.js +40 -1
- package/icons/gcp/ai-platform.js +23 -1
- package/icons/gcp/analytics-hub.js +28 -1
- package/icons/gcp/anthos-config-management.js +28 -1
- package/icons/gcp/anthos-service-mesh.js +13 -1
- package/icons/gcp/anthos.js +11 -1
- package/icons/gcp/api-analytics.js +26 -1
- package/icons/gcp/api-monetization.js +23 -1
- package/icons/gcp/api.js +29 -1
- package/icons/gcp/apigee-api-platform.js +35 -1
- package/icons/gcp/apigee-sense.js +28 -1
- package/icons/gcp/app-engine.js +39 -1
- package/icons/gcp/artifact-registry.js +33 -1
- package/icons/gcp/asset-inventory.js +19 -1
- package/icons/gcp/assured-workloads.js +38 -1
- package/icons/gcp/auto-ml-natural-language.js +9 -1
- package/icons/gcp/auto-ml-tables.js +19 -1
- package/icons/gcp/auto-ml-translation.js +25 -1
- package/icons/gcp/auto-ml-video-intelligence.js +25 -1
- package/icons/gcp/auto-ml-vision.js +18 -1
- package/icons/gcp/auto-ml.js +14 -1
- package/icons/gcp/bare-metal-solutions.js +10 -1
- package/icons/gcp/batch.js +12 -1
- package/icons/gcp/beyondcorp.js +13 -1
- package/icons/gcp/big-query.js +28 -1
- package/icons/gcp/bigtable.js +116 -1
- package/icons/gcp/billing.js +34 -1
- package/icons/gcp/binary-authorization.js +22 -1
- package/icons/gcp/catalog.js +29 -1
- package/icons/gcp/certificate-authority-service.js +33 -1
- package/icons/gcp/certificate-manager.js +24 -1
- package/icons/gcp/cloud-api-gateway.js +13 -1
- package/icons/gcp/cloud-apis.js +18 -1
- package/icons/gcp/cloud-armor.js +27 -1
- package/icons/gcp/cloud-asset-inventory.js +10 -1
- package/icons/gcp/cloud-audit-logs.js +60 -1
- package/icons/gcp/cloud-build.js +19 -1
- package/icons/gcp/cloud-cdn.js +22 -1
- package/icons/gcp/cloud-code.js +16 -1
- package/icons/gcp/cloud-composer.js +19 -1
- package/icons/gcp/cloud-data-fusion.js +15 -1
- package/icons/gcp/cloud-deploy.js +10 -1
- package/icons/gcp/cloud-deployment-manager.js +24 -1
- package/icons/gcp/cloud-dns.js +21 -1
- package/icons/gcp/cloud-domains.js +26 -1
- package/icons/gcp/cloud-ekm.js +13 -1
- package/icons/gcp/cloud-endpoints.js +26 -1
- package/icons/gcp/cloud-external-ip-addresses.js +21 -1
- package/icons/gcp/cloud-firewall-rules.js +15 -1
- package/icons/gcp/cloud-for-marketing.js +13 -1
- package/icons/gcp/cloud-functions.js +45 -1
- package/icons/gcp/cloud-generic.js +13 -1
- package/icons/gcp/cloud-gpu.js +18 -1
- package/icons/gcp/cloud-healthcare-api.js +65 -1
- package/icons/gcp/cloud-healthcare-marketplace.js +10 -1
- package/icons/gcp/cloud-hsm.js +43 -1
- package/icons/gcp/cloud-ids.js +42 -1
- package/icons/gcp/cloud-inference-api.js +27 -1
- package/icons/gcp/cloud-interconnect.js +15 -1
- package/icons/gcp/cloud-jobs-api.js +37 -1
- package/icons/gcp/cloud-load-balancing.js +20 -1
- package/icons/gcp/cloud-logging.js +35 -1
- package/icons/gcp/cloud-media-edge.js +23 -1
- package/icons/gcp/cloud-monitoring.js +26 -1
- package/icons/gcp/cloud-nat.js +31 -1
- package/icons/gcp/cloud-natural-language-api.js +40 -1
- package/icons/gcp/cloud-network.js +23 -1
- package/icons/gcp/cloud-ops.js +32 -1
- package/icons/gcp/cloud-optimization-ai-fleet-routing-api.js +34 -1
- package/icons/gcp/cloud-optimization-ai.js +28 -1
- package/icons/gcp/cloud-router.js +13 -1
- package/icons/gcp/cloud-routes.js +18 -1
- package/icons/gcp/cloud-run-for-anthos.js +21 -1
- package/icons/gcp/cloud-run.js +13 -1
- package/icons/gcp/cloud-scheduler.js +49 -1
- package/icons/gcp/cloud-security-scanner.js +21 -1
- package/icons/gcp/cloud-shell.js +16 -1
- package/icons/gcp/cloud-spanner.js +42 -1
- package/icons/gcp/cloud-sql.js +16 -1
- package/icons/gcp/cloud-storage.js +22 -1
- package/icons/gcp/cloud-tasks.js +101 -1
- package/icons/gcp/cloud-test-lab.js +39 -1
- package/icons/gcp/cloud-tpu.js +141 -1
- package/icons/gcp/cloud-translation-api.js +16 -1
- package/icons/gcp/cloud-vision-api.js +40 -1
- package/icons/gcp/cloud-vpn.js +23 -1
- package/icons/gcp/compute-engine.js +23 -1
- package/icons/gcp/configuration-management.js +22 -1
- package/icons/gcp/connectivity-test.js +6 -1
- package/icons/gcp/connectors.js +13 -1
- package/icons/gcp/contact-center-ai.js +6 -1
- package/icons/gcp/container-optimized-os.js +13 -1
- package/icons/gcp/container-registry.js +118 -1
- package/icons/gcp/data-catalog.js +25 -1
- package/icons/gcp/data-labeling.js +31 -1
- package/icons/gcp/data-layers.js +11 -1
- package/icons/gcp/data-loss-prevention-api.js +60 -1
- package/icons/gcp/data-qn-a.js +24 -1
- package/icons/gcp/data-studio.js +28 -1
- package/icons/gcp/data-transfer.js +17 -1
- package/icons/gcp/database-migration-service.js +24 -1
- package/icons/gcp/dataflow.js +50 -1
- package/icons/gcp/datalab.js +13 -1
- package/icons/gcp/dataplex.js +15 -1
- package/icons/gcp/datapol.js +70 -1
- package/icons/gcp/dataprep.js +25 -1
- package/icons/gcp/dataproc-metastore.js +12 -1
- package/icons/gcp/dataproc.js +43 -1
- package/icons/gcp/datashare.js +37 -1
- package/icons/gcp/datastore.js +39 -1
- package/icons/gcp/datastream.js +35 -1
- package/icons/gcp/debugger.js +31 -1
- package/icons/gcp/developer-portal.js +24 -1
- package/icons/gcp/dialogflow-cx.js +28 -1
- package/icons/gcp/dialogflow-insights.js +33 -1
- package/icons/gcp/dialogflow.js +16 -1
- package/icons/gcp/document-ai.js +27 -1
- package/icons/gcp/early-access-center.js +12 -1
- package/icons/gcp/error-reporting.js +42 -1
- package/icons/gcp/eventarc.js +24 -1
- package/icons/gcp/filestore.js +22 -1
- package/icons/gcp/financial-services-marketplace.js +21 -1
- package/icons/gcp/firestore.js +30 -1
- package/icons/gcp/fleet-engine.js +10 -1
- package/icons/gcp/free-trial.js +36 -1
- package/icons/gcp/game-servers.js +32 -1
- package/icons/gcp/gce-systems-management.js +13 -1
- package/icons/gcp/genomics.js +23 -1
- package/icons/gcp/gke-on-prem.js +31 -1
- package/icons/gcp/google-cloud-marketplace.js +29 -1
- package/icons/gcp/google-kubernetes-engine.js +23 -1
- package/icons/gcp/google-maps-platform.js +47 -1
- package/icons/gcp/healthcare-nlp-api.js +13 -1
- package/icons/gcp/home.js +25 -1
- package/icons/gcp/identity-and-access-management.js +23 -1
- package/icons/gcp/identity-aware-proxy.js +32 -1
- package/icons/gcp/identity-platform.js +26 -1
- package/icons/gcp/iot-core.js +23 -1
- package/icons/gcp/iot-edge.js +86 -1
- package/icons/gcp/key-access-justifications.js +46 -1
- package/icons/gcp/key-management-service.js +23 -1
- package/icons/gcp/kuberun.js +26 -1
- package/icons/gcp/launcher.js +35 -1
- package/icons/gcp/local-ssd.js +13 -1
- package/icons/gcp/looker.js +46 -1
- package/icons/gcp/managed-service-for-microsoft-active-directory.js +59 -1
- package/icons/gcp/media-translation-api.js +28 -1
- package/icons/gcp/memorystore.js +26 -1
- package/icons/gcp/migrate-for-anthos.js +13 -1
- package/icons/gcp/migrate-for-compute-engine.js +13 -1
- package/icons/gcp/my-cloud.js +21 -1
- package/icons/gcp/network-connectivity-center.js +84 -1
- package/icons/gcp/network-intelligence-center.js +13 -1
- package/icons/gcp/network-security.js +38 -1
- package/icons/gcp/network-tiers.js +53 -1
- package/icons/gcp/network-topology.js +13 -1
- package/icons/gcp/onboarding.js +25 -1
- package/icons/gcp/os-configuration-management.js +13 -1
- package/icons/gcp/os-inventory-management.js +15 -1
- package/icons/gcp/os-patch-management.js +13 -1
- package/icons/gcp/partner-interconnect.js +21 -1
- package/icons/gcp/partner-portal.js +35 -1
- package/icons/gcp/performance-dashboard.js +13 -1
- package/icons/gcp/permissions.js +35 -1
- package/icons/gcp/persistent-disk.js +10 -1
- package/icons/gcp/phishing-protection.js +48 -1
- package/icons/gcp/policy-analyzer.js +13 -1
- package/icons/gcp/premium-network-tier.js +19 -1
- package/icons/gcp/private-connectivity.js +18 -1
- package/icons/gcp/private-service-connect.js +27 -1
- package/icons/gcp/producer-portal.js +21 -1
- package/icons/gcp/profiler.js +29 -1
- package/icons/gcp/project.js +28 -1
- package/icons/gcp/pub-sub.js +41 -1
- package/icons/gcp/quantum-engine.js +27 -1
- package/icons/gcp/quotas.js +42 -1
- package/icons/gcp/real-world-insights.js +19 -1
- package/icons/gcp/recommendations-ai.js +56 -1
- package/icons/gcp/release-notes.js +12 -1
- package/icons/gcp/retail-api.js +22 -1
- package/icons/gcp/risk-manager.js +12 -1
- package/icons/gcp/runtime-config.js +35 -1
- package/icons/gcp/secret-manager.js +13 -1
- package/icons/gcp/security-command-center.js +18 -1
- package/icons/gcp/security-health-advisor.js +61 -1
- package/icons/gcp/security-key-enforcement.js +21 -1
- package/icons/gcp/security.js +27 -1
- package/icons/gcp/service-discovery.js +36 -1
- package/icons/gcp/speech-to-text.js +93 -1
- package/icons/gcp/stackdriver.js +10 -1
- package/icons/gcp/standard-network-tier.js +13 -1
- package/icons/gcp/stream-suite.js +16 -1
- package/icons/gcp/support.js +29 -1
- package/icons/gcp/tensorflow-enterprise.js +13 -1
- package/icons/gcp/text-to-speech.js +24 -1
- package/icons/gcp/tools-for-powershell.js +29 -1
- package/icons/gcp/trace.js +17 -1
- package/icons/gcp/traffic-director.js +44 -1
- package/icons/gcp/transfer-appliance.js +32 -1
- package/icons/gcp/transfer.js +13 -1
- package/icons/gcp/user-preferences.js +35 -1
- package/icons/gcp/vertex-ai.js +48 -1
- package/icons/gcp/video-intelligence-api.js +15 -1
- package/icons/gcp/virtual-private-cloud.js +25 -1
- package/icons/gcp/visual-inspection.js +24 -1
- package/icons/gcp/vmware-engine.js +13 -1
- package/icons/gcp/web-risk.js +55 -1
- package/icons/gcp/web-security-scanner.js +27 -1
- package/icons/gcp/workflows.js +82 -1
- package/icons/gcp/workload-identity-pool.js +24 -1
- package/icons/tech/aarch64.js +48 -1
- package/icons/tech/adobe-illustrator.js +14 -1
- package/icons/tech/adobe-photoshop.js +14 -1
- package/icons/tech/adobe-premiere-pro.js +16 -1
- package/icons/tech/adobe-xd.js +12 -1
- package/icons/tech/adonis-js.js +14 -1
- package/icons/tech/after-effects.js +16 -1
- package/icons/tech/airflow.js +64 -1
- package/icons/tech/akka.js +21 -1
- package/icons/tech/algolia.js +12 -1
- package/icons/tech/alpine-js.js +17 -1
- package/icons/tech/amazon-web-services.js +21 -1
- package/icons/tech/anaconda.js +12 -1
- package/icons/tech/android-studio.js +44 -1
- package/icons/tech/android.js +35 -1
- package/icons/tech/angular-js.js +24 -1
- package/icons/tech/angular.js +37 -1
- package/icons/tech/ansible.js +15 -1
- package/icons/tech/ant-design.js +112 -1
- package/icons/tech/apache.js +222 -1
- package/icons/tech/apl.js +21 -1
- package/icons/tech/appcelerator.js +12 -1
- package/icons/tech/apple-safari.js +39 -1
- package/icons/tech/apple.js +6 -1
- package/icons/tech/appwrite.js +21 -1
- package/icons/tech/arch-linux.js +29 -1
- package/icons/tech/arduino.js +9 -1
- package/icons/tech/argo-cd.js +134 -1
- package/icons/tech/astro.js +62 -1
- package/icons/tech/atom.js +14 -1
- package/icons/tech/autodesk-maya.js +144 -1
- package/icons/tech/autodesk-shot-grid.js +15 -1
- package/icons/tech/awk.js +34 -1
- package/icons/tech/azios.js +12 -1
- package/icons/tech/azure-devops.js +33 -1
- package/icons/tech/azure-sql-database.js +95 -1
- package/icons/tech/azure.js +55 -1
- package/icons/tech/babel.js +15 -1
- package/icons/tech/backbone-js.js +16 -1
- package/icons/tech/ballerina.js +12 -1
- package/icons/tech/bamboo.js +62 -1
- package/icons/tech/bash.js +22 -1
- package/icons/tech/behance.js +19 -1
- package/icons/tech/bitbucket.js +37 -1
- package/icons/tech/blender.js +21 -1
- package/icons/tech/bootstrap.js +78 -1
- package/icons/tech/bower.js +123 -1
- package/icons/tech/browserstack.js +77 -1
- package/icons/tech/bulma.js +6 -1
- package/icons/tech/bun.js +68 -1
- package/icons/tech/c.js +28 -1
- package/icons/tech/cairo-graphics.js +21 -1
- package/icons/tech/cake-php.js +12 -1
- package/icons/tech/canva.js +9 -1
- package/icons/tech/capacitor.js +25 -1
- package/icons/tech/cassandra.js +101 -1
- package/icons/tech/cent-os.js +22 -1
- package/icons/tech/chrome.js +156 -1
- package/icons/tech/circle-ci.js +12 -1
- package/icons/tech/clarity.js +35 -1
- package/icons/tech/clion.js +98 -1
- package/icons/tech/clojure-script.js +39 -1
- package/icons/tech/clojure.js +42 -1
- package/icons/tech/cloudflare-workers.js +196 -1
- package/icons/tech/cloudflare.js +22 -1
- package/icons/tech/cmake.js +11 -1
- package/icons/tech/code-igniter.js +12 -1
- package/icons/tech/code-pen.js +12 -1
- package/icons/tech/codeac.js +12 -1
- package/icons/tech/codecov.js +12 -1
- package/icons/tech/coffee-script.js +12 -1
- package/icons/tech/composer.js +59 -1
- package/icons/tech/confluence.js +57 -1
- package/icons/tech/consul.js +12 -1
- package/icons/tech/contao.js +15 -1
- package/icons/tech/corejs.js +6 -1
- package/icons/tech/cosmosdb.js +52 -1
- package/icons/tech/couchdb.js +12 -1
- package/icons/tech/cplusplus.js +35 -1
- package/icons/tech/crystal.js +12 -1
- package/icons/tech/csharp.js +28 -1
- package/icons/tech/css3.js +25 -1
- package/icons/tech/cucumber.js +12 -1
- package/icons/tech/cypress.js +34 -1
- package/icons/tech/d3js.js +145 -1
- package/icons/tech/dart.js +24 -1
- package/icons/tech/data-grip.js +109 -1
- package/icons/tech/data-spell.js +102 -1
- package/icons/tech/dbeaver.js +56 -1
- package/icons/tech/debian.js +12 -1
- package/icons/tech/deno.js +6 -1
- package/icons/tech/devicon.js +25 -1
- package/icons/tech/digital-ocean.js +9 -1
- package/icons/tech/discord-js.js +56 -1
- package/icons/tech/django-rest.js +35 -1
- package/icons/tech/django.js +9 -1
- package/icons/tech/docker.js +133 -1
- package/icons/tech/doctrine.js +21 -1
- package/icons/tech/dropwizard.js +70 -1
- package/icons/tech/drupal.js +56 -1
- package/icons/tech/eclipse-ceylon.js +44 -1
- package/icons/tech/eclipse-ide.js +99 -1
- package/icons/tech/eclipse-vert-x.js +29 -1
- package/icons/tech/elasticbeats.js +22 -1
- package/icons/tech/elasticsearch.js +28 -1
- package/icons/tech/electron.js +11 -1
- package/icons/tech/eleventy-11ty.js +15 -1
- package/icons/tech/elixir.js +211 -1
- package/icons/tech/elm.js +19 -1
- package/icons/tech/embedded-c.js +42 -1
- package/icons/tech/ember-js.js +16 -1
- package/icons/tech/envoy.js +28 -1
- package/icons/tech/erlang.js +12 -1
- package/icons/tech/eslint.js +21 -1
- package/icons/tech/express.js +6 -1
- package/icons/tech/facebook.js +15 -1
- package/icons/tech/fast-api.js +12 -1
- package/icons/tech/fastify.js +15 -1
- package/icons/tech/fauna.js +12 -1
- package/icons/tech/feathers.js +6 -1
- package/icons/tech/fedora.js +53 -1
- package/icons/tech/figma.js +24 -1
- package/icons/tech/file-zilla.js +29 -1
- package/icons/tech/firebase.js +12 -1
- package/icons/tech/firefox.js +1405 -1
- package/icons/tech/flask.js +12 -1
- package/icons/tech/flutter.js +16 -1
- package/icons/tech/fortran.js +15 -1
- package/icons/tech/foundation.js +240 -1
- package/icons/tech/fsharp.js +10 -1
- package/icons/tech/gatling.js +12 -1
- package/icons/tech/gatsby.js +12 -1
- package/icons/tech/gazebo.js +23 -1
- package/icons/tech/gcc.js +44 -1
- package/icons/tech/gentoo.js +14 -1
- package/icons/tech/ghost.js +27 -1
- package/icons/tech/gimp.js +382 -1
- package/icons/tech/git.js +12 -1
- package/icons/tech/gitbook.js +13 -1
- package/icons/tech/github-actions.js +21 -1
- package/icons/tech/github-codespaces.js +85 -1
- package/icons/tech/github.js +16 -1
- package/icons/tech/gitlab.js +35 -1
- package/icons/tech/gitpod.js +32 -1
- package/icons/tech/gitter.js +6 -1
- package/icons/tech/gnu-emacs.js +15 -1
- package/icons/tech/go-land.js +88 -1
- package/icons/tech/go.js +294 -1
- package/icons/tech/godot-engine.js +56 -1
- package/icons/tech/google-cloud.js +29 -1
- package/icons/tech/google.js +42 -1
- package/icons/tech/gradle.js +12 -1
- package/icons/tech/grafana.js +30 -1
- package/icons/tech/grails.js +21 -1
- package/icons/tech/graphql.js +15 -1
- package/icons/tech/groovy.js +715 -1
- package/icons/tech/grunt-js.js +260 -1
- package/icons/tech/gulp-js.js +14 -1
- package/icons/tech/hadoop.js +36 -1
- package/icons/tech/handlebars.js +9 -1
- package/icons/tech/hardhat.js +98 -1
- package/icons/tech/harvester.js +10 -1
- package/icons/tech/hashicorp-vault.js +12 -1
- package/icons/tech/haskell.js +10 -1
- package/icons/tech/haxe.js +17 -1
- package/icons/tech/helm.js +12 -1
- package/icons/tech/heroku.js +12 -1
- package/icons/tech/hibernate.js +15 -1
- package/icons/tech/homebrew.js +36 -1
- package/icons/tech/html5.js +23 -1
- package/icons/tech/hugo.js +22 -1
- package/icons/tech/ibm-spss-statistics.js +21 -1
- package/icons/tech/ie10.js +12 -1
- package/icons/tech/ifttt.js +6 -1
- package/icons/tech/influxdb.js +14 -1
- package/icons/tech/inkscape.js +573 -1
- package/icons/tech/insomnia.js +44 -1
- package/icons/tech/intellij-idea.js +92 -1
- package/icons/tech/ionic.js +9 -1
- package/icons/tech/jaeger.js +102 -1
- package/icons/tech/jamstack.js +12 -1
- package/icons/tech/jasmine.js +10 -1
- package/icons/tech/java.js +42 -1
- package/icons/tech/javascript.js +15 -1
- package/icons/tech/jeet.js +163 -1
- package/icons/tech/jekyll.js +232 -1
- package/icons/tech/jenkins.js +126 -1
- package/icons/tech/jest.js +12 -1
- package/icons/tech/jetbrains.js +118 -1
- package/icons/tech/jira-align.js +57 -1
- package/icons/tech/jira.js +62 -1
- package/icons/tech/jquery.js +12 -1
- package/icons/tech/json.js +57 -1
- package/icons/tech/jule.js +12 -1
- package/icons/tech/julia.js +49 -1
- package/icons/tech/junit.js +30 -1
- package/icons/tech/jupyter.js +35 -1
- package/icons/tech/k3os.js +6 -1
- package/icons/tech/k3s.js +12 -1
- package/icons/tech/kafka.js +12 -1
- package/icons/tech/kaggle.js +12 -1
- package/icons/tech/karate.js +15 -1
- package/icons/tech/karma.js +21 -1
- package/icons/tech/keras.js +15 -1
- package/icons/tech/kibana.js +10 -1
- package/icons/tech/knex-js.js +12 -1
- package/icons/tech/knockout.js +13 -1
- package/icons/tech/kotlin.js +25 -1
- package/icons/tech/krakenjs.js +14 -1
- package/icons/tech/ktor.js +48 -1
- package/icons/tech/kubernetes.js +10 -1
- package/icons/tech/labview.js +69 -1
- package/icons/tech/laravel.js +15 -1
- package/icons/tech/latex.js +12 -1
- package/icons/tech/less-js.js +14 -1
- package/icons/tech/linkedin.js +21 -1
- package/icons/tech/linux.js +5267 -1
- package/icons/tech/liquibase.js +12 -1
- package/icons/tech/livewire.js +79 -1
- package/icons/tech/llvm.js +36 -1
- package/icons/tech/logstash.js +10 -1
- package/icons/tech/lua.js +28 -1
- package/icons/tech/lumen.js +12 -1
- package/icons/tech/magento.js +12 -1
- package/icons/tech/markdown.js +44 -1
- package/icons/tech/material-ui.js +11 -1
- package/icons/tech/materialize.js +21 -1
- package/icons/tech/matlab.js +73 -1
- package/icons/tech/matplotlib.js +182 -1
- package/icons/tech/maven.js +620 -1
- package/icons/tech/meteor-js.js +12 -1
- package/icons/tech/microsoft-sql-server.js +6 -1
- package/icons/tech/minitab.js +45 -1
- package/icons/tech/mob-x.js +57 -1
- package/icons/tech/mocha.js +21 -1
- package/icons/tech/modx.js +18 -1
- package/icons/tech/moleculer.js +12 -1
- package/icons/tech/mongodb.js +135 -1
- package/icons/tech/mongoose-js.js +29 -1
- package/icons/tech/moodle.js +145 -1
- package/icons/tech/ms-dos.js +78 -1
- package/icons/tech/mysql.js +12 -1
- package/icons/tech/nano.js +12 -1
- package/icons/tech/nerog.js +136 -1
- package/icons/tech/nestjs.js +12 -1
- package/icons/tech/net-core.js +9 -1
- package/icons/tech/net.js +551 -1
- package/icons/tech/network-x.js +58 -1
- package/icons/tech/new4j.js +21 -1
- package/icons/tech/nextjs.js +6 -1
- package/icons/tech/nginx.js +12 -1
- package/icons/tech/nhibernate.js +21 -1
- package/icons/tech/nim.js +29 -1
- package/icons/tech/nimble.js +84 -1
- package/icons/tech/nix.js +25 -1
- package/icons/tech/nodejs.js +12 -1
- package/icons/tech/nodemon.js +21 -1
- package/icons/tech/nodewebkit.js +42 -1
- package/icons/tech/npm.js +12 -1
- package/icons/tech/nuget.js +12 -1
- package/icons/tech/num-py.js +29 -1
- package/icons/tech/nuxt-js.js +28 -1
- package/icons/tech/objective-c.js +9 -1
- package/icons/tech/ocaml.js +96 -1
- package/icons/tech/oh-my-zsh.js +38 -1
- package/icons/tech/okta.js +21 -1
- package/icons/tech/open-al.js +22 -1
- package/icons/tech/open-api.js +139 -1
- package/icons/tech/open-cl.js +42 -1
- package/icons/tech/open-cv.js +28 -1
- package/icons/tech/open-gl.js +35 -1
- package/icons/tech/open-stack.js +12 -1
- package/icons/tech/open-suse.js +15 -1
- package/icons/tech/open-telemetry.js +21 -1
- package/icons/tech/opera.js +32 -1
- package/icons/tech/oracle.js +12 -1
- package/icons/tech/p5js.js +12 -1
- package/icons/tech/packer.js +15 -1
- package/icons/tech/pandas.js +62 -1
- package/icons/tech/perl.js +21 -1
- package/icons/tech/pf-sense.js +6 -1
- package/icons/tech/phalcon.js +32 -1
- package/icons/tech/phoenix-framework.js +12 -1
- package/icons/tech/photon-engine.js +41 -1
- package/icons/tech/php-storm.js +105 -1
- package/icons/tech/php.js +62 -1
- package/icons/tech/playwrite.js +56 -1
- package/icons/tech/ploty.js +28 -1
- package/icons/tech/podman.js +150 -1
- package/icons/tech/polygon.js +15 -1
- package/icons/tech/portainer.js +12 -1
- package/icons/tech/postcss.js +28 -1
- package/icons/tech/postgresql.js +23 -1
- package/icons/tech/postman.js +28 -1
- package/icons/tech/powershell.js +79 -1
- package/icons/tech/processing.js +201 -1
- package/icons/tech/prometheus.js +12 -1
- package/icons/tech/protractor.js +12 -1
- package/icons/tech/purescript.js +16 -1
- package/icons/tech/putty.js +56 -1
- package/icons/tech/pycharm.js +81 -1
- package/icons/tech/pyscript.js +15 -1
- package/icons/tech/pytest.js +21 -1
- package/icons/tech/python-poetry.js +155 -1
- package/icons/tech/python.js +78 -1
- package/icons/tech/pytorch.js +15 -1
- package/icons/tech/qodana.js +52 -1
- package/icons/tech/qt.js +12 -1
- package/icons/tech/quarkus.js +23 -1
- package/icons/tech/quasar.js +15 -1
- package/icons/tech/qwik.js +37 -1
- package/icons/tech/r.js +57 -1
- package/icons/tech/rabbitmq.js +12 -1
- package/icons/tech/rancher.js +6 -1
- package/icons/tech/raspberrypi.js +28 -1
- package/icons/tech/reach.js +27 -1
- package/icons/tech/react-bootstrap.js +12 -1
- package/icons/tech/react.js +9 -1
- package/icons/tech/realm.js +63 -1
- package/icons/tech/red-cube-s-epic-compiler-thingy-programming-re-ct.js +17 -1
- package/icons/tech/redhat.js +22 -1
- package/icons/tech/redis.js +59 -1
- package/icons/tech/redux.js +12 -1
- package/icons/tech/ren-py.js +547 -1
- package/icons/tech/rider.js +38 -1
- package/icons/tech/robot-operating-system-ros.js +15 -1
- package/icons/tech/rocksdb.js +9 -1
- package/icons/tech/rollup-js.js +155 -1
- package/icons/tech/rspec.js +35 -1
- package/icons/tech/rstudio.js +30 -1
- package/icons/tech/ruby-mine.js +52 -1
- package/icons/tech/ruby-on-rails.js +14 -1
- package/icons/tech/ruby.js +359 -1
- package/icons/tech/rust.js +6 -1
- package/icons/tech/salesforce.js +28 -1
- package/icons/tech/sanity.js +22 -1
- package/icons/tech/sass.js +14 -1
- package/icons/tech/scala.js +21 -1
- package/icons/tech/scalingo.js +29 -1
- package/icons/tech/sdl.js +42 -1
- package/icons/tech/selenium.js +15 -1
- package/icons/tech/sema-software.js +15 -1
- package/icons/tech/sequelize.js +34 -1
- package/icons/tech/shopware.js +9 -1
- package/icons/tech/sketch.js +14 -1
- package/icons/tech/slack.js +35 -1
- package/icons/tech/socket-io.js +45 -1
- package/icons/tech/solid-js.js +121 -1
- package/icons/tech/solidity.js +13 -1
- package/icons/tech/sonarqube.js +12 -1
- package/icons/tech/sourcetree.js +12 -1
- package/icons/tech/spark.js +12 -1
- package/icons/tech/splunk.js +12 -1
- package/icons/tech/spring.js +12 -1
- package/icons/tech/sql-developer.js +43 -1
- package/icons/tech/sqlalchemy.js +21 -1
- package/icons/tech/sqlite.js +45 -1
- package/icons/tech/ssh.js +12 -1
- package/icons/tech/stackoverflow.js +15 -1
- package/icons/tech/stata.js +12 -1
- package/icons/tech/storybook.js +12 -1
- package/icons/tech/streamlit.js +31 -1
- package/icons/tech/stylus.js +9 -1
- package/icons/tech/subversion.js +12 -1
- package/icons/tech/svelte.js +23 -1
- package/icons/tech/swagger.js +21 -1
- package/icons/tech/swift.js +21 -1
- package/icons/tech/symfony.js +12 -1
- package/icons/tech/tailwind-css.js +12 -1
- package/icons/tech/tauri.js +35 -1
- package/icons/tech/tensorflow.js +12 -1
- package/icons/tech/terraform.js +16 -1
- package/icons/tech/tex.js +6 -1
- package/icons/tech/the-algorithms.js +12 -1
- package/icons/tech/three-js.js +139 -1
- package/icons/tech/titanium-sdk.js +12 -1
- package/icons/tech/tomcat.js +26 -1
- package/icons/tech/tortoise-git.js +37 -1
- package/icons/tech/tower.js +369 -1
- package/icons/tech/traefik-mesh.js +12 -1
- package/icons/tech/traefik-proxy.js +12 -1
- package/icons/tech/travis-ci.js +12 -1
- package/icons/tech/trello.js +12 -1
- package/icons/tech/twitter.js +12 -1
- package/icons/tech/typescript.js +16 -1
- package/icons/tech/typo3.js +12 -1
- package/icons/tech/ubuntu.js +12 -1
- package/icons/tech/uml.js +29 -1
- package/icons/tech/unity.js +22 -1
- package/icons/tech/unix.js +12 -1
- package/icons/tech/unreal-engine.js +9 -1
- package/icons/tech/uwsgi.js +38 -1
- package/icons/tech/v8.js +109 -1
- package/icons/tech/vagrant.js +21 -1
- package/icons/tech/vala.js +57 -1
- package/icons/tech/vercel.js +6 -1
- package/icons/tech/veutify.js +11 -1
- package/icons/tech/vim.js +82 -1
- package/icons/tech/visualstudio.js +12 -1
- package/icons/tech/vite.js +6 -1
- package/icons/tech/vitejs.js +56 -1
- package/icons/tech/vscode.js +114 -1
- package/icons/tech/vsphere.js +25 -1
- package/icons/tech/vue-storefront.js +22 -1
- package/icons/tech/vue.js +16 -1
- package/icons/tech/vyper.js +17 -1
- package/icons/tech/webassembly.js +12 -1
- package/icons/tech/webflow.js +12 -1
- package/icons/tech/weblate.js +80 -1
- package/icons/tech/webpack.js +21 -1
- package/icons/tech/webstorm.js +80 -1
- package/icons/tech/windows11.js +12 -1
- package/icons/tech/windows8.js +12 -1
- package/icons/tech/woo-commerce.js +22 -1
- package/icons/tech/wordpress.js +70 -1
- package/icons/tech/xamarin.js +12 -1
- package/icons/tech/xcode.js +623 -1
- package/icons/tech/xml.js +51 -1
- package/icons/tech/yaml.js +16 -1
- package/icons/tech/yarn.js +9 -1
- package/icons/tech/yii-framework.js +35 -1
- package/icons/tech/yuno-host.js +15 -1
- package/icons/tech/zend-framework.js +14 -1
- package/icons/tech/zig.js +28 -1
- package/package.json +42 -38
- package/react/index.d.mts +704 -308
- package/react/index.mjs +25 -25
- package/dist/shared/likec4.CY1x3B5z.mjs +0 -2199
package/__app__/src/main.js
CHANGED
|
@@ -5945,7 +5945,7 @@ const defaultProps$1y = {
|
|
|
5945
5945
|
{
|
|
5946
5946
|
...getStyles2("scrollbar"),
|
|
5947
5947
|
orientation: "horizontal",
|
|
5948
|
-
"data-hidden": type === "never" || !horizontalThumbVisible
|
|
5948
|
+
"data-hidden": type === "never" || offsetScrollbars === "present" && !horizontalThumbVisible ? !0 : void 0,
|
|
5949
5949
|
forceMount: !0,
|
|
5950
5950
|
onMouseEnter: () => setScrollbarHovered(!0),
|
|
5951
5951
|
onMouseLeave: () => setScrollbarHovered(!1),
|
|
@@ -5957,7 +5957,7 @@ const defaultProps$1y = {
|
|
|
5957
5957
|
{
|
|
5958
5958
|
...getStyles2("scrollbar"),
|
|
5959
5959
|
orientation: "vertical",
|
|
5960
|
-
"data-hidden": type === "never" || !verticalThumbVisible
|
|
5960
|
+
"data-hidden": type === "never" || offsetScrollbars === "present" && !verticalThumbVisible ? !0 : void 0,
|
|
5961
5961
|
forceMount: !0,
|
|
5962
5962
|
onMouseEnter: () => setScrollbarHovered(!0),
|
|
5963
5963
|
onMouseLeave: () => setScrollbarHovered(!1),
|
|
@@ -10433,6 +10433,14 @@ var commonjsGlobal = typeof globalThis < "u" ? globalThis : typeof window < "u"
|
|
|
10433
10433
|
function getDefaultExportFromCjs(x2) {
|
|
10434
10434
|
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2.default : x2;
|
|
10435
10435
|
}
|
|
10436
|
+
var useIsomorphicLayoutEffect_cjs = {}, hasRequiredUseIsomorphicLayoutEffect_cjs;
|
|
10437
|
+
function requireUseIsomorphicLayoutEffect_cjs() {
|
|
10438
|
+
return hasRequiredUseIsomorphicLayoutEffect_cjs || (hasRequiredUseIsomorphicLayoutEffect_cjs = 1, function(exports) {
|
|
10439
|
+
Object.defineProperty(exports, "__esModule", { value: !0 });
|
|
10440
|
+
var react = React__default, isClient = typeof document < "u", index2 = isClient ? react.useLayoutEffect : react.useEffect;
|
|
10441
|
+
exports.default = index2;
|
|
10442
|
+
}(useIsomorphicLayoutEffect_cjs)), useIsomorphicLayoutEffect_cjs;
|
|
10443
|
+
}
|
|
10436
10444
|
var classes$f = { root: "m_6e45937b", loader: "m_e8eb006c", overlay: "m_df587f17" };
|
|
10437
10445
|
const defaultProps$u = {
|
|
10438
10446
|
transitionProps: { transition: "fade", duration: 0 },
|
|
@@ -11705,7 +11713,7 @@ const defaultProps$c = {
|
|
|
11705
11713
|
});
|
|
11706
11714
|
useEffect(() => {
|
|
11707
11715
|
selectFirstOptionOnChange && combobox.selectFirstOption();
|
|
11708
|
-
}, [selectFirstOptionOnChange,
|
|
11716
|
+
}, [selectFirstOptionOnChange, search]), useEffect(() => {
|
|
11709
11717
|
value === null && handleSearchChange(""), typeof value == "string" && selectedOption && (previousSelectedOption?.value !== selectedOption.value || previousSelectedOption?.label !== selectedOption.label) && handleSearchChange(selectedOption.label);
|
|
11710
11718
|
}, [value, selectedOption]);
|
|
11711
11719
|
const clearButton = /* @__PURE__ */ jsx(
|
|
@@ -12161,7 +12169,11 @@ const defaultProps$a = {
|
|
|
12161
12169
|
defaultValue: typeof defaultValue == "number" ? clamp$4(defaultValue, min2, max2) : defaultValue,
|
|
12162
12170
|
finalValue: clamp$4(0, min2, max2),
|
|
12163
12171
|
onChange
|
|
12164
|
-
}), valueRef = useRef(_value),
|
|
12172
|
+
}), valueRef = useRef(_value), onChangeEndRef = useRef(onChangeEnd);
|
|
12173
|
+
useEffect(() => {
|
|
12174
|
+
onChangeEndRef.current = onChangeEnd;
|
|
12175
|
+
}, [onChangeEnd]);
|
|
12176
|
+
const root2 = useRef(null), thumb = useRef(null), position = getPosition({ value: _value, min: min2, max: max2 }), scaledValue = scale2(_value), _label = typeof label2 == "function" ? label2(scaledValue) : label2, precision = _precision ?? getPrecision(step), handleChange = useCallback(
|
|
12165
12177
|
({ x: x2 }) => {
|
|
12166
12178
|
if (!disabled) {
|
|
12167
12179
|
const nextValue = getChangeValue({
|
|
@@ -12180,86 +12192,88 @@ const defaultProps$a = {
|
|
|
12180
12192
|
}
|
|
12181
12193
|
},
|
|
12182
12194
|
[disabled, min2, max2, step, precision, setValue, marks, restrictToMarks]
|
|
12183
|
-
),
|
|
12184
|
-
|
|
12185
|
-
|
|
12186
|
-
|
|
12187
|
-
|
|
12188
|
-
|
|
12189
|
-
|
|
12190
|
-
|
|
12191
|
-
|
|
12192
|
-
|
|
12193
|
-
|
|
12195
|
+
), handleScrubEnd = useCallback(() => {
|
|
12196
|
+
if (!disabled && onChangeEndRef.current) {
|
|
12197
|
+
const finalValue = restrictToMarks && marks?.length ? findClosestNumber(
|
|
12198
|
+
valueRef.current,
|
|
12199
|
+
marks.map((mark) => mark.value)
|
|
12200
|
+
) : valueRef.current;
|
|
12201
|
+
onChangeEndRef.current(finalValue);
|
|
12202
|
+
}
|
|
12203
|
+
}, [disabled, marks, restrictToMarks]), { ref: container2, active } = useMove(handleChange, { onScrubEnd: handleScrubEnd }, dir), callOnChangeEnd = useCallback(
|
|
12204
|
+
(value2) => {
|
|
12205
|
+
!disabled && onChangeEndRef.current && onChangeEndRef.current(value2);
|
|
12206
|
+
},
|
|
12207
|
+
[disabled]
|
|
12194
12208
|
), handleTrackKeydownCapture = (event) => {
|
|
12195
12209
|
if (!disabled)
|
|
12196
12210
|
switch (event.key) {
|
|
12197
12211
|
case "ArrowUp": {
|
|
12198
12212
|
if (event.preventDefault(), thumb.current?.focus(), restrictToMarks && marks) {
|
|
12199
12213
|
const nextValue2 = getNextMarkValue(_value, marks);
|
|
12200
|
-
setValue(nextValue2),
|
|
12214
|
+
setValue(nextValue2), callOnChangeEnd(nextValue2);
|
|
12201
12215
|
break;
|
|
12202
12216
|
}
|
|
12203
12217
|
const nextValue = getFloatingValue(
|
|
12204
12218
|
Math.min(Math.max(_value + step, min2), max2),
|
|
12205
12219
|
precision
|
|
12206
12220
|
);
|
|
12207
|
-
setValue(nextValue),
|
|
12221
|
+
setValue(nextValue), callOnChangeEnd(nextValue);
|
|
12208
12222
|
break;
|
|
12209
12223
|
}
|
|
12210
12224
|
case "ArrowRight": {
|
|
12211
12225
|
if (event.preventDefault(), thumb.current?.focus(), restrictToMarks && marks) {
|
|
12212
12226
|
const nextValue2 = dir === "rtl" ? getPreviousMarkValue(_value, marks) : getNextMarkValue(_value, marks);
|
|
12213
|
-
setValue(nextValue2),
|
|
12227
|
+
setValue(nextValue2), callOnChangeEnd(nextValue2);
|
|
12214
12228
|
break;
|
|
12215
12229
|
}
|
|
12216
12230
|
const nextValue = getFloatingValue(
|
|
12217
12231
|
Math.min(Math.max(dir === "rtl" ? _value - step : _value + step, min2), max2),
|
|
12218
12232
|
precision
|
|
12219
12233
|
);
|
|
12220
|
-
setValue(nextValue),
|
|
12234
|
+
setValue(nextValue), callOnChangeEnd(nextValue);
|
|
12221
12235
|
break;
|
|
12222
12236
|
}
|
|
12223
12237
|
case "ArrowDown": {
|
|
12224
12238
|
if (event.preventDefault(), thumb.current?.focus(), restrictToMarks && marks) {
|
|
12225
12239
|
const nextValue2 = getPreviousMarkValue(_value, marks);
|
|
12226
|
-
setValue(nextValue2),
|
|
12240
|
+
setValue(nextValue2), callOnChangeEnd(nextValue2);
|
|
12227
12241
|
break;
|
|
12228
12242
|
}
|
|
12229
12243
|
const nextValue = getFloatingValue(
|
|
12230
12244
|
Math.min(Math.max(_value - step, min2), max2),
|
|
12231
12245
|
precision
|
|
12232
12246
|
);
|
|
12233
|
-
setValue(nextValue),
|
|
12247
|
+
setValue(nextValue), callOnChangeEnd(nextValue);
|
|
12234
12248
|
break;
|
|
12235
12249
|
}
|
|
12236
12250
|
case "ArrowLeft": {
|
|
12237
12251
|
if (event.preventDefault(), thumb.current?.focus(), restrictToMarks && marks) {
|
|
12238
12252
|
const nextValue2 = dir === "rtl" ? getNextMarkValue(_value, marks) : getPreviousMarkValue(_value, marks);
|
|
12239
|
-
setValue(nextValue2),
|
|
12253
|
+
setValue(nextValue2), callOnChangeEnd(nextValue2);
|
|
12240
12254
|
break;
|
|
12241
12255
|
}
|
|
12242
12256
|
const nextValue = getFloatingValue(
|
|
12243
12257
|
Math.min(Math.max(dir === "rtl" ? _value + step : _value - step, min2), max2),
|
|
12244
12258
|
precision
|
|
12245
12259
|
);
|
|
12246
|
-
setValue(nextValue),
|
|
12260
|
+
setValue(nextValue), callOnChangeEnd(nextValue);
|
|
12247
12261
|
break;
|
|
12248
12262
|
}
|
|
12249
12263
|
case "Home": {
|
|
12250
12264
|
if (event.preventDefault(), thumb.current?.focus(), restrictToMarks && marks) {
|
|
12251
|
-
setValue(getFirstMarkValue(marks)),
|
|
12265
|
+
setValue(getFirstMarkValue(marks)), callOnChangeEnd(getFirstMarkValue(marks));
|
|
12252
12266
|
break;
|
|
12253
12267
|
}
|
|
12254
|
-
setValue(min2),
|
|
12268
|
+
setValue(min2), callOnChangeEnd(min2);
|
|
12255
12269
|
break;
|
|
12256
12270
|
}
|
|
12257
12271
|
case "End": {
|
|
12258
12272
|
if (event.preventDefault(), thumb.current?.focus(), restrictToMarks && marks) {
|
|
12259
|
-
setValue(getLastMarkValue(marks)),
|
|
12273
|
+
setValue(getLastMarkValue(marks)), callOnChangeEnd(getLastMarkValue(marks));
|
|
12260
12274
|
break;
|
|
12261
12275
|
}
|
|
12262
|
-
setValue(max2),
|
|
12276
|
+
setValue(max2), callOnChangeEnd(max2);
|
|
12263
12277
|
break;
|
|
12264
12278
|
}
|
|
12265
12279
|
}
|
|
@@ -12969,7 +12983,7 @@ function useTree({
|
|
|
12969
12983
|
onNodeCollapse,
|
|
12970
12984
|
onNodeExpand
|
|
12971
12985
|
} = {}) {
|
|
12972
|
-
const [data, setData] = useState([]), [expandedState, setExpandedState] = useState(initialExpandedState), [selectedState, setSelectedState] = useState(initialSelectedState), [checkedState, setCheckedState] = useState(initialCheckedState), [anchorNode, setAnchorNode] = useState(null), [hoveredNode,
|
|
12986
|
+
const [data, setData] = useState([]), [expandedState, setExpandedState] = useState(initialExpandedState), [selectedState, setSelectedState] = useState(initialSelectedState), [checkedState, setCheckedState] = useState(initialCheckedState), [anchorNode, setAnchorNode] = useState(null), [hoveredNode, setHoveredNode2] = useState(null), initialize = useCallback(
|
|
12973
12987
|
(_data) => {
|
|
12974
12988
|
setExpandedState((current) => getInitialTreeExpandedState(current, _data, selectedState)), setCheckedState((current) => getInitialCheckedState(current, _data)), setData(_data);
|
|
12975
12989
|
},
|
|
@@ -13058,7 +13072,7 @@ function useTree({
|
|
|
13058
13072
|
clearSelected,
|
|
13059
13073
|
setSelectedState,
|
|
13060
13074
|
hoveredNode,
|
|
13061
|
-
setHoveredNode,
|
|
13075
|
+
setHoveredNode: setHoveredNode2,
|
|
13062
13076
|
getCheckedNodes: () => getAllCheckedNodes(data, checkedState).result,
|
|
13063
13077
|
isNodeChecked: (value) => memoizedIsNodeChecked(value, data, checkedState),
|
|
13064
13078
|
isNodeIndeterminate: (value) => memoizedIsNodeIndeterminate(value, data, checkedState)
|
|
@@ -17001,201 +17015,11 @@ const AnimatePresence = ({ children: children2, custom: custom5, initial = !0, o
|
|
|
17001
17015
|
return jsx(PresenceChild, { isPresent, initial: !isInitialRender.current || initial ? void 0 : !1, custom: custom5, presenceAffectsLayout, mode, onExitComplete: isPresent ? void 0 : onExit, anchorX, children: child }, key2);
|
|
17002
17016
|
}) });
|
|
17003
17017
|
}, DeprecatedLayoutGroupContext = createContext(null);
|
|
17004
|
-
|
|
17005
|
-
arr.indexOf(item) === -1 && arr.push(item);
|
|
17006
|
-
}
|
|
17007
|
-
function removeItem(arr, item) {
|
|
17008
|
-
const index2 = arr.indexOf(item);
|
|
17009
|
-
index2 > -1 && arr.splice(index2, 1);
|
|
17010
|
-
}
|
|
17011
|
-
const noop$3 = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
|
|
17012
|
-
let invariant = noop$3;
|
|
17013
|
-
const MotionGlobalConfig = {
|
|
17014
|
-
useManualTiming: !1
|
|
17015
|
-
};
|
|
17016
|
-
// @__NO_SIDE_EFFECTS__
|
|
17017
|
-
function memo(callback) {
|
|
17018
|
-
let result;
|
|
17019
|
-
return () => (result === void 0 && (result = callback()), result);
|
|
17020
|
-
}
|
|
17021
|
-
const progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
|
|
17022
|
-
const toFromDifference = to - from;
|
|
17023
|
-
return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
|
|
17024
|
-
};
|
|
17025
|
-
class SubscriptionManager {
|
|
17026
|
-
constructor() {
|
|
17027
|
-
this.subscriptions = [];
|
|
17028
|
-
}
|
|
17029
|
-
add(handler) {
|
|
17030
|
-
return addUniqueItem(this.subscriptions, handler), () => removeItem(this.subscriptions, handler);
|
|
17031
|
-
}
|
|
17032
|
-
notify(a2, b2, c2) {
|
|
17033
|
-
const numSubscriptions = this.subscriptions.length;
|
|
17034
|
-
if (numSubscriptions)
|
|
17035
|
-
if (numSubscriptions === 1)
|
|
17036
|
-
this.subscriptions[0](a2, b2, c2);
|
|
17037
|
-
else
|
|
17038
|
-
for (let i2 = 0; i2 < numSubscriptions; i2++) {
|
|
17039
|
-
const handler = this.subscriptions[i2];
|
|
17040
|
-
handler && handler(a2, b2, c2);
|
|
17041
|
-
}
|
|
17042
|
-
}
|
|
17043
|
-
getSize() {
|
|
17044
|
-
return this.subscriptions.length;
|
|
17045
|
-
}
|
|
17046
|
-
clear() {
|
|
17047
|
-
this.subscriptions.length = 0;
|
|
17048
|
-
}
|
|
17049
|
-
}
|
|
17050
|
-
const secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3, millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
|
|
17051
|
-
function velocityPerSecond(velocity, frameDuration) {
|
|
17052
|
-
return frameDuration ? velocity * (1e3 / frameDuration) : 0;
|
|
17053
|
-
}
|
|
17054
|
-
const supportsScrollTimeline = /* @__PURE__ */ memo(() => window.ScrollTimeline !== void 0);
|
|
17055
|
-
class BaseGroupPlaybackControls {
|
|
17056
|
-
constructor(animations2) {
|
|
17057
|
-
this.stop = () => this.runAll("stop"), this.animations = animations2.filter(Boolean);
|
|
17058
|
-
}
|
|
17059
|
-
get finished() {
|
|
17060
|
-
return Promise.all(this.animations.map((animation) => "finished" in animation ? animation.finished : animation));
|
|
17061
|
-
}
|
|
17062
|
-
/**
|
|
17063
|
-
* TODO: Filter out cancelled or stopped animations before returning
|
|
17064
|
-
*/
|
|
17065
|
-
getAll(propName) {
|
|
17066
|
-
return this.animations[0][propName];
|
|
17067
|
-
}
|
|
17068
|
-
setAll(propName, newValue) {
|
|
17069
|
-
for (let i2 = 0; i2 < this.animations.length; i2++)
|
|
17070
|
-
this.animations[i2][propName] = newValue;
|
|
17071
|
-
}
|
|
17072
|
-
attachTimeline(timeline, fallback) {
|
|
17073
|
-
const subscriptions = this.animations.map((animation) => {
|
|
17074
|
-
if (supportsScrollTimeline() && animation.attachTimeline)
|
|
17075
|
-
return animation.attachTimeline(timeline);
|
|
17076
|
-
if (typeof fallback == "function")
|
|
17077
|
-
return fallback(animation);
|
|
17078
|
-
});
|
|
17079
|
-
return () => {
|
|
17080
|
-
subscriptions.forEach((cancel, i2) => {
|
|
17081
|
-
cancel && cancel(), this.animations[i2].stop();
|
|
17082
|
-
});
|
|
17083
|
-
};
|
|
17084
|
-
}
|
|
17085
|
-
get time() {
|
|
17086
|
-
return this.getAll("time");
|
|
17087
|
-
}
|
|
17088
|
-
set time(time2) {
|
|
17089
|
-
this.setAll("time", time2);
|
|
17090
|
-
}
|
|
17091
|
-
get speed() {
|
|
17092
|
-
return this.getAll("speed");
|
|
17093
|
-
}
|
|
17094
|
-
set speed(speed) {
|
|
17095
|
-
this.setAll("speed", speed);
|
|
17096
|
-
}
|
|
17097
|
-
get startTime() {
|
|
17098
|
-
return this.getAll("startTime");
|
|
17099
|
-
}
|
|
17100
|
-
get duration() {
|
|
17101
|
-
let max2 = 0;
|
|
17102
|
-
for (let i2 = 0; i2 < this.animations.length; i2++)
|
|
17103
|
-
max2 = Math.max(max2, this.animations[i2].duration);
|
|
17104
|
-
return max2;
|
|
17105
|
-
}
|
|
17106
|
-
runAll(methodName) {
|
|
17107
|
-
this.animations.forEach((controls) => controls[methodName]());
|
|
17108
|
-
}
|
|
17109
|
-
flatten() {
|
|
17110
|
-
this.runAll("flatten");
|
|
17111
|
-
}
|
|
17112
|
-
play() {
|
|
17113
|
-
this.runAll("play");
|
|
17114
|
-
}
|
|
17115
|
-
pause() {
|
|
17116
|
-
this.runAll("pause");
|
|
17117
|
-
}
|
|
17118
|
-
cancel() {
|
|
17119
|
-
this.runAll("cancel");
|
|
17120
|
-
}
|
|
17121
|
-
complete() {
|
|
17122
|
-
this.runAll("complete");
|
|
17123
|
-
}
|
|
17124
|
-
}
|
|
17125
|
-
class GroupPlaybackControls extends BaseGroupPlaybackControls {
|
|
17126
|
-
then(onResolve, onReject) {
|
|
17127
|
-
return Promise.all(this.animations).then(onResolve).catch(onReject);
|
|
17128
|
-
}
|
|
17129
|
-
}
|
|
17130
|
-
function getValueTransition$1(transition, key2) {
|
|
17131
|
-
return transition ? transition[key2] || transition.default || transition : void 0;
|
|
17132
|
-
}
|
|
17133
|
-
const maxGeneratorDuration = 2e4;
|
|
17134
|
-
function calcGeneratorDuration(generator) {
|
|
17135
|
-
let duration = 0;
|
|
17136
|
-
const timeStep = 50;
|
|
17137
|
-
let state = generator.next(duration);
|
|
17138
|
-
for (; !state.done && duration < maxGeneratorDuration; )
|
|
17139
|
-
duration += timeStep, state = generator.next(duration);
|
|
17140
|
-
return duration >= maxGeneratorDuration ? 1 / 0 : duration;
|
|
17141
|
-
}
|
|
17142
|
-
function createGeneratorEasing(options, scale2 = 100, createGenerator) {
|
|
17143
|
-
const generator = createGenerator({ ...options, keyframes: [0, scale2] }), duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
|
|
17144
|
-
return {
|
|
17145
|
-
type: "keyframes",
|
|
17146
|
-
ease: (progress2) => generator.next(duration * progress2).value / scale2,
|
|
17147
|
-
duration: /* @__PURE__ */ millisecondsToSeconds(duration)
|
|
17148
|
-
};
|
|
17149
|
-
}
|
|
17150
|
-
function isGenerator(type) {
|
|
17151
|
-
return typeof type == "function";
|
|
17152
|
-
}
|
|
17153
|
-
function attachTimeline(animation, timeline) {
|
|
17154
|
-
animation.timeline = timeline, animation.onfinish = null;
|
|
17155
|
-
}
|
|
17156
|
-
const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] == "number", supportsFlags = {
|
|
17157
|
-
linearEasing: void 0
|
|
17158
|
-
};
|
|
17159
|
-
function memoSupports(callback, supportsFlag) {
|
|
17160
|
-
const memoized = /* @__PURE__ */ memo(callback);
|
|
17161
|
-
return () => {
|
|
17162
|
-
var _a;
|
|
17163
|
-
return (_a = supportsFlags[supportsFlag]) !== null && _a !== void 0 ? _a : memoized();
|
|
17164
|
-
};
|
|
17165
|
-
}
|
|
17166
|
-
const supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
|
|
17167
|
-
try {
|
|
17168
|
-
document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
|
|
17169
|
-
} catch {
|
|
17170
|
-
return !1;
|
|
17171
|
-
}
|
|
17172
|
-
return !0;
|
|
17173
|
-
}, "linearEasing"), generateLinearEasing = (easing, duration, resolution = 10) => {
|
|
17174
|
-
let points = "";
|
|
17175
|
-
const numPoints = Math.max(Math.round(duration / resolution), 2);
|
|
17176
|
-
for (let i2 = 0; i2 < numPoints; i2++)
|
|
17177
|
-
points += easing(/* @__PURE__ */ progress(0, numPoints - 1, i2)) + ", ";
|
|
17178
|
-
return `linear(${points.substring(0, points.length - 2)})`;
|
|
17179
|
-
};
|
|
17180
|
-
function isWaapiSupportedEasing(easing) {
|
|
17181
|
-
return !!(typeof easing == "function" && supportsLinearEasing() || !easing || typeof easing == "string" && (easing in supportedWaapiEasing || supportsLinearEasing()) || isBezierDefinition(easing) || Array.isArray(easing) && easing.every(isWaapiSupportedEasing));
|
|
17182
|
-
}
|
|
17183
|
-
const cubicBezierAsString = ([a2, b2, c2, d2]) => `cubic-bezier(${a2}, ${b2}, ${c2}, ${d2})`, supportedWaapiEasing = {
|
|
17184
|
-
linear: "linear",
|
|
17185
|
-
ease: "ease",
|
|
17186
|
-
easeIn: "ease-in",
|
|
17187
|
-
easeOut: "ease-out",
|
|
17188
|
-
easeInOut: "ease-in-out",
|
|
17189
|
-
circIn: /* @__PURE__ */ cubicBezierAsString([0, 0.65, 0.55, 1]),
|
|
17190
|
-
circOut: /* @__PURE__ */ cubicBezierAsString([0.55, 0, 1, 0.45]),
|
|
17191
|
-
backIn: /* @__PURE__ */ cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),
|
|
17192
|
-
backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
|
|
17018
|
+
let invariant = () => {
|
|
17193
17019
|
};
|
|
17194
|
-
|
|
17195
|
-
|
|
17196
|
-
|
|
17197
|
-
}
|
|
17198
|
-
const stepsOrder = [
|
|
17020
|
+
const noop$3 = /* @__NO_SIDE_EFFECTS__ */ (any) => any, MotionGlobalConfig = {
|
|
17021
|
+
useManualTiming: !1
|
|
17022
|
+
}, stepsOrder = [
|
|
17199
17023
|
"read",
|
|
17200
17024
|
// Read
|
|
17201
17025
|
"resolveKeyframes",
|
|
@@ -17268,316 +17092,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
|
|
|
17268
17092
|
steps[stepsOrder[i2]].cancel(process2);
|
|
17269
17093
|
}, state, steps };
|
|
17270
17094
|
}
|
|
17271
|
-
const { schedule: frame$1, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame < "u" ? requestAnimationFrame : noop$3, !0)
|
|
17272
|
-
let now$1;
|
|
17273
|
-
function clearTime() {
|
|
17274
|
-
now$1 = void 0;
|
|
17275
|
-
}
|
|
17276
|
-
const time = {
|
|
17277
|
-
now: () => (now$1 === void 0 && time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming ? frameData.timestamp : performance.now()), now$1),
|
|
17278
|
-
set: (newTime) => {
|
|
17279
|
-
now$1 = newTime, queueMicrotask(clearTime);
|
|
17280
|
-
}
|
|
17281
|
-
}, isDragging = {
|
|
17282
|
-
x: !1,
|
|
17283
|
-
y: !1
|
|
17284
|
-
};
|
|
17285
|
-
function isDragActive() {
|
|
17286
|
-
return isDragging.x || isDragging.y;
|
|
17287
|
-
}
|
|
17288
|
-
function setDragLock(axis) {
|
|
17289
|
-
return axis === "x" || axis === "y" ? isDragging[axis] ? null : (isDragging[axis] = !0, () => {
|
|
17290
|
-
isDragging[axis] = !1;
|
|
17291
|
-
}) : isDragging.x || isDragging.y ? null : (isDragging.x = isDragging.y = !0, () => {
|
|
17292
|
-
isDragging.x = isDragging.y = !1;
|
|
17293
|
-
});
|
|
17294
|
-
}
|
|
17295
|
-
function resolveElements(elementOrSelector, scope, selectorCache) {
|
|
17296
|
-
var _a;
|
|
17297
|
-
if (elementOrSelector instanceof EventTarget)
|
|
17298
|
-
return [elementOrSelector];
|
|
17299
|
-
if (typeof elementOrSelector == "string") {
|
|
17300
|
-
let root2 = document;
|
|
17301
|
-
const elements = (_a = selectorCache?.[elementOrSelector]) !== null && _a !== void 0 ? _a : root2.querySelectorAll(elementOrSelector);
|
|
17302
|
-
return elements ? Array.from(elements) : [];
|
|
17303
|
-
}
|
|
17304
|
-
return Array.from(elementOrSelector);
|
|
17305
|
-
}
|
|
17306
|
-
function setupGesture(elementOrSelector, options) {
|
|
17307
|
-
const elements = resolveElements(elementOrSelector), gestureAbortController = new AbortController(), eventOptions = {
|
|
17308
|
-
passive: !0,
|
|
17309
|
-
...options,
|
|
17310
|
-
signal: gestureAbortController.signal
|
|
17311
|
-
};
|
|
17312
|
-
return [elements, eventOptions, () => gestureAbortController.abort()];
|
|
17313
|
-
}
|
|
17314
|
-
function isValidHover(event) {
|
|
17315
|
-
return !(event.pointerType === "touch" || isDragActive());
|
|
17316
|
-
}
|
|
17317
|
-
function hover(elementOrSelector, onHoverStart, options = {}) {
|
|
17318
|
-
const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options), onPointerEnter = (enterEvent) => {
|
|
17319
|
-
if (!isValidHover(enterEvent))
|
|
17320
|
-
return;
|
|
17321
|
-
const { target } = enterEvent, onHoverEnd = onHoverStart(target, enterEvent);
|
|
17322
|
-
if (typeof onHoverEnd != "function" || !target)
|
|
17323
|
-
return;
|
|
17324
|
-
const onPointerLeave = (leaveEvent) => {
|
|
17325
|
-
isValidHover(leaveEvent) && (onHoverEnd(leaveEvent), target.removeEventListener("pointerleave", onPointerLeave));
|
|
17326
|
-
};
|
|
17327
|
-
target.addEventListener("pointerleave", onPointerLeave, eventOptions);
|
|
17328
|
-
};
|
|
17329
|
-
return elements.forEach((element) => {
|
|
17330
|
-
element.addEventListener("pointerenter", onPointerEnter, eventOptions);
|
|
17331
|
-
}), cancel;
|
|
17332
|
-
}
|
|
17333
|
-
const isNodeOrChild = (parent, child) => child ? parent === child ? !0 : isNodeOrChild(parent, child.parentElement) : !1, isPrimaryPointer = (event) => event.pointerType === "mouse" ? typeof event.button != "number" || event.button <= 0 : event.isPrimary !== !1, focusableElements = /* @__PURE__ */ new Set([
|
|
17334
|
-
"BUTTON",
|
|
17335
|
-
"INPUT",
|
|
17336
|
-
"SELECT",
|
|
17337
|
-
"TEXTAREA",
|
|
17338
|
-
"A"
|
|
17339
|
-
]);
|
|
17340
|
-
function isElementKeyboardAccessible(element) {
|
|
17341
|
-
return focusableElements.has(element.tagName) || element.tabIndex !== -1;
|
|
17342
|
-
}
|
|
17343
|
-
const isPressing = /* @__PURE__ */ new WeakSet();
|
|
17344
|
-
function filterEvents(callback) {
|
|
17345
|
-
return (event) => {
|
|
17346
|
-
event.key === "Enter" && callback(event);
|
|
17347
|
-
};
|
|
17348
|
-
}
|
|
17349
|
-
function firePointerEvent(target, type) {
|
|
17350
|
-
target.dispatchEvent(new PointerEvent("pointer" + type, { isPrimary: !0, bubbles: !0 }));
|
|
17351
|
-
}
|
|
17352
|
-
const enableKeyboardPress = (focusEvent, eventOptions) => {
|
|
17353
|
-
const element = focusEvent.currentTarget;
|
|
17354
|
-
if (!element)
|
|
17355
|
-
return;
|
|
17356
|
-
const handleKeydown = filterEvents(() => {
|
|
17357
|
-
if (isPressing.has(element))
|
|
17358
|
-
return;
|
|
17359
|
-
firePointerEvent(element, "down");
|
|
17360
|
-
const handleKeyup = filterEvents(() => {
|
|
17361
|
-
firePointerEvent(element, "up");
|
|
17362
|
-
}), handleBlur = () => firePointerEvent(element, "cancel");
|
|
17363
|
-
element.addEventListener("keyup", handleKeyup, eventOptions), element.addEventListener("blur", handleBlur, eventOptions);
|
|
17364
|
-
});
|
|
17365
|
-
element.addEventListener("keydown", handleKeydown, eventOptions), element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
|
|
17366
|
-
};
|
|
17367
|
-
function isValidPressEvent(event) {
|
|
17368
|
-
return isPrimaryPointer(event) && !isDragActive();
|
|
17369
|
-
}
|
|
17370
|
-
function press(targetOrSelector, onPressStart, options = {}) {
|
|
17371
|
-
const [targets, eventOptions, cancelEvents] = setupGesture(targetOrSelector, options), startPress = (startEvent) => {
|
|
17372
|
-
const target = startEvent.currentTarget;
|
|
17373
|
-
if (!isValidPressEvent(startEvent) || isPressing.has(target))
|
|
17374
|
-
return;
|
|
17375
|
-
isPressing.add(target);
|
|
17376
|
-
const onPressEnd = onPressStart(target, startEvent), onPointerEnd = (endEvent, success) => {
|
|
17377
|
-
window.removeEventListener("pointerup", onPointerUp), window.removeEventListener("pointercancel", onPointerCancel), !(!isValidPressEvent(endEvent) || !isPressing.has(target)) && (isPressing.delete(target), typeof onPressEnd == "function" && onPressEnd(endEvent, { success }));
|
|
17378
|
-
}, onPointerUp = (upEvent) => {
|
|
17379
|
-
onPointerEnd(upEvent, target === window || target === document || options.useGlobalTarget || isNodeOrChild(target, upEvent.target));
|
|
17380
|
-
}, onPointerCancel = (cancelEvent) => {
|
|
17381
|
-
onPointerEnd(cancelEvent, !1);
|
|
17382
|
-
};
|
|
17383
|
-
window.addEventListener("pointerup", onPointerUp, eventOptions), window.addEventListener("pointercancel", onPointerCancel, eventOptions);
|
|
17384
|
-
};
|
|
17385
|
-
return targets.forEach((target) => {
|
|
17386
|
-
(options.useGlobalTarget ? window : target).addEventListener("pointerdown", startPress, eventOptions), target instanceof HTMLElement && (target.addEventListener("focus", (event) => enableKeyboardPress(event, eventOptions)), !isElementKeyboardAccessible(target) && target.tabIndex === null && (target.tabIndex = 0));
|
|
17387
|
-
}), cancelEvents;
|
|
17388
|
-
}
|
|
17389
|
-
const MAX_VELOCITY_DELTA = 30, isFloat = (value) => !isNaN(parseFloat(value));
|
|
17390
|
-
class MotionValue {
|
|
17391
|
-
/**
|
|
17392
|
-
* @param init - The initiating value
|
|
17393
|
-
* @param config - Optional configuration options
|
|
17394
|
-
*
|
|
17395
|
-
* - `transformer`: A function to transform incoming values with.
|
|
17396
|
-
*/
|
|
17397
|
-
constructor(init2, options = {}) {
|
|
17398
|
-
this.version = "12.6.1", this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (v, render = !0) => {
|
|
17399
|
-
const currentTime = time.now();
|
|
17400
|
-
this.updatedAt !== currentTime && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(v), this.current !== this.prev && this.events.change && this.events.change.notify(this.current), render && this.events.renderRequest && this.events.renderRequest.notify(this.current);
|
|
17401
|
-
}, this.hasAnimated = !1, this.setCurrent(init2), this.owner = options.owner;
|
|
17402
|
-
}
|
|
17403
|
-
setCurrent(current) {
|
|
17404
|
-
this.current = current, this.updatedAt = time.now(), this.canTrackVelocity === null && current !== void 0 && (this.canTrackVelocity = isFloat(this.current));
|
|
17405
|
-
}
|
|
17406
|
-
setPrevFrameValue(prevFrameValue = this.current) {
|
|
17407
|
-
this.prevFrameValue = prevFrameValue, this.prevUpdatedAt = this.updatedAt;
|
|
17408
|
-
}
|
|
17409
|
-
/**
|
|
17410
|
-
* Adds a function that will be notified when the `MotionValue` is updated.
|
|
17411
|
-
*
|
|
17412
|
-
* It returns a function that, when called, will cancel the subscription.
|
|
17413
|
-
*
|
|
17414
|
-
* When calling `onChange` inside a React component, it should be wrapped with the
|
|
17415
|
-
* `useEffect` hook. As it returns an unsubscribe function, this should be returned
|
|
17416
|
-
* from the `useEffect` function to ensure you don't add duplicate subscribers..
|
|
17417
|
-
*
|
|
17418
|
-
* ```jsx
|
|
17419
|
-
* export const MyComponent = () => {
|
|
17420
|
-
* const x = useMotionValue(0)
|
|
17421
|
-
* const y = useMotionValue(0)
|
|
17422
|
-
* const opacity = useMotionValue(1)
|
|
17423
|
-
*
|
|
17424
|
-
* useEffect(() => {
|
|
17425
|
-
* function updateOpacity() {
|
|
17426
|
-
* const maxXY = Math.max(x.get(), y.get())
|
|
17427
|
-
* const newOpacity = transform(maxXY, [0, 100], [1, 0])
|
|
17428
|
-
* opacity.set(newOpacity)
|
|
17429
|
-
* }
|
|
17430
|
-
*
|
|
17431
|
-
* const unsubscribeX = x.on("change", updateOpacity)
|
|
17432
|
-
* const unsubscribeY = y.on("change", updateOpacity)
|
|
17433
|
-
*
|
|
17434
|
-
* return () => {
|
|
17435
|
-
* unsubscribeX()
|
|
17436
|
-
* unsubscribeY()
|
|
17437
|
-
* }
|
|
17438
|
-
* }, [])
|
|
17439
|
-
*
|
|
17440
|
-
* return <motion.div style={{ x }} />
|
|
17441
|
-
* }
|
|
17442
|
-
* ```
|
|
17443
|
-
*
|
|
17444
|
-
* @param subscriber - A function that receives the latest value.
|
|
17445
|
-
* @returns A function that, when called, will cancel this subscription.
|
|
17446
|
-
*
|
|
17447
|
-
* @deprecated
|
|
17448
|
-
*/
|
|
17449
|
-
onChange(subscription) {
|
|
17450
|
-
return this.on("change", subscription);
|
|
17451
|
-
}
|
|
17452
|
-
on(eventName, callback) {
|
|
17453
|
-
this.events[eventName] || (this.events[eventName] = new SubscriptionManager());
|
|
17454
|
-
const unsubscribe = this.events[eventName].add(callback);
|
|
17455
|
-
return eventName === "change" ? () => {
|
|
17456
|
-
unsubscribe(), frame$1.read(() => {
|
|
17457
|
-
this.events.change.getSize() || this.stop();
|
|
17458
|
-
});
|
|
17459
|
-
} : unsubscribe;
|
|
17460
|
-
}
|
|
17461
|
-
clearListeners() {
|
|
17462
|
-
for (const eventManagers in this.events)
|
|
17463
|
-
this.events[eventManagers].clear();
|
|
17464
|
-
}
|
|
17465
|
-
/**
|
|
17466
|
-
* Attaches a passive effect to the `MotionValue`.
|
|
17467
|
-
*/
|
|
17468
|
-
attach(passiveEffect, stopPassiveEffect) {
|
|
17469
|
-
this.passiveEffect = passiveEffect, this.stopPassiveEffect = stopPassiveEffect;
|
|
17470
|
-
}
|
|
17471
|
-
/**
|
|
17472
|
-
* Sets the state of the `MotionValue`.
|
|
17473
|
-
*
|
|
17474
|
-
* @remarks
|
|
17475
|
-
*
|
|
17476
|
-
* ```jsx
|
|
17477
|
-
* const x = useMotionValue(0)
|
|
17478
|
-
* x.set(10)
|
|
17479
|
-
* ```
|
|
17480
|
-
*
|
|
17481
|
-
* @param latest - Latest value to set.
|
|
17482
|
-
* @param render - Whether to notify render subscribers. Defaults to `true`
|
|
17483
|
-
*
|
|
17484
|
-
* @public
|
|
17485
|
-
*/
|
|
17486
|
-
set(v, render = !0) {
|
|
17487
|
-
!render || !this.passiveEffect ? this.updateAndNotify(v, render) : this.passiveEffect(v, this.updateAndNotify);
|
|
17488
|
-
}
|
|
17489
|
-
setWithVelocity(prev, current, delta) {
|
|
17490
|
-
this.set(current), this.prev = void 0, this.prevFrameValue = prev, this.prevUpdatedAt = this.updatedAt - delta;
|
|
17491
|
-
}
|
|
17492
|
-
/**
|
|
17493
|
-
* Set the state of the `MotionValue`, stopping any active animations,
|
|
17494
|
-
* effects, and resets velocity to `0`.
|
|
17495
|
-
*/
|
|
17496
|
-
jump(v, endAnimation = !0) {
|
|
17497
|
-
this.updateAndNotify(v), this.prev = v, this.prevUpdatedAt = this.prevFrameValue = void 0, endAnimation && this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
|
|
17498
|
-
}
|
|
17499
|
-
/**
|
|
17500
|
-
* Returns the latest state of `MotionValue`
|
|
17501
|
-
*
|
|
17502
|
-
* @returns - The latest state of `MotionValue`
|
|
17503
|
-
*
|
|
17504
|
-
* @public
|
|
17505
|
-
*/
|
|
17506
|
-
get() {
|
|
17507
|
-
return this.current;
|
|
17508
|
-
}
|
|
17509
|
-
/**
|
|
17510
|
-
* @public
|
|
17511
|
-
*/
|
|
17512
|
-
getPrevious() {
|
|
17513
|
-
return this.prev;
|
|
17514
|
-
}
|
|
17515
|
-
/**
|
|
17516
|
-
* Returns the latest velocity of `MotionValue`
|
|
17517
|
-
*
|
|
17518
|
-
* @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.
|
|
17519
|
-
*
|
|
17520
|
-
* @public
|
|
17521
|
-
*/
|
|
17522
|
-
getVelocity() {
|
|
17523
|
-
const currentTime = time.now();
|
|
17524
|
-
if (!this.canTrackVelocity || this.prevFrameValue === void 0 || currentTime - this.updatedAt > MAX_VELOCITY_DELTA)
|
|
17525
|
-
return 0;
|
|
17526
|
-
const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA);
|
|
17527
|
-
return velocityPerSecond(parseFloat(this.current) - parseFloat(this.prevFrameValue), delta);
|
|
17528
|
-
}
|
|
17529
|
-
/**
|
|
17530
|
-
* Registers a new animation to control this `MotionValue`. Only one
|
|
17531
|
-
* animation can drive a `MotionValue` at one time.
|
|
17532
|
-
*
|
|
17533
|
-
* ```jsx
|
|
17534
|
-
* value.start()
|
|
17535
|
-
* ```
|
|
17536
|
-
*
|
|
17537
|
-
* @param animation - A function that starts the provided animation
|
|
17538
|
-
*/
|
|
17539
|
-
start(startAnimation) {
|
|
17540
|
-
return this.stop(), new Promise((resolve) => {
|
|
17541
|
-
this.hasAnimated = !0, this.animation = startAnimation(resolve), this.events.animationStart && this.events.animationStart.notify();
|
|
17542
|
-
}).then(() => {
|
|
17543
|
-
this.events.animationComplete && this.events.animationComplete.notify(), this.clearAnimation();
|
|
17544
|
-
});
|
|
17545
|
-
}
|
|
17546
|
-
/**
|
|
17547
|
-
* Stop the currently active animation.
|
|
17548
|
-
*
|
|
17549
|
-
* @public
|
|
17550
|
-
*/
|
|
17551
|
-
stop() {
|
|
17552
|
-
this.animation && (this.animation.stop(), this.events.animationCancel && this.events.animationCancel.notify()), this.clearAnimation();
|
|
17553
|
-
}
|
|
17554
|
-
/**
|
|
17555
|
-
* Returns `true` if this value is currently animating.
|
|
17556
|
-
*
|
|
17557
|
-
* @public
|
|
17558
|
-
*/
|
|
17559
|
-
isAnimating() {
|
|
17560
|
-
return !!this.animation;
|
|
17561
|
-
}
|
|
17562
|
-
clearAnimation() {
|
|
17563
|
-
delete this.animation;
|
|
17564
|
-
}
|
|
17565
|
-
/**
|
|
17566
|
-
* Destroy and clean up subscribers to this `MotionValue`.
|
|
17567
|
-
*
|
|
17568
|
-
* The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
|
|
17569
|
-
* handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
|
|
17570
|
-
* created a `MotionValue` via the `motionValue` function.
|
|
17571
|
-
*
|
|
17572
|
-
* @public
|
|
17573
|
-
*/
|
|
17574
|
-
destroy() {
|
|
17575
|
-
this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
|
|
17576
|
-
}
|
|
17577
|
-
}
|
|
17578
|
-
function motionValue(init2, options) {
|
|
17579
|
-
return new MotionValue(init2, options);
|
|
17580
|
-
}
|
|
17095
|
+
const { schedule: frame$1, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame < "u" ? requestAnimationFrame : noop$3, !0);
|
|
17581
17096
|
function useIsMounted() {
|
|
17582
17097
|
const isMounted = useRef(!1);
|
|
17583
17098
|
return useIsomorphicLayoutEffect$2(() => (isMounted.current = !0, () => {
|
|
@@ -17787,9 +17302,8 @@ function useMotionRef(visualState, visualElement, externalRef) {
|
|
|
17787
17302
|
[visualElement]
|
|
17788
17303
|
);
|
|
17789
17304
|
}
|
|
17790
|
-
const camelToDash = (str) => str.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase(), optimizedAppearDataId = "framerAppearId", optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId), SwitchLayoutGroupContext = createContext({});
|
|
17305
|
+
const { schedule: microtask } = /* @__PURE__ */ createRenderBatcher(queueMicrotask, !1), camelToDash = (str) => str.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase(), optimizedAppearDataId = "framerAppearId", optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId), SwitchLayoutGroupContext = createContext({});
|
|
17791
17306
|
function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor) {
|
|
17792
|
-
var _a, _b;
|
|
17793
17307
|
const { visualElement: parent } = useContext(MotionContext), lazyContext = useContext(LazyContext), presenceContext = useContext(PresenceContext), reducedMotionConfig = useContext(MotionConfigContext).reducedMotion, visualElementRef = useRef(null);
|
|
17794
17308
|
createVisualElement = createVisualElement || lazyContext.renderer, !visualElementRef.current && createVisualElement && (visualElementRef.current = createVisualElement(Component2, {
|
|
17795
17309
|
visualState,
|
|
@@ -17805,13 +17319,12 @@ function useVisualElement(Component2, visualState, props, createVisualElement, P
|
|
|
17805
17319
|
useInsertionEffect$1(() => {
|
|
17806
17320
|
visualElement && isMounted.current && visualElement.update(props, presenceContext);
|
|
17807
17321
|
});
|
|
17808
|
-
const optimisedAppearId = props[optimizedAppearDataAttribute], wantsHandoff = useRef(!!optimisedAppearId && !
|
|
17322
|
+
const optimisedAppearId = props[optimizedAppearDataAttribute], wantsHandoff = useRef(!!optimisedAppearId && !window.MotionHandoffIsComplete?.(optimisedAppearId) && window.MotionHasOptimisedAnimation?.(optimisedAppearId));
|
|
17809
17323
|
return useIsomorphicLayoutEffect$2(() => {
|
|
17810
17324
|
visualElement && (isMounted.current = !0, window.MotionIsMounted = !0, visualElement.updateFeatures(), microtask.render(visualElement.render), wantsHandoff.current && visualElement.animationState && visualElement.animationState.animateChanges());
|
|
17811
17325
|
}), useEffect(() => {
|
|
17812
17326
|
visualElement && (!wantsHandoff.current && visualElement.animationState && visualElement.animationState.animateChanges(), wantsHandoff.current && (queueMicrotask(() => {
|
|
17813
|
-
|
|
17814
|
-
(_a2 = window.MotionHandoffMarkAsComplete) === null || _a2 === void 0 || _a2.call(window, optimisedAppearId);
|
|
17327
|
+
window.MotionHandoffMarkAsComplete?.(optimisedAppearId);
|
|
17815
17328
|
}), wantsHandoff.current = !1));
|
|
17816
17329
|
}), visualElement;
|
|
17817
17330
|
}
|
|
@@ -17840,7 +17353,6 @@ function getClosestProjectingNode(visualElement) {
|
|
|
17840
17353
|
return visualElement.options.allowProjection !== !1 ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
|
|
17841
17354
|
}
|
|
17842
17355
|
function createRendererMotionComponent({ preloadedFeatures, createVisualElement, useRender, useVisualState, Component: Component2 }) {
|
|
17843
|
-
var _a, _b;
|
|
17844
17356
|
function MotionComponent(props, externalRef) {
|
|
17845
17357
|
let MeasureLayout2;
|
|
17846
17358
|
const configAndProps = {
|
|
@@ -17855,7 +17367,7 @@ function createRendererMotionComponent({ preloadedFeatures, createVisualElement,
|
|
|
17855
17367
|
}
|
|
17856
17368
|
return jsxs(MotionContext.Provider, { value: context2, children: [MeasureLayout2 && context2.visualElement ? jsx(MeasureLayout2, { visualElement: context2.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context2.visualElement, externalRef), visualState, isStatic, context2.visualElement)] });
|
|
17857
17369
|
}
|
|
17858
|
-
MotionComponent.displayName = `motion.${typeof Component2 == "string" ? Component2 : `create(${
|
|
17370
|
+
MotionComponent.displayName = `motion.${typeof Component2 == "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
|
|
17859
17371
|
const ForwardRefMotionComponent = forwardRef(MotionComponent);
|
|
17860
17372
|
return ForwardRefMotionComponent[motionComponentSymbol] = Component2, ForwardRefMotionComponent;
|
|
17861
17373
|
}
|
|
@@ -18244,10 +17756,9 @@ function makeLatestValues(props, context2, presenceContext, scrapeMotionValues)
|
|
|
18244
17756
|
return values2;
|
|
18245
17757
|
}
|
|
18246
17758
|
function scrapeMotionValuesFromProps$1(props, prevProps, visualElement) {
|
|
18247
|
-
var _a;
|
|
18248
17759
|
const { style: style2 } = props, newValues = {};
|
|
18249
17760
|
for (const key2 in style2)
|
|
18250
|
-
(isMotionValue(style2[key2]) || prevProps.style && isMotionValue(prevProps.style[key2]) || isForcedMotionValue(key2, props) ||
|
|
17761
|
+
(isMotionValue(style2[key2]) || prevProps.style && isMotionValue(prevProps.style[key2]) || isForcedMotionValue(key2, props) || visualElement?.getValue(key2)?.liveStyle !== void 0) && (newValues[key2] = style2[key2]);
|
|
18251
17762
|
return newValues;
|
|
18252
17763
|
}
|
|
18253
17764
|
const htmlMotionConfig = {
|
|
@@ -18360,6 +17871,9 @@ function resolveVariant(visualElement, definition, custom5) {
|
|
|
18360
17871
|
const props = visualElement.getProps();
|
|
18361
17872
|
return resolveVariantFromProps(props, definition, custom5 !== void 0 ? custom5 : props.custom, visualElement);
|
|
18362
17873
|
}
|
|
17874
|
+
function getValueTransition$1(transition, key2) {
|
|
17875
|
+
return transition?.[key2] ?? transition?.default ?? transition;
|
|
17876
|
+
}
|
|
18363
17877
|
const positionalKeys = /* @__PURE__ */ new Set([
|
|
18364
17878
|
"width",
|
|
18365
17879
|
"height",
|
|
@@ -18369,6 +17883,242 @@ const positionalKeys = /* @__PURE__ */ new Set([
|
|
|
18369
17883
|
"bottom",
|
|
18370
17884
|
...transformPropOrder
|
|
18371
17885
|
]);
|
|
17886
|
+
function addUniqueItem(arr, item) {
|
|
17887
|
+
arr.indexOf(item) === -1 && arr.push(item);
|
|
17888
|
+
}
|
|
17889
|
+
function removeItem(arr, item) {
|
|
17890
|
+
const index2 = arr.indexOf(item);
|
|
17891
|
+
index2 > -1 && arr.splice(index2, 1);
|
|
17892
|
+
}
|
|
17893
|
+
class SubscriptionManager {
|
|
17894
|
+
constructor() {
|
|
17895
|
+
this.subscriptions = [];
|
|
17896
|
+
}
|
|
17897
|
+
add(handler) {
|
|
17898
|
+
return addUniqueItem(this.subscriptions, handler), () => removeItem(this.subscriptions, handler);
|
|
17899
|
+
}
|
|
17900
|
+
notify(a2, b2, c2) {
|
|
17901
|
+
const numSubscriptions = this.subscriptions.length;
|
|
17902
|
+
if (numSubscriptions)
|
|
17903
|
+
if (numSubscriptions === 1)
|
|
17904
|
+
this.subscriptions[0](a2, b2, c2);
|
|
17905
|
+
else
|
|
17906
|
+
for (let i2 = 0; i2 < numSubscriptions; i2++) {
|
|
17907
|
+
const handler = this.subscriptions[i2];
|
|
17908
|
+
handler && handler(a2, b2, c2);
|
|
17909
|
+
}
|
|
17910
|
+
}
|
|
17911
|
+
getSize() {
|
|
17912
|
+
return this.subscriptions.length;
|
|
17913
|
+
}
|
|
17914
|
+
clear() {
|
|
17915
|
+
this.subscriptions.length = 0;
|
|
17916
|
+
}
|
|
17917
|
+
}
|
|
17918
|
+
function velocityPerSecond(velocity, frameDuration) {
|
|
17919
|
+
return frameDuration ? velocity * (1e3 / frameDuration) : 0;
|
|
17920
|
+
}
|
|
17921
|
+
let now$1;
|
|
17922
|
+
function clearTime() {
|
|
17923
|
+
now$1 = void 0;
|
|
17924
|
+
}
|
|
17925
|
+
const time = {
|
|
17926
|
+
now: () => (now$1 === void 0 && time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming ? frameData.timestamp : performance.now()), now$1),
|
|
17927
|
+
set: (newTime) => {
|
|
17928
|
+
now$1 = newTime, queueMicrotask(clearTime);
|
|
17929
|
+
}
|
|
17930
|
+
}, MAX_VELOCITY_DELTA = 30, isFloat = (value) => !isNaN(parseFloat(value));
|
|
17931
|
+
class MotionValue {
|
|
17932
|
+
/**
|
|
17933
|
+
* @param init - The initiating value
|
|
17934
|
+
* @param config - Optional configuration options
|
|
17935
|
+
*
|
|
17936
|
+
* - `transformer`: A function to transform incoming values with.
|
|
17937
|
+
*/
|
|
17938
|
+
constructor(init2, options = {}) {
|
|
17939
|
+
this.version = "12.6.3", this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (v, render = !0) => {
|
|
17940
|
+
const currentTime = time.now();
|
|
17941
|
+
this.updatedAt !== currentTime && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(v), this.current !== this.prev && this.events.change && this.events.change.notify(this.current), render && this.events.renderRequest && this.events.renderRequest.notify(this.current);
|
|
17942
|
+
}, this.hasAnimated = !1, this.setCurrent(init2), this.owner = options.owner;
|
|
17943
|
+
}
|
|
17944
|
+
setCurrent(current) {
|
|
17945
|
+
this.current = current, this.updatedAt = time.now(), this.canTrackVelocity === null && current !== void 0 && (this.canTrackVelocity = isFloat(this.current));
|
|
17946
|
+
}
|
|
17947
|
+
setPrevFrameValue(prevFrameValue = this.current) {
|
|
17948
|
+
this.prevFrameValue = prevFrameValue, this.prevUpdatedAt = this.updatedAt;
|
|
17949
|
+
}
|
|
17950
|
+
/**
|
|
17951
|
+
* Adds a function that will be notified when the `MotionValue` is updated.
|
|
17952
|
+
*
|
|
17953
|
+
* It returns a function that, when called, will cancel the subscription.
|
|
17954
|
+
*
|
|
17955
|
+
* When calling `onChange` inside a React component, it should be wrapped with the
|
|
17956
|
+
* `useEffect` hook. As it returns an unsubscribe function, this should be returned
|
|
17957
|
+
* from the `useEffect` function to ensure you don't add duplicate subscribers..
|
|
17958
|
+
*
|
|
17959
|
+
* ```jsx
|
|
17960
|
+
* export const MyComponent = () => {
|
|
17961
|
+
* const x = useMotionValue(0)
|
|
17962
|
+
* const y = useMotionValue(0)
|
|
17963
|
+
* const opacity = useMotionValue(1)
|
|
17964
|
+
*
|
|
17965
|
+
* useEffect(() => {
|
|
17966
|
+
* function updateOpacity() {
|
|
17967
|
+
* const maxXY = Math.max(x.get(), y.get())
|
|
17968
|
+
* const newOpacity = transform(maxXY, [0, 100], [1, 0])
|
|
17969
|
+
* opacity.set(newOpacity)
|
|
17970
|
+
* }
|
|
17971
|
+
*
|
|
17972
|
+
* const unsubscribeX = x.on("change", updateOpacity)
|
|
17973
|
+
* const unsubscribeY = y.on("change", updateOpacity)
|
|
17974
|
+
*
|
|
17975
|
+
* return () => {
|
|
17976
|
+
* unsubscribeX()
|
|
17977
|
+
* unsubscribeY()
|
|
17978
|
+
* }
|
|
17979
|
+
* }, [])
|
|
17980
|
+
*
|
|
17981
|
+
* return <motion.div style={{ x }} />
|
|
17982
|
+
* }
|
|
17983
|
+
* ```
|
|
17984
|
+
*
|
|
17985
|
+
* @param subscriber - A function that receives the latest value.
|
|
17986
|
+
* @returns A function that, when called, will cancel this subscription.
|
|
17987
|
+
*
|
|
17988
|
+
* @deprecated
|
|
17989
|
+
*/
|
|
17990
|
+
onChange(subscription) {
|
|
17991
|
+
return this.on("change", subscription);
|
|
17992
|
+
}
|
|
17993
|
+
on(eventName, callback) {
|
|
17994
|
+
this.events[eventName] || (this.events[eventName] = new SubscriptionManager());
|
|
17995
|
+
const unsubscribe = this.events[eventName].add(callback);
|
|
17996
|
+
return eventName === "change" ? () => {
|
|
17997
|
+
unsubscribe(), frame$1.read(() => {
|
|
17998
|
+
this.events.change.getSize() || this.stop();
|
|
17999
|
+
});
|
|
18000
|
+
} : unsubscribe;
|
|
18001
|
+
}
|
|
18002
|
+
clearListeners() {
|
|
18003
|
+
for (const eventManagers in this.events)
|
|
18004
|
+
this.events[eventManagers].clear();
|
|
18005
|
+
}
|
|
18006
|
+
/**
|
|
18007
|
+
* Attaches a passive effect to the `MotionValue`.
|
|
18008
|
+
*/
|
|
18009
|
+
attach(passiveEffect, stopPassiveEffect) {
|
|
18010
|
+
this.passiveEffect = passiveEffect, this.stopPassiveEffect = stopPassiveEffect;
|
|
18011
|
+
}
|
|
18012
|
+
/**
|
|
18013
|
+
* Sets the state of the `MotionValue`.
|
|
18014
|
+
*
|
|
18015
|
+
* @remarks
|
|
18016
|
+
*
|
|
18017
|
+
* ```jsx
|
|
18018
|
+
* const x = useMotionValue(0)
|
|
18019
|
+
* x.set(10)
|
|
18020
|
+
* ```
|
|
18021
|
+
*
|
|
18022
|
+
* @param latest - Latest value to set.
|
|
18023
|
+
* @param render - Whether to notify render subscribers. Defaults to `true`
|
|
18024
|
+
*
|
|
18025
|
+
* @public
|
|
18026
|
+
*/
|
|
18027
|
+
set(v, render = !0) {
|
|
18028
|
+
!render || !this.passiveEffect ? this.updateAndNotify(v, render) : this.passiveEffect(v, this.updateAndNotify);
|
|
18029
|
+
}
|
|
18030
|
+
setWithVelocity(prev, current, delta) {
|
|
18031
|
+
this.set(current), this.prev = void 0, this.prevFrameValue = prev, this.prevUpdatedAt = this.updatedAt - delta;
|
|
18032
|
+
}
|
|
18033
|
+
/**
|
|
18034
|
+
* Set the state of the `MotionValue`, stopping any active animations,
|
|
18035
|
+
* effects, and resets velocity to `0`.
|
|
18036
|
+
*/
|
|
18037
|
+
jump(v, endAnimation = !0) {
|
|
18038
|
+
this.updateAndNotify(v), this.prev = v, this.prevUpdatedAt = this.prevFrameValue = void 0, endAnimation && this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
|
|
18039
|
+
}
|
|
18040
|
+
/**
|
|
18041
|
+
* Returns the latest state of `MotionValue`
|
|
18042
|
+
*
|
|
18043
|
+
* @returns - The latest state of `MotionValue`
|
|
18044
|
+
*
|
|
18045
|
+
* @public
|
|
18046
|
+
*/
|
|
18047
|
+
get() {
|
|
18048
|
+
return this.current;
|
|
18049
|
+
}
|
|
18050
|
+
/**
|
|
18051
|
+
* @public
|
|
18052
|
+
*/
|
|
18053
|
+
getPrevious() {
|
|
18054
|
+
return this.prev;
|
|
18055
|
+
}
|
|
18056
|
+
/**
|
|
18057
|
+
* Returns the latest velocity of `MotionValue`
|
|
18058
|
+
*
|
|
18059
|
+
* @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.
|
|
18060
|
+
*
|
|
18061
|
+
* @public
|
|
18062
|
+
*/
|
|
18063
|
+
getVelocity() {
|
|
18064
|
+
const currentTime = time.now();
|
|
18065
|
+
if (!this.canTrackVelocity || this.prevFrameValue === void 0 || currentTime - this.updatedAt > MAX_VELOCITY_DELTA)
|
|
18066
|
+
return 0;
|
|
18067
|
+
const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA);
|
|
18068
|
+
return velocityPerSecond(parseFloat(this.current) - parseFloat(this.prevFrameValue), delta);
|
|
18069
|
+
}
|
|
18070
|
+
/**
|
|
18071
|
+
* Registers a new animation to control this `MotionValue`. Only one
|
|
18072
|
+
* animation can drive a `MotionValue` at one time.
|
|
18073
|
+
*
|
|
18074
|
+
* ```jsx
|
|
18075
|
+
* value.start()
|
|
18076
|
+
* ```
|
|
18077
|
+
*
|
|
18078
|
+
* @param animation - A function that starts the provided animation
|
|
18079
|
+
*/
|
|
18080
|
+
start(startAnimation) {
|
|
18081
|
+
return this.stop(), new Promise((resolve) => {
|
|
18082
|
+
this.hasAnimated = !0, this.animation = startAnimation(resolve), this.events.animationStart && this.events.animationStart.notify();
|
|
18083
|
+
}).then(() => {
|
|
18084
|
+
this.events.animationComplete && this.events.animationComplete.notify(), this.clearAnimation();
|
|
18085
|
+
});
|
|
18086
|
+
}
|
|
18087
|
+
/**
|
|
18088
|
+
* Stop the currently active animation.
|
|
18089
|
+
*
|
|
18090
|
+
* @public
|
|
18091
|
+
*/
|
|
18092
|
+
stop() {
|
|
18093
|
+
this.animation && (this.animation.stop(), this.events.animationCancel && this.events.animationCancel.notify()), this.clearAnimation();
|
|
18094
|
+
}
|
|
18095
|
+
/**
|
|
18096
|
+
* Returns `true` if this value is currently animating.
|
|
18097
|
+
*
|
|
18098
|
+
* @public
|
|
18099
|
+
*/
|
|
18100
|
+
isAnimating() {
|
|
18101
|
+
return !!this.animation;
|
|
18102
|
+
}
|
|
18103
|
+
clearAnimation() {
|
|
18104
|
+
delete this.animation;
|
|
18105
|
+
}
|
|
18106
|
+
/**
|
|
18107
|
+
* Destroy and clean up subscribers to this `MotionValue`.
|
|
18108
|
+
*
|
|
18109
|
+
* The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
|
|
18110
|
+
* handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
|
|
18111
|
+
* created a `MotionValue` via the `motionValue` function.
|
|
18112
|
+
*
|
|
18113
|
+
* @public
|
|
18114
|
+
*/
|
|
18115
|
+
destroy() {
|
|
18116
|
+
this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
|
|
18117
|
+
}
|
|
18118
|
+
}
|
|
18119
|
+
function motionValue(init2, options) {
|
|
18120
|
+
return new MotionValue(init2, options);
|
|
18121
|
+
}
|
|
18372
18122
|
function setMotionValue(visualElement, key2, value) {
|
|
18373
18123
|
visualElement.hasValue(key2) ? visualElement.getValue(key2).set(value) : visualElement.addValue(key2, motionValue(value));
|
|
18374
18124
|
}
|
|
@@ -18392,6 +18142,147 @@ function addValueToWillChange(visualElement, key2) {
|
|
|
18392
18142
|
function getOptimisedAppearId(visualElement) {
|
|
18393
18143
|
return visualElement.props[optimizedAppearDataAttribute];
|
|
18394
18144
|
}
|
|
18145
|
+
const secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3, millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
|
|
18146
|
+
// @__NO_SIDE_EFFECTS__
|
|
18147
|
+
function memo(callback) {
|
|
18148
|
+
let result;
|
|
18149
|
+
return () => (result === void 0 && (result = callback()), result);
|
|
18150
|
+
}
|
|
18151
|
+
const supportsScrollTimeline = /* @__PURE__ */ memo(() => window.ScrollTimeline !== void 0);
|
|
18152
|
+
class GroupAnimation {
|
|
18153
|
+
constructor(animations2) {
|
|
18154
|
+
this.stop = () => this.runAll("stop"), this.animations = animations2.filter(Boolean);
|
|
18155
|
+
}
|
|
18156
|
+
get finished() {
|
|
18157
|
+
return Promise.all(this.animations.map((animation) => animation.finished));
|
|
18158
|
+
}
|
|
18159
|
+
/**
|
|
18160
|
+
* TODO: Filter out cancelled or stopped animations before returning
|
|
18161
|
+
*/
|
|
18162
|
+
getAll(propName) {
|
|
18163
|
+
return this.animations[0][propName];
|
|
18164
|
+
}
|
|
18165
|
+
setAll(propName, newValue) {
|
|
18166
|
+
for (let i2 = 0; i2 < this.animations.length; i2++)
|
|
18167
|
+
this.animations[i2][propName] = newValue;
|
|
18168
|
+
}
|
|
18169
|
+
attachTimeline(timeline, fallback) {
|
|
18170
|
+
const subscriptions = this.animations.map((animation) => {
|
|
18171
|
+
if (supportsScrollTimeline() && animation.attachTimeline)
|
|
18172
|
+
return animation.attachTimeline(timeline);
|
|
18173
|
+
if (typeof fallback == "function")
|
|
18174
|
+
return fallback(animation);
|
|
18175
|
+
});
|
|
18176
|
+
return () => {
|
|
18177
|
+
subscriptions.forEach((cancel, i2) => {
|
|
18178
|
+
cancel && cancel(), this.animations[i2].stop();
|
|
18179
|
+
});
|
|
18180
|
+
};
|
|
18181
|
+
}
|
|
18182
|
+
get time() {
|
|
18183
|
+
return this.getAll("time");
|
|
18184
|
+
}
|
|
18185
|
+
set time(time2) {
|
|
18186
|
+
this.setAll("time", time2);
|
|
18187
|
+
}
|
|
18188
|
+
get speed() {
|
|
18189
|
+
return this.getAll("speed");
|
|
18190
|
+
}
|
|
18191
|
+
set speed(speed) {
|
|
18192
|
+
this.setAll("speed", speed);
|
|
18193
|
+
}
|
|
18194
|
+
get startTime() {
|
|
18195
|
+
return this.getAll("startTime");
|
|
18196
|
+
}
|
|
18197
|
+
get duration() {
|
|
18198
|
+
let max2 = 0;
|
|
18199
|
+
for (let i2 = 0; i2 < this.animations.length; i2++)
|
|
18200
|
+
max2 = Math.max(max2, this.animations[i2].duration);
|
|
18201
|
+
return max2;
|
|
18202
|
+
}
|
|
18203
|
+
runAll(methodName) {
|
|
18204
|
+
this.animations.forEach((controls) => controls[methodName]());
|
|
18205
|
+
}
|
|
18206
|
+
flatten() {
|
|
18207
|
+
this.runAll("flatten");
|
|
18208
|
+
}
|
|
18209
|
+
play() {
|
|
18210
|
+
this.runAll("play");
|
|
18211
|
+
}
|
|
18212
|
+
pause() {
|
|
18213
|
+
this.runAll("pause");
|
|
18214
|
+
}
|
|
18215
|
+
cancel() {
|
|
18216
|
+
this.runAll("cancel");
|
|
18217
|
+
}
|
|
18218
|
+
complete() {
|
|
18219
|
+
this.runAll("complete");
|
|
18220
|
+
}
|
|
18221
|
+
}
|
|
18222
|
+
class GroupAnimationWithThen extends GroupAnimation {
|
|
18223
|
+
then(onResolve, _onReject) {
|
|
18224
|
+
return this.finished.finally(onResolve).then(() => {
|
|
18225
|
+
});
|
|
18226
|
+
}
|
|
18227
|
+
}
|
|
18228
|
+
const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] == "number", supportsFlags = {};
|
|
18229
|
+
function memoSupports(callback, supportsFlag) {
|
|
18230
|
+
const memoized = /* @__PURE__ */ memo(callback);
|
|
18231
|
+
return () => supportsFlags[supportsFlag] ?? memoized();
|
|
18232
|
+
}
|
|
18233
|
+
const supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
|
|
18234
|
+
try {
|
|
18235
|
+
document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
|
|
18236
|
+
} catch {
|
|
18237
|
+
return !1;
|
|
18238
|
+
}
|
|
18239
|
+
return !0;
|
|
18240
|
+
}, "linearEasing"), generateLinearEasing = (easing, duration, resolution = 10) => {
|
|
18241
|
+
let points = "";
|
|
18242
|
+
const numPoints = Math.max(Math.round(duration / resolution), 2);
|
|
18243
|
+
for (let i2 = 0; i2 < numPoints; i2++)
|
|
18244
|
+
points += easing(i2 / (numPoints - 1)) + ", ";
|
|
18245
|
+
return `linear(${points.substring(0, points.length - 2)})`;
|
|
18246
|
+
}, cubicBezierAsString = ([a2, b2, c2, d2]) => `cubic-bezier(${a2}, ${b2}, ${c2}, ${d2})`, supportedWaapiEasing = {
|
|
18247
|
+
linear: "linear",
|
|
18248
|
+
ease: "ease",
|
|
18249
|
+
easeIn: "ease-in",
|
|
18250
|
+
easeOut: "ease-out",
|
|
18251
|
+
easeInOut: "ease-in-out",
|
|
18252
|
+
circIn: /* @__PURE__ */ cubicBezierAsString([0, 0.65, 0.55, 1]),
|
|
18253
|
+
circOut: /* @__PURE__ */ cubicBezierAsString([0.55, 0, 1, 0.45]),
|
|
18254
|
+
backIn: /* @__PURE__ */ cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),
|
|
18255
|
+
backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
|
|
18256
|
+
};
|
|
18257
|
+
function mapEasingToNativeEasing(easing, duration) {
|
|
18258
|
+
if (easing)
|
|
18259
|
+
return typeof easing == "function" && supportsLinearEasing() ? generateLinearEasing(easing, duration) : isBezierDefinition(easing) ? cubicBezierAsString(easing) : Array.isArray(easing) ? easing.map((segmentEasing) => mapEasingToNativeEasing(segmentEasing, duration) || supportedWaapiEasing.easeOut) : supportedWaapiEasing[easing];
|
|
18260
|
+
}
|
|
18261
|
+
function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeInOut", times } = {}, pseudoElement = void 0) {
|
|
18262
|
+
const keyframeOptions = {
|
|
18263
|
+
[valueName]: keyframes2
|
|
18264
|
+
};
|
|
18265
|
+
times && (keyframeOptions.offset = times);
|
|
18266
|
+
const easing = mapEasingToNativeEasing(ease2, duration);
|
|
18267
|
+
return Array.isArray(easing) && (keyframeOptions.easing = easing), element.animate(keyframeOptions, {
|
|
18268
|
+
delay: delay2,
|
|
18269
|
+
duration,
|
|
18270
|
+
easing: Array.isArray(easing) ? "linear" : easing,
|
|
18271
|
+
fill: "both",
|
|
18272
|
+
iterations: repeat + 1,
|
|
18273
|
+
direction: repeatType === "reverse" ? "alternate" : "normal",
|
|
18274
|
+
pseudoElement
|
|
18275
|
+
});
|
|
18276
|
+
}
|
|
18277
|
+
function isGenerator(type) {
|
|
18278
|
+
return typeof type == "function" && "applyToOptions" in type;
|
|
18279
|
+
}
|
|
18280
|
+
function isWaapiSupportedEasing(easing) {
|
|
18281
|
+
return !!(typeof easing == "function" && supportsLinearEasing() || !easing || typeof easing == "string" && (easing in supportedWaapiEasing || supportsLinearEasing()) || isBezierDefinition(easing) || Array.isArray(easing) && easing.every(isWaapiSupportedEasing));
|
|
18282
|
+
}
|
|
18283
|
+
function attachTimeline(animation, timeline) {
|
|
18284
|
+
animation.timeline = timeline, animation.onfinish = null;
|
|
18285
|
+
}
|
|
18395
18286
|
const calcBezier = (t2, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t2 + (3 * a2 - 6 * a1)) * t2 + 3 * a1) * t2, subdivisionPrecision = 1e-7, subdivisionMaxIterations = 12;
|
|
18396
18287
|
function binarySubdivide(x2, lowerBound, upperBound, mX1, mX2) {
|
|
18397
18288
|
let currentX, currentT, i2 = 0;
|
|
@@ -18455,8 +18346,7 @@ const hex$1 = {
|
|
|
18455
18346
|
transform: (v) => typeof v == "string" ? v : v.hasOwnProperty("red") ? rgba$1.transform(v) : hsla$1.transform(v)
|
|
18456
18347
|
}, colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
|
|
18457
18348
|
function test(v) {
|
|
18458
|
-
|
|
18459
|
-
return isNaN(v) && typeof v == "string" && (((_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) || 0) + (((_b = v.match(colorRegex)) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0;
|
|
18349
|
+
return isNaN(v) && typeof v == "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
|
|
18460
18350
|
}
|
|
18461
18351
|
const NUMBER_TOKEN = "number", COLOR_TOKEN = "color", VAR_TOKEN = "var", VAR_FUNCTION_TOKEN = "var(", SPLIT_TOKEN = "${}", complexRegex = /var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;
|
|
18462
18352
|
function analyseComplexValue(value) {
|
|
@@ -18638,8 +18528,7 @@ function measureAllKeyframes() {
|
|
|
18638
18528
|
element.render();
|
|
18639
18529
|
const restore = transformsToRestore.get(element);
|
|
18640
18530
|
restore && restore.forEach(([key2, value]) => {
|
|
18641
|
-
|
|
18642
|
-
(_a = element.getValue(key2)) === null || _a === void 0 || _a.set(value);
|
|
18531
|
+
element.getValue(key2)?.set(value);
|
|
18643
18532
|
});
|
|
18644
18533
|
}), resolversToMeasure.forEach((resolver) => resolver.measureEndState()), resolversToMeasure.forEach((resolver) => {
|
|
18645
18534
|
resolver.suspendedScrollY !== void 0 && window.scrollTo(0, resolver.suspendedScrollY);
|
|
@@ -18765,14 +18654,13 @@ class DOMKeyframesResolver extends KeyframeResolver {
|
|
|
18765
18654
|
measureKeyframe !== void 0 && element.getValue(name, measureKeyframe).jump(measureKeyframe, !1);
|
|
18766
18655
|
}
|
|
18767
18656
|
measureEndState() {
|
|
18768
|
-
var _a;
|
|
18769
18657
|
const { element, name, unresolvedKeyframes } = this;
|
|
18770
18658
|
if (!element || !element.current)
|
|
18771
18659
|
return;
|
|
18772
18660
|
const value = element.getValue(name);
|
|
18773
18661
|
value && value.jump(this.measuredOrigin, !1);
|
|
18774
18662
|
const finalKeyframeIndex = unresolvedKeyframes.length - 1, finalKeyframe = unresolvedKeyframes[finalKeyframeIndex];
|
|
18775
|
-
unresolvedKeyframes[finalKeyframeIndex] = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current)), finalKeyframe !== null && this.finalKeyframe === void 0 && (this.finalKeyframe = finalKeyframe),
|
|
18663
|
+
unresolvedKeyframes[finalKeyframeIndex] = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current)), finalKeyframe !== null && this.finalKeyframe === void 0 && (this.finalKeyframe = finalKeyframe), this.removedTransforms?.length && this.removedTransforms.forEach(([unsetTransformName, unsetTransformValue]) => {
|
|
18776
18664
|
element.getValue(unsetTransformName).set(unsetTransformValue);
|
|
18777
18665
|
}), this.resolveNoneKeyframes();
|
|
18778
18666
|
}
|
|
@@ -18877,6 +18765,15 @@ class BaseAnimation {
|
|
|
18877
18765
|
});
|
|
18878
18766
|
}
|
|
18879
18767
|
}
|
|
18768
|
+
const maxGeneratorDuration = 2e4;
|
|
18769
|
+
function calcGeneratorDuration(generator) {
|
|
18770
|
+
let duration = 0;
|
|
18771
|
+
const timeStep = 50;
|
|
18772
|
+
let state = generator.next(duration);
|
|
18773
|
+
for (; !state.done && duration < maxGeneratorDuration; )
|
|
18774
|
+
duration += timeStep, state = generator.next(duration);
|
|
18775
|
+
return duration >= maxGeneratorDuration ? 1 / 0 : duration;
|
|
18776
|
+
}
|
|
18880
18777
|
const mixNumber$1 = (from, to, progress2) => from + (to - from) * progress2;
|
|
18881
18778
|
function hueToRgb(p2, q, t2) {
|
|
18882
18779
|
return t2 < 0 && (t2 += 1), t2 > 1 && (t2 -= 1), t2 < 1 / 6 ? p2 + (q - p2) * 6 * t2 : t2 < 1 / 2 ? q : t2 < 2 / 3 ? p2 + (q - p2) * (2 / 3 - t2) * 6 : p2;
|
|
@@ -18946,10 +18843,9 @@ function mixObject(a2, b2) {
|
|
|
18946
18843
|
};
|
|
18947
18844
|
}
|
|
18948
18845
|
function matchOrder(origin, target) {
|
|
18949
|
-
var _a;
|
|
18950
18846
|
const orderedOrigin = [], pointers = { color: 0, var: 0, number: 0 };
|
|
18951
18847
|
for (let i2 = 0; i2 < target.values.length; i2++) {
|
|
18952
|
-
const type = target.types[i2], originIndex = origin.indexes[type][pointers[type]], originValue =
|
|
18848
|
+
const type = target.types[i2], originIndex = origin.indexes[type][pointers[type]], originValue = origin.values[originIndex] ?? 0;
|
|
18953
18849
|
orderedOrigin[i2] = originValue, pointers[type]++;
|
|
18954
18850
|
}
|
|
18955
18851
|
return orderedOrigin;
|
|
@@ -18961,6 +18857,14 @@ const mixComplex = (origin, target) => {
|
|
|
18961
18857
|
function mix(from, to, p2) {
|
|
18962
18858
|
return typeof from == "number" && typeof to == "number" && typeof p2 == "number" ? mixNumber$1(from, to, p2) : getMixer(from)(from, to);
|
|
18963
18859
|
}
|
|
18860
|
+
function createGeneratorEasing(options, scale2 = 100, createGenerator) {
|
|
18861
|
+
const generator = createGenerator({ ...options, keyframes: [0, scale2] }), duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
|
|
18862
|
+
return {
|
|
18863
|
+
type: "keyframes",
|
|
18864
|
+
ease: (progress2) => generator.next(duration * progress2).value / scale2,
|
|
18865
|
+
duration: /* @__PURE__ */ millisecondsToSeconds(duration)
|
|
18866
|
+
};
|
|
18867
|
+
}
|
|
18964
18868
|
const velocitySampleDuration = 5;
|
|
18965
18869
|
function calcGeneratorVelocity(resolveValue, t2, current) {
|
|
18966
18870
|
const prevT = Math.max(t2 - velocitySampleDuration, 0);
|
|
@@ -19113,10 +19017,16 @@ function spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce
|
|
|
19113
19017
|
toString: () => {
|
|
19114
19018
|
const calculatedDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration), easing = generateLinearEasing((progress2) => generator.next(calculatedDuration * progress2).value, calculatedDuration, 30);
|
|
19115
19019
|
return calculatedDuration + "ms " + easing;
|
|
19020
|
+
},
|
|
19021
|
+
toTransition: () => {
|
|
19116
19022
|
}
|
|
19117
19023
|
};
|
|
19118
19024
|
return generator;
|
|
19119
19025
|
}
|
|
19026
|
+
spring.applyToOptions = (options) => {
|
|
19027
|
+
const generatorOptions = createGeneratorEasing(options, 100, spring);
|
|
19028
|
+
return options.ease = supportsLinearEasing() ? generatorOptions.ease : "easeOut", options.duration = /* @__PURE__ */ secondsToMilliseconds(generatorOptions.duration), options.type = "keyframes", options;
|
|
19029
|
+
};
|
|
19120
19030
|
function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min: min2, max: max2, restDelta = 0.5, restSpeed }) {
|
|
19121
19031
|
const origin = keyframes2[0], state = {
|
|
19122
19032
|
done: !1,
|
|
@@ -19169,6 +19079,9 @@ const easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1), easeOut = /* @__PURE_
|
|
|
19169
19079
|
} else if (typeof definition == "string")
|
|
19170
19080
|
return easingLookup[definition];
|
|
19171
19081
|
return definition;
|
|
19082
|
+
}, progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
|
|
19083
|
+
const toFromDifference = to - from;
|
|
19084
|
+
return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
|
|
19172
19085
|
};
|
|
19173
19086
|
function createMixers(output, ease2, customMixer) {
|
|
19174
19087
|
const mixers = [], mixerFactory = customMixer || mix, numMixers = output.length - 1;
|
|
@@ -19349,12 +19262,11 @@ class MainThreadAnimation extends BaseAnimation {
|
|
|
19349
19262
|
this.holdTime !== null ? this.startTime = now2 - this.holdTime : this.startTime ? this.state === "finished" && (this.startTime = now2) : this.startTime = startTime ?? this.calcStartTime(), this.state === "finished" && this.updateFinishedPromise(), this.cancelTime = this.startTime, this.holdTime = null, this.state = "running", this.driver.start();
|
|
19350
19263
|
}
|
|
19351
19264
|
pause() {
|
|
19352
|
-
var _a;
|
|
19353
19265
|
if (!this._resolved) {
|
|
19354
19266
|
this.pendingPlayState = "paused";
|
|
19355
19267
|
return;
|
|
19356
19268
|
}
|
|
19357
|
-
this.state = "paused", this.holdTime =
|
|
19269
|
+
this.state = "paused", this.holdTime = this.currentTime ?? 0;
|
|
19358
19270
|
}
|
|
19359
19271
|
complete() {
|
|
19360
19272
|
this.state !== "running" && this.play(), this.pendingPlayState = this.state = "finished", this.holdTime = null;
|
|
@@ -19376,6 +19288,9 @@ class MainThreadAnimation extends BaseAnimation {
|
|
|
19376
19288
|
sample(time2) {
|
|
19377
19289
|
return this.startTime = 0, this.tick(time2, !0);
|
|
19378
19290
|
}
|
|
19291
|
+
get finished() {
|
|
19292
|
+
return this.currentFinishedPromise;
|
|
19293
|
+
}
|
|
19379
19294
|
}
|
|
19380
19295
|
const acceleratedValues = /* @__PURE__ */ new Set([
|
|
19381
19296
|
"opacity",
|
|
@@ -19385,21 +19300,7 @@ const acceleratedValues = /* @__PURE__ */ new Set([
|
|
|
19385
19300
|
// TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
|
|
19386
19301
|
// or until we implement support for linear() easing.
|
|
19387
19302
|
// "background-color"
|
|
19388
|
-
]);
|
|
19389
|
-
function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeInOut", times } = {}) {
|
|
19390
|
-
const keyframeOptions = { [valueName]: keyframes2 };
|
|
19391
|
-
times && (keyframeOptions.offset = times);
|
|
19392
|
-
const easing = mapEasingToNativeEasing(ease2, duration);
|
|
19393
|
-
return Array.isArray(easing) && (keyframeOptions.easing = easing), element.animate(keyframeOptions, {
|
|
19394
|
-
delay: delay2,
|
|
19395
|
-
duration,
|
|
19396
|
-
easing: Array.isArray(easing) ? "linear" : easing,
|
|
19397
|
-
fill: "both",
|
|
19398
|
-
iterations: repeat + 1,
|
|
19399
|
-
direction: repeatType === "reverse" ? "alternate" : "normal"
|
|
19400
|
-
});
|
|
19401
|
-
}
|
|
19402
|
-
const supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Element.prototype, "animate")), sampleDelta = 10, maxDuration = 2e4;
|
|
19303
|
+
]), supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Element.prototype, "animate")), sampleDelta = 10, maxDuration = 2e4;
|
|
19403
19304
|
function requiresPregeneratedKeyframes(options) {
|
|
19404
19305
|
return isGenerator(options.type) || options.type === "spring" || !isWaapiSupportedEasing(options.ease);
|
|
19405
19306
|
}
|
|
@@ -19486,6 +19387,9 @@ class AcceleratedAnimation extends BaseAnimation {
|
|
|
19486
19387
|
const { animation } = resolved;
|
|
19487
19388
|
return animation.playbackRate;
|
|
19488
19389
|
}
|
|
19390
|
+
get finished() {
|
|
19391
|
+
return this.resolved.animation.finished;
|
|
19392
|
+
}
|
|
19489
19393
|
set speed(newSpeed) {
|
|
19490
19394
|
const { resolved } = this;
|
|
19491
19395
|
if (!resolved)
|
|
@@ -19635,7 +19539,7 @@ const animateMotionValue = (name, value, target, transition = {}, element, isHan
|
|
|
19635
19539
|
if (finalKeyframe !== void 0)
|
|
19636
19540
|
return frame$1.update(() => {
|
|
19637
19541
|
options.onUpdate(finalKeyframe), options.onComplete();
|
|
19638
|
-
}), new
|
|
19542
|
+
}), new GroupAnimationWithThen([]);
|
|
19639
19543
|
}
|
|
19640
19544
|
return !isHandoff && AcceleratedAnimation.supports(options) ? new AcceleratedAnimation(options) : new MainThreadAnimation(options);
|
|
19641
19545
|
};
|
|
@@ -19644,12 +19548,11 @@ function shouldBlockAnimation({ protectedKeys, needsAnimating }, key2) {
|
|
|
19644
19548
|
return needsAnimating[key2] = !1, shouldBlock;
|
|
19645
19549
|
}
|
|
19646
19550
|
function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0, transitionOverride, type } = {}) {
|
|
19647
|
-
var _a;
|
|
19648
19551
|
let { transition = visualElement.getDefaultTransition(), transitionEnd, ...target } = targetAndTransition;
|
|
19649
19552
|
transitionOverride && (transition = transitionOverride);
|
|
19650
19553
|
const animations2 = [], animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
|
|
19651
19554
|
for (const key2 in target) {
|
|
19652
|
-
const value = visualElement.getValue(key2,
|
|
19555
|
+
const value = visualElement.getValue(key2, visualElement.latestValues[key2] ?? null), valueTarget = target[key2];
|
|
19653
19556
|
if (valueTarget === void 0 || animationTypeState && shouldBlockAnimation(animationTypeState, key2))
|
|
19654
19557
|
continue;
|
|
19655
19558
|
const valueTransition = {
|
|
@@ -19675,8 +19578,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
|
|
|
19675
19578
|
}), animations2;
|
|
19676
19579
|
}
|
|
19677
19580
|
function animateVariant(visualElement, variant, options = {}) {
|
|
19678
|
-
|
|
19679
|
-
const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? (_a = visualElement.presenceContext) === null || _a === void 0 ? void 0 : _a.custom : void 0);
|
|
19581
|
+
const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
|
|
19680
19582
|
let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
|
|
19681
19583
|
options.transitionOverride && (transition = options.transitionOverride);
|
|
19682
19584
|
const getAnimation = resolved ? () => Promise.all(animateTarget(visualElement, resolved, options)) : () => Promise.resolve(), getChildAnimations = visualElement.variantChildren && visualElement.variantChildren.size ? (forwardDelay = 0) => {
|
|
@@ -19750,8 +19652,7 @@ function animateList(visualElement) {
|
|
|
19750
19652
|
function createAnimationState(visualElement) {
|
|
19751
19653
|
let animate2 = animateList(visualElement), state = createState(), isInitialRender = !0;
|
|
19752
19654
|
const buildResolvedTypeValues = (type) => (acc, definition) => {
|
|
19753
|
-
|
|
19754
|
-
const resolved = resolveVariant(visualElement, definition, type === "exit" ? (_a = visualElement.presenceContext) === null || _a === void 0 ? void 0 : _a.custom : void 0);
|
|
19655
|
+
const resolved = resolveVariant(visualElement, definition, type === "exit" ? visualElement.presenceContext?.custom : void 0);
|
|
19755
19656
|
if (resolved) {
|
|
19756
19657
|
const { transition, transitionEnd, ...target } = resolved;
|
|
19757
19658
|
acc = { ...acc, ...target, ...transitionEnd };
|
|
@@ -19815,13 +19716,9 @@ function createAnimationState(visualElement) {
|
|
|
19815
19716
|
return isInitialRender && (props.initial === !1 || props.initial === props.animate) && !visualElement.manuallyAnimateOnMount && (shouldAnimate = !1), isInitialRender = !1, shouldAnimate ? animate2(animations2) : Promise.resolve();
|
|
19816
19717
|
}
|
|
19817
19718
|
function setActive(type, isActive) {
|
|
19818
|
-
var _a;
|
|
19819
19719
|
if (state[type].isActive === isActive)
|
|
19820
19720
|
return Promise.resolve();
|
|
19821
|
-
|
|
19822
|
-
var _a2;
|
|
19823
|
-
return (_a2 = child.animationState) === null || _a2 === void 0 ? void 0 : _a2.setActive(type, isActive);
|
|
19824
|
-
}), state[type].isActive = isActive;
|
|
19721
|
+
visualElement.variantChildren?.forEach((child) => child.animationState?.setActive(type, isActive)), state[type].isActive = isActive;
|
|
19825
19722
|
const animations2 = animateChanges(type);
|
|
19826
19723
|
for (const key2 in state)
|
|
19827
19724
|
state[key2].protectedKeys = {};
|
|
@@ -19890,8 +19787,7 @@ class AnimationFeature extends Feature {
|
|
|
19890
19787
|
animate2 !== prevAnimate && this.updateAnimationControlsSubscription();
|
|
19891
19788
|
}
|
|
19892
19789
|
unmount() {
|
|
19893
|
-
|
|
19894
|
-
this.node.animationState.reset(), (_a = this.unmountControls) === null || _a === void 0 || _a.call(this);
|
|
19790
|
+
this.node.animationState.reset(), this.unmountControls?.();
|
|
19895
19791
|
}
|
|
19896
19792
|
}
|
|
19897
19793
|
let id$2 = 0;
|
|
@@ -19924,10 +19820,24 @@ const animations = {
|
|
|
19924
19820
|
exit: {
|
|
19925
19821
|
Feature: ExitAnimationFeature
|
|
19926
19822
|
}
|
|
19823
|
+
}, isDragging = {
|
|
19824
|
+
x: !1,
|
|
19825
|
+
y: !1
|
|
19927
19826
|
};
|
|
19827
|
+
function isDragActive() {
|
|
19828
|
+
return isDragging.x || isDragging.y;
|
|
19829
|
+
}
|
|
19830
|
+
function setDragLock(axis) {
|
|
19831
|
+
return axis === "x" || axis === "y" ? isDragging[axis] ? null : (isDragging[axis] = !0, () => {
|
|
19832
|
+
isDragging[axis] = !1;
|
|
19833
|
+
}) : isDragging.x || isDragging.y ? null : (isDragging.x = isDragging.y = !0, () => {
|
|
19834
|
+
isDragging.x = isDragging.y = !1;
|
|
19835
|
+
});
|
|
19836
|
+
}
|
|
19928
19837
|
function addDomEvent(target, eventName, handler, options = { passive: !0 }) {
|
|
19929
19838
|
return target.addEventListener(eventName, handler, options), () => target.removeEventListener(eventName, handler);
|
|
19930
19839
|
}
|
|
19840
|
+
const isPrimaryPointer = (event) => event.pointerType === "mouse" ? typeof event.button != "number" || event.button <= 0 : event.isPrimary !== !1;
|
|
19931
19841
|
function extractEventInfo(event) {
|
|
19932
19842
|
return {
|
|
19933
19843
|
point: {
|
|
@@ -20230,10 +20140,7 @@ class VisualElementDragControls {
|
|
|
20230
20140
|
return;
|
|
20231
20141
|
}
|
|
20232
20142
|
this.updateAxis("x", info.point, offset2), this.updateAxis("y", info.point, offset2), this.visualElement.render(), onDrag && onDrag(event, info);
|
|
20233
|
-
}, onSessionEnd = (event, info) => this.stop(event, info), resumeAnimation = () => eachAxis((axis) => {
|
|
20234
|
-
var _a;
|
|
20235
|
-
return this.getAnimationState(axis) === "paused" && ((_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.play());
|
|
20236
|
-
}), { dragSnapToOrigin } = this.getProps();
|
|
20143
|
+
}, onSessionEnd = (event, info) => this.stop(event, info), resumeAnimation = () => eachAxis((axis) => this.getAnimationState(axis) === "paused" && this.getAxisMotionValue(axis).animation?.play()), { dragSnapToOrigin } = this.getProps();
|
|
20237
20144
|
this.panSession = new PanSession(originEvent, {
|
|
20238
20145
|
onSessionStart,
|
|
20239
20146
|
onStart,
|
|
@@ -20271,8 +20178,7 @@ class VisualElementDragControls {
|
|
|
20271
20178
|
this.constraints && this.constraints[axis] && (next = applyConstraints(next, this.constraints[axis], this.elastic[axis])), axisValue.set(next);
|
|
20272
20179
|
}
|
|
20273
20180
|
resolveConstraints() {
|
|
20274
|
-
|
|
20275
|
-
const { dragConstraints, dragElastic } = this.getProps(), layout2 = this.visualElement.projection && !this.visualElement.projection.layout ? this.visualElement.projection.measure(!1) : (_a = this.visualElement.projection) === null || _a === void 0 ? void 0 : _a.layout, prevConstraints = this.constraints;
|
|
20181
|
+
const { dragConstraints, dragElastic } = this.getProps(), layout2 = this.visualElement.projection && !this.visualElement.projection.layout ? this.visualElement.projection.measure(!1) : this.visualElement.projection?.layout, prevConstraints = this.constraints;
|
|
20276
20182
|
dragConstraints && isRefObject(dragConstraints) ? this.constraints || (this.constraints = this.resolveRefConstraints()) : dragConstraints && layout2 ? this.constraints = calcRelativeConstraints(layout2.layoutBox, dragConstraints) : this.constraints = !1, this.elastic = resolveDragElastic(dragElastic), prevConstraints !== this.constraints && layout2 && this.constraints && !this.hasMutatedConstraints && eachAxis((axis) => {
|
|
20277
20183
|
this.constraints !== !1 && this.getAxisMotionValue(axis) && (this.constraints[axis] = rebaseAxisConstraints(layout2.layoutBox[axis], this.constraints[axis]));
|
|
20278
20184
|
});
|
|
@@ -20321,14 +20227,10 @@ class VisualElementDragControls {
|
|
|
20321
20227
|
eachAxis((axis) => this.getAxisMotionValue(axis).stop());
|
|
20322
20228
|
}
|
|
20323
20229
|
pauseAnimation() {
|
|
20324
|
-
eachAxis((axis) =>
|
|
20325
|
-
var _a;
|
|
20326
|
-
return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.pause();
|
|
20327
|
-
});
|
|
20230
|
+
eachAxis((axis) => this.getAxisMotionValue(axis).animation?.pause());
|
|
20328
20231
|
}
|
|
20329
20232
|
getAnimationState(axis) {
|
|
20330
|
-
|
|
20331
|
-
return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.state;
|
|
20233
|
+
return this.getAxisMotionValue(axis).animation?.state;
|
|
20332
20234
|
}
|
|
20333
20235
|
/**
|
|
20334
20236
|
* Drag works differently depending on which props are provided.
|
|
@@ -20923,21 +20825,19 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
20923
20825
|
};
|
|
20924
20826
|
}
|
|
20925
20827
|
measurePageBox() {
|
|
20926
|
-
var _a;
|
|
20927
20828
|
const { visualElement } = this.options;
|
|
20928
20829
|
if (!visualElement)
|
|
20929
20830
|
return createBox();
|
|
20930
20831
|
const box = visualElement.measureViewportBox();
|
|
20931
|
-
if (!(
|
|
20832
|
+
if (!(this.scroll?.wasRoot || this.path.some(checkNodeWasScrollRoot))) {
|
|
20932
20833
|
const { scroll } = this.root;
|
|
20933
20834
|
scroll && (translateAxis(box.x, scroll.offset.x), translateAxis(box.y, scroll.offset.y));
|
|
20934
20835
|
}
|
|
20935
20836
|
return box;
|
|
20936
20837
|
}
|
|
20937
20838
|
removeElementScroll(box) {
|
|
20938
|
-
var _a;
|
|
20939
20839
|
const boxWithoutScroll = createBox();
|
|
20940
|
-
if (copyBoxInto(boxWithoutScroll, box),
|
|
20840
|
+
if (copyBoxInto(boxWithoutScroll, box), this.scroll?.wasRoot)
|
|
20941
20841
|
return boxWithoutScroll;
|
|
20942
20842
|
for (let i2 = 0; i2 < this.path.length; i2++) {
|
|
20943
20843
|
const node2 = this.path[i2], { scroll, options } = node2;
|
|
@@ -20987,11 +20887,10 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
20987
20887
|
this.relativeParent && this.relativeParent.resolvedRelativeTargetAt !== frameData.timestamp && this.relativeParent.resolveTargetDelta(!0);
|
|
20988
20888
|
}
|
|
20989
20889
|
resolveTargetDelta(forceRecalculation = !1) {
|
|
20990
|
-
var _a;
|
|
20991
20890
|
const lead = this.getLead();
|
|
20992
20891
|
this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty), this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty), this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty);
|
|
20993
20892
|
const isShared = !!this.resumingFrom || this !== lead;
|
|
20994
|
-
if (!(forceRecalculation || isShared && this.isSharedProjectionDirty || this.isProjectionDirty ||
|
|
20893
|
+
if (!(forceRecalculation || isShared && this.isSharedProjectionDirty || this.isProjectionDirty || this.parent?.isProjectionDirty || this.attemptToResolveRelativeTarget || this.root.updateBlockedByResize))
|
|
20995
20894
|
return;
|
|
20996
20895
|
const { layout: layout2, layoutId } = this.options;
|
|
20997
20896
|
if (!(!this.layout || !(layout2 || layoutId))) {
|
|
@@ -21014,10 +20913,9 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
21014
20913
|
return !!((this.relativeTarget || this.targetDelta || this.options.layoutRoot) && this.layout);
|
|
21015
20914
|
}
|
|
21016
20915
|
calcProjection() {
|
|
21017
|
-
var _a;
|
|
21018
20916
|
const lead = this.getLead(), isShared = !!this.resumingFrom || this !== lead;
|
|
21019
20917
|
let canSkip = !0;
|
|
21020
|
-
if ((this.isProjectionDirty ||
|
|
20918
|
+
if ((this.isProjectionDirty || this.parent?.isProjectionDirty) && (canSkip = !1), isShared && (this.isSharedProjectionDirty || this.isTransformDirty) && (canSkip = !1), this.resolvedRelativeTargetAt === frameData.timestamp && (canSkip = !1), canSkip)
|
|
21021
20919
|
return;
|
|
21022
20920
|
const { layout: layout2, layoutId } = this.options;
|
|
21023
20921
|
if (this.isTreeAnimating = !!(this.parent && this.parent.isTreeAnimating || this.currentAnimation || this.pendingAnimation), this.isTreeAnimating || (this.targetDelta = this.relativeTarget = void 0), !this.layout || !(layout2 || layoutId))
|
|
@@ -21039,8 +20937,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
21039
20937
|
this.isVisible = !0;
|
|
21040
20938
|
}
|
|
21041
20939
|
scheduleRender(notifyAll = !0) {
|
|
21042
|
-
|
|
21043
|
-
if ((_a = this.options.visualElement) === null || _a === void 0 || _a.scheduleRender(), notifyAll) {
|
|
20940
|
+
if (this.options.visualElement?.scheduleRender(), notifyAll) {
|
|
21044
20941
|
const stack = this.getStack();
|
|
21045
20942
|
stack && stack.scheduleRender();
|
|
21046
20943
|
}
|
|
@@ -21110,14 +21007,12 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
21110
21007
|
return stack ? stack.lead === this : !0;
|
|
21111
21008
|
}
|
|
21112
21009
|
getLead() {
|
|
21113
|
-
var _a;
|
|
21114
21010
|
const { layoutId } = this.options;
|
|
21115
|
-
return layoutId ?
|
|
21011
|
+
return layoutId ? this.getStack()?.lead || this : this;
|
|
21116
21012
|
}
|
|
21117
21013
|
getPrevLead() {
|
|
21118
|
-
var _a;
|
|
21119
21014
|
const { layoutId } = this.options;
|
|
21120
|
-
return layoutId ?
|
|
21015
|
+
return layoutId ? this.getStack()?.prevLead : void 0;
|
|
21121
21016
|
}
|
|
21122
21017
|
getStack() {
|
|
21123
21018
|
const { layoutId } = this.options;
|
|
@@ -21150,7 +21045,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
21150
21045
|
visualElement.scheduleRender();
|
|
21151
21046
|
}
|
|
21152
21047
|
getProjectionStyles(styleProp) {
|
|
21153
|
-
var _a, _b;
|
|
21154
21048
|
if (!this.instance || this.isSVG)
|
|
21155
21049
|
return;
|
|
21156
21050
|
if (!this.isVisible)
|
|
@@ -21168,7 +21062,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
21168
21062
|
const valuesToRender = lead.animationValues || lead.latestValues;
|
|
21169
21063
|
this.applyTransformsToTarget(), styles.transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender), transformTemplate && (styles.transform = transformTemplate(valuesToRender, styles.transform));
|
|
21170
21064
|
const { x: x2, y: y2 } = this.projectionDelta;
|
|
21171
|
-
styles.transformOrigin = `${x2.origin * 100}% ${y2.origin * 100}% 0`, lead.animationValues ? styles.opacity = lead === this ?
|
|
21065
|
+
styles.transformOrigin = `${x2.origin * 100}% ${y2.origin * 100}% 0`, lead.animationValues ? styles.opacity = lead === this ? valuesToRender.opacity ?? this.latestValues.opacity ?? 1 : this.preserveOpacity ? this.latestValues.opacity : valuesToRender.opacityExit : styles.opacity = lead === this ? valuesToRender.opacity !== void 0 ? valuesToRender.opacity : "" : valuesToRender.opacityExit !== void 0 ? valuesToRender.opacityExit : 0;
|
|
21172
21066
|
for (const key2 in scaleCorrectors) {
|
|
21173
21067
|
if (valuesToRender[key2] === void 0)
|
|
21174
21068
|
continue;
|
|
@@ -21187,10 +21081,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
21187
21081
|
}
|
|
21188
21082
|
// Only run on root
|
|
21189
21083
|
resetTree() {
|
|
21190
|
-
this.root.nodes.forEach((node2) =>
|
|
21191
|
-
var _a;
|
|
21192
|
-
return (_a = node2.currentAnimation) === null || _a === void 0 ? void 0 : _a.stop();
|
|
21193
|
-
}), this.root.nodes.forEach(clearMeasurements), this.root.sharedNodes.clear();
|
|
21084
|
+
this.root.nodes.forEach((node2) => node2.currentAnimation?.stop()), this.root.nodes.forEach(clearMeasurements), this.root.sharedNodes.clear();
|
|
21194
21085
|
}
|
|
21195
21086
|
};
|
|
21196
21087
|
}
|
|
@@ -21198,8 +21089,7 @@ function updateLayout(node2) {
|
|
|
21198
21089
|
node2.updateLayout();
|
|
21199
21090
|
}
|
|
21200
21091
|
function notifyLayoutUpdate(node2) {
|
|
21201
|
-
|
|
21202
|
-
const snapshot = ((_a = node2.resumeFrom) === null || _a === void 0 ? void 0 : _a.snapshot) || node2.snapshot;
|
|
21092
|
+
const snapshot = node2.resumeFrom?.snapshot || node2.snapshot;
|
|
21203
21093
|
if (node2.isLead() && node2.layout && snapshot && node2.hasListeners("didUpdate")) {
|
|
21204
21094
|
const { layoutBox: layout2, measuredBox: measuredLayout } = node2.layout, { animationType } = node2.options, isShared = snapshot.source !== node2.layout.source;
|
|
21205
21095
|
animationType === "size" ? eachAxis((axis) => {
|
|
@@ -21301,8 +21191,7 @@ function shouldAnimatePositionOnly(animationType, snapshot, layout2) {
|
|
|
21301
21191
|
return animationType === "position" || animationType === "preserve-aspect" && !isNear(aspectRatio(snapshot), aspectRatio(layout2), 0.2);
|
|
21302
21192
|
}
|
|
21303
21193
|
function checkNodeWasScrollRoot(node2) {
|
|
21304
|
-
|
|
21305
|
-
return node2 !== node2.root && ((_a = node2.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot);
|
|
21194
|
+
return node2 !== node2.root && node2.scroll?.wasRoot;
|
|
21306
21195
|
}
|
|
21307
21196
|
const DocumentProjectionNode = createProjectionNode({
|
|
21308
21197
|
attachResizeListener: (ref, notify2) => addDomEvent(ref, "resize", notify2),
|
|
@@ -21339,6 +21228,43 @@ const DocumentProjectionNode = createProjectionNode({
|
|
|
21339
21228
|
MeasureLayout
|
|
21340
21229
|
}
|
|
21341
21230
|
};
|
|
21231
|
+
function resolveElements(elementOrSelector, scope, selectorCache) {
|
|
21232
|
+
if (elementOrSelector instanceof EventTarget)
|
|
21233
|
+
return [elementOrSelector];
|
|
21234
|
+
if (typeof elementOrSelector == "string") {
|
|
21235
|
+
let root2 = document;
|
|
21236
|
+
const elements = selectorCache?.[elementOrSelector] ?? root2.querySelectorAll(elementOrSelector);
|
|
21237
|
+
return elements ? Array.from(elements) : [];
|
|
21238
|
+
}
|
|
21239
|
+
return Array.from(elementOrSelector);
|
|
21240
|
+
}
|
|
21241
|
+
function setupGesture(elementOrSelector, options) {
|
|
21242
|
+
const elements = resolveElements(elementOrSelector), gestureAbortController = new AbortController(), eventOptions = {
|
|
21243
|
+
passive: !0,
|
|
21244
|
+
...options,
|
|
21245
|
+
signal: gestureAbortController.signal
|
|
21246
|
+
};
|
|
21247
|
+
return [elements, eventOptions, () => gestureAbortController.abort()];
|
|
21248
|
+
}
|
|
21249
|
+
function isValidHover(event) {
|
|
21250
|
+
return !(event.pointerType === "touch" || isDragActive());
|
|
21251
|
+
}
|
|
21252
|
+
function hover(elementOrSelector, onHoverStart, options = {}) {
|
|
21253
|
+
const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options), onPointerEnter = (enterEvent) => {
|
|
21254
|
+
if (!isValidHover(enterEvent))
|
|
21255
|
+
return;
|
|
21256
|
+
const { target } = enterEvent, onHoverEnd = onHoverStart(target, enterEvent);
|
|
21257
|
+
if (typeof onHoverEnd != "function" || !target)
|
|
21258
|
+
return;
|
|
21259
|
+
const onPointerLeave = (leaveEvent) => {
|
|
21260
|
+
isValidHover(leaveEvent) && (onHoverEnd(leaveEvent), target.removeEventListener("pointerleave", onPointerLeave));
|
|
21261
|
+
};
|
|
21262
|
+
target.addEventListener("pointerleave", onPointerLeave, eventOptions);
|
|
21263
|
+
};
|
|
21264
|
+
return elements.forEach((element) => {
|
|
21265
|
+
element.addEventListener("pointerenter", onPointerEnter, eventOptions);
|
|
21266
|
+
}), cancel;
|
|
21267
|
+
}
|
|
21342
21268
|
function handleHoverEvent(node2, event, lifecycle) {
|
|
21343
21269
|
const { props } = node2;
|
|
21344
21270
|
node2.animationState && props.whileHover && node2.animationState.setActive("whileHover", lifecycle === "Start");
|
|
@@ -21375,6 +21301,62 @@ class FocusGesture extends Feature {
|
|
|
21375
21301
|
unmount() {
|
|
21376
21302
|
}
|
|
21377
21303
|
}
|
|
21304
|
+
const isNodeOrChild = (parent, child) => child ? parent === child ? !0 : isNodeOrChild(parent, child.parentElement) : !1, focusableElements = /* @__PURE__ */ new Set([
|
|
21305
|
+
"BUTTON",
|
|
21306
|
+
"INPUT",
|
|
21307
|
+
"SELECT",
|
|
21308
|
+
"TEXTAREA",
|
|
21309
|
+
"A"
|
|
21310
|
+
]);
|
|
21311
|
+
function isElementKeyboardAccessible(element) {
|
|
21312
|
+
return focusableElements.has(element.tagName) || element.tabIndex !== -1;
|
|
21313
|
+
}
|
|
21314
|
+
const isPressing = /* @__PURE__ */ new WeakSet();
|
|
21315
|
+
function filterEvents(callback) {
|
|
21316
|
+
return (event) => {
|
|
21317
|
+
event.key === "Enter" && callback(event);
|
|
21318
|
+
};
|
|
21319
|
+
}
|
|
21320
|
+
function firePointerEvent(target, type) {
|
|
21321
|
+
target.dispatchEvent(new PointerEvent("pointer" + type, { isPrimary: !0, bubbles: !0 }));
|
|
21322
|
+
}
|
|
21323
|
+
const enableKeyboardPress = (focusEvent, eventOptions) => {
|
|
21324
|
+
const element = focusEvent.currentTarget;
|
|
21325
|
+
if (!element)
|
|
21326
|
+
return;
|
|
21327
|
+
const handleKeydown = filterEvents(() => {
|
|
21328
|
+
if (isPressing.has(element))
|
|
21329
|
+
return;
|
|
21330
|
+
firePointerEvent(element, "down");
|
|
21331
|
+
const handleKeyup = filterEvents(() => {
|
|
21332
|
+
firePointerEvent(element, "up");
|
|
21333
|
+
}), handleBlur = () => firePointerEvent(element, "cancel");
|
|
21334
|
+
element.addEventListener("keyup", handleKeyup, eventOptions), element.addEventListener("blur", handleBlur, eventOptions);
|
|
21335
|
+
});
|
|
21336
|
+
element.addEventListener("keydown", handleKeydown, eventOptions), element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
|
|
21337
|
+
};
|
|
21338
|
+
function isValidPressEvent(event) {
|
|
21339
|
+
return isPrimaryPointer(event) && !isDragActive();
|
|
21340
|
+
}
|
|
21341
|
+
function press(targetOrSelector, onPressStart, options = {}) {
|
|
21342
|
+
const [targets, eventOptions, cancelEvents] = setupGesture(targetOrSelector, options), startPress = (startEvent) => {
|
|
21343
|
+
const target = startEvent.currentTarget;
|
|
21344
|
+
if (!isValidPressEvent(startEvent) || isPressing.has(target))
|
|
21345
|
+
return;
|
|
21346
|
+
isPressing.add(target);
|
|
21347
|
+
const onPressEnd = onPressStart(target, startEvent), onPointerEnd = (endEvent, success) => {
|
|
21348
|
+
window.removeEventListener("pointerup", onPointerUp), window.removeEventListener("pointercancel", onPointerCancel), !(!isValidPressEvent(endEvent) || !isPressing.has(target)) && (isPressing.delete(target), typeof onPressEnd == "function" && onPressEnd(endEvent, { success }));
|
|
21349
|
+
}, onPointerUp = (upEvent) => {
|
|
21350
|
+
onPointerEnd(upEvent, target === window || target === document || options.useGlobalTarget || isNodeOrChild(target, upEvent.target));
|
|
21351
|
+
}, onPointerCancel = (cancelEvent) => {
|
|
21352
|
+
onPointerEnd(cancelEvent, !1);
|
|
21353
|
+
};
|
|
21354
|
+
window.addEventListener("pointerup", onPointerUp, eventOptions), window.addEventListener("pointercancel", onPointerCancel, eventOptions);
|
|
21355
|
+
};
|
|
21356
|
+
return targets.forEach((target) => {
|
|
21357
|
+
(options.useGlobalTarget ? window : target).addEventListener("pointerdown", startPress, eventOptions), target instanceof HTMLElement && (target.addEventListener("focus", (event) => enableKeyboardPress(event, eventOptions)), !isElementKeyboardAccessible(target) && !target.hasAttribute("tabindex") && (target.tabIndex = 0));
|
|
21358
|
+
}), cancelEvents;
|
|
21359
|
+
}
|
|
21378
21360
|
function handlePressEvent(node2, event, lifecycle) {
|
|
21379
21361
|
const { props } = node2;
|
|
21380
21362
|
if (node2.current instanceof HTMLButtonElement && node2.current.disabled)
|
|
@@ -21665,8 +21647,7 @@ class VisualElement {
|
|
|
21665
21647
|
* directly from the instance (which might have performance implications).
|
|
21666
21648
|
*/
|
|
21667
21649
|
readValue(key2, target) {
|
|
21668
|
-
|
|
21669
|
-
let value = this.latestValues[key2] !== void 0 || !this.current ? this.latestValues[key2] : (_a = this.getBaseTargetFromProps(this.props, key2)) !== null && _a !== void 0 ? _a : this.readValueFromInstance(this.current, key2, this.options);
|
|
21650
|
+
let value = this.latestValues[key2] !== void 0 || !this.current ? this.latestValues[key2] : this.getBaseTargetFromProps(this.props, key2) ?? this.readValueFromInstance(this.current, key2, this.options);
|
|
21670
21651
|
return value != null && (typeof value == "string" && (isNumericalString(value) || isZeroValueString(value)) ? value = parseFloat(value) : !findValueType(value) && complex.test(target) && (value = getAnimatableNone(key2, target)), this.setBaseTarget(key2, isMotionValue(value) ? value.get() : value)), isMotionValue(value) ? value.get() : value;
|
|
21671
21652
|
}
|
|
21672
21653
|
/**
|
|
@@ -21681,11 +21662,10 @@ class VisualElement {
|
|
|
21681
21662
|
* props.
|
|
21682
21663
|
*/
|
|
21683
21664
|
getBaseTarget(key2) {
|
|
21684
|
-
var _a;
|
|
21685
21665
|
const { initial } = this.props;
|
|
21686
21666
|
let valueFromInitial;
|
|
21687
21667
|
if (typeof initial == "string" || typeof initial == "object") {
|
|
21688
|
-
const variant = resolveVariantFromProps(this.props, initial,
|
|
21668
|
+
const variant = resolveVariantFromProps(this.props, initial, this.presenceContext?.custom);
|
|
21689
21669
|
variant && (valueFromInitial = variant[key2]);
|
|
21690
21670
|
}
|
|
21691
21671
|
if (initial && valueFromInitial !== void 0)
|
|
@@ -21823,8 +21803,7 @@ function calculateRepeatDuration(duration, repeat, _repeatDelay) {
|
|
|
21823
21803
|
return duration * (repeat + 1);
|
|
21824
21804
|
}
|
|
21825
21805
|
function calcNextTime(current, next, prev, labels) {
|
|
21826
|
-
|
|
21827
|
-
return typeof next == "number" ? next : next.startsWith("-") || next.startsWith("+") ? Math.max(0, current + parseFloat(next)) : next === "<" ? prev : (_a = labels.get(next)) !== null && _a !== void 0 ? _a : current;
|
|
21806
|
+
return typeof next == "number" ? next : next.startsWith("-") || next.startsWith("+") ? Math.max(0, current + parseFloat(next)) : next === "<" ? prev : labels.get(next) ?? current;
|
|
21828
21807
|
}
|
|
21829
21808
|
function eraseKeyframes(sequence, startTime, endTime) {
|
|
21830
21809
|
for (let i2 = 0; i2 < sequence.length; i2++) {
|
|
@@ -22044,7 +22023,7 @@ function isSequence(value) {
|
|
|
22044
22023
|
function createScopedAnimate(scope) {
|
|
22045
22024
|
function scopedAnimate(subjectOrSequence, optionsOrKeyframes, options) {
|
|
22046
22025
|
let animations2 = [];
|
|
22047
|
-
return isSequence(subjectOrSequence) ? animations2 = animateSequence(subjectOrSequence, optionsOrKeyframes, scope) : animations2 = animateSubject(subjectOrSequence, optionsOrKeyframes, options, scope), new
|
|
22026
|
+
return isSequence(subjectOrSequence) ? animations2 = animateSequence(subjectOrSequence, optionsOrKeyframes, scope) : animations2 = animateSubject(subjectOrSequence, optionsOrKeyframes, options, scope), new GroupAnimationWithThen(animations2);
|
|
22048
22027
|
}
|
|
22049
22028
|
return scopedAnimate;
|
|
22050
22029
|
}
|
|
@@ -24795,7 +24774,7 @@ const isEdgeBase = (element) => "id" in element && "source" in element && "targe
|
|
|
24795
24774
|
x: node2.position.x - offsetX,
|
|
24796
24775
|
y: node2.position.y - offsetY
|
|
24797
24776
|
};
|
|
24798
|
-
}, getNodesBounds = (nodes, params = { nodeOrigin: [0, 0]
|
|
24777
|
+
}, getNodesBounds = (nodes, params = { nodeOrigin: [0, 0] }) => {
|
|
24799
24778
|
if (nodes.length === 0)
|
|
24800
24779
|
return { x: 0, y: 0, width: 0, height: 0 };
|
|
24801
24780
|
const box = nodes.reduce((currBox, nodeOrId) => {
|
|
@@ -25975,7 +25954,8 @@ function createPanOnScrollHandler({ zoomPanValues, noWheelClassName, d3Selection
|
|
|
25975
25954
|
}
|
|
25976
25955
|
function createZoomOnScrollHandler({ noWheelClassName, preventScrolling, d3ZoomHandler }) {
|
|
25977
25956
|
return function(event, d2) {
|
|
25978
|
-
|
|
25957
|
+
const isWheel = event.type === "wheel", preventZoom = !preventScrolling && isWheel && !event.ctrlKey, hasNoWheelClass = isWrappedWithClass(event, noWheelClassName);
|
|
25958
|
+
if (event.ctrlKey && isWheel && hasNoWheelClass && event.preventDefault(), preventZoom || hasNoWheelClass)
|
|
25979
25959
|
return null;
|
|
25980
25960
|
event.preventDefault(), d3ZoomHandler.call(this, event, d2);
|
|
25981
25961
|
};
|
|
@@ -26331,7 +26311,7 @@ function XYResizer({ domNode, nodeId, getStoreItems, onChange, onEnd }) {
|
|
|
26331
26311
|
}), nextValues = { ...prevValues, direction };
|
|
26332
26312
|
shouldResize?.(event, nextValues) !== !1 && (onResize?.(event, nextValues), onChange(change, childChanges));
|
|
26333
26313
|
}).on("end", (event) => {
|
|
26334
|
-
onResizeEnd?.(event, { ...prevValues }), onEnd?.();
|
|
26314
|
+
onResizeEnd?.(event, { ...prevValues }), onEnd?.({ ...prevValues });
|
|
26335
26315
|
});
|
|
26336
26316
|
selection2.call(dragHandler);
|
|
26337
26317
|
}
|
|
@@ -26804,12 +26784,12 @@ function BatchProvider({ children: children2 }) {
|
|
|
26804
26784
|
next = typeof payload == "function" ? payload(next) : payload;
|
|
26805
26785
|
if (hasDefaultNodes)
|
|
26806
26786
|
setNodes(next);
|
|
26807
|
-
else
|
|
26787
|
+
else {
|
|
26808
26788
|
const changes = getElementsDiffChanges({
|
|
26809
26789
|
items: next,
|
|
26810
26790
|
lookup: nodeLookup
|
|
26811
26791
|
});
|
|
26812
|
-
changes.length > 0 ? onNodesChange(changes) : fitViewQueued && window.requestAnimationFrame(() => {
|
|
26792
|
+
changes.length > 0 ? onNodesChange?.(changes) : fitViewQueued && window.requestAnimationFrame(() => {
|
|
26813
26793
|
const { fitViewQueued: fitViewQueued2, nodes: nodes2, setNodes: setNodes2 } = store.getState();
|
|
26814
26794
|
fitViewQueued2 && setNodes2(nodes2);
|
|
26815
26795
|
});
|
|
@@ -27678,7 +27658,7 @@ function getSimpleBezierPath({ sourceX, sourceY, sourcePosition = Position.Botto
|
|
|
27678
27658
|
];
|
|
27679
27659
|
}
|
|
27680
27660
|
function createSimpleBezierEdge(params) {
|
|
27681
|
-
return memo$2(({ id: id2, sourceX, sourceY, targetX, targetY, sourcePosition
|
|
27661
|
+
return memo$2(({ id: id2, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, label: label2, labelStyle, labelShowBg, labelBgStyle, labelBgPadding, labelBgBorderRadius, style: style2, markerEnd, markerStart, interactionWidth }) => {
|
|
27682
27662
|
const [path, labelX, labelY] = getSimpleBezierPath({
|
|
27683
27663
|
sourceX,
|
|
27684
27664
|
sourceY,
|
|
@@ -28359,7 +28339,7 @@ function MiniMapNodes({
|
|
|
28359
28339
|
}
|
|
28360
28340
|
function NodeComponentWrapperInner({ id: id2, nodeColorFunc, nodeStrokeColorFunc, nodeClassNameFunc, nodeBorderRadius, nodeStrokeWidth, shapeRendering, NodeComponent, onClick }) {
|
|
28361
28341
|
const { node: node2, x: x2, y: y2, width, height } = useStore$1((s2) => {
|
|
28362
|
-
const
|
|
28342
|
+
const { internals } = s2.nodeLookup.get(id2), node22 = internals.userNode, { x: x22, y: y22 } = internals.positionAbsolute, { width: width2, height: height2 } = getNodeDimensions(node22);
|
|
28363
28343
|
return {
|
|
28364
28344
|
node: node22,
|
|
28365
28345
|
x: x22,
|
|
@@ -28442,7 +28422,7 @@ function MiniMapComponent({
|
|
|
28442
28422
|
const [x22, y22] = minimapInstance.current?.pointer(event) || [0, 0];
|
|
28443
28423
|
onClick(event, { x: x22, y: y22 });
|
|
28444
28424
|
} : void 0, onSvgNodeClick = onNodeClick ? useCallback((event, nodeId) => {
|
|
28445
|
-
const node2 = store.getState().nodeLookup.get(nodeId);
|
|
28425
|
+
const node2 = store.getState().nodeLookup.get(nodeId).internals.userNode;
|
|
28446
28426
|
onNodeClick(event, node2);
|
|
28447
28427
|
}, []) : void 0;
|
|
28448
28428
|
return jsx(Panel, { position, style: {
|
|
@@ -28453,7 +28433,7 @@ function MiniMapComponent({
|
|
|
28453
28433
|
"--xy-minimap-mask-stroke-width-props": typeof maskStrokeWidth == "number" ? maskStrokeWidth * viewScale : void 0,
|
|
28454
28434
|
"--xy-minimap-node-background-color-props": typeof nodeColor == "string" ? nodeColor : void 0,
|
|
28455
28435
|
"--xy-minimap-node-stroke-color-props": typeof nodeStrokeColor == "string" ? nodeStrokeColor : void 0,
|
|
28456
|
-
"--xy-minimap-node-stroke-width-props": typeof nodeStrokeWidth == "
|
|
28436
|
+
"--xy-minimap-node-stroke-width-props": typeof nodeStrokeWidth == "number" ? nodeStrokeWidth : void 0
|
|
28457
28437
|
}, className: cc(["react-flow__minimap", className]), "data-testid": "rf__minimap", children: jsxs("svg", { width: elementWidth, height: elementHeight, viewBox: `${x2} ${y2} ${width} ${height}`, className: "react-flow__minimap-svg", role: "img", "aria-labelledby": labelledBy, ref: svg, onClick: onSvgClick, children: [ariaLabel && jsx("title", { id: labelledBy, children: ariaLabel }), jsx(MiniMapNodes$1, { onClick: onSvgNodeClick, nodeColor, nodeStrokeColor, nodeBorderRadius, nodeClassName, nodeStrokeWidth, nodeComponent }), jsx("path", { className: "react-flow__minimap-mask", d: `M${x2 - offset2},${y2 - offset2}h${width + offset2 * 2}v${height + offset2 * 2}h${-width - offset2 * 2}z
|
|
28458
28438
|
M${viewBB.x},${viewBB.y}h${viewBB.width}v${viewBB.height}h${-viewBB.width}z`, fillRule: "evenodd", pointerEvents: "none" })] }) });
|
|
28459
28439
|
}
|
|
@@ -28524,11 +28504,15 @@ function ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle
|
|
|
28524
28504
|
}
|
|
28525
28505
|
triggerNodeChanges(changes);
|
|
28526
28506
|
},
|
|
28527
|
-
onEnd: () => {
|
|
28507
|
+
onEnd: ({ width, height }) => {
|
|
28528
28508
|
const dimensionChange = {
|
|
28529
28509
|
id: id2,
|
|
28530
28510
|
type: "dimensions",
|
|
28531
|
-
resizing: !1
|
|
28511
|
+
resizing: !1,
|
|
28512
|
+
dimensions: {
|
|
28513
|
+
width,
|
|
28514
|
+
height
|
|
28515
|
+
}
|
|
28532
28516
|
};
|
|
28533
28517
|
store.getState().triggerNodeChanges([dimensionChange]);
|
|
28534
28518
|
}
|
|
@@ -28599,7 +28583,7 @@ function NodeToolbar({ nodeId, children: children2, className, style: style2, is
|
|
|
28599
28583
|
}
|
|
28600
28584
|
var s$2 = { done: !1, hasNext: !1 };
|
|
28601
28585
|
function C(t2, ...o2) {
|
|
28602
|
-
let n2 = t2, u2 = o2.map((e2) => "lazy" in e2 ? y$
|
|
28586
|
+
let n2 = t2, u2 = o2.map((e2) => "lazy" in e2 ? y$4(e2) : void 0), p2 = 0;
|
|
28603
28587
|
for (; p2 < o2.length; ) {
|
|
28604
28588
|
if (u2[p2] === void 0 || !B(n2)) {
|
|
28605
28589
|
let i2 = o2[p2];
|
|
@@ -28635,14 +28619,14 @@ function f$2(t2, o2, n2) {
|
|
|
28635
28619
|
}
|
|
28636
28620
|
return p2.hasNext && o2.push(u2), e2;
|
|
28637
28621
|
}
|
|
28638
|
-
function y$
|
|
28622
|
+
function y$4(t2) {
|
|
28639
28623
|
let { lazy: o2, lazyArgs: n2 } = t2, u2 = o2(...n2);
|
|
28640
28624
|
return Object.assign(u2, { isSingle: o2.single ?? !1, index: 0, items: [] });
|
|
28641
28625
|
}
|
|
28642
28626
|
function B(t2) {
|
|
28643
28627
|
return typeof t2 == "string" || typeof t2 == "object" && t2 !== null && Symbol.iterator in t2;
|
|
28644
28628
|
}
|
|
28645
|
-
function y$
|
|
28629
|
+
function y$3(t2, i2) {
|
|
28646
28630
|
let a2 = i2.length - t2.length;
|
|
28647
28631
|
if (a2 === 1) {
|
|
28648
28632
|
let [n2, ...r2] = i2;
|
|
@@ -28668,7 +28652,7 @@ function r$6(...t2) {
|
|
|
28668
28652
|
return u$7(Object.values, t2);
|
|
28669
28653
|
}
|
|
28670
28654
|
function i$8(...e2) {
|
|
28671
|
-
return y$
|
|
28655
|
+
return y$3(a$6, e2);
|
|
28672
28656
|
}
|
|
28673
28657
|
function a$6() {
|
|
28674
28658
|
let e2 = /* @__PURE__ */ new Set();
|
|
@@ -28761,7 +28745,7 @@ function i$4(e2, o2) {
|
|
|
28761
28745
|
for (let [r2, n2] of Object.entries(e2)) o2(n2, r2, e2) && (t2[r2] = n2);
|
|
28762
28746
|
return t2;
|
|
28763
28747
|
}
|
|
28764
|
-
function y$
|
|
28748
|
+
function y$2(...t2) {
|
|
28765
28749
|
return u$7(f$1, t2);
|
|
28766
28750
|
}
|
|
28767
28751
|
function f$1(t2, e2) {
|
|
@@ -28874,7 +28858,7 @@ function u$3(n2, e2) {
|
|
|
28874
28858
|
if (typeof n2 != "object" || typeof e2 != "object" || n2 === null || e2 === null || Object.getPrototypeOf(n2) !== Object.getPrototypeOf(e2)) return !1;
|
|
28875
28859
|
if (Array.isArray(n2)) return l$1(n2, e2);
|
|
28876
28860
|
if (n2 instanceof Map) return a$3(n2, e2);
|
|
28877
|
-
if (n2 instanceof Set) return c$
|
|
28861
|
+
if (n2 instanceof Set) return c$1(n2, e2);
|
|
28878
28862
|
if (n2 instanceof Date) return n2.getTime() === e2.getTime();
|
|
28879
28863
|
if (n2 instanceof RegExp) return n2.toString() === e2.toString();
|
|
28880
28864
|
if (Object.keys(n2).length !== Object.keys(e2).length) return !1;
|
|
@@ -28891,7 +28875,7 @@ function a$3(n2, e2) {
|
|
|
28891
28875
|
for (let [r2, t2] of n2.entries()) if (!e2.has(r2) || !u$3(t2, e2.get(r2))) return !1;
|
|
28892
28876
|
return !0;
|
|
28893
28877
|
}
|
|
28894
|
-
function c$
|
|
28878
|
+
function c$1(n2, e2) {
|
|
28895
28879
|
if (n2.size !== e2.size) return !1;
|
|
28896
28880
|
let r2 = [...e2];
|
|
28897
28881
|
for (let t2 of n2) {
|
|
@@ -28905,23 +28889,12 @@ function c$2(n2, e2) {
|
|
|
28905
28889
|
return !0;
|
|
28906
28890
|
}
|
|
28907
28891
|
function j(...e2) {
|
|
28908
|
-
return u$7(c
|
|
28892
|
+
return u$7(c, e2);
|
|
28909
28893
|
}
|
|
28910
|
-
function c
|
|
28894
|
+
function c(e2, u2) {
|
|
28911
28895
|
for (let [t2, y2] of Object.entries(u2)) if (!Object.hasOwn(e2, t2) || !k(y2, e2[t2])) return !1;
|
|
28912
28896
|
return !0;
|
|
28913
28897
|
}
|
|
28914
|
-
function c(...e2) {
|
|
28915
|
-
return u$7(y$2, e2);
|
|
28916
|
-
}
|
|
28917
|
-
function y$2(e2, o2) {
|
|
28918
|
-
let r2 = {};
|
|
28919
|
-
for (let [a2, n2] of e2.entries()) {
|
|
28920
|
-
let d2 = o2(n2, a2, e2);
|
|
28921
|
-
r2[d2] = n2;
|
|
28922
|
-
}
|
|
28923
|
-
return r2;
|
|
28924
|
-
}
|
|
28925
28898
|
function i$2(...e2) {
|
|
28926
28899
|
return u$7(a$2, e2);
|
|
28927
28900
|
}
|
|
@@ -29013,70 +28986,64 @@ function useDebouncedEffect(callback, deps, delay2, maxWait = 0) {
|
|
|
29013
28986
|
useEffect(useDebouncedCallback(callback, deps, delay2, maxWait), deps);
|
|
29014
28987
|
}
|
|
29015
28988
|
const { valueOf, toString: toString$1 } = Object.prototype, isEqual = (a2, b2) => {
|
|
29016
|
-
|
|
29017
|
-
|
|
29018
|
-
|
|
29019
|
-
if (
|
|
28989
|
+
const visited = /* @__PURE__ */ new WeakMap(), inner2 = (a3, b3) => {
|
|
28990
|
+
if (a3 === b3)
|
|
28991
|
+
return !0;
|
|
28992
|
+
if (typeof a3 != "object" || typeof b3 != "object" || !a3 || !b3)
|
|
28993
|
+
return a3 !== a3 && b3 !== b3;
|
|
28994
|
+
if (Object.getPrototypeOf(a3) !== Object.getPrototypeOf(b3))
|
|
29020
28995
|
return !1;
|
|
29021
|
-
|
|
29022
|
-
|
|
29023
|
-
|
|
28996
|
+
const { constructor } = a3;
|
|
28997
|
+
if (constructor === Date)
|
|
28998
|
+
return a3.getTime() === b3.getTime();
|
|
28999
|
+
if (constructor === RegExp)
|
|
29000
|
+
return a3.source === b3.source && a3.flags === b3.flags;
|
|
29001
|
+
if (constructor === Set) {
|
|
29002
|
+
if (a3.size !== b3.size)
|
|
29024
29003
|
return !1;
|
|
29025
|
-
for (
|
|
29026
|
-
if (!
|
|
29004
|
+
for (const value of a3)
|
|
29005
|
+
if (!b3.has(value))
|
|
29027
29006
|
return !1;
|
|
29028
29007
|
return !0;
|
|
29029
29008
|
}
|
|
29030
|
-
if (
|
|
29031
|
-
|
|
29032
|
-
if (a2 instanceof Date)
|
|
29033
|
-
return a2.getTime() === b2.getTime();
|
|
29034
|
-
if (a2 instanceof Map && b2 instanceof Map) {
|
|
29035
|
-
if (a2.size !== b2.size)
|
|
29009
|
+
if (constructor === ArrayBuffer && (a3 = new DataView(a3), b3 = new DataView(b3)), constructor === DataView || ArrayBuffer.isView(a3)) {
|
|
29010
|
+
if (constructor !== DataView && (a3 = new DataView(a3.buffer), b3 = new DataView(b3.buffer)), a3.byteLength !== b3.byteLength)
|
|
29036
29011
|
return !1;
|
|
29037
|
-
for (
|
|
29038
|
-
if (
|
|
29012
|
+
for (let i2 = a3.byteLength; i2-- !== 0; )
|
|
29013
|
+
if (a3.getUint8(i2) !== b3.getUint8(i2))
|
|
29039
29014
|
return !1;
|
|
29040
29015
|
return !0;
|
|
29041
29016
|
}
|
|
29042
|
-
if (
|
|
29043
|
-
if (a2.size !== b2.size)
|
|
29044
|
-
return !1;
|
|
29045
|
-
for (const value of a2)
|
|
29046
|
-
if (!b2.has(value))
|
|
29047
|
-
return !1;
|
|
29017
|
+
if (visited.has(a3) && visited.get(a3) === b3)
|
|
29048
29018
|
return !0;
|
|
29049
|
-
|
|
29050
|
-
|
|
29051
|
-
const { byteLength } = a2;
|
|
29052
|
-
if (byteLength !== b2.byteLength)
|
|
29019
|
+
if (visited.set(a3, b3), constructor === Array) {
|
|
29020
|
+
if (a3.length !== b3.length)
|
|
29053
29021
|
return !1;
|
|
29054
|
-
for (let i2 =
|
|
29055
|
-
if (
|
|
29022
|
+
for (let i2 = a3.length; i2-- !== 0; )
|
|
29023
|
+
if (!inner2(a3[i2], b3[i2]))
|
|
29056
29024
|
return !1;
|
|
29057
29025
|
return !0;
|
|
29058
29026
|
}
|
|
29059
|
-
if (
|
|
29060
|
-
|
|
29061
|
-
if (length !== b2.length)
|
|
29027
|
+
if (constructor === Map) {
|
|
29028
|
+
if (a3.size !== b3.size)
|
|
29062
29029
|
return !1;
|
|
29063
|
-
for (
|
|
29064
|
-
if (
|
|
29030
|
+
for (const entry of a3)
|
|
29031
|
+
if (!b3.has(entry[0]) || !inner2(entry[1], b3.get(entry[0])))
|
|
29065
29032
|
return !1;
|
|
29066
29033
|
return !0;
|
|
29067
29034
|
}
|
|
29068
|
-
if (
|
|
29069
|
-
return
|
|
29070
|
-
if (
|
|
29071
|
-
return
|
|
29072
|
-
const aKeys = Object.keys(
|
|
29035
|
+
if (a3.valueOf !== valueOf && typeof a3.valueOf == "function" && typeof b3.valueOf == "function")
|
|
29036
|
+
return a3.valueOf() === b3.valueOf();
|
|
29037
|
+
if (a3.toString !== toString$1 && typeof a3.toString == "function" && typeof b3.toString == "function")
|
|
29038
|
+
return a3.toString() === b3.toString();
|
|
29039
|
+
const aKeys = Object.keys(a3);
|
|
29073
29040
|
let key2;
|
|
29074
29041
|
for (let l2 = aKeys.length; l2-- !== 0; )
|
|
29075
|
-
if (key2 = aKeys[l2], !
|
|
29042
|
+
if (key2 = aKeys[l2], !Object.hasOwn(b3, key2) || !inner2(a3[key2], b3[key2]))
|
|
29076
29043
|
return !1;
|
|
29077
|
-
return Object.keys(
|
|
29078
|
-
}
|
|
29079
|
-
return a2
|
|
29044
|
+
return Object.keys(b3).length === aKeys.length;
|
|
29045
|
+
};
|
|
29046
|
+
return inner2(a2, b2);
|
|
29080
29047
|
};
|
|
29081
29048
|
function useDeepCompareEffect(callback, deps, effectHook = useEffect, ...effectHookRestArgs) {
|
|
29082
29049
|
useCustomCompareEffect(callback, deps, isEqual, effectHook, ...effectHookRestArgs);
|
|
@@ -29775,10 +29742,6 @@ function RootContainer({
|
|
|
29775
29742
|
Box,
|
|
29776
29743
|
{
|
|
29777
29744
|
className: cx("likec4-root", className),
|
|
29778
|
-
css: {
|
|
29779
|
-
// '--likec4-background-color': 'mantine.colors.body',
|
|
29780
|
-
// '--colors-likec4-background': 'var(--mantine-color-body)',
|
|
29781
|
-
},
|
|
29782
29745
|
ref,
|
|
29783
29746
|
...reduceGraphics && {
|
|
29784
29747
|
"data-likec4-reduced-graphics": !0
|
|
@@ -30977,8 +30940,8 @@ const cssTransparentBg = css({
|
|
|
30977
30940
|
edgesFocusable: !1,
|
|
30978
30941
|
nodesDraggable,
|
|
30979
30942
|
nodeDragThreshold: 4,
|
|
30980
|
-
nodeClickDistance:
|
|
30981
|
-
paneClickDistance:
|
|
30943
|
+
nodeClickDistance: 3,
|
|
30944
|
+
paneClickDistance: 3,
|
|
30982
30945
|
elevateNodesOnSelect: !1,
|
|
30983
30946
|
selectNodesOnDrag: !1,
|
|
30984
30947
|
onNodesChange,
|
|
@@ -31033,15 +30996,7 @@ const cssTransparentBg = css({
|
|
|
31033
30996
|
const square = useStore$1(selectDimensions);
|
|
31034
30997
|
return useUpdateEffect(onViewportResize, [square]), null;
|
|
31035
30998
|
};
|
|
31036
|
-
var xstateReact_cjs = {},
|
|
31037
|
-
function requireUseIsomorphicLayoutEffect_cjs() {
|
|
31038
|
-
return hasRequiredUseIsomorphicLayoutEffect_cjs || (hasRequiredUseIsomorphicLayoutEffect_cjs = 1, function(exports) {
|
|
31039
|
-
Object.defineProperty(exports, "__esModule", { value: !0 });
|
|
31040
|
-
var react = React__default, isClient = typeof document < "u", index2 = isClient ? react.useLayoutEffect : react.useEffect;
|
|
31041
|
-
exports.default = index2;
|
|
31042
|
-
}(useIsomorphicLayoutEffect_cjs)), useIsomorphicLayoutEffect_cjs;
|
|
31043
|
-
}
|
|
31044
|
-
var xstate_cjs = {}, xstateActors_cjs = {}, raise60cebf03_cjs = {}, xstateDev_cjs = {}, hasRequiredXstateDev_cjs;
|
|
30999
|
+
var xstateReact_cjs = {}, xstate_cjs = {}, xstateActors_cjs = {}, raise60cebf03_cjs = {}, xstateDev_cjs = {}, hasRequiredXstateDev_cjs;
|
|
31045
31000
|
function requireXstateDev_cjs() {
|
|
31046
31001
|
if (hasRequiredXstateDev_cjs) return xstateDev_cjs;
|
|
31047
31002
|
hasRequiredXstateDev_cjs = 1, Object.defineProperty(xstateDev_cjs, "__esModule", { value: !0 });
|
|
@@ -34571,7 +34526,7 @@ const curveCatmullRomOpen = function custom4(alpha2) {
|
|
|
34571
34526
|
return splitProps(props, actionBtnVariantKeys);
|
|
34572
34527
|
},
|
|
34573
34528
|
getVariantProps: actionBtnFn.getVariantProps
|
|
34574
|
-
}), compoundActionBtn = cva({
|
|
34529
|
+
}), MotionButton = /* @__PURE__ */ createMinimalMotionComponent("button"), MotionDiv = /* @__PURE__ */ createMinimalMotionComponent("div"), compoundActionBtn = cva({
|
|
34575
34530
|
base: {
|
|
34576
34531
|
transitionDuration: "normal",
|
|
34577
34532
|
"[data-compound-title-inverse] &": {
|
|
@@ -34622,7 +34577,7 @@ function CompoundActionButton({
|
|
|
34622
34577
|
"compound-action"
|
|
34623
34578
|
),
|
|
34624
34579
|
children: /* @__PURE__ */ jsx(
|
|
34625
|
-
|
|
34580
|
+
MotionDiv,
|
|
34626
34581
|
{
|
|
34627
34582
|
initial: !1,
|
|
34628
34583
|
animate: {
|
|
@@ -34680,7 +34635,7 @@ function CompoundDetailsButton({
|
|
|
34680
34635
|
),
|
|
34681
34636
|
onClick: stopPropagation$1,
|
|
34682
34637
|
children: /* @__PURE__ */ jsx(
|
|
34683
|
-
|
|
34638
|
+
MotionDiv,
|
|
34684
34639
|
{
|
|
34685
34640
|
initial: !1,
|
|
34686
34641
|
animate: {
|
|
@@ -35066,7 +35021,7 @@ const isSelected$1 = ".react-flow__edge.selected", edgeStroke = "--xy-edge-strok
|
|
|
35066
35021
|
fill: "[var(--xy-edge-stroke)]",
|
|
35067
35022
|
stroke: "[var(--xy-edge-stroke)]"
|
|
35068
35023
|
}), cssEdgePath = css({
|
|
35069
|
-
fill: "[none]",
|
|
35024
|
+
fill: "[none!]",
|
|
35070
35025
|
strokeDashoffset: 10,
|
|
35071
35026
|
_noReduceGraphics: {
|
|
35072
35027
|
transition: "stroke 130ms ease-out,stroke-width 130ms ease-out"
|
|
@@ -35601,18 +35556,20 @@ function arrowTypeToMarker(arrowType) {
|
|
|
35601
35556
|
}
|
|
35602
35557
|
}
|
|
35603
35558
|
const EdgePath = forwardRef(({
|
|
35604
|
-
|
|
35605
|
-
|
|
35606
|
-
|
|
35607
|
-
|
|
35608
|
-
|
|
35609
|
-
|
|
35559
|
+
edgeProps: {
|
|
35560
|
+
id: id2,
|
|
35561
|
+
data: {
|
|
35562
|
+
line,
|
|
35563
|
+
dir,
|
|
35564
|
+
tail,
|
|
35565
|
+
head
|
|
35566
|
+
},
|
|
35567
|
+
style: style2,
|
|
35568
|
+
interactionWidth
|
|
35610
35569
|
},
|
|
35570
|
+
onEdgePointerDown,
|
|
35611
35571
|
strokeWidth,
|
|
35612
|
-
svgPath
|
|
35613
|
-
style: style2,
|
|
35614
|
-
interactionWidth,
|
|
35615
|
-
onEdgePointerDown
|
|
35572
|
+
svgPath
|
|
35616
35573
|
}, svgPathRef) => {
|
|
35617
35574
|
let markerStartName = arrowTypeToMarker(tail), markerEndName = arrowTypeToMarker(head ?? "normal");
|
|
35618
35575
|
dir === "back" && ([markerStartName, markerEndName] = [markerEndName, markerStartName]);
|
|
@@ -35622,10 +35579,15 @@ const EdgePath = forwardRef(({
|
|
|
35622
35579
|
/* @__PURE__ */ jsx(
|
|
35623
35580
|
"path",
|
|
35624
35581
|
{
|
|
35625
|
-
className: cx(
|
|
35582
|
+
className: cx(
|
|
35583
|
+
"react-flow__edge-interaction",
|
|
35584
|
+
hideOnReducedGraphics,
|
|
35585
|
+
css({
|
|
35586
|
+
fill: "[none]",
|
|
35587
|
+
strokeOpacity: 0
|
|
35588
|
+
})
|
|
35589
|
+
),
|
|
35626
35590
|
d: svgPath,
|
|
35627
|
-
fill: "none",
|
|
35628
|
-
stroke: "transparent",
|
|
35629
35591
|
strokeWidth: interactionWidth ?? 10
|
|
35630
35592
|
}
|
|
35631
35593
|
),
|
|
@@ -35683,18 +35645,17 @@ const EdgePath = forwardRef(({
|
|
|
35683
35645
|
alignItems: "center"
|
|
35684
35646
|
});
|
|
35685
35647
|
function ElementActionButtons({
|
|
35686
|
-
id: id2,
|
|
35687
35648
|
selected: selected2 = !1,
|
|
35688
35649
|
data: {
|
|
35689
35650
|
hovered: isHovered = !1
|
|
35690
35651
|
},
|
|
35691
35652
|
buttons: buttons2
|
|
35692
35653
|
}) {
|
|
35693
|
-
const zoomTooSmall = useIsZoomTooSmall();
|
|
35654
|
+
const id2 = useId$1(), zoomTooSmall = useIsZoomTooSmall();
|
|
35694
35655
|
return !buttons2.length || zoomTooSmall ? null : /* @__PURE__ */ jsx(Box$1, { className: container$4, children: /* @__PURE__ */ jsx(
|
|
35695
35656
|
Box$1,
|
|
35696
35657
|
{
|
|
35697
|
-
component:
|
|
35658
|
+
component: MotionDiv,
|
|
35698
35659
|
layoutRoot: !0,
|
|
35699
35660
|
initial: !1,
|
|
35700
35661
|
style: {
|
|
@@ -35711,8 +35672,7 @@ function ElementActionButtons({
|
|
|
35711
35672
|
children: buttons2.map((button2, index2) => /* @__PURE__ */ jsx(
|
|
35712
35673
|
ActionIcon$1,
|
|
35713
35674
|
{
|
|
35714
|
-
component:
|
|
35715
|
-
layout: !0,
|
|
35675
|
+
component: MotionButton,
|
|
35716
35676
|
className: actionBtn$1({}),
|
|
35717
35677
|
initial: !1,
|
|
35718
35678
|
whileTap: { scale: 1 },
|
|
@@ -35723,9 +35683,10 @@ function ElementActionButtons({
|
|
|
35723
35683
|
onDoubleClick: stopPropagation$1,
|
|
35724
35684
|
children: button2.icon
|
|
35725
35685
|
},
|
|
35726
|
-
|
|
35686
|
+
`${id2}-${button2.key ?? index2}`
|
|
35727
35687
|
))
|
|
35728
|
-
}
|
|
35688
|
+
},
|
|
35689
|
+
`${id2}-action-buttons`
|
|
35729
35690
|
) });
|
|
35730
35691
|
}
|
|
35731
35692
|
const container$3 = css({
|
|
@@ -35757,11 +35718,12 @@ function ElementDetailsButton({
|
|
|
35757
35718
|
icon: icon2,
|
|
35758
35719
|
onClick
|
|
35759
35720
|
}) {
|
|
35721
|
+
const id2 = useId$1();
|
|
35760
35722
|
return /* @__PURE__ */ jsx(Box$1, { className: cx(container$3, "details-button"), children: /* @__PURE__ */ jsx(
|
|
35761
35723
|
ActionIcon$1,
|
|
35762
35724
|
{
|
|
35763
35725
|
className: cx("nodrag nopan", actionBtn$1({ variant: "transparent" })),
|
|
35764
|
-
component:
|
|
35726
|
+
component: MotionButton,
|
|
35765
35727
|
initial: !1,
|
|
35766
35728
|
style: {
|
|
35767
35729
|
originX: 0.45,
|
|
@@ -35782,7 +35744,8 @@ function ElementDetailsButton({
|
|
|
35782
35744
|
onClick,
|
|
35783
35745
|
onDoubleClick: stopPropagation$1,
|
|
35784
35746
|
children: icon2 ?? /* @__PURE__ */ jsx(IconId, { stroke: 1.8, style: { width: "75%" } })
|
|
35785
|
-
}
|
|
35747
|
+
},
|
|
35748
|
+
id2
|
|
35786
35749
|
) });
|
|
35787
35750
|
}
|
|
35788
35751
|
const container$2 = css({
|
|
@@ -35874,7 +35837,7 @@ const ElementNodeContainer = forwardRef(({
|
|
|
35874
35837
|
return /* @__PURE__ */ jsx(
|
|
35875
35838
|
Box$1,
|
|
35876
35839
|
{
|
|
35877
|
-
component:
|
|
35840
|
+
component: MotionDiv,
|
|
35878
35841
|
ref,
|
|
35879
35842
|
className: cx(
|
|
35880
35843
|
css({
|
|
@@ -36784,7 +36747,7 @@ const stopPropagation = (e2) => e2.stopPropagation(), Tooltip$4 = Tooltip$5.with
|
|
|
36784
36747
|
diagramEdge.relations,
|
|
36785
36748
|
m((id2) => {
|
|
36786
36749
|
try {
|
|
36787
|
-
return likec4model.
|
|
36750
|
+
return likec4model.findRelationship(id2);
|
|
36788
36751
|
} catch (e2) {
|
|
36789
36752
|
return console.error(
|
|
36790
36753
|
`View is cached and likec4model missing relationship ${id2} from ${sourceNode.id} -> ${targetNode.id}`,
|
|
@@ -37104,7 +37067,17 @@ const curve = d3line().curve(curveCatmullRomOpen).x((d2) => d2.x).y((d2) => d2.y
|
|
|
37104
37067
|
}
|
|
37105
37068
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
37106
37069
|
/* @__PURE__ */ jsxs(EdgeContainer, { ...props, className: clsx(isControlPointDragging && controlDragging), children: [
|
|
37107
|
-
/* @__PURE__ */ jsx(
|
|
37070
|
+
/* @__PURE__ */ jsx(
|
|
37071
|
+
EdgePath,
|
|
37072
|
+
{
|
|
37073
|
+
edgeProps: props,
|
|
37074
|
+
svgPath: edgePath,
|
|
37075
|
+
ref: svgPathRef,
|
|
37076
|
+
...enableEdgeEditing && {
|
|
37077
|
+
onEdgePointerDown
|
|
37078
|
+
}
|
|
37079
|
+
}
|
|
37080
|
+
),
|
|
37108
37081
|
/* @__PURE__ */ jsx(
|
|
37109
37082
|
EdgeLabelContainer,
|
|
37110
37083
|
{
|
|
@@ -37143,7 +37116,7 @@ const curve = d3line().curve(curveCatmullRomOpen).x((d2) => d2.x).y((d2) => d2.y
|
|
|
37143
37116
|
cy: Math.round(p2.y),
|
|
37144
37117
|
r: 3
|
|
37145
37118
|
},
|
|
37146
|
-
i2
|
|
37119
|
+
"controlPoints" + edgeId + "#" + i2
|
|
37147
37120
|
))
|
|
37148
37121
|
}
|
|
37149
37122
|
)
|
|
@@ -38258,10 +38231,13 @@ const useElementDetailsActorRef = () => {
|
|
|
38258
38231
|
)
|
|
38259
38232
|
] })
|
|
38260
38233
|
] });
|
|
38234
|
+
}, setHoveredNode$3 = () => {
|
|
38261
38235
|
}, TabPanelDeployments = memo$2(({ elementFqn }) => {
|
|
38262
38236
|
const element = useLikeC4Model$1(!0).element(elementFqn), deployments = [...element.deployments()], tree = useTree({
|
|
38263
38237
|
multiple: !1
|
|
38264
|
-
})
|
|
38238
|
+
});
|
|
38239
|
+
tree.setHoveredNode = setHoveredNode$3;
|
|
38240
|
+
const data = useMemo(() => {
|
|
38265
38241
|
let roots = [], treeItems = /* @__PURE__ */ new Map();
|
|
38266
38242
|
for (const instance of element.deployments()) {
|
|
38267
38243
|
let instanceNode = {
|
|
@@ -38342,7 +38318,7 @@ const useElementDetailsActorRef = () => {
|
|
|
38342
38318
|
}
|
|
38343
38319
|
)
|
|
38344
38320
|
);
|
|
38345
|
-
}),
|
|
38321
|
+
}), RelationshipsBrowserActorContext = createContext(null);
|
|
38346
38322
|
function useRelationshipsBrowserActor() {
|
|
38347
38323
|
return nonNullable(useContext(RelationshipsBrowserActorContext), "No RelationshipsBrowserActorContext");
|
|
38348
38324
|
}
|
|
@@ -38436,13 +38412,12 @@ const RelationshipEdge$1 = customEdge((props) => {
|
|
|
38436
38412
|
/* @__PURE__ */ jsx(
|
|
38437
38413
|
EdgePath,
|
|
38438
38414
|
{
|
|
38439
|
-
|
|
38415
|
+
edgeProps,
|
|
38440
38416
|
svgPath,
|
|
38441
38417
|
...markOrange && {
|
|
38442
38418
|
strokeWidth: 5
|
|
38443
38419
|
}
|
|
38444
|
-
}
|
|
38445
|
-
id2
|
|
38420
|
+
}
|
|
38446
38421
|
),
|
|
38447
38422
|
/* @__PURE__ */ jsx(
|
|
38448
38423
|
EdgeLabelContainer,
|
|
@@ -38459,7 +38434,7 @@ const RelationshipEdge$1 = customEdge((props) => {
|
|
|
38459
38434
|
children: label2
|
|
38460
38435
|
}
|
|
38461
38436
|
)
|
|
38462
|
-
] }
|
|
38437
|
+
] });
|
|
38463
38438
|
}), selectViewId = (s2) => s2.context.view.id;
|
|
38464
38439
|
function useCurrentViewId() {
|
|
38465
38440
|
const actorRef = useDiagramActorRef();
|
|
@@ -38523,9 +38498,9 @@ const ElementDetailsButtonWithHandler$1 = (props) => {
|
|
|
38523
38498
|
}
|
|
38524
38499
|
}
|
|
38525
38500
|
);
|
|
38526
|
-
}, ElementNode$1 = customNode((props) => /* @__PURE__ */ jsxs(ElementNodeContainer, { component:
|
|
38501
|
+
}, ElementNode$1 = customNode((props) => /* @__PURE__ */ jsxs(ElementNodeContainer, { component: MotionDiv, layoutId: props.id, nodeProps: props, children: [
|
|
38527
38502
|
/* @__PURE__ */ jsx(ElementShape, { ...props }),
|
|
38528
|
-
/* @__PURE__ */ jsx(ElementTitle, { ...props
|
|
38503
|
+
/* @__PURE__ */ jsx(ElementTitle, { ...props }),
|
|
38529
38504
|
/* @__PURE__ */ jsx(ElementDetailsButtonWithHandler$1, { ...props }),
|
|
38530
38505
|
/* @__PURE__ */ jsx(ElementActions$1, { ...props }),
|
|
38531
38506
|
/* @__PURE__ */ jsx(ElementPorts$1, { ...props })
|
|
@@ -41288,6 +41263,7 @@ const node = css({
|
|
|
41288
41263
|
enableSelectSubject: state.context.enableSelectSubject,
|
|
41289
41264
|
enableChangeScope: state.context.enableChangeScope
|
|
41290
41265
|
};
|
|
41266
|
+
}, setHoveredNode$2 = () => {
|
|
41291
41267
|
}, SelectElement = memo$2(() => {
|
|
41292
41268
|
const browser = useRelationshipsBrowser(), {
|
|
41293
41269
|
subjectId,
|
|
@@ -41299,7 +41275,7 @@ const node = css({
|
|
|
41299
41275
|
} = useRelationshipsBrowserState(selector2$1), root2 = useRef(null), viewport = useRef(null), subject = useLikeC4Model$1(!0).findElement(subjectId), data = useLikeC4ElementsTree(scope === "view" && viewId ? viewId : void 0), tree = useTree({
|
|
41300
41276
|
multiple: !1
|
|
41301
41277
|
});
|
|
41302
|
-
return useEffect(() => {
|
|
41278
|
+
return tree.setHoveredNode = setHoveredNode$2, useEffect(() => {
|
|
41303
41279
|
ancestorsFqn(subjectId).reverse().forEach((id2) => {
|
|
41304
41280
|
tree.expand(id2);
|
|
41305
41281
|
}), tree.select(subjectId);
|
|
@@ -41507,7 +41483,6 @@ const selector$4 = (state) => ({
|
|
|
41507
41483
|
nodeTypes: nodeTypes$1,
|
|
41508
41484
|
edgeTypes: edgeTypes$1,
|
|
41509
41485
|
fitView: !1,
|
|
41510
|
-
fitViewPadding: ViewPadding,
|
|
41511
41486
|
onNodeClick: useCallbackRef((e2, node2) => {
|
|
41512
41487
|
browser.send({ type: "xyflow.nodeClick", node: node2 });
|
|
41513
41488
|
}),
|
|
@@ -41889,13 +41864,16 @@ const treeNodeLabel = css({
|
|
|
41889
41864
|
}
|
|
41890
41865
|
}), ElementLabel = ({
|
|
41891
41866
|
element
|
|
41892
|
-
}) => /* @__PURE__ */ jsx(Box$1, { className: elementLabel, children: /* @__PURE__ */ jsx(Text, { component: "div", fz: "sm", fw: "500", children: element.title }) })
|
|
41867
|
+
}) => /* @__PURE__ */ jsx(Box$1, { className: elementLabel, children: /* @__PURE__ */ jsx(Text, { component: "div", fz: "sm", fw: "500", children: element.title }) }), setHoveredNode$1 = () => {
|
|
41868
|
+
};
|
|
41893
41869
|
function TabPanelStructure({
|
|
41894
41870
|
element
|
|
41895
41871
|
}) {
|
|
41896
41872
|
const tree = useTree({
|
|
41897
41873
|
multiple: !1
|
|
41898
|
-
})
|
|
41874
|
+
});
|
|
41875
|
+
tree.setHoveredNode = setHoveredNode$1;
|
|
41876
|
+
const data = useMemo(() => {
|
|
41899
41877
|
let seq = 1;
|
|
41900
41878
|
const messageNode = (label2) => ({
|
|
41901
41879
|
label: label2,
|
|
@@ -42426,22 +42404,6 @@ const backdropBlur = "--_blur", backdropOpacity = "--_opacity", level = "--_leve
|
|
|
42426
42404
|
xl: {
|
|
42427
42405
|
[offset]: "4rem"
|
|
42428
42406
|
}
|
|
42429
|
-
// inset: '[calc(2rem + var(--_level, 0) * 1rem), 2rem, 2rem, 2rem]',
|
|
42430
|
-
// width: 'calc(100vw - 4rem)',
|
|
42431
|
-
// height: 'calc(100vh - 4rem - var(--_level, 0) * 1rem)',
|
|
42432
|
-
// },
|
|
42433
|
-
// lg: {
|
|
42434
|
-
// inset: '[calc(4rem + var(--_level, 0) * 1rem), 4rem, 4rem, 4rem]',
|
|
42435
|
-
// width: 'calc(100vw - 8rem)',
|
|
42436
|
-
// height: 'calc(100vh - 8rem)',
|
|
42437
|
-
// },
|
|
42438
|
-
// xl: {
|
|
42439
|
-
// [borderRadius]: '8px',
|
|
42440
|
-
// padding: '8px',
|
|
42441
|
-
// inset: '[calc(5rem + var(--_level, 0) * 1rem), 5rem, 5rem, 5rem]',
|
|
42442
|
-
// width: 'calc(100vw - 10rem)',
|
|
42443
|
-
// height: 'calc(100vh - 10rem - var(--_level, 0) * 1rem)',
|
|
42444
|
-
// },
|
|
42445
42407
|
}), body = css.raw({
|
|
42446
42408
|
position: "relative",
|
|
42447
42409
|
containerName: "overlay-dialog",
|
|
@@ -42459,112 +42421,101 @@ const backdropBlur = "--_blur", backdropOpacity = "--_opacity", level = "--_leve
|
|
|
42459
42421
|
base: {
|
|
42460
42422
|
dialog,
|
|
42461
42423
|
body
|
|
42462
|
-
}
|
|
42463
|
-
|
|
42464
|
-
|
|
42465
|
-
|
|
42466
|
-
|
|
42467
|
-
|
|
42468
|
-
|
|
42424
|
+
}
|
|
42425
|
+
}), Overlay = forwardRef(({
|
|
42426
|
+
onClose,
|
|
42427
|
+
className,
|
|
42428
|
+
classes: classes2,
|
|
42429
|
+
overlayLevel = 0,
|
|
42430
|
+
children: children2,
|
|
42431
|
+
...rest
|
|
42432
|
+
}, ref) => {
|
|
42433
|
+
const [opened, setOpened] = useState(!1), dialogRef = useRef(null), isClosingRef = useRef(!1), motionNotReduced = useReducedMotionConfig() !== !0, onCloseRef = useSyncedRef(onClose), close = useDebouncedCallback(
|
|
42434
|
+
() => {
|
|
42435
|
+
isClosingRef.current || (isClosingRef.current = !0, onCloseRef.current());
|
|
42436
|
+
},
|
|
42437
|
+
[],
|
|
42438
|
+
50
|
|
42439
|
+
);
|
|
42440
|
+
useEffect(() => {
|
|
42441
|
+
const cancel = (e2) => {
|
|
42442
|
+
e2.preventDefault(), e2.stopPropagation(), close();
|
|
42443
|
+
};
|
|
42444
|
+
return dialogRef.current?.addEventListener("cancel", cancel, { capture: !0 }), () => {
|
|
42445
|
+
dialogRef.current?.removeEventListener("cancel", cancel, { capture: !0 });
|
|
42446
|
+
};
|
|
42447
|
+
}, []), useTimeoutEffect(() => {
|
|
42448
|
+
dialogRef.current?.open || dialogRef.current?.showModal();
|
|
42449
|
+
}, 30), useTimeoutEffect(() => {
|
|
42450
|
+
setOpened(!0);
|
|
42451
|
+
}, 120);
|
|
42452
|
+
const styles = overlay({
|
|
42453
|
+
level: overlayLevel
|
|
42454
|
+
});
|
|
42455
|
+
return /* @__PURE__ */ jsx(
|
|
42456
|
+
m$2.dialog,
|
|
42457
|
+
{
|
|
42458
|
+
ref: useMergedRef(dialogRef, ref),
|
|
42459
|
+
className: cx(RemoveScroll.classNames.fullWidth, styles.dialog, classes2?.dialog, className),
|
|
42460
|
+
layout: !0,
|
|
42461
|
+
style: {
|
|
42462
|
+
// @ts-ignore
|
|
42463
|
+
[level]: overlayLevel
|
|
42469
42464
|
},
|
|
42470
|
-
|
|
42471
|
-
|
|
42472
|
-
[
|
|
42465
|
+
...motionNotReduced ? {
|
|
42466
|
+
initial: {
|
|
42467
|
+
[backdropBlur]: "0px",
|
|
42468
|
+
[backdropOpacity]: "0%",
|
|
42469
|
+
scale: overlayLevel > 0 ? 0.9 : 1.075,
|
|
42470
|
+
opacity: 0
|
|
42471
|
+
},
|
|
42472
|
+
animate: {
|
|
42473
|
+
[backdropBlur]: overlayLevel > 0 ? "4px" : "8px",
|
|
42474
|
+
[backdropOpacity]: overlayLevel > 0 ? "50%" : "60%",
|
|
42475
|
+
scale: 1,
|
|
42476
|
+
opacity: 1,
|
|
42477
|
+
transition: {
|
|
42478
|
+
delay: 0.075
|
|
42479
|
+
}
|
|
42480
|
+
},
|
|
42481
|
+
exit: {
|
|
42482
|
+
scale: 1.2,
|
|
42483
|
+
opacity: 0,
|
|
42484
|
+
[backdropBlur]: "0px",
|
|
42485
|
+
[backdropOpacity]: "0%"
|
|
42473
42486
|
}
|
|
42474
|
-
}
|
|
42475
|
-
|
|
42476
|
-
|
|
42477
|
-
[
|
|
42487
|
+
} : {
|
|
42488
|
+
initial: {
|
|
42489
|
+
[backdropBlur]: "8px",
|
|
42490
|
+
[backdropOpacity]: "60%"
|
|
42478
42491
|
}
|
|
42479
42492
|
},
|
|
42480
|
-
|
|
42481
|
-
|
|
42482
|
-
|
|
42493
|
+
onClick: (e2) => {
|
|
42494
|
+
if (e2.stopPropagation(), e2.target?.nodeName?.toUpperCase() === "DIALOG") {
|
|
42495
|
+
dialogRef.current?.close();
|
|
42496
|
+
return;
|
|
42483
42497
|
}
|
|
42484
|
-
}
|
|
42485
|
-
}
|
|
42486
|
-
}
|
|
42487
|
-
}), Overlay = forwardRef(
|
|
42488
|
-
({ children: children2, onClose, className, classes: classes2, overlayLevel = 0, ...rest }, ref) => {
|
|
42489
|
-
const [opened, setOpened] = useState(!1), dialogRef = useRef(null), isClosingRef = useRef(!1), motionNotReduced = useReducedMotionConfig() !== !0, onCloseRef = useSyncedRef(onClose), close = useDebouncedCallback(
|
|
42490
|
-
() => {
|
|
42491
|
-
isClosingRef.current || (isClosingRef.current = !0, onCloseRef.current());
|
|
42492
42498
|
},
|
|
42493
|
-
|
|
42494
|
-
|
|
42495
|
-
|
|
42496
|
-
|
|
42497
|
-
|
|
42498
|
-
|
|
42499
|
-
}
|
|
42500
|
-
|
|
42501
|
-
|
|
42502
|
-
|
|
42503
|
-
}, []), useTimeoutEffect(() => {
|
|
42504
|
-
dialogRef.current?.open || dialogRef.current?.showModal();
|
|
42505
|
-
}, 20), useTimeoutEffect(() => {
|
|
42506
|
-
setOpened(!0);
|
|
42507
|
-
}, 120);
|
|
42508
|
-
const styles = overlay({
|
|
42509
|
-
level: overlayLevel
|
|
42510
|
-
});
|
|
42511
|
-
return /* @__PURE__ */ jsx(
|
|
42512
|
-
m$2.dialog,
|
|
42513
|
-
{
|
|
42514
|
-
ref: useMergedRef(dialogRef, ref),
|
|
42515
|
-
className: cx(RemoveScroll.classNames.fullWidth, styles.dialog, classes2?.dialog, className),
|
|
42516
|
-
layout: !0,
|
|
42517
|
-
...motionNotReduced ? {
|
|
42518
|
-
initial: {
|
|
42519
|
-
[backdropBlur]: "0px",
|
|
42520
|
-
[backdropOpacity]: "0%",
|
|
42521
|
-
scale: overlayLevel > 0 ? 0.9 : 1.075,
|
|
42522
|
-
opacity: 0
|
|
42523
|
-
},
|
|
42524
|
-
animate: {
|
|
42525
|
-
[backdropBlur]: overlayLevel > 0 ? "4px" : "8px",
|
|
42526
|
-
[backdropOpacity]: overlayLevel > 0 ? "50%" : "60%",
|
|
42527
|
-
scale: 1,
|
|
42528
|
-
opacity: 1,
|
|
42529
|
-
transition: {
|
|
42530
|
-
delay: 0.075
|
|
42531
|
-
}
|
|
42532
|
-
},
|
|
42533
|
-
exit: {
|
|
42534
|
-
scale: 1.2,
|
|
42535
|
-
opacity: 0,
|
|
42536
|
-
[backdropBlur]: "0px",
|
|
42537
|
-
[backdropOpacity]: "0%"
|
|
42538
|
-
}
|
|
42539
|
-
} : {
|
|
42540
|
-
initial: {
|
|
42541
|
-
[backdropBlur]: "8px",
|
|
42542
|
-
[backdropOpacity]: "60%"
|
|
42543
|
-
}
|
|
42544
|
-
},
|
|
42545
|
-
onClick: (e2) => {
|
|
42546
|
-
if (e2.stopPropagation(), e2.target?.nodeName?.toUpperCase() === "DIALOG") {
|
|
42547
|
-
dialogRef.current?.close();
|
|
42548
|
-
return;
|
|
42549
|
-
}
|
|
42550
|
-
},
|
|
42551
|
-
onDoubleClick: stopPropagation$1,
|
|
42552
|
-
onPointerDown: stopPropagation$1,
|
|
42553
|
-
onClose: (e2) => {
|
|
42554
|
-
e2.stopPropagation(), close();
|
|
42555
|
-
},
|
|
42556
|
-
...rest,
|
|
42557
|
-
children: /* @__PURE__ */ jsx(RemoveScroll, { forwardProps: !0, removeScrollBar: !1, children: /* @__PURE__ */ jsx(Box$1, { className: cx(styles.body, "overlay-body", classes2?.body), children: opened && /* @__PURE__ */ jsx(Fragment$1, { children: children2 }) }) })
|
|
42558
|
-
}
|
|
42559
|
-
);
|
|
42560
|
-
}
|
|
42561
|
-
);
|
|
42499
|
+
onDoubleClick: stopPropagation$1,
|
|
42500
|
+
onPointerDown: stopPropagation$1,
|
|
42501
|
+
onClose: (e2) => {
|
|
42502
|
+
e2.stopPropagation(), close();
|
|
42503
|
+
},
|
|
42504
|
+
...rest,
|
|
42505
|
+
children: /* @__PURE__ */ jsx(RemoveScroll, { forwardProps: !0, removeScrollBar: !1, children: /* @__PURE__ */ jsx(Box$1, { className: cx(styles.body, "overlay-body", classes2?.body), children: opened && /* @__PURE__ */ jsx(Fragment$1, { children: children2 }) }) })
|
|
42506
|
+
}
|
|
42507
|
+
);
|
|
42508
|
+
});
|
|
42562
42509
|
Overlay.displayName = "Overlay";
|
|
42563
42510
|
var xstate_cjsExports = /* @__PURE__ */ requireXstate_cjs();
|
|
42564
42511
|
function _update$1(current, update) {
|
|
42565
42512
|
return update.map((next) => {
|
|
42566
42513
|
const existing = current.find((n2) => n2.id === next.id);
|
|
42567
|
-
return existing && existing.type
|
|
42514
|
+
return existing && deepEqual(existing.type, next.type) ? deepEqual(existing.hidden ?? !1, next.hidden ?? !1) && deepEqual(existing.source, next.source) && deepEqual(existing.sourceHandle ?? null, next.sourceHandle ?? null) && deepEqual(existing.target, next.target) && deepEqual(existing.targetHandle ?? null, next.targetHandle ?? null) && deepEqual(existing.zIndex ?? 0, next.zIndex ?? 0) && deepEqual(existing.data, next.data) ? existing : {
|
|
42515
|
+
...y$2(existing, ["hidden", "zIndex"]),
|
|
42516
|
+
...next,
|
|
42517
|
+
data: next.data
|
|
42518
|
+
} : next;
|
|
42568
42519
|
});
|
|
42569
42520
|
}
|
|
42570
42521
|
function updateEdges(current, update) {
|
|
@@ -42573,10 +42524,16 @@ function updateEdges(current, update) {
|
|
|
42573
42524
|
function _update(current, updated) {
|
|
42574
42525
|
return updated.map((update) => {
|
|
42575
42526
|
const existing = current.find((n2) => n2.id === update.id);
|
|
42576
|
-
if (existing) {
|
|
42527
|
+
if (existing && deepEqual(existing.type, update.type)) {
|
|
42577
42528
|
const { width: existingWidth, height: existingHeight } = getNodeDimensions(existing);
|
|
42578
|
-
|
|
42579
|
-
|
|
42529
|
+
return deepEqual(existingWidth, update.initialWidth) && deepEqual(existingHeight, update.initialHeight) && deepEqual(existing.parentId ?? null, update.parentId ?? null) && deepEqual(existing.hidden ?? !1, update.hidden ?? !1) && deepEqual(existing.zIndex ?? 0, update.zIndex ?? 0) && deepEqual(existing.position, update.position) && deepEqual(existing.data, update.data) ? existing : {
|
|
42530
|
+
...y$2(existing, ["measured", "parentId", "hidden", "zIndex"]),
|
|
42531
|
+
...update,
|
|
42532
|
+
// Force dimensions from update
|
|
42533
|
+
width: update.initialWidth,
|
|
42534
|
+
height: update.initialHeight,
|
|
42535
|
+
data: update.data
|
|
42536
|
+
};
|
|
42580
42537
|
}
|
|
42581
42538
|
return update;
|
|
42582
42539
|
});
|
|
@@ -42584,6 +42541,12 @@ function _update(current, updated) {
|
|
|
42584
42541
|
function updateNodes(current, update) {
|
|
42585
42542
|
return n(update) ? _update(current, update) : (update = current, (current2) => _update(current2, update));
|
|
42586
42543
|
}
|
|
42544
|
+
const ViewPadding = {
|
|
42545
|
+
top: "40px",
|
|
42546
|
+
bottom: "16px",
|
|
42547
|
+
left: "16px",
|
|
42548
|
+
right: "16px"
|
|
42549
|
+
};
|
|
42587
42550
|
function viewToNodesEdge$1(view) {
|
|
42588
42551
|
const xynodes = [], xyedges = [], nodeLookup = /* @__PURE__ */ new Map(), queue = Queue.from(view.nodes.reduce(
|
|
42589
42552
|
(acc, node2) => (nodeLookup.set(node2.id, node2), node2.parent || acc.push({ node: node2, parent: null }), acc),
|
|
@@ -42605,7 +42568,6 @@ function viewToNodesEdge$1(view) {
|
|
|
42605
42568
|
draggable: !1,
|
|
42606
42569
|
selectable: !0,
|
|
42607
42570
|
focusable: !0,
|
|
42608
|
-
deletable: !1,
|
|
42609
42571
|
position,
|
|
42610
42572
|
zIndex: isCompound ? ZIndexes.Compound : ZIndexes.Element,
|
|
42611
42573
|
style: {
|
|
@@ -42698,7 +42660,7 @@ function viewToNodesEdge$1(view) {
|
|
|
42698
42660
|
zIndex: ZIndexes.Edge,
|
|
42699
42661
|
// selectable: selectable,
|
|
42700
42662
|
// hidden: !visiblePredicate(edge),
|
|
42701
|
-
deletable:
|
|
42663
|
+
// deletable: false,
|
|
42702
42664
|
data: {
|
|
42703
42665
|
sourceFqn: edge.sourceFqn,
|
|
42704
42666
|
targetFqn: edge.targetFqn,
|
|
@@ -42748,7 +42710,7 @@ const findRootSubject = (nodes) => nodes.find(
|
|
|
42748
42710
|
const nextSubjectCenter = {
|
|
42749
42711
|
x: nextSubjectNode.position.x + (nextSubjectNode.initialWidth ?? 0) / 2,
|
|
42750
42712
|
y: nextSubjectNode.position.y + (nextSubjectNode.initialHeight ?? 0) / 2
|
|
42751
|
-
}, currentSubjectInternalNode = xyflow2.getInternalNode(currentSubjectNode.id), currentSubjectCenter = centerXYInternalNode(currentSubjectInternalNode),
|
|
42713
|
+
}, currentSubjectInternalNode = xyflow2.getInternalNode(currentSubjectNode.id), currentSubjectCenter = centerXYInternalNode(currentSubjectInternalNode), nested = /* @__PURE__ */ new Set();
|
|
42752
42714
|
return currentNodes.forEach((n2) => {
|
|
42753
42715
|
if (n2.id !== existingNode.id) {
|
|
42754
42716
|
if (n2.data.column === "subjects") {
|
|
@@ -42766,10 +42728,10 @@ const findRootSubject = (nodes) => nodes.find(
|
|
|
42766
42728
|
dimmed: n2.data.column === "subjects" ? "immediate" : !0
|
|
42767
42729
|
}
|
|
42768
42730
|
} : {
|
|
42769
|
-
...y$
|
|
42731
|
+
...y$2(n2, ["parentId"]),
|
|
42770
42732
|
position: {
|
|
42771
|
-
x: currentSubjectCenter.x -
|
|
42772
|
-
y: currentSubjectCenter.y -
|
|
42733
|
+
x: currentSubjectCenter.x - n2.initialWidth / 2,
|
|
42734
|
+
y: currentSubjectCenter.y - n2.initialHeight / 2
|
|
42773
42735
|
},
|
|
42774
42736
|
zIndex: ZIndexes.Max,
|
|
42775
42737
|
hidden: !1,
|
|
@@ -42782,10 +42744,7 @@ const findRootSubject = (nodes) => nodes.find(
|
|
|
42782
42744
|
type: "update.xydata",
|
|
42783
42745
|
xynodes: currentNodes,
|
|
42784
42746
|
xyedges: []
|
|
42785
|
-
}),
|
|
42786
|
-
zoom2,
|
|
42787
|
-
nextviewport.zoom
|
|
42788
|
-
), await delay$1(175), next.xynodes = next.xynodes.map(Base.setDimmed(!1)), signal.aborted || (await xyflow2.setCenter(currentSubjectCenter.x, currentSubjectCenter.y, { zoom: zoom2, duration: 350 }), await xyflow2.setCenter(nextSubjectCenter.x, nextSubjectCenter.y, { zoom: zoom2 })), updateXYData();
|
|
42747
|
+
}), await delay$1(120), next.xynodes = next.xynodes.map(Base.setDimmed(!1)), signal.aborted || (await xyflow2.setCenter(currentSubjectCenter.x, currentSubjectCenter.y, { zoom: zoom2, duration: 300 }), await xyflow2.setCenter(nextSubjectCenter.x, nextSubjectCenter.y, { zoom: zoom2 })), updateXYData();
|
|
42789
42748
|
}), relationshipsBrowserLogic = xstate_cjsExports.setup({
|
|
42790
42749
|
types: {
|
|
42791
42750
|
context: {},
|
|
@@ -43035,7 +42994,7 @@ const findRootSubject = (nodes) => nodes.find(
|
|
|
43035
42994
|
xynodes: event.output.xynodes,
|
|
43036
42995
|
xyedges: event.output.xyedges,
|
|
43037
42996
|
navigateFromNode: null
|
|
43038
|
-
}), enqueue.raise({ type: "fitDiagram" }, { id: "fitDiagram", delay: 50 });
|
|
42997
|
+
}), enqueue.raise({ type: "fitDiagram", duration: 200 }, { id: "fitDiagram", delay: 50 });
|
|
43039
42998
|
for (let i2 = 0; i2 < 6; i2++)
|
|
43040
42999
|
enqueue.raise({ type: "xyflow.updateNodeInternals" }, { delay: 100 + i2 * 100 });
|
|
43041
43000
|
})
|
|
@@ -43733,7 +43692,9 @@ const relationshipDetailsLogic = xstate_cjsExports.setup({
|
|
|
43733
43692
|
}
|
|
43734
43693
|
}), hotkeyLogic = xstate_cjsExports.fromCallback(({ sendBack }) => {
|
|
43735
43694
|
const handler = getHotkeyHandler([
|
|
43736
|
-
["Escape", () =>
|
|
43695
|
+
["Escape", (event) => {
|
|
43696
|
+
event.stopPropagation(), sendBack({ type: "close" });
|
|
43697
|
+
}, {
|
|
43737
43698
|
preventDefault: !0
|
|
43738
43699
|
}]
|
|
43739
43700
|
]);
|
|
@@ -44018,7 +43979,7 @@ const RelationshipEdge = customEdge((props) => {
|
|
|
44018
43979
|
data: { navigateTo }
|
|
44019
43980
|
} = props, [svgPath, labelX, labelY] = getBezierPath(props), diagram = useDiagram();
|
|
44020
43981
|
return /* @__PURE__ */ jsxs(EdgeContainer, { ...props, children: [
|
|
44021
|
-
/* @__PURE__ */ jsx(EdgePath, {
|
|
43982
|
+
/* @__PURE__ */ jsx(EdgePath, { edgeProps: props, svgPath }),
|
|
44022
43983
|
/* @__PURE__ */ jsx(
|
|
44023
43984
|
EdgeLabelContainer,
|
|
44024
43985
|
{
|
|
@@ -44083,7 +44044,7 @@ const RelationshipEdge = customEdge((props) => {
|
|
|
44083
44044
|
);
|
|
44084
44045
|
}, ElementNode = customNode((props) => /* @__PURE__ */ jsxs(ElementNodeContainer, { nodeProps: props, children: [
|
|
44085
44046
|
/* @__PURE__ */ jsx(ElementShape, { ...props }),
|
|
44086
|
-
/* @__PURE__ */ jsx(ElementTitle, { ...props
|
|
44047
|
+
/* @__PURE__ */ jsx(ElementTitle, { ...props }),
|
|
44087
44048
|
/* @__PURE__ */ jsx(ElementDetailsButtonWithHandler, { ...props }),
|
|
44088
44049
|
/* @__PURE__ */ jsx(ElementActions, { ...props }),
|
|
44089
44050
|
/* @__PURE__ */ jsx(ElementPorts, { ...props })
|
|
@@ -44247,9 +44208,7 @@ const scrollArea$1 = css({
|
|
|
44247
44208
|
edge,
|
|
44248
44209
|
view
|
|
44249
44210
|
}) => {
|
|
44250
|
-
const browser = useRelationshipDetails(), viewport = useRef(null)
|
|
44251
|
-
useMantinePortalProps(), useComputedColorScheme();
|
|
44252
|
-
const edgeSource$1 = view.nodes.find((n2) => n2.id === edge.source), edgeTarget$1 = view.nodes.find((n2) => n2.id === edge.target), edges = view.edges.flatMap((edge2) => {
|
|
44211
|
+
const browser = useRelationshipDetails(), viewport = useRef(null), edgeSource$1 = view.nodes.find((n2) => n2.id === edge.source), edgeTarget$1 = view.nodes.find((n2) => n2.id === edge.target), edges = view.edges.flatMap((edge2) => {
|
|
44253
44212
|
const source = view.nodes.find((n2) => n2.id === edge2.source), target = view.nodes.find((n2) => n2.id === edge2.target);
|
|
44254
44213
|
return source && target ? {
|
|
44255
44214
|
id: edge2.id,
|
|
@@ -44360,27 +44319,28 @@ function RelationshipDetails({ actorRef }) {
|
|
|
44360
44319
|
return initialRef.current == null && (initialRef.current = {
|
|
44361
44320
|
defaultNodes: [],
|
|
44362
44321
|
defaultEdges: []
|
|
44363
|
-
}), /* @__PURE__ */ jsx(RelationshipDetailsActorContext.Provider, { value: actorRef, children: /* @__PURE__ */
|
|
44364
|
-
/* @__PURE__ */ jsx(
|
|
44365
|
-
/* @__PURE__ */ jsx(SyncRelationshipDetailsXYFlow, {})
|
|
44366
|
-
] }) });
|
|
44322
|
+
}), /* @__PURE__ */ jsx(RelationshipDetailsActorContext.Provider, { value: actorRef, children: /* @__PURE__ */ jsx(ReactFlowProvider, { ...initialRef.current, children: /* @__PURE__ */ jsx(LayoutGroup, { id: actorRef.sessionId, inherit: !1, children: /* @__PURE__ */ jsxs(AnimatePresence, { children: [
|
|
44323
|
+
/* @__PURE__ */ jsx(RelationshipDetailsInner, {}, "xyflow"),
|
|
44324
|
+
/* @__PURE__ */ jsx(SyncRelationshipDetailsXYFlow, {}, "sync")
|
|
44325
|
+
] }) }) }) });
|
|
44367
44326
|
}
|
|
44368
44327
|
const selectSubject = (state) => ({
|
|
44369
44328
|
...state.context.subject,
|
|
44370
44329
|
viewId: state.context.viewId
|
|
44371
|
-
})
|
|
44372
|
-
function SyncRelationshipDetailsXYFlow() {
|
|
44330
|
+
}), SyncRelationshipDetailsXYFlow = memo$2(() => {
|
|
44373
44331
|
const actor = useRelationshipDetailsActor(), subject = xstateReact_cjsExports.useSelector(actor, selectSubject, deepEqual), likec4model = useLikeC4Model$1(!0), view = likec4model.findView(subject.viewId) ?? null, data = useMemo(() => {
|
|
44374
44332
|
let data2;
|
|
44375
|
-
if ("edgeId" in subject) {
|
|
44333
|
+
if ("edgeId" in subject && n$5(subject.edgeId)) {
|
|
44376
44334
|
invariant$2(view, `view ${subject.viewId} not found`);
|
|
44377
44335
|
const edge = nonNullable(view.findEdge(subject.edgeId), `edge ${subject.edgeId} not found in ${subject.viewId}`);
|
|
44378
44336
|
data2 = computeEdgeDetailsViewData([edge.id], view);
|
|
44379
|
-
} else
|
|
44337
|
+
} else if (subject.source && subject.target)
|
|
44380
44338
|
data2 = computeRelationshipDetailsViewData({
|
|
44381
44339
|
source: likec4model.element(subject.source),
|
|
44382
44340
|
target: likec4model.element(subject.target)
|
|
44383
44341
|
});
|
|
44342
|
+
else
|
|
44343
|
+
return null;
|
|
44384
44344
|
return layoutRelationshipDetails(data2, view);
|
|
44385
44345
|
}, [
|
|
44386
44346
|
subject,
|
|
@@ -44390,10 +44350,9 @@ function SyncRelationshipDetailsXYFlow() {
|
|
|
44390
44350
|
return useEffect(() => {
|
|
44391
44351
|
instance.viewportInitialized && actor.send({ type: "xyflow.init", instance, store });
|
|
44392
44352
|
}, [store, instance.viewportInitialized, actor]), useEffect(() => {
|
|
44393
|
-
actor.send({ type: "update.layoutData", data });
|
|
44353
|
+
data !== null && actor.send({ type: "update.layoutData", data });
|
|
44394
44354
|
}, [data, actor]), null;
|
|
44395
|
-
}
|
|
44396
|
-
const selector$3 = ({ context: context2 }) => ({
|
|
44355
|
+
}), selector$3 = ({ context: context2 }) => ({
|
|
44397
44356
|
// subject: context.subject,
|
|
44398
44357
|
// view: state.context.view,
|
|
44399
44358
|
initialized: context2.initialized.xydata && context2.initialized.xyflow,
|
|
@@ -44472,7 +44431,8 @@ const selector$3 = ({ context: context2 }) => ({
|
|
|
44472
44431
|
const { subject, viewId } = useRelationshipDetailsState(topLeftPanelselector, deepEqual), view = useLikeC4Model$1(!0).findView(viewId);
|
|
44473
44432
|
if (!view || !view.isDiagram())
|
|
44474
44433
|
return null;
|
|
44475
|
-
|
|
44434
|
+
const edges = [...view.edges()];
|
|
44435
|
+
let edge = "edgeId" in subject && n$5(subject.edgeId) ? edges.find((e2) => e2.id === subject.edgeId) : f(edges, (e2) => e2.source.element?.id === subject.source && e2.target.element?.id === subject.target) || f(edges, (e2) => (e2.source.element?.id === subject.source || isAncestor(e2.source.element?.id ?? "--", subject.source ?? "__")) && (e2.target.element?.id === subject.target || isAncestor(e2.target.element?.id ?? "", subject.target ?? "__")));
|
|
44476
44436
|
return edge ? /* @__PURE__ */ jsx(TopLeftPanelInner, { edge: edge.$edge, view: view.$view }) : null;
|
|
44477
44437
|
}), TopLeftPanelInner = ({ edge, view }) => {
|
|
44478
44438
|
const browser = useRelationshipDetails(), edgeId = edge.id, [historyEdgeId, historyOps, { history, current }] = useStateHistory(edge.id);
|
|
@@ -44597,7 +44557,7 @@ const selectOverlays = (s2) => s2.context.overlays.map((overlay2) => {
|
|
|
44597
44557
|
return /* @__PURE__ */ jsx(
|
|
44598
44558
|
Overlay,
|
|
44599
44559
|
{
|
|
44600
|
-
overlayLevel:
|
|
44560
|
+
overlayLevel: index2,
|
|
44601
44561
|
onClose: () => close(overlay2.actorRef),
|
|
44602
44562
|
children: /* @__PURE__ */ jsx(RelationshipsBrowser, { actorRef: overlay2.actorRef })
|
|
44603
44563
|
},
|
|
@@ -44607,7 +44567,7 @@ const selectOverlays = (s2) => s2.context.overlays.map((overlay2) => {
|
|
|
44607
44567
|
return /* @__PURE__ */ jsx(
|
|
44608
44568
|
Overlay,
|
|
44609
44569
|
{
|
|
44610
|
-
overlayLevel:
|
|
44570
|
+
overlayLevel: index2,
|
|
44611
44571
|
onClose: () => close(overlay2.actorRef),
|
|
44612
44572
|
children: /* @__PURE__ */ jsx(RelationshipDetails, { actorRef: overlay2.actorRef })
|
|
44613
44573
|
},
|
|
@@ -44948,17 +44908,17 @@ function useIsPickViewActive() {
|
|
|
44948
44908
|
}
|
|
44949
44909
|
function useCloseSearchAndNavigateTo() {
|
|
44950
44910
|
const diagram = useDiagram(), close = useCloseSearch();
|
|
44951
|
-
return
|
|
44911
|
+
return useCallback((viewId, fromElementFqn) => {
|
|
44952
44912
|
close(() => {
|
|
44953
44913
|
fromElementFqn ??= $pickView.get()?.elementFqn, setPickView(null);
|
|
44954
44914
|
const fromNode = fromElementFqn ? diagram.getContext().view.nodes.find((n2) => DiagramNode.modelRef(n2) === fromElementFqn)?.id : void 0;
|
|
44955
|
-
if (diagram.currentView.id
|
|
44956
|
-
diagram.
|
|
44915
|
+
if (diagram.currentView.id !== viewId) {
|
|
44916
|
+
diagram.navigateTo(viewId, fromNode);
|
|
44957
44917
|
return;
|
|
44958
44918
|
}
|
|
44959
|
-
diagram.
|
|
44919
|
+
fromNode && diagram.focusNode(fromNode);
|
|
44960
44920
|
});
|
|
44961
|
-
});
|
|
44921
|
+
}, [close, diagram]);
|
|
44962
44922
|
}
|
|
44963
44923
|
function stopAndPrevent(e2) {
|
|
44964
44924
|
e2.stopPropagation(), e2.preventDefault();
|
|
@@ -44998,14 +44958,14 @@ css({
|
|
|
44998
44958
|
opacity: 0.85
|
|
44999
44959
|
}
|
|
45000
44960
|
});
|
|
45001
|
-
const NothingFound = () => /* @__PURE__ */ jsx(Box
|
|
44961
|
+
const NothingFound = () => /* @__PURE__ */ jsx(Box, { className: emptyBoX, children: "Nothing found" });
|
|
45002
44962
|
function ViewsColumn() {
|
|
45003
44963
|
const search = useNormalizedSearch();
|
|
45004
44964
|
let views = [...useLikeC4Model$1(!0).views()];
|
|
45005
44965
|
return search && (search.startsWith("kind:") ? views = [] : views = views.filter((view) => search.startsWith("#") ? view.tags.some((tag) => tag.toLocaleLowerCase().includes(search.slice(1))) : (view.title ?? "" + view.$view.description ?? "").toLocaleLowerCase().includes(search))), /* @__PURE__ */ jsxs(
|
|
45006
44966
|
Stack,
|
|
45007
44967
|
{
|
|
45008
|
-
renderRoot: (props) => /* @__PURE__ */ jsx(
|
|
44968
|
+
renderRoot: (props) => /* @__PURE__ */ jsx(MotionDiv, { layout: !0, ...props }),
|
|
45009
44969
|
gap: 8,
|
|
45010
44970
|
"data-likec4-search-views": !0,
|
|
45011
44971
|
onKeyDown: (e2) => {
|
|
@@ -45030,7 +44990,7 @@ function ViewsColumn() {
|
|
|
45030
44990
|
}
|
|
45031
44991
|
}
|
|
45032
44992
|
) }),
|
|
45033
|
-
views.map((view, i2) => /* @__PURE__ */ jsx(
|
|
44993
|
+
views.map((view, i2) => /* @__PURE__ */ jsx(MotionDiv, { layoutId: `@view${view.id}`, children: /* @__PURE__ */ jsx(
|
|
45034
44994
|
ViewButton,
|
|
45035
44995
|
{
|
|
45036
44996
|
view,
|
|
@@ -45067,7 +45027,7 @@ function ViewButton({ className, view, loop = !1, search, ...props }) {
|
|
|
45067
45027
|
}),
|
|
45068
45028
|
children: [
|
|
45069
45029
|
/* @__PURE__ */ jsx(ThemeIcon, { variant: "transparent", className: btn$2.icon, children: isDeploymentView(view) ? /* @__PURE__ */ jsx(IconStack2, { stroke: 1.8 }) : /* @__PURE__ */ jsx(IconZoomScan, { stroke: 1.8 }) }),
|
|
45070
|
-
/* @__PURE__ */ jsxs(Box
|
|
45030
|
+
/* @__PURE__ */ jsxs(Box, { style: { flexGrow: 1 }, children: [
|
|
45071
45031
|
/* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", align: "center", children: [
|
|
45072
45032
|
/* @__PURE__ */ jsx(Highlight, { component: "div", highlight: search, className: btn$2.title, children: view.title || "untitled" }),
|
|
45073
45033
|
isCurrentView && /* @__PURE__ */ jsx(Badge, { size: "xs", fz: 9, radius: "sm", children: "current" })
|
|
@@ -45089,17 +45049,12 @@ function ViewButton({ className, view, loop = !1, search, ...props }) {
|
|
|
45089
45049
|
}
|
|
45090
45050
|
const btn$1 = buttonsva();
|
|
45091
45051
|
function ElementsColumn() {
|
|
45092
|
-
const search = useNormalizedSearch(), model = useLikeC4Model$1(!0), {
|
|
45093
|
-
all,
|
|
45094
|
-
byid,
|
|
45095
|
-
roots: data
|
|
45096
|
-
} = useMemo(() => {
|
|
45052
|
+
const search = useNormalizedSearch(), model = useLikeC4Model$1(!0), data = useMemo(() => {
|
|
45097
45053
|
const searchTerms = search.split(".");
|
|
45098
45054
|
let elements;
|
|
45099
45055
|
n$3(search) || search === "kind:" ? elements = model.elements() : elements = ifilter(model.elements(), (element) => search.startsWith("kind:") ? element.kind.toLocaleLowerCase().startsWith(search.slice(5)) : search.startsWith("#") ? element.tags.some((tag) => tag.toLocaleLowerCase().includes(search.slice(1))) : (element.title + " " + element.id + " " + (element.description ?? "")).toLocaleLowerCase().includes(search));
|
|
45100
|
-
const { all
|
|
45101
|
-
elements,
|
|
45102
|
-
toArray(),
|
|
45056
|
+
const byid = {}, { all, roots } = C(
|
|
45057
|
+
[...elements],
|
|
45103
45058
|
sortParentsFirst,
|
|
45104
45059
|
l$4((acc, element) => {
|
|
45105
45060
|
const treeItem = {
|
|
@@ -45108,7 +45063,9 @@ function ElementsColumn() {
|
|
|
45108
45063
|
element,
|
|
45109
45064
|
searchTerms,
|
|
45110
45065
|
children: []
|
|
45111
|
-
}
|
|
45066
|
+
};
|
|
45067
|
+
byid[treeItem.value] = treeItem;
|
|
45068
|
+
const parent = acc.all.findLast((root2) => isAncestor(root2.value, treeItem.value));
|
|
45112
45069
|
return parent ? (parent.children.push(treeItem), parent.children.length > 1 && parent.children.sort(sortByLabel)) : acc.roots.push(treeItem), acc.all.push(treeItem), acc;
|
|
45113
45070
|
}, {
|
|
45114
45071
|
all: [],
|
|
@@ -45116,64 +45073,74 @@ function ElementsColumn() {
|
|
|
45116
45073
|
})
|
|
45117
45074
|
);
|
|
45118
45075
|
return {
|
|
45119
|
-
all
|
|
45120
|
-
byid
|
|
45076
|
+
all,
|
|
45077
|
+
byid,
|
|
45121
45078
|
roots: roots.sort(sortByLabel)
|
|
45122
45079
|
};
|
|
45123
|
-
}, [model, search]),
|
|
45080
|
+
}, [model, search]), handleClick = useHandleElementSelection();
|
|
45081
|
+
return data.all.length === 0 ? /* @__PURE__ */ jsx(NothingFound, {}) : /* @__PURE__ */ jsx(ElementsTree, { data, handleClick });
|
|
45082
|
+
}
|
|
45083
|
+
const setHoveredNode = () => {
|
|
45084
|
+
};
|
|
45085
|
+
function ElementsTree({
|
|
45086
|
+
data: {
|
|
45087
|
+
all,
|
|
45088
|
+
byid,
|
|
45089
|
+
roots
|
|
45090
|
+
},
|
|
45091
|
+
handleClick
|
|
45092
|
+
}) {
|
|
45093
|
+
const tree = useTree({
|
|
45124
45094
|
multiple: !1
|
|
45125
45095
|
});
|
|
45126
|
-
useEffect(() => {
|
|
45096
|
+
tree.setHoveredNode = setHoveredNode, useEffect(() => {
|
|
45127
45097
|
tree.collapseAllNodes();
|
|
45128
45098
|
for (const nd of all)
|
|
45129
45099
|
nd.children.length > 0 && tree.expand(nd.value);
|
|
45130
45100
|
}, [all]);
|
|
45131
|
-
const
|
|
45132
|
-
|
|
45133
|
-
|
|
45134
|
-
|
|
45135
|
-
|
|
45136
|
-
|
|
45137
|
-
"data-likec4-search-elements": !0,
|
|
45138
|
-
allowRangeSelection: !1,
|
|
45139
|
-
clearSelectionOnOutsideClick: !0,
|
|
45140
|
-
selectOnClick: !1,
|
|
45141
|
-
tree,
|
|
45142
|
-
data,
|
|
45143
|
-
levelOffset: "lg",
|
|
45144
|
-
classNames: {
|
|
45145
|
-
root: treeRoot,
|
|
45146
|
-
node: cx(focusable, treeNode),
|
|
45147
|
-
label: treeLabel,
|
|
45148
|
-
subtree: treeSubtree
|
|
45149
|
-
},
|
|
45150
|
-
onKeyDownCapture: (e2) => {
|
|
45151
|
-
const target = e2.target, id2 = target.getAttribute("data-value"), node2 = !!id2 && byid[id2];
|
|
45152
|
-
if (node2) {
|
|
45153
|
-
if (e2.key === "ArrowUp") {
|
|
45154
|
-
id2 === data[0]?.value && (stopAndPrevent(e2), moveFocusToSearchInput());
|
|
45155
|
-
return;
|
|
45156
|
-
}
|
|
45157
|
-
if (e2.key === "ArrowRight") {
|
|
45158
|
-
if (node2.children.length > 0 && tree.expandedState[id2] === !1)
|
|
45159
|
-
return;
|
|
45160
|
-
const maxY = (e2.target.querySelector(".mantine-Tree-label") ?? target).getBoundingClientRect().y, viewButtons = [...document.querySelectorAll(
|
|
45161
|
-
`[data-likec4-search-views] .${focusable}`
|
|
45162
|
-
)];
|
|
45163
|
-
let view = viewButtons.length > 1 ? viewButtons.find((el, i2, all2) => centerY(el) > maxY || i2 === all2.length - 1) : null;
|
|
45164
|
-
view ??= d(viewButtons), view && (stopAndPrevent(e2), view.focus());
|
|
45165
|
-
return;
|
|
45166
|
-
}
|
|
45167
|
-
if (e2.key === " " || e2.key === "Enter") {
|
|
45168
|
-
stopAndPrevent(e2), handleClick(node2.element);
|
|
45169
|
-
return;
|
|
45170
|
-
}
|
|
45171
|
-
}
|
|
45172
|
-
},
|
|
45173
|
-
renderNode: ElementTreeNode
|
|
45101
|
+
const onKeyDownCapture = useCallbackRef((e2) => {
|
|
45102
|
+
const target = e2.target, id2 = target.getAttribute("data-value"), node2 = !!id2 && byid[id2];
|
|
45103
|
+
if (node2) {
|
|
45104
|
+
if (e2.key === "ArrowUp") {
|
|
45105
|
+
id2 === roots[0]?.value && (stopAndPrevent(e2), moveFocusToSearchInput());
|
|
45106
|
+
return;
|
|
45174
45107
|
}
|
|
45175
|
-
|
|
45176
|
-
|
|
45108
|
+
if (e2.key === "ArrowRight") {
|
|
45109
|
+
if (node2.children.length > 0 && tree.expandedState[id2] === !1)
|
|
45110
|
+
return;
|
|
45111
|
+
const maxY = (e2.target.querySelector(".mantine-Tree-label") ?? target).getBoundingClientRect().y, viewButtons = [...document.querySelectorAll(
|
|
45112
|
+
`[data-likec4-search-views] .${focusable}`
|
|
45113
|
+
)];
|
|
45114
|
+
let view = viewButtons.length > 1 ? viewButtons.find((el, i2, all2) => centerY(el) > maxY || i2 === all2.length - 1) : null;
|
|
45115
|
+
view ??= d(viewButtons), view && (stopAndPrevent(e2), view.focus());
|
|
45116
|
+
return;
|
|
45117
|
+
}
|
|
45118
|
+
if (e2.key === " " || e2.key === "Enter") {
|
|
45119
|
+
stopAndPrevent(e2), handleClick(node2.element);
|
|
45120
|
+
return;
|
|
45121
|
+
}
|
|
45122
|
+
}
|
|
45123
|
+
});
|
|
45124
|
+
return /* @__PURE__ */ jsx(
|
|
45125
|
+
Tree,
|
|
45126
|
+
{
|
|
45127
|
+
"data-likec4-search-elements": !0,
|
|
45128
|
+
allowRangeSelection: !1,
|
|
45129
|
+
clearSelectionOnOutsideClick: !0,
|
|
45130
|
+
selectOnClick: !1,
|
|
45131
|
+
tree,
|
|
45132
|
+
data: roots,
|
|
45133
|
+
levelOffset: "lg",
|
|
45134
|
+
classNames: {
|
|
45135
|
+
root: treeRoot,
|
|
45136
|
+
node: cx(focusable, treeNode),
|
|
45137
|
+
label: treeLabel,
|
|
45138
|
+
subtree: treeSubtree
|
|
45139
|
+
},
|
|
45140
|
+
onKeyDownCapture,
|
|
45141
|
+
renderNode: ElementTreeNode
|
|
45142
|
+
}
|
|
45143
|
+
);
|
|
45177
45144
|
}
|
|
45178
45145
|
function ElementTreeNode({ node: node2, elementProps, hasChildren, expanded }) {
|
|
45179
45146
|
const { element, searchTerms } = node2, elementIcon$12 = IconOrShapeRenderer({
|
|
@@ -45185,7 +45152,7 @@ function ElementTreeNode({ node: node2, elementProps, hasChildren, expanded }) {
|
|
|
45185
45152
|
},
|
|
45186
45153
|
className: cx(btn$1.icon, elementIcon)
|
|
45187
45154
|
}), views = [...element.views()], handleClick = useHandleElementSelection(), key2 = `@tree.${node2.value}`;
|
|
45188
|
-
return /* @__PURE__ */ jsxs(
|
|
45155
|
+
return /* @__PURE__ */ jsxs(MotionDiv, { layoutId: key2, ...elementProps, children: [
|
|
45189
45156
|
/* @__PURE__ */ jsx(
|
|
45190
45157
|
ActionIcon$1,
|
|
45191
45158
|
{
|
|
@@ -45212,7 +45179,7 @@ function ElementTreeNode({ node: node2, elementProps, hasChildren, expanded }) {
|
|
|
45212
45179
|
/* @__PURE__ */ jsxs(
|
|
45213
45180
|
UnstyledButton,
|
|
45214
45181
|
{
|
|
45215
|
-
component:
|
|
45182
|
+
component: MotionButton,
|
|
45216
45183
|
layout: !0,
|
|
45217
45184
|
tabIndex: -1,
|
|
45218
45185
|
className: clsx(btn$1.root, "group", "likec4-element-button"),
|
|
@@ -45246,11 +45213,11 @@ function ElementTreeNode({ node: node2, elementProps, hasChildren, expanded }) {
|
|
|
45246
45213
|
]
|
|
45247
45214
|
}
|
|
45248
45215
|
)
|
|
45249
|
-
] }
|
|
45216
|
+
] });
|
|
45250
45217
|
}
|
|
45251
45218
|
function useHandleElementSelection() {
|
|
45252
45219
|
const navigateTo = useCloseSearchAndNavigateTo();
|
|
45253
|
-
return
|
|
45220
|
+
return useCallback((element) => {
|
|
45254
45221
|
const views = [...element.views()];
|
|
45255
45222
|
if (views.length === 0)
|
|
45256
45223
|
return;
|
|
@@ -45265,7 +45232,7 @@ function useHandleElementSelection() {
|
|
|
45265
45232
|
scoped,
|
|
45266
45233
|
others
|
|
45267
45234
|
});
|
|
45268
|
-
});
|
|
45235
|
+
}, [setPickView, navigateTo]);
|
|
45269
45236
|
}
|
|
45270
45237
|
const backdrop = css({
|
|
45271
45238
|
position: "fixed",
|
|
@@ -45470,7 +45437,7 @@ function LikeC4SearchInput() {
|
|
|
45470
45437
|
}
|
|
45471
45438
|
);
|
|
45472
45439
|
}
|
|
45473
|
-
|
|
45440
|
+
const LikeC4Search = memo$2(() => {
|
|
45474
45441
|
const [searchOpened, searchOps] = useDisclosure(!1);
|
|
45475
45442
|
useHotkeys([
|
|
45476
45443
|
["mod+k", () => searchOps.toggle(), {
|
|
@@ -45494,8 +45461,8 @@ function LikeC4Search() {
|
|
|
45494
45461
|
}
|
|
45495
45462
|
}
|
|
45496
45463
|
),
|
|
45497
|
-
/* @__PURE__ */ jsx(Portal, { ...portalProps,
|
|
45498
|
-
/* @__PURE__ */ jsx(
|
|
45464
|
+
/* @__PURE__ */ jsx(Portal, { ...portalProps, reuseTargetNode: !0, children: /* @__PURE__ */ jsxs(AnimatePresence, { onExitComplete, children: [
|
|
45465
|
+
searchOpened && /* @__PURE__ */ jsx(
|
|
45499
45466
|
m$2.div,
|
|
45500
45467
|
{
|
|
45501
45468
|
className: backdrop,
|
|
@@ -45503,24 +45470,25 @@ function LikeC4Search() {
|
|
|
45503
45470
|
animate: {
|
|
45504
45471
|
opacity: 1,
|
|
45505
45472
|
transition: {
|
|
45506
|
-
duration: 0.
|
|
45473
|
+
duration: 0.13
|
|
45507
45474
|
}
|
|
45508
45475
|
},
|
|
45509
45476
|
exit: {
|
|
45510
45477
|
opacity: 0,
|
|
45511
45478
|
transition: {
|
|
45512
|
-
duration: 0.
|
|
45479
|
+
duration: 0.13
|
|
45513
45480
|
}
|
|
45514
45481
|
}
|
|
45515
45482
|
},
|
|
45516
45483
|
"backdrop"
|
|
45517
45484
|
),
|
|
45518
|
-
/* @__PURE__ */ jsx(LikeC4SearchOverlay, {}, "overlay")
|
|
45519
|
-
] }) })
|
|
45485
|
+
searchOpened && /* @__PURE__ */ jsx(LikeC4SearchOverlay, {}, "overlay")
|
|
45486
|
+
] }) })
|
|
45520
45487
|
] });
|
|
45521
|
-
}
|
|
45522
|
-
|
|
45523
|
-
|
|
45488
|
+
});
|
|
45489
|
+
LikeC4Search.displayName = "LikeC4Search";
|
|
45490
|
+
const LikeC4SearchOverlay = () => {
|
|
45491
|
+
const close = useCloseSearch(), pickViewActive = useIsPickViewActive();
|
|
45524
45492
|
return useWindowEvent(
|
|
45525
45493
|
"keydown",
|
|
45526
45494
|
(event) => {
|
|
@@ -45532,9 +45500,9 @@ function LikeC4SearchOverlay() {
|
|
|
45532
45500
|
), /* @__PURE__ */ jsxs(
|
|
45533
45501
|
m$2.div,
|
|
45534
45502
|
{
|
|
45535
|
-
ref,
|
|
45536
45503
|
className: root,
|
|
45537
|
-
"data-likec4-search":
|
|
45504
|
+
"data-likec4-search": "true",
|
|
45505
|
+
initial: !1,
|
|
45538
45506
|
animate: {
|
|
45539
45507
|
opacity: 1,
|
|
45540
45508
|
scale: 1,
|
|
@@ -45543,14 +45511,15 @@ function LikeC4SearchOverlay() {
|
|
|
45543
45511
|
exit: {
|
|
45544
45512
|
opacity: 0,
|
|
45545
45513
|
scale: 0.9,
|
|
45514
|
+
translateY: -30,
|
|
45546
45515
|
transition: {
|
|
45547
|
-
duration: 0.
|
|
45516
|
+
duration: 0.13
|
|
45548
45517
|
}
|
|
45549
45518
|
},
|
|
45550
45519
|
children: [
|
|
45551
45520
|
/* @__PURE__ */ jsxs(Group, { wrap: "nowrap", children: [
|
|
45552
|
-
/* @__PURE__ */ jsx(Box
|
|
45553
|
-
/* @__PURE__ */ jsx(Box
|
|
45521
|
+
/* @__PURE__ */ jsx(Box, { flex: 1, px: "sm", children: /* @__PURE__ */ jsx(LikeC4SearchInput, {}) }),
|
|
45522
|
+
/* @__PURE__ */ jsx(Box, { flex: "0 0 auto", children: /* @__PURE__ */ jsx(
|
|
45554
45523
|
ActionIcon$1,
|
|
45555
45524
|
{
|
|
45556
45525
|
size: "lg",
|
|
@@ -45569,12 +45538,12 @@ function LikeC4SearchOverlay() {
|
|
|
45569
45538
|
/* @__PURE__ */ jsxs(
|
|
45570
45539
|
Grid,
|
|
45571
45540
|
{
|
|
45572
|
-
|
|
45541
|
+
className: css({
|
|
45573
45542
|
containerName: "likec4-search-elements",
|
|
45574
45543
|
containerType: "size",
|
|
45575
45544
|
overflow: "hidden",
|
|
45576
45545
|
flexGrow: 1
|
|
45577
|
-
},
|
|
45546
|
+
}),
|
|
45578
45547
|
children: [
|
|
45579
45548
|
/* @__PURE__ */ jsx(GridCol, { span: 6, children: /* @__PURE__ */ jsx(
|
|
45580
45549
|
ScrollArea,
|
|
@@ -45599,12 +45568,11 @@ function LikeC4SearchOverlay() {
|
|
|
45599
45568
|
]
|
|
45600
45569
|
}
|
|
45601
45570
|
),
|
|
45602
|
-
/* @__PURE__ */ jsx(
|
|
45603
|
-
/* @__PURE__ */ jsx(PickView, {})
|
|
45571
|
+
pickViewActive && /* @__PURE__ */ jsx(PickView, {})
|
|
45604
45572
|
]
|
|
45605
45573
|
}
|
|
45606
45574
|
);
|
|
45607
|
-
}
|
|
45575
|
+
};
|
|
45608
45576
|
function PickView() {
|
|
45609
45577
|
const pickview$1 = usePickView(), focusTrapRef = useFocusTrap(!!pickview$1);
|
|
45610
45578
|
return useFocusReturn({
|
|
@@ -46190,7 +46158,7 @@ const autolayoutButton = css({
|
|
|
46190
46158
|
enableReadOnly,
|
|
46191
46159
|
enableVscode
|
|
46192
46160
|
} = useEnabledFeatures(), notReadOnly = !enableReadOnly, portalProps = useMantinePortalProps(), ControlsLayout = useControlsCustomLayout() ?? ControlsDefaultLayout;
|
|
46193
|
-
return /* @__PURE__ */ jsx(
|
|
46161
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: isNotActiveWalkthrough && /* @__PURE__ */ jsx(
|
|
46194
46162
|
ControlsLayout,
|
|
46195
46163
|
{
|
|
46196
46164
|
burgerMenu: onBurgerMenuClick && /* @__PURE__ */ jsx(
|
|
@@ -46232,7 +46200,7 @@ const autolayoutButton = css({
|
|
|
46232
46200
|
) })
|
|
46233
46201
|
] })
|
|
46234
46202
|
}
|
|
46235
|
-
) })
|
|
46203
|
+
) });
|
|
46236
46204
|
}), SyncLayoutBadge = () => useDiagramSyncLayoutState((s2) => s2.hasTag("pending")) ? /* @__PURE__ */ jsx(Badge, { color: "pink", radius: "xs", size: "xs", variant: "light", leftSection: /* @__PURE__ */ jsx(Loader, { color: "orange", size: 8 }), children: "Pending..." }) : null, card$1 = css({
|
|
46237
46205
|
cursor: "default",
|
|
46238
46206
|
minWidth: 200,
|
|
@@ -47708,7 +47676,7 @@ function mergeXYNodesEdges({ context: context2, event }) {
|
|
|
47708
47676
|
if (existing) {
|
|
47709
47677
|
const { width: existingWidth, height: existingHeight } = getNodeDimensions(existing);
|
|
47710
47678
|
return deepEqual(existing.type, update.type) && deepEqual(existingWidth, update.initialWidth) && deepEqual(existingHeight, update.initialHeight) && deepEqual(existing.hidden ?? !1, update.hidden ?? !1) && deepEqual(existing.position, update.position) && deepEqual(existing.data, update.data) && deepEqual(existing.parentId ?? null, update.parentId ?? null) ? existing : {
|
|
47711
|
-
...y$
|
|
47679
|
+
...y$2(existing, ["measured", "parentId"]),
|
|
47712
47680
|
...update,
|
|
47713
47681
|
// Force dimensions from update
|
|
47714
47682
|
width: update.initialWidth,
|
|
@@ -47973,14 +47941,20 @@ function updateActiveWalkthrough({ context: context2 }) {
|
|
|
47973
47941
|
}
|
|
47974
47942
|
const hotkeyActorLogic = xstate_cjsExports.fromCallback(({ sendBack }) => {
|
|
47975
47943
|
const escHandler = getHotkeyHandler([
|
|
47976
|
-
["Escape", () =>
|
|
47944
|
+
["Escape", (event) => {
|
|
47945
|
+
event.stopPropagation(), sendBack({ type: "key.esc" });
|
|
47946
|
+
}, {
|
|
47977
47947
|
preventDefault: !0
|
|
47978
47948
|
}]
|
|
47979
47949
|
]), arrowshandler = getHotkeyHandler([
|
|
47980
|
-
["ArrowLeft", () =>
|
|
47950
|
+
["ArrowLeft", (event) => {
|
|
47951
|
+
event.stopPropagation(), sendBack({ type: "key.arrow.left" });
|
|
47952
|
+
}, {
|
|
47981
47953
|
preventDefault: !0
|
|
47982
47954
|
}],
|
|
47983
|
-
["ArrowRight", () =>
|
|
47955
|
+
["ArrowRight", (event) => {
|
|
47956
|
+
event.stopPropagation(), sendBack({ type: "key.arrow.right" });
|
|
47957
|
+
}, {
|
|
47984
47958
|
preventDefault: !0
|
|
47985
47959
|
}]
|
|
47986
47960
|
]);
|
|
@@ -48376,7 +48350,6 @@ const diagramMachine = xstate_cjsExports.setup({
|
|
|
48376
48350
|
type: "xyflow:fitDiagram",
|
|
48377
48351
|
params: { duration: 0 }
|
|
48378
48352
|
},
|
|
48379
|
-
"startSyncLayout",
|
|
48380
48353
|
xstate_cjsExports.assign(({ context: context2 }) => ({
|
|
48381
48354
|
navigationHistory: {
|
|
48382
48355
|
currentIndex: 0,
|
|
@@ -48386,7 +48359,8 @@ const diagramMachine = xstate_cjsExports.setup({
|
|
|
48386
48359
|
viewport: { ...context2.xyflow.getViewport() }
|
|
48387
48360
|
}]
|
|
48388
48361
|
}
|
|
48389
|
-
}))
|
|
48362
|
+
})),
|
|
48363
|
+
"startSyncLayout"
|
|
48390
48364
|
],
|
|
48391
48365
|
target: "ready"
|
|
48392
48366
|
}, {
|
|
@@ -48752,7 +48726,7 @@ const diagramMachine = xstate_cjsExports.setup({
|
|
|
48752
48726
|
"update.view": {
|
|
48753
48727
|
actions: xstate_cjsExports.enqueueActions(({ enqueue, context: context2, event }) => {
|
|
48754
48728
|
const { fromNode, toNode } = findCorrespondingNode(context2, event);
|
|
48755
|
-
fromNode && toNode ?
|
|
48729
|
+
enqueue(fromNode && toNode ? {
|
|
48756
48730
|
type: "xyflow:alignNodeFromToAfterNavigate",
|
|
48757
48731
|
params: {
|
|
48758
48732
|
fromNode: fromNode.id,
|
|
@@ -48761,13 +48735,13 @@ const diagramMachine = xstate_cjsExports.setup({
|
|
|
48761
48735
|
y: toNode.position[1]
|
|
48762
48736
|
}
|
|
48763
48737
|
}
|
|
48764
|
-
}
|
|
48738
|
+
} : {
|
|
48765
48739
|
type: "xyflow:setViewportCenter",
|
|
48766
48740
|
params: getBBoxCenter(event.view.bounds)
|
|
48767
|
-
}), enqueue.
|
|
48741
|
+
}), enqueue.assign(updateNavigationHistory), enqueue.assign({
|
|
48768
48742
|
...mergeXYNodesEdges({ context: context2, event }),
|
|
48769
48743
|
lastOnNavigate: null
|
|
48770
|
-
}), enqueue("startSyncLayout");
|
|
48744
|
+
}), enqueue("startSyncLayout"), enqueue.raise({ type: "fitDiagram" }, { id: "fitDiagram", delay: 25 });
|
|
48771
48745
|
}),
|
|
48772
48746
|
target: "#idle"
|
|
48773
48747
|
}
|
|
@@ -48876,7 +48850,9 @@ function DiagramActorProvider({
|
|
|
48876
48850
|
diagramMachine.provide({
|
|
48877
48851
|
actions: {
|
|
48878
48852
|
"trigger:NavigateTo": (_, { viewId }) => {
|
|
48879
|
-
|
|
48853
|
+
setTimeout(() => {
|
|
48854
|
+
handlersRef.current.onNavigateTo?.(viewId);
|
|
48855
|
+
}, 30);
|
|
48880
48856
|
},
|
|
48881
48857
|
"trigger:OnChange": (_, params) => {
|
|
48882
48858
|
handlersRef.current.onChange?.(params);
|
|
@@ -50421,15 +50397,10 @@ async function downloadAsPng({
|
|
|
50421
50397
|
pngFilename,
|
|
50422
50398
|
viewport
|
|
50423
50399
|
}) {
|
|
50424
|
-
const { toBlob } = await import("./index-iX7kahqQ.js")
|
|
50425
|
-
width,
|
|
50426
|
-
height
|
|
50427
|
-
} = viewport.getBoundingClientRect();
|
|
50400
|
+
const { toBlob } = await import("./index-iX7kahqQ.js");
|
|
50428
50401
|
try {
|
|
50429
50402
|
const blob = await toBlob(viewport, {
|
|
50430
50403
|
backgroundColor: "transparent",
|
|
50431
|
-
width,
|
|
50432
|
-
height,
|
|
50433
50404
|
cacheBust: !0,
|
|
50434
50405
|
imagePlaceholder: "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
|
|
50435
50406
|
});
|
|
@@ -50447,19 +50418,23 @@ function ExportPage() {
|
|
|
50447
50418
|
download = !1
|
|
50448
50419
|
} = useSearch$1({
|
|
50449
50420
|
strict: !1
|
|
50450
|
-
}),
|
|
50451
|
-
if (useTransparentBackground(), useEffect(
|
|
50452
|
-
|
|
50453
|
-
|
|
50454
|
-
|
|
50455
|
-
|
|
50421
|
+
}), diagram = useCurrentDiagram(), viewportRef = useRef(null), loadingOverlayRef = useRef(null), downloadedRef = useRef(!1);
|
|
50422
|
+
if (useTransparentBackground(), useEffect(
|
|
50423
|
+
() => {
|
|
50424
|
+
if (!viewportRef.current)
|
|
50425
|
+
return;
|
|
50426
|
+
[...viewportRef.current.querySelectorAll(".react-flow__viewport")].forEach((el) => {
|
|
50427
|
+
el.style.transform = "";
|
|
50428
|
+
});
|
|
50429
|
+
}
|
|
50430
|
+
), useDebouncedEffect(
|
|
50456
50431
|
() => {
|
|
50457
50432
|
const viewport = viewportRef.current;
|
|
50458
50433
|
if (!download || !viewport || !diagram)
|
|
50459
50434
|
return;
|
|
50460
50435
|
const loadingOverlay = loadingOverlayRef.current;
|
|
50461
50436
|
loadingOverlay && (loadingOverlay.style.display = "none"), !downloadedRef.current && (downloadedRef.current = !0, downloadAsPng({
|
|
50462
|
-
pngFilename:
|
|
50437
|
+
pngFilename: diagram.id,
|
|
50463
50438
|
viewport
|
|
50464
50439
|
}));
|
|
50465
50440
|
},
|
|
@@ -50469,11 +50444,11 @@ function ExportPage() {
|
|
|
50469
50444
|
throw notFound();
|
|
50470
50445
|
const width = diagram.bounds.width + padding * 2, height = diagram.bounds.height + padding * 2;
|
|
50471
50446
|
return /* @__PURE__ */ jsxs(
|
|
50472
|
-
Box
|
|
50447
|
+
Box,
|
|
50473
50448
|
{
|
|
50474
50449
|
ref: viewportRef,
|
|
50475
|
-
|
|
50476
|
-
|
|
50450
|
+
"data-testid": "export-page",
|
|
50451
|
+
className: cx(cssExportView),
|
|
50477
50452
|
style: {
|
|
50478
50453
|
padding,
|
|
50479
50454
|
minWidth: width,
|