From 0a37675f0ee0a2f000e5300c84173cf6546fb10f Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Fri, 18 Oct 2024 11:24:34 +0300 Subject: [PATCH] docs: add routing page (#9550) - Add a new homepage to `book` project for the routing page - Move all main doc pages to be under `/v2/learn` (and added redirects + fixed links across docs) - Other: add admin components to resources dropdown + fixes to search on mobile. Closes DX-955 Preview: https://docs-v2-git-docs-router-page-medusajs.vercel.app/v2 --- www/apps/api-reference/app/layout.tsx | 27 +- .../components/DownloadFull/index.tsx | 6 +- .../app/{not-found.mdx => _not-found.mdx} | 0 www/apps/book/app/fonts.ts | 12 + www/apps/book/app/globals.css | 6 +- www/apps/book/app/layout.tsx | 31 +- .../admin/constraints/page.mdx | 0 .../advanced-development/admin/page.mdx | 0 .../advanced-development/admin/tips/page.mdx | 0 .../admin/ui-routes/page.mdx | 0 .../admin/widgets/page.mdx | 0 .../api-routes/additional-data/page.mdx | 0 .../api-routes/cors/page.mdx | 0 .../api-routes/errors/page.mdx | 0 .../api-routes/http-methods/page.mdx | 0 .../api-routes/middlewares/page.mdx | 0 .../advanced-development/api-routes/page.mdx | 0 .../api-routes/parameters/page.mdx | 0 .../api-routes/protected-routes/page.mdx | 0 .../api-routes/responses/page.mdx | 0 .../api-routes/validation/page.mdx | 0 .../architectural-modules/page.mdx | 0 .../architecture/overview/page.mdx | 0 .../custom-cli-scripts/page.mdx | 0 .../custom-cli-scripts/seed-data/page.mdx | 0 .../data-models/configure-properties/page.mdx | 0 .../data-models/default-properties/page.mdx | 0 .../data-models/index/page.mdx | 0 .../data-models/infer-type/page.mdx | 0 .../data-models/manage-relationships/page.mdx | 0 .../advanced-development/data-models/page.mdx | 0 .../data-models/primary-key/page.mdx | 0 .../data-models/property-types/page.mdx | 0 .../data-models/relationships/page.mdx | 0 .../data-models/searchable-property/page.mdx | 0 .../data-models/write-migration/page.mdx | 0 .../data-payload/page.mdx | 0 .../emit-event/page.mdx | 0 .../module-links/custom-columns/page.mdx | 0 .../module-links/directions/page.mdx | 0 .../module-links/page.mdx | 0 .../module-links/query/page.mdx | 0 .../module-links/remote-link/page.mdx | 0 .../modules/container/page.mdx | 0 .../modules/db-operations/page.mdx | 0 .../modules/isolation/page.mdx | 0 .../modules/multiple-services/page.mdx | 0 .../modules/options/page.mdx | 0 .../advanced-development/modules/page.mdx | 0 .../modules/service-constraints/page.mdx | 0 .../modules/service-factory/page.mdx | 0 .../{ => learn}/advanced-development/page.mdx | 0 .../scheduled-jobs/execution-number/page.mdx | 0 .../workflows/access-workflow-errors/page.mdx | 0 .../workflows/add-workflow-hook/page.mdx | 0 .../workflows/compensation-function/page.mdx | 0 .../workflows/conditions/page.mdx | 0 .../constructor-constraints/page.mdx | 0 .../execute-another-workflow/page.mdx | 0 .../workflows/long-running-workflow/page.mdx | 0 .../advanced-development/workflows/page.mdx | 0 .../workflows/parallel-steps/page.mdx | 0 .../workflows/retry-failed-steps/page.mdx | 0 .../workflows/variable-manipulation/page.mdx | 0 .../workflows/workflow-hooks/page.mdx | 0 .../workflows/workflow-timeout/page.mdx | 0 .../basics/admin-customizations/page.mdx | 0 .../{ => learn}/basics/api-routes/page.mdx | 0 .../basics/commerce-modules/page.mdx | 0 .../basics/events-and-subscribers/page.mdx | 0 .../app/{ => learn}/basics/loaders/page.mdx | 0 .../basics/medusa-container/page.mdx | 0 .../modules-directory-structure/page.mdx | 0 .../app/{ => learn}/basics/modules/page.mdx | 0 www/apps/book/app/{ => learn}/basics/page.mdx | 0 .../basics/project-directories-files/page.mdx | 0 .../basics/scheduled-jobs/page.mdx | 0 .../app/{ => learn}/basics/workflows/page.mdx | 0 .../custom-features/api-route/page.mdx | 0 .../custom-features/module/page.mdx | 0 .../customization/custom-features/page.mdx | 0 .../custom-features/workflow/page.mdx | 0 .../customization/customize-admin/page.mdx | 0 .../customize-admin/route/page.mdx | 0 .../customize-admin/widget/page.mdx | 0 .../extend-models/create-links/page.mdx | 0 .../extend-models/define-link/page.mdx | 0 .../extend-create-product/page.mdx | 0 .../customization/extend-models/page.mdx | 0 .../query-linked-records/page.mdx | 0 .../integrate-systems/handle-event/page.mdx | 0 .../customization/integrate-systems/page.mdx | 0 .../integrate-systems/schedule-task/page.mdx | 0 .../integrate-systems/service/page.mdx | 0 .../customization/next-steps/page.mdx | 0 .../app/{ => learn}/customization/page.mdx | 0 .../instrumentation/page.mdx | 0 .../debugging-and-testing/logging/page.mdx | 0 .../debugging-and-testing/page.mdx | 0 .../integration-tests/api-routes/page.mdx | 0 .../testing-tools/integration-tests/page.mdx | 0 .../integration-tests/workflows/page.mdx | 0 .../modules-tests/module-example/page.mdx | 0 .../testing-tools/modules-tests/page.mdx | 0 .../testing-tools/page.mdx | 0 .../book/app/{ => learn}/deployment/page.mdx | 0 .../{ => learn}/first-customizations/page.mdx | 0 www/apps/book/app/learn/layout.tsx | 24 ++ .../more-resources/cheatsheet/page.mdx | 0 .../app/{ => learn}/more-resources/page.mdx | 0 www/apps/book/app/{ => learn}/page.mdx | 0 .../nextjs-starter/page.mdx | 0 .../storefront-development/page.mdx | 0 www/apps/book/app/not-found.tsx | 23 ++ www/apps/book/app/page.tsx | 49 +++ .../components/Homepage/CodeTabs/index.tsx | 379 ++++++++++++++++++ .../book/components/Homepage/Footer/index.tsx | 24 ++ .../Homepage/LinksSection/index.tsx | 95 +++++ .../Homepage/ModulesSection/index.tsx | 203 ++++++++++ .../Homepage/RecipesSection/index.tsx | 90 +++++ .../components/Homepage/TopSection/index.tsx | 76 ++++ www/apps/book/config/index.ts | 2 +- www/apps/book/generated/edit-dates.mjs | 228 +++++------ www/apps/book/next.config.mjs | 37 +- www/apps/book/package.json | 1 + www/apps/book/public/images/api-key-icon.png | Bin 0 -> 10784 bytes www/apps/book/public/images/auth-icon.png | Bin 0 -> 10547 bytes .../book/public/images/bg-stripes-dark.png | Bin 0 -> 17237 bytes www/apps/book/public/images/bg-stripes.png | Bin 0 -> 17084 bytes www/apps/book/public/images/cart-icon.png | Bin 0 -> 10707 bytes www/apps/book/public/images/currency-icon.png | Bin 0 -> 12364 bytes www/apps/book/public/images/customer-icon.png | Bin 0 -> 11587 bytes .../book/public/images/fulfillment-icon.png | Bin 0 -> 11950 bytes .../public/images/get-started-card-dark.png | Bin 0 -> 5660 bytes .../public/images/get-started-card-md.png | Bin 0 -> 195685 bytes .../book/public/images/get-started-card.png | Bin 0 -> 5913 bytes .../book/public/images/inventory-icon.png | Bin 0 -> 12258 bytes www/apps/book/public/images/order-icon.png | Bin 0 -> 12580 bytes www/apps/book/public/images/payment-icon.png | Bin 0 -> 10235 bytes www/apps/book/public/images/pricing-icon.png | Bin 0 -> 11097 bytes www/apps/book/public/images/product-icon.png | Bin 0 -> 11030 bytes .../book/public/images/promotion-icon.png | Bin 0 -> 10099 bytes www/apps/book/public/images/region-icon.png | Bin 0 -> 11209 bytes .../book/public/images/sales-channel-icon.png | Bin 0 -> 12155 bytes .../public/images/stock-location-icon.png | Bin 0 -> 14123 bytes www/apps/book/public/images/tax-icon.png | Bin 0 -> 12022 bytes www/apps/book/public/images/user-icon.png | Bin 0 -> 10713 bytes www/apps/book/sidebar.mjs | 212 +++++----- www/apps/book/tailwind.config.js | 2 + www/apps/book/utils/number-sidebar-items.mjs | 3 +- .../components/forms/page.mdx | 4 +- .../auth/create-actor-type/page.mdx | 2 +- .../app/commerce-modules/cart/extend/page.mdx | 22 +- .../commerce-modules/customer/extend/page.mdx | 22 +- .../product/guides/price/page.mdx | 2 +- www/apps/resources/app/globals.css | 9 +- www/apps/resources/app/layout.tsx | 25 +- .../app/medusa-cli/commands/exec/page.mdx | 2 +- www/apps/resources/app/recipes/b2b/page.mdx | 16 +- .../app/recipes/commerce-automation/page.mdx | 24 +- .../examples/standard/page.mdx | 30 +- .../app/recipes/digital-products/page.mdx | 20 +- .../integrate-ecommerce-stack/page.mdx | 8 +- .../examples/restaurant-delivery/page.mdx | 26 +- .../marketplace/examples/vendors/page.mdx | 26 +- .../app/recipes/marketplace/page.mdx | 14 +- .../app/recipes/multi-region-store/page.mdx | 2 +- .../app/recipes/omnichannel/page.mdx | 6 +- www/apps/resources/app/recipes/oms/page.mdx | 10 +- .../recipes/personalized-products/page.mdx | 8 +- www/apps/resources/app/recipes/pos/page.mdx | 4 +- .../subscriptions/examples/standard/page.mdx | 20 +- .../app/recipes/subscriptions/page.mdx | 14 +- .../methods/list/page.mdx | 2 +- .../methods/listAndCount/page.mdx | 2 +- .../methods/retrieve/page.mdx | 2 +- .../app/service-factory-reference/page.mdx | 2 +- .../price/examples/tax-price/page.mdx | 4 +- .../medusa-admin/no-widget-route/page.mdx | 4 +- www/apps/ui/src/app/layout.tsx | 23 +- www/apps/user-guide/app/layout.tsx | 25 +- www/packages/docs-ui/package.json | 2 +- .../src/components/BorderedIcon/index.tsx | 7 +- .../src/components/Breadcrumbs/index.tsx | 2 +- .../components/Card/Layout/Default/index.tsx | 13 +- .../components/Card/Layout/Large/index.tsx | 19 +- .../src/components/Card/Layout/Mini/index.tsx | 97 +++++ .../docs-ui/src/components/Card/index.tsx | 9 +- .../src/components/CodeBlock/Line/index.tsx | 38 +- .../src/components/CodeBlock/index.tsx | 133 ++++-- .../src/components/EditButton/index.tsx | 3 +- .../docs-ui/src/components/Feedback/index.tsx | 14 +- .../src/components/IconHeadline/index.tsx | 15 + .../src/components/Icons/Book/index.tsx | 63 +++ .../Icons/CalendarRefresh/index.tsx | 70 ++++ .../src/components/Icons/ChefHat/index.tsx | 65 +++ .../components/Icons/ImageBinary/index.tsx | 69 ++++ .../components/Icons/PuzzleColored/index.tsx | 35 ++ .../src/components/Icons/ScrollText/index.tsx | 68 ++++ .../src/components/Icons/Shop/index.tsx | 68 ++++ .../Icons/WindowPaintbrush/index.tsx | 57 +++ .../docs-ui/src/components/Icons/index.tsx | 8 + .../docs-ui/src/components/Link/index.tsx | 14 +- .../components/MainNav/DesktopMenu/index.tsx | 99 +++-- .../MainNav/Items/Dropdown/index.tsx | 32 +- .../src/components/MainNav/Items/index.tsx | 9 +- .../docs-ui/src/components/MainNav/index.tsx | 30 +- .../components/Search/ModalOpener/index.tsx | 2 +- .../docs-ui/src/components/Search/index.tsx | 18 +- .../components/Sidebar/Item/Link/index.tsx | 9 +- .../src/components/Sidebar/Top/index.tsx | 11 +- .../docs-ui/src/components/Sidebar/index.tsx | 24 +- .../src/components/VerticalCodeTabs/index.tsx | 105 +++++ www/packages/docs-ui/src/components/index.ts | 2 + www/packages/docs-ui/src/constants.tsx | 7 +- www/packages/docs-ui/src/layouts/barebone.tsx | 19 + www/packages/docs-ui/src/layouts/index.ts | 1 + www/packages/docs-ui/src/layouts/root.tsx | 51 ++- .../docs-ui/src/providers/Search/index.tsx | 2 +- .../docs-ui/src/providers/Sidebar/index.tsx | 9 + www/packages/tailwind/base.tailwind.config.js | 19 +- www/packages/tailwind/theme-presets.js | 5 +- www/yarn.lock | 12 +- 223 files changed, 2549 insertions(+), 696 deletions(-) rename www/apps/book/app/{not-found.mdx => _not-found.mdx} (100%) create mode 100644 www/apps/book/app/fonts.ts rename www/apps/book/app/{ => learn}/advanced-development/admin/constraints/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/admin/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/admin/tips/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/admin/ui-routes/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/admin/widgets/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/additional-data/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/cors/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/errors/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/http-methods/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/middlewares/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/parameters/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/protected-routes/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/responses/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/api-routes/validation/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/architecture/architectural-modules/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/architecture/overview/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/custom-cli-scripts/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/custom-cli-scripts/seed-data/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/configure-properties/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/default-properties/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/index/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/infer-type/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/manage-relationships/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/primary-key/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/property-types/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/relationships/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/searchable-property/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/data-models/write-migration/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/events-and-subscribers/data-payload/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/events-and-subscribers/emit-event/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/module-links/custom-columns/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/module-links/directions/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/module-links/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/module-links/query/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/module-links/remote-link/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/modules/container/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/modules/db-operations/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/modules/isolation/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/modules/multiple-services/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/modules/options/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/modules/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/modules/service-constraints/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/modules/service-factory/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/scheduled-jobs/execution-number/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/access-workflow-errors/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/add-workflow-hook/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/compensation-function/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/conditions/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/constructor-constraints/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/execute-another-workflow/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/long-running-workflow/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/parallel-steps/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/retry-failed-steps/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/variable-manipulation/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/workflow-hooks/page.mdx (100%) rename www/apps/book/app/{ => learn}/advanced-development/workflows/workflow-timeout/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/admin-customizations/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/api-routes/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/commerce-modules/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/events-and-subscribers/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/loaders/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/medusa-container/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/modules-directory-structure/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/modules/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/project-directories-files/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/scheduled-jobs/page.mdx (100%) rename www/apps/book/app/{ => learn}/basics/workflows/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/custom-features/api-route/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/custom-features/module/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/custom-features/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/custom-features/workflow/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/customize-admin/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/customize-admin/route/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/customize-admin/widget/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/extend-models/create-links/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/extend-models/define-link/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/extend-models/extend-create-product/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/extend-models/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/extend-models/query-linked-records/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/integrate-systems/handle-event/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/integrate-systems/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/integrate-systems/schedule-task/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/integrate-systems/service/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/next-steps/page.mdx (100%) rename www/apps/book/app/{ => learn}/customization/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/instrumentation/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/logging/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/testing-tools/integration-tests/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/testing-tools/modules-tests/page.mdx (100%) rename www/apps/book/app/{ => learn}/debugging-and-testing/testing-tools/page.mdx (100%) rename www/apps/book/app/{ => learn}/deployment/page.mdx (100%) rename www/apps/book/app/{ => learn}/first-customizations/page.mdx (100%) create mode 100644 www/apps/book/app/learn/layout.tsx rename www/apps/book/app/{ => learn}/more-resources/cheatsheet/page.mdx (100%) rename www/apps/book/app/{ => learn}/more-resources/page.mdx (100%) rename www/apps/book/app/{ => learn}/page.mdx (100%) rename www/apps/book/app/{ => learn}/storefront-development/nextjs-starter/page.mdx (100%) rename www/apps/book/app/{ => learn}/storefront-development/page.mdx (100%) create mode 100644 www/apps/book/app/not-found.tsx create mode 100644 www/apps/book/app/page.tsx create mode 100644 www/apps/book/components/Homepage/CodeTabs/index.tsx create mode 100644 www/apps/book/components/Homepage/Footer/index.tsx create mode 100644 www/apps/book/components/Homepage/LinksSection/index.tsx create mode 100644 www/apps/book/components/Homepage/ModulesSection/index.tsx create mode 100644 www/apps/book/components/Homepage/RecipesSection/index.tsx create mode 100644 www/apps/book/components/Homepage/TopSection/index.tsx create mode 100644 www/apps/book/public/images/api-key-icon.png create mode 100644 www/apps/book/public/images/auth-icon.png create mode 100644 www/apps/book/public/images/bg-stripes-dark.png create mode 100644 www/apps/book/public/images/bg-stripes.png create mode 100644 www/apps/book/public/images/cart-icon.png create mode 100644 www/apps/book/public/images/currency-icon.png create mode 100644 www/apps/book/public/images/customer-icon.png create mode 100644 www/apps/book/public/images/fulfillment-icon.png create mode 100644 www/apps/book/public/images/get-started-card-dark.png create mode 100644 www/apps/book/public/images/get-started-card-md.png create mode 100644 www/apps/book/public/images/get-started-card.png create mode 100644 www/apps/book/public/images/inventory-icon.png create mode 100644 www/apps/book/public/images/order-icon.png create mode 100644 www/apps/book/public/images/payment-icon.png create mode 100644 www/apps/book/public/images/pricing-icon.png create mode 100644 www/apps/book/public/images/product-icon.png create mode 100644 www/apps/book/public/images/promotion-icon.png create mode 100644 www/apps/book/public/images/region-icon.png create mode 100644 www/apps/book/public/images/sales-channel-icon.png create mode 100644 www/apps/book/public/images/stock-location-icon.png create mode 100644 www/apps/book/public/images/tax-icon.png create mode 100644 www/apps/book/public/images/user-icon.png create mode 100644 www/packages/docs-ui/src/components/Card/Layout/Mini/index.tsx create mode 100644 www/packages/docs-ui/src/components/IconHeadline/index.tsx create mode 100644 www/packages/docs-ui/src/components/Icons/Book/index.tsx create mode 100644 www/packages/docs-ui/src/components/Icons/CalendarRefresh/index.tsx create mode 100644 www/packages/docs-ui/src/components/Icons/ChefHat/index.tsx create mode 100644 www/packages/docs-ui/src/components/Icons/ImageBinary/index.tsx create mode 100644 www/packages/docs-ui/src/components/Icons/PuzzleColored/index.tsx create mode 100644 www/packages/docs-ui/src/components/Icons/ScrollText/index.tsx create mode 100644 www/packages/docs-ui/src/components/Icons/Shop/index.tsx create mode 100644 www/packages/docs-ui/src/components/Icons/WindowPaintbrush/index.tsx create mode 100644 www/packages/docs-ui/src/components/VerticalCodeTabs/index.tsx create mode 100644 www/packages/docs-ui/src/layouts/barebone.tsx diff --git a/www/apps/api-reference/app/layout.tsx b/www/apps/api-reference/app/layout.tsx index 1aaad14356..e66e474383 100644 --- a/www/apps/api-reference/app/layout.tsx +++ b/www/apps/api-reference/app/layout.tsx @@ -1,6 +1,6 @@ import "./globals.css" import Providers from "../providers" -import { WideLayout } from "docs-ui" +import { BareboneLayout, WideLayout } from "docs-ui" import { Inter, Roboto_Mono } from "next/font/google" import clsx from "clsx" @@ -26,17 +26,18 @@ export default function RootLayout({ children: React.ReactNode }) { return ( - - {children} - + + + {children} + + ) } diff --git a/www/apps/api-reference/components/DownloadFull/index.tsx b/www/apps/api-reference/components/DownloadFull/index.tsx index d60c6d42b4..5504cf398b 100644 --- a/www/apps/api-reference/components/DownloadFull/index.tsx +++ b/www/apps/api-reference/components/DownloadFull/index.tsx @@ -9,11 +9,7 @@ const DownloadFull = () => { return ( diff --git a/www/apps/book/app/not-found.mdx b/www/apps/book/app/_not-found.mdx similarity index 100% rename from www/apps/book/app/not-found.mdx rename to www/apps/book/app/_not-found.mdx diff --git a/www/apps/book/app/fonts.ts b/www/apps/book/app/fonts.ts new file mode 100644 index 0000000000..e6c4972f38 --- /dev/null +++ b/www/apps/book/app/fonts.ts @@ -0,0 +1,12 @@ +import { Inter, Roboto_Mono } from "next/font/google" + +export const inter = Inter({ + subsets: ["latin"], + variable: "--font-inter", + weight: ["400", "500"], +}) + +export const robotoMono = Roboto_Mono({ + subsets: ["latin"], + variable: "--font-roboto-mono", +}) diff --git a/www/apps/book/app/globals.css b/www/apps/book/app/globals.css index abdd9847fb..4f4a832011 100644 --- a/www/apps/book/app/globals.css +++ b/www/apps/book/app/globals.css @@ -16,10 +16,14 @@ @apply bg-medusa-bg-highlight; } - * { + *:not(.code-block-elm) { scrollbar-color: var(--docs-border-base) var(--docs-bg-base); } + .code-block-elm { + scrollbar-color: var(--docs-contrast-border-base) transparent; + } + aside * { scrollbar-color: var(--docs-border-base) var(--docs-bg-subtle); } diff --git a/www/apps/book/app/layout.tsx b/www/apps/book/app/layout.tsx index 13c157f552..ffb3ac9641 100644 --- a/www/apps/book/app/layout.tsx +++ b/www/apps/book/app/layout.tsx @@ -1,12 +1,9 @@ import type { Metadata } from "next" -import { Inter, Roboto_Mono } from "next/font/google" -import Providers from "@/providers" import "./globals.css" -import { TightLayout } from "docs-ui" import { config } from "@/config" +import { BareboneLayout } from "docs-ui" +import { inter, robotoMono } from "./fonts" import clsx from "clsx" -import Feedback from "@/components/Feedback" -import EditButton from "@/components/EditButton" export const metadata: Metadata = { title: { @@ -19,34 +16,14 @@ export const metadata: Metadata = { ), } -export const inter = Inter({ - subsets: ["latin"], - variable: "--font-inter", - weight: ["400", "500"], -}) - -export const robotoMono = Roboto_Mono({ - subsets: ["latin"], - variable: "--font-roboto-mono", -}) - export default function RootLayout({ children, }: { children: React.ReactNode }) { return ( - } - editComponent={} - > + {children} - + ) } diff --git a/www/apps/book/app/advanced-development/admin/constraints/page.mdx b/www/apps/book/app/learn/advanced-development/admin/constraints/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/admin/constraints/page.mdx rename to www/apps/book/app/learn/advanced-development/admin/constraints/page.mdx diff --git a/www/apps/book/app/advanced-development/admin/page.mdx b/www/apps/book/app/learn/advanced-development/admin/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/admin/page.mdx rename to www/apps/book/app/learn/advanced-development/admin/page.mdx diff --git a/www/apps/book/app/advanced-development/admin/tips/page.mdx b/www/apps/book/app/learn/advanced-development/admin/tips/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/admin/tips/page.mdx rename to www/apps/book/app/learn/advanced-development/admin/tips/page.mdx diff --git a/www/apps/book/app/advanced-development/admin/ui-routes/page.mdx b/www/apps/book/app/learn/advanced-development/admin/ui-routes/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/admin/ui-routes/page.mdx rename to www/apps/book/app/learn/advanced-development/admin/ui-routes/page.mdx diff --git a/www/apps/book/app/advanced-development/admin/widgets/page.mdx b/www/apps/book/app/learn/advanced-development/admin/widgets/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/admin/widgets/page.mdx rename to www/apps/book/app/learn/advanced-development/admin/widgets/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/additional-data/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/additional-data/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/additional-data/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/additional-data/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/cors/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/cors/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/cors/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/cors/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/errors/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/errors/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/errors/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/errors/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/http-methods/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/http-methods/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/http-methods/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/http-methods/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/middlewares/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/middlewares/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/middlewares/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/middlewares/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/parameters/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/parameters/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/parameters/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/parameters/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/protected-routes/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/protected-routes/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/protected-routes/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/protected-routes/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/responses/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/responses/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/responses/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/responses/page.mdx diff --git a/www/apps/book/app/advanced-development/api-routes/validation/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/validation/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/api-routes/validation/page.mdx rename to www/apps/book/app/learn/advanced-development/api-routes/validation/page.mdx diff --git a/www/apps/book/app/advanced-development/architecture/architectural-modules/page.mdx b/www/apps/book/app/learn/advanced-development/architecture/architectural-modules/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/architecture/architectural-modules/page.mdx rename to www/apps/book/app/learn/advanced-development/architecture/architectural-modules/page.mdx diff --git a/www/apps/book/app/advanced-development/architecture/overview/page.mdx b/www/apps/book/app/learn/advanced-development/architecture/overview/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/architecture/overview/page.mdx rename to www/apps/book/app/learn/advanced-development/architecture/overview/page.mdx diff --git a/www/apps/book/app/advanced-development/custom-cli-scripts/page.mdx b/www/apps/book/app/learn/advanced-development/custom-cli-scripts/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/custom-cli-scripts/page.mdx rename to www/apps/book/app/learn/advanced-development/custom-cli-scripts/page.mdx diff --git a/www/apps/book/app/advanced-development/custom-cli-scripts/seed-data/page.mdx b/www/apps/book/app/learn/advanced-development/custom-cli-scripts/seed-data/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/custom-cli-scripts/seed-data/page.mdx rename to www/apps/book/app/learn/advanced-development/custom-cli-scripts/seed-data/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/configure-properties/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/configure-properties/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/configure-properties/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/configure-properties/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/default-properties/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/default-properties/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/default-properties/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/default-properties/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/index/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/index/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/index/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/index/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/infer-type/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/infer-type/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/infer-type/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/infer-type/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/manage-relationships/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/manage-relationships/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/manage-relationships/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/manage-relationships/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/primary-key/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/primary-key/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/primary-key/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/primary-key/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/property-types/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/property-types/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/property-types/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/property-types/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/relationships/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/relationships/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/relationships/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/relationships/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/searchable-property/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/searchable-property/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/searchable-property/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/searchable-property/page.mdx diff --git a/www/apps/book/app/advanced-development/data-models/write-migration/page.mdx b/www/apps/book/app/learn/advanced-development/data-models/write-migration/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/data-models/write-migration/page.mdx rename to www/apps/book/app/learn/advanced-development/data-models/write-migration/page.mdx diff --git a/www/apps/book/app/advanced-development/events-and-subscribers/data-payload/page.mdx b/www/apps/book/app/learn/advanced-development/events-and-subscribers/data-payload/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/events-and-subscribers/data-payload/page.mdx rename to www/apps/book/app/learn/advanced-development/events-and-subscribers/data-payload/page.mdx diff --git a/www/apps/book/app/advanced-development/events-and-subscribers/emit-event/page.mdx b/www/apps/book/app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/events-and-subscribers/emit-event/page.mdx rename to www/apps/book/app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx diff --git a/www/apps/book/app/advanced-development/module-links/custom-columns/page.mdx b/www/apps/book/app/learn/advanced-development/module-links/custom-columns/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/module-links/custom-columns/page.mdx rename to www/apps/book/app/learn/advanced-development/module-links/custom-columns/page.mdx diff --git a/www/apps/book/app/advanced-development/module-links/directions/page.mdx b/www/apps/book/app/learn/advanced-development/module-links/directions/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/module-links/directions/page.mdx rename to www/apps/book/app/learn/advanced-development/module-links/directions/page.mdx diff --git a/www/apps/book/app/advanced-development/module-links/page.mdx b/www/apps/book/app/learn/advanced-development/module-links/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/module-links/page.mdx rename to www/apps/book/app/learn/advanced-development/module-links/page.mdx diff --git a/www/apps/book/app/advanced-development/module-links/query/page.mdx b/www/apps/book/app/learn/advanced-development/module-links/query/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/module-links/query/page.mdx rename to www/apps/book/app/learn/advanced-development/module-links/query/page.mdx diff --git a/www/apps/book/app/advanced-development/module-links/remote-link/page.mdx b/www/apps/book/app/learn/advanced-development/module-links/remote-link/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/module-links/remote-link/page.mdx rename to www/apps/book/app/learn/advanced-development/module-links/remote-link/page.mdx diff --git a/www/apps/book/app/advanced-development/modules/container/page.mdx b/www/apps/book/app/learn/advanced-development/modules/container/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/modules/container/page.mdx rename to www/apps/book/app/learn/advanced-development/modules/container/page.mdx diff --git a/www/apps/book/app/advanced-development/modules/db-operations/page.mdx b/www/apps/book/app/learn/advanced-development/modules/db-operations/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/modules/db-operations/page.mdx rename to www/apps/book/app/learn/advanced-development/modules/db-operations/page.mdx diff --git a/www/apps/book/app/advanced-development/modules/isolation/page.mdx b/www/apps/book/app/learn/advanced-development/modules/isolation/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/modules/isolation/page.mdx rename to www/apps/book/app/learn/advanced-development/modules/isolation/page.mdx diff --git a/www/apps/book/app/advanced-development/modules/multiple-services/page.mdx b/www/apps/book/app/learn/advanced-development/modules/multiple-services/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/modules/multiple-services/page.mdx rename to www/apps/book/app/learn/advanced-development/modules/multiple-services/page.mdx diff --git a/www/apps/book/app/advanced-development/modules/options/page.mdx b/www/apps/book/app/learn/advanced-development/modules/options/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/modules/options/page.mdx rename to www/apps/book/app/learn/advanced-development/modules/options/page.mdx diff --git a/www/apps/book/app/advanced-development/modules/page.mdx b/www/apps/book/app/learn/advanced-development/modules/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/modules/page.mdx rename to www/apps/book/app/learn/advanced-development/modules/page.mdx diff --git a/www/apps/book/app/advanced-development/modules/service-constraints/page.mdx b/www/apps/book/app/learn/advanced-development/modules/service-constraints/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/modules/service-constraints/page.mdx rename to www/apps/book/app/learn/advanced-development/modules/service-constraints/page.mdx diff --git a/www/apps/book/app/advanced-development/modules/service-factory/page.mdx b/www/apps/book/app/learn/advanced-development/modules/service-factory/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/modules/service-factory/page.mdx rename to www/apps/book/app/learn/advanced-development/modules/service-factory/page.mdx diff --git a/www/apps/book/app/advanced-development/page.mdx b/www/apps/book/app/learn/advanced-development/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/page.mdx rename to www/apps/book/app/learn/advanced-development/page.mdx diff --git a/www/apps/book/app/advanced-development/scheduled-jobs/execution-number/page.mdx b/www/apps/book/app/learn/advanced-development/scheduled-jobs/execution-number/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/scheduled-jobs/execution-number/page.mdx rename to www/apps/book/app/learn/advanced-development/scheduled-jobs/execution-number/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/access-workflow-errors/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/access-workflow-errors/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/access-workflow-errors/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/access-workflow-errors/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/add-workflow-hook/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/add-workflow-hook/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/add-workflow-hook/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/add-workflow-hook/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/compensation-function/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/compensation-function/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/compensation-function/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/compensation-function/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/conditions/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/conditions/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/conditions/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/conditions/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/constructor-constraints/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/constructor-constraints/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/constructor-constraints/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/constructor-constraints/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/execute-another-workflow/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/execute-another-workflow/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/execute-another-workflow/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/execute-another-workflow/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/long-running-workflow/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/long-running-workflow/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/long-running-workflow/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/long-running-workflow/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/parallel-steps/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/parallel-steps/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/parallel-steps/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/parallel-steps/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/retry-failed-steps/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/retry-failed-steps/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/retry-failed-steps/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/retry-failed-steps/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/variable-manipulation/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/variable-manipulation/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/variable-manipulation/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/variable-manipulation/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/workflow-hooks/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/workflow-hooks/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/workflow-hooks/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/workflow-hooks/page.mdx diff --git a/www/apps/book/app/advanced-development/workflows/workflow-timeout/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/workflow-timeout/page.mdx similarity index 100% rename from www/apps/book/app/advanced-development/workflows/workflow-timeout/page.mdx rename to www/apps/book/app/learn/advanced-development/workflows/workflow-timeout/page.mdx diff --git a/www/apps/book/app/basics/admin-customizations/page.mdx b/www/apps/book/app/learn/basics/admin-customizations/page.mdx similarity index 100% rename from www/apps/book/app/basics/admin-customizations/page.mdx rename to www/apps/book/app/learn/basics/admin-customizations/page.mdx diff --git a/www/apps/book/app/basics/api-routes/page.mdx b/www/apps/book/app/learn/basics/api-routes/page.mdx similarity index 100% rename from www/apps/book/app/basics/api-routes/page.mdx rename to www/apps/book/app/learn/basics/api-routes/page.mdx diff --git a/www/apps/book/app/basics/commerce-modules/page.mdx b/www/apps/book/app/learn/basics/commerce-modules/page.mdx similarity index 100% rename from www/apps/book/app/basics/commerce-modules/page.mdx rename to www/apps/book/app/learn/basics/commerce-modules/page.mdx diff --git a/www/apps/book/app/basics/events-and-subscribers/page.mdx b/www/apps/book/app/learn/basics/events-and-subscribers/page.mdx similarity index 100% rename from www/apps/book/app/basics/events-and-subscribers/page.mdx rename to www/apps/book/app/learn/basics/events-and-subscribers/page.mdx diff --git a/www/apps/book/app/basics/loaders/page.mdx b/www/apps/book/app/learn/basics/loaders/page.mdx similarity index 100% rename from www/apps/book/app/basics/loaders/page.mdx rename to www/apps/book/app/learn/basics/loaders/page.mdx diff --git a/www/apps/book/app/basics/medusa-container/page.mdx b/www/apps/book/app/learn/basics/medusa-container/page.mdx similarity index 100% rename from www/apps/book/app/basics/medusa-container/page.mdx rename to www/apps/book/app/learn/basics/medusa-container/page.mdx diff --git a/www/apps/book/app/basics/modules-directory-structure/page.mdx b/www/apps/book/app/learn/basics/modules-directory-structure/page.mdx similarity index 100% rename from www/apps/book/app/basics/modules-directory-structure/page.mdx rename to www/apps/book/app/learn/basics/modules-directory-structure/page.mdx diff --git a/www/apps/book/app/basics/modules/page.mdx b/www/apps/book/app/learn/basics/modules/page.mdx similarity index 100% rename from www/apps/book/app/basics/modules/page.mdx rename to www/apps/book/app/learn/basics/modules/page.mdx diff --git a/www/apps/book/app/basics/page.mdx b/www/apps/book/app/learn/basics/page.mdx similarity index 100% rename from www/apps/book/app/basics/page.mdx rename to www/apps/book/app/learn/basics/page.mdx diff --git a/www/apps/book/app/basics/project-directories-files/page.mdx b/www/apps/book/app/learn/basics/project-directories-files/page.mdx similarity index 100% rename from www/apps/book/app/basics/project-directories-files/page.mdx rename to www/apps/book/app/learn/basics/project-directories-files/page.mdx diff --git a/www/apps/book/app/basics/scheduled-jobs/page.mdx b/www/apps/book/app/learn/basics/scheduled-jobs/page.mdx similarity index 100% rename from www/apps/book/app/basics/scheduled-jobs/page.mdx rename to www/apps/book/app/learn/basics/scheduled-jobs/page.mdx diff --git a/www/apps/book/app/basics/workflows/page.mdx b/www/apps/book/app/learn/basics/workflows/page.mdx similarity index 100% rename from www/apps/book/app/basics/workflows/page.mdx rename to www/apps/book/app/learn/basics/workflows/page.mdx diff --git a/www/apps/book/app/customization/custom-features/api-route/page.mdx b/www/apps/book/app/learn/customization/custom-features/api-route/page.mdx similarity index 100% rename from www/apps/book/app/customization/custom-features/api-route/page.mdx rename to www/apps/book/app/learn/customization/custom-features/api-route/page.mdx diff --git a/www/apps/book/app/customization/custom-features/module/page.mdx b/www/apps/book/app/learn/customization/custom-features/module/page.mdx similarity index 100% rename from www/apps/book/app/customization/custom-features/module/page.mdx rename to www/apps/book/app/learn/customization/custom-features/module/page.mdx diff --git a/www/apps/book/app/customization/custom-features/page.mdx b/www/apps/book/app/learn/customization/custom-features/page.mdx similarity index 100% rename from www/apps/book/app/customization/custom-features/page.mdx rename to www/apps/book/app/learn/customization/custom-features/page.mdx diff --git a/www/apps/book/app/customization/custom-features/workflow/page.mdx b/www/apps/book/app/learn/customization/custom-features/workflow/page.mdx similarity index 100% rename from www/apps/book/app/customization/custom-features/workflow/page.mdx rename to www/apps/book/app/learn/customization/custom-features/workflow/page.mdx diff --git a/www/apps/book/app/customization/customize-admin/page.mdx b/www/apps/book/app/learn/customization/customize-admin/page.mdx similarity index 100% rename from www/apps/book/app/customization/customize-admin/page.mdx rename to www/apps/book/app/learn/customization/customize-admin/page.mdx diff --git a/www/apps/book/app/customization/customize-admin/route/page.mdx b/www/apps/book/app/learn/customization/customize-admin/route/page.mdx similarity index 100% rename from www/apps/book/app/customization/customize-admin/route/page.mdx rename to www/apps/book/app/learn/customization/customize-admin/route/page.mdx diff --git a/www/apps/book/app/customization/customize-admin/widget/page.mdx b/www/apps/book/app/learn/customization/customize-admin/widget/page.mdx similarity index 100% rename from www/apps/book/app/customization/customize-admin/widget/page.mdx rename to www/apps/book/app/learn/customization/customize-admin/widget/page.mdx diff --git a/www/apps/book/app/customization/extend-models/create-links/page.mdx b/www/apps/book/app/learn/customization/extend-models/create-links/page.mdx similarity index 100% rename from www/apps/book/app/customization/extend-models/create-links/page.mdx rename to www/apps/book/app/learn/customization/extend-models/create-links/page.mdx diff --git a/www/apps/book/app/customization/extend-models/define-link/page.mdx b/www/apps/book/app/learn/customization/extend-models/define-link/page.mdx similarity index 100% rename from www/apps/book/app/customization/extend-models/define-link/page.mdx rename to www/apps/book/app/learn/customization/extend-models/define-link/page.mdx diff --git a/www/apps/book/app/customization/extend-models/extend-create-product/page.mdx b/www/apps/book/app/learn/customization/extend-models/extend-create-product/page.mdx similarity index 100% rename from www/apps/book/app/customization/extend-models/extend-create-product/page.mdx rename to www/apps/book/app/learn/customization/extend-models/extend-create-product/page.mdx diff --git a/www/apps/book/app/customization/extend-models/page.mdx b/www/apps/book/app/learn/customization/extend-models/page.mdx similarity index 100% rename from www/apps/book/app/customization/extend-models/page.mdx rename to www/apps/book/app/learn/customization/extend-models/page.mdx diff --git a/www/apps/book/app/customization/extend-models/query-linked-records/page.mdx b/www/apps/book/app/learn/customization/extend-models/query-linked-records/page.mdx similarity index 100% rename from www/apps/book/app/customization/extend-models/query-linked-records/page.mdx rename to www/apps/book/app/learn/customization/extend-models/query-linked-records/page.mdx diff --git a/www/apps/book/app/customization/integrate-systems/handle-event/page.mdx b/www/apps/book/app/learn/customization/integrate-systems/handle-event/page.mdx similarity index 100% rename from www/apps/book/app/customization/integrate-systems/handle-event/page.mdx rename to www/apps/book/app/learn/customization/integrate-systems/handle-event/page.mdx diff --git a/www/apps/book/app/customization/integrate-systems/page.mdx b/www/apps/book/app/learn/customization/integrate-systems/page.mdx similarity index 100% rename from www/apps/book/app/customization/integrate-systems/page.mdx rename to www/apps/book/app/learn/customization/integrate-systems/page.mdx diff --git a/www/apps/book/app/customization/integrate-systems/schedule-task/page.mdx b/www/apps/book/app/learn/customization/integrate-systems/schedule-task/page.mdx similarity index 100% rename from www/apps/book/app/customization/integrate-systems/schedule-task/page.mdx rename to www/apps/book/app/learn/customization/integrate-systems/schedule-task/page.mdx diff --git a/www/apps/book/app/customization/integrate-systems/service/page.mdx b/www/apps/book/app/learn/customization/integrate-systems/service/page.mdx similarity index 100% rename from www/apps/book/app/customization/integrate-systems/service/page.mdx rename to www/apps/book/app/learn/customization/integrate-systems/service/page.mdx diff --git a/www/apps/book/app/customization/next-steps/page.mdx b/www/apps/book/app/learn/customization/next-steps/page.mdx similarity index 100% rename from www/apps/book/app/customization/next-steps/page.mdx rename to www/apps/book/app/learn/customization/next-steps/page.mdx diff --git a/www/apps/book/app/customization/page.mdx b/www/apps/book/app/learn/customization/page.mdx similarity index 100% rename from www/apps/book/app/customization/page.mdx rename to www/apps/book/app/learn/customization/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/instrumentation/page.mdx b/www/apps/book/app/learn/debugging-and-testing/instrumentation/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/instrumentation/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/instrumentation/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/logging/page.mdx b/www/apps/book/app/learn/debugging-and-testing/logging/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/logging/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/logging/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/page.mdx b/www/apps/book/app/learn/debugging-and-testing/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/testing-tools/integration-tests/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/testing-tools/integration-tests/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/testing-tools/modules-tests/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/testing-tools/modules-tests/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/page.mdx diff --git a/www/apps/book/app/debugging-and-testing/testing-tools/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/page.mdx similarity index 100% rename from www/apps/book/app/debugging-and-testing/testing-tools/page.mdx rename to www/apps/book/app/learn/debugging-and-testing/testing-tools/page.mdx diff --git a/www/apps/book/app/deployment/page.mdx b/www/apps/book/app/learn/deployment/page.mdx similarity index 100% rename from www/apps/book/app/deployment/page.mdx rename to www/apps/book/app/learn/deployment/page.mdx diff --git a/www/apps/book/app/first-customizations/page.mdx b/www/apps/book/app/learn/first-customizations/page.mdx similarity index 100% rename from www/apps/book/app/first-customizations/page.mdx rename to www/apps/book/app/learn/first-customizations/page.mdx diff --git a/www/apps/book/app/learn/layout.tsx b/www/apps/book/app/learn/layout.tsx new file mode 100644 index 0000000000..6f37c55a62 --- /dev/null +++ b/www/apps/book/app/learn/layout.tsx @@ -0,0 +1,24 @@ +import { TightLayout } from "docs-ui" +import Feedback from "@/components/Feedback" +import EditButton from "@/components/EditButton" +import Providers from "../../providers" + +export default function RootLayout({ + children, +}: { + children: React.ReactNode +}) { + return ( + } + editComponent={} + ProvidersComponent={Providers} + > + {children} + + ) +} diff --git a/www/apps/book/app/more-resources/cheatsheet/page.mdx b/www/apps/book/app/learn/more-resources/cheatsheet/page.mdx similarity index 100% rename from www/apps/book/app/more-resources/cheatsheet/page.mdx rename to www/apps/book/app/learn/more-resources/cheatsheet/page.mdx diff --git a/www/apps/book/app/more-resources/page.mdx b/www/apps/book/app/learn/more-resources/page.mdx similarity index 100% rename from www/apps/book/app/more-resources/page.mdx rename to www/apps/book/app/learn/more-resources/page.mdx diff --git a/www/apps/book/app/page.mdx b/www/apps/book/app/learn/page.mdx similarity index 100% rename from www/apps/book/app/page.mdx rename to www/apps/book/app/learn/page.mdx diff --git a/www/apps/book/app/storefront-development/nextjs-starter/page.mdx b/www/apps/book/app/learn/storefront-development/nextjs-starter/page.mdx similarity index 100% rename from www/apps/book/app/storefront-development/nextjs-starter/page.mdx rename to www/apps/book/app/learn/storefront-development/nextjs-starter/page.mdx diff --git a/www/apps/book/app/storefront-development/page.mdx b/www/apps/book/app/learn/storefront-development/page.mdx similarity index 100% rename from www/apps/book/app/storefront-development/page.mdx rename to www/apps/book/app/learn/storefront-development/page.mdx diff --git a/www/apps/book/app/not-found.tsx b/www/apps/book/app/not-found.tsx new file mode 100644 index 0000000000..36dfb6a183 --- /dev/null +++ b/www/apps/book/app/not-found.tsx @@ -0,0 +1,23 @@ +import { TightLayout } from "docs-ui" +import Feedback from "../components/Feedback" +import EditButton from "../components/EditButton" +import NotFoundContent from "./_not-found.mdx" +import Providers from "../providers" + +const NotFoundPage = () => { + return ( + } + editComponent={} + ProvidersComponent={Providers} + > + + + ) +} + +export default NotFoundPage diff --git a/www/apps/book/app/page.tsx b/www/apps/book/app/page.tsx new file mode 100644 index 0000000000..dc31d82618 --- /dev/null +++ b/www/apps/book/app/page.tsx @@ -0,0 +1,49 @@ +import clsx from "clsx" +import { MainNav, RootProviders } from "docs-ui" +import HomepageTopSection from "../components/Homepage/TopSection" +import Providers from "../providers" +import HomepageLinksSection from "../components/Homepage/LinksSection" +import HomepageRecipesSection from "../components/Homepage/RecipesSection" +import HomepageModulesSection from "../components/Homepage/ModulesSection" +import HomepageFooter from "../components/Homepage/Footer" + +const Homepage = () => { + return ( + + + +
+ + + + + + +
+
+
+ + ) +} + +export default Homepage diff --git a/www/apps/book/components/Homepage/CodeTabs/index.tsx b/www/apps/book/components/Homepage/CodeTabs/index.tsx new file mode 100644 index 0000000000..e7c00da4cf --- /dev/null +++ b/www/apps/book/components/Homepage/CodeTabs/index.tsx @@ -0,0 +1,379 @@ +"use client" + +import { Link, VerticalCodeTab, VerticalCodeTabs } from "docs-ui" +import { useState } from "react" + +type Tab = VerticalCodeTab & { + textSection: { + content: string + link: { + title: string + link: string + } + } +} + +const HomepageCodeTabs = () => { + const [selectedTabIndex, setSelectedTabIndex] = useState(0) + + const tabs: Tab[] = [ + { + title: "Create API Route", + textSection: { + content: + "Expose custom features with REST API routes, then consume them from your client applications.", + link: { + title: "API Routes", + link: "/learn/basics/api-routes", + }, + }, + code: { + lang: "ts", + source: `export async function GET( + req: MedusaRequest, + res: MedusaResponse +) { + const query = req.scope.resolve("query") + + const { data } = await query.graph({ + entity: "company", + fields: ["id", "name"], + filters: { name: "ACME" }, + }) + + res.json({ + companies: data + }) +}`, + highlights: [ + ["1", "GET", "Create a GET endpoint."], + [ + "5", + `query`, + "Query utility to retrieve data from a graph of\nall data models and their relations.", + ], + ["8", `"company"`, "Retrieve records of the `company` data model"], + ["13", "res.json", "Return a JSON response"], + ], + }, + }, + { + title: "Build Workflows", + textSection: { + content: + "Build flows as a series of steps, with retry mechanisms and tracking of each steps' status.", + link: { + title: "Workflows", + link: "/learn/basics/workflows", + }, + }, + code: { + lang: "ts", + source: `const handleDeliveryWorkflow = createWorkflow( + "handle-delivery", + function (input: WorkflowInput) { + notifyRestaurantStep(input.delivery_id); + + const order = createOrderStep(input.delivery_id); + + createFulfillmentStep(order); + + awaitDeliveryStep(); + + return new WorkflowResponse("Delivery completed"); + } +)`, + highlights: [ + [ + "1", + "createWorkflow", + "Use the Workflows SDK to build a flow of a series of steps.", + ], + ["4", "notifyRestaurantStep", "Run steps in the worklfow"], + [ + "10", + "awaitDeliveryStep", + "Wait for background actions to finish execution\nbefore performing some steps.", + ], + ], + }, + }, + { + title: "Add a Data Model", + textSection: { + content: + "Create data models that represent tables in the database using Medusa's Data Model Language.", + link: { + title: "DML", + link: "/learn/basics/modules#1-create-data-model", + }, + }, + code: { + lang: "ts", + source: `const DigitalProduct = model.define("digital_product", { + id: model.id().primaryKey(), + name: model.text(), + medias: model.hasMany(() => DigitalProductMedia, { + mappedBy: "digitalProduct" + }) +}) +.cascades({ + delete: ["medias"] +})`, + highlights: [ + [ + "1", + "model", + "Use Medusa's Data Model Language to\nrepresent custom tables in the database.", + ], + [ + "4", + "hasMany", + "Create relations between models of the same module.", + ], + ], + }, + }, + { + title: "Build a Custom Module", + textSection: { + content: + "Build custom modules with commerce or architectural features and use them in API routes or workflows.", + link: { + title: "Modules", + link: "/learn/basics/modules", + }, + }, + code: { + lang: "ts", + source: `class DigitalProductModuleService extends MedusaService({ + DigitalProduct, +}) { + async authorizeLicense() { + console.log("License authorized!") + } +} + +export async function POST( + req: MedusaRequest, + res: MedusaResponse +) { + const digitalProductModuleService = req.scope.resolve( + "digitalProductModuleService" + ) + + await digitalProductModuleService.authorizeLicense() + + res.json({ success: true }) +}`, + highlights: [ + [ + "1", + "DigitalProductModuleService", + "Create a service that accesses\nthe database to manage data models.", + ], + [ + "1", + "MedusaService", + "Generate data-management methods\nfor your data models automatically.", + ], + [ + "13", + "digitalProductModuleService", + "Resolve the database from the Medusa container\nin routes and other resources.", + ], + ["17", "authorizeLicense", "Use the service's custom methods."], + ], + }, + }, + { + title: "Link Data Models", + textSection: { + content: + "Add custom properties to Medusa's data models using module links to build custom use cases.", + link: { + title: "Module Links", + link: "/learn/advanced-development/module-links", + }, + }, + code: { + lang: "ts", + source: `const DigitalProduct = model.define("digital_product", { + id: model.id().primaryKey(), + name: model.text(), +}) + +export default defineLink( + DigitalProductModule.linkable.digitalProduct, + ProductModule.linkable.productVariant +)`, + highlights: [ + [ + "6", + "defineLink", + "Create a link between data models of different modules.", + ], + ], + }, + }, + { + title: "Subscribe to Events", + textSection: { + content: + "Handle events emitted by the Medusa application to perform custom actions.", + link: { + title: "Subscribers", + link: "/learn/basics/events-and-subscribers", + }, + }, + code: { + lang: "ts", + source: `async function orderPlaced({ + container, +}: SubscriberArgs) { + const notificaitonModuleService = container.resolve( + Modules.NOTIFICATION + ) + + await notificaitonModuleService.createNotifications({ + to: "customer@gmail.com", + channel: "email", + template: "order-placed" + }) +} + +export const config: SubscriberConfig = { + event: "order.placed", +}`, + highlights: [ + [ + "1", + "orderPlaced", + "Define a subscriber that's\nexecuted when an event is emitted.", + ], + [ + "4", + "notificaitonModuleService", + "Resolve a module's main service\nto use its methods.", + ], + ["8", "createNotification", "Send an email to a customer."], + [ + "16", + `"order.placed"`, + "Execute the subscriber when an order is placed.", + ], + ], + }, + }, + { + title: "Customize Admin", + textSection: { + content: + "Inject widgets into predefined zones in the Medusa Admin, or add new pages.", + link: { + title: "Admin Customizations", + link: "/learn/basics/admin-customizations", + }, + }, + code: { + lang: "tsx", + source: `const ProductBrandWidget = () => { + const [brand, setBrand] = useState({ + name: "Acme" + }) + + return ( + + Brand + {brand && Name: {brand.name}} + + ) +} + +export const config = defineWidgetConfig({ + zone: "product.details.before", +})`, + highlights: [ + [ + "1", + "ProductBrandWidget", + "Create admin widgets as React components.", + ], + [ + "7", + "Container", + "Use Medusa's UI components in your customizations.", + ], + [ + "15", + `"product.details.before"`, + "Show the widget on the product details page.", + ], + ], + }, + }, + { + title: "Integrate Systems", + textSection: { + content: + "Build workflows around multiple systems to add more powerful features to Medusa.", + link: { + title: "Integrate Systems", + link: "/learn/customization/integrate-systems", + }, + }, + code: { + lang: "tsx", + source: `const syncBrandsFromSystemWorkflow = createWorkflow( + "sync-brands-from-system", + () => { + const toCreate = retrieveBrandsFromSystemStep() + + const created = createBrandsInMedusaStep({ + brands: toCreate + }) + + return new WorkflowResponse({ + created, + }) + } +)`, + highlights: [ + ["1", "createWorkflow", "Integrate systems using workflows."], + [ + "4", + "retrieveBrandsFromSystemStep", + "Retrieve data from an external system.", + ], + ["6", "createBrandsInMedusaStep", "Sync data to Medusa."], + ], + }, + }, + ] + + return ( +
+ +
+ + {tabs[selectedTabIndex].textSection.content} + + · + + {tabs[selectedTabIndex].textSection.link.title} + +
+
+ ) +} + +export default HomepageCodeTabs diff --git a/www/apps/book/components/Homepage/Footer/index.tsx b/www/apps/book/components/Homepage/Footer/index.tsx new file mode 100644 index 0000000000..0e69a321c2 --- /dev/null +++ b/www/apps/book/components/Homepage/Footer/index.tsx @@ -0,0 +1,24 @@ +import clsx from "clsx" +import Feedback from "../../Feedback" +import EditButton from "../../EditButton" + +const HomepageFooter = () => { + return ( +
+
+ + +
+
+ ) +} + +export default HomepageFooter diff --git a/www/apps/book/components/Homepage/LinksSection/index.tsx b/www/apps/book/components/Homepage/LinksSection/index.tsx new file mode 100644 index 0000000000..ac3672c6f7 --- /dev/null +++ b/www/apps/book/components/Homepage/LinksSection/index.tsx @@ -0,0 +1,95 @@ +import clsx from "clsx" +import { Link } from "docs-ui" + +const HomepageLinksSection = () => { + const sections: SectionProps[] = [ + { + title: "Customize Medusa Application", + links: [ + { + href: "/learn", + text: "Create your first application", + }, + { + href: "/learn/customization", + text: "Build a Module", + }, + { + href: "https://docs.medusajs.com/v2/resources/integrations", + text: "Browse third-party integrations", + }, + ], + }, + { + title: "Admin Development", + links: [ + { + href: "/learn/basics/admin-customizations", + text: "Build a UI Widget", + }, + { + href: "/learn/advanced-development/admin/ui-routes", + text: "Add a UI Route", + }, + { + href: "https://docs.medusajs.com/ui", + text: "Browse the UI component library", + }, + ], + }, + { + title: "Storefront Development", + links: [ + { + href: "https://docs.medusajs.com/v2/resources/nextjs-starter", + text: "Explore our storefront starter", + }, + { + href: "https://docs.medusajs.com/v2/resources/storefront-development", + text: "Build a custom storefront", + }, + { + href: "https://docs.medusajs.com/ui", + text: "Browse the UI component library", + }, + ], + }, + ] + return ( +
+
+ {sections.map((section, index) => ( +
+ ))} +
+
+ ) +} + +type SectionProps = { + title: string + links: { + text: string + href: string + }[] +} + +const Section = ({ title, links }: SectionProps) => { + return ( +
+

{title}

+ {links.map((link, index) => ( + + {link.text} + + ))} +
+ ) +} + +export default HomepageLinksSection diff --git a/www/apps/book/components/Homepage/ModulesSection/index.tsx b/www/apps/book/components/Homepage/ModulesSection/index.tsx new file mode 100644 index 0000000000..83ce2b3568 --- /dev/null +++ b/www/apps/book/components/Homepage/ModulesSection/index.tsx @@ -0,0 +1,203 @@ +import clsx from "clsx" +import { Card, CardProps, IconHeadline, PuzzleColoredIcon } from "docs-ui" +import { basePathUrl } from "../../../utils/base-path-url" + +const HomepageModulesSection = () => { + const sections: SectionProps[] = [ + { + title: "Cart & Purchase", + text: "Checkout, Total calculations, and more", + modules: [ + { + title: "Cart", + text: "Add to cart, checkout, and totals.", + href: "/resources/commerce-modules/cart", + image: basePathUrl("/images/cart-icon.png"), + }, + { + title: "Payment", + text: "Process any payment type.", + href: "/resources/commerce-modules/payment", + image: basePathUrl("/images/payment-icon.png"), + }, + { + title: "Customer", + text: "Customer and group management.", + href: "/resources/commerce-modules/customer", + image: basePathUrl("/images/customer-icon.png"), + }, + ], + }, + { + title: "Merchandising", + text: "Products, pricing, and promotions.", + modules: [ + { + title: "Pricing", + text: "Configurable pricing engine", + href: "/resources/commerce-modules/pricing", + image: basePathUrl("/images/pricing-icon.png"), + }, + { + title: "Promotion", + text: "Discounts and promotions", + href: "/resources/commerce-modules/promotion", + image: basePathUrl("/images/promotion-icon.png"), + }, + { + title: "Product", + text: "Variants, categories, and bulk edits", + href: "/resources/commerce-modules/product", + image: basePathUrl("/images/product-icon.png"), + }, + ], + }, + { + title: "Fulfillment", + text: "OMS, fulfilment, and inventory.", + modules: [ + { + title: "Order", + text: "Omnichannel order management", + href: "/resources/commerce-modules/order", + image: basePathUrl("/images/order-icon.png"), + }, + { + title: "Inventory", + text: "Multi-warehouse and reservations", + href: "/resources/commerce-modules/inventory", + image: basePathUrl("/images/inventory-icon.png"), + }, + { + title: "Fulfillment", + text: "Order fulfillment and shipping", + href: "/resources/commerce-modules/fulfillment", + image: basePathUrl("/images/fulfillment-icon.png"), + }, + { + title: "Stock Location", + text: "Locations of stock-kept items", + href: "/resources/commerce-modules/stock-location", + image: basePathUrl("/images/stock-location-icon.png"), + }, + ], + }, + { + title: "Regions & Channels", + text: "Multi-region and omnichannel support.", + modules: [ + { + title: "Region", + text: "Cross-border commerce", + href: "/resources/commerce-modules/region", + image: basePathUrl("/images/region-icon.png"), + }, + { + title: "Sales Channel", + text: "Omnichannel sales", + href: "/resources/commerce-modules/sales-channel", + image: basePathUrl("/images/sales-channel-icon.png"), + }, + { + title: "Tax", + text: "Granular tax control", + href: "/resources/commerce-modules/stock-location", + image: basePathUrl("/images/tax-icon.png"), + }, + { + title: "Currency", + text: "Multi-currency support", + href: "/resources/commerce-modules/currency", + image: basePathUrl("/images/currency-icon.png"), + }, + ], + }, + { + title: "User Access", + text: "API keys and authentication.", + modules: [ + { + title: "API Keys", + text: "Store and admin access", + href: "/resources/commerce-modules/api-key", + image: basePathUrl("/images/api-key-icon.png"), + }, + { + title: "User Module", + text: "Admin user management", + href: "/resources/commerce-modules/user", + image: basePathUrl("/images/user-icon.png"), + }, + { + title: "Auth", + text: "Integrate authentication methods", + href: "/resources/commerce-modules/auth", + image: basePathUrl("/images/auth-icon.png"), + }, + ], + }, + ] + + return ( +
+
+
+ } + /> +

+ All commerce features are provided as extendable modules in Medusa. +

+ + Click on any of the commerce modules below to learn more about their + commerce features, and how to extend and use them for your custom + use-case. + +
+ {sections.map((section, index) => ( +
+ ))} +
+
+ ) +} + +type SectionProps = { + title: string + text: string + modules: Omit[] +} + +const Section = ({ title, text, modules }: SectionProps) => { + return ( +
+
+

{title}

+ {text} +
+
+ {modules.map((card, index) => ( + + ))} +
+
+ ) +} + +export default HomepageModulesSection diff --git a/www/apps/book/components/Homepage/RecipesSection/index.tsx b/www/apps/book/components/Homepage/RecipesSection/index.tsx new file mode 100644 index 0000000000..3e1be4509a --- /dev/null +++ b/www/apps/book/components/Homepage/RecipesSection/index.tsx @@ -0,0 +1,90 @@ +import { TriangleRightMini } from "@medusajs/icons" +import clsx from "clsx" +import { + CalendarRefreshIcon, + Card, + CardProps, + ChefHatIcon, + IconHeadline, + ImageBinaryIcon, + Link, + ScrollTextIcon, + ShopIcon, +} from "docs-ui" + +const HomepageRecipesSection = () => { + const cards: CardProps[] = [ + { + type: "large", + title: "Marketplace", + text: "Build a marketplace with multiple vendors", + href: "https://docs.medusajs.com/v2/resources/recipes/marketplace/examples/vendors", + icon: ShopIcon, + }, + { + type: "large", + title: "Subscriptions", + text: "Implement a subscription-based commerce store.", + href: "https://docs.medusajs.com/v2/resources/recipes/subscriptions/examples/standard", + icon: CalendarRefreshIcon, + }, + { + type: "large", + title: "Restaurant-Delivery", + text: "Build a restaurant marketplace inspired by UberEats, with real-time delivery handling", + href: "https://docs.medusajs.com/v2/resources/recipes/marketplace/examples/restaurant-delivery", + icon: ChefHatIcon, + }, + { + type: "large", + title: "Digital Products", + text: "Sell digital products with custom fulfillment.", + href: "https://docs.medusajs.com/v2/resources/recipes/digital-products/examples/standard", + icon: ImageBinaryIcon, + }, + ] + return ( +
+
+
+
+ } /> +

+ Medusa’s framework supports any business use case. +

+ + These recipes show how you to build a use case by customizing and + extending existing data models and features, or creating new ones. + +
+ + View All Recipes + +
+
+ {cards.map((card, index) => ( + + ))} +
+
+
+ ) +} + +export default HomepageRecipesSection diff --git a/www/apps/book/components/Homepage/TopSection/index.tsx b/www/apps/book/components/Homepage/TopSection/index.tsx new file mode 100644 index 0000000000..5f4f903bdd --- /dev/null +++ b/www/apps/book/components/Homepage/TopSection/index.tsx @@ -0,0 +1,76 @@ +/* eslint-disable @next/next/no-img-element */ +import clsx from "clsx" +import { BookIcon, Card, IconHeadline, WindowPaintbrushIcon } from "docs-ui" +import { basePathUrl } from "../../../utils/base-path-url" +import HomepageCodeTabs from "../CodeTabs" + +const HomepageTopSection = () => { + return ( +
+
+
+
+
+
+ } /> +

+ Learn how to build Medusa projects. Explore our guides. +

+
+ +
+ +
+ } + /> +

