├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ ├── config.yml │ └── docs.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── build.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .yarnrc.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── README.md ├── apps └── docs │ ├── .content.eslintrc.js │ ├── .env.sample │ ├── .eslintrc.js │ ├── .gitignore │ ├── README.md │ ├── babel.config.js │ ├── content │ ├── bun │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── clickhouse │ │ └── overview.mdx │ ├── company │ │ ├── about.mdx │ │ ├── branding.mdx │ │ ├── payment.mdx │ │ └── pricing.mdx │ ├── deno │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── docker │ │ └── overview.mdx │ ├── dotnet │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── elasticsearch │ │ └── overview.mdx │ ├── elixir │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── features │ │ ├── access.mdx │ │ ├── backup.mdx │ │ ├── build-cache.mdx │ │ ├── cdn.mdx │ │ ├── container-vs-vm.mdx │ │ ├── dns.mdx │ │ ├── env-variables.mdx │ │ ├── infrastructure.mdx │ │ ├── pipeline.mdx │ │ └── scaling-ha.mdx │ ├── frameworks │ │ ├── laravel.mdx │ │ └── laravel │ │ │ ├── cron.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── faq.mdx │ │ │ ├── introduction.mdx │ │ │ ├── logs.mdx │ │ │ ├── migrations.mdx │ │ │ ├── recipes │ │ │ ├── filament-devel.mdx │ │ │ ├── filament-local.mdx │ │ │ ├── filament-prod.mdx │ │ │ ├── jetstream-devel.mdx │ │ │ ├── jetstream-local.mdx │ │ │ ├── jetstream-prod.mdx │ │ │ ├── minimal-devel.mdx │ │ │ ├── minimal-local.mdx │ │ │ ├── minimal-prod.mdx │ │ │ ├── twill-devel.mdx │ │ │ ├── twill-local.mdx │ │ │ └── twill-prod.mdx │ │ │ ├── redis.mdx │ │ │ └── smtp.mdx │ ├── getting-started.mdx │ ├── gleam │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── go │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ ├── overview.mdx │ │ └── tutorial │ │ │ ├── quickstart.mdx │ │ │ ├── runtime-sql.mdx │ │ │ └── step-by-step.mdx │ ├── help │ │ ├── contacts.mdx │ │ └── faq.mdx │ ├── homepage.mdx │ ├── java │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── kafka │ │ └── overview.mdx │ ├── keydb │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── connect.mdx │ │ │ ├── control.mdx │ │ │ ├── create.mdx │ │ │ ├── delete.mdx │ │ │ ├── manage.mdx │ │ │ └── scale.mdx │ │ └── overview.mdx │ ├── mariadb │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── backup.mdx │ │ │ ├── connect.mdx │ │ │ ├── control.mdx │ │ │ ├── create.mdx │ │ │ ├── delete.mdx │ │ │ ├── export-import-data.mdx │ │ │ ├── manage.mdx │ │ │ └── scale.mdx │ │ ├── overview.mdx │ │ ├── tech-details │ │ │ ├── cluster.mdx │ │ │ └── limitations.mdx │ │ └── tutorial │ │ │ ├── quickstart.mdx │ │ │ └── step-by-step.mdx │ ├── meilisearch │ │ └── overview.mdx │ ├── nats │ │ └── overview.mdx │ ├── nginx │ │ ├── faq.mdx │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── customize-web-server.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ ├── overview.mdx │ │ └── tutorial │ │ │ ├── quickstart.mdx │ │ │ ├── runtime-sql.mdx │ │ │ └── step-by-step.mdx │ ├── nodejs │ │ ├── faq.mdx │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── object-storage │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── create.mdx │ │ │ ├── curl-file.mdx │ │ │ ├── delete.mdx │ │ │ └── update-bucket.mdx │ │ └── overview.mdx │ ├── php │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── customize-web-server.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── postgresql │ │ ├── faq.mdx │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── backup.mdx │ │ │ ├── connect.mdx │ │ │ ├── control.mdx │ │ │ ├── create.mdx │ │ │ ├── delete.mdx │ │ │ ├── export-import-data.mdx │ │ │ ├── manage.mdx │ │ │ └── scale.mdx │ │ └── overview.mdx │ ├── python │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ ├── overview.mdx │ │ └── tutorial │ │ │ ├── quickstart.mdx │ │ │ ├── runtime-sql.mdx │ │ │ └── step-by-step.mdx │ ├── qdrant │ │ └── overview.mdx │ ├── references │ │ ├── api.mdx │ │ ├── cli.mdx │ │ ├── cli │ │ │ ├── commands.mdx │ │ │ └── configuration.mdx │ │ ├── debug-mode.mdx │ │ ├── firewall.mdx │ │ ├── github-integration.mdx │ │ ├── gitlab-integration.mdx │ │ ├── import-yaml │ │ │ ├── pre-processor.mdx │ │ │ └── type-list.mdx │ │ ├── import.mdx │ │ ├── smtp.mdx │ │ ├── ssh.mdx │ │ ├── vpn.mdx │ │ ├── vpn │ │ │ └── troubleshooting.mdx │ │ └── zsc.mdx │ ├── rust │ │ ├── getting-started.mdx │ │ ├── how-to │ │ │ ├── access.mdx │ │ │ ├── build-pipeline.mdx │ │ │ ├── build-process.mdx │ │ │ ├── controls.mdx │ │ │ ├── create.mdx │ │ │ ├── customize-runtime.mdx │ │ │ ├── delete.mdx │ │ │ ├── deploy-process.mdx │ │ │ ├── env-variables.mdx │ │ │ ├── filebrowser.mdx │ │ │ ├── logs.mdx │ │ │ ├── scaling.mdx │ │ │ ├── shared-storage.mdx │ │ │ ├── trigger-pipeline.mdx │ │ │ └── upgrade.mdx │ │ └── overview.mdx │ ├── shared-storage │ │ ├── how-to │ │ │ ├── backup.mdx │ │ │ ├── connect.mdx │ │ │ ├── create.mdx │ │ │ ├── manage.mdx │ │ │ └── use.mdx │ │ ├── overview.mdx │ │ └── tech-details.mdx │ ├── static │ │ └── overview.mdx │ ├── typesense │ │ └── overview.mdx │ ├── valkey │ │ └── overview.mdx │ └── zerops-yaml │ │ ├── base-list.mdx │ │ ├── cron.mdx │ │ └── specification.mdx │ ├── docusaurus.config.js │ ├── package.json │ ├── sidebars.js │ ├── src │ ├── components │ │ ├── Accordion │ │ │ └── index.tsx │ │ ├── BackgroundPattern │ │ │ └── index.tsx │ │ ├── BackupSimulator │ │ │ └── index.tsx │ │ ├── Badge │ │ │ └── index.tsx │ │ ├── BorderedIcon │ │ │ └── index.tsx │ │ ├── BrandAssets │ │ │ └── index.tsx │ │ ├── CloudinaryImage │ │ │ └── index.tsx │ │ ├── ComparisonBlock │ │ │ └── index.tsx │ │ ├── CustomButton │ │ │ └── index.tsx │ │ ├── CustomCard │ │ │ └── index.tsx │ │ ├── CustomCardWithIcon │ │ │ └── index.tsx │ │ ├── DeployButton │ │ │ └── index.tsx │ │ ├── Detail │ │ │ └── index.tsx │ │ ├── DetailsList │ │ │ └── index.tsx │ │ ├── Diagram2CodeSpecs │ │ │ └── index.tsx │ │ ├── DocSidebarItemIcon │ │ │ └── index.tsx │ │ ├── Dropdown │ │ │ └── index.tsx │ │ ├── Faq │ │ │ └── index.tsx │ │ ├── Feedback │ │ │ └── index.tsx │ │ ├── Footer │ │ │ └── SocialLinks │ │ │ │ └── index.tsx │ │ ├── Glossary │ │ │ └── index.tsx │ │ ├── GroupCards │ │ │ └── index.tsx │ │ ├── Image │ │ │ └── index.tsx │ │ ├── LargeCard │ │ │ └── index.tsx │ │ ├── LargeCardList │ │ │ └── index.tsx │ │ ├── MobileLogo │ │ │ └── index.tsx │ │ ├── Navbar │ │ │ └── Actions │ │ │ │ └── index.tsx │ │ ├── NavigationButons │ │ │ └── index.tsx │ │ ├── PricingCalculator │ │ │ ├── calculator.css │ │ │ └── index.tsx │ │ ├── QueryNote │ │ │ └── index.tsx │ │ ├── ResourceTable │ │ │ └── index.tsx │ │ ├── StructuredData │ │ │ └── HowTo │ │ │ │ └── index.tsx │ │ ├── TabbedCodeBlock │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ │ ├── TechCard │ │ │ └── index.tsx │ │ ├── TypeList │ │ │ └── index.tsx │ │ ├── UiIcon │ │ │ └── index.tsx │ │ ├── UnorderedCodeList │ │ │ └── index.tsx │ │ ├── UnorderedList │ │ │ └── index.tsx │ │ ├── Video │ │ │ └── index.tsx │ │ └── work-in-progress │ │ │ └── index.tsx │ ├── css │ │ ├── _docusaurus.css │ │ ├── _variables.css │ │ ├── components │ │ │ ├── sidebar.css │ │ │ ├── toc.css │ │ │ └── tooltip.css │ │ └── custom.css │ ├── hooks │ │ └── .gitkeep │ ├── pages │ │ └── discord.js │ ├── plugins │ │ └── docusaurus-plugin-diagram2code-showcase │ │ │ └── index.js │ ├── providers │ │ ├── DocsProviders │ │ │ └── index.tsx │ │ └── Sidebar │ │ │ └── index.tsx │ ├── theme │ │ ├── Admonition │ │ │ ├── Icon │ │ │ │ ├── Danger.tsx │ │ │ │ ├── Info.tsx │ │ │ │ ├── Note.tsx │ │ │ │ ├── Tip.tsx │ │ │ │ └── Warning.tsx │ │ │ ├── Layout │ │ │ │ └── index.tsx │ │ │ └── Type │ │ │ │ ├── Caution.tsx │ │ │ │ ├── Danger.tsx │ │ │ │ ├── Info.tsx │ │ │ │ ├── Note.tsx │ │ │ │ ├── Tip.tsx │ │ │ │ └── Warning.tsx │ │ ├── AnnouncementBar │ │ │ ├── CloseButton │ │ │ │ └── index.tsx │ │ │ ├── Content │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ ├── BackToTopButton │ │ │ └── index.tsx │ │ ├── CodeBlock │ │ │ ├── Content │ │ │ │ └── String.tsx │ │ │ └── index.tsx │ │ ├── Details │ │ │ └── index.tsx │ │ ├── DocCard │ │ │ └── index.tsx │ │ ├── DocCardList │ │ │ └── index.tsx │ │ ├── DocItem │ │ │ ├── Content │ │ │ │ └── index.tsx │ │ │ ├── Footer │ │ │ │ └── index.tsx │ │ │ └── Layout │ │ │ │ └── index.tsx │ │ ├── DocRoot │ │ │ ├── Layout │ │ │ │ ├── Main │ │ │ │ │ └── index.tsx │ │ │ │ ├── Sidebar │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ ├── DocSidebar │ │ │ └── Desktop │ │ │ │ └── index.tsx │ │ ├── DocSidebarItem │ │ │ ├── Category │ │ │ │ └── index.tsx │ │ │ ├── Html │ │ │ │ └── index.tsx │ │ │ └── Link │ │ │ │ └── index.tsx │ │ ├── DocsRoot │ │ │ └── index.tsx │ │ ├── EditThisPage │ │ │ └── index.tsx │ │ ├── Footer │ │ │ └── Layout │ │ │ │ └── index.tsx │ │ ├── Icon │ │ │ ├── Alpine │ │ │ │ └── index.tsx │ │ │ ├── Beaker │ │ │ │ └── index.tsx │ │ │ ├── Bun │ │ │ │ └── index.tsx │ │ │ ├── Cdn │ │ │ │ └── index.tsx │ │ │ ├── CircleDottedLine │ │ │ │ └── index.tsx │ │ │ ├── Clickhouse │ │ │ │ └── index.tsx │ │ │ ├── Close │ │ │ │ └── index.tsx │ │ │ ├── CloudOk │ │ │ │ └── index.tsx │ │ │ ├── Copy │ │ │ │ └── index.tsx │ │ │ ├── CurlyBraces │ │ │ │ └── index.tsx │ │ │ ├── DarkMode │ │ │ │ └── index.tsx │ │ │ ├── Database │ │ │ │ └── index.tsx │ │ │ ├── Deno │ │ │ │ └── index.tsx │ │ │ ├── Discord │ │ │ │ └── index.tsx │ │ │ ├── Docker │ │ │ │ └── index.tsx │ │ │ ├── Dotnet │ │ │ │ └── index.tsx │ │ │ ├── Elasticsearch │ │ │ │ └── index.tsx │ │ │ ├── Elixir │ │ │ │ └── index.tsx │ │ │ ├── ExternalLink │ │ │ │ └── index.tsx │ │ │ ├── Filament │ │ │ │ └── index.tsx │ │ │ ├── Firewall │ │ │ │ └── index.tsx │ │ │ ├── FlagMini │ │ │ │ └── index.tsx │ │ │ ├── Gingonic │ │ │ │ └── index.tsx │ │ │ ├── GitHub │ │ │ │ └── index.tsx │ │ │ ├── Gitlab │ │ │ │ └── index.tsx │ │ │ ├── Gleam │ │ │ │ └── index.tsx │ │ │ ├── Go │ │ │ │ └── index.tsx │ │ │ ├── Java │ │ │ │ └── index.tsx │ │ │ ├── Kafka │ │ │ │ └── index.tsx │ │ │ ├── Keydb │ │ │ │ └── index.tsx │ │ │ ├── Laravel │ │ │ │ └── index.tsx │ │ │ ├── LaravelJetstream │ │ │ │ └── index.tsx │ │ │ ├── LightMode │ │ │ │ └── index.tsx │ │ │ ├── LinkedIn │ │ │ │ └── index.tsx │ │ │ ├── Mariadb │ │ │ │ └── index.tsx │ │ │ ├── Meilisearch │ │ │ │ └── index.tsx │ │ │ ├── Model │ │ │ │ └── index.tsx │ │ │ ├── Mongodb │ │ │ │ └── index.tsx │ │ │ ├── Nats │ │ │ │ └── index.tsx │ │ │ ├── Nestjs │ │ │ │ └── index.tsx │ │ │ ├── Nette │ │ │ │ └── index.tsx │ │ │ ├── Nextjs │ │ │ │ └── index.tsx │ │ │ ├── Nginx │ │ │ │ └── index.tsx │ │ │ ├── Nodejs │ │ │ │ └── index.tsx │ │ │ ├── Php │ │ │ │ └── index.tsx │ │ │ ├── Postgresql │ │ │ │ └── index.tsx │ │ │ ├── PuzzleSolid │ │ │ │ └── index.tsx │ │ │ ├── Python │ │ │ │ └── index.tsx │ │ │ ├── Qdrant │ │ │ │ └── index.tsx │ │ │ ├── Rabbitmq │ │ │ │ └── index.tsx │ │ │ ├── Rust │ │ │ │ └── index.tsx │ │ │ ├── Strapi │ │ │ │ └── index.tsx │ │ │ ├── Twill │ │ │ │ └── index.tsx │ │ │ ├── Twitter │ │ │ │ └── index.tsx │ │ │ ├── Typesense │ │ │ │ └── index.tsx │ │ │ ├── Ubuntu │ │ │ │ └── index.tsx │ │ │ ├── Valkey │ │ │ │ └── index.tsx │ │ │ ├── Zerops │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ ├── Layout │ │ │ └── index.tsx │ │ ├── MDXComponents │ │ │ ├── A.tsx │ │ │ ├── Code.tsx │ │ │ ├── Details.tsx │ │ │ ├── H1.tsx │ │ │ └── index.tsx │ │ ├── Navbar │ │ │ ├── ColorModeToggle │ │ │ │ └── index.tsx │ │ │ ├── Content │ │ │ │ └── index.tsx │ │ │ ├── Layout │ │ │ │ └── index.tsx │ │ │ ├── Logo │ │ │ │ └── index.tsx │ │ │ ├── MobileSidebar │ │ │ │ ├── Header │ │ │ │ │ └── index.tsx │ │ │ │ ├── Layout │ │ │ │ │ └── index.tsx │ │ │ │ └── Toggle │ │ │ │ │ └── index.tsx │ │ │ └── Search │ │ │ │ └── index.tsx │ │ ├── NavbarItem │ │ │ ├── NavbarNavLink.tsx │ │ │ └── SearchNavbarItem.tsx │ │ ├── NotFound │ │ │ ├── Content │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ ├── TOCItems │ │ │ └── index.tsx │ │ └── Tabs │ │ │ └── index.tsx │ ├── types │ │ ├── global.d.ts │ │ └── index.d.ts │ └── utils │ │ ├── decode-str.ts │ │ ├── exclude-sidebar-results.js │ │ ├── filter-list-items.ts │ │ ├── get-first-category-item.ts │ │ ├── get-os-shortcut.ts │ │ ├── glossary.ts │ │ ├── is-in-view.ts │ │ ├── reverse-sidebar.js │ │ └── specs.ts │ ├── static │ ├── .nojekyll │ ├── black-logo.svg │ ├── brand │ │ └── zerops-assets.zip │ ├── data.json │ ├── deploy-button.svg │ ├── favicon.ico │ ├── img │ │ ├── admin-icon-dark.svg │ │ ├── admin-icon.svg │ │ ├── announcement-bg.svg │ │ ├── bell-dark.png │ │ ├── cart-icon-dark.svg │ │ ├── cart-icon.svg │ │ ├── dev-env-icon-dark.svg │ │ ├── dev-env-icon.svg │ │ ├── diagrams-bg.png │ │ ├── docs_meta.jpeg │ │ ├── fast-delivery-icon-dark.svg │ │ ├── fast-delivery-icon.svg │ │ ├── gatsby-icon-dark.svg │ │ ├── gatsby-icon.svg │ │ ├── gui │ │ │ ├── automatic-scaling-2.webp │ │ │ ├── automatic-scaling.webp │ │ │ ├── create-project.png │ │ │ ├── delete-service │ │ │ │ ├── Elixir.webp │ │ │ │ ├── Gleam.webp │ │ │ │ ├── Python.webp │ │ │ │ ├── apache-php.webp │ │ │ │ ├── bun.webp │ │ │ │ ├── deno.webp │ │ │ │ ├── dotnet.webp │ │ │ │ ├── golang.webp │ │ │ │ ├── java.webp │ │ │ │ ├── nginx-php.webp │ │ │ │ ├── nodejs.webp │ │ │ │ └── rust.webp │ │ │ ├── enable-firewall.webp │ │ │ ├── github-integration.webp │ │ │ ├── ipv6-public-port.webp │ │ │ ├── laravel │ │ │ │ └── runtime-log.webp │ │ │ ├── php-nginx │ │ │ │ └── service.png │ │ │ ├── pipeline-history.webp │ │ │ ├── postgres │ │ │ │ └── backups.webp │ │ │ ├── public-access-domain.webp │ │ │ ├── public-access.webp │ │ │ ├── resources.webp │ │ │ ├── running-build.webp │ │ │ ├── secrets.webp │ │ │ ├── serious-core.webp │ │ │ ├── service │ │ │ │ ├── Deno.webp │ │ │ │ ├── Golang.webp │ │ │ │ ├── bun.webp │ │ │ │ ├── dotnet.webp │ │ │ │ ├── elixir.webp │ │ │ │ ├── gleam.webp │ │ │ │ ├── java.webp │ │ │ │ ├── nodejs.webp │ │ │ │ ├── php-apache.webp │ │ │ │ ├── php-nginx.webp │ │ │ │ ├── python.webp │ │ │ │ └── rust.webp │ │ │ ├── valkey │ │ │ │ └── service.webp │ │ │ └── zsc-web-terminal.webp │ │ ├── img.png │ │ ├── learning-path-img.png │ │ ├── light-beam.png │ │ ├── link-icon-light.svg │ │ ├── link-icon.svg │ │ ├── logo-icon-dark.png │ │ ├── logo-icon.png │ │ ├── logo-mobile-dark.png │ │ ├── logo-mobile.png │ │ ├── magnifying-glass-dark.svg │ │ ├── magnifying-glass.svg │ │ ├── mind-maps │ │ │ ├── build-deploy │ │ │ │ ├── custom-runtime.webp │ │ │ │ ├── manual-deploy.webp │ │ │ │ ├── step-1-dark.webp │ │ │ │ ├── step-1.webp │ │ │ │ ├── step-2.webp │ │ │ │ └── step-3.webp │ │ │ ├── lightweight-dark.svg │ │ │ ├── lightweight.svg │ │ │ ├── serious-dark.svg │ │ │ └── serious.svg │ │ ├── nextjs-icon-dark.svg │ │ ├── nextjs-icon.svg │ │ ├── payment-accepted-icon-dark.svg │ │ ├── payment-accepted-icon.svg │ │ ├── screenshots │ │ │ ├── access-tokens-dark.webp │ │ │ ├── access-tokens-light.webp │ │ │ ├── add_user.png │ │ │ ├── backup_frequency.png │ │ │ ├── build_deploy_pipeline-step1.png │ │ │ ├── build_deploy_pipeline-step2.png │ │ │ ├── build_deploy_pipeline-step3.png │ │ │ ├── build_deploy_pipeline_custom_runtime.png │ │ │ ├── cancel_running_build.png │ │ │ ├── client_id.png │ │ │ ├── connect_shared_storage.png │ │ │ ├── connect_shared_storage_1.png │ │ │ ├── connect_shared_storage_2.png │ │ │ ├── create_nodejs_cast.mp4 │ │ │ ├── create_nodejs_service_1.png │ │ │ ├── create_nodejs_service_2.png │ │ │ ├── create_object_storage_cast.mp4 │ │ │ ├── create_shared_storage_cast.mp4 │ │ │ ├── debug_mode.webp │ │ │ ├── delete_object_storage.png │ │ │ ├── firewall_for_public_port.png │ │ │ ├── github_integration.png │ │ │ ├── keydb_autoscaling.png │ │ │ ├── list_of_backups.png │ │ │ ├── nodejs_containers_list.png │ │ │ ├── nodejs_file_browser.png │ │ │ ├── nodejs_generated_variables.png │ │ │ ├── nodejs_runtime_log.png │ │ │ ├── object_storage_access_details.png │ │ │ ├── object_storage_bucket_quota.png │ │ │ ├── object_storage_generated_env.png │ │ │ ├── object_storage_update_bucket.png │ │ │ ├── open_public_port.png │ │ │ ├── personal-access-tokens.webp │ │ │ ├── pipeline_history.png │ │ │ ├── public_access_2.png │ │ │ ├── public_access_3.png │ │ │ ├── runtime_clear_build_cache.png │ │ │ ├── runtime_secret_variables.png │ │ │ ├── scaling2.png │ │ │ ├── scaling3.png │ │ │ ├── scaling4.png │ │ │ ├── scaling5.png │ │ │ ├── scaling6.png │ │ │ ├── scaling7.png │ │ │ ├── scaling8.png │ │ │ ├── secret_env.png │ │ │ ├── secret_variables.webp │ │ │ ├── shared_storage_autoscaling.png │ │ │ ├── shared_storage_mode.png │ │ │ └── ssh.png │ │ ├── search-hit-arrow-light.svg │ │ ├── search-hit-arrow.svg │ │ ├── search-hit-light.svg │ │ ├── search-hit.png │ │ ├── search-hit.svg │ │ ├── search-no-result-light.svg │ │ ├── search-no-result.svg │ │ ├── server-icon-dark.svg │ │ ├── server-icon.svg │ │ ├── side-menu-light.svg │ │ ├── side-menu.svg │ │ ├── small-squares-bg-light.svg │ │ ├── small-squares-bg.svg │ │ ├── squares-bg-light.svg │ │ ├── squares-bg.svg │ │ ├── stardust.png │ │ ├── stripe-icon-dark.svg │ │ ├── stripe-icon.svg │ │ ├── tee-icon-dark.svg │ │ ├── tee-icon.svg │ │ ├── terminal-icon-dark.svg │ │ ├── terminal-icon.svg │ │ ├── user-guide-dark.svg │ │ └── user-guide.svg │ ├── llms-full.txt │ ├── llms-small.txt │ ├── llms.txt │ ├── logo.svg │ ├── og.png │ ├── robots.txt │ └── vids │ │ ├── containers.webm │ │ ├── cpu-scaling.webm │ │ ├── database-scaling.webm │ │ ├── ram-scaling.webm │ │ ├── routes.webm │ │ ├── services │ │ ├── bun.webm │ │ ├── deno.webm │ │ ├── dotnet.webm │ │ ├── elixir.webm │ │ ├── gleam.webm │ │ ├── golang.webm │ │ ├── java.webm │ │ ├── mariadb.webm │ │ ├── nginx-static.webm │ │ ├── nodejs.webm │ │ ├── object-storage.webm │ │ ├── postgres.webm │ │ ├── python.webm │ │ ├── rust.webm │ │ ├── shared-storage.webm │ │ └── static.webm │ │ └── shared-storage-scaling.webm │ ├── tailwind.config.js │ └── tsconfig.json ├── bun.lockb ├── package.json ├── packages ├── docs-ui │ ├── .eslintrc.js │ ├── .gitignore │ ├── package.json │ ├── postcss.config.js │ ├── src │ │ ├── components │ │ │ ├── Badge │ │ │ │ └── index.tsx │ │ │ ├── Bordered │ │ │ │ └── index.tsx │ │ │ ├── BorderedIcon │ │ │ │ └── index.tsx │ │ │ ├── Button │ │ │ │ └── index.tsx │ │ │ ├── Card │ │ │ │ └── index.tsx │ │ │ ├── CardList │ │ │ │ └── index.tsx │ │ │ ├── ChildDocs │ │ │ │ └── index.tsx │ │ │ ├── CodeBlock │ │ │ │ ├── ApiRunner │ │ │ │ │ └── index.tsx │ │ │ │ ├── Header │ │ │ │ │ └── index.tsx │ │ │ │ ├── Line │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── CodeMdx │ │ │ │ └── index.tsx │ │ │ ├── CodeTabs │ │ │ │ ├── Item │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── CopyButton │ │ │ │ └── index.tsx │ │ │ ├── Details │ │ │ │ ├── Summary │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── DetailsList │ │ │ │ └── index.tsx │ │ │ ├── EditButton │ │ │ │ └── index.tsx │ │ │ ├── ExpandableNotice │ │ │ │ └── index.tsx │ │ │ ├── FeatureFlagNotice │ │ │ │ └── index.tsx │ │ │ ├── HooksLoader │ │ │ │ └── index.tsx │ │ │ ├── Icons │ │ │ │ ├── CircleDottedLine │ │ │ │ │ └── index.tsx │ │ │ │ ├── QuestionMark │ │ │ │ │ └── index.tsx │ │ │ │ ├── ThumbDown │ │ │ │ │ └── index.tsx │ │ │ │ ├── ThumbUp │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── InlineCode │ │ │ │ └── index.tsx │ │ │ ├── InlineIcon │ │ │ │ └── index.tsx │ │ │ ├── InlineThemeImage │ │ │ │ └── index.tsx │ │ │ ├── Input │ │ │ │ └── Text │ │ │ │ │ └── index.tsx │ │ │ ├── Kbd │ │ │ │ └── index.tsx │ │ │ ├── Label │ │ │ │ └── index.tsx │ │ │ ├── LegacyCodeTabs │ │ │ │ └── index.tsx │ │ │ ├── LegacyLink │ │ │ │ └── index.tsx │ │ │ ├── Link │ │ │ │ └── index.tsx │ │ │ ├── Loading │ │ │ │ ├── Dots │ │ │ │ │ └── index.tsx │ │ │ │ ├── Spinner │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── MDXComponents │ │ │ │ └── index.tsx │ │ │ ├── MarkdownContent │ │ │ │ └── index.tsx │ │ │ ├── MermaidDiagram │ │ │ │ └── index.tsx │ │ │ ├── Modal │ │ │ │ ├── Footer │ │ │ │ │ └── index.tsx │ │ │ │ ├── Header │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── Navbar │ │ │ │ ├── ColorModeToggle │ │ │ │ │ └── index.tsx │ │ │ │ ├── IconButton │ │ │ │ │ └── index.tsx │ │ │ │ ├── Link │ │ │ │ │ └── index.tsx │ │ │ │ ├── Logo │ │ │ │ │ └── index.tsx │ │ │ │ ├── MobileMenu │ │ │ │ │ ├── Button │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── Note │ │ │ │ ├── Layout │ │ │ │ │ └── index.tsx │ │ │ │ ├── Types │ │ │ │ │ ├── checks.tsx │ │ │ │ │ ├── default.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ ├── sucess.tsx │ │ │ │ │ └── warning.tsx │ │ │ │ └── index.tsx │ │ │ ├── Notification │ │ │ │ ├── Item │ │ │ │ │ ├── Layout │ │ │ │ │ │ └── Default │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── Npm2YarnCode │ │ │ │ └── index.tsx │ │ │ ├── Pagination │ │ │ │ └── index.tsx │ │ │ ├── Search │ │ │ │ ├── EmptyQueryBoundary │ │ │ │ │ └── index.tsx │ │ │ │ ├── Hits │ │ │ │ │ ├── GroupName │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── ModalOpener │ │ │ │ │ └── index.tsx │ │ │ │ ├── NoResults │ │ │ │ │ └── index.tsx │ │ │ │ ├── Suggestions │ │ │ │ │ ├── Item │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── Select │ │ │ │ ├── Badge │ │ │ │ │ └── index.tsx │ │ │ │ ├── Dropdown │ │ │ │ │ └── index.tsx │ │ │ │ ├── Input │ │ │ │ │ └── index.tsx │ │ │ │ └── index.ts │ │ │ ├── Sidebar │ │ │ │ ├── Back │ │ │ │ │ └── index.tsx │ │ │ │ ├── Item │ │ │ │ │ └── index.tsx │ │ │ │ ├── Title │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── Table │ │ │ │ └── index.tsx │ │ │ ├── Tabs │ │ │ │ └── index.tsx │ │ │ ├── TextArea │ │ │ │ └── index.tsx │ │ │ ├── ThemeImage │ │ │ │ └── index.tsx │ │ │ ├── Toggle │ │ │ │ └── index.tsx │ │ │ ├── Tooltip │ │ │ │ └── index.tsx │ │ │ ├── TypeList │ │ │ │ ├── Items │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── ZoomImg │ │ │ │ └── index.tsx │ │ │ └── index.ts │ │ ├── constants.ts │ │ ├── hooks │ │ │ ├── index.ts │ │ │ ├── use-copy │ │ │ │ └── index.tsx │ │ │ ├── use-is-browser │ │ │ │ └── index.ts │ │ │ ├── use-keyboard-shortcut │ │ │ │ └── index.tsx │ │ │ ├── use-page-scroll-manager │ │ │ │ └── index.tsx │ │ │ ├── use-request-runner │ │ │ │ └── index.ts │ │ │ ├── use-scroll-utils │ │ │ │ └── index.tsx │ │ │ ├── use-search-navigation │ │ │ │ └── index.ts │ │ │ ├── use-select │ │ │ │ └── index.tsx │ │ │ └── use-tabs │ │ │ │ └── index.tsx │ │ ├── index.ts │ │ ├── layouts │ │ │ ├── index.ts │ │ │ ├── root.tsx │ │ │ ├── tight.tsx │ │ │ └── wide.tsx │ │ ├── providers │ │ │ ├── ColorMode │ │ │ │ └── index.tsx │ │ │ ├── Mobile │ │ │ │ └── index.tsx │ │ │ ├── Modal │ │ │ │ └── index.tsx │ │ │ ├── Navbar │ │ │ │ └── index.tsx │ │ │ ├── Notification │ │ │ │ └── index.tsx │ │ │ ├── PageLoading │ │ │ │ └── index.tsx │ │ │ ├── Pagination │ │ │ │ └── index.tsx │ │ │ ├── Search │ │ │ │ └── index.tsx │ │ │ ├── Sidebar │ │ │ │ └── index.tsx │ │ │ └── index.ts │ │ └── utils │ │ │ ├── array-same-elms.ts │ │ │ ├── capitalize.ts │ │ │ ├── check-sidebar-item-visibility.ts │ │ │ ├── decode-str.ts │ │ │ ├── dom-utils.ts │ │ │ ├── format-report-link.ts │ │ │ ├── get-link-with-base-path.ts │ │ │ ├── get-navbar-items.ts │ │ │ ├── get-os-shortcut.ts │ │ │ ├── get-scrolled-top.ts │ │ │ ├── index.ts │ │ │ ├── is-elm-window.ts │ │ │ ├── is-in-view.ts │ │ │ ├── sidebar-attach-href-common-options.ts │ │ │ └── swr-fetcher.ts │ ├── tailwind.config.js │ ├── tsconfig.cjs.json │ ├── tsconfig.esm.json │ └── tsconfig.json ├── eslint-config-docs │ ├── base.js │ ├── content.js │ ├── docusaurus.js │ ├── next.js │ └── package.json ├── tailwind │ ├── .eslintrc.js │ ├── base.tailwind.config.js │ ├── modified.tailwind.config.js │ ├── package.json │ ├── postcss.config.js │ ├── tailwind.config.js │ └── theme-presets.js ├── tsconfig │ ├── base.json │ ├── docusaurus.json │ ├── nextjs.json │ └── package.json └── types │ ├── .eslintrc.cjs │ ├── package.json │ ├── src │ ├── api-testing.ts │ ├── config.ts │ ├── general.ts │ ├── index.ts │ └── sidebar.ts │ └── tsconfig.json ├── tsconfig.json ├── turbo.json ├── yarn.lock ├── zerops-llm-script.ts └── zerops.yml /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | // This tells ESLint to load the config from the package `eslint-config-docs` 4 | extends: ['docs'], 5 | settings: { 6 | next: { 7 | rootDir: ['apps/*/'], 8 | }, 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: 💁 Support 4 | url: https://docs.zerops.io/discord 5 | about: 'This issue tracker is not for support questions. Join us on Discord for assistance!' 6 | - name: 📘 Documentation 7 | url: https://github.com/zeropsio/docs 8 | about: File an issue or make an improvement to the docs website. 9 | - name: 💡 Share Your Thoughts with Us - New Features, Improvements, and Questions 10 | url: https://github.com/zeropsio/community/discussions 11 | about: Propose and discuss future improvements to Zerops 12 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | #### What Type of Change is this? 4 | 5 | - [ ] New Page 6 | - [ ] Minor Fix 7 | - [ ] Minor Improvement 8 | - [ ] Major Improvement 9 | 10 | #### Description (required) 11 | 12 | 13 | 14 | #### Related issues & labels (optional) 15 | 16 | - /closes # 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vercel 2 | build 3 | node_modules 4 | .yarn/* 5 | .yarn/install-state.gz 6 | !.yarn/patches 7 | !.yarn/plugins 8 | !.yarn/releases 9 | !.yarn/sdks 10 | !.yarn/versions 11 | .DS_Store 12 | 13 | .env 14 | node_modules 15 | *yarn-error.log 16 | .pnp.* 17 | .yarn/* 18 | !.yarn/patches 19 | !.yarn/plugins 20 | !.yarn/releases 21 | !.yarn/sdks 22 | !.yarn/versions 23 | 24 | packages/**/.yarn/* 25 | integration-tests/**/.yarn/* 26 | www/**/.yarn/* 27 | 28 | .DS_Store 29 | 30 | .eslintcache 31 | 32 | .idea 33 | .turbo 34 | .yarn 35 | build/** 36 | **/dist 37 | **/stats 38 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore build and output directories 2 | .build 3 | .cache 4 | node_modules 5 | build 6 | out 7 | .next 8 | 9 | # Ignore Docusaurus-generated files 10 | .docusaurus 11 | 12 | # Ignore coverage reports 13 | coverage 14 | 15 | # Ignore lock files 16 | package-lock.json 17 | yarn.lock 18 | 19 | # Ignore any custom files or directories you don't want Prettier to format 20 | public 21 | static 22 | dist 23 | 24 | # Ignore specific file types 25 | *.min.js 26 | *.bundle.js 27 | *.svg 28 | 29 | # Ignore config and env files 30 | *.env 31 | *.config.js 32 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "singleQuote": true, 4 | "trailingComma": "es5", 5 | "printWidth": 80, 6 | "tabWidth": 2, 7 | "bracketSpacing": true, 8 | "overrides": [ 9 | { 10 | "files": [ 11 | "*.md", 12 | "*.mdx" 13 | ], 14 | "options": { 15 | "parser": "markdown" 16 | } 17 | } 18 | ] 19 | } 20 | 21 | -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nmMode: hardlinks-local 2 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Our Standards 2 | 3 | Examples of behavior that contributes to creating a positive environment include: 4 | 5 | - Using welcoming and inclusive language 6 | - Being respectful of differing viewpoints and experiences 7 | - Gracefully accepting constructive criticism 8 | - Focusing on what is best for the community 9 | - Showing empathy towards other community members 10 | - Examples of unacceptable behavior by participants include: 11 | 12 | The use of sexualized language or imagery and unwelcome sexual attention or advances 13 | 14 | - Trolling, insulting/derogatory comments, and personal or political attacks 15 | - Public or private harassment 16 | - Publishing others' private information, such as a physical or electronic address, without explicit permission 17 | - Other conduct which could reasonably be considered inappropriate in a professional setting 18 | -------------------------------------------------------------------------------- /apps/docs/.content.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ['docs/content'], 4 | rules: { 5 | 'quotes': ['error', 'single'], 6 | 'semi': ['error', 'always'], 7 | 'max-len': ['error', { code: 80, ignoreComments: true }] 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /apps/docs/.env.sample: -------------------------------------------------------------------------------- 1 | API_URL= 2 | DOCS_ALGOLIA_INDEX_NAME= 3 | API_ALGOLIA_INDEX_NAME= 4 | ALGOLIA_API_KEY= 5 | ALGOLIA_APP_ID= 6 | AI_ASSISTANT_URL= 7 | AI_API_ASSISTANT_TOKEN= 8 | AI_WEBSITE_ID= 9 | AI_API_ASSISTANT_RECAPTCHA_SITE_KEY= 10 | CLOUDINARY_CLOUD_NAME= -------------------------------------------------------------------------------- /apps/docs/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ['docs/docusaurus'], 4 | parserOptions: { 5 | project: true, 6 | tsconfigRootDir: __dirname, 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /apps/docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | .yarn/* 22 | .yarn/install-state.gz 23 | !.yarn/patches 24 | !.yarn/plugins 25 | !.yarn/releases 26 | !.yarn/sdks 27 | !.yarn/versions -------------------------------------------------------------------------------- /apps/docs/README.md: -------------------------------------------------------------------------------- 1 | # Zerops documentation 2 | 3 | https://docs.zerops.io 4 | 5 | Docusaurus theme and components from the amazing and powerful https://medusajs.com 6 | -------------------------------------------------------------------------------- /apps/docs/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve("@docusaurus/core/lib/babel/preset")], 3 | plugins: [["@babel/plugin-proposal-decorators", { legacy: true }]], 4 | } 5 | -------------------------------------------------------------------------------- /apps/docs/content/bun/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/bun/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Bun version 3 | description: Learn how to upgrade your node.js service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Bun service to a different major Bun version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](bun/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Bun version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Bun version for your runtime. 7 | 8 | If you want to build your application with a different major Bun version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/company/branding.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Zerops Branding 3 | description: Download official Zerops logos, badges, and brand assets 4 | --- 5 | 6 | import BrandAssets from '@site/src/components/BrandAssets'; 7 | 8 | # Zerops Brand Assets 9 | 10 | Here you can find and download our official logos and badges in various formats. Please follow our brand guidelines when using these assets. 11 | 12 | ## Download Assets 13 | 14 | Below you'll find our official assets available in various formats. Click the download buttons to get the assets in your preferred format. 15 | 16 | 17 | 18 | ## Brand Guidelines 19 | 20 | When using Zerops brand assets, please: 21 | 22 | - Don't modify the logos or badges in any way 23 | - Maintain adequate spacing around the assets 24 | - Use the provided color versions (light/dark) as appropriate 25 | - Don't use the Zerops logo or badges in a way that suggests partnership or endorsement without permission 26 | - Don't use the assets as your own branding or as part of your logo 27 | 28 | -------------------------------------------------------------------------------- /apps/docs/content/deno/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/deno/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Deno version 3 | description: Learn how to upgrade your deno service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Deno service to a different major Deno version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/deno/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Deno version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Deno version for your runtime. 7 | 8 | If you want to build your application with a different major Deno version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/dotnet/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/dotnet/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the .NET version 3 | description: Learn how to upgrade your dotnet service's version 4 | --- 5 | 6 | You can upgrade or downgrade your .NET service to a different major .NET version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/dotnet/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required .NET version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current .NET version for your runtime. 7 | 8 | If you want to build your application with a different major .NET version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/elixir/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/elixir/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Elixir version 3 | description: Learn how to upgrade your Elixir service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Elixir service to a different major Elixir version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/elixir/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Elixir version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Elixir version for your runtime. 7 | 8 | If you want to build your application with a different major Elixir version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/gleam/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/gleam/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Gleam version 3 | description: Learn how to upgrade your Gleam service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Gleam service to a different major Gleam version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/gleam/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Gleam version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Gleam version for your runtime. 7 | 8 | If you want to build your application with a different major Gleam version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/go/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | If your service is in the [HA mode], you can switch between containers in the top left corner. 30 | 31 | ## zCLI & SSH 32 | 33 | You can connect to the container via SSH with the Zerops CLI and browse its files. 34 | How to [connect to your service via SSH](/references/ssh). 35 | -------------------------------------------------------------------------------- /apps/docs/content/go/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Go version 3 | description: Learn how to upgrade your go service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Go service to a different major Go version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/go/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Go version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Go version for your runtime. 7 | 8 | If you want to build your application with a different major Go version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/java/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/java/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Java version 3 | description: Learn how to upgrade your java service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Java service to a different major Java version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/java/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Java version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Java version for your runtime. 7 | 8 | If you want to build your application with a different major Java version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/nginx/faq.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Frequently Asked Questions 3 | description: Get quick answers to your related questions about Nginx from frequently asked questions by people at Zerops. 4 | --- 5 | 6 | import { FAQ, FAQItem } from '/src/components/Faq'; 7 | 8 | 9 | 10 | Zerops provides built-in prerender.io support. Simply set the `PRERENDER_TOKEN` environment variable with your prerender.io service token. See our [prerender.io documentation](/nginx/how-to/env-variables#prerenderio-support) for details. 11 | 12 | 13 | -------------------------------------------------------------------------------- /apps/docs/content/nginx/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/nginx/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Nginx version 3 | description: Learn how to upgrade your nginx service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Nginx static service to a different major Nginx version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/nginx/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Nginx version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Nginx version for your runtime. 7 | -------------------------------------------------------------------------------- /apps/docs/content/nodejs/faq.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Frequently Asked Questions 3 | description: Get quick answers to your related questions about Node.js from frequently asked questions by people at Zerops. 4 | --- 5 | 6 | import { FAQ, FAQItem } from '/src/components/Faq'; 7 | 8 | 9 | 10 | If your build process seems to be hanging or timing out, check your logs for interactive prompts that are waiting for input, such as: 11 | ``` 12 | ? The modules directory at "/build/source/node_modules" will be removed and reinstalled from scratch. Proceed? (Y/n) ‣ true 13 | ``` 14 | 15 | Set the environment variable `CI: true` to resolve the problem. This allows the installation to proceed automatically without requiring manual confirmation. 16 | 17 | -------------------------------------------------------------------------------- /apps/docs/content/nodejs/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/nodejs/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Node.js version 3 | description: Learn how to upgrade your node.js service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Node.js service to a different major Node.js version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/nodejs/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Node.js version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Node.js version for your runtime. 7 | 8 | If you want to build your application with a different major Node.js version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/php/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/php/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the PHP version 3 | description: Learn how to upgrade your php service's version 4 | --- 5 | 6 | You can upgrade or downgrade your PHP service to a different major PHP version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/php/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required PHP version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current PHP version for your runtime. 7 | 8 | If you want to build your application with a different major PHP version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/postgresql/faq.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Frequently Asked Questions 3 | description: Get quick answers to your related questions about PostgreSql from frequently asked questions by people at Zerops. 4 | --- 5 | 6 | import { FAQ, FAQItem } from '/src/components/Faq'; 7 | 8 | 9 | 10 | *One possible cause:*
11 | The connection string in Zerops always starts with `postgresql://`. While the official PostgreSQL documentation 12 | states that both `postgresql://` and `postgres://` URIs are valid, some software requires the shorter `postgres://` 13 | version. 14 | 15 | To resolve this, create your own environment variable with the correct URI. For example, if your PostgreSQL service is named `db`, use the following format: 16 | 17 | ``` 18 | postgres://${db_user}:${db_password}@${db_hostname}:${db_port} 19 | ``` 20 |
21 |
22 | 23 | -------------------------------------------------------------------------------- /apps/docs/content/python/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/python/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Python version 3 | description: Learn how to upgrade your python service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Python service to a different major Python version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/python/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Python version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Python version for your runtime. 7 | 8 | If you want to build your application with a different major Python version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/content/rust/how-to/filebrowser.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Browse container files 3 | description: Browsing files on your container using file browser on Zerops. 4 | --- 5 | 6 | ## Zerops GUI 7 | 8 | In Zerops GUI, go to the service detail page and choose **Service containers & resources overview** and scroll down to the list of containers. 9 | 10 |

