zuplo 6.67.32 → 6.68.0
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/README.md +9 -0
- package/docs/_index.md +44 -0
- package/docs/ai-gateway/apps.mdx +28 -0
- package/docs/ai-gateway/custom-providers.mdx +54 -0
- package/docs/ai-gateway/getting-started.mdx +224 -0
- package/docs/ai-gateway/guardrails.mdx +65 -0
- package/docs/ai-gateway/integrations/ai-sdk.mdx +109 -0
- package/docs/ai-gateway/integrations/claude-code.mdx +49 -0
- package/docs/ai-gateway/integrations/codex.mdx +78 -0
- package/docs/ai-gateway/integrations/goose.mdx +104 -0
- package/docs/ai-gateway/integrations/langchain.mdx +66 -0
- package/docs/ai-gateway/integrations/openai.mdx +99 -0
- package/docs/ai-gateway/introduction.mdx +85 -0
- package/docs/ai-gateway/managing-apps.mdx +46 -0
- package/docs/ai-gateway/managing-providers.mdx +66 -0
- package/docs/ai-gateway/managing-teams.mdx +63 -0
- package/docs/ai-gateway/policies/akamai-ai-firewall.mdx +125 -0
- package/docs/ai-gateway/policies/comet-opik-tracing.mdx +139 -0
- package/docs/ai-gateway/policies/galileo-tracing.mdx +147 -0
- package/docs/ai-gateway/providers.mdx +32 -0
- package/docs/ai-gateway/teams.mdx +38 -0
- package/docs/ai-gateway/universal-api.mdx +43 -0
- package/docs/ai-gateway/usage-limits.mdx +89 -0
- package/docs/api-management/introduction.md +127 -0
- package/docs/articles/accounts/audit-logs.mdx +227 -0
- package/docs/articles/accounts/billing.mdx +25 -0
- package/docs/articles/accounts/default-api-key.mdx +30 -0
- package/docs/articles/accounts/delete-account.mdx +36 -0
- package/docs/articles/accounts/enterprise-sso.mdx +116 -0
- package/docs/articles/accounts/managing-account-members.mdx +45 -0
- package/docs/articles/accounts/managing-project-members.mdx +37 -0
- package/docs/articles/accounts/members-and-roles.mdx +21 -0
- package/docs/articles/accounts/roles-and-permissions.mdx +115 -0
- package/docs/articles/accounts/zuplo-api-keys.mdx +94 -0
- package/docs/articles/add-api-to-backstage.mdx +216 -0
- package/docs/articles/advanced-path-matching.mdx +139 -0
- package/docs/articles/api-key-administration.mdx +47 -0
- package/docs/articles/api-key-api.mdx +220 -0
- package/docs/articles/api-key-authentication.mdx +195 -0
- package/docs/articles/api-key-buckets.mdx +61 -0
- package/docs/articles/api-key-end-users.mdx +52 -0
- package/docs/articles/api-key-leak-detection.mdx +75 -0
- package/docs/articles/api-key-management.mdx +100 -0
- package/docs/articles/api-key-react-component.mdx +90 -0
- package/docs/articles/api-key-service-limits.mdx +14 -0
- package/docs/articles/archiving-requests-to-storage.mdx +119 -0
- package/docs/articles/branch-based-deployments.mdx +184 -0
- package/docs/articles/bypass-policy-for-testing.mdx +117 -0
- package/docs/articles/check-ip-address.mdx +17 -0
- package/docs/articles/ci-cd-azure/basic-deployment.mdx +49 -0
- package/docs/articles/ci-cd-azure/deploy-and-test.mdx +47 -0
- package/docs/articles/ci-cd-azure/local-testing.mdx +59 -0
- package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +88 -0
- package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +50 -0
- package/docs/articles/ci-cd-azure/tag-based-releases.mdx +37 -0
- package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +27 -0
- package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +41 -0
- package/docs/articles/ci-cd-bitbucket/local-testing.mdx +34 -0
- package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +52 -0
- package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +46 -0
- package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +27 -0
- package/docs/articles/ci-cd-circleci/basic-deployment.mdx +34 -0
- package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-circleci/local-testing.mdx +50 -0
- package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +82 -0
- package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +47 -0
- package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +38 -0
- package/docs/articles/ci-cd-github/basic-deployment.mdx +48 -0
- package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +123 -0
- package/docs/articles/ci-cd-github/deploy-and-test.mdx +82 -0
- package/docs/articles/ci-cd-github/local-testing.mdx +102 -0
- package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +136 -0
- package/docs/articles/ci-cd-github/pr-preview-environments.mdx +106 -0
- package/docs/articles/ci-cd-github/tag-based-releases.mdx +99 -0
- package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +28 -0
- package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-gitlab/local-testing.mdx +39 -0
- package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +52 -0
- package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +64 -0
- package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +28 -0
- package/docs/articles/composite-policy-reference.mdx +284 -0
- package/docs/articles/configuring-auth0-for-mcp-auth.mdx +186 -0
- package/docs/articles/configuring-okta-for-mcp-auth.mdx +208 -0
- package/docs/articles/convert-urls-to-openapi.mdx +62 -0
- package/docs/articles/cors.mdx +447 -0
- package/docs/articles/custom-audit-log-policy.mdx +95 -0
- package/docs/articles/custom-ci-cd-azure.mdx +81 -0
- package/docs/articles/custom-ci-cd-bitbucket.mdx +80 -0
- package/docs/articles/custom-ci-cd-circleci.mdx +78 -0
- package/docs/articles/custom-ci-cd-github.mdx +99 -0
- package/docs/articles/custom-ci-cd-gitlab.mdx +79 -0
- package/docs/articles/custom-ci-cd.mdx +82 -0
- package/docs/articles/custom-code-patterns.md +418 -0
- package/docs/articles/custom-domains.mdx +258 -0
- package/docs/articles/custom-logging-example.mdx +139 -0
- package/docs/articles/ddos-protection.mdx +138 -0
- package/docs/articles/development-options.mdx +49 -0
- package/docs/articles/environment-variables.mdx +134 -0
- package/docs/articles/environments.mdx +143 -0
- package/docs/articles/fastly-zuplo-host-setup.mdx +41 -0
- package/docs/articles/github-deployment-testing.mdx +101 -0
- package/docs/articles/gke-with-upstream-auth-policy.mdx +192 -0
- package/docs/articles/graphql-security.mdx +180 -0
- package/docs/articles/handling-form-data.mdx +61 -0
- package/docs/articles/health-checks.mdx +109 -0
- package/docs/articles/hosting-options.mdx +70 -0
- package/docs/articles/lazy-load-configuration-into-cache.mdx +92 -0
- package/docs/articles/limits.mdx +98 -0
- package/docs/articles/local-development-debugging.mdx +44 -0
- package/docs/articles/local-development-env-variables.mdx +23 -0
- package/docs/articles/local-development-installing-packages.mdx +23 -0
- package/docs/articles/local-development-routes-designer.mdx +27 -0
- package/docs/articles/local-development-services.mdx +40 -0
- package/docs/articles/local-development-troubleshooting.mdx +56 -0
- package/docs/articles/local-development.mdx +81 -0
- package/docs/articles/log-plugin-aws-cloudwatch.mdx +83 -0
- package/docs/articles/log-plugin-datadog.mdx +84 -0
- package/docs/articles/log-plugin-dynatrace.mdx +75 -0
- package/docs/articles/log-plugin-gcp.mdx +75 -0
- package/docs/articles/log-plugin-loki.mdx +136 -0
- package/docs/articles/log-plugin-new-relic.mdx +84 -0
- package/docs/articles/log-plugin-splunk.mdx +104 -0
- package/docs/articles/log-plugin-sumo.mdx +73 -0
- package/docs/articles/log-plugin-vmware-log-insight.mdx +154 -0
- package/docs/articles/log-request-response-data.mdx +398 -0
- package/docs/articles/logging.mdx +115 -0
- package/docs/articles/manual-mcp-oauth-testing.mdx +193 -0
- package/docs/articles/mcp-quickstart.mdx +135 -0
- package/docs/articles/metrics-plugins.mdx +371 -0
- package/docs/articles/migrate-from-apigee.md +408 -0
- package/docs/articles/migrate-from-aws-api-gateway.md +248 -0
- package/docs/articles/migrate-from-azure-apim.md +292 -0
- package/docs/articles/migrate-from-kong.md +300 -0
- package/docs/articles/migration-overview.md +81 -0
- package/docs/articles/monetization/api-access.mdx +69 -0
- package/docs/articles/monetization/billing-models.md +520 -0
- package/docs/articles/monetization/developer-portal.md +167 -0
- package/docs/articles/monetization/features.mdx +98 -0
- package/docs/articles/monetization/index.mdx +113 -0
- package/docs/articles/monetization/meters.mdx +135 -0
- package/docs/articles/monetization/monetization-policy.md +314 -0
- package/docs/articles/monetization/plan-examples.mdx +366 -0
- package/docs/articles/monetization/plans.mdx +266 -0
- package/docs/articles/monetization/pricing-models.mdx +225 -0
- package/docs/articles/monetization/private-plans.md +154 -0
- package/docs/articles/monetization/quickstart.md +355 -0
- package/docs/articles/monetization/rate-cards.mdx +171 -0
- package/docs/articles/monetization/stripe-integration.md +195 -0
- package/docs/articles/monetization/subscription-lifecycle.md +298 -0
- package/docs/articles/monetization/tax-collection.md +166 -0
- package/docs/articles/monetization/troubleshooting.md +272 -0
- package/docs/articles/monetization-custom.mdx +71 -0
- package/docs/articles/monetization-integrations.mdx +104 -0
- package/docs/articles/monitoring-your-gateway.mdx +53 -0
- package/docs/articles/monorepo-deployment.mdx +350 -0
- package/docs/articles/multiple-auth-policies.mdx +81 -0
- package/docs/articles/non-standard-ports.mdx +30 -0
- package/docs/articles/oauth-authentication.mdx +54 -0
- package/docs/articles/openapi-server-urls.mdx +60 -0
- package/docs/articles/openapi.mdx +130 -0
- package/docs/articles/opentelemetry.mdx +250 -0
- package/docs/articles/per-user-rate-limits-using-db.mdx +112 -0
- package/docs/articles/performance-testing.mdx +304 -0
- package/docs/articles/plugin-akamai-api-security.mdx +76 -0
- package/docs/articles/plugin-azure-blob.mdx +73 -0
- package/docs/articles/plugin-azure-event-hubs.mdx +64 -0
- package/docs/articles/plugin-hydrolix-traffic-peak.mdx +147 -0
- package/docs/articles/policies.mdx +33 -0
- package/docs/articles/rename-or-move-project.mdx +39 -0
- package/docs/articles/rick-and-morty-api-developer-portal-example.mdx +23 -0
- package/docs/articles/routing.mdx +193 -0
- package/docs/articles/s3-signed-url-uploads.mdx +521 -0
- package/docs/articles/secure-tunnel.mdx +84 -0
- package/docs/articles/securing-backend-mtls.mdx +268 -0
- package/docs/articles/securing-your-backend.mdx +148 -0
- package/docs/articles/security.mdx +105 -0
- package/docs/articles/sharing-code-across-projects.mdx +412 -0
- package/docs/articles/source-control-setup-azure.mdx +13 -0
- package/docs/articles/source-control-setup-bitbucket.mdx +43 -0
- package/docs/articles/source-control-setup-github.mdx +172 -0
- package/docs/articles/source-control-setup-gitlab.mdx +12 -0
- package/docs/articles/source-control.mdx +80 -0
- package/docs/articles/step-1-setup-basic-gateway-local.mdx +136 -0
- package/docs/articles/step-1-setup-basic-gateway.mdx +118 -0
- package/docs/articles/step-2-add-rate-limiting-local.mdx +126 -0
- package/docs/articles/step-2-add-rate-limiting.mdx +82 -0
- package/docs/articles/step-3-add-api-key-auth-local.mdx +199 -0
- package/docs/articles/step-3-add-api-key-auth.mdx +166 -0
- package/docs/articles/step-4-deploying-to-the-edge.mdx +220 -0
- package/docs/articles/step-5-dynamic-rate-limiting.mdx +167 -0
- package/docs/articles/support.mdx +144 -0
- package/docs/articles/terraform.mdx +114 -0
- package/docs/articles/testing-graphql.mdx +34 -0
- package/docs/articles/testing.mdx +522 -0
- package/docs/articles/troubleshooting-slow-responses.mdx +301 -0
- package/docs/articles/troubleshooting.md +302 -0
- package/docs/articles/tsconfig.mdx +105 -0
- package/docs/articles/tunnel-setup.mdx +195 -0
- package/docs/articles/tunnel-troubleshooting.mdx +50 -0
- package/docs/articles/update-zup-in-github-action.mdx +110 -0
- package/docs/articles/use-openapi-extension-data.mdx +79 -0
- package/docs/articles/users/multifactor-authentication.mdx +64 -0
- package/docs/articles/users/profile.mdx +13 -0
- package/docs/articles/versioning-on-zuplo.mdx +89 -0
- package/docs/articles/waf-ddos-akamai.md +133 -0
- package/docs/articles/waf-ddos-aws-waf-shield.mdx +85 -0
- package/docs/articles/waf-ddos-fastly.mdx +251 -0
- package/docs/articles/waf-ddos.mdx +140 -0
- package/docs/articles/zuplo-waf.mdx +156 -0
- package/docs/ask.mdx +3 -0
- package/docs/cli/authentication.mdx +56 -0
- package/docs/cli/connectivity.mdx +38 -0
- package/docs/cli/create-zuplo-api.mdx +80 -0
- package/docs/cli/delete.mdx +79 -0
- package/docs/cli/deploy.mdx +156 -0
- package/docs/cli/deploy.partial.mdx +46 -0
- package/docs/cli/dev.mdx +115 -0
- package/docs/cli/docs.mdx +66 -0
- package/docs/cli/editor.mdx +50 -0
- package/docs/cli/global-options.mdx +19 -0
- package/docs/cli/init.mdx +74 -0
- package/docs/cli/link.mdx +74 -0
- package/docs/cli/list.mdx +55 -0
- package/docs/cli/mtls-certificate-create.mdx +94 -0
- package/docs/cli/mtls-certificate-delete.mdx +55 -0
- package/docs/cli/mtls-certificate-describe.mdx +55 -0
- package/docs/cli/mtls-certificate-disable.mdx +55 -0
- package/docs/cli/mtls-certificate-list.mdx +47 -0
- package/docs/cli/mtls-certificate-update.mdx +72 -0
- package/docs/cli/openapi-convert.mdx +111 -0
- package/docs/cli/openapi-merge.mdx +138 -0
- package/docs/cli/openapi-merge.partial.mdx +29 -0
- package/docs/cli/openapi-overlay.mdx +123 -0
- package/docs/cli/overview.mdx +78 -0
- package/docs/cli/project-create.mdx +43 -0
- package/docs/cli/source-migrate.mdx +18 -0
- package/docs/cli/source-upgrade.mdx +41 -0
- package/docs/cli/test.mdx +70 -0
- package/docs/cli/test.partial.mdx +7 -0
- package/docs/cli/tunnel-create.mdx +53 -0
- package/docs/cli/tunnel-create.partial.mdx +9 -0
- package/docs/cli/tunnel-delete.mdx +35 -0
- package/docs/cli/tunnel-delete.partial.mdx +9 -0
- package/docs/cli/tunnel-describe.mdx +45 -0
- package/docs/cli/tunnel-describe.partial.mdx +5 -0
- package/docs/cli/tunnel-list.mdx +35 -0
- package/docs/cli/tunnel-list.partial.mdx +9 -0
- package/docs/cli/tunnel-rate-token.partial.mdx +9 -0
- package/docs/cli/tunnel-rotate-token.mdx +39 -0
- package/docs/cli/tunnel-services-describe.mdx +45 -0
- package/docs/cli/tunnel-services-describe.partial.mdx +9 -0
- package/docs/cli/tunnel-services-update.mdx +48 -0
- package/docs/cli/variable-create.mdx +91 -0
- package/docs/cli/variable-create.partial.mdx +5 -0
- package/docs/cli/variable-update.mdx +75 -0
- package/docs/cli/variable-update.partial.mdx +5 -0
- package/docs/concepts/api-keys.md +146 -0
- package/docs/concepts/authentication.mdx +109 -0
- package/docs/concepts/how-zuplo-works.mdx +120 -0
- package/docs/concepts/project-structure.mdx +174 -0
- package/docs/concepts/rate-limiting.md +246 -0
- package/docs/concepts/request-lifecycle.mdx +56 -0
- package/docs/concepts/source-control-and-deployment.mdx +229 -0
- package/docs/conferences/conference-prize-terms.mdx +80 -0
- package/docs/dedicated/akamai/ai-powered-applications.mdx +223 -0
- package/docs/dedicated/akamai/architecture.mdx +280 -0
- package/docs/dedicated/akamai/caching.mdx +212 -0
- package/docs/dedicated/akamai/cdn.mdx +156 -0
- package/docs/dedicated/architecture.mdx +208 -0
- package/docs/dedicated/custom-domains.mdx +31 -0
- package/docs/dedicated/federated-gateways.mdx +80 -0
- package/docs/dedicated/networking.mdx +69 -0
- package/docs/dedicated/overview.mdx +80 -0
- package/docs/dedicated/source-control.mdx +63 -0
- package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +134 -0
- package/docs/dev-portal/introduction.mdx +65 -0
- package/docs/dev-portal/local-development.mdx +72 -0
- package/docs/dev-portal/migration.mdx +526 -0
- package/docs/dev-portal/node-modules.mdx +45 -0
- package/docs/dev-portal/updating.mdx +28 -0
- package/docs/dev-portal/zudoku/components/alert.mdx +130 -0
- package/docs/dev-portal/zudoku/components/badge.mdx +70 -0
- package/docs/dev-portal/zudoku/components/button.mdx +132 -0
- package/docs/dev-portal/zudoku/components/callout.mdx +112 -0
- package/docs/dev-portal/zudoku/components/card.mdx +104 -0
- package/docs/dev-portal/zudoku/components/checkbox.mdx +72 -0
- package/docs/dev-portal/zudoku/components/client-only.mdx +79 -0
- package/docs/dev-portal/zudoku/components/code-tabs.mdx +179 -0
- package/docs/dev-portal/zudoku/components/dialog.mdx +167 -0
- package/docs/dev-portal/zudoku/components/head.mdx +199 -0
- package/docs/dev-portal/zudoku/components/icons.mdx +27 -0
- package/docs/dev-portal/zudoku/components/input.mdx +96 -0
- package/docs/dev-portal/zudoku/components/label.mdx +86 -0
- package/docs/dev-portal/zudoku/components/link.mdx +242 -0
- package/docs/dev-portal/zudoku/components/markdown.mdx +151 -0
- package/docs/dev-portal/zudoku/components/mermaid.mdx +81 -0
- package/docs/dev-portal/zudoku/components/playground.mdx +87 -0
- package/docs/dev-portal/zudoku/components/secret.mdx +78 -0
- package/docs/dev-portal/zudoku/components/select.mdx +176 -0
- package/docs/dev-portal/zudoku/components/shadcn.mdx +73 -0
- package/docs/dev-portal/zudoku/components/slider.mdx +108 -0
- package/docs/dev-portal/zudoku/components/slot.mdx +119 -0
- package/docs/dev-portal/zudoku/components/stepper.mdx +138 -0
- package/docs/dev-portal/zudoku/components/switch.mdx +96 -0
- package/docs/dev-portal/zudoku/components/syntax-highlight.mdx +602 -0
- package/docs/dev-portal/zudoku/components/textarea.mdx +78 -0
- package/docs/dev-portal/zudoku/components/tooltip.mdx +195 -0
- package/docs/dev-portal/zudoku/components/typography.mdx +61 -0
- package/docs/dev-portal/zudoku/configuration/ai-assistants.md +64 -0
- package/docs/dev-portal/zudoku/configuration/api-catalog.md +108 -0
- package/docs/dev-portal/zudoku/configuration/api-reference.md +397 -0
- package/docs/dev-portal/zudoku/configuration/authentication-auth0.md +173 -0
- package/docs/dev-portal/zudoku/configuration/authentication-azure-ad.md +238 -0
- package/docs/dev-portal/zudoku/configuration/authentication-clerk.md +110 -0
- package/docs/dev-portal/zudoku/configuration/authentication-firebase.md +61 -0
- package/docs/dev-portal/zudoku/configuration/authentication-pingfederate.md +136 -0
- package/docs/dev-portal/zudoku/configuration/authentication-supabase.md +225 -0
- package/docs/dev-portal/zudoku/configuration/authentication.md +199 -0
- package/docs/dev-portal/zudoku/configuration/build-configuration.mdx +147 -0
- package/docs/dev-portal/zudoku/configuration/docs.md +282 -0
- package/docs/dev-portal/zudoku/configuration/footer.mdx +214 -0
- package/docs/dev-portal/zudoku/configuration/llms.md +89 -0
- package/docs/dev-portal/zudoku/configuration/navigation.mdx +408 -0
- package/docs/dev-portal/zudoku/configuration/overview.md +380 -0
- package/docs/dev-portal/zudoku/configuration/protected-routes.md +149 -0
- package/docs/dev-portal/zudoku/configuration/search.md +169 -0
- package/docs/dev-portal/zudoku/configuration/sentry.mdx +44 -0
- package/docs/dev-portal/zudoku/configuration/site.md +124 -0
- package/docs/dev-portal/zudoku/configuration/slots.mdx +124 -0
- package/docs/dev-portal/zudoku/configuration/vite-config.md +18 -0
- package/docs/dev-portal/zudoku/custom-plugins.md +287 -0
- package/docs/dev-portal/zudoku/customization/colors-theme.mdx +275 -0
- package/docs/dev-portal/zudoku/customization/fonts.md +110 -0
- package/docs/dev-portal/zudoku/extending/events.md +124 -0
- package/docs/dev-portal/zudoku/guides/custom-pages.md +106 -0
- package/docs/dev-portal/zudoku/guides/environment-variables.md +99 -0
- package/docs/dev-portal/zudoku/guides/mermaid.mdx +70 -0
- package/docs/dev-portal/zudoku/guides/navigation-migration.md +87 -0
- package/docs/dev-portal/zudoku/guides/navigation-rules.mdx +197 -0
- package/docs/dev-portal/zudoku/guides/processors.mdx +234 -0
- package/docs/dev-portal/zudoku/guides/static-files.md +55 -0
- package/docs/dev-portal/zudoku/guides/transforming-examples.md +156 -0
- package/docs/dev-portal/zudoku/guides/using-multiple-apis.md +87 -0
- package/docs/dev-portal/zudoku/markdown/admonitions.md +128 -0
- package/docs/dev-portal/zudoku/markdown/code-blocks.md +196 -0
- package/docs/dev-portal/zudoku/markdown/frontmatter.md +172 -0
- package/docs/dev-portal/zudoku/markdown/mdx.md +68 -0
- package/docs/dev-portal/zudoku/markdown/overview.md +275 -0
- package/docs/dev-portal/zudoku/plugins.md +5 -0
- package/docs/dev-portal/zudoku/writing.mdx +72 -0
- package/docs/errors/bad-request.mdx +39 -0
- package/docs/errors/build-error.mdx +45 -0
- package/docs/errors/fatal-project-error.mdx +39 -0
- package/docs/errors/gateway-timeout.mdx +33 -0
- package/docs/errors/get-head-body-error.mdx +41 -0
- package/docs/errors/main-mod-error.mdx +40 -0
- package/docs/errors/no-project-set.mdx +41 -0
- package/docs/errors/not-found.mdx +43 -0
- package/docs/errors/rate-limit-exceeded.mdx +31 -0
- package/docs/errors/schema-validation-failed.mdx +51 -0
- package/docs/errors/system-configuration-error.mdx +44 -0
- package/docs/errors/unauthorized.mdx +50 -0
- package/docs/errors/unknown-error.mdx +42 -0
- package/docs/errors.mdx +14 -0
- package/docs/guides/canary-routing-for-employees.mdx +385 -0
- package/docs/guides/geolocation-backend-routing.mdx +404 -0
- package/docs/guides/modify-openapi-paths.mdx +371 -0
- package/docs/guides/openapi-overlays.mdx +492 -0
- package/docs/guides/overview.mdx +12 -0
- package/docs/guides/user-based-backend-routing.mdx +437 -0
- package/docs/handlers/aws-lambda.mdx +201 -0
- package/docs/handlers/custom-handler.mdx +112 -0
- package/docs/handlers/legacy-dev-portal-handler.mdx +135 -0
- package/docs/handlers/mcp-server.mdx +730 -0
- package/docs/handlers/openapi.mdx +78 -0
- package/docs/handlers/redirect.mdx +115 -0
- package/docs/handlers/system-handlers.mdx +41 -0
- package/docs/handlers/url-forward.mdx +204 -0
- package/docs/handlers/url-rewrite.mdx +224 -0
- package/docs/handlers/websocket-handler.mdx +154 -0
- package/docs/home.mdx +6 -0
- package/docs/managed-edge/overview.md +78 -0
- package/docs/mcp-server/configuration-migration-guide.mdx +344 -0
- package/docs/mcp-server/custom-tools.mdx +487 -0
- package/docs/mcp-server/graphql.mdx +241 -0
- package/docs/mcp-server/introduction.mdx +122 -0
- package/docs/mcp-server/openai-apps-sdk.mdx +160 -0
- package/docs/mcp-server/prompts.mdx +283 -0
- package/docs/mcp-server/resources.mdx +288 -0
- package/docs/mcp-server/testing.mdx +53 -0
- package/docs/mcp-server/tools.mdx +306 -0
- package/docs/policies/_index.md +92 -0
- package/docs/policies/ab-test-inbound/intro.md +8 -0
- package/docs/policies/ab-test-inbound/policy.ts +14 -0
- package/docs/policies/ab-test-inbound/schema.json +27 -0
- package/docs/policies/ab-test-outbound/intro.md +8 -0
- package/docs/policies/ab-test-outbound/policy.ts +26 -0
- package/docs/policies/ab-test-outbound/schema.json +27 -0
- package/docs/policies/acl-policy-inbound/intro.md +5 -0
- package/docs/policies/acl-policy-inbound/policy.ts +32 -0
- package/docs/policies/acl-policy-inbound/schema.json +52 -0
- package/docs/policies/akamai-ai-firewall/schema.json +98 -0
- package/docs/policies/amberflo-metering-inbound/doc.md +183 -0
- package/docs/policies/amberflo-metering-inbound/intro.md +20 -0
- package/docs/policies/amberflo-metering-inbound/schema.json +108 -0
- package/docs/policies/api-key-inbound/doc.md +77 -0
- package/docs/policies/api-key-inbound/intro.md +30 -0
- package/docs/policies/api-key-inbound/schema.json +84 -0
- package/docs/policies/archive-request-aws-s3-inbound/intro.md +4 -0
- package/docs/policies/archive-request-aws-s3-inbound/policy.ts +58 -0
- package/docs/policies/archive-request-aws-s3-inbound/schema.json +68 -0
- package/docs/policies/archive-request-azure-storage-inbound/doc.md +31 -0
- package/docs/policies/archive-request-azure-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-azure-storage-inbound/policy.ts +54 -0
- package/docs/policies/archive-request-azure-storage-inbound/schema.json +53 -0
- package/docs/policies/archive-request-gcp-storage-inbound/doc.md +63 -0
- package/docs/policies/archive-request-gcp-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-gcp-storage-inbound/policy.ts +68 -0
- package/docs/policies/archive-request-gcp-storage-inbound/schema.json +47 -0
- package/docs/policies/archive-response-aws-s3-outbound/intro.md +2 -0
- package/docs/policies/archive-response-aws-s3-outbound/policy.ts +59 -0
- package/docs/policies/archive-response-aws-s3-outbound/schema.json +68 -0
- package/docs/policies/archive-response-azure-storage-outbound/doc.md +31 -0
- package/docs/policies/archive-response-azure-storage-outbound/intro.md +3 -0
- package/docs/policies/archive-response-azure-storage-outbound/policy.ts +54 -0
- package/docs/policies/archive-response-azure-storage-outbound/schema.json +53 -0
- package/docs/policies/audit-log-inbound/doc.md +78 -0
- package/docs/policies/audit-log-inbound/intro.md +10 -0
- package/docs/policies/audit-log-inbound/schema.json +81 -0
- package/docs/policies/auth0-jwt-auth-inbound/doc.md +125 -0
- package/docs/policies/auth0-jwt-auth-inbound/intro.md +17 -0
- package/docs/policies/auth0-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/authzen-inbound/doc.md +24 -0
- package/docs/policies/authzen-inbound/intro.md +31 -0
- package/docs/policies/authzen-inbound/schema.json +126 -0
- package/docs/policies/axiomatics-authz-inbound/doc.md +144 -0
- package/docs/policies/axiomatics-authz-inbound/intro.md +11 -0
- package/docs/policies/axiomatics-authz-inbound/schema.json +161 -0
- package/docs/policies/basic-auth-inbound/intro.md +9 -0
- package/docs/policies/basic-auth-inbound/schema.json +99 -0
- package/docs/policies/bot-detection-inbound/intro.md +4 -0
- package/docs/policies/bot-detection-inbound/schema.json +56 -0
- package/docs/policies/brownout-inbound/doc.md +55 -0
- package/docs/policies/brownout-inbound/intro.md +12 -0
- package/docs/policies/brownout-inbound/schema.json +115 -0
- package/docs/policies/caching-inbound/doc.md +209 -0
- package/docs/policies/caching-inbound/intro.md +23 -0
- package/docs/policies/caching-inbound/schema.json +98 -0
- package/docs/policies/change-method-inbound/schema.json +56 -0
- package/docs/policies/clear-headers-inbound/schema.json +59 -0
- package/docs/policies/clear-headers-outbound/schema.json +59 -0
- package/docs/policies/clerk-jwt-auth-inbound/doc.md +85 -0
- package/docs/policies/clerk-jwt-auth-inbound/intro.md +4 -0
- package/docs/policies/clerk-jwt-auth-inbound/schema.json +68 -0
- package/docs/policies/cognito-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/cognito-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/comet-opik-tracing-inbound/schema.json +65 -0
- package/docs/policies/complex-rate-limit-inbound/doc.md +20 -0
- package/docs/policies/complex-rate-limit-inbound/intro.md +23 -0
- package/docs/policies/complex-rate-limit-inbound/schema.json +142 -0
- package/docs/policies/composite-inbound/doc.md +69 -0
- package/docs/policies/composite-inbound/intro.md +15 -0
- package/docs/policies/composite-inbound/schema.json +59 -0
- package/docs/policies/composite-outbound/intro.md +6 -0
- package/docs/policies/composite-outbound/schema.json +59 -0
- package/docs/policies/curity-phantom-token-inbound/doc.md +109 -0
- package/docs/policies/curity-phantom-token-inbound/intro.md +3 -0
- package/docs/policies/curity-phantom-token-inbound/schema.json +68 -0
- package/docs/policies/custom-code-inbound/doc.md +267 -0
- package/docs/policies/custom-code-inbound/intro.md +2 -0
- package/docs/policies/custom-code-inbound/schema.json +48 -0
- package/docs/policies/custom-code-outbound/doc.md +235 -0
- package/docs/policies/custom-code-outbound/intro.md +2 -0
- package/docs/policies/custom-code-outbound/schema.json +43 -0
- package/docs/policies/firebase-jwt-inbound/intro.md +6 -0
- package/docs/policies/firebase-jwt-inbound/schema.json +68 -0
- package/docs/policies/formdata-to-json-inbound/schema.json +60 -0
- package/docs/policies/galileo-tracing-inbound/schema.json +65 -0
- package/docs/policies/geo-filter-inbound/doc.md +33 -0
- package/docs/policies/geo-filter-inbound/schema.json +108 -0
- package/docs/policies/graphql-complexity-limit-inbound/doc.md +48 -0
- package/docs/policies/graphql-complexity-limit-inbound/intro.md +2 -0
- package/docs/policies/graphql-complexity-limit-inbound/schema.json +90 -0
- package/docs/policies/graphql-disable-introspection-inbound/doc.md +66 -0
- package/docs/policies/graphql-disable-introspection-inbound/intro.md +15 -0
- package/docs/policies/graphql-disable-introspection-inbound/schema.json +48 -0
- package/docs/policies/graphql-introspection-filter-outbound/doc.md +148 -0
- package/docs/policies/graphql-introspection-filter-outbound/schema.json +79 -0
- package/docs/policies/hmac-auth-inbound/doc.md +30 -0
- package/docs/policies/hmac-auth-inbound/intro.md +10 -0
- package/docs/policies/hmac-auth-inbound/policy.ts +70 -0
- package/docs/policies/hmac-auth-inbound/schema.json +53 -0
- package/docs/policies/http-deprecation-outbound/doc.md +73 -0
- package/docs/policies/http-deprecation-outbound/schema.json +83 -0
- package/docs/policies/ip-restriction-inbound/intro.md +8 -0
- package/docs/policies/ip-restriction-inbound/policy.ts +40 -0
- package/docs/policies/ip-restriction-inbound/schema.json +58 -0
- package/docs/policies/jwt-scopes-inbound/schema.json +59 -0
- package/docs/policies/ldap-auth-inbound/schema.json +56 -0
- package/docs/policies/mock-api-inbound/schema.json +72 -0
- package/docs/policies/moesif-inbound/doc.md +44 -0
- package/docs/policies/moesif-inbound/intro.md +6 -0
- package/docs/policies/moesif-inbound/schema.json +68 -0
- package/docs/policies/monetization-inbound/doc.md +87 -0
- package/docs/policies/monetization-inbound/intro.md +6 -0
- package/docs/policies/monetization-inbound/schema.json +102 -0
- package/docs/policies/mtls-auth-inbound/intro.md +6 -0
- package/docs/policies/mtls-auth-inbound/schema.json +68 -0
- package/docs/policies/okta-fga-authz-inbound/doc.md +181 -0
- package/docs/policies/okta-fga-authz-inbound/intro.md +20 -0
- package/docs/policies/okta-fga-authz-inbound/schema.json +104 -0
- package/docs/policies/okta-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/okta-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/open-id-jwt-auth-inbound/doc.md +58 -0
- package/docs/policies/open-id-jwt-auth-inbound/intro.md +30 -0
- package/docs/policies/open-id-jwt-auth-inbound/schema.json +128 -0
- package/docs/policies/openfga-authz-inbound/doc.md +207 -0
- package/docs/policies/openfga-authz-inbound/intro.md +17 -0
- package/docs/policies/openfga-authz-inbound/schema.json +191 -0
- package/docs/policies/openmeter-inbound/doc.md +163 -0
- package/docs/policies/openmeter-inbound/intro.md +18 -0
- package/docs/policies/openmeter-inbound/schema.json +183 -0
- package/docs/policies/prompt-injection-outbound/doc.md +106 -0
- package/docs/policies/prompt-injection-outbound/intro.md +4 -0
- package/docs/policies/prompt-injection-outbound/schema.json +74 -0
- package/docs/policies/propel-auth-jwt-inbound/doc.md +88 -0
- package/docs/policies/propel-auth-jwt-inbound/intro.md +4 -0
- package/docs/policies/propel-auth-jwt-inbound/schema.json +74 -0
- package/docs/policies/query-param-to-header-inbound/doc.md +70 -0
- package/docs/policies/query-param-to-header-inbound/intro.md +5 -0
- package/docs/policies/query-param-to-header-inbound/schema.json +74 -0
- package/docs/policies/quota-inbound/doc.md +235 -0
- package/docs/policies/quota-inbound/intro.md +7 -0
- package/docs/policies/quota-inbound/schema.json +133 -0
- package/docs/policies/rate-limit-inbound/doc.md +78 -0
- package/docs/policies/rate-limit-inbound/intro.md +30 -0
- package/docs/policies/rate-limit-inbound/schema.json +134 -0
- package/docs/policies/rbac-policy-inbound/intro.md +3 -0
- package/docs/policies/rbac-policy-inbound/policy.ts +42 -0
- package/docs/policies/rbac-policy-inbound/schema.json +52 -0
- package/docs/policies/readme-metrics-inbound/doc.md +1 -0
- package/docs/policies/readme-metrics-inbound/intro.md +3 -0
- package/docs/policies/readme-metrics-inbound/schema.json +84 -0
- package/docs/policies/remove-headers-inbound/schema.json +59 -0
- package/docs/policies/remove-headers-outbound/schema.json +59 -0
- package/docs/policies/remove-query-params-inbound/schema.json +59 -0
- package/docs/policies/replace-string-outbound/schema.json +69 -0
- package/docs/policies/request-size-limit-inbound/schema.json +60 -0
- package/docs/policies/request-validation-inbound/doc.md +72 -0
- package/docs/policies/request-validation-inbound/intro.md +24 -0
- package/docs/policies/request-validation-inbound/schema.json +98 -0
- package/docs/policies/require-origin-inbound/intro.md +12 -0
- package/docs/policies/require-origin-inbound/schema.json +65 -0
- package/docs/policies/secret-masking-outbound/doc.md +41 -0
- package/docs/policies/secret-masking-outbound/intro.md +13 -0
- package/docs/policies/secret-masking-outbound/schema.json +65 -0
- package/docs/policies/semantic-cache-inbound/doc.md +63 -0
- package/docs/policies/semantic-cache-inbound/intro.md +4 -0
- package/docs/policies/semantic-cache-inbound/schema.json +179 -0
- package/docs/policies/set-body-inbound/intro.md +7 -0
- package/docs/policies/set-body-inbound/schema.json +56 -0
- package/docs/policies/set-headers-inbound/doc.md +41 -0
- package/docs/policies/set-headers-inbound/intro.md +2 -0
- package/docs/policies/set-headers-inbound/schema.json +83 -0
- package/docs/policies/set-headers-outbound/schema.json +83 -0
- package/docs/policies/set-query-params-inbound/schema.json +83 -0
- package/docs/policies/set-status-outbound/schema.json +62 -0
- package/docs/policies/sleep-inbound/schema.json +56 -0
- package/docs/policies/stripe-webhook-verification-inbound/intro.md +2 -0
- package/docs/policies/stripe-webhook-verification-inbound/schema.json +60 -0
- package/docs/policies/supabase-jwt-auth-inbound/doc.md +29 -0
- package/docs/policies/supabase-jwt-auth-inbound/intro.md +12 -0
- package/docs/policies/supabase-jwt-auth-inbound/schema.json +86 -0
- package/docs/policies/transform-body-inbound/intro.md +8 -0
- package/docs/policies/transform-body-inbound/policy.ts +16 -0
- package/docs/policies/transform-body-inbound/schema.json +27 -0
- package/docs/policies/transform-body-outbound/intro.md +8 -0
- package/docs/policies/transform-body-outbound/policy.ts +19 -0
- package/docs/policies/transform-body-outbound/schema.json +27 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/doc.md +82 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/intro.md +20 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/schema.json +84 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/intro.md +10 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/schema.json +68 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/intro.md +2 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/schema.json +113 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/doc.md +139 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/intro.md +21 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/schema.json +96 -0
- package/docs/policies/upstream-gcp-jwt-inbound/intro.md +10 -0
- package/docs/policies/upstream-gcp-jwt-inbound/schema.json +62 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/doc.md +132 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/intro.md +25 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/schema.json +95 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/doc.md +213 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/intro.md +16 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/schema.json +101 -0
- package/docs/policies/validate-json-schema-inbound/doc.md +129 -0
- package/docs/policies/validate-json-schema-inbound/intro.md +7 -0
- package/docs/policies/validate-json-schema-inbound/schema.json +56 -0
- package/docs/policies/web-bot-auth-inbound/doc.md +104 -0
- package/docs/policies/web-bot-auth-inbound/intro.md +16 -0
- package/docs/policies/web-bot-auth-inbound/schema.json +76 -0
- package/docs/policies/xml-to-json-outbound/doc.md +71 -0
- package/docs/policies/xml-to-json-outbound/intro.md +4 -0
- package/docs/policies/xml-to-json-outbound/schema.json +117 -0
- package/docs/programmable-api/audit-log.mdx +74 -0
- package/docs/programmable-api/background-dispatcher.mdx +124 -0
- package/docs/programmable-api/background-loader.mdx +104 -0
- package/docs/programmable-api/cache.mdx +186 -0
- package/docs/programmable-api/compatibility-dates.mdx +201 -0
- package/docs/programmable-api/console-logging.mdx +48 -0
- package/docs/programmable-api/context-data.mdx +127 -0
- package/docs/programmable-api/custom-cors-policy.mdx +64 -0
- package/docs/programmable-api/environment.mdx +328 -0
- package/docs/programmable-api/hooks.mdx +569 -0
- package/docs/programmable-api/http-problems.mdx +385 -0
- package/docs/programmable-api/jwt-service-plugin.mdx +420 -0
- package/docs/programmable-api/logger.mdx +223 -0
- package/docs/programmable-api/memory-zone-read-through-cache.mdx +96 -0
- package/docs/programmable-api/node-modules.mdx +67 -0
- package/docs/programmable-api/not-found-handler.mdx +47 -0
- package/docs/programmable-api/oauth-protected-resource-plugin.mdx +46 -0
- package/docs/programmable-api/overview.mdx +213 -0
- package/docs/programmable-api/problem-response-formatter.mdx +183 -0
- package/docs/programmable-api/request-user.mdx +289 -0
- package/docs/programmable-api/reusing-code.mdx +26 -0
- package/docs/programmable-api/route-raw.mdx +55 -0
- package/docs/programmable-api/runtime-behaviors.mdx +25 -0
- package/docs/programmable-api/runtime-errors.mdx +246 -0
- package/docs/programmable-api/runtime-extensions.mdx +340 -0
- package/docs/programmable-api/safely-clone-a-request-or-response.mdx +57 -0
- package/docs/programmable-api/streaming-zone-cache.mdx +155 -0
- package/docs/programmable-api/web-crypto-apis.mdx +219 -0
- package/docs/programmable-api/web-standard-apis.mdx +109 -0
- package/docs/programmable-api/zone-cache.mdx +131 -0
- package/docs/programmable-api/zp-body-removed.mdx +32 -0
- package/docs/programmable-api/zuplo-context.mdx +414 -0
- package/docs/programmable-api/zuplo-id-token.mdx +90 -0
- package/docs/programmable-api/zuplo-json.mdx +91 -0
- package/docs/programmable-api/zuplo-request.mdx +200 -0
- package/docs/sample-apis.mdx +78 -0
- package/docs/self-hosted/overview.md +60 -0
- package/package.json +6 -5
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: CodeTabs
|
|
3
|
+
sidebar_icon: columns-2
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
A tabbed code block component that groups multiple code blocks into a single unified view. Useful
|
|
7
|
+
for showing the same example in different languages or alternative commands for different package
|
|
8
|
+
managers.
|
|
9
|
+
|
|
10
|
+
:::note
|
|
11
|
+
|
|
12
|
+
In MDX, the `CodeTabs` component is available by default and doesn't need an explicit import.
|
|
13
|
+
|
|
14
|
+
:::
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
Wrap multiple fenced code blocks with `<CodeTabs>` and they will render as tabs. Tab labels are
|
|
19
|
+
automatically inferred from the code block language.
|
|
20
|
+
|
|
21
|
+
<CodeTabs>
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
const greeting: string = "Hello, world!";
|
|
25
|
+
console.log(greeting);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```js
|
|
29
|
+
const greeting = "Hello, world!";
|
|
30
|
+
console.log(greeting);
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```py
|
|
34
|
+
greeting = "Hello, world!"
|
|
35
|
+
print(greeting)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
</CodeTabs>
|
|
39
|
+
|
|
40
|
+
````mdx
|
|
41
|
+
<CodeTabs>
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
const greeting: string = "Hello, world!";
|
|
45
|
+
console.log(greeting);
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
const greeting = "Hello, world!";
|
|
50
|
+
console.log(greeting);
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```py
|
|
54
|
+
greeting = "Hello, world!"
|
|
55
|
+
print(greeting)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
</CodeTabs>
|
|
59
|
+
````
|
|
60
|
+
|
|
61
|
+
## Custom Labels
|
|
62
|
+
|
|
63
|
+
Use the `title` meta attribute on each code block to set a custom tab label. This is especially
|
|
64
|
+
useful when multiple code blocks share the same language.
|
|
65
|
+
|
|
66
|
+
<CodeTabs>
|
|
67
|
+
|
|
68
|
+
```sh /zudoku/ title="pnpm" showLineNumbers icon="pnpm"
|
|
69
|
+
pnpm add zudoku
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```sh title="npm" icon="npm"
|
|
73
|
+
npm install zudoku
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```sh title="yarn" icon="yarn"
|
|
77
|
+
yarn add zudoku
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
</CodeTabs>
|
|
81
|
+
|
|
82
|
+
````mdx
|
|
83
|
+
<CodeTabs>
|
|
84
|
+
|
|
85
|
+
```sh title="pnpm" icon="pnpm"
|
|
86
|
+
pnpm add zudoku
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```sh title="npm" icon="npm"
|
|
90
|
+
npm install zudoku
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
```sh title="yarn" icon="yarn"
|
|
94
|
+
yarn add zudoku
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
</CodeTabs>
|
|
98
|
+
````
|
|
99
|
+
|
|
100
|
+
## Synced Tabs
|
|
101
|
+
|
|
102
|
+
Use the `syncKey` prop to keep multiple `CodeTabs` instances in sync. When a user selects a tab in
|
|
103
|
+
one group, all groups with the same `syncKey` update to match. The selection is persisted to
|
|
104
|
+
localStorage and synced across browser tabs.
|
|
105
|
+
|
|
106
|
+
<div className="flex justify-center gap-4 *:flex-1">
|
|
107
|
+
|
|
108
|
+
<CodeTabs syncKey="package-manager">
|
|
109
|
+
```sh title="pnpm" icon="pnpm"
|
|
110
|
+
pnpm run build
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
```sh title="npm" icon="npm"
|
|
114
|
+
npm run build
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
</CodeTabs>
|
|
118
|
+
|
|
119
|
+
<CodeTabs syncKey="package-manager">
|
|
120
|
+
```sh title="pnpm" icon="pnpm"
|
|
121
|
+
pnpm run build
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
```sh title="npm" icon="npm"
|
|
125
|
+
npm run build
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
</CodeTabs>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
````mdx
|
|
132
|
+
<CodeTabs syncKey="package-manager">
|
|
133
|
+
```sh title="pnpm" icon="pnpm"
|
|
134
|
+
pnpm add zudoku
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
```sh title="npm" icon="npm"
|
|
138
|
+
npm install zudoku
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
</CodeTabs>
|
|
142
|
+
|
|
143
|
+
<!-- repeat above -->
|
|
144
|
+
````
|
|
145
|
+
|
|
146
|
+
## Programmatic Usage
|
|
147
|
+
|
|
148
|
+
Usually it's recommended to use fenced code blocks in MDX files. However, when building reusable
|
|
149
|
+
components (e.g. in your MDX component config), fenced code blocks aren't processed by the MDX
|
|
150
|
+
pipeline. Use `CodeTabPanel` directly instead:
|
|
151
|
+
|
|
152
|
+
```tsx
|
|
153
|
+
import { CodeTabs, CodeTabPanel } from "zudoku/ui/CodeTabs";
|
|
154
|
+
|
|
155
|
+
const InstallTabs = ({ pkg }: { pkg: string }) => (
|
|
156
|
+
<CodeTabs syncKey="package-manager">
|
|
157
|
+
<CodeTabPanel language="sh" title="pnpm" icon="pnpm" code={`pnpm add ${pkg}`} />
|
|
158
|
+
<CodeTabPanel language="sh" title="npm" icon="npm" code={`npm install ${pkg}`} />
|
|
159
|
+
<CodeTabPanel language="sh" title="yarn" icon="yarn" code={`yarn add ${pkg}`} />
|
|
160
|
+
</CodeTabs>
|
|
161
|
+
);
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### CodeTabPanel Props
|
|
165
|
+
|
|
166
|
+
| Prop | Type | Description |
|
|
167
|
+
| ---------- | -------- | --------------------------------------------------------------- |
|
|
168
|
+
| `code` | `string` | The code content to display. Required. |
|
|
169
|
+
| `language` | `string` | Language for syntax highlighting and label inference. |
|
|
170
|
+
| `title` | `string` | Custom tab label. Falls back to `language`. |
|
|
171
|
+
| `icon` | `string` | Override the language icon (e.g. `"pnpm"`, `"npm"`). |
|
|
172
|
+
| `meta` | `string` | Raw meta string like in code blocks (e.g. `"showLineNumbers"`). |
|
|
173
|
+
|
|
174
|
+
## Props
|
|
175
|
+
|
|
176
|
+
| Prop | Type | Description |
|
|
177
|
+
| ---------- | --------- | ----------------------------------------------------------------------------------------------------- |
|
|
178
|
+
| `syncKey` | `string` | Sync selected tab across all `CodeTabs` with the same key. Persisted to localStorage and across tabs. |
|
|
179
|
+
| `hideIcon` | `boolean` | Hide the language icon in tabs. Defaults to `false`. |
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Dialog
|
|
3
|
+
sidebar_icon: rectangle-horizontal
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
Dialog,
|
|
8
|
+
DialogContent,
|
|
9
|
+
DialogDescription,
|
|
10
|
+
DialogFooter,
|
|
11
|
+
DialogHeader,
|
|
12
|
+
DialogTitle,
|
|
13
|
+
DialogTrigger,
|
|
14
|
+
} from "zudoku/ui/Dialog";
|
|
15
|
+
import { Button } from "zudoku/ui/Button";
|
|
16
|
+
import { Input } from "zudoku/ui/Input";
|
|
17
|
+
import { Label } from "zudoku/ui/Label";
|
|
18
|
+
|
|
19
|
+
A modal dialog component built on Radix UI primitives for displaying content that requires user
|
|
20
|
+
attention.
|
|
21
|
+
|
|
22
|
+
## Import
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
import {
|
|
26
|
+
Dialog,
|
|
27
|
+
DialogContent,
|
|
28
|
+
DialogDescription,
|
|
29
|
+
DialogFooter,
|
|
30
|
+
DialogHeader,
|
|
31
|
+
DialogTitle,
|
|
32
|
+
DialogTrigger,
|
|
33
|
+
} from "zudoku/ui/Dialog";
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Components
|
|
37
|
+
|
|
38
|
+
The Dialog component consists of several sub-components:
|
|
39
|
+
|
|
40
|
+
- `Dialog` - The main container (root)
|
|
41
|
+
- `DialogTrigger` - Button that opens the dialog
|
|
42
|
+
- `DialogContent` - The modal content container
|
|
43
|
+
- `DialogHeader` - Header section for title and description
|
|
44
|
+
- `DialogTitle` - The dialog title
|
|
45
|
+
- `DialogDescription` - Additional description text
|
|
46
|
+
- `DialogFooter` - Footer section for actions
|
|
47
|
+
- `DialogClose` - Element that closes the dialog when clicked
|
|
48
|
+
|
|
49
|
+
## Basic Usage
|
|
50
|
+
|
|
51
|
+
<Dialog>
|
|
52
|
+
<DialogTrigger asChild>
|
|
53
|
+
<Button variant="outline">Open Dialog</Button>
|
|
54
|
+
</DialogTrigger>
|
|
55
|
+
<DialogContent>
|
|
56
|
+
<DialogHeader>
|
|
57
|
+
<DialogTitle>Are you absolutely sure?</DialogTitle>
|
|
58
|
+
<DialogDescription>
|
|
59
|
+
This action cannot be undone. This will permanently delete your account and remove your data
|
|
60
|
+
from our servers.
|
|
61
|
+
</DialogDescription>
|
|
62
|
+
</DialogHeader>
|
|
63
|
+
</DialogContent>
|
|
64
|
+
</Dialog>
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
<Dialog>
|
|
68
|
+
<DialogTrigger asChild>
|
|
69
|
+
<Button variant="outline">Open Dialog</Button>
|
|
70
|
+
</DialogTrigger>
|
|
71
|
+
<DialogContent>
|
|
72
|
+
<DialogHeader>
|
|
73
|
+
<DialogTitle>Are you absolutely sure?</DialogTitle>
|
|
74
|
+
<DialogDescription>
|
|
75
|
+
This action cannot be undone. This will permanently delete your account and remove your data
|
|
76
|
+
from our servers.
|
|
77
|
+
</DialogDescription>
|
|
78
|
+
</DialogHeader>
|
|
79
|
+
</DialogContent>
|
|
80
|
+
</Dialog>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## With Footer Actions
|
|
84
|
+
|
|
85
|
+
<Dialog>
|
|
86
|
+
<DialogTrigger asChild>
|
|
87
|
+
<Button>Edit Profile</Button>
|
|
88
|
+
</DialogTrigger>
|
|
89
|
+
<DialogContent className="sm:max-w-[425px]">
|
|
90
|
+
<DialogHeader>
|
|
91
|
+
<DialogTitle>Edit profile</DialogTitle>
|
|
92
|
+
<DialogDescription>
|
|
93
|
+
Make changes to your profile here. Click save when you're done.
|
|
94
|
+
</DialogDescription>
|
|
95
|
+
</DialogHeader>
|
|
96
|
+
<div className="grid gap-4 py-4">
|
|
97
|
+
<div className="grid grid-cols-4 items-center gap-4">
|
|
98
|
+
<Label htmlFor="name" className="text-right">
|
|
99
|
+
Name
|
|
100
|
+
</Label>
|
|
101
|
+
<Input id="name" defaultValue="Pedro Duarte" className="col-span-3" />
|
|
102
|
+
</div>
|
|
103
|
+
<div className="grid grid-cols-4 items-center gap-4">
|
|
104
|
+
<Label htmlFor="username" className="text-right">
|
|
105
|
+
Username
|
|
106
|
+
</Label>
|
|
107
|
+
<Input id="username" defaultValue="@peduarte" className="col-span-3" />
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
<DialogFooter>
|
|
111
|
+
<Button type="submit">Save changes</Button>
|
|
112
|
+
</DialogFooter>
|
|
113
|
+
</DialogContent>
|
|
114
|
+
</Dialog>
|
|
115
|
+
|
|
116
|
+
```tsx
|
|
117
|
+
<Dialog>
|
|
118
|
+
<DialogTrigger asChild>
|
|
119
|
+
<Button>Edit Profile</Button>
|
|
120
|
+
</DialogTrigger>
|
|
121
|
+
<DialogContent className="sm:max-w-[425px]">
|
|
122
|
+
<DialogHeader>
|
|
123
|
+
<DialogTitle>Edit profile</DialogTitle>
|
|
124
|
+
<DialogDescription>
|
|
125
|
+
Make changes to your profile here. Click save when you're done.
|
|
126
|
+
</DialogDescription>
|
|
127
|
+
</DialogHeader>
|
|
128
|
+
<div className="grid gap-4 py-4">
|
|
129
|
+
<div className="grid grid-cols-4 items-center gap-4">
|
|
130
|
+
<Label htmlFor="name" className="text-right">
|
|
131
|
+
Name
|
|
132
|
+
</Label>
|
|
133
|
+
<Input id="name" defaultValue="Pedro Duarte" className="col-span-3" />
|
|
134
|
+
</div>
|
|
135
|
+
<div className="grid grid-cols-4 items-center gap-4">
|
|
136
|
+
<Label htmlFor="username" className="text-right">
|
|
137
|
+
Username
|
|
138
|
+
</Label>
|
|
139
|
+
<Input id="username" defaultValue="@peduarte" className="col-span-3" />
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
<DialogFooter>
|
|
143
|
+
<Button type="submit">Save changes</Button>
|
|
144
|
+
</DialogFooter>
|
|
145
|
+
</DialogContent>
|
|
146
|
+
</Dialog>
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Props
|
|
150
|
+
|
|
151
|
+
### DialogContent
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
interface DialogContentProps extends React.ComponentPropsWithoutRef<
|
|
155
|
+
typeof DialogPrimitive.Content
|
|
156
|
+
> {
|
|
157
|
+
showCloseButton?: boolean; // Default: true
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Features
|
|
162
|
+
|
|
163
|
+
- **Keyboard Navigation**: ESC key closes the dialog
|
|
164
|
+
- **Focus Management**: Focus is trapped within the dialog
|
|
165
|
+
- **Accessibility**: Proper ARIA attributes and screen reader support
|
|
166
|
+
- **Backdrop Click**: Clicking outside closes the dialog
|
|
167
|
+
- **Animation**: Smooth enter/exit animations
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Head
|
|
3
|
+
sidebar_icon: circle-fading-plus
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Head component (alias for Helmet) allows you to manage document head elements like title, meta
|
|
7
|
+
tags, and links from anywhere in your component tree. It uses
|
|
8
|
+
[`react-helmet-async`](https://github.com/staylor/react-helmet-async) under the hood.
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
import { Head } from "zudoku/components";
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Props
|
|
17
|
+
|
|
18
|
+
The Head component accepts any valid HTML head elements as children.
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
### Basic Title
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
<Head>
|
|
26
|
+
<title>My Page Title</title>
|
|
27
|
+
</Head>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Meta Tags
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Head>
|
|
34
|
+
<title>About Us - My Company</title>
|
|
35
|
+
<meta name="description" content="Learn more about our company and mission." />
|
|
36
|
+
<meta name="keywords" content="company, about, mission" />
|
|
37
|
+
</Head>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Social Media Meta Tags
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
<Head>
|
|
44
|
+
<title>My Blog Post</title>
|
|
45
|
+
<meta property="og:title" content="My Blog Post" />
|
|
46
|
+
<meta property="og:description" content="An interesting blog post about..." />
|
|
47
|
+
<meta property="og:image" content="https://example.com/image.jpg" />
|
|
48
|
+
<meta property="og:url" content="https://example.com/blog/my-post" />
|
|
49
|
+
<meta name="twitter:card" content="summary_large_image" />
|
|
50
|
+
</Head>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Custom Links
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
<Head>
|
|
57
|
+
<link rel="canonical" href="https://example.com/canonical-url" />
|
|
58
|
+
<link rel="alternate" hreflang="es" href="https://example.com/es" />
|
|
59
|
+
</Head>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Favicon
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
<Head>
|
|
66
|
+
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32" />
|
|
67
|
+
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16" />
|
|
68
|
+
</Head>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Advanced Usage
|
|
72
|
+
|
|
73
|
+
### Dynamic Title with Template
|
|
74
|
+
|
|
75
|
+
```tsx
|
|
76
|
+
function MyPage() {
|
|
77
|
+
return (
|
|
78
|
+
<>
|
|
79
|
+
<Head>
|
|
80
|
+
<title>Contact Us</title>
|
|
81
|
+
</Head>
|
|
82
|
+
<h1>Contact Us</h1>
|
|
83
|
+
{/* Page content */}
|
|
84
|
+
</>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Multiple Head Tags
|
|
90
|
+
|
|
91
|
+
```tsx
|
|
92
|
+
<Head>
|
|
93
|
+
<title>Product Page - {productName}</title>
|
|
94
|
+
<meta name="description" content={productDescription} />
|
|
95
|
+
<meta property="og:title" content={productName} />
|
|
96
|
+
<meta property="og:description" content={productDescription} />
|
|
97
|
+
<meta property="og:image" content={productImage} />
|
|
98
|
+
<link rel="canonical" href={`https://example.com/products/${productSlug}`} />
|
|
99
|
+
</Head>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Conditional Meta Tags
|
|
103
|
+
|
|
104
|
+
```tsx
|
|
105
|
+
function ProductPage({ product }) {
|
|
106
|
+
return (
|
|
107
|
+
<>
|
|
108
|
+
<Head>
|
|
109
|
+
<title>{product.name} - Our Store</title>
|
|
110
|
+
<meta name="description" content={product.description} />
|
|
111
|
+
{product.inStock && <meta property="product:availability" content="in stock" />}
|
|
112
|
+
{product.price && <meta property="product:price:amount" content={product.price} />}
|
|
113
|
+
</Head>
|
|
114
|
+
{/* Component content */}
|
|
115
|
+
</>
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Features
|
|
121
|
+
|
|
122
|
+
- **Server-Side Rendering**: Works with SSR to set proper head tags
|
|
123
|
+
- **Dynamic Updates**: Head tags update when component props change
|
|
124
|
+
- **Multiple Components**: Head tags from multiple components are merged
|
|
125
|
+
- **Override Behavior**: Later Head components can override earlier ones
|
|
126
|
+
- **Template Support**: Zudoku's Layout automatically provides title templates
|
|
127
|
+
|
|
128
|
+
## Common Use Cases
|
|
129
|
+
|
|
130
|
+
### SEO Optimization
|
|
131
|
+
|
|
132
|
+
```tsx
|
|
133
|
+
<Head>
|
|
134
|
+
<title>{pageTitle}</title>
|
|
135
|
+
<meta name="description" content={pageDescription} />
|
|
136
|
+
<meta name="keywords" content={pageKeywords} />
|
|
137
|
+
<link rel="canonical" href={canonicalUrl} />
|
|
138
|
+
</Head>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Social Sharing
|
|
142
|
+
|
|
143
|
+
```tsx
|
|
144
|
+
<Head>
|
|
145
|
+
<meta property="og:title" content={shareTitle} />
|
|
146
|
+
<meta property="og:description" content={shareDescription} />
|
|
147
|
+
<meta property="og:image" content={shareImage} />
|
|
148
|
+
<meta property="og:url" content={shareUrl} />
|
|
149
|
+
<meta name="twitter:card" content="summary_large_image" />
|
|
150
|
+
<meta name="twitter:site" content="@yourhandle" />
|
|
151
|
+
</Head>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Structured Data
|
|
155
|
+
|
|
156
|
+
```tsx
|
|
157
|
+
<Head>
|
|
158
|
+
<script type="application/ld+json">
|
|
159
|
+
{JSON.stringify({
|
|
160
|
+
"@context": "https://schema.org",
|
|
161
|
+
"@type": "Article",
|
|
162
|
+
headline: articleTitle,
|
|
163
|
+
author: articleAuthor,
|
|
164
|
+
datePublished: publishDate,
|
|
165
|
+
})}
|
|
166
|
+
</script>
|
|
167
|
+
</Head>
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Integration with Dev Portal
|
|
171
|
+
The Layout component automatically provides:
|
|
172
|
+
|
|
173
|
+
- Title templates based on your Dev Portal meta configuration
|
|
174
|
+
- Canonical URLs when `canonicalUrlOrigin` is configured
|
|
175
|
+
- Description meta tags from page meta
|
|
176
|
+
- Favicon links from meta configuration
|
|
177
|
+
|
|
178
|
+
## Notes
|
|
179
|
+
|
|
180
|
+
:::tip
|
|
181
|
+
|
|
182
|
+
The Head component is an alias for the Helmet component from React Helmet Async. You can use either
|
|
183
|
+
`<Head>` or `<Helmet>` - they're identical.
|
|
184
|
+
|
|
185
|
+
:::
|
|
186
|
+
|
|
187
|
+
:::info
|
|
188
|
+
|
|
189
|
+
Head tags are merged across components, so you can set some meta tags globally and override specific
|
|
190
|
+
ones in individual pages.
|
|
191
|
+
|
|
192
|
+
:::
|
|
193
|
+
|
|
194
|
+
:::caution
|
|
195
|
+
|
|
196
|
+
Remember that Head tags need to be valid HTML head elements. Invalid elements will be ignored or may
|
|
197
|
+
cause issues.
|
|
198
|
+
|
|
199
|
+
:::
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Icons
|
|
3
|
+
sidebar_icon: flag
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import { AtomIcon, PackagePlusIcon } from "zudoku/icons";
|
|
7
|
+
|
|
8
|
+
Icons are a great way to add visual elements to your content. They can be used to represent actions,
|
|
9
|
+
objects, or ideas. They can also be used to add visual interest to your content.
|
|
10
|
+
|
|
11
|
+
You can use any of the icons from [lucide-react](https://lucide.dev/icons/) in your content. To use
|
|
12
|
+
an icon, you can import it from the Dev Portal re-export `zudoku/icons`:
|
|
13
|
+
|
|
14
|
+
<div className="flex gap-2">
|
|
15
|
+
<AtomIcon size={42} className="text-primary" />
|
|
16
|
+
<PackagePlusIcon size={42} className="text-neutral-300" />
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
import { AtomIcon, PackagePlusIcon } from "zudoku/icons";
|
|
21
|
+
|
|
22
|
+
<AtomIcon size={42} className="text-primary" />;
|
|
23
|
+
<PackagePlusIcon size={42} className="text-neutral-300" />;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
More infos how to use icons in React can be found in the
|
|
27
|
+
[documentation of `lucide-react`](https://lucide.dev/guide/packages/lucide-react#how-to-use).
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Input
|
|
3
|
+
sidebar_icon: type
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import { Input } from "zudoku/ui/Input";
|
|
7
|
+
import { Label } from "zudoku/ui/Label";
|
|
8
|
+
|
|
9
|
+
An input component for forms and user input.
|
|
10
|
+
|
|
11
|
+
## Import
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
import { Input } from "zudoku/ui/Input";
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Basic Usage
|
|
18
|
+
|
|
19
|
+
<Input placeholder="Enter your email" />
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
<Input placeholder="Enter your email" />
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Input Types
|
|
26
|
+
|
|
27
|
+
### Text Input
|
|
28
|
+
|
|
29
|
+
<Input type="text" placeholder="Text input" />
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<Input type="text" placeholder="Text input" />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Email Input
|
|
36
|
+
|
|
37
|
+
<Input type="email" placeholder="Email input" />
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
<Input type="email" placeholder="Email input" />
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Password Input
|
|
44
|
+
|
|
45
|
+
<Input type="password" placeholder="Password input" />
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
<Input type="password" placeholder="Password input" />
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Number Input
|
|
52
|
+
|
|
53
|
+
<Input type="number" placeholder="Number input" />
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
<Input type="number" placeholder="Number input" />
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## With Label
|
|
60
|
+
|
|
61
|
+
<div className="grid w-full max-w-sm items-center gap-1.5">
|
|
62
|
+
<Label htmlFor="email">Email</Label>
|
|
63
|
+
<Input type="email" id="email" placeholder="Email" />
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
<div className="grid w-full max-w-sm items-center gap-1.5">
|
|
68
|
+
<Label htmlFor="email">Email</Label>
|
|
69
|
+
<Input type="email" id="email" placeholder="Email" />
|
|
70
|
+
</div>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Disabled State
|
|
74
|
+
|
|
75
|
+
<Input disabled placeholder="Disabled input" />
|
|
76
|
+
|
|
77
|
+
```tsx
|
|
78
|
+
<Input disabled placeholder="Disabled input" />
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## File Input
|
|
82
|
+
|
|
83
|
+
<Input type="file" />
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
<Input type="file" />
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Custom Styling
|
|
90
|
+
|
|
91
|
+
The Input component accepts all standard input HTML attributes and can be customized with additional
|
|
92
|
+
`className`:
|
|
93
|
+
|
|
94
|
+
```tsx
|
|
95
|
+
<Input className="w-full max-w-xs" placeholder="Custom styled input" />
|
|
96
|
+
```
|