+ A digital commerce platform with a built-in framework for + customizations. +

+ + Unlike other platforms, Medusa allows you to easily customize and + extend the behavior of your commerce platform to always fit your + business needs. + +
+
+
+ ) +} + +export default HomepageTopSection diff --git a/www/apps/book/config/index.ts b/www/apps/book/config/index.ts index 8535ed7e77..43c73a685a 100644 --- a/www/apps/book/config/index.ts +++ b/www/apps/book/config/index.ts @@ -4,7 +4,7 @@ import { sidebarConfig } from "./sidebar" const baseUrl = process.env.NEXT_PUBLIC_BASE_URL || "http://localhost:3000" export const config: DocsConfig = { - titleSuffix: "Medusa v2 Docs", + titleSuffix: "Medusa v2 Documentation", baseUrl, basePath: process.env.NEXT_PUBLIC_BASE_PATH, sidebar: sidebarConfig, diff --git a/www/apps/book/generated/edit-dates.mjs b/www/apps/book/generated/edit-dates.mjs index 4ef61ae0f0..c1a14cd970 100644 --- a/www/apps/book/generated/edit-dates.mjs +++ b/www/apps/book/generated/edit-dates.mjs @@ -1,116 +1,116 @@ export const generatedEditDates = { - "app/basics/scheduled-jobs/page.mdx": "2024-09-30T08:43:53.132Z", - "app/basics/workflows/page.mdx": "2024-09-30T08:43:53.132Z", - "app/deployment/page.mdx": "2024-08-05T07:24:05+00:00", - "app/page.mdx": "2024-09-03T07:09:09.034Z", - "app/basics/commerce-modules/page.mdx": "2024-09-30T08:43:53.131Z", - "app/advanced-development/workflows/retry-failed-steps/page.mdx": "2024-09-30T08:43:53.130Z", - "app/advanced-development/workflows/workflow-hooks/page.mdx": "2024-09-30T08:43:53.131Z", - "app/cheatsheet/page.mdx": "2024-07-11T13:53:40+03:00", - "app/debugging-and-testing/logging/page.mdx": "2024-09-30T08:43:53.135Z", - "app/more-resources/page.mdx": "2024-07-04T17:26:03+03:00", - "app/storefront-development/page.mdx": "2024-09-11T10:58:59.290Z", - "app/storefront-development/nextjs-starter/page.mdx": "2024-07-04T17:26:03+03:00", - "app/basics/page.mdx": "2024-09-03T07:11:06.879Z", - "app/basics/admin-customizations/page.mdx": "2024-10-07T12:41:39.218Z", - "app/advanced-development/workflows/workflow-timeout/page.mdx": "2024-09-30T08:43:53.131Z", - "app/advanced-development/workflows/parallel-steps/page.mdx": "2024-09-30T08:43:53.130Z", - "app/advanced-development/page.mdx": "2024-07-04T17:26:03+03:00", - "app/first-customizations/page.mdx": "2024-09-11T10:48:42.374Z", - "app/debugging-and-testing/page.mdx": "2024-05-03T17:36:38+03:00", - "app/basics/medusa-container/page.mdx": "2024-09-30T08:43:53.132Z", - "app/basics/project-directories-files/page.mdx": "2024-10-03T12:46:52.762Z", - "app/basics/api-routes/page.mdx": "2024-09-11T10:48:31.777Z", - "app/basics/modules-directory-structure/page.mdx": "2024-10-03T13:03:35.957Z", - "app/advanced-development/workflows/access-workflow-errors/page.mdx": "2024-09-18T12:54:04.695Z", - "app/basics/events-and-subscribers/page.mdx": "2024-09-30T08:43:53.131Z", - "app/advanced-development/modules/container/page.mdx": "2024-09-30T08:43:53.125Z", - "app/advanced-development/workflows/execute-another-workflow/page.mdx": "2024-09-30T08:43:53.129Z", - "app/basics/loaders/page.mdx": "2024-09-03T08:00:45.993Z", - "app/advanced-development/admin/widgets/page.mdx": "2024-10-07T12:51:09.969Z", - "app/advanced-development/data-models/page.mdx": "2024-09-19T07:26:43.535Z", - "app/advanced-development/modules/remote-link/page.mdx": "2024-09-30T08:43:53.127Z", - "app/advanced-development/api-routes/protected-routes/page.mdx": "2024-09-30T08:43:53.121Z", - "app/advanced-development/workflows/add-workflow-hook/page.mdx": "2024-09-30T08:43:53.128Z", - "app/advanced-development/events-and-subscribers/data-payload/page.mdx": "2024-07-16T17:12:05+01:00", - "app/advanced-development/data-models/default-properties/page.mdx": "2024-09-19T07:32:06.118Z", - "app/advanced-development/workflows/advanced-example/page.mdx": "2024-09-11T10:46:59.975Z", - "app/advanced-development/events-and-subscribers/emit-event/page.mdx": "2024-09-30T08:43:53.125Z", - "app/advanced-development/workflows/conditions/page.mdx": "2024-09-30T08:43:53.128Z", - "app/advanced-development/modules/module-link-directions/page.mdx": "2024-07-24T09:16:01+02:00", - "app/advanced-development/admin/page.mdx": "2024-10-07T12:39:13.178Z", - "app/advanced-development/workflows/long-running-workflow/page.mdx": "2024-09-30T08:43:53.129Z", - "app/advanced-development/workflows/constructor-constraints/page.mdx": "2024-10-04T08:40:14.867Z", - "app/advanced-development/data-models/write-migration/page.mdx": "2024-07-15T17:46:10+02:00", - "app/advanced-development/data-models/manage-relationships/page.mdx": "2024-09-10T11:39:51.167Z", - "app/advanced-development/modules/remote-query/page.mdx": "2024-07-21T21:20:24+02:00", - "app/advanced-development/modules/options/page.mdx": "2024-10-16T08:49:27.162Z", - "app/advanced-development/data-models/relationships/page.mdx": "2024-09-30T08:43:53.125Z", - "app/advanced-development/workflows/compensation-function/page.mdx": "2024-09-30T08:43:53.128Z", - "app/advanced-development/modules/service-factory/page.mdx": "2024-09-30T08:43:53.127Z", - "app/advanced-development/data-models/primary-key/page.mdx": "2024-09-30T08:43:53.123Z", - "app/advanced-development/modules/module-links/page.mdx": "2024-09-30T08:43:53.126Z", - "app/advanced-development/data-models/searchable-property/page.mdx": "2024-09-30T08:43:53.125Z", - "app/advanced-development/scheduled-jobs/execution-number/page.mdx": "2024-07-02T09:41:15+00:00", - "app/advanced-development/api-routes/parameters/page.mdx": "2024-09-11T10:44:13.491Z", - "app/advanced-development/api-routes/http-methods/page.mdx": "2024-09-11T10:43:33.169Z", - "app/advanced-development/admin/tips/page.mdx": "2024-10-07T12:50:36.335Z", - "app/advanced-development/api-routes/cors/page.mdx": "2024-09-30T08:43:53.121Z", - "app/advanced-development/admin/ui-routes/page.mdx": "2024-10-07T12:52:37.509Z", - "app/advanced-development/api-routes/middlewares/page.mdx": "2024-09-11T10:45:31.861Z", - "app/advanced-development/modules/isolation/page.mdx": "2024-07-04T17:26:03+03:00", - "app/advanced-development/data-models/configure-properties/page.mdx": "2024-09-30T08:43:53.122Z", - "app/advanced-development/data-models/index/page.mdx": "2024-09-30T08:43:53.122Z", - "app/advanced-development/custom-cli-scripts/page.mdx": "2024-09-30T08:43:53.122Z", - "app/advanced-development/data-models/property-types/page.mdx": "2024-09-30T08:43:53.124Z", - "app/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx": "2024-09-30T08:43:53.136Z", - "app/debugging-and-testing/testing-tools/integration-tests/page.mdx": "2024-09-10T11:39:51.170Z", - "app/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx": "2024-09-30T08:43:53.139Z", - "app/debugging-and-testing/testing-tools/page.mdx": "2024-09-30T08:43:53.139Z", - "app/debugging-and-testing/testing-tools/unit-tests/module-example/page.mdx": "2024-09-02T11:04:27.232Z", - "app/debugging-and-testing/testing-tools/unit-tests/page.mdx": "2024-09-02T11:03:26.997Z", - "app/advanced-development/modules/service-constraints/page.mdx": "2024-09-30T08:43:53.127Z", - "app/advanced-development/api-routes/page.mdx": "2024-09-04T09:36:33.961Z", - "app/advanced-development/api-routes/responses/page.mdx": "2024-09-11T10:44:37.016Z", - "app/advanced-development/api-routes/validation/page.mdx": "2024-09-11T10:46:31.476Z", - "app/advanced-development/api-routes/errors/page.mdx": "2024-09-30T08:43:53.121Z", - "app/advanced-development/admin/constraints/page.mdx": "2024-09-10T11:39:51.165Z", - "app/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx": "2024-10-16T08:50:03.061Z", - "app/debugging-and-testing/testing-tools/modules-tests/page.mdx": "2024-10-16T08:50:23.232Z", - "app/advanced-development/module-links/custom-columns/page.mdx": "2024-09-16T15:51:33.570Z", - "app/advanced-development/module-links/directions/page.mdx": "2024-09-16T15:37:51.441Z", - "app/advanced-development/module-links/page.mdx": "2024-09-16T15:36:48.190Z", - "app/advanced-development/module-links/query/page.mdx": "2024-09-16T12:42:27.579Z", - "app/advanced-development/module-links/remote-link/page.mdx": "2024-09-16T12:42:27.581Z", - "app/advanced-development/modules/db-operations/page.mdx": "2024-09-16T14:38:29.150Z", - "app/advanced-development/modules/multiple-services/page.mdx": "2024-09-16T14:41:32.975Z", - "app/advanced-development/modules/page.mdx": "2024-09-16T14:33:48.217Z", - "app/debugging-and-testing/instrumentation/page.mdx": "2024-09-17T08:53:15.910Z", - "app/advanced-development/api-routes/additional-data/page.mdx": "2024-09-30T08:43:53.120Z", - "app/advanced-development/workflows/page.mdx": "2024-09-18T08:00:57.364Z", - "app/advanced-development/workflows/variable-manipulation/page.mdx": "2024-09-30T08:43:53.130Z", - "app/customization/custom-features/api-route/page.mdx": "2024-09-12T12:42:34.201Z", - "app/customization/custom-features/module/page.mdx": "2024-10-16T08:49:44.676Z", - "app/customization/custom-features/workflow/page.mdx": "2024-09-30T08:43:53.133Z", - "app/customization/extend-models/create-links/page.mdx": "2024-09-30T08:43:53.133Z", - "app/customization/extend-models/extend-create-product/page.mdx": "2024-09-30T08:43:53.134Z", - "app/customization/custom-features/page.mdx": "2024-09-12T11:18:13.271Z", - "app/customization/customize-admin/page.mdx": "2024-09-12T12:25:29.853Z", - "app/customization/customize-admin/route/page.mdx": "2024-10-07T12:43:11.335Z", - "app/customization/customize-admin/widget/page.mdx": "2024-10-07T12:44:24.538Z", - "app/customization/extend-models/define-link/page.mdx": "2024-09-30T08:43:53.134Z", - "app/customization/extend-models/page.mdx": "2024-09-12T12:38:57.394Z", - "app/customization/extend-models/query-linked-records/page.mdx": "2024-09-30T08:43:53.134Z", - "app/customization/integrate-systems/handle-event/page.mdx": "2024-09-30T08:43:53.135Z", - "app/customization/integrate-systems/page.mdx": "2024-09-12T12:33:29.827Z", - "app/customization/integrate-systems/schedule-task/page.mdx": "2024-09-30T08:43:53.135Z", - "app/customization/integrate-systems/service/page.mdx": "2024-10-16T08:49:50.899Z", - "app/customization/next-steps/page.mdx": "2024-09-12T10:50:04.873Z", - "app/customization/page.mdx": "2024-09-12T11:16:18.504Z", - "app/more-resources/cheatsheet/page.mdx": "2024-07-11T16:11:26.480Z", - "app/architecture/architectural-modules/page.mdx": "2024-09-23T12:51:04.520Z", - "app/architecture/overview/page.mdx": "2024-09-23T12:55:01.339Z", - "app/advanced-development/data-models/infer-type/page.mdx": "2024-09-30T08:43:53.123Z", - "app/advanced-development/custom-cli-scripts/seed-data/page.mdx": "2024-10-03T11:11:07.181Z", - "app/basics/modules/page.mdx": "2024-10-16T08:49:39.997Z" + "app/learn/basics/scheduled-jobs/page.mdx": "2024-09-30T08:43:53.132Z", + "app/learn/basics/workflows/page.mdx": "2024-09-30T08:43:53.132Z", + "app/learn/deployment/page.mdx": "2024-08-05T07:24:05+00:00", + "app/learn/page.mdx": "2024-09-03T07:09:09.034Z", + "app/learn/basics/commerce-modules/page.mdx": "2024-09-30T08:43:53.131Z", + "app/learn/advanced-development/workflows/retry-failed-steps/page.mdx": "2024-09-30T08:43:53.130Z", + "app/learn/advanced-development/workflows/workflow-hooks/page.mdx": "2024-09-30T08:43:53.131Z", + "app/learn/cheatsheet/page.mdx": "2024-07-11T13:53:40+03:00", + "app/learn/debugging-and-testing/logging/page.mdx": "2024-09-30T08:43:53.135Z", + "app/learn/more-resources/page.mdx": "2024-07-04T17:26:03+03:00", + "app/learn/storefront-development/page.mdx": "2024-09-11T10:58:59.290Z", + "app/learn/storefront-development/nextjs-starter/page.mdx": "2024-07-04T17:26:03+03:00", + "app/learn/basics/page.mdx": "2024-09-03T07:11:06.879Z", + "app/learn/basics/admin-customizations/page.mdx": "2024-10-07T12:41:39.218Z", + "app/learn/advanced-development/workflows/workflow-timeout/page.mdx": "2024-09-30T08:43:53.131Z", + "app/learn/advanced-development/workflows/parallel-steps/page.mdx": "2024-09-30T08:43:53.130Z", + "app/learn/advanced-development/page.mdx": "2024-07-04T17:26:03+03:00", + "app/learn/first-customizations/page.mdx": "2024-09-11T10:48:42.374Z", + "app/learn/debugging-and-testing/page.mdx": "2024-05-03T17:36:38+03:00", + "app/learn/basics/medusa-container/page.mdx": "2024-09-30T08:43:53.132Z", + "app/learn/basics/project-directories-files/page.mdx": "2024-10-03T12:46:52.762Z", + "app/learn/basics/api-routes/page.mdx": "2024-09-11T10:48:31.777Z", + "app/learn/basics/modules-directory-structure/page.mdx": "2024-10-03T13:03:35.957Z", + "app/learn/advanced-development/workflows/access-workflow-errors/page.mdx": "2024-09-18T12:54:04.695Z", + "app/learn/basics/events-and-subscribers/page.mdx": "2024-09-30T08:43:53.131Z", + "app/learn/advanced-development/modules/container/page.mdx": "2024-09-30T08:43:53.125Z", + "app/learn/advanced-development/workflows/execute-another-workflow/page.mdx": "2024-09-30T08:43:53.129Z", + "app/learn/basics/loaders/page.mdx": "2024-09-03T08:00:45.993Z", + "app/learn/advanced-development/admin/widgets/page.mdx": "2024-10-07T12:51:09.969Z", + "app/learn/advanced-development/data-models/page.mdx": "2024-09-19T07:26:43.535Z", + "app/learn/advanced-development/modules/remote-link/page.mdx": "2024-09-30T08:43:53.127Z", + "app/learn/advanced-development/api-routes/protected-routes/page.mdx": "2024-09-30T08:43:53.121Z", + "app/learn/advanced-development/workflows/add-workflow-hook/page.mdx": "2024-09-30T08:43:53.128Z", + "app/learn/advanced-development/events-and-subscribers/data-payload/page.mdx": "2024-07-16T17:12:05+01:00", + "app/learn/advanced-development/data-models/default-properties/page.mdx": "2024-09-19T07:32:06.118Z", + "app/learn/advanced-development/workflows/advanced-example/page.mdx": "2024-09-11T10:46:59.975Z", + "app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx": "2024-09-30T08:43:53.125Z", + "app/learn/advanced-development/workflows/conditions/page.mdx": "2024-09-30T08:43:53.128Z", + "app/learn/advanced-development/modules/module-link-directions/page.mdx": "2024-07-24T09:16:01+02:00", + "app/learn/advanced-development/admin/page.mdx": "2024-10-07T12:39:13.178Z", + "app/learn/advanced-development/workflows/long-running-workflow/page.mdx": "2024-09-30T08:43:53.129Z", + "app/learn/advanced-development/workflows/constructor-constraints/page.mdx": "2024-10-04T08:40:14.867Z", + "app/learn/advanced-development/data-models/write-migration/page.mdx": "2024-07-15T17:46:10+02:00", + "app/learn/advanced-development/data-models/manage-relationships/page.mdx": "2024-09-10T11:39:51.167Z", + "app/learn/advanced-development/modules/remote-query/page.mdx": "2024-07-21T21:20:24+02:00", + "app/learn/advanced-development/modules/options/page.mdx": "2024-10-16T08:49:27.162Z", + "app/learn/advanced-development/data-models/relationships/page.mdx": "2024-09-30T08:43:53.125Z", + "app/learn/advanced-development/workflows/compensation-function/page.mdx": "2024-09-30T08:43:53.128Z", + "app/learn/advanced-development/modules/service-factory/page.mdx": "2024-09-30T08:43:53.127Z", + "app/learn/advanced-development/data-models/primary-key/page.mdx": "2024-09-30T08:43:53.123Z", + "app/learn/advanced-development/modules/module-links/page.mdx": "2024-09-30T08:43:53.126Z", + "app/learn/advanced-development/data-models/searchable-property/page.mdx": "2024-09-30T08:43:53.125Z", + "app/learn/advanced-development/scheduled-jobs/execution-number/page.mdx": "2024-07-02T09:41:15+00:00", + "app/learn/advanced-development/api-routes/parameters/page.mdx": "2024-09-11T10:44:13.491Z", + "app/learn/advanced-development/api-routes/http-methods/page.mdx": "2024-09-11T10:43:33.169Z", + "app/learn/advanced-development/admin/tips/page.mdx": "2024-10-07T12:50:36.335Z", + "app/learn/advanced-development/api-routes/cors/page.mdx": "2024-09-30T08:43:53.121Z", + "app/learn/advanced-development/admin/ui-routes/page.mdx": "2024-10-07T12:52:37.509Z", + "app/learn/advanced-development/api-routes/middlewares/page.mdx": "2024-09-11T10:45:31.861Z", + "app/learn/advanced-development/modules/isolation/page.mdx": "2024-07-04T17:26:03+03:00", + "app/learn/advanced-development/data-models/configure-properties/page.mdx": "2024-09-30T08:43:53.122Z", + "app/learn/advanced-development/data-models/index/page.mdx": "2024-09-30T08:43:53.122Z", + "app/learn/advanced-development/custom-cli-scripts/page.mdx": "2024-09-30T08:43:53.122Z", + "app/learn/advanced-development/data-models/property-types/page.mdx": "2024-09-30T08:43:53.124Z", + "app/learn/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx": "2024-09-30T08:43:53.136Z", + "app/learn/debugging-and-testing/testing-tools/integration-tests/page.mdx": "2024-09-10T11:39:51.170Z", + "app/learn/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx": "2024-09-30T08:43:53.139Z", + "app/learn/debugging-and-testing/testing-tools/page.mdx": "2024-09-30T08:43:53.139Z", + "app/learn/debugging-and-testing/testing-tools/unit-tests/module-example/page.mdx": "2024-09-02T11:04:27.232Z", + "app/learn/debugging-and-testing/testing-tools/unit-tests/page.mdx": "2024-09-02T11:03:26.997Z", + "app/learn/advanced-development/modules/service-constraints/page.mdx": "2024-09-30T08:43:53.127Z", + "app/learn/advanced-development/api-routes/page.mdx": "2024-09-04T09:36:33.961Z", + "app/learn/advanced-development/api-routes/responses/page.mdx": "2024-09-11T10:44:37.016Z", + "app/learn/advanced-development/api-routes/validation/page.mdx": "2024-09-11T10:46:31.476Z", + "app/learn/advanced-development/api-routes/errors/page.mdx": "2024-09-30T08:43:53.121Z", + "app/learn/advanced-development/admin/constraints/page.mdx": "2024-09-10T11:39:51.165Z", + "app/learn/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx": "2024-10-16T08:50:03.061Z", + "app/learn/debugging-and-testing/testing-tools/modules-tests/page.mdx": "2024-10-16T08:50:23.232Z", + "app/learn/advanced-development/module-links/custom-columns/page.mdx": "2024-09-16T15:51:33.570Z", + "app/learn/advanced-development/module-links/directions/page.mdx": "2024-09-16T15:37:51.441Z", + "app/learn/advanced-development/module-links/page.mdx": "2024-09-16T15:36:48.190Z", + "app/learn/advanced-development/module-links/query/page.mdx": "2024-09-16T12:42:27.579Z", + "app/learn/advanced-development/module-links/remote-link/page.mdx": "2024-09-16T12:42:27.581Z", + "app/learn/advanced-development/modules/db-operations/page.mdx": "2024-09-16T14:38:29.150Z", + "app/learn/advanced-development/modules/multiple-services/page.mdx": "2024-09-16T14:41:32.975Z", + "app/learn/advanced-development/modules/page.mdx": "2024-09-16T14:33:48.217Z", + "app/learn/debugging-and-testing/instrumentation/page.mdx": "2024-09-17T08:53:15.910Z", + "app/learn/advanced-development/api-routes/additional-data/page.mdx": "2024-09-30T08:43:53.120Z", + "app/learn/advanced-development/workflows/page.mdx": "2024-09-18T08:00:57.364Z", + "app/learn/advanced-development/workflows/variable-manipulation/page.mdx": "2024-09-30T08:43:53.130Z", + "app/learn/customization/custom-features/api-route/page.mdx": "2024-09-12T12:42:34.201Z", + "app/learn/customization/custom-features/module/page.mdx": "2024-10-16T08:49:44.676Z", + "app/learn/customization/custom-features/workflow/page.mdx": "2024-09-30T08:43:53.133Z", + "app/learn/customization/extend-models/create-links/page.mdx": "2024-09-30T08:43:53.133Z", + "app/learn/customization/extend-models/extend-create-product/page.mdx": "2024-09-30T08:43:53.134Z", + "app/learn/customization/custom-features/page.mdx": "2024-09-12T11:18:13.271Z", + "app/learn/customization/customize-admin/page.mdx": "2024-09-12T12:25:29.853Z", + "app/learn/customization/customize-admin/route/page.mdx": "2024-10-07T12:43:11.335Z", + "app/learn/customization/customize-admin/widget/page.mdx": "2024-10-07T12:44:24.538Z", + "app/learn/customization/extend-models/define-link/page.mdx": "2024-09-30T08:43:53.134Z", + "app/learn/customization/extend-models/page.mdx": "2024-09-12T12:38:57.394Z", + "app/learn/customization/extend-models/query-linked-records/page.mdx": "2024-09-30T08:43:53.134Z", + "app/learn/customization/integrate-systems/handle-event/page.mdx": "2024-09-30T08:43:53.135Z", + "app/learn/customization/integrate-systems/page.mdx": "2024-09-12T12:33:29.827Z", + "app/learn/customization/integrate-systems/schedule-task/page.mdx": "2024-09-30T08:43:53.135Z", + "app/learn/customization/integrate-systems/service/page.mdx": "2024-10-16T08:49:50.899Z", + "app/learn/customization/next-steps/page.mdx": "2024-09-12T10:50:04.873Z", + "app/learn/customization/page.mdx": "2024-09-12T11:16:18.504Z", + "app/learn/more-resources/cheatsheet/page.mdx": "2024-07-11T16:11:26.480Z", + "app/learn/architecture/architectural-modules/page.mdx": "2024-09-23T12:51:04.520Z", + "app/learn/architecture/overview/page.mdx": "2024-09-23T12:55:01.339Z", + "app/learn/advanced-development/data-models/infer-type/page.mdx": "2024-09-30T08:43:53.123Z", + "app/learn/advanced-development/custom-cli-scripts/seed-data/page.mdx": "2024-10-03T11:11:07.181Z", + "app/learn/basics/modules/page.mdx": "2024-10-16T08:49:39.997Z" } \ No newline at end of file diff --git a/www/apps/book/next.config.mjs b/www/apps/book/next.config.mjs index f297b99835..7225d90473 100644 --- a/www/apps/book/next.config.mjs +++ b/www/apps/book/next.config.mjs @@ -130,48 +130,43 @@ const nextConfig = { async redirects() { return [ { - source: "/advanced-development/modules/remote-query", - destination: "/advanced-development/module-links/query", + source: "/advanced-development/:path*", + destination: "/learn/advanced-development/:path*", permanent: true, }, { - source: "/advanced-development/modules/query", - destination: "/advanced-development/module-links/query", + source: "/basics/:path*", + destination: "/learn/basics/:path*", permanent: true, }, { - source: "/advanced-development/modules/module-links", - destination: "/advanced-development/module-links", + source: "/customization/:path*", + destination: "/learn/customization/:path*", permanent: true, }, { - source: "/advanced-development/modules/module-link-directions", - destination: "/advanced-development/module-links/directions", + source: "/debugging-and-testing/:path*", + destination: "/learn/debugging-and-testing/:path*", permanent: true, }, { - source: "/advanced-development/modules/remote-link", - destination: "/advanced-development/module-links/remote-link", + source: "/deployment/:path*", + destination: "/learn/deployment/:path*", permanent: true, }, { - source: "/cheatsheet", - destination: "/more-resources/cheatsheet", + source: "/first-customizations/:path*", + destination: "/learn/first-customizations/:path*", permanent: true, }, { - source: "/architectural-modules", - destination: "/advanced-development/architecture/architectural-modules", + source: "/more-resources/:path*", + destination: "/learn/more-resources/:path*", permanent: true, }, { - source: "/basics/modules-and-services", - destination: "/basics/modules", - permanent: true, - }, - { - source: "/basics/data-models", - destination: "/basics/modules", + source: "/storefront-development/:path*", + destination: "/learn/storefront-development/:path*", permanent: true, }, { diff --git a/www/apps/book/package.json b/www/apps/book/package.json index 8d866b5447..127a06426a 100644 --- a/www/apps/book/package.json +++ b/www/apps/book/package.json @@ -16,6 +16,7 @@ "dependencies": { "@mdx-js/loader": "^3.0.0", "@mdx-js/react": "^3.0.0", + "@medusajs/icons": "rc", "@next/mdx": "^14.2.14", "clsx": "^2.1.0", "docs-ui": "*", diff --git a/www/apps/book/public/images/api-key-icon.png b/www/apps/book/public/images/api-key-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..88d8166f9f5cb1c4afe50e8678493ffd619f8c36 GIT binary patch literal 10784 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 B%j^IE literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/bg-stripes-dark.png b/www/apps/book/public/images/bg-stripes-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..b186b87dcebff513c856f1e073a5e7c0afda299a GIT binary patch literal 17237 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 literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/cart-icon.png b/www/apps/book/public/images/cart-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..75a37f623db3d1cd949a8270bab08d19528846ac GIT binary patch literal 10707 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%0AAT3PgS@PJe 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 FV1j(OhztM# literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/currency-icon.png b/www/apps/book/public/images/currency-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fef1c2f7e2f4b5a738328f141eda42469864e4f0 GIT binary patch literal 12364 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 Bg^K_H literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/fulfillment-icon.png b/www/apps/book/public/images/fulfillment-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..efbf148a010c806ffe57d02e1ead173213c0bea5 GIT binary patch literal 11950 zcmV;fE>Y2mP)@~0drDELIAGL9O(c600d`2O+f$vv5yP>R zXV-bx@7w2p=Hl^XJc&Ja95<7sM3huuOQld~NDV4N^a1+;@q`LUMSuhp)CWL_Bs}$v zXVk`N0><_EZPy(X+J%wCJM~>Q7GYl-V|voMt+yT1 zG=2K~?)X!uY2;o2o7SD2;0w#cE1v7VCejHZ31-b0JI*9>M{X=8)H}3Wz-uPd9tEjV z%u!wx;b3X^=S5?)`&HPuywTxANJn-=c}r7e1-iFM2fr;GKi{ z6S|tsYPOV3*K$3(d0YQ8UqQVT%P)+$Bv=ypsEl{0m>e?MAYe*|lG!X~nj9aMwE&hH z#UiK$EJPbUk0jZ2415AMbc|Y;GB*kZnffJV4nc{&UAc8{_X!Yt@wZ<3?JJOjmto;P zM~NAr2yF0Df)=s(t!tR1rb)zgOGwPlx&{{FLaEI=A8bR6RRdKHKEd)+ z?75#={d+>1AQCO1=Rug8Q%VuHPwLk~+K~D%1_CA7HME+UydF6k+K#<-YgMb@N47g~ zMr&C%^WFX`(TBZluo)j%8EIqLwXJ*8FRrcp%;Njb;O_O5y7X0vy6l%uq%^y;daloDauwTD^?ON2`h7da*2XeR#ppNnAiC`1TGtD?f!mEZ3eU+Nm+Y%Y-qhV82 zFbtcxjlJ5(*Zb14-J=U<<_}JXxc$5q=Wf0Z2#I39==s8Zs}a3wQq>aobKS(k{G%Ek zRkEWOaKD7oUT7Rn*On|yc{P2JhT|FKyeJ83Acc)j1O~sWM6dfbs(3ISwVmiADA?k9 zhqUa_#hdrgrZ(l{L#@$aW*9qT@k+u>*-t?xw4V|eH>r|=PNaFeWR}P7mS}`%3UJf- z$5r+`8N2BY8SH%~RH>uH*zEkKg#F9Ght~SY{cPIR8pKpl8d)%Xd|ED^X$5Aj-Y+{f zNYr`^<|{-90itW&s&Sea_mmxhCf!xC5=@PHvm2Sles|=@ zcrHxefIajh_)zbYULjhvYBvkTtj|od&R4WZ6q`$}M7riEgQJKj)YCc*p?G7!vI0t= zx(O!uyw`EwH^ivUU%{bx)TYS*a2w3*U@)~Yq;Jff*P#{NO%R4;e46nJl2X0dp%k9V z529UgrNtZ<3lmTeCnZ3p95IMgvY+C>I+;Bhi%00_$z=JUHfgM=CX4{6DX6}(Qp|v0 z;6Z0P`zM79Velr(aJ{mjEAL3yHH9{`NAZq^9e@ z>^owlY}!; z$+&z*LgxLlhb}G>_nD?VEN>&a!ka(0F0Ee=k8>PH>irO86$tU$K-6ykcQ+J+Q)K5NVl%T$Q{aL8@&2LQVRJ zxMafEBuVZ*5X&Q}v<=a zn2o6 zY?x8~%*e>77fEkvgJ~R@4s6Y-j$(kKPy+%b@5G5ZG^+cglc#^Q4=Iwup#^fB;=V3s zZq&5W>lr!#l(A_rg*l53{%NLij9`;-AYf5jV9ij{WHN7AUz+Kvb;%RuLLg2nx2GFT z+ZJOp8-!zWCb3yjYN#|^BsphUT)T3%95l%jxHCa@9hnC7JoS~74#N%As)?mj9#D9qM29kzCXFCo z1Z_c5)sW1q;E>RuMpABU_~`o-Vrt_?DW^4$liXipJW*r1R6z4B2&Qw zU@&yl#;hZaD>cAbJqRSfmQgn4Ws9OUCYUz1T1QkgKoOu+>e5`1wEQ&SD`UcPZ`!Fe zOxXZuotmpAWrqj|+BL8*5U75V2FwEw;woe`wIB!6>?)94AiDUcTo3bgl9auIkf7uqutu60kz+QF7#js~5X?2%bO)K|o{FH%n_TfKhdT8dhGD^HZl zdZpgJUAxAY9{V1e5N69GeI0aVn-YJ7HH~=G!AP)-7LO0q>fN!L`m~pdOG!4+t{q(K z23#Lt~PyB#hap23-MOM)@0U4QTR9*&mZdOy!= zy%(2q?>jte0HFwFtLAt~ygr}c`ciK7qf)~(F}?`(NvR)dVi2Z%ET1f>0^~Pt6>P$P zO6dKfWL9^ z5`OxTi+J+PS)8Ayb*I~D$FKb0JNV+8M}>iZ{`>{}v&&DNTBe2ax0m0m3xHp|afGkm zx`}JYCrdloZ5M7*o-SZ!T>^^$wKF|-^Z}uXZgJEFiFnjCIYa`Z30|LR-=niz>w;3n zSr>0!B22p-N>UcE$Ao1zZnc7mSg{PO$2nKStLOPBF?PLA;_uYDhXc>C6}b~zbPFn437*R2Jc zQ>j7>0+~4`uCoN98aVK4Ahn+8?Uu2FJt_9YI?9)t{>artGhgh?(o(1d6EJg70vczW zY5~vr-hMy#p2zTSKky+ux`5ZxXa5-qdw=SY;=JUWS0T`o6YzL9BEm@Ha{c;|=>Wg< z_*3}Vhc05CeRh&B7f2hu zAt?SS;PITbm&_rBX1PIX!m1i0Kl;E0{QW1MT74b0RGL5aw}LjWNUzt8*|Xli%%0!j z()Qnd^u74#xd&nxBh>E{?vX#b0W<`L@+t8v>Vva~fu-oQ)Mu*^frC{pM3C-f9i4Ts zn6TLwa@5(n&_2>E(FH|A3of5Mi(mTDk1Pz#PWi8E;X8n#2IAa>a=kX@&G^%U_zUm7 zj0f8ukOjoq>Z+{JJz7HD-tZ71^xdK`pHnMKIYX`1w??6spvhE^(#ph`rFG03^x@h2 zBR8WQMyC-E|3~3gx=S*lvUKS$U3xDrEy2o`U?yh|Q|vgtc>{N^Uk3-ncb5os-{Ah; z9L=2mm4hAr*Q?*}o0l7yMtt`m9?j<2ds@=%-%WZjA~z@d-R5oHxbDX;#wg6(aIwjN z9^B;f@?eubXeEKiLkO^QH)nL|>^c0sr$2yO$H#c>&Mmxo?;cKOlVu&X9VNo*o1+A8 z+`a2k7+H?)+`<1nx?cL_W8iJ2Jr3V3Li#`(wk*Q*+4d*fO+t8>=lJq&4Im1|lf&uRIcSv2pVB{Kc+!w=));UR9_y%YQvNedw~W{xqV zF+Z%~F!YIWWO~3ay@Yz0@-= z*FRhUed+ewz3y}Ujj0CiM*A_EQk47h4AnGpUZv;O4P;|d()!@arEyK1LI$w+Z0wFC zmy*=nLC}hZN%4KuELbUY1#dccwrk6%c?g%$HBVA&;r$_5z3a%_De=y^S(nEHGsK9xosci$n|Z$1)AT}@Yyx|(A* z&7zmKd6s5fjW406)c3nB5|h#sq@4;s?F>MsyGW*JcKU5lo#XY%<{PxQBE>MV;ICLE z%UxFCV`#Tp+)rYi$%yHaq|H_8Z|{nLr{sJhA|^LPvR*ep;k^`7m`O|UF4c%_G+|~m z-FI%l9#jiyBqi!2z{mphH9f0A($qqblIzTE=6f>G+I5t3@cNCW)9o#;_g$;9KC6G~ z&o=&w_#T588>2Y~iF?ElO7|hgp0Q)BM({I`oGFh5y$YYq&ZUSnpD_&ZPIG!ZNCuON z6LnFCkN-^GJ3lq+ag%zmWc+gvU&M3odkQ~(@lia!M1Y6pXC3762#L4rU;XYM;W}Vld6W+xFlj^7C-XPL-^N! z_Q&zm0}oj3-Q>(9m4mAHq_CQ{lA@^`SS5u~>u zkDmkq=~Dz;4Sb*)5s6p_M%GxKej-jT|9s@a!}z(!o?ME}I0^6)n2=6p2FRb5wz@ZJ zbC+VY2B6lTx#S)WA~)JMYthI=-s;g{5LqV3F9aVLMB9HnFUl(&@$=_&e`1~cg~#8ACzpY} z*Y6)jiuq$J$mV=CvG8=%XBdJV4sMWEBNWQ6r^;ugUuB?rPl$neK^hBe#(}vf#hkBk zzIFU#kG=;F?Yh}K3D#=q)=cSh+-FB(iHRhytO>5qMi9A&$}HOShk4N2X;XWTEHgAe zwO9@e8qS<7l@QZ82QRygYn+=pH0f|*nB3p66%FY@GJ_{)cs9NO>}fN#tK=ti25a!S zC0zf=gAcBEGj(pGU8H5q>e;|U0laHqUx~0a!O)PbUrEDe`sIBJ4hvBG@5DO%7cV@7 z3roM|*{CQBm8prUTG3EKf-c>+>F|8Ju}R~4awg9V7^>#6>IQ{UwSdo22l<^Mp~k@{ zmSv+$yEC>k*_fuI=3&G5@s}nyiC+8U>wvED+#eU1Q9!itwX~lmx6|1cnx8m4)9ap7 zYD15$Esq;`SHL_d2-D;37T%5zt^5?wBNMfdp20#i1cV87DZ>C>+{P|9B|+#Ne)7z@ z&KPCss_T6-bn~nKVb4!v(znQ;45lU`zgx?2IZa#hEQ;g>%nLX|=b#Zn}xXhx9G3|^xS(d<1asY zY3=N8>Eus5auGlK_~o7lrvxWaSN5m$1EUGcJ1@h1=V#sOp!8X(QU}uOO{1a2mu#DH zpuKwbFifeYc7(=ZBcUk7@=CtcdXbU`(}W;d9hf|XHI~fiwpGv3JAQA8INPw~pMU7j z;9JWaW;5U)eBi=rn(i9F`!o!DsI5%VGCpEJ9p$hYL_1qVGlD@tF|*EK*1mx*1-quc zniE?pLRJi=#>@k%+|4PQyr6x}Hj%kaNm4VhY0_qtZ^%Slsr^ENlQS6@jx^g&hcji? z6C5tS=|?a0Axay3-&@SwOrXRB-zkEDfq717faJ8#WK~+=G)+{myP$N((j7-k?)N^E zpHC_1G}0zsa9+c07Y4}oS-9_;j2Xt#?(dB7Gz__;nm4DW8K}N=b?&p958o-4eltO^ z&Iq+nu#HTO!vtj!k!2-e-b^TrpeR+t2d|c&TH1IS)=IS$DGIAVepM_B=9HkaDY3F4 zy6{);BF&V-f*1sv))o|O>|6tK#(m8vWV@wnZW76P5KPtqel0ELszXSy5(maBsrFo` z9oLV{Hf)u5pS1 zRLyiHdV)`8VuPi#iJ@?(ds{**=%!XfI@f=Tgzn>VvTvU))ZtDj)%g~+ONCfB8+ z?xi;7eVE+LhT~J(8IXO$=G})u%!khT>2f}_g7WUf@Ti8fekYGJku)`o!YPg7bg0n6$J8;HID9YIP) zk=eJTYP*J5hZyNkQGBAR@}3w+L_=jeQ`2;=V2H-Mb55kvx?pJP3TXRx3P;^%MP_>+ zB0*EFKG54LFNXk?#f77T_UUL+Ej?{BHd{Pu&P|dIQDFo`f)M)xI%ym|0;ymm1R&7Z z|H+$}5E`5GJ4p6=88f{VO7qYg9M+^KNm-R}i3X^H~5))j3c~gOz;k?Xcua2@Lq1`%z!`1sssJ zIQv;(1nnLeKyx^%;umdM0 zIH?+D&ygyrBx%Y#*Cr2{JPsx{ zA|iQ_wNXB$xP3)qBBtv`yDNA)fS6V-=cT(ZEL-|bh;}+iliPIfchkND%kP3dYcBgM zsq^Z@q3aZ=YoYJ?SkoCWO*7%E?K64$xat;onK<5R#W-F&S=axnwidGw&aMTgv<_8Y zU7+&Lc{I?YZfUv}wK09)za>>84Y1_4#%?2eO7y$@?aZE_2jCV-6 z>?BqJ&xLIC_r)_4@kT6q580Oyxg3)xI9ZI9z+x#af3xjVErml1OXl|eFs zgN_J3h_-TQS{T0k5$6WJ93Sd2M=~DfZx7(1Hb#)s|z?M*la_$l+6X8WE_O zwl>C{bRu)*Ikpbv9WHNIuWIVzWcQCzle6crxATtKi44;f;;f`XD&B*27{(sQsQ%f<^0pFD)AE63NjKOv9@(F1h(MQcLveooSsE|851+w|a-HD`84Bf|xWm{oi{Y4NL}lVOFeI$9LEGgutNjMY=C9LmX#(_&USc-#`M5_d0m?3_>n5K`fu*f)2s~uz>8mao08u zBz!5Utw0q`}W18?-RHbOlmey9mp_*WLC{_gPxcFG)rX~o6>Di)6$!UedXFK zYg-Su7e%;?X5cZ8^^NrwT0ub>Jp-2kh3LBHxwl>Gb>G%@WHdcP?;2g=9fd%$8_pj)v1FPZDqtZFjAA@%$Tf$zerRW^ScWZzWmDf zR+IGj`SY~BzB0CKC1kLS)_D+)Ii70>Aio1q-b_;7R_Q`ueL$`EJ-ajO)ZTAhdkz0* z`6=-`tdLgFndWF!6Dn7{#DXeCrh~xt#9gkzNdN`-Oo{~`Z9Co?wVRJK^$!63+Mf3z zfh|FKz%x*@=2#@Q`K|x<@*m;D4?cp+=g%$qF5tD>w-)UL@()FVoIH@*_5CnIq;-`q zeLAfa>|xBPIg*9pO*gaIzEk=@o7#K(ZT#nNeX}_&MY>)4$0b%1`@UcQ@7f)GA9S{X`?UObAU$LIti~k$b>sHm`ka3asL9T)45oM{ z)|kNa8u|XIkJ&!^aWbz{XD>YUBlw$7e{d!8=E(_eEYajW)2!2`vgI98Vq7d4@SJuG zCD$^|*IigZJ7=!}{O?!3kI!EH7VfrwHQ%>8Scf@s&?g!CCr+|__-Wy7j5!tPv^hvZ zgbOmgp1porkMe^XN$c0Y{MMPZFMz&_#c1g zxA4{Pe-D5A%7^h|m)?uZXU|nFJDvB~2L_RUpBw-~tK*YK+ahGYck~9n{OT+C${W{k z+|nDMQ!mw5W(0LBpevEz+u1CL?cZt^V177F z!A%(;h<{y*QJ0ExEJ(T6ATINb->>nzHW~2B?c4bO%W$WCt>U;*x&mjPC}E*W#5xdC zhTh24c3~r$!eYQi84qCGjEa<%4sUkVz*%zu>frf2hFB#Wj0pQb^x*-_&-GzPZ=i$R zpHJ$Gy;AF0ZJXMZ*c6`sJGXA)yWjtIxS2FX?s|lnEyYAu)8o&2yOULrb(mFf@W?!M zaP3<%Z7z1|ljiGB{44?5I<;pQ28gjWfkZxutLof*>I*RZAr5Uzy(Cw`-suOlf1S<|(9p1TWL0 z=j;GCphx4#0z`x5b@2MxwNLDWK*FjYM+QyFQ&v{iKD#X%>_JSf9ZJl~@U+|N1Jlo? z_1{F7@Im;TpVx9Qz36((J?OEJ9jtjs&8(Z13`}1lYJ{&r!NIDLG0wqM&Ea77QXo>R zwt;{UzI(Kfz!w5={h79Dtcv6_vwp!;*FHzj>GF33#lUdc>g6+nF7FkhSI%ERnREUqW=_ z2Phdyb*6`)lLn4}x&*VpkjB;b_k_+4(i8$F=DU4`#G7h<%xBjgkhrMi(IHI*cxvO_d%{!TgR8c=5GE(m1C}i7#H88dFkm=x`8_fgEDj znYT+;5UFK7WeCqqLBa>dz>)%%aSNe?H`~T0aZt@sPNWU9nNyf)i6MmMR}SNEKadoy zf))XTL^=kLBzz`{pBw!hr+Ho7l`xprb^#DbA7|%DHUd&KO0%ezpd&Rapb%3N2ay1C zF)c2}w2nsnrh&%5+>2<19K;UA+KB&w4%gIm6O$;dydzhI!Q`0_e@F)^>vV#B?W8nKTU1sf^|n z#s7IfV;~Qg03(QBX6f&;_W;9#mZm+k*yf!Wyh}!&;%kP8NVL^Eo7VKdSk|RaqHVJC zQW;86Cxi9?srN|_O>m84;6=y~P&s=Z07cD`<}J-YXpVE(p9=%;)a zW$@pXuKWSW*sHQOlJ}kWnv=fBkL=90nKmYr-DFxmue(epTRvW8@a+wL%+{v2tqNjI zrh}Ohj8pL1Vq9sacoB_9YRqyW=6WgJITUSMdsbIGQw+})xiQQeE;W`(bZ_6yE(V&! z>e%s^#gX;RIGvG6jQjL8U^K~610=TAt8Gh+4Yh#SV6|(V|J|eBU=O`PLklBNQ#Q@G z+P^_)nBj@c|9XU(Q8PhSv$+P5!4$$Z%DCi;&h1IoFQ$$~n}+uM3m&0?J`4zVY1S=S zVW7Y?-Jd6)3QgAHj)`{jlFqc>=P<#|qs^qu-L(4teII^IW=`F-ih($pfcWIJZx7(z zYs}WNtRif`Y=@cq?y!AI#yA5AP`$)zt1lc!npG>OssToR_TQhQmM7sc5@ReFELW#M z!9kEKP{aWWNbz+JCedU99ABx3=trXa=u1I1!jT#21iG&~35fgQK+FcB&*Ds$&&QF1 zjAE_v^mFQ+(4Z?{R}ODM9e2l`8k*BnlF=KKaU|bl63&BV=ZBROf6me${L1pA>j7fv zmn1zA*dVP*M5$K2hGnW20JNd3{P8Q7`bg8%jJ3jfxJO-N4L@gE#+!M|c0#1j0CMpa zEOBv83P+z%v$$*H~KUlFt3ttfN#2=;mLmPnF6^)EUvG)m!QWP&f7t&$4!- zGilo)R6Rjn^-FTFxdtJ=m}k=KbDL_BWqYtjo{L$X=+Cvynv&@g*#35tkXaM!e0MMD zPeb@*t8uR39ua!p+0MOF_D^UO(p-@*4aEX$5`y{8-(o@cnbT1dHHfhCTIpfy1Byrd z+8v|TYrnOrG!K{EOw4QAENtc&fUIl%lD|Fcot@x+B2|d=Fr7yC`eXB?Rg&EV_-DU_ z%oLj=_qEw^q&XdYSH9kbtQYP}2?S_~2^jQZo+DX9=$y`(K@P%FP+_dzEvR~#ym}HmQV%V+SAi_GI zW)B$6;Y{~bGuV7)DZa9QgCCm1DNTBkXVo1j{X;#dbf|8g`_RWVnvE=%;YM0gGmJ-^ zd3*r`6io1jqj~mmoq{(po!H;3&2eFZ)zfW*k}{C?6(w~r>Fkt9b|mfz#7Ku$kX^7? zD9C39iL0c6@@g`TE7RIhXEyra z-3fM3b5|JeKGOheRz52MNo82Wh!Ocb!N?t8&U6VbC-{*iI$a0&Syu=wbkHgVN5pJt z);#lE?m^n6${L4KKa|x58Q_BjjY}bE@cS887ZW=F9+SkKQ)rQ5We^=mrI{7_@OKMl zWflTHyADv&+o>o4mfDXbj^1|C8 zU>DwfX*!q=UtF$_sEMNb-sx&$$+w|iyOu?e62Cd~yLN(ns!~VDqxjXg@A<|r4Om$2j}qObo9bMY~X!XM~w?H z(5)m|B_oLQJorQlPT0>eaAnu@U^2MN*aKpDE+A>=j&8y5zEu!)ung3F0%fF&EkK0` zMc^ag(xek4q}Iil1kMyb@`_*UbXxycMA?I6i#ma(Sl7Q~`m8#*eirS?sIX+4VY zsHfFyC-q>`Pqp(3;O!Uw>D6Vh_?c+dD$YM$JN#EgiK5Rrv`#^$)5@d|B-1JUZbEM> zmQ)H`)piJA10MUEVBCi3AR+KPslg~hav#lirtW(_@=8F!=m2OHwxADGhVp^>xA62c zFaFrGR|CLy?Bw8+OV+DVog$`#qN9Y{s2OFPr&@;#N`4Uu)`@E`0m`6_5}qQM8i=B$ zN(@GoYOa4|j?r0!;yxhK%vf3lVzH98Y|=vsYWu8-^9UN%vpl|f=6L#~w;upDUpULj za~(v}1f^;S#E=Cg2`3!8XI=$(ga2s$`qV3R7gSsk^plktpo;x5_@04 z{TVf5(0J=Za9I^f(_cxGq8cm~I1JG9Sy6+hChWL6pU87BKKty^2EcZ#rd04k1JToF zC27#wu(BpV2fwKy1a*a?o{$XensHO<4h{VIxKB5Fg<46!$vrFsB<#fYdjt3ZA zDA55|0%RGg7pUNkrrj${VV0{hpS{MXUSh z=>7i8c|CY`)I2`~?{J*^+^=3a(A_7Oj6dJ^e%LY*?JMzZfSwXN_IzufYFziN6o~b} z*m$=5cjxGbv6Vp1o$Y_K-3hgAeO}hn_<5#h{hhR+EY=$%Wvs)Nb+&bTxuFf_1JPLP zpgxOJl5{YA*51)1`0N4n)1QC#r>^2Y$2$V($HmY6*NZ2(_xz&DKeM#=7nY(|S~72t zO)$sK`L)*PAmW$vy`wj?uCr&?zazho36Y1G7wt@vn|{Y~d%&;sdM%(l_hI%vVcJ)( zr;Ehq>!IAyLig2WEwP!%FU`}r7r#h>%KeT%0iCWvy4P1}=Kufz07*qoM6N<$f?<$& AV*mgE literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/get-started-card-dark.png b/www/apps/book/public/images/get-started-card-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..cf78ad0c315856192582a233abcf36095d2678d1 GIT binary patch literal 5660 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 literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/get-started-card-md.png b/www/apps/book/public/images/get-started-card-md.png new file mode 100644 index 0000000000000000000000000000000000000000..2b1910e9d3ebac2712bd0f87830aa1d5d51e2b75 GIT binary patch literal 195685 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⁢U0JeGy0)gc+J%_3d;XbZax|L!QF>H0dHxvC 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

xS-Ij_YQ)l`z1Wnc@ zQ-+k7TR15iLpH(UrK4Xzl;koYdUI^1dJh>6+{XB^cnqW5xC6@JRPCLu z*uGdA_o~kX|K=NwdQ{q%YRwB-5hGtd&D_voVMuI<);-j_S1IbktHN$RZ#cl>?T0>xcw4}2mId@5yyxsZQAhoIjws29$i%2PK(Dd; zAk)v)4?<=f%|I?=obXs`hB8KU|*+atXm^a!*xRT@fZtZ_P5>3vV& z?R2|tT3(?I5|o2yvU&*i_rH1gzk#LagVtaKj|u;CiPJi7?xNt*-&p8{i0j1M02G$d z3OUm4GDu1H#XuL9k1jXCc=KcEs+#x;IWW>5>&}N^9_Nm()*a=})msiHuL7Z%{iD?f z&*(aS?$0k1`KMt2QH*H0mNNuxgtvogfX?Uz-iB?F^-9kf>udnj=;uL6C3%X

h-3;7c-Ezgr$j2p9CQRUxB(dC6kZ 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 z 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πHhhq%)khVSebm~dBy{U^7nT)Q|kRFh6 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 VXEK)%G@<|i002ovPDHLkV1oPikk9}C literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/get-started-card.png b/www/apps/book/public/images/get-started-card.png new file mode 100644 index 0000000000000000000000000000000000000000..5b05ed9b27e1cc6c915eec3c8a70bcb5f9cec573 GIT binary patch literal 5913 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 literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/order-icon.png b/www/apps/book/public/images/order-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8869a30ec8d1513d66a0561399fa9f611c0e9bfc GIT binary patch literal 12580 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 literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/payment-icon.png b/www/apps/book/public/images/payment-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..124d62965d210495274a22bd6fd2b87225fea6aa GIT binary patch literal 10235 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

IbL{Vhz(bHO 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 literal 0 HcmV?d00001 diff --git a/www/apps/book/public/images/tax-icon.png b/www/apps/book/public/images/tax-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2be16099b44415eb7a793098ea1ccf18555cf452 GIT binary patch literal 12022 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 LNkvXXu0mjfq$ApP literal 0 HcmV?d00001 diff --git a/www/apps/book/sidebar.mjs b/www/apps/book/sidebar.mjs index 814073317a..eabd10db4e 100644 --- a/www/apps/book/sidebar.mjs +++ b/www/apps/book/sidebar.mjs @@ -6,193 +6,193 @@ export const sidebar = numberSidebarItems( sidebarAttachHrefCommonOptions([ { type: "link", - path: "/", + path: "/learn", title: "Introduction", }, { type: "link", - path: "/first-customizations", + path: "/learn/first-customizations", title: "Your First Customizations", chapterTitle: "First Customization", }, { type: "link", - path: "/basics", + path: "/learn/basics", title: "The Basics", chapterTitle: "Basics", children: [ { type: "link", - path: "/basics/project-directories-files", + path: "/learn/basics/project-directories-files", title: "Project Conventions", }, { type: "link", - path: "/basics/medusa-container", + path: "/learn/basics/medusa-container", title: "Medusa Container", }, { type: "link", - path: "/basics/modules", + path: "/learn/basics/modules", title: "Modules", }, { type: "link", - path: "/basics/api-routes", + path: "/learn/basics/api-routes", title: "API Routes", }, { type: "link", - path: "/basics/commerce-modules", + path: "/learn/basics/commerce-modules", title: "Commerce Modules", }, { type: "link", - path: "/basics/modules-directory-structure", + path: "/learn/basics/modules-directory-structure", title: "Modules Directory Structure", }, { type: "link", - path: "/basics/loaders", + path: "/learn/basics/loaders", title: "Loaders", }, { type: "link", - path: "/basics/events-and-subscribers", + path: "/learn/basics/events-and-subscribers", title: "Events and Subscribers", }, { type: "link", - path: "/basics/scheduled-jobs", + path: "/learn/basics/scheduled-jobs", title: "Scheduled Jobs", }, { type: "link", - path: "/basics/workflows", + path: "/learn/basics/workflows", title: "Workflows", }, { type: "link", - path: "/basics/admin-customizations", + path: "/learn/basics/admin-customizations", title: "Admin Customizations", }, ], }, { type: "link", - path: "/customization", + path: "/learn/customization", title: "Custom Development", chapterTitle: "Customization", children: [ { type: "link", title: "Build Custom Features", - path: "/customization/custom-features", + path: "/learn/customization/custom-features", children: [ { type: "link", title: "Brand Module", - path: "/customization/custom-features/module", + path: "/learn/customization/custom-features/module", }, { type: "link", title: "Create Brand Workflow", - path: "/customization/custom-features/workflow", + path: "/learn/customization/custom-features/workflow", }, { type: "link", title: "Create Brand API Route", - path: "/customization/custom-features/api-route", + path: "/learn/customization/custom-features/api-route", }, ], }, { type: "link", title: "Extend Models", - path: "/customization/extend-models", + path: "/learn/customization/extend-models", children: [ { type: "link", title: "Define Link", - path: "/customization/extend-models/define-link", + path: "/learn/customization/extend-models/define-link", }, { type: "link", title: "Create Links Between Records", - path: "/customization/extend-models/create-links", + path: "/learn/customization/extend-models/create-links", }, { type: "link", title: "Extend Route", - path: "/customization/extend-models/extend-create-product", + path: "/learn/customization/extend-models/extend-create-product", }, { type: "link", title: "Query Linked Records", - path: "/customization/extend-models/query-linked-records", + path: "/learn/customization/extend-models/query-linked-records", }, ], }, { type: "link", title: "Customize Admin", - path: "/customization/customize-admin", + path: "/learn/customization/customize-admin", children: [ { type: "link", title: "Add Widgets", - path: "/customization/customize-admin/widget", + path: "/learn/customization/customize-admin/widget", }, { type: "link", title: "Add UI Route", - path: "/customization/customize-admin/route", + path: "/learn/customization/customize-admin/route", }, ], }, { type: "link", title: "Integrate Systems", - path: "/customization/integrate-systems", + path: "/learn/customization/integrate-systems", children: [ { type: "link", title: "Integrate with Service", - path: "/customization/integrate-systems/service", + path: "/learn/customization/integrate-systems/service", }, { type: "link", title: "Handle Event", - path: "/customization/integrate-systems/handle-event", + path: "/learn/customization/integrate-systems/handle-event", }, { type: "link", title: "Schedule Task", - path: "/customization/integrate-systems/schedule-task", + path: "/learn/customization/integrate-systems/schedule-task", }, ], }, { type: "link", title: "Next Steps", - path: "/customization/next-steps", + path: "/learn/customization/next-steps", }, ], }, { type: "link", - path: "/advanced-development", + path: "/learn/advanced-development", title: "Advanced Development", chapterTitle: "Advanced", children: [ { type: "link", title: "Architecture", - path: "/advanced-development/architecture/overview", + path: "/learn/advanced-development/architecture/overview", children: [ { type: "link", - path: "/advanced-development/architecture/architectural-modules", + path: "/learn/advanced-development/architecture/architectural-modules", title: "Architectural Modules", }, ], @@ -200,177 +200,177 @@ export const sidebar = numberSidebarItems( { type: "link", title: "API Routes", - path: "/advanced-development/api-routes", + path: "/learn/advanced-development/api-routes", children: [ { type: "link", - path: "/advanced-development/api-routes/http-methods", + path: "/learn/advanced-development/api-routes/http-methods", title: "HTTP Methods", }, { type: "link", - path: "/advanced-development/api-routes/parameters", + path: "/learn/advanced-development/api-routes/parameters", title: "Parameters", }, { type: "link", - path: "/advanced-development/api-routes/responses", + path: "/learn/advanced-development/api-routes/responses", title: "Response", }, { type: "link", - path: "/advanced-development/api-routes/middlewares", + path: "/learn/advanced-development/api-routes/middlewares", title: "Middlewares", }, { type: "link", - path: "/advanced-development/api-routes/validation", + path: "/learn/advanced-development/api-routes/validation", title: "Validation", }, { type: "link", - path: "/advanced-development/api-routes/protected-routes", + path: "/learn/advanced-development/api-routes/protected-routes", title: "Protected Routes", }, { type: "link", - path: "/advanced-development/api-routes/errors", + path: "/learn/advanced-development/api-routes/errors", title: "Errors", }, { type: "link", - path: "/advanced-development/api-routes/cors", + path: "/learn/advanced-development/api-routes/cors", title: "Handling CORS", }, { type: "link", - path: "/advanced-development/api-routes/additional-data", + path: "/learn/advanced-development/api-routes/additional-data", title: "Additional Data", }, ], }, { type: "link", - path: "/advanced-development/modules", + path: "/learn/advanced-development/modules", title: "Modules", children: [ { type: "link", - path: "/advanced-development/modules/isolation", + path: "/learn/advanced-development/modules/isolation", title: "Module Isolation", }, { type: "link", - path: "/advanced-development/modules/container", + path: "/learn/advanced-development/modules/container", title: "Module's Container", }, { type: "link", - path: "/advanced-development/modules/options", + path: "/learn/advanced-development/modules/options", title: "Module Options", }, { type: "link", - path: "/advanced-development/modules/service-factory", + path: "/learn/advanced-development/modules/service-factory", title: "Service Factory", }, { type: "link", - path: "/advanced-development/modules/service-constraints", + path: "/learn/advanced-development/modules/service-constraints", title: "Service Constraints", }, { type: "link", - path: "/advanced-development/modules/db-operations", + path: "/learn/advanced-development/modules/db-operations", title: "Database Operations", }, { type: "link", - path: "/advanced-development/modules/multiple-services", + path: "/learn/advanced-development/modules/multiple-services", title: "Multiple Services", }, ], }, { type: "link", - path: "/advanced-development/module-links", + path: "/learn/advanced-development/module-links", title: "Module Links", children: [ { type: "link", - path: "/advanced-development/module-links/directions", + path: "/learn/advanced-development/module-links/directions", title: "Module Link Direction", }, { type: "link", - path: "/advanced-development/module-links/remote-link", + path: "/learn/advanced-development/module-links/remote-link", title: "Remote Link", }, { type: "link", - path: "/advanced-development/module-links/query", + path: "/learn/advanced-development/module-links/query", title: "Query", }, { type: "link", - path: "/advanced-development/module-links/custom-columns", + path: "/learn/advanced-development/module-links/custom-columns", title: "Custom Columns", }, ], }, { type: "link", - path: "/advanced-development/data-models", + path: "/learn/advanced-development/data-models", title: "Data Models", children: [ { type: "link", - path: "/advanced-development/data-models/infer-type", + path: "/learn/advanced-development/data-models/infer-type", title: "Infer Type", }, { type: "link", - path: "/advanced-development/data-models/property-types", + path: "/learn/advanced-development/data-models/property-types", title: "Property Types", }, { type: "link", - path: "/advanced-development/data-models/primary-key", + path: "/learn/advanced-development/data-models/primary-key", title: "Primary Key", }, { type: "link", - path: "/advanced-development/data-models/default-properties", + path: "/learn/advanced-development/data-models/default-properties", title: "Default Properties", }, { type: "link", - path: "/advanced-development/data-models/configure-properties", + path: "/learn/advanced-development/data-models/configure-properties", title: "Configure Properties", }, { type: "link", - path: "/advanced-development/data-models/relationships", + path: "/learn/advanced-development/data-models/relationships", title: "Relationships", }, { type: "link", - path: "/advanced-development/data-models/manage-relationships", + path: "/learn/advanced-development/data-models/manage-relationships", title: "Manage Relationships", }, { type: "link", - path: "/advanced-development/data-models/index", + path: "/learn/advanced-development/data-models/index", title: "Define Index", }, { type: "link", - path: "/advanced-development/data-models/searchable-property", + path: "/learn/advanced-development/data-models/searchable-property", title: "Searchable Property", }, { type: "link", - path: "/advanced-development/data-models/write-migration", + path: "/learn/advanced-development/data-models/write-migration", title: "Write Migration", }, ], @@ -381,11 +381,11 @@ export const sidebar = numberSidebarItems( children: [ { type: "link", - path: "/advanced-development/events-and-subscribers/data-payload", + path: "/learn/advanced-development/events-and-subscribers/data-payload", title: "Events Data Payload", }, { - path: "/advanced-development/events-and-subscribers/emit-event", + path: "/learn/advanced-development/events-and-subscribers/emit-event", title: "Emit an Event", }, ], @@ -396,81 +396,81 @@ export const sidebar = numberSidebarItems( children: [ { type: "link", - path: "/advanced-development/scheduled-jobs/execution-number", + path: "/learn/advanced-development/scheduled-jobs/execution-number", title: "Execution Number", }, ], }, { type: "link", - path: "/advanced-development/workflows", + path: "/learn/advanced-development/workflows", title: "Workflows", children: [ { type: "link", - path: "/advanced-development/workflows/variable-manipulation", + path: "/learn/advanced-development/workflows/variable-manipulation", title: "Variable Manipulation", }, { type: "link", - path: "/advanced-development/workflows/conditions", + path: "/learn/advanced-development/workflows/conditions", title: "Using Conditions", }, { type: "link", - path: "/advanced-development/workflows/constructor-constraints", + path: "/learn/advanced-development/workflows/constructor-constraints", title: "Constructor Constraints", }, { type: "link", - path: "/advanced-development/workflows/compensation-function", + path: "/learn/advanced-development/workflows/compensation-function", title: "Compensation Function", }, { type: "link", - path: "/advanced-development/workflows/workflow-hooks", + path: "/learn/advanced-development/workflows/workflow-hooks", title: "Workflow Hooks", }, { type: "link", - path: "/advanced-development/workflows/add-workflow-hook", + path: "/learn/advanced-development/workflows/add-workflow-hook", title: "Expose a Hook", }, { type: "link", - path: "/advanced-development/workflows/access-workflow-errors", + path: "/learn/advanced-development/workflows/access-workflow-errors", title: "Access Workflow Errors", }, { type: "link", - path: "/advanced-development/workflows/retry-failed-steps", + path: "/learn/advanced-development/workflows/retry-failed-steps", title: "Retry Failed Steps", }, { type: "link", - path: "/advanced-development/workflows/parallel-steps", + path: "/learn/advanced-development/workflows/parallel-steps", title: "Run Steps in Parallel", }, { type: "link", - path: "/advanced-development/workflows/workflow-timeout", + path: "/learn/advanced-development/workflows/workflow-timeout", title: "Workflow Timeout", }, { type: "link", - path: "/advanced-development/workflows/long-running-workflow", + path: "/learn/advanced-development/workflows/long-running-workflow", title: "Long-Running Workflow", }, { type: "link", - path: "/advanced-development/workflows/execute-another-workflow", + path: "/learn/advanced-development/workflows/execute-another-workflow", title: "Execute Another Workflow", }, ], }, { type: "link", - path: "/advanced-development/custom-cli-scripts", + path: "/learn/advanced-development/custom-cli-scripts", title: "Custom CLI Scripts", children: [ { @@ -482,27 +482,27 @@ export const sidebar = numberSidebarItems( }, { type: "link", - path: "/advanced-development/admin", + path: "/learn/advanced-development/admin", title: "Admin Development", children: [ { type: "link", - path: "/advanced-development/admin/widgets", + path: "/learn/advanced-development/admin/widgets", title: "Admin Widgets", }, { type: "link", - path: "/advanced-development/admin/ui-routes", + path: "/learn/advanced-development/admin/ui-routes", title: "Admin UI Routes", }, { type: "link", - path: "/advanced-development/admin/constraints", + path: "/learn/advanced-development/admin/constraints", title: "Constraints", }, { type: "link", - path: "/advanced-development/admin/tips", + path: "/learn/advanced-development/admin/tips", title: "Tips", }, ], @@ -511,87 +511,87 @@ export const sidebar = numberSidebarItems( }, { type: "link", - path: "/storefront-development", + path: "/learn/storefront-development", title: "Storefront Development", chapterTitle: "Storefront", children: [ { type: "link", - path: "/storefront-development/nextjs-starter", + path: "/learn/storefront-development/nextjs-starter", title: "Next.js Starter", }, ], }, { type: "link", - path: "/debugging-and-testing", + path: "/learn/debugging-and-testing", title: "Debugging and Testing", chapterTitle: "Debugging & Testing", children: [ { type: "link", - path: "/debugging-and-testing/testing-tools", + path: "/learn/debugging-and-testing/testing-tools", title: "Testing Tools", }, { type: "link", - path: "/debugging-and-testing/testing-tools/integration-tests", + path: "/learn/debugging-and-testing/testing-tools/integration-tests", title: "Integration Tests", children: [ { type: "link", - path: "/debugging-and-testing/testing-tools/integration-tests/api-routes", + path: "/learn/debugging-and-testing/testing-tools/integration-tests/api-routes", title: "Example: API Routes Tests", }, { type: "link", - path: "/debugging-and-testing/testing-tools/integration-tests/workflows", + path: "/learn/debugging-and-testing/testing-tools/integration-tests/workflows", title: "Example: Workflows Tests", }, ], }, { type: "link", - path: "/debugging-and-testing/testing-tools/modules-tests", + path: "/learn/debugging-and-testing/testing-tools/modules-tests", title: "Modules Tests", children: [ { type: "link", - path: "/debugging-and-testing/testing-tools/modules-tests/module-example", + path: "/learn/debugging-and-testing/testing-tools/modules-tests/module-example", title: "Example", }, ], }, { type: "link", - path: "/debugging-and-testing/instrumentation", + path: "/learn/debugging-and-testing/instrumentation", title: "Instrumentation", }, { type: "link", - path: "/debugging-and-testing/logging", + path: "/learn/debugging-and-testing/logging", title: "Logging", }, ], }, { type: "link", - path: "/deployment", + path: "/learn/deployment", title: "Deployment", }, { type: "link", - path: "/more-resources", + path: "/learn/more-resources", title: "More Resources", children: [ { type: "link", - path: "/more-resources/cheatsheet", + path: "/learn/more-resources/cheatsheet", title: "Cheat Sheet", }, { type: "link", - path: "/more-resources/examples", + path: "/learn/more-resources/examples", title: "Examples", }, ], diff --git a/www/apps/book/tailwind.config.js b/www/apps/book/tailwind.config.js index d582b22247..488af7843f 100644 --- a/www/apps/book/tailwind.config.js +++ b/www/apps/book/tailwind.config.js @@ -32,6 +32,8 @@ module.exports = { "search-no-result-dark": "url('/images/search-no-result.svg')", "magnifying-glass": "url('/images/magnifying-glass.svg')", "magnifying-glass-dark": "url('/images/magnifying-glass-dark.svg')", + "bg-stripes": "url('/v2/images/bg-stripes.png')", + "bg-stripes-dark": "url('/v2/images/bg-stripes-dark.png')", }, }, } diff --git a/www/apps/book/utils/number-sidebar-items.mjs b/www/apps/book/utils/number-sidebar-items.mjs index 318fd4c740..e341e09387 100644 --- a/www/apps/book/utils/number-sidebar-items.mjs +++ b/www/apps/book/utils/number-sidebar-items.mjs @@ -5,7 +5,6 @@ * @returns {import("@/types").SidebarItem[]} The modified sidebar items */ export default function numberSidebarItems(sidebarItems, numbering = [1]) { - // TODO generate chapter titles if (!numbering.length) { numbering.push(1) } @@ -24,7 +23,7 @@ export default function numberSidebarItems(sidebarItems, numbering = [1]) { item.chapterTitle = `${item.number} ${ item.chapterTitle?.trim() || item.title?.trim() }` - item.title = `${item.number} ${item.title.trim()}` + item.title = item.title.trim() if (isTopItems) { // Add chapter category diff --git a/www/apps/resources/app/admin-components/components/forms/page.mdx b/www/apps/resources/app/admin-components/components/forms/page.mdx index fc3b34fbd1..469dcae57d 100644 --- a/www/apps/resources/app/admin-components/components/forms/page.mdx +++ b/www/apps/resources/app/admin-components/components/forms/page.mdx @@ -175,7 +175,7 @@ You create the `CreateForm` component. For now, it uses `useForm` from `react-ho You also define a `handleSubmit` function to perform an action when the form is submitted. -You can replace the content of the function with sending a request to Medusa's routes. Refer to [this guide](!docs!/advanced-development/admin/tips#send-requests-to-api-routes) for more details on how to do that. +You can replace the content of the function with sending a request to Medusa's routes. Refer to [this guide](!docs!/learn/advanced-development/admin/tips#send-requests-to-api-routes) for more details on how to do that. ### Render Components @@ -454,7 +454,7 @@ You create the `EditForm` component. For now, it uses `useForm` from `react-hook You also define a `handleSubmit` function to perform an action when the form is submitted. -You can replace the content of the function with sending a request to Medusa's routes. Refer to [this guide](!docs!/advanced-development/admin/tips#send-requests-to-api-routes) for more details on how to do that. +You can replace the content of the function with sending a request to Medusa's routes. Refer to [this guide](!docs!/learn/advanced-development/admin/tips#send-requests-to-api-routes) for more details on how to do that. ### Render Components diff --git a/www/apps/resources/app/commerce-modules/auth/create-actor-type/page.mdx b/www/apps/resources/app/commerce-modules/auth/create-actor-type/page.mdx index a190e10bb8..b37100870f 100644 --- a/www/apps/resources/app/commerce-modules/auth/create-actor-type/page.mdx +++ b/www/apps/resources/app/commerce-modules/auth/create-actor-type/page.mdx @@ -12,7 +12,7 @@ Before creating an actor type, you must have a module with a data model represen -Learn how to create a module in [this guide](!docs!/basics/modules). +Learn how to create a module in [this guide](!docs!/learn/basics/modules). diff --git a/www/apps/resources/app/commerce-modules/cart/extend/page.mdx b/www/apps/resources/app/commerce-modules/cart/extend/page.mdx index e80fad2108..7d671ff0dd 100644 --- a/www/apps/resources/app/commerce-modules/cart/extend/page.mdx +++ b/www/apps/resources/app/commerce-modules/cart/extend/page.mdx @@ -22,7 +22,7 @@ Consider you have a Hello Module defined in the `/src/modules/hello` directory. -If you don't have a module, follow [this guide](!docs!/basics/modules) to create one. +If you don't have a module, follow [this guide](!docs!/learn/basics/modules) to create one. @@ -43,7 +43,7 @@ This creates a `Custom` data model that has the `id` and `custom_name` propertie -Learn more about data models in [this guide](!docs!/data-models). +Learn more about data models in [this guide](!docs!/learn/data-models). @@ -55,7 +55,7 @@ Next, you'll define a module link between the `Custom` and `Cart` data model. A -Learn more about module links in [this guide](!docs!/module-links). +Learn more about module links in [this guide](!docs!/learn/module-links). @@ -82,7 +82,7 @@ This defines a link between the `Cart` and `Custom` data models. Using this link items={[ { text: "Module must be registered in medusa-config.ts", - link: "!docs!/basics/modules#4-add-module-to-configurations" + link: "!docs!/learn/basics/modules#4-add-module-to-configurations" } ]} /> @@ -115,7 +115,7 @@ To do that, you'll consume the [cartCreated](/references/medusa-workflows/create -Learn more about workflow hooks in [this guide](!docs!/advanced-development/workflows/workflow-hooks). +Learn more about workflow hooks in [this guide](!docs!/learn/advanced-development/workflows/workflow-hooks). @@ -150,7 +150,7 @@ In the snippet above, you add a validation rule indicating that `custom_name` is -Learn more about additional data validation in [this guide](!docs!/advanced-development/api-routes/additional-data). +Learn more about additional data validation in [this guide](!docs!/learn/advanced-development/api-routes/additional-data). @@ -202,7 +202,7 @@ In the compensation function that undoes the step's actions in case of an error, -Learn more about compensation functions in [this guide](!docs!/advanced-development/workflows/compensation-function). +Learn more about compensation functions in [this guide](!docs!/learn/advanced-development/workflows/compensation-function). @@ -260,9 +260,9 @@ The workflow accepts as an input the created cart and the `additional_data` para In the workflow, you: -1. Use the `transform` utility to get the value of `custom_name` based on whether it's set in `additional_data`. Learn more about why you can't use conditional operators in a workflow without using `transform` in [this guide](!docs!/advanced-development/workflows/conditions#why-if-conditions-arent-allowed-in-workflows). +1. Use the `transform` utility to get the value of `custom_name` based on whether it's set in `additional_data`. Learn more about why you can't use conditional operators in a workflow without using `transform` in [this guide](!docs!/learn/advanced-development/workflows/conditions#why-if-conditions-arent-allowed-in-workflows). 2. Create the `Custom` record using the `createCustomStep`. -3. Use the `when-then` utility to link the cart to the `Custom` record if it was created. Learn more about why you can't use if-then conditions in a workflow without using `when-then` in [this guide](!docs!/advanced-development/workflows/conditions#why-if-conditions-arent-allowed-in-workflows). +3. Use the `when-then` utility to link the cart to the `Custom` record if it was created. Learn more about why you can't use if-then conditions in a workflow without using `when-then` in [this guide](!docs!/learn/advanced-development/workflows/conditions#why-if-conditions-arent-allowed-in-workflows). You'll next call the workflow in the hook handler. @@ -355,7 +355,7 @@ Among the returned `cart` object, you'll find a `custom` property which holds th ### Retrieve using Query -You can also retrieve the `Custom` record linked to a cart in your code using [Query](!docs!/advanced-development/module-links/query). +You can also retrieve the `Custom` record linked to a cart in your code using [Query](!docs!/learn/advanced-development/module-links/query). For example: @@ -369,7 +369,7 @@ const { data: [cart] } = await query.graph({ }) ``` -Learn more about how to use Query in [this guide](!docs!/advanced-development/module-links/query). +Learn more about how to use Query in [this guide](!docs!/learn/advanced-development/module-links/query). --- diff --git a/www/apps/resources/app/commerce-modules/customer/extend/page.mdx b/www/apps/resources/app/commerce-modules/customer/extend/page.mdx index 6bbf7a358b..b3914e75dd 100644 --- a/www/apps/resources/app/commerce-modules/customer/extend/page.mdx +++ b/www/apps/resources/app/commerce-modules/customer/extend/page.mdx @@ -28,7 +28,7 @@ Consider you have a Hello Module defined in the `/src/modules/hello` directory. -If you don't have a module, follow [this guide](!docs!/basics/modules) to create one. +If you don't have a module, follow [this guide](!docs!/learn/basics/modules) to create one. @@ -49,7 +49,7 @@ This creates a `Custom` data model that has the `id` and `custom_name` propertie -Learn more about data models in [this guide](!docs!/data-models). +Learn more about data models in [this guide](!docs!/learn/data-models). @@ -61,7 +61,7 @@ Next, you'll define a module link between the `Custom` and `Customer` data model -Learn more about module links in [this guide](!docs!/module-links). +Learn more about module links in [this guide](!docs!/learn/module-links). @@ -88,7 +88,7 @@ This defines a link between the `Customer` and `Custom` data models. Using this items={[ { text: "Module must be registered in medusa-config.ts", - link: "!docs!/basics/modules#4-add-module-to-configurations" + link: "!docs!/learn/basics/modules#4-add-module-to-configurations" } ]} /> @@ -121,7 +121,7 @@ To do that, you'll consume the [customersCreated](/resources/references/medusa-w -Learn more about workflow hooks in [this guide](!docs!/advanced-development/workflows/workflow-hooks). +Learn more about workflow hooks in [this guide](!docs!/learn/advanced-development/workflows/workflow-hooks). @@ -156,7 +156,7 @@ In the snippet above, you add a validation rule indicating that `custom_name` is -Learn more about additional data validation in [this guide](!docs!/advanced-development/api-routes/additional-data). +Learn more about additional data validation in [this guide](!docs!/learn/advanced-development/api-routes/additional-data). @@ -208,7 +208,7 @@ In the compensation function that undoes the step's actions in case of an error, -Learn more about compensation functions in [this guide](!docs!/advanced-development/workflows/compensation-function). +Learn more about compensation functions in [this guide](!docs!/learn/advanced-development/workflows/compensation-function). @@ -266,9 +266,9 @@ The workflow accepts as an input the created customer and the `additional_data` In the workflow, you: -1. Use the `transform` utility to get the value of `custom_name` based on whether it's set in `additional_data`. Learn more about why you can't use conditional operators in a workflow without using `transform` in [this guide](!docs!/advanced-development/workflows/conditions#why-if-conditions-arent-allowed-in-workflows). +1. Use the `transform` utility to get the value of `custom_name` based on whether it's set in `additional_data`. Learn more about why you can't use conditional operators in a workflow without using `transform` in [this guide](!docs!/learn/advanced-development/workflows/conditions#why-if-conditions-arent-allowed-in-workflows). 2. Create the `Custom` record using the `createCustomStep`. -3. Use the `when-then` utility to link the customer to the `Custom` record if it was created. Learn more about why you can't use if-then conditions in a workflow without using `when-then` in [this guide](!docs!/advanced-development/workflows/conditions#why-if-conditions-arent-allowed-in-workflows). +3. Use the `when-then` utility to link the customer to the `Custom` record if it was created. Learn more about why you can't use if-then conditions in a workflow without using `when-then` in [this guide](!docs!/learn/advanced-development/workflows/conditions#why-if-conditions-arent-allowed-in-workflows). You'll next execute the workflow in the hook handler. @@ -367,7 +367,7 @@ Among the returned `customer` object, you'll find a `custom` property which hold ### Retrieve using Query -You can also retrieve the `Custom` record linked to a customer in your code using [Query](!docs!/advanced-development/module-links/query). +You can also retrieve the `Custom` record linked to a customer in your code using [Query](!docs!/learn/advanced-development/module-links/query). For example: @@ -381,7 +381,7 @@ const { data: [customer] } = await query.graph({ }) ``` -Learn more about how to use Query in [this guide](!docs!/advanced-development/module-links/query). +Learn more about how to use Query in [this guide](!docs!/learn/advanced-development/module-links/query). --- diff --git a/www/apps/resources/app/commerce-modules/product/guides/price/page.mdx b/www/apps/resources/app/commerce-modules/product/guides/price/page.mdx index e69b068af8..78e2a80bf7 100644 --- a/www/apps/resources/app/commerce-modules/product/guides/price/page.mdx +++ b/www/apps/resources/app/commerce-modules/product/guides/price/page.mdx @@ -8,7 +8,7 @@ export const metadata = { # {metadata.title} -In this document, you'll learn how to retrieve product variant prices in the Medusa application using [Query](!docs!/advanced-development/module-links/query). +In this document, you'll learn how to retrieve product variant prices in the Medusa application using [Query](!docs!/learn/advanced-development/module-links/query). diff --git a/www/apps/resources/app/globals.css b/www/apps/resources/app/globals.css index abdd9847fb..97686aaf3e 100644 --- a/www/apps/resources/app/globals.css +++ b/www/apps/resources/app/globals.css @@ -5,11 +5,17 @@ @layer base { html { - -webkit-font-smoothing: antialiased; + --webkit-font-smoothing: antialiased; + overscroll-behavior-y: none; } body { @apply overflow-x-hidden; + overscroll-behavior-y: none; + } + + #main { + overscroll-behavior-y: contain; } *::selection { @@ -22,6 +28,7 @@ aside * { scrollbar-color: var(--docs-border-base) var(--docs-bg-subtle); + overscroll-behavior-y: contain; } body[data-modal="opened"] { diff --git a/www/apps/resources/app/layout.tsx b/www/apps/resources/app/layout.tsx index 7ee078e186..0ccd725d31 100644 --- a/www/apps/resources/app/layout.tsx +++ b/www/apps/resources/app/layout.tsx @@ -2,7 +2,7 @@ import type { Metadata } from "next" import { Inter, Roboto_Mono } from "next/font/google" import Providers from "@/providers" import "./globals.css" -import { TightLayout } from "docs-ui" +import { BareboneLayout, TightLayout } from "docs-ui" import { config } from "@/config" import clsx from "clsx" import { Feedback } from "@/components/Feedback" @@ -37,16 +37,17 @@ export default function RootLayout({ children: React.ReactNode }) { return ( - } - editComponent={} - > - {children} - + + } + editComponent={} + ProvidersComponent={Providers} + > + {children} + + ) } diff --git a/www/apps/resources/app/medusa-cli/commands/exec/page.mdx b/www/apps/resources/app/medusa-cli/commands/exec/page.mdx index e640962ef4..ec86d4bac9 100644 --- a/www/apps/resources/app/medusa-cli/commands/exec/page.mdx +++ b/www/apps/resources/app/medusa-cli/commands/exec/page.mdx @@ -11,7 +11,7 @@ export const metadata = { # {metadata.title} -Run a custom CLI script. Learn more about it in [this guide](!docs!/advanced-development/custom-cli-scripts). +Run a custom CLI script. Learn more about it in [this guide](!docs!/learn/advanced-development/custom-cli-scripts). ```bash npx medusa exec [file] [args...] diff --git a/www/apps/resources/app/recipes/b2b/page.mdx b/www/apps/resources/app/recipes/b2b/page.mdx index 43bc70cde5..9ac8e49266 100644 --- a/www/apps/resources/app/recipes/b2b/page.mdx +++ b/www/apps/resources/app/recipes/b2b/page.mdx @@ -173,13 +173,13 @@ You can create a B2B module that adds necessary data models to represent a B2B c {/* - You can store the product's ID in the external system using the `metadata` property of the `Product` data model in the Product Module. Alternatively, you can create a [data model](!docs!/basics/modules#1-create-data-model) in your module to store data related to the external system. + You can store the product's ID in the external system using the `metadata` property of the `Product` data model in the Product Module. Alternatively, you can create a [data model](!docs!/learn/basics/modules#1-create-data-model) in your module to store data related to the external system. @@ -150,7 +150,7 @@ Workflows can be executed from anywhere. So, taking the workflow described above Workflows guarantee data consistency through their compensation feature. You can provide a compensation function to steps that roll back the actions of that step. Then, if an error occurs in any step, the actions of previous steps are rolled back using their compensation function. -If you’re calling this API route from a frontend client, make sure to set the [CORS middleware](!docs!/advanced-development/api-routes/cors) on it since it’s not under the `/store` or `/admin` route prefixes. +If you’re calling this API route from a frontend client, make sure to set the [CORS middleware](!docs!/learn/advanced-development/api-routes/cors) on it since it’s not under the `/store` or `/admin` route prefixes. ### Further Reads -- [How to Create a Workflow](!docs!/basics/workflows) -- [What is a Compensation Function](!docs!/advanced-development/workflows/compensation-function) -- [How to Create an API route](!docs!/basics/api-routes) +- [How to Create a Workflow](!docs!/learn/basics/workflows) +- [What is a Compensation Function](!docs!/learn/advanced-development/workflows/compensation-function) +- [How to Create an API route](!docs!/learn/basics/api-routes) --- @@ -687,7 +687,7 @@ This returns the list of restaurants in the response. ### Further Reads -- [What is and how to use it](!docs!/advanced-development/module-links/query) +- [What is and how to use it](!docs!/learn/advanced-development/module-links/query) - [How to Retrieve Prices for Product Variants](../../../../commerce-modules/product/guides/price/page.mdx) --- @@ -1542,7 +1542,7 @@ In this step, you’ll create the workflow that handles the different stages of For example, when a restaurant finishes preparing the order’s items, this workflow creates a fulfillment for the order. -This workflow will be a [long-running workflow](!docs!/advanced-development/workflows/long-running-workflow) that runs asynchronously in the background. Its async steps only succeed once an outside action sets its status, allowing the workflow to move to the next step. +This workflow will be a [long-running workflow](!docs!/learn/advanced-development/workflows/long-running-workflow) that runs asynchronously in the background. Its async steps only succeed once an outside action sets its status, allowing the workflow to move to the next step. API routes that perform actions related to the delivery, which you’ll create later, will trigger the workflow to move to the next step. @@ -2063,7 +2063,7 @@ In the next steps, you’ll execute the workflow and see it in action as you add ### Further Reads -- [Long-Running Workflows](!docs!/advanced-development/workflows/long-running-workflow) +- [Long-Running Workflows](!docs!/learn/advanced-development/workflows/long-running-workflow) --- @@ -3459,7 +3459,7 @@ The next steps of this example depend on your use case. This section provides so ### Admin Development -The Medusa Admin is extendable, allowing you to add widgets to existing pages or create new pages. Learn more about it in [this documentation](!docs!/advanced-development/admin). +The Medusa Admin is extendable, allowing you to add widgets to existing pages or create new pages. Learn more about it in [this documentation](!docs!/learn/advanced-development/admin). ### Storefront Development diff --git a/www/apps/resources/app/recipes/marketplace/examples/vendors/page.mdx b/www/apps/resources/app/recipes/marketplace/examples/vendors/page.mdx index 83ed961f99..e7d6acd853 100644 --- a/www/apps/resources/app/recipes/marketplace/examples/vendors/page.mdx +++ b/www/apps/resources/app/recipes/marketplace/examples/vendors/page.mdx @@ -116,7 +116,7 @@ class MarketplaceModuleService extends MedusaService({ export default MarketplaceModuleService ``` -The service extends the [service factory](!docs!/advanced-development/modules/service-factory), which provides basic data-management features. +The service extends the [service factory](!docs!/learn/advanced-development/modules/service-factory), which provides basic data-management features. ### Create Module Definition @@ -150,8 +150,8 @@ module.exports = defineConfig({ ### Further Reads -- [How to Create a Module](!docs!/basics/modules) -- [How to Create Data Models](!docs!/basics/modules#1-create-data-model) +- [How to Create a Module](!docs!/learn/basics/modules) +- [How to Create Data Models](!docs!/learn/basics/modules#1-create-data-model) --- @@ -203,7 +203,7 @@ This adds a list link between the `Vendor` and `Order` data models, indicating t ### Further Read -- [How to Define Module Links](!docs!/advanced-development/module-links) +- [How to Define Module Links](!docs!/learn/advanced-development/module-links) --- @@ -338,10 +338,10 @@ You return the created vendor admin. ### Further Read -- [How to Create a Workflow](!docs!/basics/workflows) +- [How to Create a Workflow](!docs!/learn/basics/workflows) - [What is an Actor Type](../../../../commerce-modules/auth/auth-identity-and-actor-types/page.mdx) - [How to Create an Actor Type](../../../../commerce-modules/auth/create-actor-type/page.mdx) -- [What is a Compensation Function](!docs!/advanced-development/workflows/compensation-function) +- [What is a Compensation Function](!docs!/learn/advanced-development/workflows/compensation-function) --- @@ -513,7 +513,7 @@ This route is available because you created the `vendor` actor type previously. -Don't include a trailing slash at the end of the URL. Learn more [here](!docs!/advanced-development/api-routes/middlewares). +Don't include a trailing slash at the end of the URL. Learn more [here](!docs!/learn/advanced-development/api-routes/middlewares). @@ -549,8 +549,8 @@ Use this token in the header of later requests that require authentication. ### Further Reads -- [How to Create an API route](!docs!/basics/api-routes) -- [How to Create a Middleware](!docs!/advanced-development/api-routes/middlewares) +- [How to Create an API route](!docs!/learn/basics/api-routes) +- [How to Create a Middleware](!docs!/learn/advanced-development/api-routes/middlewares) - [Learn more about the /auth route](../../../../commerce-modules/auth/authentication-route/page.mdx) --- @@ -778,8 +778,8 @@ curl 'http://localhost:9000/vendors/products' \ ### Further Reads -- [How to use Query](!docs!/advanced-development/module-links/query) -- [How to use the Remote Link](!docs!/advanced-development/module-links/remote-link) +- [How to use Query](!docs!/learn/advanced-development/module-links/query) +- [How to use the Remote Link](!docs!/learn/advanced-development/module-links/remote-link) --- @@ -1361,7 +1361,7 @@ For example, you can link sales channels to vendors or other settings. -[Learn more about module links](!docs!/advanced-development/module-links). +[Learn more about module links](!docs!/learn/advanced-development/module-links). @@ -1373,6 +1373,6 @@ You can also create a custom storefront. Check out the [Storefront Development]( ### Admin Development -The Medusa Admin is extendable, allowing you to add widgets to existing pages or create new pages. Learn more about it in [this documentation](!docs!/advanced-development/admin). +The Medusa Admin is extendable, allowing you to add widgets to existing pages or create new pages. Learn more about it in [this documentation](!docs!/learn/advanced-development/admin). If your use case requires bigger customizations to the admin, such as showing different products and orders based on the logged-in vendor, use the [admin API routes](!api!/admin) to build a custom admin. diff --git a/www/apps/resources/app/recipes/marketplace/page.mdx b/www/apps/resources/app/recipes/marketplace/page.mdx index dc5ab1665b..332c426aa0 100644 --- a/www/apps/resources/app/recipes/marketplace/page.mdx +++ b/www/apps/resources/app/recipes/marketplace/page.mdx @@ -35,13 +35,13 @@ You can create a marketplace module that implements data models for vendors, the -This applies to relations between data models of the same module. To retrieve linked records of different modules, use [Query](!docs!/advanced-development/module-links/query). +This applies to relations between data models of the same module. To retrieve linked records of different modules, use [Query](!docs!/learn/advanced-development/module-links/query). diff --git a/www/apps/resources/app/service-factory-reference/methods/listAndCount/page.mdx b/www/apps/resources/app/service-factory-reference/methods/listAndCount/page.mdx index 350f99c576..33aac00fa9 100644 --- a/www/apps/resources/app/service-factory-reference/methods/listAndCount/page.mdx +++ b/www/apps/resources/app/service-factory-reference/methods/listAndCount/page.mdx @@ -54,7 +54,7 @@ The method returns an array with two items: -This applies to relations between data models of the same module. To retrieve linked records of different modules, use [Query](!docs!/advanced-development/module-links/query). +This applies to relations between data models of the same module. To retrieve linked records of different modules, use [Query](!docs!/learn/advanced-development/module-links/query). diff --git a/www/apps/resources/app/service-factory-reference/methods/retrieve/page.mdx b/www/apps/resources/app/service-factory-reference/methods/retrieve/page.mdx index c4d81f61cc..cc09b4c4ac 100644 --- a/www/apps/resources/app/service-factory-reference/methods/retrieve/page.mdx +++ b/www/apps/resources/app/service-factory-reference/methods/retrieve/page.mdx @@ -30,7 +30,7 @@ The method returns the record as an object. -This applies to relations between data models of the same module. To retrieve linked records of different modules, use [Query](!docs!/advanced-development/module-links/query). +This applies to relations between data models of the same module. To retrieve linked records of different modules, use [Query](!docs!/learn/advanced-development/module-links/query). diff --git a/www/apps/resources/app/service-factory-reference/page.mdx b/www/apps/resources/app/service-factory-reference/page.mdx index 099f6dabcf..c145165551 100644 --- a/www/apps/resources/app/service-factory-reference/page.mdx +++ b/www/apps/resources/app/service-factory-reference/page.mdx @@ -10,7 +10,7 @@ This section of the documentation provides a reference of the methods generated -Learn more about the service factory in [this documentation](!docs!/advanced-development/modules/service-factory). +Learn more about the service factory in [this documentation](!docs!/learn/advanced-development/modules/service-factory). diff --git a/www/apps/resources/app/storefront-development/products/price/examples/tax-price/page.mdx b/www/apps/resources/app/storefront-development/products/price/examples/tax-price/page.mdx index 75b8776d6c..24d2aa7db0 100644 --- a/www/apps/resources/app/storefront-development/products/price/examples/tax-price/page.mdx +++ b/www/apps/resources/app/storefront-development/products/price/examples/tax-price/page.mdx @@ -41,7 +41,7 @@ fetch(`http://localhost:9000/store/products/${id}?${queryParams.toString()}`, { }) ``` -You pass the selected region's ID and the code of its first country as query parameters to the [Get Product API route](https://docs.medusajs.com/v2/api/store#products_getproductsid). +You pass the selected region's ID and the code of its first country as query parameters to the [Get Product API route](!api!/store#products_getproductsid). @@ -248,6 +248,6 @@ export default function Product({ params: { id } }: Params) { In this example, you: -- Pass the selected region's ID and the code of its first country as query parameters to the [Get Product API route](https://docs.medusajs.com/v2/api/store#products_getproductsid). +- Pass the selected region's ID and the code of its first country as query parameters to the [Get Product API route](!api!/store#products_getproductsid). - You can instead allow the customer to choose their country. - Display the selected variant's price by formatting its price's `calculated_amount_with_tax` property. diff --git a/www/apps/resources/app/troubleshooting/medusa-admin/no-widget-route/page.mdx b/www/apps/resources/app/troubleshooting/medusa-admin/no-widget-route/page.mdx index ed288ac27d..e3d26b715d 100644 --- a/www/apps/resources/app/troubleshooting/medusa-admin/no-widget-route/page.mdx +++ b/www/apps/resources/app/troubleshooting/medusa-admin/no-widget-route/page.mdx @@ -18,7 +18,7 @@ Refer to the [Admin Widget Injection Zones list](../../../admin-widget-injection Widget and UI routes must be defined as arrow functions. Any other type of declaration isn't accepted. -Refer to the [Admin Development Constraints](!docs!/advanced-development/admin/constraints) documentation for more details. +Refer to the [Admin Development Constraints](!docs!/learn/advanced-development/admin/constraints) documentation for more details. --- @@ -34,7 +34,7 @@ export const config = defineWidgetConfig({ Any other usage leads to the widget not being shown. -Refer to the [Admin Development Constraints](!docs!/advanced-development/admin/constraints) documentation for more details. +Refer to the [Admin Development Constraints](!docs!/learn/advanced-development/admin/constraints) documentation for more details. --- diff --git a/www/apps/ui/src/app/layout.tsx b/www/apps/ui/src/app/layout.tsx index 7066dcb65f..d618c1a7f3 100644 --- a/www/apps/ui/src/app/layout.tsx +++ b/www/apps/ui/src/app/layout.tsx @@ -4,7 +4,7 @@ import { Providers } from "@/providers" import { siteConfig } from "@/config/site" import "../styles/globals.css" -import { TightLayout } from "docs-ui" +import { BareboneLayout, TightLayout } from "docs-ui" import { Inter, Roboto_Mono } from "next/font/google" import clsx from "clsx" @@ -33,15 +33,16 @@ export default function RootLayout({ children: React.ReactNode }) { return ( - - {children} - + + + {children} + + ) } diff --git a/www/apps/user-guide/app/layout.tsx b/www/apps/user-guide/app/layout.tsx index 58fd69fd66..30219e2113 100644 --- a/www/apps/user-guide/app/layout.tsx +++ b/www/apps/user-guide/app/layout.tsx @@ -2,7 +2,7 @@ import type { Metadata } from "next" import { Inter, Roboto_Mono } from "next/font/google" import Providers from "@/providers" import "../css/globals.css" -import { TightLayout } from "docs-ui" +import { BareboneLayout, TightLayout } from "docs-ui" import { config } from "@/config" import clsx from "clsx" import Feedback from "../components/Feedback" @@ -36,16 +36,17 @@ export default function RootLayout({ children: React.ReactNode }) { return ( - - {children} - - - + + + {children} + + + + ) } diff --git a/www/packages/docs-ui/package.json b/www/packages/docs-ui/package.json index 78cd91dab5..a7d3bf6ac1 100644 --- a/www/packages/docs-ui/package.json +++ b/www/packages/docs-ui/package.json @@ -60,7 +60,7 @@ "react-dom": "^18.2.0" }, "dependencies": { - "@medusajs/icons": "preview", + "@medusajs/icons": "rc", "@medusajs/ui": "^3.0.0", "@octokit/request": "^8.1.1", "@react-hook/resize-observer": "^1.2.6", diff --git a/www/packages/docs-ui/src/components/BorderedIcon/index.tsx b/www/packages/docs-ui/src/components/BorderedIcon/index.tsx index 770df82dcc..3706e90cfd 100644 --- a/www/packages/docs-ui/src/components/BorderedIcon/index.tsx +++ b/www/packages/docs-ui/src/components/BorderedIcon/index.tsx @@ -1,6 +1,7 @@ import React from "react" import clsx from "clsx" import { IconProps } from "@medusajs/icons/dist/types" +import Image from "next/image" export type BorderedIconProps = { icon?: string @@ -29,9 +30,11 @@ export const BorderedIcon = ({ > {!IconComponent && ( - )} diff --git a/www/packages/docs-ui/src/components/Breadcrumbs/index.tsx b/www/packages/docs-ui/src/components/Breadcrumbs/index.tsx index bdf952ff8a..ede20126fe 100644 --- a/www/packages/docs-ui/src/components/Breadcrumbs/index.tsx +++ b/www/packages/docs-ui/src/components/Breadcrumbs/index.tsx @@ -93,7 +93,7 @@ export const Breadcrumbs = () => { className={clsx( "flex items-center gap-docs_0.25", "text-medusa-fg-muted text-compact-small", - "mb-docs_1" + "mb-docs_1 flex-wrap" )} > {Array.from(breadcrumbItems).map(([link, title], index) => ( diff --git a/www/packages/docs-ui/src/components/Card/Layout/Default/index.tsx b/www/packages/docs-ui/src/components/Card/Layout/Default/index.tsx index 64019230e4..c84b95d82b 100644 --- a/www/packages/docs-ui/src/components/Card/Layout/Default/index.tsx +++ b/www/packages/docs-ui/src/components/Card/Layout/Default/index.tsx @@ -42,10 +42,7 @@ export const CardDefaultLayout = ({ )} {image && ( )} @@ -53,19 +50,17 @@ export const CardDefaultLayout = ({ className={clsx("flex flex-col flex-1 overflow-auto", contentClassName)} > {title && ( -

{badge && } - + {isExternal ? : } diff --git a/www/packages/docs-ui/src/components/Card/Layout/Large/index.tsx b/www/packages/docs-ui/src/components/Card/Layout/Large/index.tsx index 36d255255a..c06759a202 100644 --- a/www/packages/docs-ui/src/components/Card/Layout/Large/index.tsx +++ b/www/packages/docs-ui/src/components/Card/Layout/Large/index.tsx @@ -2,7 +2,7 @@ import React from "react" import { CardProps } from "../.." import { useIsExternalLink } from "../../../.." import clsx from "clsx" -import { ArrowRightMini, ArrowUpRightOnBox } from "@medusajs/icons" +import { ArrowUpRightOnBox, TriangleRightMini } from "@medusajs/icons" import Link from "next/link" export const CardLargeLayout = ({ @@ -30,11 +30,16 @@ export const CardLargeLayout = ({ "shadow-elevation-card-rest dark:shadow-elevation-card-rest-dark", href && "group-hover:shadow-elevation-card-hover group-hover:dark:shadow-elevation-card-hover-dark", - "px-docs_0.75 py-docs_0.5 flex justify-center items-center" + "px-docs_0.75 py-docs_0.5 flex justify-center items-center w-full" )} > {IconComponent && ( - + )} {image && ( {title @@ -44,12 +49,12 @@ export const CardLargeLayout = ({
{title && {title}} {href && isExternal && } - {href && !isExternal && } + {href && !isExternal && ( + + )}
{text && ( - - {text} - + {text} )}
{href && ( diff --git a/www/packages/docs-ui/src/components/Card/Layout/Mini/index.tsx b/www/packages/docs-ui/src/components/Card/Layout/Mini/index.tsx new file mode 100644 index 0000000000..28a7384f6e --- /dev/null +++ b/www/packages/docs-ui/src/components/Card/Layout/Mini/index.tsx @@ -0,0 +1,97 @@ +"use client" + +import React from "react" +import clsx from "clsx" +import { CardProps } from "../.." +import { BorderedIcon, ThemeImage, useIsExternalLink } from "../../../.." +import Link from "next/link" +import Image from "next/image" +import { ArrowUpRightOnBox, TriangleRightMini } from "@medusajs/icons" + +export const CardLayoutMini = ({ + icon, + image, + themeImage, + title, + text, + href, +}: CardProps) => { + const isExternal = useIsExternalLink({ href }) + + return ( +
+
+ {icon && ( + + )} + {image && ( + {title + )} + {themeImage && ( + + )} +
+ {title && ( + + {title} + + )} + {text && ( + + {text} + + )} +
+ + {isExternal ? : } + + {href && ( + + )} +
+
+ ) +} diff --git a/www/packages/docs-ui/src/components/Card/index.tsx b/www/packages/docs-ui/src/components/Card/index.tsx index b2f47f96ca..643975e39d 100644 --- a/www/packages/docs-ui/src/components/Card/index.tsx +++ b/www/packages/docs-ui/src/components/Card/index.tsx @@ -4,11 +4,16 @@ import { CardDefaultLayout } from "./Layout/Default" import { IconProps } from "@medusajs/icons/dist/types" import { CardLargeLayout } from "./Layout/Large" import { CardFillerLayout } from "./Layout/Filler" +import { CardLayoutMini } from "./Layout/Mini" export type CardProps = { - type?: "default" | "large" | "filler" + type?: "default" | "large" | "filler" | "mini" icon?: React.FC image?: string + themeImage?: { + light: string + dark: string + } title?: string text?: string href?: string @@ -25,6 +30,8 @@ export const Card = ({ type = "default", ...props }: CardProps) => { return case "filler": return + case "mini": + return default: return } diff --git a/www/packages/docs-ui/src/components/CodeBlock/Line/index.tsx b/www/packages/docs-ui/src/components/CodeBlock/Line/index.tsx index d0387f721d..d5dc5dfa54 100644 --- a/www/packages/docs-ui/src/components/CodeBlock/Line/index.tsx +++ b/www/packages/docs-ui/src/components/CodeBlock/Line/index.tsx @@ -24,6 +24,7 @@ type CodeBlockLineProps = { lineNumberColorClassName: string lineNumberBgClassName: string isTerminal: boolean + animateTokenHighlights?: boolean } & Pick export const CodeBlockLine = ({ @@ -36,6 +37,7 @@ export const CodeBlockLine = ({ lineNumberColorClassName, lineNumberBgClassName, isTerminal, + animateTokenHighlights = false, }: CodeBlockLineProps) => { const lineProps = getLineProps({ line, key: lineNumber }) @@ -94,6 +96,16 @@ export const CodeBlockLine = ({ if (currentPositionInHighlightedText === highlight.text!.length) { // matching text was found, break loop endIndex = tokenIndex + const trimmedContent = token.content.trimEnd() + const endingSpacesLength = + token.content.length - trimmedContent.length + if (endingSpacesLength) { + line.splice(tokenIndex + 1, 0, { + content: new Array(endingSpacesLength).fill(" ").join(""), + types: ["plain"], + }) + token.content = trimmedContent + } return true } }) @@ -197,19 +209,26 @@ export const CodeBlockLine = ({ const getTokensElm = ({ tokens, isTokenHighlighted, - isLineHighlighted, offset, }: { tokens: Token[] isTokenHighlighted: boolean - isLineHighlighted: boolean offset: number }) => ( - + {isTokenHighlighted && ( + )} - > {tokens.map((token, key) => { const tokenKey = offset + key const { className: tokenClassName, ...rest } = getTokenProps({ @@ -221,8 +240,7 @@ export const CodeBlockLine = ({ key={tokenKey} className={clsx( tokenClassName, - (isTokenHighlighted || isLineHighlighted) && - "!text-medusa-contrast-fg-primary" + isTokenHighlighted && "relative z-[1]" )} {...rest} /> @@ -242,7 +260,7 @@ export const CodeBlockLine = ({ {...lineProps} className={clsx( "table-row", - isHighlightedLine && "bg-medusa-contrast-border-base", + isHighlightedLine && "bg-medusa-alpha-white-alpha-6", lineProps.className )} > @@ -287,7 +305,6 @@ export const CodeBlockLine = ({ tokens, isTokenHighlighted: isHighlighted, offset, - isLineHighlighted: isHighlightedLine, })} )} @@ -296,7 +313,6 @@ export const CodeBlockLine = ({ tokens, isTokenHighlighted: isHighlighted, offset, - isLineHighlighted: isHighlightedLine, })} ) diff --git a/www/packages/docs-ui/src/components/CodeBlock/index.tsx b/www/packages/docs-ui/src/components/CodeBlock/index.tsx index 7f3392efef..8d8befeab7 100644 --- a/www/packages/docs-ui/src/components/CodeBlock/index.tsx +++ b/www/packages/docs-ui/src/components/CodeBlock/index.tsx @@ -47,11 +47,23 @@ export type CodeBlockStyle = "loud" | "subtle" | "inline" export type CodeBlockProps = { source: string lang?: string + wrapperClassName?: string + innerClassName?: string className?: string collapsed?: boolean blockStyle?: CodeBlockStyle children?: React.ReactNode style?: React.HTMLAttributes["style"] + forceNoTitle?: boolean + animateTokenHighlights?: boolean + overrideColors?: { + bg?: string + innerBg?: string + lineNumbersBg?: string + border?: string + innerBorder?: string + boxShadow?: string + } } & CodeBlockMetaFields & Omit @@ -59,7 +71,10 @@ export const CodeBlock = ({ source, hasTabs = false, lang = "", + wrapperClassName, + innerClassName, className, + overrideColors = {}, collapsed = false, title = "", highlights = [], @@ -73,6 +88,8 @@ export const CodeBlock = ({ expandButtonLabel, isTerminal, style, + forceNoTitle = false, + animateTokenHighlights, ...rest }: CodeBlockProps) => { if (!source && typeof children === "string") { @@ -94,6 +111,10 @@ export const CodeBlock = ({ : isTerminal }, [isTerminal, lang]) const codeTitle = useMemo(() => { + if (forceNoTitle) { + return "" + } + if (title) { return title } @@ -107,7 +128,7 @@ export const CodeBlock = ({ } return "Code" - }, [title, isTerminalCode, hasTabs]) + }, [title, isTerminalCode, hasTabs, forceNoTitle]) const hasInnerCodeBlock = useMemo( () => hasTabs || codeTitle.length > 0, [hasTabs, codeTitle] @@ -123,72 +144,90 @@ export const CodeBlock = ({ const bgColor = useMemo( () => clsx( - blockStyle === "loud" && "bg-medusa-contrast-bg-base", - blockStyle === "subtle" && [ - colorMode === "light" && "bg-medusa-bg-subtle", - colorMode === "dark" && "bg-medusa-code-bg-base", + overrideColors.bg, + !overrideColors.bg && [ + blockStyle === "loud" && "bg-medusa-contrast-bg-base", + blockStyle === "subtle" && [ + colorMode === "light" && "bg-medusa-bg-subtle", + colorMode === "dark" && "bg-medusa-code-bg-base", + ], ] ), - [blockStyle, colorMode] + [blockStyle, colorMode, overrideColors] ) const lineNumbersColor = useMemo( () => clsx( - blockStyle === "loud" && "text-medusa-contrast-fg-secondary", - blockStyle === "subtle" && [ - colorMode === "light" && "text-medusa-fg-muted", - colorMode === "dark" && "text-medusa-contrast-fg-secondary", + overrideColors.lineNumbersBg, + !overrideColors.lineNumbersBg && [ + blockStyle === "loud" && "text-medusa-contrast-fg-secondary", + blockStyle === "subtle" && [ + colorMode === "light" && "text-medusa-fg-muted", + colorMode === "dark" && "text-medusa-contrast-fg-secondary", + ], ] ), - [blockStyle, colorMode] + [blockStyle, colorMode, overrideColors] ) const borderColor = useMemo( () => clsx( - blockStyle === "loud" && "border-0", - blockStyle === "subtle" && [ - colorMode === "light" && "border-medusa-border-base", - colorMode === "dark" && "border-medusa-code-border", + overrideColors.border, + !overrideColors.border && [ + blockStyle === "loud" && "border-0", + blockStyle === "subtle" && [ + colorMode === "light" && "border-medusa-border-base", + colorMode === "dark" && "border-medusa-code-border", + ], ] ), - [blockStyle, colorMode] + [blockStyle, colorMode, overrideColors] ) const boxShadow = useMemo( () => clsx( - blockStyle === "loud" && - "shadow-elevation-code-block dark:shadow-elevation-code-block-dark", - blockStyle === "subtle" && "shadow-none" + overrideColors.boxShadow, + !overrideColors.boxShadow && [ + blockStyle === "loud" && + "shadow-elevation-code-block dark:shadow-elevation-code-block-dark", + blockStyle === "subtle" && "shadow-none", + ] ), - [blockStyle] + [blockStyle, overrideColors] ) const innerBgColor = useMemo( () => clsx( - blockStyle === "loud" && [ - hasInnerCodeBlock && "bg-medusa-contrast-bg-subtle", - !hasInnerCodeBlock && "bg-medusa-contrast-bg-base", - ], - blockStyle === "subtle" && bgColor + overrideColors.innerBg, + !overrideColors.innerBg && [ + blockStyle === "loud" && [ + hasInnerCodeBlock && "bg-medusa-contrast-bg-subtle", + !hasInnerCodeBlock && "bg-medusa-contrast-bg-base", + ], + blockStyle === "subtle" && bgColor, + ] ), - [blockStyle, bgColor, hasInnerCodeBlock] + [blockStyle, bgColor, hasInnerCodeBlock, overrideColors] ) const innerBorderClasses = useMemo( () => clsx( - blockStyle === "loud" && [ - hasInnerCodeBlock && - "border border-solid border-medusa-contrast-border-bot rounded-docs_DEFAULT", - !hasInnerCodeBlock && "border-transparent rounded-docs_DEFAULT", - ], - blockStyle === "subtle" && "border-transparent rounded-docs_DEFAULT" + overrideColors.innerBorder, + !overrideColors.innerBorder && [ + blockStyle === "loud" && [ + hasInnerCodeBlock && + "border border-solid border-medusa-contrast-border-bot rounded-docs_DEFAULT", + !hasInnerCodeBlock && "border-transparent rounded-docs_DEFAULT", + ], + blockStyle === "subtle" && "border-transparent rounded-docs_DEFAULT", + ] ), - [blockStyle, hasInnerCodeBlock] + [blockStyle, hasInnerCodeBlock, overrideColors] ) const language = useMemo(() => { @@ -227,6 +266,7 @@ export const CodeBlock = ({ lineNumberColorClassName={lineNumbersColor} lineNumberBgClassName={innerBgColor} isTerminal={isTerminalCode} + animateTokenHighlights={animateTokenHighlights} {...highlightProps} /> ) @@ -309,7 +349,8 @@ export const CodeBlock = ({ blockStyle === "loud" && "code-block-highlight", blockStyle === "subtle" && colorMode === "light" && - "code-block-highlight-light" + "code-block-highlight-light", + wrapperClassName )} > {codeTitle && ( @@ -327,7 +368,7 @@ export const CodeBlock = ({
(
{collapsibleType === "start" && ( @@ -406,13 +452,14 @@ export const CodeBlock = ({ })} - {!hasInnerCodeBlock && ( - - )} + {!hasInnerCodeBlock && + (!noCopy || !noReport || canShowApiTesting) && ( + + )} {collapsibleType === "end" && ( <> { href={`https://github.com/medusajs/medusa/edit/develop${filePath}`} className={clsx( "flex w-fit gap-docs_0.25 my-docs_2 items-center", - "text-medusa-fg-muted hover:text-medusa-fg-subtle" + "text-medusa-fg-muted hover:text-medusa-fg-subtle", + "text-compact-small-plus" )} > Edit this page diff --git a/www/packages/docs-ui/src/components/Feedback/index.tsx b/www/packages/docs-ui/src/components/Feedback/index.tsx index a025adaa03..0d84f26dca 100644 --- a/www/packages/docs-ui/src/components/Feedback/index.tsx +++ b/www/packages/docs-ui/src/components/Feedback/index.tsx @@ -32,6 +32,7 @@ export type FeedbackProps = { extraData?: ExtraData vertical?: boolean showLongForm?: boolean + showDottedSeparator?: boolean } & React.HTMLAttributes export const Feedback = ({ @@ -50,6 +51,7 @@ export const Feedback = ({ extraData = {}, vertical = false, showLongForm = false, + showDottedSeparator = true, }: FeedbackProps) => { const [showForm, setShowForm] = useState(false) const [submittedFeedback, setSubmittedFeedback] = useState(false) @@ -121,7 +123,9 @@ export const Feedback = ({ return (
- + {showDottedSeparator && ( + + )} - +
- + {showDottedSeparator && ( + + )}
) } diff --git a/www/packages/docs-ui/src/components/IconHeadline/index.tsx b/www/packages/docs-ui/src/components/IconHeadline/index.tsx new file mode 100644 index 0000000000..688ea79964 --- /dev/null +++ b/www/packages/docs-ui/src/components/IconHeadline/index.tsx @@ -0,0 +1,15 @@ +import React from "react" + +type IconHeadlineProps = { + title: string + icon: React.ReactNode +} + +export const IconHeadline = ({ title, icon }: IconHeadlineProps) => { + return ( +
+ {icon} + {title} +
+ ) +} diff --git a/www/packages/docs-ui/src/components/Icons/Book/index.tsx b/www/packages/docs-ui/src/components/Icons/Book/index.tsx new file mode 100644 index 0000000000..11ac7b0518 --- /dev/null +++ b/www/packages/docs-ui/src/components/Icons/Book/index.tsx @@ -0,0 +1,63 @@ +import React from "react" +import { IconProps } from "@medusajs/icons/dist/types" + +export const BookIcon = (props: IconProps) => { + return ( + + + + + + + + + + + + + + + + ) +} diff --git a/www/packages/docs-ui/src/components/Icons/CalendarRefresh/index.tsx b/www/packages/docs-ui/src/components/Icons/CalendarRefresh/index.tsx new file mode 100644 index 0000000000..7c9a228bea --- /dev/null +++ b/www/packages/docs-ui/src/components/Icons/CalendarRefresh/index.tsx @@ -0,0 +1,70 @@ +import React from "react" +import { IconProps } from "@medusajs/icons/dist/types" + +export const CalendarRefreshIcon = (props: IconProps) => { + return ( + + + + + + + + + + + + + + + + + ) +} diff --git a/www/packages/docs-ui/src/components/Icons/ChefHat/index.tsx b/www/packages/docs-ui/src/components/Icons/ChefHat/index.tsx new file mode 100644 index 0000000000..0db37de501 --- /dev/null +++ b/www/packages/docs-ui/src/components/Icons/ChefHat/index.tsx @@ -0,0 +1,65 @@ +import React from "react" +import { IconProps } from "@medusajs/icons/dist/types" + +export const ChefHatIcon = (props: IconProps) => { + return ( + + + + + + + + + + + + + + + + ) +} diff --git a/www/packages/docs-ui/src/components/Icons/ImageBinary/index.tsx b/www/packages/docs-ui/src/components/Icons/ImageBinary/index.tsx new file mode 100644 index 0000000000..f88f3cbc3d --- /dev/null +++ b/www/packages/docs-ui/src/components/Icons/ImageBinary/index.tsx @@ -0,0 +1,69 @@ +import React from "react" +import { IconProps } from "@medusajs/icons/dist/types" + +export const ImageBinaryIcon = (props: IconProps) => { + return ( + + + + + + + + + + + + + + + + + ) +} diff --git a/www/packages/docs-ui/src/components/Icons/PuzzleColored/index.tsx b/www/packages/docs-ui/src/components/Icons/PuzzleColored/index.tsx new file mode 100644 index 0000000000..2172e8980d --- /dev/null +++ b/www/packages/docs-ui/src/components/Icons/PuzzleColored/index.tsx @@ -0,0 +1,35 @@ +import React from "react" +import { IconProps } from "@medusajs/icons/dist/types" + +export const PuzzleColoredIcon = (props: IconProps) => { + return ( + + + + + + + + + + + + ) +} diff --git a/www/packages/docs-ui/src/components/Icons/ScrollText/index.tsx b/www/packages/docs-ui/src/components/Icons/ScrollText/index.tsx new file mode 100644 index 0000000000..7fdf238f72 --- /dev/null +++ b/www/packages/docs-ui/src/components/Icons/ScrollText/index.tsx @@ -0,0 +1,68 @@ +import React from "react" +import { IconProps } from "@medusajs/icons/dist/types" + +export const ScrollTextIcon = (props: IconProps) => { + return ( + + + + + + + + + + + + + + + + + ) +} diff --git a/www/packages/docs-ui/src/components/Icons/Shop/index.tsx b/www/packages/docs-ui/src/components/Icons/Shop/index.tsx new file mode 100644 index 0000000000..7123605b48 --- /dev/null +++ b/www/packages/docs-ui/src/components/Icons/Shop/index.tsx @@ -0,0 +1,68 @@ +import React from "react" +import { IconProps } from "@medusajs/icons/dist/types" + +export const ShopIcon = (props: IconProps) => { + return ( + + + + + + + + + + + + + + + + + ) +} diff --git a/www/packages/docs-ui/src/components/Icons/WindowPaintbrush/index.tsx b/www/packages/docs-ui/src/components/Icons/WindowPaintbrush/index.tsx new file mode 100644 index 0000000000..fe0bf9e841 --- /dev/null +++ b/www/packages/docs-ui/src/components/Icons/WindowPaintbrush/index.tsx @@ -0,0 +1,57 @@ +import React from "react" +import { IconProps } from "@medusajs/icons/dist/types" + +export const WindowPaintbrushIcon = (props: IconProps) => { + return ( + + + + + + + + + + + + + + + + ) +} diff --git a/www/packages/docs-ui/src/components/Icons/index.tsx b/www/packages/docs-ui/src/components/Icons/index.tsx index f8a18679d0..8df127ecc2 100644 --- a/www/packages/docs-ui/src/components/Icons/index.tsx +++ b/www/packages/docs-ui/src/components/Icons/index.tsx @@ -1,8 +1,16 @@ export * from "./AiAssistant" +export * from "./Book" +export * from "./CalendarRefresh" +export * from "./ChefHat" export * from "./CircleDottedLine" export * from "./DecisionProcess" +export * from "./ImageBinary" +export * from "./PuzzleColored" export * from "./QuestionMark" +export * from "./ScrollText" export * from "./ShadedBg" +export * from "./Shop" export * from "./StripeColored" export * from "./ThumbDown" export * from "./ThumbUp" +export * from "./WindowPaintbrush" diff --git a/www/packages/docs-ui/src/components/Link/index.tsx b/www/packages/docs-ui/src/components/Link/index.tsx index 93576f6683..cb70392d07 100644 --- a/www/packages/docs-ui/src/components/Link/index.tsx +++ b/www/packages/docs-ui/src/components/Link/index.tsx @@ -2,6 +2,7 @@ import React from "react" import NextLink from "next/link" import type { LinkProps as NextLinkProps } from "next/link" import clsx from "clsx" +import { TriangleRightMini } from "@medusajs/icons" export type LinkProps = { href?: string @@ -9,9 +10,16 @@ export type LinkProps = { className?: string target?: string rel?: string + withIcon?: boolean } & Partial -export const Link = ({ href, children, className, ...rest }: LinkProps) => { +export const Link = ({ + href, + children, + className, + withIcon = false, + ...rest +}: LinkProps) => { if (href?.replace(/#.*$/, "").endsWith("page.mdx")) { href = href.replace("/page.mdx", "") } @@ -21,10 +29,14 @@ export const Link = ({ href, children, className, ...rest }: LinkProps) => { {...rest} className={clsx( "text-medusa-fg-interactive hover:text-medusa-fg-interactive-hover", + withIcon && "flex gap-0.25 items-center group", className )} > {children} + {withIcon && ( + + )} ) } diff --git a/www/packages/docs-ui/src/components/MainNav/DesktopMenu/index.tsx b/www/packages/docs-ui/src/components/MainNav/DesktopMenu/index.tsx index 1c9eef04d7..d512b017ce 100644 --- a/www/packages/docs-ui/src/components/MainNav/DesktopMenu/index.tsx +++ b/www/packages/docs-ui/src/components/MainNav/DesktopMenu/index.tsx @@ -6,7 +6,7 @@ import { SidebarLeft, TimelineVertical, } from "@medusajs/icons" -import React, { useRef, useState } from "react" +import React, { useMemo, useRef, useState } from "react" import { Button, getOsShortcut, @@ -17,10 +17,11 @@ import { import clsx from "clsx" import { HouseIcon } from "../../Icons/House" import { MainNavThemeMenu } from "./ThemeMenu" +import { MenuItem } from "types" export const MainNavDesktopMenu = () => { const [isOpen, setIsOpen] = useState(false) - const { setDesktopSidebarOpen } = useSidebar() + const { setDesktopSidebarOpen, isSidebarShown } = useSidebar() const ref = useRef(null) useClickOutside({ @@ -28,6 +29,59 @@ export const MainNavDesktopMenu = () => { onClickOutside: () => setIsOpen(false), }) + const items: MenuItem[] = useMemo(() => { + const items: MenuItem[] = [ + { + type: "link", + icon: , + title: "Homepage", + link: "https://docs.medusajs.com/v2", + }, + { + type: "link", + icon: , + title: "Changelog", + link: "https://medusajs.com/changelog", + }, + { + type: "link", + icon: , + title: "Troubleshooting", + link: "https://docs.medusajs.com/v2/resources/troubleshooting", + }, + ] + + if (isSidebarShown) { + items.push( + { + type: "divider", + }, + { + type: "action", + title: "Hide Sidebar", + icon: , + shortcut: `${getOsShortcut()}\\`, + action: () => { + setDesktopSidebarOpen((prev) => !prev) + setIsOpen(false) + }, + } + ) + } + + items.push( + { + type: "divider", + }, + { + type: "custom", + content: , + } + ) + + return items + }, [isSidebarShown]) + return (
{ "absolute top-[calc(100%+8px)] right-0 min-w-[200px]", !isOpen && "hidden" )} - items={[ - { - type: "link", - icon: , - title: "Homepage", - link: "https://medusajs.com", - }, - { - type: "link", - icon: , - title: "Changelog", - link: "https://medusajs.com/changelog", - }, - { - type: "link", - icon: , - title: "Troubleshooting", - link: "https://docs.medusajs.com/v2/resources/troubleshooting", - }, - { - type: "divider", - }, - { - type: "action", - title: "Hide Sidebar", - icon: , - shortcut: `${getOsShortcut()}\\`, - action: () => { - setDesktopSidebarOpen((prev) => !prev) - setIsOpen(false) - }, - }, - { - type: "divider", - }, - { - type: "custom", - content: , - }, - ]} + items={items} />
) diff --git a/www/packages/docs-ui/src/components/MainNav/Items/Dropdown/index.tsx b/www/packages/docs-ui/src/components/MainNav/Items/Dropdown/index.tsx index dde6072016..0df8dec7b4 100644 --- a/www/packages/docs-ui/src/components/MainNav/Items/Dropdown/index.tsx +++ b/www/packages/docs-ui/src/components/MainNav/Items/Dropdown/index.tsx @@ -4,7 +4,7 @@ import { TriangleDownMini } from "@medusajs/icons" import clsx from "clsx" import React, { useRef, useState } from "react" import { NavigationItemDropdown } from "types" -import { Menu, useClickOutside } from "../../../.." +import { Menu } from "../../../.." type MainNavItemDropdownProps = { item: NavigationItemDropdown @@ -16,15 +16,15 @@ export const MainNavItemDropdown = ({ isActive, }: MainNavItemDropdownProps) => { const [isOpen, setIsOpen] = useState(false) - const ref = useRef(null) - - useClickOutside({ - elmRef: ref, - onClickOutside: () => setIsOpen(false), - }) + const ref = useRef(null) return ( -
+
setIsOpen(true)} + onMouseLeave={() => setIsOpen(false)} + >
setIsOpen((prev) => !prev)} > {item.title}
- setIsOpen(false)} - /> +
+ setIsOpen(false)} + /> +
) } diff --git a/www/packages/docs-ui/src/components/MainNav/Items/index.tsx b/www/packages/docs-ui/src/components/MainNav/Items/index.tsx index e1b8da42de..b40b4558c5 100644 --- a/www/packages/docs-ui/src/components/MainNav/Items/index.tsx +++ b/www/packages/docs-ui/src/components/MainNav/Items/index.tsx @@ -6,14 +6,19 @@ import clsx from "clsx" import { MainNavItemLink } from "./Link" import { MainNavItemDropdown } from "./Dropdown" -export const MainNavItems = () => { +type MainNavItemsProps = { + className?: string +} + +export const MainNavItems = ({ className }: MainNavItemsProps) => { const { navItems, activeItemIndex } = useMainNav() return (
    {navItems.map((item, index) => { diff --git a/www/packages/docs-ui/src/components/MainNav/index.tsx b/www/packages/docs-ui/src/components/MainNav/index.tsx index 1b67a4069b..2ce7c9f823 100644 --- a/www/packages/docs-ui/src/components/MainNav/index.tsx +++ b/www/packages/docs-ui/src/components/MainNav/index.tsx @@ -17,33 +17,41 @@ import { MainNavDesktopMenu } from "./DesktopMenu" import { SidebarLeftIcon } from "../Icons/SidebarLeft" import { MainNavMobileMenu } from "./MobileMenu" -export const MainNav = () => { +type MainNavProps = { + className?: string + itemsClassName?: string +} + +export const MainNav = ({ className, itemsClassName }: MainNavProps) => { const { reportIssueLink, editDate } = useMainNav() - const { setMobileSidebarOpen } = useSidebar() + const { setMobileSidebarOpen, isSidebarShown } = useSidebar() return (
    - + {isSidebarShown && ( + + )}
    - +
    diff --git a/www/packages/docs-ui/src/components/Search/ModalOpener/index.tsx b/www/packages/docs-ui/src/components/Search/ModalOpener/index.tsx index 7a73425005..bfdf2fa836 100644 --- a/www/packages/docs-ui/src/components/Search/ModalOpener/index.tsx +++ b/www/packages/docs-ui/src/components/Search/ModalOpener/index.tsx @@ -41,7 +41,7 @@ export const SearchModalOpener = ({ diff --git a/www/packages/docs-ui/src/components/Search/index.tsx b/www/packages/docs-ui/src/components/Search/index.tsx index b15c3afa41..70d22299f7 100644 --- a/www/packages/docs-ui/src/components/Search/index.tsx +++ b/www/packages/docs-ui/src/components/Search/index.tsx @@ -91,7 +91,7 @@ export const Search = ({ setFilters(filterOptions.map((option) => option.value)) } }} - className="px-docs_1 pt-docs_1 bg-medusa-bg-base" + className="px-docs_1 pt-docs_1 bg-medusa-bg-base z-10" /> )} -
    +
    } /> -
    isLinkActive(item, true), [isLinkActive, item]) const ref = useRef(null) - const newTopCalculator = useCallback(() => { + const newTopCalculator = useMemo(() => { if (!sidebarRef.current || !ref.current) { return 0 } @@ -45,7 +45,8 @@ export const SidebarItemLink = ({ return ( itemBoundingRect.top - (sidebarBoundingRect.top + sidebarTopHeight) + - sidebarRef.current.scrollTop + sidebarRef.current.scrollTop - + 10 // remove extra margin just in case ) }, [sidebarTopHeight, sidebarRef, ref]) @@ -64,7 +65,7 @@ export const SidebarItemLink = ({ }) } else { sidebarRef.current.scrollTo({ - top: newTopCalculator(), + top: newTopCalculator, }) } } diff --git a/www/packages/docs-ui/src/components/Sidebar/Top/index.tsx b/www/packages/docs-ui/src/components/Sidebar/Top/index.tsx index 4768378039..604809e3ff 100644 --- a/www/packages/docs-ui/src/components/Sidebar/Top/index.tsx +++ b/www/packages/docs-ui/src/components/Sidebar/Top/index.tsx @@ -5,6 +5,7 @@ import { SidebarChild } from "../Child" import { InteractiveSidebarItem } from "types" import { SidebarTopMobileClose } from "./MobileClose" import { DottedSeparator } from "../../.." +import clsx from "clsx" export type SidebarTopProps = { parentItem?: InteractiveSidebarItem @@ -13,9 +14,15 @@ export type SidebarTopProps = { export const SidebarTop = React.forwardRef( function SidebarTop({ parentItem }, ref) { return ( -
    +
    -
    +
    {parentItem && ( <> diff --git a/www/packages/docs-ui/src/components/Sidebar/index.tsx b/www/packages/docs-ui/src/components/Sidebar/index.tsx index 4f3ad134dc..306e6c0e88 100644 --- a/www/packages/docs-ui/src/components/Sidebar/index.tsx +++ b/www/packages/docs-ui/src/components/Sidebar/index.tsx @@ -3,12 +3,12 @@ import React, { useMemo, useRef } from "react" import { useSidebar } from "@/providers" import clsx from "clsx" -import { DottedSeparator, Loading } from "@/components" +import { Loading } from "@/components" import { SidebarItem } from "./Item" import { CSSTransition, SwitchTransition } from "react-transition-group" import { SidebarTop, SidebarTopProps } from "./Top" -import useResizeObserver from "@react-hook/resize-observer" import { useClickOutside, useKeyboardShortcut } from "@/hooks" +import useResizeObserver from "@react-hook/resize-observer" export type SidebarProps = { className?: string @@ -30,10 +30,9 @@ export const Sidebar = ({ setMobileSidebarOpen, staticSidebarItems, sidebarRef, - sidebarTopHeight, - setSidebarTopHeight, desktopSidebarOpen, setDesktopSidebarOpen, + setSidebarTopHeight, } = useSidebar() useClickOutside({ elmRef: sidebarWrapperRef, @@ -92,11 +91,6 @@ export const Sidebar = ({ ref={sidebarWrapperRef} >
      - + {/* MOBILE SIDEBAR - keeping this in case we need it in the future */} {/*
      {!sidebarItems.mobile.length && !staticSidebarItems && ( @@ -134,7 +130,7 @@ export const Sidebar = ({ {sidebarItems.mobile.length > 0 && }
      */} {/* DESKTOP SIDEBAR */} -
      +
      {!sidebarItems.default.length && !staticSidebarItems && ( )} diff --git a/www/packages/docs-ui/src/components/VerticalCodeTabs/index.tsx b/www/packages/docs-ui/src/components/VerticalCodeTabs/index.tsx new file mode 100644 index 0000000000..564207e763 --- /dev/null +++ b/www/packages/docs-ui/src/components/VerticalCodeTabs/index.tsx @@ -0,0 +1,105 @@ +"use client" + +import React from "react" +import { CodeBlock, CodeBlockProps } from "../CodeBlock" +import clsx from "clsx" + +export type VerticalCodeTab = { + title: string + code: CodeBlockProps +} & Record + +export type VerticalCodeTabsProps = { + tabs: VerticalCodeTab[] + className?: string + selectedTabIndex: number + setSelectedTabIndex: (value: number) => void +} + +export const VerticalCodeTabs = ({ + tabs, + className, + selectedTabIndex, + setSelectedTabIndex, +}: VerticalCodeTabsProps) => { + return ( +
      +
      +
      + {new Array(3).fill(0).map((_, index) => ( + + ))} +
      +
      +
        + {tabs.map((tab, index) => ( +
      • setSelectedTabIndex(index)} + key={index} + > + {tab.title} +
      • + ))} +
      +
      + +
      +
      +
      +
      + ) +} diff --git a/www/packages/docs-ui/src/components/index.ts b/www/packages/docs-ui/src/components/index.ts index 1843422e79..27bc061cd2 100644 --- a/www/packages/docs-ui/src/components/index.ts +++ b/www/packages/docs-ui/src/components/index.ts @@ -26,6 +26,7 @@ export * from "./Feedback" export * from "./Feedback/Solutions" export * from "./Heading" export * from "./HooksLoader" +export * from "./IconHeadline" export * from "./Icons" export * from "./InlineIcon" export * from "./InlineThemeImage" @@ -73,5 +74,6 @@ export * from "./ThemeImage" export * from "./Toggle" export * from "./Tooltip" export * from "./TypeList" +export * from "./VerticalCodeTabs" export * from "./WorkflowDiagram" export * from "./ZoomImg" diff --git a/www/packages/docs-ui/src/constants.tsx b/www/packages/docs-ui/src/constants.tsx index bb2e6a93f6..eb3155fd1d 100644 --- a/www/packages/docs-ui/src/constants.tsx +++ b/www/packages/docs-ui/src/constants.tsx @@ -7,7 +7,7 @@ export const GITHUB_UI_ISSUES_PREFIX = `https://github.com/medusajs/ui/issues/ne export const navDropdownItems: NavigationItem[] = [ { type: "link", - path: `/v2`, + path: `/v2/learn`, title: "Get Started", project: "book", }, @@ -55,6 +55,11 @@ export const navDropdownItems: NavigationItem[] = [ title: "UI Library", link: "/ui", }, + { + type: "link", + title: "Admin Components", + link: "/v2/resources/admin-components", + }, { type: "link", title: "Storefront Development", diff --git a/www/packages/docs-ui/src/layouts/barebone.tsx b/www/packages/docs-ui/src/layouts/barebone.tsx new file mode 100644 index 0000000000..d31c24c025 --- /dev/null +++ b/www/packages/docs-ui/src/layouts/barebone.tsx @@ -0,0 +1,19 @@ +import clsx from "clsx" +import React from "react" + +export type BareboneLayoutProps = { + htmlClassName?: string + children: React.ReactNode +} + +export const BareboneLayout = ({ + htmlClassName, + children, +}: BareboneLayoutProps) => { + return ( + + + {children} + + ) +} diff --git a/www/packages/docs-ui/src/layouts/index.ts b/www/packages/docs-ui/src/layouts/index.ts index f950866a74..de9dfe7256 100644 --- a/www/packages/docs-ui/src/layouts/index.ts +++ b/www/packages/docs-ui/src/layouts/index.ts @@ -1,3 +1,4 @@ +export * from "./barebone" export * from "./root" export * from "./tight" export * from "./wide" diff --git a/www/packages/docs-ui/src/layouts/root.tsx b/www/packages/docs-ui/src/layouts/root.tsx index 9fbac1e12e..640964a017 100644 --- a/www/packages/docs-ui/src/layouts/root.tsx +++ b/www/packages/docs-ui/src/layouts/root.tsx @@ -5,47 +5,42 @@ import { Toc } from "../components/Toc" import { MainContentLayout, MainContentLayoutProps } from "./main-content" export type RootLayoutProps = { - ProvidersComponent: React.FC<{ children: React.ReactNode }> + bodyClassName?: string showToc?: boolean sidebarProps?: SidebarProps - htmlClassName?: string - bodyClassName?: string showPagination?: boolean feedbackComponent?: React.ReactNode editComponent?: React.ReactNode showBreadcrumbs?: boolean + ProvidersComponent: React.FC<{ children: React.ReactNode }> } & MainContentLayoutProps export const RootLayout = ({ - ProvidersComponent, - sidebarProps, - htmlClassName, bodyClassName, + sidebarProps, showToc = true, + ProvidersComponent, ...mainProps }: RootLayoutProps) => { return ( - - - - - - -
      - - {showToc && } -
      -
      -
      - - + + + + +
      + + {showToc && } +
      +
      +
      + ) } diff --git a/www/packages/docs-ui/src/providers/Search/index.tsx b/www/packages/docs-ui/src/providers/Search/index.tsx index 2b9430f570..3446463be7 100644 --- a/www/packages/docs-ui/src/providers/Search/index.tsx +++ b/www/packages/docs-ui/src/providers/Search/index.tsx @@ -228,7 +228,7 @@ export const SearchProvider = ({ "!p-0 overflow-hidden relative h-full", "flex flex-col justify-between" )} - modalContainerClassName="sm:h-[480px] sm:max-h-[480px]" + modalContainerClassName="!h-[480px] max-h-[480px]" open={isOpen} onClose={() => setIsOpen(false)} passedRef={modalRef} diff --git a/www/packages/docs-ui/src/providers/Sidebar/index.tsx b/www/packages/docs-ui/src/providers/Sidebar/index.tsx index 835e3b2650..4d35acb38d 100644 --- a/www/packages/docs-ui/src/providers/Sidebar/index.tsx +++ b/www/packages/docs-ui/src/providers/Sidebar/index.tsx @@ -61,6 +61,7 @@ export type SidebarContextType = { updatePersistedCategoryState: (title: string, opened: boolean) => void getPersistedCategoryState: (title: string) => boolean | undefined persistState: boolean + isSidebarShown: boolean } & SidebarStyleOptions export const SidebarContext = createContext(null) @@ -280,6 +281,13 @@ export const SidebarProvider = ({ const getResolvedScrollableElement = useCallback(() => { return scrollableElement || window }, [scrollableElement]) + const isSidebarShown = useMemo(() => { + if (!isBrowser) { + return true + } + + return document.getElementsByTagName("aside").length > 0 + }, [isBrowser]) const isItemLoaded = useCallback( (path: string) => { @@ -589,6 +597,7 @@ export const SidebarProvider = ({ updatePersistedCategoryState, getPersistedCategoryState, persistState, + isSidebarShown, }} > {children} diff --git a/www/packages/tailwind/base.tailwind.config.js b/www/packages/tailwind/base.tailwind.config.js index 13e50a8cfe..ed9e641216 100644 --- a/www/packages/tailwind/base.tailwind.config.js +++ b/www/packages/tailwind/base.tailwind.config.js @@ -185,6 +185,14 @@ module.exports = { hover: "#505052", }, }, + alpha: { + white: { + alpha: { + 6: "var(--docs-alpha-white-alpha-6)", + 12: "var(--docs-alpha-white-alpha-12)", + }, + }, + }, }, }, boxShadow: { @@ -340,7 +348,7 @@ module.exports = { h3: [ "16px", { - lineHeight: "24px", + lineHeight: "150%", fontWeight: "500", }, ], @@ -678,6 +686,14 @@ module.exports = { visibility: "hidden", }, }, + growWidth: { + from: { + width: 0, + }, + to: { + width: "100%", + }, + }, }, animation: { fadeIn: "fadeIn 500ms", @@ -699,6 +715,7 @@ module.exports = { minimize: "minimize 500ms", maximize: "maximize 500ms", flash: "flash 1500ms 1", + growWidth: "growWidth 500ms", }, scrollMargin: { 56: "56px", diff --git a/www/packages/tailwind/theme-presets.js b/www/packages/tailwind/theme-presets.js index 7ea1366eb0..05fd0b6b7b 100644 --- a/www/packages/tailwind/theme-presets.js +++ b/www/packages/tailwind/theme-presets.js @@ -99,7 +99,10 @@ const light = { "--docs-contrast-fg-secondary": "rgba(255, 255, 255, 0.56)", "--docs-contrast-border-base": "rgba(255, 255, 255, 0.16)", "--docs-contrast-border-top": "rgba(9, 9, 11, 1)", - "--docs-contrast-border-bot": "rgba(255, 255, 255, 0.1)", + "--docs-contrast-border-bot": "rgba(255, 255, 255, 0.10)", + + "--docs-alpha-white-alpha-6": "rgba(255, 255, 255, 0.06)", + "--docs-alpha-white-alpha-12": "rgba(255, 255, 255, 0.12)", } const dark = { diff --git a/www/yarn.lock b/www/yarn.lock index 8d62faaf16..d44185bac3 100644 --- a/www/yarn.lock +++ b/www/yarn.lock @@ -1400,6 +1400,15 @@ __metadata: languageName: node linkType: hard +"@medusajs/icons@npm:rc": + version: 2.0.0-rc-20241003153304 + resolution: "@medusajs/icons@npm:2.0.0-rc-20241003153304" + peerDependencies: + react: ^16.x || ^17.x || ^18.x + checksum: 6859af30f227ac3374e111e679fd90311e571ae72e6aedc690b3c324b42ba9082d69d675533fae9aa221b0aeccec4b51ee9535203f92d014ba82684f56a0ec7b + languageName: node + linkType: hard + "@medusajs/ui-preset@npm:^1.1.2": version: 1.1.2 resolution: "@medusajs/ui-preset@npm:1.1.2" @@ -5898,6 +5907,7 @@ __metadata: dependencies: "@mdx-js/loader": ^3.0.0 "@mdx-js/react": ^3.0.0 + "@medusajs/icons": rc "@next/mdx": ^14.2.14 "@types/mdx": ^2.0.10 "@types/node": ^20 @@ -7131,7 +7141,7 @@ __metadata: version: 0.0.0-use.local resolution: "docs-ui@workspace:packages/docs-ui" dependencies: - "@medusajs/icons": preview + "@medusajs/icons": rc "@medusajs/ui": ^3.0.0 "@octokit/request": ^8.1.1 "@react-hook/resize-observer": ^1.2.6