11 | image 17 |

18 | 19 | Then click on the file browser icon and the file browser opens: 20 | 21 |

22 | image 28 |

29 | 30 | If your service is in the [HA mode], you can switch between containers in the top left corner. 31 | 32 | ## zCLI & SSH 33 | 34 | You can connect to the container via SSH with the Zerops CLI and browse its files. 35 | How to [connect to your service via SSH](/references/ssh). 36 | -------------------------------------------------------------------------------- /apps/docs/content/rust/how-to/upgrade.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: How to upgrade the Rust version 3 | description: Learn how to upgrade your rust service's version 4 | --- 5 | 6 | You can upgrade or downgrade your Rust service to a different major Rust version by setting the `run.base` parameter in your `zerops.yaml`. When you [trigger a new pipeline](/rust/how-to/trigger-pipeline), Zerops will start new runtime container(s) with the required Rust version. If you don't specify the `run.base` attribute in your `zerops.yaml`, Zerops keeps the current Rust version for your runtime. 7 | 8 | If you want to build your application with a different major Rust version, change the `build.base` parameter in your `zerops.yaml`. The `build.base` is the required attribute. 9 | -------------------------------------------------------------------------------- /apps/docs/src/components/Accordion/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState, ReactNode } from 'react'; 2 | 3 | interface AccordionProps { 4 | title: string; 5 | children: ReactNode; 6 | } 7 | 8 | const Accordion: React.FC = ({ title, children }) => { 9 | const [isOpen, setIsOpen] = useState(false); 10 | 11 | const toggleAccordion = () => { 12 | setIsOpen(!isOpen); 13 | }; 14 | 15 | return ( 16 |
17 | 24 | {isOpen &&
{children}
} 25 |
26 | ); 27 | }; 28 | 29 | export default Accordion; 30 | -------------------------------------------------------------------------------- /apps/docs/src/components/BackgroundPattern/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const BackgroundPattern = () => { 4 | return ( 5 |
6 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | {[...Array(6)].map((_, i) => ( 22 | 26 | ))} 27 | 28 | 29 |
30 | ); 31 | }; 32 | 33 | export default BackgroundPattern; -------------------------------------------------------------------------------- /apps/docs/src/components/BorderedIcon/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import type { BorderedIconProps as UiBorderedIconProps } from 'docs-ui'; 3 | import { BorderedIcon as UiBorderedIcon } from 'docs-ui'; 4 | import { useColorMode } from '@docusaurus/theme-common'; 5 | 6 | type BorderedIconProps = { 7 | icon?: { 8 | light: string; 9 | dark?: string; 10 | }; 11 | } & Omit; 12 | 13 | const BorderedIcon: React.FC = ({ 14 | icon = null, 15 | ...props 16 | }) => { 17 | const { colorMode } = useColorMode(); 18 | 19 | return ( 20 | 30 | ); 31 | }; 32 | 33 | export default BorderedIcon; 34 | -------------------------------------------------------------------------------- /apps/docs/src/components/CustomCardWithIcon/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | interface CustomCardWithIconProps { 4 | icon: React.ComponentType>; 5 | title: string; 6 | desc: string; 7 | children: React.ReactNode; 8 | iconProps?: React.SVGProps; 9 | } 10 | 11 | const CustomCardWithIcon: React.FC = ({ 12 | title, 13 | desc, 14 | children, 15 | icon: Icon, 16 | iconProps = { 17 | width: 20, 18 | height: 20 19 | } 20 | }) => { 21 | return ( 22 | 23 | 24 | 25 | 26 | 27 | 28 | {title} 29 |
{desc}
30 |
31 |
32 | {children} 33 |
34 | ); 35 | }; 36 | 37 | export default CustomCardWithIcon; -------------------------------------------------------------------------------- /apps/docs/src/components/DetailsList/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Details from '../../theme/Details'; 3 | import clsx from 'clsx'; 4 | import MDXContent from '@theme/MDXContent'; 5 | 6 | type TroubleshootingSection = { 7 | title: string; 8 | content: React.ReactNode; 9 | }; 10 | 11 | type DetailsListProps = { 12 | sections: TroubleshootingSection[]; 13 | } & React.AllHTMLAttributes; 14 | 15 | const DetailsList: React.FC = ({ sections }) => { 16 | return ( 17 | <> 18 | {sections.map(({ title, content }, index) => ( 19 |
24 | {React.isValidElement(content) && content} 25 | {!React.isValidElement(content) && typeof content === 'string' && ( 26 | {content} 27 | )} 28 |
29 | ))} 30 | 31 | ); 32 | }; 33 | 34 | export default DetailsList; 35 | -------------------------------------------------------------------------------- /apps/docs/src/components/Feedback/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { 3 | Feedback as UiFeedback, 4 | type FeedbackProps as UiFeedbackProps, 5 | GITHUB_ISSUES_PREFIX, 6 | } from 'docs-ui'; 7 | import useIsBrowser from '@docusaurus/useIsBrowser'; 8 | import { useLocation } from '@docusaurus/router'; 9 | import clsx from 'clsx'; 10 | 11 | type FeedbackProps = Omit; 12 | 13 | const Feedback = (props: FeedbackProps) => { 14 | const isBrowser = useIsBrowser(); 15 | const location = useLocation(); 16 | 17 | return ( 18 | 25 | ); 26 | }; 27 | 28 | export default Feedback; 29 | -------------------------------------------------------------------------------- /apps/docs/src/components/LargeCardList/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | 4 | type LargeCardListProps = { 5 | colSize?: string; 6 | className?: string; 7 | } & React.HTMLAttributes; 8 | 9 | const LargeCardList: React.FC = ({ 10 | colSize = '4', 11 | className, 12 | children, 13 | }) => { 14 | return ( 15 |
25 | {children} 26 |
27 | ); 28 | }; 29 | 30 | export default LargeCardList; 31 | -------------------------------------------------------------------------------- /apps/docs/src/components/QueryNote/index.tsx: -------------------------------------------------------------------------------- 1 | import Admonition, { Props as AdmonitionProps } from '@theme/Admonition'; 2 | import { useQueryStringValue } from '@docusaurus/theme-common/internal'; 3 | import React from 'react'; 4 | 5 | type QueryNoteProps = { 6 | query: { 7 | key: string; 8 | value?: string; 9 | }; 10 | admonition: AdmonitionProps; 11 | } & React.HTMLAttributes; 12 | 13 | const QueryNote: React.FC = ({ 14 | query: { key, value = '' }, 15 | admonition, 16 | children, 17 | }) => { 18 | const queryValue = useQueryStringValue(key); 19 | 20 | return ( 21 | <> 22 | {queryValue === value && ( 23 | {children} 24 | )} 25 | 26 | ); 27 | }; 28 | 29 | export default QueryNote; 30 | -------------------------------------------------------------------------------- /apps/docs/src/components/TypeList/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { TypeList as UiTypeList } from 'docs-ui'; 3 | import { useLocation } from '@docusaurus/router'; 4 | 5 | const TypeList = (props: React.ComponentProps) => { 6 | const location = useLocation(); 7 | 8 | return ; 9 | }; 10 | 11 | export default TypeList; 12 | -------------------------------------------------------------------------------- /apps/docs/src/components/UiIcon/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ThemedImage from '@theme/ThemedImage'; 3 | 4 | type UiIconProps = { 5 | lightIcon: string; 6 | darkIcon?: string; 7 | alt?: string; 8 | }; 9 | 10 | const UiIcon: React.FC = ({ 11 | lightIcon, 12 | darkIcon = '', 13 | alt = '', 14 | }) => { 15 | return ( 16 | 24 | ); 25 | }; 26 | 27 | export default UiIcon; 28 | -------------------------------------------------------------------------------- /apps/docs/src/components/UnorderedList/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import type { Props } from '@theme/DocItem/Layout'; 3 | 4 | export default function UnorderedList({ data }: Props): JSX.Element { 5 | return ( 6 |
    7 | {data.map((token, i) => { 8 | return
  • {token}
  • ; 9 | })} 10 |
11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /apps/docs/src/components/work-in-progress/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Tooltip } from 'docs-ui'; 3 | 4 | function Wip() { 5 | return ( 6 | 21 | ); 22 | } 23 | 24 | export default Wip; -------------------------------------------------------------------------------- /apps/docs/src/css/components/tooltip.css: -------------------------------------------------------------------------------- 1 | .react-tooltip { 2 | @apply !border !border-solid !border-medusa-border-base; 3 | @apply !rounded !text-compact-x-small-plus !shadow-tooltip dark:!shadow-tooltip-dark; 4 | @apply !py-0.4 !px-1 lg:block hidden; 5 | } 6 | 7 | .react-tooltip-arrow { 8 | @apply hidden; 9 | } 10 | -------------------------------------------------------------------------------- /apps/docs/src/hooks/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/src/hooks/.gitkeep -------------------------------------------------------------------------------- /apps/docs/src/pages/discord.js: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | import { useHistory } from '@docusaurus/router'; 3 | 4 | export default function RedirectToDiscord() { 5 | const history = useHistory(); 6 | 7 | useEffect(() => { 8 | window.location.href = 'https://discord.gg/3yZknaRhxK'; 9 | }, [history]); 10 | 11 | return null; 12 | } 13 | -------------------------------------------------------------------------------- /apps/docs/src/providers/DocsProviders/index.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | ColorModeProvider, 3 | ModalProvider, 4 | NotificationProvider, 5 | } from 'docs-ui'; 6 | import React from 'react'; 7 | import SkipToContent from '@theme/SkipToContent'; 8 | 9 | type DocsProvidersProps = { 10 | children?: React.ReactNode; 11 | }; 12 | 13 | const DocsProviders = ({ children }: DocsProvidersProps) => { 14 | return ( 15 | 16 | 17 | 18 | 19 | {children} 20 | 21 | 22 | 23 | ); 24 | }; 25 | 26 | export default DocsProviders; 27 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Icon/Danger.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import type { IconProps } from '@medusajs/icons/dist/types'; 3 | import { ExclamationCircleSolid } from '@medusajs/icons'; 4 | import clsx from 'clsx'; 5 | 6 | export default function AdmonitionIconDanger({ 7 | className, 8 | ...props 9 | }: IconProps): JSX.Element { 10 | return ( 11 | 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Icon/Info.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import AdmonitionIconNote from './Note'; 3 | import type { IconProps } from '@medusajs/icons/dist/types'; 4 | 5 | export default function AdmonitionIconInfo(props: IconProps): JSX.Element { 6 | return ; 7 | } 8 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Icon/Note.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { InformationCircleSolid } from '@medusajs/icons'; 3 | import type { IconProps } from '@medusajs/icons/dist/types'; 4 | import clsx from 'clsx'; 5 | 6 | export default function AdmonitionIconNote({ 7 | className, 8 | ...props 9 | }: IconProps): JSX.Element { 10 | return ( 11 | 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Icon/Tip.tsx: -------------------------------------------------------------------------------- 1 | import type { IconProps } from '@medusajs/icons/dist/types'; 2 | import React from 'react'; 3 | import AdmonitionIconNote from './Note'; 4 | 5 | export default function AdmonitionIconTip(props: IconProps): JSX.Element { 6 | return ; 7 | } 8 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Icon/Warning.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import AdmonitionIconDanger from './Danger'; 3 | import type { IconProps } from '@medusajs/icons/dist/types'; 4 | 5 | export default function AdmonitionIconCaution(props: IconProps): JSX.Element { 6 | return ; 7 | } 8 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Type/Caution.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Translate from '@docusaurus/Translate'; 4 | import type { Props } from '@theme/Admonition/Type/Caution'; 5 | import AdmonitionLayout from '@theme/Admonition/Layout'; 6 | import IconWarning from '@theme/Admonition/Icon/Warning'; 7 | 8 | const infimaClassName = 'alert alert--warning'; 9 | 10 | const defaultProps = { 11 | icon: , 12 | title: ( 13 | 17 | Caution 18 | 19 | ), 20 | }; 21 | 22 | // TODO remove before v4: Caution replaced by Warning 23 | // see https://github.com/facebook/docusaurus/issues/7558 24 | export default function AdmonitionTypeCaution(props: Props): JSX.Element { 25 | return ( 26 | 31 | {props.children} 32 | 33 | ); 34 | } 35 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Type/Danger.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Translate from '@docusaurus/Translate'; 4 | import type { Props } from '@theme/Admonition/Type/Danger'; 5 | import AdmonitionLayout from '@theme/Admonition/Layout'; 6 | import IconDanger from '@theme/Admonition/Icon/Danger'; 7 | 8 | const infimaClassName = 'alert alert--danger'; 9 | 10 | const defaultProps = { 11 | icon: , 12 | title: ( 13 | 17 | Danger 18 | 19 | ), 20 | }; 21 | 22 | export default function AdmonitionTypeDanger(props: Props): JSX.Element { 23 | return ( 24 | 29 | {props.children} 30 | 31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Type/Info.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Translate from '@docusaurus/Translate'; 4 | import type { Props } from '@theme/Admonition/Type/Info'; 5 | import AdmonitionLayout from '@theme/Admonition/Layout'; 6 | import IconInfo from '@theme/Admonition/Icon/Info'; 7 | 8 | const infimaClassName = 'alert alert--info'; 9 | 10 | const defaultProps = { 11 | icon: , 12 | title: ( 13 | 17 | Info 18 | 19 | ), 20 | }; 21 | 22 | export default function AdmonitionTypeInfo(props: Props): JSX.Element { 23 | return ( 24 | 29 | {props.children} 30 | 31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Type/Note.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Translate from '@docusaurus/Translate'; 4 | import type { Props } from '@theme/Admonition/Type/Note'; 5 | import AdmonitionLayout from '@theme/Admonition/Layout'; 6 | import IconNote from '@theme/Admonition/Icon/Note'; 7 | 8 | const infimaClassName = 'alert alert--secondary'; 9 | 10 | const defaultProps = { 11 | icon: , 12 | title: ( 13 | 17 | Note 18 | 19 | ), 20 | }; 21 | 22 | export default function AdmonitionTypeNote(props: Props): JSX.Element { 23 | return ( 24 | 29 | {props.children} 30 | 31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Type/Tip.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Translate from '@docusaurus/Translate'; 4 | import type { Props } from '@theme/Admonition/Type/Tip'; 5 | import AdmonitionLayout from '@theme/Admonition/Layout'; 6 | import IconTip from '@theme/Admonition/Icon/Tip'; 7 | 8 | const infimaClassName = 'alert alert--success'; 9 | 10 | const defaultProps = { 11 | icon: , 12 | title: ( 13 | 17 | Tip 18 | 19 | ), 20 | }; 21 | 22 | export default function AdmonitionTypeTip(props: Props): JSX.Element { 23 | return ( 24 | 29 | {props.children} 30 | 31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Admonition/Type/Warning.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Translate from '@docusaurus/Translate'; 4 | import type { Props } from '@theme/Admonition/Type/Warning'; 5 | import AdmonitionLayout from '@theme/Admonition/Layout'; 6 | import IconWarning from '@theme/Admonition/Icon/Warning'; 7 | 8 | const infimaClassName = 'alert alert--warning'; 9 | 10 | const defaultProps = { 11 | icon: , 12 | title: ( 13 | 17 | Warning 18 | 19 | ), 20 | }; 21 | 22 | export default function AdmonitionTypeWarning(props: Props): JSX.Element { 23 | return ( 24 | 29 | {props.children} 30 | 31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /apps/docs/src/theme/AnnouncementBar/CloseButton/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { translate } from '@docusaurus/Translate'; 4 | import IconClose from '@theme/Icon/Close'; 5 | import type { Props } from '@theme/AnnouncementBar/CloseButton'; 6 | 7 | export default function AnnouncementBarCloseButton( 8 | props: Props 9 | ): JSX.Element | null { 10 | return ( 11 | 32 | ); 33 | } 34 | -------------------------------------------------------------------------------- /apps/docs/src/theme/AnnouncementBar/Content/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { useThemeConfig } from '@docusaurus/theme-common'; 4 | import type { Props } from '@theme/AnnouncementBar/Content'; 5 | 6 | export default function AnnouncementBarContent( 7 | props: Props 8 | ): JSX.Element | null { 9 | const { announcementBar } = useThemeConfig(); 10 | const { content } = announcementBar!; 11 | return ( 12 |
19 |
26 | Read more 27 |
28 | ); 29 | } 30 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Details/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { 3 | Details as UiDetails, 4 | type DetailsProps as UiDetailsProps, 5 | } from 'docs-ui'; 6 | 7 | export type DetailsProps = { 8 | summary: React.ReactNode; 9 | children?: React.ReactNode; 10 | } & UiDetailsProps; 11 | 12 | export default function Details({ 13 | summary, 14 | children, 15 | ...props 16 | }: DetailsProps): JSX.Element { 17 | return ( 18 | 23 | {children} 24 | 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /apps/docs/src/theme/DocItem/Footer/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Footer from '@theme-original/DocItem/Footer'; 3 | import type FooterType from '@theme/DocItem/Footer'; 4 | import type { WrapperProps } from '@docusaurus/types'; 5 | import { useDoc } from '@docusaurus/theme-common/internal'; 6 | 7 | type Props = WrapperProps; 8 | 9 | export default function FooterWrapper(props: Props): JSX.Element { 10 | const { metadata } = useDoc(); 11 | return ( 12 | <> 13 | {!metadata.frontMatter?.hide_footer && ( 14 |
15 |
16 |
17 | )} 18 | 19 | ); 20 | } 21 | -------------------------------------------------------------------------------- /apps/docs/src/theme/DocRoot/Layout/Main/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { useDocsSidebar } from '@docusaurus/theme-common/internal'; 4 | import type { Props } from '@theme/DocRoot/Layout/Main'; 5 | 6 | import { useSidebar } from '../../../../providers/Sidebar'; 7 | 8 | export default function DocRootLayoutMain({ children }: Props): JSX.Element { 9 | const sidebar = useDocsSidebar(); 10 | const sidebarContext = useSidebar(); 11 | return ( 12 |
21 |
28 | {children} 29 |
30 |
31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /apps/docs/src/theme/DocsRoot/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { 4 | ThemeClassNames, 5 | HtmlClassNameProvider, 6 | } from '@docusaurus/theme-common'; 7 | import renderRoutes from '@docusaurus/renderRoutes'; 8 | import Layout from '@theme/Layout'; 9 | 10 | import type { Props } from '@theme/DocVersionRoot'; 11 | import DocsProviders from '../../providers/DocsProviders'; 12 | 13 | export default function DocsRoot(props: Props): JSX.Element { 14 | return ( 15 | 16 | 17 | {renderRoutes(props.route.routes!)} 18 | 19 | 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /apps/docs/src/theme/EditThisPage/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Translate from '@docusaurus/Translate'; 3 | import { ThemeClassNames } from '@docusaurus/theme-common'; 4 | import type { Props } from '@theme/EditThisPage'; 5 | import { Button } from 'docs-ui'; 6 | import clsx from 'clsx'; 7 | import Link from '@docusaurus/Link'; 8 | 9 | export default function EditThisPage({ editUrl }: Props): JSX.Element { 10 | return ( 11 | 26 | ); 27 | } 28 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Close/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { XMark } from '@medusajs/icons'; 3 | import { IconProps } from '@medusajs/icons/dist/types'; 4 | 5 | const IconClose = (props: IconProps) => { 6 | return ; 7 | }; 8 | 9 | export default IconClose; 10 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Copy/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { SquareTwoStackSolid } from '@medusajs/icons'; 3 | import { IconProps } from '@medusajs/icons/dist/types'; 4 | 5 | const IconCopy = (props: IconProps) => { 6 | return ; 7 | }; 8 | 9 | export default IconCopy; 10 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/CurlyBraces/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconCurlyBraces = (props: IconProps) => { 6 | return ( 7 | 16 | 23 | 24 | ); 25 | }; 26 | 27 | export default IconCurlyBraces; 28 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/DarkMode/index.tsx: -------------------------------------------------------------------------------- 1 | import { Moon } from '@medusajs/icons'; 2 | import { IconProps } from '@medusajs/icons/dist/types'; 3 | import React from 'react'; 4 | 5 | const IconDarkMode = (props: IconProps) => { 6 | return ; 7 | }; 8 | 9 | export default IconDarkMode; 10 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Database/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconDatabase = (props: IconProps) => { 6 | return ( 7 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | ); 22 | }; 23 | 24 | export default IconDatabase; 25 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/ExternalLink/index.tsx: -------------------------------------------------------------------------------- 1 | import { ArrowUpRightOnBox } from '@medusajs/icons'; 2 | import { IconProps } from '@medusajs/icons/dist/types'; 3 | import React from 'react'; 4 | 5 | const IconExternalLink = (props: IconProps) => { 6 | return ; 7 | }; 8 | 9 | export default IconExternalLink; 10 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/FlagMini/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconFlagMini = (props: IconProps) => { 6 | return ( 7 | 16 | 23 | 24 | ); 25 | }; 26 | 27 | export default IconFlagMini; 28 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Gitlab/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconGitlab = (props: IconProps) => { 6 | return ( 7 | 16 | 17 | 18 | ); 19 | }; 20 | 21 | export default IconGitlab; 22 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/LaravelJetstream/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconLaravelJetstream = (props: IconProps) => { 6 | return ( 7 | 16 | 17 | 18 | 19 | 20 | 21 | ); 22 | }; 23 | 24 | export default IconLaravelJetstream; 25 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/LightMode/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Sun } from '@medusajs/icons'; 3 | import { IconProps } from '@medusajs/icons/dist/types'; 4 | 5 | const IconLightMode = (props: IconProps) => { 6 | return ; 7 | }; 8 | 9 | export default IconLightMode; 10 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/LinkedIn/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconLinkedIn = (props: IconProps) => { 6 | return ( 7 | 16 | 20 | 21 | ); 22 | }; 23 | 24 | export default IconLinkedIn; 25 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Nats/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconNats = (props: IconProps) => { 6 | return ( 7 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | ); 21 | }; 22 | 23 | export default IconNats; 24 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Nginx/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconNginx = (props: IconProps) => { 6 | return ( 7 | 16 | 20 | 24 | 25 | ); 26 | }; 27 | 28 | export default IconNginx; 29 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Rabbitmq/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconRabbitmq = (props: IconProps) => { 6 | return ( 7 | 16 | 20 | 21 | ); 22 | }; 23 | 24 | export default IconRabbitmq; 25 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Strapi/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconStrapi = (props: IconProps) => { 6 | return ( 7 | 17 | 18 | 19 | 23 | 24 | 25 | ); 26 | }; 27 | 28 | export default IconStrapi; 29 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Icon/Twill/index.tsx: -------------------------------------------------------------------------------- 1 | import { IconProps } from '@medusajs/icons/dist/types'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | const IconTwill = (props: IconProps) => { 6 | return ( 7 | 13 | 14 | 15 | 16 | 17 | ); 18 | }; 19 | 20 | export default IconTwill; 21 | -------------------------------------------------------------------------------- /apps/docs/src/theme/MDXComponents/Code.tsx: -------------------------------------------------------------------------------- 1 | import type { ComponentProps } from 'react'; 2 | import React from 'react'; 3 | import CodeBlock from '@theme/CodeBlock'; 4 | import type { Props } from '@theme/MDXComponents/Code'; 5 | import { InlineCode } from 'docs-ui'; 6 | 7 | export default function MDXCode(props: Omit): JSX.Element { 8 | const shouldBeInline = React.Children.toArray(props.children).every( 9 | (el) => typeof el === 'string' && !el.includes('\n') 10 | ); 11 | 12 | return shouldBeInline ? ( 13 | 14 | ) : ( 15 | )} /> 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /apps/docs/src/theme/MDXComponents/Details.tsx: -------------------------------------------------------------------------------- 1 | import React, { type ComponentProps, type ReactElement } from 'react'; 2 | import Details from '@theme/Details'; 3 | import type { Props } from '@theme/MDXComponents/Details'; 4 | import { DetailsSummary } from 'docs-ui'; 5 | 6 | export default function MDXDetails(props: Omit): JSX.Element { 7 | const items = React.Children.toArray(props.children); 8 | // Split summary item from the rest to pass it as a separate prop to the 9 | // Details theme component 10 | const summary = items.find( 11 | ( 12 | item: ReactElement> 13 | ): item is ReactElement> => { 14 | return ( 15 | React.isValidElement(item) && 16 | (item.type === 'summary' || item.type === DetailsSummary) 17 | ); 18 | } 19 | ); 20 | const children = <>{items.filter((item) => item !== summary)}; 21 | 22 | return ( 23 |
24 | {children} 25 |
26 | ); 27 | } 28 | -------------------------------------------------------------------------------- /apps/docs/src/theme/MDXComponents/H1.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import type { Props } from '@theme/MDXComponents/Heading'; 3 | import MDXHeading from '@theme/MDXComponents/Heading'; 4 | import { useDoc } from '@docusaurus/theme-common/internal'; 5 | import { DocContextValue } from '@medusajs/docs'; 6 | import { Badge, BadgeVariant } from 'docs-ui'; 7 | import clsx from 'clsx'; 8 | 9 | const H1 = ({ className, ...props }: Omit) => { 10 | const { 11 | frontMatter: { badge }, 12 | } = useDoc() as DocContextValue; 13 | 14 | return ( 15 |
16 | 21 | {badge && ( 22 | {badge.text} 23 | )} 24 |
25 | ); 26 | }; 27 | 28 | export default H1; 29 | -------------------------------------------------------------------------------- /apps/docs/src/theme/MDXComponents/index.tsx: -------------------------------------------------------------------------------- 1 | // Import the original mapper 2 | import MDXComponents from '@theme-original/MDXComponents'; 3 | import CloudinaryImage from '@site/src/components/CloudinaryImage'; 4 | import MDXA from './A'; 5 | import { Kbd, DetailsSummary, Note } from 'docs-ui'; 6 | import H1 from './H1'; 7 | import MDXCode from './Code'; 8 | import MDXDetails from './Details'; 9 | import DocCard from '@theme/DocCard'; 10 | import DocCardList from '@theme/DocCardList'; 11 | 12 | const components = { 13 | // Re-use the default mapping 14 | ...MDXComponents, 15 | code: MDXCode, 16 | img: CloudinaryImage, 17 | details: MDXDetails, 18 | Details: MDXDetails, 19 | Summary: DetailsSummary, 20 | a: MDXA, 21 | kbd: Kbd, 22 | h1: H1, 23 | DocCard, 24 | DocCardList, 25 | Note, 26 | }; 27 | 28 | export default components; 29 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Navbar/ColorModeToggle/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useColorMode, useThemeConfig } from '@docusaurus/theme-common'; 3 | import ColorModeToggle from '@theme/ColorModeToggle'; 4 | import type { Props } from '@theme/Navbar/ColorModeToggle'; 5 | import clsx from 'clsx'; 6 | 7 | export default function NavbarColorModeToggle({ 8 | className, 9 | }: Props): JSX.Element | null { 10 | const disabled = useThemeConfig().colorMode.disableSwitch; 11 | const { colorMode, setColorMode } = useColorMode(); 12 | 13 | if (disabled) { 14 | return null; 15 | } 16 | 17 | return ( 18 | 24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Navbar/Logo/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Logo from '@theme/Logo'; 3 | import MobileLogo from '../../../components/MobileLogo'; 4 | 5 | export default function NavbarLogo(): JSX.Element { 6 | return ( 7 | <> 8 | 13 | 18 | 19 | ); 20 | } 21 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Navbar/MobileSidebar/Layout/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { useNavbarSecondaryMenu } from '@docusaurus/theme-common/internal'; 4 | import type { Props } from '@theme/Navbar/MobileSidebar/Layout'; 5 | 6 | export default function NavbarMobileSidebarLayout({ 7 | primaryMenu, 8 | secondaryMenu, 9 | }: Props): JSX.Element { 10 | const { shown: secondaryMenuShown } = useNavbarSecondaryMenu(); 11 | return ( 12 |
13 |
18 |
{primaryMenu}
19 |
{secondaryMenu}
20 |
21 |
22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Navbar/MobileSidebar/Toggle/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useNavbarMobileSidebar } from '@docusaurus/theme-common/internal'; 3 | import { translate } from '@docusaurus/Translate'; 4 | import { SidebarLeft, XMark } from '@medusajs/icons'; 5 | 6 | export default function MobileSidebarToggle(): JSX.Element { 7 | const { toggle, shown } = useNavbarMobileSidebar(); 8 | return ( 9 | 24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /apps/docs/src/theme/Navbar/Search/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import type { Props } from '@theme/Navbar/Search'; 4 | 5 | export default function NavbarSearch({ 6 | children, 7 | className, 8 | }: Props): JSX.Element { 9 | return
{children}
; 10 | } 11 | -------------------------------------------------------------------------------- /apps/docs/src/theme/NotFound/Content/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Translate from '@docusaurus/Translate'; 4 | import type { Props } from '@theme/NotFound/Content'; 5 | import Heading from '@theme/Heading'; 6 | 7 | export default function NotFoundContent({ className }: Props): JSX.Element { 8 | return ( 9 |
12 |
13 |
14 | 15 | 19 | Page Not Found 20 | 21 | 22 |
23 |
24 |
25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /apps/docs/src/theme/NotFound/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { translate } from '@docusaurus/Translate'; 3 | import { PageMetadata } from '@docusaurus/theme-common'; 4 | import Layout from '@theme/Layout'; 5 | import NotFoundContent from '@theme/NotFound/Content'; 6 | import DocsProviders from '../../providers/DocsProviders'; 7 | 8 | export default function Index(): JSX.Element { 9 | const title = translate({ 10 | id: 'theme.NotFound.title', 11 | message: 'Page Not Found', 12 | }); 13 | return ( 14 | 15 | 16 | 17 | 18 | 19 | 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /apps/docs/src/theme/TOCItems/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import TOCItems from '@theme-original/TOCItems'; 3 | import type TOCItemsType from '@theme/TOCItems'; 4 | import type { WrapperProps } from '@docusaurus/types'; 5 | import { useDoc } from '@docusaurus/theme-common/internal'; 6 | import { DocContextValue } from '@medusajs/docs'; 7 | import StructuredDataHowTo from '../../components/StructuredData/HowTo'; 8 | 9 | type Props = WrapperProps; 10 | 11 | export default function TOCItemsWrapper(props: Props): JSX.Element { 12 | const { frontMatter, contentTitle } = useDoc() as DocContextValue; 13 | 14 | return ( 15 | <> 16 | 17 | {frontMatter?.addHowToData && ( 18 | 19 | )} 20 | 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /apps/docs/src/types/global.d.ts: -------------------------------------------------------------------------------- 1 | export declare global { 2 | interface Window { 3 | // eslint-disable-next-line @typescript-eslint/no-explicit-any 4 | analytics?: any; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /apps/docs/src/utils/decode-str.ts: -------------------------------------------------------------------------------- 1 | export default function decodeStr(str: string) { 2 | return str 3 | .replaceAll('<', '<') 4 | .replaceAll('{', '{') 5 | .replaceAll('}', '}') 6 | .replaceAll('>', '>') 7 | .replaceAll('\\|', '|'); 8 | } 9 | -------------------------------------------------------------------------------- /apps/docs/src/utils/exclude-sidebar-results.js: -------------------------------------------------------------------------------- 1 | function excludeSidebarResults(sidebarItems, categoryItem) { 2 | const results = []; 3 | sidebarItems.forEach((item) => { 4 | if (item.type === 'category') { 5 | results.push({ 6 | ...item, 7 | items: excludeSidebarResults(item.items, categoryItem), 8 | }); 9 | } else if (!item.customProps?.exclude_from_auto_sidebar) { 10 | return results.push(item); 11 | } 12 | }); 13 | 14 | return results; 15 | } 16 | 17 | module.exports = excludeSidebarResults; 18 | -------------------------------------------------------------------------------- /apps/docs/src/utils/filter-list-items.ts: -------------------------------------------------------------------------------- 1 | import { 2 | PropSidebarItem, 3 | PropSidebarItemLink, 4 | } from '@docusaurus/plugin-content-docs'; 5 | 6 | export default function filterListItems( 7 | items: PropSidebarItemLink[], 8 | pathPattern: string | RegExp 9 | ): PropSidebarItemLink[] { 10 | if (!items.length) { 11 | return items; 12 | } 13 | 14 | const pattern = new RegExp(pathPattern); 15 | 16 | return items.filter((item: PropSidebarItemLink) => pattern.test(item.href)); 17 | } 18 | 19 | /** 20 | * Flatting a sidebar list moving items from category 21 | * to links 22 | */ 23 | export function flattenList(items: PropSidebarItem[]): PropSidebarItem[] { 24 | const newItems = items.map((item: PropSidebarItem) => { 25 | if (item.type !== 'category') { 26 | return item; 27 | } 28 | 29 | return item.items; 30 | }); 31 | 32 | return newItems.flat(); 33 | } 34 | -------------------------------------------------------------------------------- /apps/docs/src/utils/get-first-category-item.ts: -------------------------------------------------------------------------------- 1 | import { 2 | findSidebarCategory, 3 | useDocsSidebar, 4 | } from '@docusaurus/theme-common/internal'; 5 | import { PropSidebarItem } from '@docusaurus/plugin-content-docs'; 6 | 7 | type Options = { 8 | categoryLabel?: string; 9 | categoryCustomId?: string; 10 | }; 11 | 12 | export function getCategoryItems({ categoryLabel, categoryCustomId }: Options) { 13 | return findSidebarCategory( 14 | useDocsSidebar().items, 15 | (item) => 16 | item.label === categoryLabel || 17 | item.customProps.category_id === categoryCustomId 18 | )?.items; 19 | } 20 | 21 | export default function getFirstCategoryItem( 22 | options: Options 23 | ): PropSidebarItem | undefined { 24 | return getCategoryItems(options)?.[0]; 25 | } 26 | -------------------------------------------------------------------------------- /apps/docs/src/utils/get-os-shortcut.ts: -------------------------------------------------------------------------------- 1 | export default function getOsShortcut() { 2 | const isMacOs = 3 | typeof navigator !== 'undefined' 4 | ? navigator.userAgent.toLowerCase().indexOf('mac') !== 0 5 | : true; 6 | 7 | return isMacOs ? '⌘' : 'Ctrl'; 8 | } 9 | -------------------------------------------------------------------------------- /apps/docs/src/utils/glossary.ts: -------------------------------------------------------------------------------- 1 | export type GlossaryType = { 2 | matchTextRegex: RegExp; 3 | ignoreTextRegex?: RegExp; 4 | title: string; 5 | content: string; 6 | referenceLink: string; 7 | }; 8 | 9 | const glossary: GlossaryType[] = []; 10 | 11 | export const getGlossary = () => [...glossary]; 12 | 13 | export const getGlossaryByPath = (path: string): GlossaryType | undefined => { 14 | return glossary.find( 15 | (g) => g.matchTextRegex.test(path) && !g.ignoreTextRegex?.test(path) 16 | ); 17 | }; 18 | -------------------------------------------------------------------------------- /apps/docs/src/utils/is-in-view.ts: -------------------------------------------------------------------------------- 1 | export default function isInView(element: Element): boolean { 2 | const rect = element.getBoundingClientRect(); 3 | return ( 4 | rect.top >= 0 && 5 | rect.left >= 0 && 6 | rect.bottom <= 7 | (window.innerHeight || document.documentElement.clientHeight) && 8 | rect.right <= (window.innerWidth || document.documentElement.clientWidth) 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /apps/docs/src/utils/reverse-sidebar.js: -------------------------------------------------------------------------------- 1 | function reverseSidebarItems(sidebarItems, categoryItem) { 2 | let result = sidebarItems; 3 | if (categoryItem.customProps?.reverse) { 4 | // Reverse items in categories 5 | result = result.map((item) => { 6 | if (item.type === 'category') { 7 | return { 8 | ...item, 9 | items: reverseSidebarItems(item.items, categoryItem), 10 | }; 11 | } 12 | return item; 13 | }); 14 | // Reverse items at current level 15 | // use localeCompare since the reverse array method doesn't account for 16 | // numeric strings 17 | result.sort((a, b) => { 18 | const aToCompare = a.id || a.href || a.value || ''; 19 | const bToCompare = b.id || b.href || b.value || ''; 20 | const comparison = aToCompare.localeCompare(bToCompare, undefined, { 21 | numeric: true, 22 | }); 23 | 24 | return comparison < 0 ? 1 : comparison > 0 ? -1 : 0; 25 | }); 26 | } 27 | return result; 28 | } 29 | 30 | export default reverseSidebarItems; 31 | -------------------------------------------------------------------------------- /apps/docs/src/utils/specs.ts: -------------------------------------------------------------------------------- 1 | export const specs = {}; 2 | -------------------------------------------------------------------------------- /apps/docs/static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/.nojekyll -------------------------------------------------------------------------------- /apps/docs/static/black-logo.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/docs/static/brand/zerops-assets.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/brand/zerops-assets.zip -------------------------------------------------------------------------------- /apps/docs/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/favicon.ico -------------------------------------------------------------------------------- /apps/docs/static/img/admin-icon-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/admin-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/bell-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/bell-dark.png -------------------------------------------------------------------------------- /apps/docs/static/img/diagrams-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/diagrams-bg.png -------------------------------------------------------------------------------- /apps/docs/static/img/docs_meta.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/docs_meta.jpeg -------------------------------------------------------------------------------- /apps/docs/static/img/gatsby-icon-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/gatsby-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/gui/automatic-scaling-2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/automatic-scaling-2.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/automatic-scaling.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/automatic-scaling.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/create-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/create-project.png -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/Elixir.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/Elixir.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/Gleam.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/Gleam.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/Python.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/Python.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/apache-php.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/apache-php.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/bun.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/bun.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/deno.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/deno.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/dotnet.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/dotnet.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/golang.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/golang.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/java.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/java.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/nginx-php.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/nginx-php.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/nodejs.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/nodejs.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/delete-service/rust.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/delete-service/rust.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/enable-firewall.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/enable-firewall.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/github-integration.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/github-integration.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/ipv6-public-port.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/ipv6-public-port.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/laravel/runtime-log.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/laravel/runtime-log.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/php-nginx/service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/php-nginx/service.png -------------------------------------------------------------------------------- /apps/docs/static/img/gui/pipeline-history.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/pipeline-history.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/postgres/backups.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/postgres/backups.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/public-access-domain.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/public-access-domain.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/public-access.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/public-access.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/resources.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/resources.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/running-build.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/running-build.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/secrets.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/secrets.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/serious-core.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/serious-core.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/Deno.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/Deno.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/Golang.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/Golang.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/bun.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/bun.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/dotnet.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/dotnet.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/elixir.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/elixir.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/gleam.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/gleam.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/java.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/java.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/nodejs.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/nodejs.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/php-apache.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/php-apache.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/php-nginx.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/php-nginx.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/python.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/python.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/service/rust.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/service/rust.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/valkey/service.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/valkey/service.webp -------------------------------------------------------------------------------- /apps/docs/static/img/gui/zsc-web-terminal.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/gui/zsc-web-terminal.webp -------------------------------------------------------------------------------- /apps/docs/static/img/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/img.png -------------------------------------------------------------------------------- /apps/docs/static/img/learning-path-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/learning-path-img.png -------------------------------------------------------------------------------- /apps/docs/static/img/light-beam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/light-beam.png -------------------------------------------------------------------------------- /apps/docs/static/img/link-icon-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/docs/static/img/link-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/docs/static/img/logo-icon-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/logo-icon-dark.png -------------------------------------------------------------------------------- /apps/docs/static/img/logo-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/logo-icon.png -------------------------------------------------------------------------------- /apps/docs/static/img/logo-mobile-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/logo-mobile-dark.png -------------------------------------------------------------------------------- /apps/docs/static/img/logo-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/logo-mobile.png -------------------------------------------------------------------------------- /apps/docs/static/img/magnifying-glass-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/static/img/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/static/img/mind-maps/build-deploy/custom-runtime.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/mind-maps/build-deploy/custom-runtime.webp -------------------------------------------------------------------------------- /apps/docs/static/img/mind-maps/build-deploy/manual-deploy.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/mind-maps/build-deploy/manual-deploy.webp -------------------------------------------------------------------------------- /apps/docs/static/img/mind-maps/build-deploy/step-1-dark.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/mind-maps/build-deploy/step-1-dark.webp -------------------------------------------------------------------------------- /apps/docs/static/img/mind-maps/build-deploy/step-1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/mind-maps/build-deploy/step-1.webp -------------------------------------------------------------------------------- /apps/docs/static/img/mind-maps/build-deploy/step-2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/mind-maps/build-deploy/step-2.webp -------------------------------------------------------------------------------- /apps/docs/static/img/mind-maps/build-deploy/step-3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/mind-maps/build-deploy/step-3.webp -------------------------------------------------------------------------------- /apps/docs/static/img/payment-accepted-icon-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /apps/docs/static/img/payment-accepted-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/access-tokens-dark.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/access-tokens-dark.webp -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/access-tokens-light.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/access-tokens-light.webp -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/add_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/add_user.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/backup_frequency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/backup_frequency.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/build_deploy_pipeline-step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/build_deploy_pipeline-step1.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/build_deploy_pipeline-step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/build_deploy_pipeline-step2.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/build_deploy_pipeline-step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/build_deploy_pipeline-step3.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/build_deploy_pipeline_custom_runtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/build_deploy_pipeline_custom_runtime.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/cancel_running_build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/cancel_running_build.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/client_id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/client_id.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/connect_shared_storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/connect_shared_storage.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/connect_shared_storage_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/connect_shared_storage_1.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/connect_shared_storage_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/connect_shared_storage_2.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/create_nodejs_cast.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/create_nodejs_cast.mp4 -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/create_nodejs_service_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/create_nodejs_service_1.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/create_nodejs_service_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/create_nodejs_service_2.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/create_object_storage_cast.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/create_object_storage_cast.mp4 -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/create_shared_storage_cast.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/create_shared_storage_cast.mp4 -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/debug_mode.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/debug_mode.webp -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/delete_object_storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/delete_object_storage.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/firewall_for_public_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/firewall_for_public_port.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/github_integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/github_integration.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/keydb_autoscaling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/keydb_autoscaling.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/list_of_backups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/list_of_backups.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/nodejs_containers_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/nodejs_containers_list.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/nodejs_file_browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/nodejs_file_browser.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/nodejs_generated_variables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/nodejs_generated_variables.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/nodejs_runtime_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/nodejs_runtime_log.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/object_storage_access_details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/object_storage_access_details.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/object_storage_bucket_quota.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/object_storage_bucket_quota.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/object_storage_generated_env.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/object_storage_generated_env.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/object_storage_update_bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/object_storage_update_bucket.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/open_public_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/open_public_port.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/personal-access-tokens.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/personal-access-tokens.webp -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/pipeline_history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/pipeline_history.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/public_access_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/public_access_2.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/public_access_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/public_access_3.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/runtime_clear_build_cache.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/runtime_clear_build_cache.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/runtime_secret_variables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/runtime_secret_variables.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/scaling2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/scaling2.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/scaling3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/scaling3.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/scaling4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/scaling4.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/scaling5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/scaling5.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/scaling6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/scaling6.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/scaling7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/scaling7.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/scaling8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/scaling8.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/secret_env.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/secret_env.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/secret_variables.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/secret_variables.webp -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/shared_storage_autoscaling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/shared_storage_autoscaling.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/shared_storage_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/shared_storage_mode.png -------------------------------------------------------------------------------- /apps/docs/static/img/screenshots/ssh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/screenshots/ssh.png -------------------------------------------------------------------------------- /apps/docs/static/img/search-hit-arrow-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/docs/static/img/search-hit-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/docs/static/img/search-hit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/search-hit.png -------------------------------------------------------------------------------- /apps/docs/static/img/side-menu-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/side-menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/stardust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/img/stardust.png -------------------------------------------------------------------------------- /apps/docs/static/img/stripe-icon-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/stripe-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/terminal-icon-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /apps/docs/static/img/terminal-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /apps/docs/static/img/user-guide-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/img/user-guide.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/static/logo.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/docs/static/og.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/og.png -------------------------------------------------------------------------------- /apps/docs/static/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Allow: / 3 | 4 | Sitemap: https://docs.zerops.io/sitemap-docs.xml 5 | -------------------------------------------------------------------------------- /apps/docs/static/vids/containers.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/containers.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/cpu-scaling.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/cpu-scaling.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/database-scaling.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/database-scaling.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/ram-scaling.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/ram-scaling.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/routes.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/routes.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/bun.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/bun.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/deno.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/deno.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/dotnet.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/dotnet.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/elixir.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/elixir.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/gleam.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/gleam.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/golang.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/golang.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/java.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/java.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/mariadb.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/mariadb.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/nginx-static.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/nginx-static.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/nodejs.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/nodejs.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/object-storage.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/object-storage.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/postgres.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/postgres.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/python.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/python.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/rust.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/rust.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/shared-storage.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/shared-storage.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/services/static.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/services/static.webm -------------------------------------------------------------------------------- /apps/docs/static/vids/shared-storage-scaling.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/apps/docs/static/vids/shared-storage-scaling.webm -------------------------------------------------------------------------------- /apps/docs/tailwind.config.js: -------------------------------------------------------------------------------- 1 | import coreConfig from "tailwind" 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | module.exports = { 5 | ...coreConfig, 6 | // prefix: "tw-", 7 | corePlugins: { 8 | preflight: false, // disable Tailwind's reset 9 | }, 10 | content: [ 11 | ...coreConfig.content, 12 | "./src/**/*.{js,jsx,ts,tsx}", 13 | "./content/**/*.{mdx,md}", 14 | "!./content/references", 15 | "docusaurus.config.js", 16 | "sidebars.js", 17 | ], 18 | theme: { 19 | ...coreConfig.theme, 20 | extend: { 21 | ...coreConfig.theme.extend, 22 | screens: { 23 | ...coreConfig.theme.screens, 24 | xs: "576px", 25 | lg: "996px", 26 | xl: "1419px", 27 | xxl: "1440px", 28 | }, 29 | }, 30 | }, 31 | } 32 | -------------------------------------------------------------------------------- /apps/docs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tsconfig/docusaurus.json", 3 | "compilerOptions": { 4 | "baseUrl": ".", 5 | "paths": { 6 | "@site/*": ["./*"] 7 | } 8 | }, 9 | "include": [ 10 | "src/**/*", 11 | "docusaurus.config.js", 12 | "sidebars.js", 13 | "tailwind.config.js", 14 | "postcss.config.js", 15 | "content/**/*" 16 | ], 17 | "typeRoots": ["./node_modules/@types", "./src/types"] 18 | } 19 | -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeropsio/docs/709d0d612d4d7c185e7a7e245f9aacee798760f0/bun.lockb -------------------------------------------------------------------------------- /packages/docs-ui/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ['docs'], 4 | parserOptions: { 5 | project: true, 6 | tsconfigRootDir: __dirname, 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /packages/docs-ui/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | .turbo 3 | -------------------------------------------------------------------------------- /packages/docs-ui/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require("tailwind/postcss.config") 2 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Bordered/index.tsx: -------------------------------------------------------------------------------- 1 | import clsx from 'clsx'; 2 | import React from 'react'; 3 | 4 | export type BorderedProps = { 5 | wrapperClassName?: string; 6 | } & React.HTMLAttributes; 7 | 8 | export const Bordered = ({ wrapperClassName, children }: BorderedProps) => { 9 | return ( 10 | 18 | {children} 19 | 20 | ); 21 | }; 22 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/CardList/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Card, CardProps } from '@/components'; 3 | import clsx from 'clsx'; 4 | 5 | type CardListProps = { 6 | items: CardProps[]; 7 | itemsPerRow?: number; 8 | }; 9 | 10 | export const CardList = ({ items, itemsPerRow }: CardListProps) => { 11 | if (!itemsPerRow) { 12 | // if length of items is even, set to `2`, else set to `3` 13 | itemsPerRow = items.length === 1 ? 0 : items.length % 2 === 0 ? 2 : 3; 14 | } 15 | return ( 16 |
24 | {items.map((item, key) => ( 25 | 26 | ))} 27 |
28 | ); 29 | }; 30 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/DetailsList/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { Details, MarkdownContent } from '@/components'; 4 | 5 | type TroubleshootingSection = { 6 | title: string; 7 | content: React.ReactNode; 8 | }; 9 | 10 | type DetailsListProps = { 11 | sections: TroubleshootingSection[]; 12 | } & React.AllHTMLAttributes; 13 | 14 | export const DetailsList = ({ sections }: DetailsListProps) => { 15 | return ( 16 | <> 17 | {sections.map(({ title, content }, index) => ( 18 |
23 | {React.isValidElement(content) && content} 24 | {!React.isValidElement(content) && typeof content === 'string' && ( 25 | {content} 26 | )} 27 |
28 | ))} 29 | 30 | ); 31 | }; 32 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/EditButton/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Button } from '../..'; 3 | 4 | type EditButtonProps = { 5 | filePath: string; 6 | }; 7 | 8 | export const EditButton = ({ filePath }: EditButtonProps) => { 9 | return ( 10 | 15 | ); 16 | }; 17 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/ExpandableNotice/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Badge, LegacyLink, Tooltip } from '@/components'; 3 | 4 | export type ExpandableNoticeProps = { 5 | type: 'request' | 'method'; 6 | link: string; 7 | badgeContent?: React.ReactNode; 8 | badgeClassName?: string; 9 | }; 10 | 11 | export const ExpandableNotice = ({ 12 | type = 'request', 13 | link, 14 | badgeContent = 'expandable', 15 | badgeClassName, 16 | }: ExpandableNoticeProps) => { 17 | return ( 18 | 21 | If this {type} accepts an expand{' '} 22 | {type === 'request' ? 'parameter' : 'property or option'}, 23 | {/* TODO replace with Link once we move away from Docusaurus */} 24 |
this field can be 25 | expanded 26 | {' '} 27 | into an object. 28 | 29 | } 30 | clickable 31 | > 32 | 33 | {badgeContent} 34 | 35 |
36 | ); 37 | }; 38 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/HooksLoader/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import { usePageScrollManager } from '../../hooks'; 5 | 6 | type HooksLoaderProps = { 7 | options?: { 8 | pageScrollManager?: boolean; 9 | currentLearningPath?: boolean; 10 | }; 11 | children?: React.ReactNode; 12 | }; 13 | 14 | export const HooksLoader = ({ children, options = {} }: HooksLoaderProps) => { 15 | const { pageScrollManager } = options; 16 | // load any hooks that require providers to be loaded here. 17 | if (pageScrollManager) { 18 | usePageScrollManager(); 19 | } 20 | 21 | return <>{children}; 22 | }; 23 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Icons/QuestionMark/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { IconProps } from '@medusajs/icons/dist/types'; 3 | 4 | export const QuestionMarkIcon = (props: IconProps) => { 5 | return ( 6 | 14 | 21 | 22 | ); 23 | }; 24 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Icons/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './CircleDottedLine'; 2 | export * from './QuestionMark'; 3 | export * from './ThumbDown'; 4 | export * from './ThumbUp'; 5 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/InlineCode/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import clsx from 'clsx'; 5 | import { CopyButton } from '@/components'; 6 | 7 | export type InlineCodeProps = React.ComponentProps<'code'>; 8 | 9 | export const InlineCode = (props: InlineCodeProps) => { 10 | return ( 11 | 18 | 29 | 30 | ); 31 | }; 32 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/InlineIcon/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { IconProps } from '@medusajs/icons/dist/types'; 3 | import clsx from 'clsx'; 4 | 5 | type InlineIconProps = IconProps & { 6 | Icon: React.ComponentType; 7 | alt?: string; 8 | }; 9 | 10 | export const InlineIcon = ({ Icon, alt, ...props }: InlineIconProps) => { 11 | return ( 12 | 17 | ); 18 | }; 19 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/InlineThemeImage/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { ThemeImage, ThemeImageProps } from '../..'; 4 | 5 | export const InlineThemeImage = (props: ThemeImageProps) => { 6 | return ( 7 | 13 | ); 14 | }; 15 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Kbd/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | 4 | export type KbdProps = React.ComponentProps<'kbd'>; 5 | 6 | export const Kbd = ({ children, className, ...props }: KbdProps) => { 7 | return ( 8 | 20 | {children} 21 | 22 | ); 23 | }; 24 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Label/index.tsx: -------------------------------------------------------------------------------- 1 | import clsx from 'clsx'; 2 | import React from 'react'; 3 | 4 | export type LabelProps = { 5 | className?: string; 6 | } & React.HTMLAttributes; 7 | 8 | export const Label = ({ children, className }: LabelProps) => { 9 | return ( 10 | 16 | {children} 17 | 18 | ); 19 | }; 20 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/LegacyLink/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | 4 | export type LegacyLinkProps = { 5 | href?: string; 6 | children?: React.ReactNode; 7 | className?: string; 8 | } & React.AllHTMLAttributes; 9 | 10 | export const LegacyLink = ({ 11 | href, 12 | children, 13 | className, 14 | ...rest 15 | }: LegacyLinkProps) => { 16 | return ( 17 | 25 | {children} 26 | 27 | ); 28 | }; 29 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Link/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import NextLink from 'next/link'; 3 | import type { LinkProps as NextLinkProps } from 'next/link'; 4 | import clsx from 'clsx'; 5 | 6 | export type LinkProps = { 7 | href?: string; 8 | children?: React.ReactNode; 9 | className?: string; 10 | target?: string; 11 | rel?: string; 12 | } & Partial; 13 | 14 | export const Link = ({ href, children, className, ...rest }: LinkProps) => { 15 | if (href?.replace(/#.*$/, '').endsWith('page.mdx')) { 16 | href = href.replace('/page.mdx', ''); 17 | } 18 | return ( 19 | 27 | {children} 28 | 29 | ); 30 | }; 31 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Loading/Dots/index.tsx: -------------------------------------------------------------------------------- 1 | import clsx from 'clsx'; 2 | import React from 'react'; 3 | 4 | export type DotsLoadingProps = { 5 | className?: string; 6 | }; 7 | 8 | export const DotsLoading = ({ className }: DotsLoadingProps) => { 9 | return ( 10 | 11 | . 12 | . 13 | . 14 | 15 | ); 16 | }; 17 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Loading/Spinner/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { Spinner } from '@medusajs/icons'; 4 | import { IconProps } from '@medusajs/icons/dist/types'; 5 | 6 | export type SpinnerLoadingProps = { 7 | iconProps?: IconProps; 8 | }; 9 | 10 | export const SpinnerLoading = ({ iconProps }: SpinnerLoadingProps) => { 11 | return ( 12 | 13 | 17 | 18 | ); 19 | }; 20 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Loading/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | 4 | export type LoadingProps = { 5 | className?: string; 6 | barClassName?: string; 7 | count?: number; 8 | }; 9 | 10 | export const Loading = ({ 11 | className, 12 | count = 6, 13 | barClassName, 14 | }: LoadingProps) => { 15 | const getLoadingBars = () => { 16 | const bars = []; 17 | for (let i = 0; i < count; i++) { 18 | bars.push( 19 | 26 | ); 27 | } 28 | 29 | return bars; 30 | }; 31 | return ( 32 | 39 | {getLoadingBars()} 40 | Loading... 41 | 42 | ); 43 | }; 44 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Modal/Footer/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { Button, ButtonProps } from '@/components'; 4 | 5 | export type ModalFooterProps = { 6 | actions?: ButtonProps[]; 7 | children?: React.ReactNode; 8 | className?: string; 9 | }; 10 | 11 | export const ModalFooter = ({ 12 | actions, 13 | children, 14 | className, 15 | }: ModalFooterProps) => { 16 | return ( 17 |
25 | {actions?.map((action, index) =>
28 | ); 29 | }; 30 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Modal/Header/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { useModal } from '@/providers'; 4 | import { Button } from '@/components'; 5 | import { XMark } from '@medusajs/icons'; 6 | 7 | export type ModalHeaderProps = { 8 | title?: React.ReactNode; 9 | }; 10 | 11 | export const ModalHeader = ({ title }: ModalHeaderProps) => { 12 | const { closeModal } = useModal(); 13 | 14 | return ( 15 |
21 | {title} 22 | 29 |
30 | ); 31 | }; 32 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Navbar/ColorModeToggle/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import { NavbarIconButton, NavbarIconButtonProps } from '../IconButton'; 5 | import { useColorMode } from '@/providers'; 6 | import { Moon, Sun } from '@medusajs/icons'; 7 | 8 | export type NavbarColorModeToggleProps = { 9 | buttonProps?: NavbarIconButtonProps; 10 | }; 11 | 12 | export const NavbarColorModeToggle = ({ 13 | buttonProps, 14 | }: NavbarColorModeToggleProps) => { 15 | const { colorMode, toggleColorMode } = useColorMode(); 16 | 17 | return ( 18 | toggleColorMode()}> 19 | {colorMode === 'light' && } 20 | {colorMode === 'dark' && } 21 | 22 | ); 23 | }; 24 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Navbar/IconButton/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import { Button, ButtonProps } from '@/components'; 4 | 5 | export type NavbarIconButtonProps = ButtonProps; 6 | 7 | export const NavbarIconButton = ({ 8 | children, 9 | className, 10 | ...props 11 | }: NavbarIconButtonProps) => { 12 | return ( 13 | 23 | ); 24 | }; 25 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Navbar/Link/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import clsx from 'clsx'; 5 | import { Link, LinkProps } from '@/components'; 6 | 7 | export type NavbarLinkProps = { 8 | href: string; 9 | label: string; 10 | className?: string; 11 | activeValuePattern?: RegExp; 12 | isActive?: boolean; 13 | } & LinkProps; 14 | 15 | export const NavbarLink = ({ 16 | href, 17 | label, 18 | className, 19 | isActive, 20 | }: NavbarLinkProps) => { 21 | return ( 22 | 32 | {label} 33 | 34 | ); 35 | }; 36 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Navbar/Logo/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import { useColorMode } from '@/providers'; 5 | import Link from 'next/link'; 6 | import clsx from 'clsx'; 7 | 8 | export type NavbarLogoProps = { 9 | light: string; 10 | dark?: string; 11 | className?: string; 12 | imageClassName?: string; 13 | }; 14 | 15 | export const NavbarLogo = ({ 16 | light, 17 | dark, 18 | className, 19 | imageClassName, 20 | }: NavbarLogoProps) => { 21 | const { colorMode } = useColorMode(); 22 | 23 | return ( 24 | 25 | Medusa Logo 32 | 33 | ); 34 | }; 35 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Note/Types/checks.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { NoteProps } from '..'; 3 | import { NoteLayout } from '../Layout'; 4 | import { CheckCircleSolid } from '@medusajs/icons'; 5 | import clsx from 'clsx'; 6 | 7 | export const CheckNote = ({ 8 | title = 'Prerequisites', 9 | icon, 10 | ...props 11 | }: NoteProps) => { 12 | return ( 13 | 22 | ) 23 | } 24 | {...props} 25 | /> 26 | ); 27 | }; 28 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Note/Types/default.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { NoteProps } from '..'; 3 | import { NoteLayout } from '../Layout'; 4 | import { InformationCircleSolid } from '@medusajs/icons'; 5 | import clsx from 'clsx'; 6 | 7 | export const DefaultNote = ({ title = 'Note', icon, ...props }: NoteProps) => { 8 | return ( 9 | 18 | ) 19 | } 20 | {...props} 21 | /> 22 | ); 23 | }; 24 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Note/Types/error.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { NoteProps } from '..'; 3 | import { NoteLayout } from '../Layout'; 4 | import { XMark } from '@medusajs/icons'; 5 | import clsx from 'clsx'; 6 | 7 | export const ErrorNote = ({ title = 'Error', icon, ...props }: NoteProps) => { 8 | return ( 9 | 18 | ) 19 | } 20 | {...props} 21 | /> 22 | ); 23 | }; 24 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Note/Types/sucess.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { NoteProps } from '..'; 3 | import { NoteLayout } from '../Layout'; 4 | import { Check } from '@medusajs/icons'; 5 | import clsx from 'clsx'; 6 | 7 | export const SuccessNote = ({ 8 | title = 'Sucess', 9 | icon, 10 | ...props 11 | }: NoteProps) => { 12 | return ( 13 | 22 | ) 23 | } 24 | {...props} 25 | /> 26 | ); 27 | }; 28 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Note/Types/warning.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { NoteProps } from '..'; 3 | import { NoteLayout } from '../Layout'; 4 | import { ExclamationCircleSolid } from '@medusajs/icons'; 5 | import clsx from 'clsx'; 6 | 7 | export const WarningNote = ({ 8 | title = 'Warning', 9 | icon, 10 | ...props 11 | }: NoteProps) => { 12 | return ( 13 | 22 | ) 23 | } 24 | {...props} 25 | /> 26 | ); 27 | }; 28 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Note/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { WarningNote } from './Types/warning'; 3 | import { DefaultNote } from './Types/default'; 4 | import { SuccessNote } from './Types/sucess'; 5 | import { ErrorNote } from './Types/error'; 6 | import { CheckNote } from './Types/checks'; 7 | 8 | export type NoteProps = { 9 | type?: 'default' | 'warning' | 'success' | 'error' | 'check'; 10 | title?: string; 11 | children?: React.ReactNode; 12 | icon?: React.ReactNode; 13 | }; 14 | 15 | export const Note = ({ type = 'default', ...props }: NoteProps) => { 16 | switch (type) { 17 | case 'warning': 18 | return ; 19 | case 'success': 20 | return ; 21 | case 'error': 22 | return ; 23 | case 'check': 24 | return ; 25 | default: 26 | return ; 27 | } 28 | }; 29 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Pagination/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import { usePagination } from '../../providers'; 5 | import { Card } from '../Card'; 6 | import { ChevronLeft, ChevronRight } from '@medusajs/icons'; 7 | 8 | export const Pagination = () => { 9 | const { previousPage, nextPage } = usePagination(); 10 | 11 | return ( 12 |
13 | {previousPage && ( 14 | } 17 | showLinkIcon={false} 18 | href={previousPage.link} 19 | className="max-w-[45%] ml-0 mr-auto" 20 | /> 21 | )} 22 | {nextPage && ( 23 | } 26 | showLinkIcon={false} 27 | href={nextPage.link} 28 | className="max-w-[45%] mr-0 ml-auto" 29 | /> 30 | )} 31 |
32 | ); 33 | }; 34 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Search/EmptyQueryBoundary/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import { useInstantSearch } from 'react-instantsearch'; 5 | 6 | export type SearchEmptyQueryBoundaryProps = { 7 | children: React.ReactNode; 8 | fallback: React.ReactNode; 9 | }; 10 | 11 | export const SearchEmptyQueryBoundary = ({ 12 | children, 13 | fallback, 14 | }: SearchEmptyQueryBoundaryProps) => { 15 | const { indexUiState } = useInstantSearch(); 16 | 17 | if (!indexUiState.query) { 18 | return <>{fallback}; 19 | } 20 | 21 | return <>{children}; 22 | }; 23 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Search/Hits/GroupName/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | 4 | export type SearchHitGroupNameProps = { 5 | name: string; 6 | }; 7 | 8 | export const SearchHitGroupName = ({ name }: SearchHitGroupNameProps) => { 9 | return ( 10 | 17 | {name} 18 | 19 | ); 20 | }; 21 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Search/NoResults/index.tsx: -------------------------------------------------------------------------------- 1 | import { ExclamationCircleSolid } from '@medusajs/icons'; 2 | import clsx from 'clsx'; 3 | import React from 'react'; 4 | 5 | export const SearchNoResult = () => { 6 | return ( 7 |
13 | 14 | 15 | No results found. Try changing selected filters. 16 | 17 |
18 | ); 19 | }; 20 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Search/Suggestions/Item/index.tsx: -------------------------------------------------------------------------------- 1 | import clsx from 'clsx'; 2 | import React from 'react'; 3 | 4 | export type SearchSuggestionItemType = { 5 | onClick: () => void; 6 | } & React.AllHTMLAttributes; 7 | 8 | export const SearchSuggestionItem = ({ 9 | children, 10 | onClick, 11 | className, 12 | ...rest 13 | }: SearchSuggestionItemType) => { 14 | return ( 15 |
29 | {children} 30 |
31 | ); 32 | }; 33 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Select/index.ts: -------------------------------------------------------------------------------- 1 | import type { OptionType, SelectOptions } from '@/hooks'; 2 | 3 | export type SelectProps = { 4 | options: OptionType[]; 5 | multiple?: boolean; 6 | addAll?: boolean; 7 | showClearButton?: boolean; 8 | } & SelectOptions & 9 | React.ComponentProps<'input'>; 10 | 11 | export * from './Badge'; 12 | export * from './Dropdown'; 13 | export * from './Input'; 14 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Sidebar/Back/index.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import { useSidebar } from '../../../providers'; 5 | import clsx from 'clsx'; 6 | import { ArrowUturnLeft } from '@medusajs/icons'; 7 | 8 | export const SidebarBack = () => { 9 | const { goBack } = useSidebar(); 10 | 11 | return ( 12 |
22 | 23 | Back 24 |
25 | ); 26 | }; 27 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/Sidebar/Title/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Link from 'next/link'; 3 | import clsx from 'clsx'; 4 | import { SidebarItemType } from 'types'; 5 | 6 | type SidebarTitleProps = { 7 | item: SidebarItemType; 8 | }; 9 | 10 | export const SidebarTitle = ({ item }: SidebarTitleProps) => { 11 | return ( 12 | 23 | {item.childSidebarTitle || item.title} 24 | {item.additionalElms} 25 | 26 | ); 27 | }; 28 | -------------------------------------------------------------------------------- /packages/docs-ui/src/components/TextArea/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | 4 | export type TextAreaProps = { 5 | className?: string; 6 | } & React.DetailedHTMLProps< 7 | React.TextareaHTMLAttributes, 8 | HTMLTextAreaElement 9 | >; 10 | 11 | export const TextArea = (props: TextAreaProps) => { 12 | return ( 13 |