gitextract_0h9khkyg/ ├── .changeset/ │ ├── cold-foxes-lie.md │ ├── config.json │ ├── correlation-id-header.md │ ├── fix-hidden-fields-d35665be.md │ ├── fix-html-lang-locale.md │ ├── translations-patch-d3abeec7.md │ └── translations-patch-e3d3b994.md ├── .claude/ │ └── skills/ │ ├── release-catalyst/ │ │ └── SKILL.md │ ├── release-catalyst-patch/ │ │ └── SKILL.md │ └── sync-makeswift/ │ └── SKILL.md ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ ├── 🐞📝-bug-report-makeswift.md │ │ └── 🐞📝-bug-report.md │ ├── dependabot.yml │ ├── pull_request_template.md │ ├── scripts/ │ │ ├── __tests__/ │ │ │ ├── audit-unlighthouse.test.mts │ │ │ ├── bundle-size.test.mts │ │ │ ├── compare-unlighthouse.test.mts │ │ │ ├── post-bundle-comment.test.mts │ │ │ ├── post-unlighthouse-commit-comment.test.mts │ │ │ └── post-unlighthouse-pr-comment.test.mts │ │ ├── audit-unlighthouse.mts │ │ ├── bundle-size.mts │ │ ├── compare-unlighthouse.mts │ │ ├── post-bundle-comment.js │ │ ├── post-unlighthouse-commit-comment.js │ │ ├── post-unlighthouse-pr-comment.js │ │ └── prevent-invalid-changesets.js │ └── workflows/ │ ├── basic.yml │ ├── bundle-size.yml │ ├── changesets-release.yml │ ├── deploy.yml │ ├── e2e.yml │ ├── native-hosting.yml │ ├── prevent-invalid-changesets.yml │ ├── regression-tests.yml │ └── translations-changeset.yml ├── .gitignore ├── .nvmrc ├── .vscode/ │ ├── launch.example.json │ └── settings.example.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── core/ │ ├── .eslintignore │ ├── .eslintrc.cjs │ ├── .gitignore │ ├── AGENTS.md │ ├── CHANGELOG.md │ ├── README.md │ ├── app/ │ │ ├── [locale]/ │ │ │ ├── (default)/ │ │ │ │ ├── (auth)/ │ │ │ │ │ ├── change-password/ │ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ │ └── change-password.ts │ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ ├── login/ │ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ │ └── login.ts │ │ │ │ │ │ ├── forgot-password/ │ │ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ │ │ └── reset-password.ts │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ └── token/ │ │ │ │ │ │ └── [token]/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ ├── logout/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ └── register/ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ ├── prefixes.ts │ │ │ │ │ │ └── register-customer.ts │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── (faceted)/ │ │ │ │ │ ├── brand/ │ │ │ │ │ │ └── [slug]/ │ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── category/ │ │ │ │ │ │ └── [slug]/ │ │ │ │ │ │ ├── _components/ │ │ │ │ │ │ │ └── category-viewed.tsx │ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── fetch-compare-products.ts │ │ │ │ │ ├── fetch-faceted-search.ts │ │ │ │ │ └── search/ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── [...rest]/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── _components/ │ │ │ │ │ └── slideshow/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── account/ │ │ │ │ │ ├── addresses/ │ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ │ ├── address-action.ts │ │ │ │ │ │ │ ├── create-address.ts │ │ │ │ │ │ │ ├── delete-address.ts │ │ │ │ │ │ │ └── update-address.ts │ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ ├── orders/ │ │ │ │ │ │ ├── [id]/ │ │ │ │ │ │ │ ├── page-data.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── fragment.ts │ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── settings/ │ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ │ ├── change-password.ts │ │ │ │ │ │ │ ├── update-customer.ts │ │ │ │ │ │ │ └── update-newsletter-subscription.ts │ │ │ │ │ │ ├── page-data.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── wishlists/ │ │ │ │ │ ├── [id]/ │ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ │ └── add-to-cart.tsx │ │ │ │ │ │ ├── _components/ │ │ │ │ │ │ │ ├── visibility-switch.tsx │ │ │ │ │ │ │ ├── wishlist-actions.tsx │ │ │ │ │ │ │ └── wishlist-analytics-provider.tsx │ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ ├── change-wishlist-visibility.ts │ │ │ │ │ │ ├── delete-wishlist.ts │ │ │ │ │ │ ├── mutation.ts │ │ │ │ │ │ ├── new-wishlist.ts │ │ │ │ │ │ ├── remove-wishlist-item.ts │ │ │ │ │ │ ├── rename-wishlist.ts │ │ │ │ │ │ └── schema.ts │ │ │ │ │ ├── _components/ │ │ │ │ │ │ ├── new-wishlist-button.tsx │ │ │ │ │ │ └── wishlist-actions-menu.tsx │ │ │ │ │ ├── modals.tsx │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── blog/ │ │ │ │ │ ├── [blogId]/ │ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── cart/ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ ├── add-shipping-cost.ts │ │ │ │ │ │ ├── add-shipping-info.ts │ │ │ │ │ │ ├── apply-coupon-code.ts │ │ │ │ │ │ ├── apply-gift-certificate.ts │ │ │ │ │ │ ├── remove-coupon-code.ts │ │ │ │ │ │ ├── remove-gift-certificate.ts │ │ │ │ │ │ ├── remove-item.ts │ │ │ │ │ │ ├── update-coupon-code.ts │ │ │ │ │ │ ├── update-gift-certificate.ts │ │ │ │ │ │ ├── update-line-item.ts │ │ │ │ │ │ ├── update-quantity.ts │ │ │ │ │ │ └── update-shipping-info.ts │ │ │ │ │ ├── _components/ │ │ │ │ │ │ ├── cart-analytics-provider.tsx │ │ │ │ │ │ ├── cart-viewed.tsx │ │ │ │ │ │ └── checkout-preconnect.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── checkout/ │ │ │ │ │ └── route.ts │ │ │ │ ├── compare/ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ └── add-to-cart.tsx │ │ │ │ │ ├── _components/ │ │ │ │ │ │ └── compare-analytics-provider.tsx │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── error.tsx │ │ │ │ ├── gift-certificates/ │ │ │ │ │ ├── balance/ │ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ │ └── get-gift-certificate-by-code.ts │ │ │ │ │ │ ├── fragment.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── page-data.ts │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── purchase/ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ └── add-to-cart.tsx │ │ │ │ │ ├── fragment.ts │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── layout.tsx │ │ │ │ ├── page-data.ts │ │ │ │ ├── page.tsx │ │ │ │ ├── product/ │ │ │ │ │ └── [slug]/ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ ├── add-to-cart.tsx │ │ │ │ │ │ ├── get-more-images.ts │ │ │ │ │ │ ├── submit-review.ts │ │ │ │ │ │ └── wishlist-action.ts │ │ │ │ │ ├── _components/ │ │ │ │ │ │ ├── product-analytics-provider.tsx │ │ │ │ │ │ ├── product-review-schema/ │ │ │ │ │ │ │ ├── fragment.ts │ │ │ │ │ │ │ └── product-review-schema.tsx │ │ │ │ │ │ ├── product-schema/ │ │ │ │ │ │ │ ├── fragment.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── product-viewed/ │ │ │ │ │ │ │ ├── fragment.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── reviews.tsx │ │ │ │ │ │ ├── search-params-router-refresh.tsx │ │ │ │ │ │ └── wishlist-button/ │ │ │ │ │ │ ├── add-to-new-wishlist-modal.tsx │ │ │ │ │ │ ├── dropdown.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── webpages/ │ │ │ │ │ └── [id]/ │ │ │ │ │ ├── _components/ │ │ │ │ │ │ └── web-page.tsx │ │ │ │ │ ├── contact/ │ │ │ │ │ │ ├── _actions/ │ │ │ │ │ │ │ └── submit-contact-form.ts │ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ └── normal/ │ │ │ │ │ ├── page-data.ts │ │ │ │ │ └── page.tsx │ │ │ │ └── wishlist/ │ │ │ │ └── [token]/ │ │ │ │ ├── page-data.ts │ │ │ │ └── page.tsx │ │ │ ├── error.tsx │ │ │ ├── layout.tsx │ │ │ ├── maintenance/ │ │ │ │ └── page.tsx │ │ │ └── not-found.tsx │ │ ├── admin/ │ │ │ └── route.ts │ │ ├── api/ │ │ │ └── auth/ │ │ │ └── [...nextauth]/ │ │ │ └── route.ts │ │ ├── fonts.ts │ │ ├── layout.tsx │ │ ├── not-found.tsx │ │ ├── notifications.tsx │ │ ├── providers.tsx │ │ ├── robots.txt/ │ │ │ └── route.ts │ │ ├── sitemap.xml/ │ │ │ └── route.ts │ │ └── xmlsitemap.php/ │ │ └── route.ts │ ├── auth/ │ │ ├── anonymous-session.ts │ │ ├── customer-login-api.ts │ │ ├── index.ts │ │ └── types.ts │ ├── build-config/ │ │ ├── reader.ts │ │ ├── schema.ts │ │ └── writer.ts │ ├── channels.config.ts │ ├── client/ │ │ ├── correlation-id.ts │ │ ├── fragments/ │ │ │ ├── pagination.ts │ │ │ └── pricing.ts │ │ ├── graphql.ts │ │ ├── index.ts │ │ ├── revalidate-target.ts │ │ ├── tags.ts │ │ └── util/ │ │ └── index.ts │ ├── components/ │ │ ├── analytics/ │ │ │ ├── events.tsx │ │ │ ├── fragment.ts │ │ │ └── provider.tsx │ │ ├── breadcrumbs/ │ │ │ └── fragment.ts │ │ ├── consent-manager/ │ │ │ ├── consent-manager-dialog.tsx │ │ │ ├── consent-providers.tsx │ │ │ ├── cookie-banner.tsx │ │ │ ├── index.tsx │ │ │ └── scripts-fragment.ts │ │ ├── featured-products-carousel/ │ │ │ └── fragment.ts │ │ ├── featured-products-list/ │ │ │ └── fragment.ts │ │ ├── footer/ │ │ │ ├── fragment.ts │ │ │ ├── index.tsx │ │ │ └── payment-icons/ │ │ │ ├── amazon.tsx │ │ │ ├── american-express.tsx │ │ │ ├── apple-pay.tsx │ │ │ ├── mastercard.tsx │ │ │ ├── paypal.tsx │ │ │ └── visa.tsx │ │ ├── force-refresh/ │ │ │ └── index.tsx │ │ ├── header/ │ │ │ ├── _actions/ │ │ │ │ ├── fragment.ts │ │ │ │ ├── search.ts │ │ │ │ └── switch-currency.ts │ │ │ ├── fragment.ts │ │ │ ├── index.tsx │ │ │ └── schema.ts │ │ ├── image/ │ │ │ └── index.tsx │ │ ├── link/ │ │ │ └── index.tsx │ │ ├── modal/ │ │ │ ├── index.tsx │ │ │ └── modal-form-provider.tsx │ │ ├── polyfills/ │ │ │ └── container-query/ │ │ │ └── index.tsx │ │ ├── product-card/ │ │ │ └── fragment.ts │ │ ├── product-variants-inventory/ │ │ │ └── fragment.ts │ │ ├── store-logo/ │ │ │ └── fragment.ts │ │ ├── subscribe/ │ │ │ ├── _actions/ │ │ │ │ └── subscribe.ts │ │ │ └── index.tsx │ │ └── wishlist/ │ │ ├── error.ts │ │ ├── fragment.ts │ │ ├── modals/ │ │ │ ├── change-visibility.tsx │ │ │ ├── delete.tsx │ │ │ ├── new.tsx │ │ │ ├── rename.tsx │ │ │ └── share.tsx │ │ └── share-button.tsx │ ├── data-transformers/ │ │ ├── breadcrumbs-transformer.ts │ │ ├── facets-transformer.ts │ │ ├── form-field-transformer/ │ │ │ ├── fragment.ts │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ ├── logo-transformer.ts │ │ ├── order-details-transformer.ts │ │ ├── orders-transformer.ts │ │ ├── page-info-transformer.ts │ │ ├── prices-transformer.ts │ │ ├── product-card-transformer.ts │ │ ├── product-options-transformer.ts │ │ ├── scripts-transformer.ts │ │ ├── search-results-transformer.ts │ │ └── wishlists-transformer.ts │ ├── global.ts │ ├── globals.css │ ├── i18n/ │ │ ├── locales.ts │ │ ├── request.ts │ │ ├── routing.ts │ │ └── utils.ts │ ├── instrumentation.ts │ ├── lib/ │ │ ├── analytics/ │ │ │ ├── analytics.d.ts │ │ │ ├── bigcommerce/ │ │ │ │ ├── data-events.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── providers/ │ │ │ │ └── google-analytics/ │ │ │ │ └── index.ts │ │ │ ├── react/ │ │ │ │ └── index.tsx │ │ │ └── types.ts │ │ ├── cart/ │ │ │ ├── add-cart-line-item.ts │ │ │ ├── create-cart.ts │ │ │ ├── error.ts │ │ │ ├── index.ts │ │ │ └── validate-cart.ts │ │ ├── cdn-image-loader.ts │ │ ├── client-cookies.ts │ │ ├── consent-manager/ │ │ │ ├── cookies/ │ │ │ │ ├── client.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── parse-compact-format.ts │ │ │ │ └── server.ts │ │ │ └── schema.ts │ │ ├── content-security-policy.ts │ │ ├── currency.ts │ │ ├── force-refresh.ts │ │ ├── kv/ │ │ │ ├── adapters/ │ │ │ │ ├── memory.ts │ │ │ │ ├── upstash.ts │ │ │ │ └── vercel-runtime-cache.ts │ │ │ ├── index.ts │ │ │ ├── keys.ts │ │ │ └── types.ts │ │ ├── otel/ │ │ │ └── tracer.ts │ │ ├── recaptcha/ │ │ │ └── constants.ts │ │ ├── recaptcha.ts │ │ ├── search.tsx │ │ ├── seo/ │ │ │ └── canonical.ts │ │ ├── server-toast.ts │ │ ├── store-assets.ts │ │ ├── user-agent.ts │ │ └── utils.ts │ ├── messages/ │ │ ├── da.json │ │ ├── de.json │ │ ├── en.json │ │ ├── es-419.json │ │ ├── es-AR.json │ │ ├── es-CL.json │ │ ├── es-CO.json │ │ ├── es-LA.json │ │ ├── es-MX.json │ │ ├── es-PE.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── it.json │ │ ├── ja.json │ │ ├── nl.json │ │ ├── no.json │ │ ├── pl.json │ │ ├── pt-BR.json │ │ ├── pt.json │ │ └── sv.json │ ├── next.config.ts │ ├── package.json │ ├── playwright.config.ts │ ├── postcss.config.js │ ├── prettier.config.js │ ├── proxies/ │ │ ├── compose-proxies.ts │ │ ├── with-analytics-cookies.ts │ │ ├── with-auth.ts │ │ ├── with-channel-id.ts │ │ ├── with-intl.ts │ │ └── with-routes.ts │ ├── proxy.ts │ ├── scripts/ │ │ └── generate.cjs │ ├── tailwind.config.js │ ├── tests/ │ │ ├── README.md │ │ ├── environment.ts │ │ ├── fixtures/ │ │ │ ├── blog/ │ │ │ │ └── index.ts │ │ │ ├── browser.ts │ │ │ ├── catalog/ │ │ │ │ └── index.ts │ │ │ ├── currency/ │ │ │ │ └── index.ts │ │ │ ├── customer/ │ │ │ │ ├── index.ts │ │ │ │ └── session.ts │ │ │ ├── fixture.ts │ │ │ ├── index.ts │ │ │ ├── order/ │ │ │ │ └── index.ts │ │ │ ├── page.ts │ │ │ ├── promotion/ │ │ │ │ └── index.ts │ │ │ ├── redirects/ │ │ │ │ └── index.ts │ │ │ ├── settings/ │ │ │ │ └── index.ts │ │ │ ├── subscribe/ │ │ │ │ └── index.ts │ │ │ ├── utils/ │ │ │ │ └── api/ │ │ │ │ ├── blog/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── catalog/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── client.ts │ │ │ │ ├── currencies/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── customers/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── errors/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── response-error.ts │ │ │ │ ├── index.ts │ │ │ │ ├── orders/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── promotions/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── redirects/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── schema.ts │ │ │ │ ├── settings/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── subscribe/ │ │ │ │ │ ├── http.ts │ │ │ │ │ └── index.ts │ │ │ │ └── webpages/ │ │ │ │ ├── http.ts │ │ │ │ └── index.ts │ │ │ └── webpage/ │ │ │ └── index.ts │ │ ├── lib/ │ │ │ ├── formatter/ │ │ │ │ └── index.ts │ │ │ └── i18n/ │ │ │ └── index.ts │ │ ├── routes.ts │ │ ├── tags.ts │ │ ├── ui/ │ │ │ ├── components/ │ │ │ │ ├── accordion.spec.ts │ │ │ │ ├── breadcrumbs.spec.ts │ │ │ │ ├── carousel.spec.ts │ │ │ │ ├── checkbox.spec.ts │ │ │ │ ├── counter.spec.ts │ │ │ │ ├── radio-group.spec.ts │ │ │ │ ├── search.spec.ts │ │ │ │ ├── select.spec.ts │ │ │ │ ├── slideshow.spec.ts │ │ │ │ └── swatch.spec.ts │ │ │ └── e2e/ │ │ │ ├── account/ │ │ │ │ ├── account-settings.spec.ts │ │ │ │ ├── account.spec.ts │ │ │ │ ├── addresses.spec.ts │ │ │ │ ├── order-details.spec.ts │ │ │ │ ├── orders.spec.ts │ │ │ │ ├── wishlist-details.spec.ts │ │ │ │ ├── wishlists.mobile.spec.ts │ │ │ │ └── wishlists.spec.ts │ │ │ ├── analytics-session.spec.ts │ │ │ ├── auth/ │ │ │ │ ├── anonymous-session.spec.ts │ │ │ │ ├── forgot-password.spec.ts │ │ │ │ ├── login.spec.ts │ │ │ │ ├── logout.spec.ts │ │ │ │ └── register.spec.ts │ │ │ ├── blog.spec.ts │ │ │ ├── cart.spec.ts │ │ │ ├── checkout.spec.ts │ │ │ ├── compare.spec.ts │ │ │ ├── coupon.spec.ts │ │ │ ├── facets.spec.ts │ │ │ ├── home.spec.ts │ │ │ ├── not-found.spec.ts │ │ │ ├── product.spec.ts │ │ │ ├── proxy/ │ │ │ │ └── redirects.spec.ts │ │ │ ├── reviews.spec.ts │ │ │ ├── search.spec.ts │ │ │ ├── shipping.spec.ts │ │ │ ├── subscribe.spec.ts │ │ │ └── webpages.spec.ts │ │ └── visual-regression/ │ │ └── components/ │ │ ├── accordion.spec.ts │ │ ├── badge.spec.ts │ │ ├── blog-post-card.spec.ts │ │ ├── breadcrumbs.spec.ts │ │ ├── button.spec.ts │ │ ├── carousel.spec.ts │ │ ├── checkbox.spec.ts │ │ ├── counter.spec.ts │ │ ├── datepicker.spec.ts │ │ ├── footer.spec.ts │ │ ├── form.spec.ts │ │ ├── gallery.spec.ts │ │ ├── header.spec.ts │ │ ├── input.spec.ts │ │ ├── label.spec.ts │ │ ├── picklist.spec.ts │ │ ├── radio-group.spec.ts │ │ ├── rating.spec.ts │ │ ├── rectangle-list.spec.ts │ │ ├── select.spec.ts │ │ ├── slideshow.spec.ts │ │ ├── swatch.spec.ts │ │ ├── tags.spec.ts │ │ └── textarea.spec.ts │ ├── tsconfig.json │ ├── user-agent.ts │ └── vibes/ │ └── soul/ │ ├── form/ │ │ ├── button-radio-group/ │ │ │ └── index.tsx │ │ ├── card-radio-group/ │ │ │ └── index.tsx │ │ ├── checkbox/ │ │ │ └── index.tsx │ │ ├── checkbox-group/ │ │ │ └── index.tsx │ │ ├── date-picker/ │ │ │ └── index.tsx │ │ ├── dynamic-form/ │ │ │ ├── index.tsx │ │ │ ├── schema.ts │ │ │ └── utils.ts │ │ ├── field-error/ │ │ │ └── index.tsx │ │ ├── form-status/ │ │ │ └── index.tsx │ │ ├── input/ │ │ │ └── index.tsx │ │ ├── label/ │ │ │ └── index.tsx │ │ ├── number-input/ │ │ │ └── index.tsx │ │ ├── radio-group/ │ │ │ └── index.tsx │ │ ├── range-input/ │ │ │ └── index.tsx │ │ ├── rating-radio-group/ │ │ │ └── index.tsx │ │ ├── select/ │ │ │ └── index.tsx │ │ ├── swatch-radio-group/ │ │ │ └── index.tsx │ │ ├── switch/ │ │ │ └── index.tsx │ │ ├── textarea/ │ │ │ └── index.tsx │ │ └── toggle-group/ │ │ └── index.tsx │ ├── lib/ │ │ └── streamable.tsx │ ├── primitives/ │ │ ├── accordion/ │ │ │ └── index.tsx │ │ ├── alert/ │ │ │ └── index.tsx │ │ ├── animated-underline/ │ │ │ └── index.tsx │ │ ├── badge/ │ │ │ └── index.tsx │ │ ├── banner/ │ │ │ └── index.tsx │ │ ├── blog-post-card/ │ │ │ └── index.tsx │ │ ├── button/ │ │ │ └── index.tsx │ │ ├── button-link/ │ │ │ └── index.tsx │ │ ├── calendar/ │ │ │ └── index.tsx │ │ ├── carousel/ │ │ │ └── index.tsx │ │ ├── chip/ │ │ │ └── index.tsx │ │ ├── compare-card/ │ │ │ ├── add-to-cart-form.tsx │ │ │ ├── index.tsx │ │ │ └── schema.ts │ │ ├── compare-drawer/ │ │ │ ├── index.tsx │ │ │ └── loader.tsx │ │ ├── cursor-pagination/ │ │ │ └── index.tsx │ │ ├── dropdown-menu/ │ │ │ └── index.tsx │ │ ├── favorite/ │ │ │ ├── heart.tsx │ │ │ ├── index.tsx │ │ │ └── styles.css │ │ ├── gift-certificate-card/ │ │ │ ├── gift-certificate-card-logo.tsx │ │ │ └── index.tsx │ │ ├── inline-email-form/ │ │ │ ├── index.tsx │ │ │ └── schema.ts │ │ ├── logo/ │ │ │ └── index.tsx │ │ ├── modal/ │ │ │ └── index.tsx │ │ ├── navigation/ │ │ │ └── index.tsx │ │ ├── price-label/ │ │ │ └── index.tsx │ │ ├── product-card/ │ │ │ ├── compare.tsx │ │ │ └── index.tsx │ │ ├── rating/ │ │ │ └── index.tsx │ │ ├── reveal/ │ │ │ └── index.tsx │ │ ├── side-panel/ │ │ │ └── index.tsx │ │ ├── skeleton/ │ │ │ └── index.tsx │ │ ├── spinner/ │ │ │ └── index.tsx │ │ ├── toaster/ │ │ │ └── index.tsx │ │ ├── tooltip/ │ │ │ └── index.tsx │ │ └── wishlist-item-card/ │ │ ├── index.tsx │ │ ├── remove-wishlist-item.tsx │ │ └── wishlist-item-add-to-cart.tsx │ └── sections/ │ ├── account-settings/ │ │ ├── change-password-form.tsx │ │ ├── index.tsx │ │ ├── newsletter-subscription-form.tsx │ │ ├── schema.ts │ │ └── update-account-form.tsx │ ├── address-list-section/ │ │ ├── index.tsx │ │ └── schema.ts │ ├── blog-post-content/ │ │ └── index.tsx │ ├── blog-post-list/ │ │ └── index.tsx │ ├── breadcrumbs/ │ │ └── index.tsx │ ├── cart/ │ │ ├── client.tsx │ │ ├── coupon-code-form/ │ │ │ ├── coupon-chip.tsx │ │ │ └── index.tsx │ │ ├── gift-certificate-code-form/ │ │ │ ├── gift-certificate-chip.tsx │ │ │ └── index.tsx │ │ ├── index.tsx │ │ ├── schema.ts │ │ └── shipping-form/ │ │ └── index.tsx │ ├── compare-section/ │ │ └── index.tsx │ ├── dynamic-form-section/ │ │ └── index.tsx │ ├── error/ │ │ └── index.tsx │ ├── featured-blog-post-list/ │ │ └── index.tsx │ ├── featured-product-carousel/ │ │ └── index.tsx │ ├── featured-product-list/ │ │ └── index.tsx │ ├── footer/ │ │ └── index.tsx │ ├── forgot-password-section/ │ │ ├── forgot-password-form.tsx │ │ ├── index.tsx │ │ └── schema.ts │ ├── gift-certificate-balance-section/ │ │ ├── index.tsx │ │ └── schema.ts │ ├── gift-certificate-purchase-section/ │ │ └── index.tsx │ ├── gift-certificates-section/ │ │ └── index.tsx │ ├── header-section/ │ │ └── index.tsx │ ├── maintenance/ │ │ └── index.tsx │ ├── not-found/ │ │ └── index.tsx │ ├── order-details-section/ │ │ └── index.tsx │ ├── order-list/ │ │ └── index.tsx │ ├── product-carousel/ │ │ └── index.tsx │ ├── product-detail/ │ │ ├── actions/ │ │ │ └── revalidate-cart.ts │ │ ├── index.tsx │ │ ├── product-detail-form.tsx │ │ ├── product-gallery.tsx │ │ ├── rating-link.tsx │ │ └── schema.ts │ ├── product-list/ │ │ └── index.tsx │ ├── products-list-section/ │ │ ├── filter-parsers.ts │ │ ├── filters-panel.tsx │ │ ├── index.tsx │ │ └── sorting.tsx │ ├── reset-password-section/ │ │ ├── index.tsx │ │ ├── reset-password-form.tsx │ │ └── schema.ts │ ├── reviews/ │ │ ├── index.tsx │ │ ├── review-form.tsx │ │ └── schema.ts │ ├── section-layout/ │ │ └── index.tsx │ ├── sidebar-menu/ │ │ ├── index.tsx │ │ ├── sidebar-menu-link.tsx │ │ └── sidebar-menu-select.tsx │ ├── sign-in-section/ │ │ ├── index.tsx │ │ ├── schema.ts │ │ └── sign-in-form.tsx │ ├── slideshow/ │ │ └── index.tsx │ ├── sticky-sidebar-layout/ │ │ └── index.tsx │ ├── subscribe/ │ │ └── index.tsx │ ├── wishlist-details/ │ │ └── index.tsx │ ├── wishlist-list/ │ │ └── index.tsx │ ├── wishlist-list-item/ │ │ └── index.tsx │ └── wishlists-section/ │ └── index.tsx ├── graphql.config.json ├── package.json ├── packages/ │ ├── catalyst/ │ │ ├── .eslintrc.cjs │ │ ├── README.md │ │ ├── commander.d.ts │ │ ├── package.json │ │ ├── prettier.config.cjs │ │ ├── src/ │ │ │ └── cli/ │ │ │ ├── commands/ │ │ │ │ ├── build.spec.ts │ │ │ │ ├── build.ts │ │ │ │ ├── deploy.spec.ts │ │ │ │ ├── deploy.ts │ │ │ │ ├── dev.spec.ts │ │ │ │ ├── dev.ts │ │ │ │ ├── project.spec.ts │ │ │ │ ├── project.ts │ │ │ │ ├── start.spec.ts │ │ │ │ ├── start.ts │ │ │ │ ├── telemetry.ts │ │ │ │ ├── version.spec.ts │ │ │ │ └── version.ts │ │ │ ├── hooks/ │ │ │ │ └── telemetry.ts │ │ │ ├── index.spec.ts │ │ │ ├── index.ts │ │ │ ├── lib/ │ │ │ │ ├── get-module-cli-path.ts │ │ │ │ ├── logger.ts │ │ │ │ ├── mk-temp-dir.spec.ts │ │ │ │ ├── mk-temp-dir.ts │ │ │ │ ├── project-config.spec.ts │ │ │ │ ├── project-config.ts │ │ │ │ ├── project.ts │ │ │ │ ├── telemetry.ts │ │ │ │ ├── wrangler-config.spec.ts │ │ │ │ └── wrangler-config.ts │ │ │ └── program.ts │ │ ├── templates/ │ │ │ └── open-next.config.ts │ │ ├── tests/ │ │ │ └── mocks/ │ │ │ ├── handlers.ts │ │ │ ├── node.ts │ │ │ └── spinner.ts │ │ ├── tsconfig.json │ │ ├── tsup.config.ts │ │ ├── vitest.config.ts │ │ └── vitest.setup.ts │ ├── client/ │ │ ├── .eslintrc.cjs │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── prettier.config.js │ │ ├── src/ │ │ │ ├── api-error.ts │ │ │ ├── client.ts │ │ │ ├── gql-auth-error.ts │ │ │ ├── gql-error.ts │ │ │ ├── index.ts │ │ │ ├── invalid-cat-error.ts │ │ │ ├── lib/ │ │ │ │ └── error.ts │ │ │ ├── missing-cat-error.ts │ │ │ ├── types.ts │ │ │ └── utils/ │ │ │ ├── getOperationName.ts │ │ │ ├── normalizeQuery.ts │ │ │ ├── removeEdgesAndNodes.ts │ │ │ └── userAgent.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── create-catalyst/ │ │ ├── .eslintrc.cjs │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── bin/ │ │ │ ├── index.cjs │ │ │ └── supported-node-versions.cjs │ │ ├── jest.config.cjs │ │ ├── package.json │ │ ├── prettier.config.cjs │ │ ├── src/ │ │ │ ├── commands/ │ │ │ │ ├── create.ts │ │ │ │ ├── init.ts │ │ │ │ ├── integration.ts │ │ │ │ └── telemetry.ts │ │ │ ├── hooks/ │ │ │ │ └── telemetry.ts │ │ │ ├── index.ts │ │ │ ├── prompts/ │ │ │ │ └── multi-select/ │ │ │ │ ├── helpers.ts │ │ │ │ ├── index.ts │ │ │ │ ├── multi-select.ts │ │ │ │ └── types.ts │ │ │ └── utils/ │ │ │ ├── auth.ts │ │ │ ├── checkout-ref.ts │ │ │ ├── cli-api.ts │ │ │ ├── clone-catalyst.ts │ │ │ ├── config.ts │ │ │ ├── has-github-ssh.ts │ │ │ ├── https.ts │ │ │ ├── install-dependencies.ts │ │ │ ├── is-exec-exception.ts │ │ │ ├── localization.ts │ │ │ ├── login.ts │ │ │ ├── node-version.spec.ts │ │ │ ├── parse.ts │ │ │ ├── reset-branch-to-ref.ts │ │ │ ├── spinner.spec.ts │ │ │ ├── spinner.ts │ │ │ ├── telemetry/ │ │ │ │ ├── index.ts │ │ │ │ └── telemetry.ts │ │ │ ├── user-agent.ts │ │ │ └── write-env.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ └── eslint-config-catalyst/ │ ├── CHANGELOG.md │ ├── base.js │ ├── next.js │ ├── package.json │ ├── prettier.js │ └── react.js ├── pnpm-workspace.yaml ├── turbo.json └── unlighthouse.config.ts