├── .changeset ├── README.md ├── afraid-eggs-rush.md ├── afraid-glasses-fail.md ├── afraid-pots-complain.md ├── beige-suns-know.md ├── beige-worms-tell.md ├── big-students-try.md ├── brave-penguins-love.md ├── bright-goats-move.md ├── calm-toes-stare.md ├── chilled-pans-watch.md ├── chilled-rivers-hear.md ├── clean-houses-notice.md ├── clean-lamps-fry.md ├── clean-pumas-shake.md ├── clever-dodos-fold.md ├── cold-eggs-visit.md ├── cold-readers-design.md ├── config.json ├── cool-kings-look.md ├── cool-pans-lie.md ├── cuddly-pants-lay.md ├── curly-meals-bathe.md ├── dirty-chicken-rhyme.md ├── dry-boats-report.md ├── dry-hounds-rush.md ├── eight-wolves-kiss.md ├── eighty-pianos-protect.md ├── empty-chicken-push.md ├── empty-files-stare.md ├── famous-experts-notice.md ├── fast-rings-hang.md ├── few-lamps-love.md ├── five-beds-admire.md ├── five-cooks-judge.md ├── flat-pandas-dance.md ├── fluffy-owls-applaud.md ├── four-bananas-marry.md ├── four-needles-invent.md ├── friendly-hotels-rush.md ├── funny-crabs-fix.md ├── funny-grapes-speak.md ├── funny-humans-brush.md ├── funny-rats-wave.md ├── gentle-rabbits-relax.md ├── gentle-rules-learn.md ├── gold-eels-report.md ├── good-cameras-peel.md ├── gorgeous-baboons-learn.md ├── gorgeous-cameras-tie.md ├── great-colts-smoke.md ├── green-guests-kick.md ├── green-news-play.md ├── healthy-hairs-enjoy.md ├── healthy-toys-doubt.md ├── heavy-balloons-confess.md ├── heavy-coats-brake.md ├── heavy-guests-mix.md ├── heavy-squids-build.md ├── hip-buckets-raise.md ├── hip-dogs-call.md ├── hungry-laws-judge.md ├── hungry-ravens-cheer.md ├── khaki-cups-lie.md ├── kind-jars-deliver.md ├── large-balloons-teach.md ├── large-ducks-deliver.md ├── late-garlics-listen.md ├── late-paws-smell.md ├── lazy-ducks-leave.md ├── lemon-ads-rescue.md ├── lemon-sloths-approve.md ├── lemon-starfishes-sit.md ├── loud-cougars-prove.md ├── loud-jeans-trade.md ├── lovely-clocks-trade.md ├── lovely-pigs-argue.md ├── metal-meals-wave.md ├── mighty-bags-wink.md ├── mighty-pets-hear.md ├── mighty-squids-hug.md ├── mighty-swans-return.md ├── modern-bottles-fold.md ├── nice-starfishes-melt.md ├── nice-taxis-reply.md ├── orange-gifts-call.md ├── pink-clocks-jam.md ├── plenty-moons-fetch.md ├── polite-maps-count.md ├── polite-snakes-live.md ├── poor-eyes-matter.md ├── poor-ghosts-rescue.md ├── popular-suns-exercise.md ├── pre.json ├── proud-horses-add.md ├── quiet-bees-exist.md ├── quiet-trains-grab.md ├── rare-horses-cheer.md ├── red-bulldogs-call.md ├── red-lies-drive.md ├── rich-beds-check.md ├── rich-weeks-try.md ├── rotten-insects-warn.md ├── serious-cooks-smell.md ├── serious-ducks-scream.md ├── serious-glasses-call.md ├── seven-avocados-argue.md ├── shaggy-fans-live.md ├── shaggy-ligers-obey.md ├── shiny-pillows-love.md ├── silly-tigers-scream.md ├── silver-ears-heal.md ├── six-cheetahs-repeat.md ├── sixty-planes-grow.md ├── slow-ghosts-listen.md ├── slow-hotels-tan.md ├── small-kangaroos-scream.md ├── soft-clocks-fail.md ├── soft-cycles-ring.md ├── spicy-mangos-draw.md ├── spicy-shrimps-battle.md ├── stale-donuts-grab.md ├── stale-maps-suffer.md ├── strange-turkeys-sort.md ├── sweet-lemons-visit.md ├── swift-horses-return.md ├── ten-flies-pay.md ├── ten-maps-cough.md ├── ten-mugs-invite.md ├── tender-emus-smash.md ├── tender-guests-refuse.md ├── tender-waves-hear.md ├── thick-parents-joke.md ├── thirty-lamps-fetch.md ├── tidy-bobcats-obey.md ├── tiny-cups-turn.md ├── tiny-tools-lie.md ├── tough-steaks-jump.md ├── tricky-turtles-reply.md ├── twelve-zoos-visit.md ├── twenty-meals-rule.md ├── two-schools-kneel.md ├── two-tables-carry.md ├── violet-geckos-kiss.md ├── warm-stingrays-yawn.md ├── weak-timers-peel.md ├── wet-seas-argue.md ├── wicked-carpets-tie.md ├── wicked-oranges-fly.md ├── wicked-planets-call.md ├── wicked-stingrays-buy.md ├── wild-games-search.md ├── wild-goats-run.md ├── witty-pans-itch.md ├── witty-papayas-care.md └── young-olives-crash.md ├── .devcontainer └── devcontainer.json ├── .github ├── ISSUE_TEMPLATE │ ├── 1.bug_report.yml │ ├── 2.feature_request.yml │ └── config.yml ├── README.md └── workflows │ ├── bundlesize.yml │ ├── merge-main-to-canary.yml │ ├── periodic-build.yml │ ├── release-canary.yml │ ├── release-main.yml │ └── target-branch-is-canary.yml ├── .gitignore ├── .gitpod.yml ├── .vscode ├── launch.json └── settings.json ├── .yarn └── releases │ └── yarn-4.5.3.cjs ├── .yarnrc.yml ├── LICENSE.md ├── README.md ├── RELEASE-9.0.0.md ├── docs ├── CHANGELOG.md ├── contributing.md ├── feature-list.md ├── framework │ ├── caching.md │ ├── config.md │ ├── deployment.md │ ├── favicon.md │ ├── google-gtm.md │ ├── icons.md │ ├── links.md │ ├── mesh.md │ ├── patch-package.md │ ├── plugins-graphql.md │ ├── plugins-react.md │ ├── preview-mode.md │ ├── readme.md │ ├── seo.md │ ├── static-file-serving.md │ ├── static-generation.md │ ├── theming.md │ ├── translations.md │ ├── troubleshooting.md │ ├── typography.md │ └── vscode.md ├── getting-started │ ├── create.md │ ├── graphcms-component.md │ ├── header.md │ ├── improving-core-web-vitals.md │ ├── pages.md │ ├── readme.md │ └── start-building.md ├── hygraph │ ├── cli.md │ ├── dynamic-rows.md │ ├── property-picker.md │ └── readme.md ├── magento │ ├── algolia.md │ ├── configurable-products.md │ ├── implementing-payment-gateways.md │ ├── known-issues.md │ ├── multi-store-language-and-website.md │ ├── multi-theme-multi-website.md │ ├── patches │ │ ├── cart-error-category.patch │ │ ├── fix-bundle-selection-visibility-catalog.patch │ │ ├── fix-bundle-selection-visibility-related.patch │ │ ├── fix-cart-user-error-reporting.patch │ │ ├── fix-custom-option-processing.patch │ │ └── fix-error-returning-null-attribute-values.patch │ ├── readme.md │ └── seo-migration.md ├── package.json ├── readme.md ├── roadmap.md ├── tsconfig.json └── upgrading │ ├── graphcommerce-5-to-6.md │ ├── graphcommerce-6-to-7.md │ ├── graphcommerce-7-to-8.md │ ├── graphcommerce-8-to-9.md │ └── readme.md ├── examples ├── magento-graphcms │ ├── .gitignore │ ├── .graphqlrc.yml │ ├── .meshrc.yml │ ├── .vscode │ │ └── settings.json │ ├── .yarnrc.yml │ ├── CHANGELOG.md │ ├── README.md │ ├── codegen.yml │ ├── components │ │ ├── Blog │ │ │ ├── BlogAuthor.graphql │ │ │ ├── BlogAuthor.tsx │ │ │ ├── BlogHeader.tsx │ │ │ ├── BlogItem.graphql │ │ │ ├── BlogItem.tsx │ │ │ ├── BlogList.graphql │ │ │ ├── BlogList.tsx │ │ │ ├── BlogListTagged.graphql │ │ │ ├── BlogPaths.graphql │ │ │ ├── BlogPostPaths.graphql │ │ │ ├── BlogPostTaggedPaths.graphql │ │ │ ├── BlogTags.graphql │ │ │ ├── BlogTags.tsx │ │ │ ├── RowBlogContent.graphql │ │ │ ├── RowBlogContent.tsx │ │ │ └── index.ts │ │ ├── GraphCMS │ │ │ ├── Asset │ │ │ │ └── AssetWithAlt.graphql │ │ │ ├── PageContentQueryFragment.graphql │ │ │ ├── RowButtonLinkList │ │ │ │ ├── RowButtonLinkList.graphql │ │ │ │ └── RowButtonLinkList.tsx │ │ │ ├── RowColumnOne │ │ │ │ ├── RowColumnOne.graphql │ │ │ │ ├── RowColumnOne.tsx │ │ │ │ └── variant │ │ │ │ │ ├── Default.tsx │ │ │ │ │ ├── Message.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── RowColumnThree │ │ │ │ ├── RowColumnThree.graphql │ │ │ │ └── RowColumnThree.tsx │ │ │ ├── RowColumnTwo │ │ │ │ ├── RowColumnTwo.graphql │ │ │ │ └── RowColumnTwo.tsx │ │ │ ├── RowContentLinks │ │ │ │ ├── RowContentLinks.graphql │ │ │ │ └── RowContentLinks.tsx │ │ │ ├── RowHeroBanner │ │ │ │ ├── RowHeroBanner.graphql │ │ │ │ └── RowHeroBanner.tsx │ │ │ ├── RowLinks │ │ │ │ ├── RowLinks.graphql │ │ │ │ ├── RowLinks.tsx │ │ │ │ └── variant │ │ │ │ │ ├── ImageLabelSwiper.tsx │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ ├── LogoSwiper.tsx │ │ │ │ │ ├── Usps.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── RowProduct │ │ │ │ ├── RowProduct.graphql │ │ │ │ ├── RowProduct.tsx │ │ │ │ └── variant │ │ │ │ │ ├── Backstory.tsx │ │ │ │ │ ├── Feature.tsx │ │ │ │ │ ├── FeatureBoxed.tsx │ │ │ │ │ ├── Grid.tsx │ │ │ │ │ ├── ProductFeatureMedia.graphql │ │ │ │ │ ├── ProductFeatureMediaBoxed.graphql │ │ │ │ │ ├── Related.tsx │ │ │ │ │ ├── Reviews.tsx │ │ │ │ │ ├── Specs.tsx │ │ │ │ │ ├── Swipeable.tsx │ │ │ │ │ ├── Upsells.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── RowQuote │ │ │ │ ├── RowQuote.graphql │ │ │ │ └── RowQuote.tsx │ │ │ ├── RowRenderer.graphql │ │ │ ├── RowRenderer.tsx │ │ │ ├── RowServiceOptions │ │ │ │ ├── RowServiceOptions.graphql │ │ │ │ └── RowServiceOptions.tsx │ │ │ ├── RowSpecialBanner │ │ │ │ ├── RowSpecialBanner.graphql │ │ │ │ └── RowSpecialBanner.tsx │ │ │ └── index.ts │ │ ├── Layout │ │ │ ├── Footer.tsx │ │ │ ├── FooterQueryFragment.graphql │ │ │ ├── Layout.graphql │ │ │ ├── LayoutMinimal.tsx │ │ │ ├── LayoutNavigation.tsx │ │ │ ├── LayoutOverlay.tsx │ │ │ ├── Logo.tsx │ │ │ ├── graphcommerce.svg │ │ │ └── index.ts │ │ ├── ProductListItems │ │ │ ├── ProductListItems.tsx │ │ │ ├── index.ts │ │ │ └── productListRenderer.tsx │ │ ├── ProductListLayout │ │ │ ├── ProductListLayoutClassic.tsx │ │ │ ├── ProductListLayoutDefault.tsx │ │ │ ├── ProductListLayoutSidebar.tsx │ │ │ ├── index.ts │ │ │ └── types.tsx │ │ ├── ProductView │ │ │ ├── AddProductsToCartView.tsx │ │ │ └── index.ts │ │ ├── Usps │ │ │ ├── Usps.graphql │ │ │ ├── Usps.tsx │ │ │ └── UspsQueryFragment.graphql │ │ ├── index.ts │ │ └── theme.ts │ ├── graphcommerce.config.js.example │ ├── graphql.config.ts │ ├── graphql │ │ ├── CategoryPage.graphql │ │ └── ProductPage2.graphql │ ├── lib │ │ ├── graphql │ │ │ └── graphqlSsrClient.ts │ │ ├── i18n │ │ │ └── I18nProvider.tsx │ │ └── sw.ts │ ├── lingui.config.js │ ├── locales │ │ ├── de.po │ │ ├── en.po │ │ ├── es.po │ │ ├── fr.po │ │ ├── it.po │ │ └── nl.po │ ├── next.config.ts │ ├── package.json │ ├── pages │ │ ├── 404.tsx │ │ ├── [...url].tsx │ │ ├── _app.tsx │ │ ├── _document.tsx │ │ ├── account │ │ │ ├── addresses │ │ │ │ ├── add.tsx │ │ │ │ ├── edit.tsx │ │ │ │ └── index.tsx │ │ │ ├── authentication │ │ │ │ └── index.tsx │ │ │ ├── contact │ │ │ │ └── index.tsx │ │ │ ├── delete │ │ │ │ └── index.tsx │ │ │ ├── forgot-password.tsx │ │ │ ├── index.tsx │ │ │ ├── name │ │ │ │ └── index.tsx │ │ │ ├── orders │ │ │ │ ├── credit-memo.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── invoice.tsx │ │ │ │ ├── shipment.tsx │ │ │ │ └── view.tsx │ │ │ ├── reviews │ │ │ │ ├── add.tsx │ │ │ │ └── index.tsx │ │ │ └── signin.tsx │ │ ├── api │ │ │ ├── graphql.ts │ │ │ └── preview.ts │ │ ├── blog │ │ │ ├── [...url].tsx │ │ │ ├── index.tsx │ │ │ ├── page │ │ │ │ └── [page].tsx │ │ │ └── tagged │ │ │ │ └── [url].tsx │ │ ├── c │ │ │ └── [...url].tsx │ │ ├── cart.tsx │ │ ├── checkout │ │ │ ├── added.tsx │ │ │ ├── customer │ │ │ │ └── addresses │ │ │ │ │ └── edit.tsx │ │ │ ├── edit │ │ │ │ └── billing-address.tsx │ │ │ ├── index.tsx │ │ │ ├── item │ │ │ │ └── [url].tsx │ │ │ ├── payment.tsx │ │ │ ├── success.tsx │ │ │ └── terms │ │ │ │ └── [url].tsx │ │ ├── compare.tsx │ │ ├── customer │ │ │ └── account │ │ │ │ ├── confirm.tsx │ │ │ │ └── createPassword │ │ │ │ └── index.tsx │ │ ├── guest │ │ │ └── orderstatus.tsx │ │ ├── index.tsx │ │ ├── modal │ │ │ └── [...url].tsx │ │ ├── p │ │ │ └── [url].tsx │ │ ├── robots.txt.tsx │ │ ├── search │ │ │ └── [[...url]].tsx │ │ ├── service │ │ │ ├── [[...url]].tsx │ │ │ ├── contact-us.tsx │ │ │ └── newsletter.tsx │ │ ├── sitemap │ │ │ ├── categories.xml.tsx │ │ │ ├── content.xml.tsx │ │ │ └── products.xml.tsx │ │ ├── switch-stores.tsx │ │ └── wishlist │ │ │ └── index.tsx │ ├── patches │ │ └── README.md │ ├── plugins │ │ └── EnableCrosssellsPlugin.tsx │ ├── public │ │ ├── apple-touch-icon.png │ │ ├── favicon.ico │ │ ├── favicon.svg │ │ ├── manifest.webmanifest │ │ ├── manifest │ │ │ ├── favicon-192.png │ │ │ └── favicon-512.png │ │ └── open-graph-image.jpg │ └── tsconfig.json └── magento-open-source │ ├── .gitignore │ ├── .graphqlrc.yml │ ├── .meshrc.yml │ ├── .vscode │ └── settings.json │ ├── .yarnrc.yml │ ├── CHANGELOG.md │ ├── README.md │ ├── codegen.yml │ ├── components │ ├── Layout │ │ ├── Footer.tsx │ │ ├── Layout.graphql │ │ ├── LayoutMinimal.tsx │ │ ├── LayoutNavigation.tsx │ │ ├── LayoutOverlay.tsx │ │ ├── Logo.tsx │ │ ├── graphcommerce.svg │ │ └── index.ts │ ├── ProductListItems │ │ ├── ProductListItems.tsx │ │ ├── index.ts │ │ └── productListRenderer.tsx │ ├── ProductListLayout │ │ ├── ProductListLayoutClassic.tsx │ │ ├── ProductListLayoutDefault.tsx │ │ ├── ProductListLayoutSidebar.tsx │ │ ├── index.ts │ │ └── types.tsx │ ├── ProductView │ │ ├── AddProductsToCartView.tsx │ │ ├── Reviews.tsx │ │ └── index.ts │ ├── index.ts │ └── theme.ts │ ├── graphcommerce.config.js.example │ ├── graphql.config.ts │ ├── graphql │ ├── CategoryPage.graphql │ └── ProductPage2.graphql │ ├── lib │ ├── graphql │ │ └── graphqlSsrClient.ts │ ├── i18n │ │ └── I18nProvider.tsx │ └── sw.ts │ ├── lingui.config.js │ ├── locales │ ├── de.po │ ├── en.po │ ├── es.po │ ├── fr.po │ ├── it.po │ └── nl.po │ ├── next.config.ts │ ├── package.json │ ├── pages │ ├── 404.tsx │ ├── [...url].tsx │ ├── _app.tsx │ ├── _document.tsx │ ├── account │ │ ├── addresses │ │ │ ├── add.tsx │ │ │ ├── edit.tsx │ │ │ └── index.tsx │ │ ├── authentication │ │ │ └── index.tsx │ │ ├── contact │ │ │ └── index.tsx │ │ ├── delete │ │ │ └── index.tsx │ │ ├── forgot-password.tsx │ │ ├── index.tsx │ │ ├── name │ │ │ └── index.tsx │ │ ├── orders │ │ │ ├── credit-memo.tsx │ │ │ ├── index.tsx │ │ │ ├── invoice.tsx │ │ │ ├── shipment.tsx │ │ │ └── view.tsx │ │ ├── reviews │ │ │ ├── add.tsx │ │ │ └── index.tsx │ │ └── signin.tsx │ ├── api │ │ ├── graphql.ts │ │ └── preview.ts │ ├── c │ │ └── [...url].tsx │ ├── cart.tsx │ ├── checkout │ │ ├── added.tsx │ │ ├── customer │ │ │ └── addresses │ │ │ │ └── edit.tsx │ │ ├── edit │ │ │ └── billing-address.tsx │ │ ├── index.tsx │ │ ├── item │ │ │ └── [url].tsx │ │ ├── payment.tsx │ │ ├── success.tsx │ │ └── terms │ │ │ └── [url].tsx │ ├── compare.tsx │ ├── customer │ │ └── account │ │ │ ├── confirm.tsx │ │ │ └── createPassword.tsx │ ├── guest │ │ └── orderstatus.tsx │ ├── index.tsx │ ├── p │ │ └── [url].tsx │ ├── page │ │ └── [...url].tsx │ ├── robots.txt.tsx │ ├── search │ │ └── [[...url]].tsx │ ├── service │ │ ├── contact-us.tsx │ │ ├── index.tsx │ │ └── newsletter.tsx │ ├── sitemap │ │ ├── categories.xml.tsx │ │ ├── content.xml.tsx │ │ └── products.xml.tsx │ ├── switch-stores.tsx │ └── wishlist.tsx │ ├── patches │ └── README.md │ ├── plugins │ └── EnableCrosssellsPlugin.tsx │ ├── public │ ├── apple-touch-icon.png │ ├── favicon.ico │ ├── favicon.svg │ ├── manifest.webmanifest │ ├── manifest │ │ ├── favicon-192.png │ │ └── favicon-512.png │ └── open-graph-image.jpg │ └── tsconfig.json ├── graphql.config.ts ├── jest.config.mjs ├── knip.ts ├── package.json ├── packages ├── address-fields-nl │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ └── PostcodeNLAutoFill.tsx │ ├── graphql │ │ └── PostcodeNL.graphql │ ├── index.ts │ ├── lib │ │ └── nationaalgeoregister │ │ │ ├── .meshrc.yaml │ │ │ ├── resolver.ts │ │ │ └── responseSample.json │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── AddPostcodeNLAddressFields.tsx │ ├── schema │ │ └── PostcodeNL.graphqls │ └── tsconfig.json ├── algolia-categories │ ├── CHANGELOG.md │ ├── README.md │ ├── graphql │ │ └── fragments │ │ │ └── AlgoliaCategorySearch.graphql │ ├── mesh │ │ ├── algoliaHitToMagentoCategory.ts │ │ ├── getCategoryResults.ts │ │ ├── getCategoryResultsInput.ts │ │ ├── getIndexName.ts │ │ └── resolvers.ts │ ├── package.json │ ├── plugins │ │ ├── categoriesApplySearchDefaultAlgolia.ts │ │ └── meshConfigAlgoliaCategories.ts │ ├── schema │ │ └── AlgoliaCategorySchema.graphqls │ └── utils │ │ └── applyEngineVariable.ts ├── algolia-insights │ ├── CHANGELOG.md │ ├── README.md │ ├── algolia-insights-spec.yaml │ ├── graphql │ │ └── AlgoliaSendEvent.graphql │ ├── hooks │ │ └── useSendAlgoliaEvent.ts │ ├── index.ts │ ├── package.json │ ├── plugins │ │ ├── getSearchResultsInputInsights.ts │ │ ├── getSearchSuggestionsInputInsights.ts │ │ ├── meshConfigAlgoliaInsights.ts │ │ └── useSendEventAlgolia.ts │ ├── scripts │ │ └── generate-insights-spec.mts │ └── tsconfig.json ├── algolia-personalization │ ├── CHANGELOG.md │ ├── README.md │ ├── index.ts │ ├── mesh │ │ └── getUserToken.ts │ ├── package.json │ ├── plugins │ │ ├── InContextInputAlgoliaUserToken.ts │ │ ├── getSearchResultsInputPersonalization.ts │ │ └── getSearchSuggestionsInputPersonalization.ts │ ├── schema │ │ └── InContext_algoliaUserToken.graphqls │ └── tsconfig.json ├── algolia-products │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── algolia-spec.yaml │ ├── graphql │ │ ├── CustomerGroupId.graphql │ │ ├── GetAlgoliaSettings.graphql │ │ └── ProductListItems_Algolia.graphql │ ├── hooks │ │ ├── useAlgoliaIndexName.ts │ │ └── useAlgoliaQueryContext.ts │ ├── index.ts │ ├── link │ │ └── customerGroupIdLink.ts │ ├── mesh │ │ ├── algoliaFacetsToAggregations.ts │ │ ├── algoliaHitToMagentoProduct.ts │ │ ├── getAlgoliaSettings.ts │ │ ├── getAttributeList.ts │ │ ├── getFilterTypes.ts │ │ ├── getGroupId.ts │ │ ├── getIndexName.ts │ │ ├── getSearchResults.ts │ │ ├── getSearchResultsInput.ts │ │ ├── getSearchSuggestions.ts │ │ ├── getSearchSuggestionsIndexName.ts │ │ ├── getSearchSuggestionsInput.ts │ │ ├── getSortedIndex.ts │ │ ├── getStoreConfig.ts │ │ ├── index.ts │ │ ├── productFilterInputToAlgoliafacetFiltersInput.ts │ │ ├── resolvers.ts │ │ ├── sortAggregations.ts │ │ ├── sortFieldOptions.ts │ │ └── utils.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── GraphQLProviderAlgoliaCustomerGroupId.tsx │ │ ├── ProductListItemsBaseAlgolia.tsx │ │ ├── magentoProductApplyAlgoliaEngine.ts │ │ ├── magentoSearchApplyAlgoliaEngine.ts │ │ └── meshConfigAlgolia.ts │ ├── schema │ │ └── AlgoliaSchema.graphqls │ ├── scripts │ │ ├── base-schema-filter.mts │ │ └── generate-spec.mts │ ├── tsconfig.json │ └── utils │ │ └── applyEngineVariable.ts ├── algolia-recommend │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── algolia-recommend-spec.yaml │ ├── mesh │ │ ├── createProductMapper.ts │ │ ├── createValueFacetMapper.ts │ │ ├── getRecommendationArgs.ts │ │ ├── getRecommendations.ts │ │ └── resolvers.ts │ ├── package.json │ ├── plugins │ │ └── meshConfigAlgoliaRecommend.ts │ ├── schema-ac │ │ └── AlgoliaProductRecommendations.graphqls │ ├── schema │ │ ├── AlgoliaProductRecommendations.graphqls │ │ └── AlgoliaTrending.graphqls │ ├── scripts │ │ └── generate-recommend-spec.mts │ └── tsconfig.json ├── algolia-search │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── api │ │ ├── add-hygraph-record.ts │ │ └── remove-hygraph-record.ts │ ├── components │ │ ├── Chip │ │ │ ├── FilterChip │ │ │ │ ├── RefinementFilterChip.tsx │ │ │ │ └── RefinementRangeChip.tsx │ │ │ ├── RenderChip.tsx │ │ │ └── SortChip │ │ │ │ └── SortChip.tsx │ │ ├── Filters │ │ │ └── AlgoliaFilters.tsx │ │ ├── Pagination │ │ │ └── AlgoliaPagination.tsx │ │ └── SearchBox │ │ │ └── SearchBox.tsx │ ├── hooks │ │ ├── useAlgoliaCategoryResults.ts │ │ ├── useAlgoliaPageResults.ts │ │ ├── useAlgoliaProductResults.ts │ │ └── useAlgoliaSearchIndexConfig.ts │ ├── index.ts │ ├── lib │ │ ├── configuration.ts │ │ └── types.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── AlgoliaCategorySearchResults.tsx │ │ ├── AlgoliaFiltersPlugin.tsx │ │ ├── AlgoliaPageSearchResults.tsx │ │ ├── AlgoliaPaginationPlugin.tsx │ │ ├── AlgoliaProductListCountPlugin.tsx │ │ ├── AlgoliaProductSearchResultsPlugin.tsx │ │ ├── AlgoliaProductSortPlugin.tsx │ │ ├── AlgoliaSearchContextPlugin.tsx │ │ └── AlgoliaSearchFieldPlugin.tsx │ └── tsconfig.json ├── cli │ ├── .gitignore │ ├── CHANGELOG.md │ ├── README.md │ ├── dist │ │ ├── bin │ │ │ ├── codegen.js │ │ │ ├── graphcommerce.js │ │ │ ├── is-monorepo.js │ │ │ └── mesh.js │ │ └── index.js │ ├── package.json │ ├── src │ │ ├── bin │ │ │ ├── codegen.ts │ │ │ ├── graphcommerce.ts │ │ │ ├── is-monorepo.ts │ │ │ └── mesh.ts │ │ ├── index.ts │ │ └── utils │ │ │ └── findConfig.ts │ └── tsconfig.json ├── demo-magento-graphcommerce │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── copy │ │ └── pages │ │ │ └── test │ │ │ ├── [[...url]].tsx │ │ │ ├── buttons.tsx │ │ │ ├── form-elements.tsx │ │ │ ├── icons.tsx │ │ │ ├── minimal-page-shell │ │ │ └── [[...url]].tsx │ │ │ ├── number-inputs.tsx │ │ │ ├── sheet.tsx │ │ │ ├── slider.tsx │ │ │ ├── typography.tsx │ │ │ └── usebacklink │ │ │ └── [[...url]].tsx │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── demo │ │ │ ├── DemoProductListItemConfigurable.tsx │ │ │ ├── DemoRecentlyViewedProducts.tsx │ │ │ └── DemoRowLinks.tsx │ └── tsconfig.json ├── ecommerce-ui │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ ├── ApolloError │ │ │ ├── ApolloErrorAlert.tsx │ │ │ ├── ApolloErrorFullPage.tsx │ │ │ ├── ApolloErrorSnackbar.tsx │ │ │ ├── index.ts │ │ │ └── maskNetworkError.tsx │ │ ├── ComposedSubmitButton │ │ │ ├── ComposedSubmitButton.tsx │ │ │ ├── ComposedSubmitLinkOrButton.tsx │ │ │ └── index.ts │ │ ├── FormComponents │ │ │ ├── ActionCardListForm.tsx │ │ │ ├── CheckboxButtonGroup.tsx │ │ │ ├── CheckboxElement.tsx │ │ │ ├── EmailElement.tsx │ │ │ ├── InputBaseElement.tsx │ │ │ ├── MultiSelectElement.tsx │ │ │ ├── NumberFieldElement.tsx │ │ │ ├── PasswordElement.tsx │ │ │ ├── PasswordRepeatElement.tsx │ │ │ ├── RadioButtonGroup.tsx │ │ │ ├── SelectElement.tsx │ │ │ ├── SliderElement.tsx │ │ │ ├── SwitchElement.tsx │ │ │ ├── TelephoneElement.tsx │ │ │ ├── TextFieldElement.tsx │ │ │ ├── ToggleButtonGroup.tsx │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── PreviewMode │ │ │ ├── LightTooltip.tsx │ │ │ ├── PreviewMode.tsx │ │ │ ├── PreviewModeActions.tsx │ │ │ ├── PreviewModeDisabled.tsx │ │ │ ├── PreviewModeEnabled.tsx │ │ │ ├── PreviewModeToolbar.tsx │ │ │ ├── index.ts │ │ │ ├── previewModeDefaults.ts │ │ │ └── usePreviewModeForm.ts │ │ ├── WaitForQueries │ │ │ ├── WaitForQueries.tsx │ │ │ └── index.ts │ │ └── index.ts │ ├── index.ts │ ├── package.json │ ├── plugins │ │ └── PreviewModeFramerNextPages.tsx │ └── route │ │ └── preview.ts ├── framer-next-pages │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── Page.tsx │ │ ├── PageRenderer.tsx │ │ └── Pages.tsx │ ├── context │ │ ├── pageContext.ts │ │ └── pageRouterContext.ts │ ├── example │ │ ├── .babelrc │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── components │ │ │ ├── Grid.tsx │ │ │ ├── PageDepthDebug.tsx │ │ │ ├── StackedDebugger.tsx │ │ │ ├── lazyMotion.ts │ │ │ ├── styles.module.css │ │ │ └── useRenderCount.tsx │ │ ├── demo.css │ │ ├── next-env.d.ts │ │ ├── next.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── [url].tsx │ │ │ ├── _app.tsx │ │ │ ├── index.tsx │ │ │ ├── multi-stack │ │ │ │ └── [...url].tsx │ │ │ └── single-stack │ │ │ │ └── [...url].tsx │ │ └── tsconfig.json │ ├── hooks │ │ ├── useGo.ts │ │ ├── useHistoryLink.ts │ │ ├── usePageContext.ts │ │ ├── usePrevPageRouter.ts │ │ ├── usePrevUp.ts │ │ ├── useScrollOffsetY.ts │ │ └── useUp.ts │ ├── index.ts │ ├── package.json │ ├── tsconfig.json │ └── types.ts ├── framer-scroller │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── MotionImageAspect.tsx │ │ ├── Scroller.tsx │ │ ├── ScrollerBar.tsx │ │ ├── ScrollerButton.tsx │ │ ├── ScrollerDot.tsx │ │ ├── ScrollerDots.tsx │ │ ├── ScrollerPageCounter.tsx │ │ ├── ScrollerProvider.tsx │ │ ├── ScrollerThumbnail.tsx │ │ ├── ScrollerThumbnails.tsx │ │ └── ThumbnailContainer.tsx │ ├── context │ │ └── scrollerContext.ts │ ├── example │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── demo.css │ │ ├── next-env.d.ts │ │ ├── next.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── _app.tsx │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── hooks │ │ ├── usePreventScroll.ts │ │ ├── useScrollTo.ts │ │ ├── useScroller.ts │ │ ├── useScrollerContext.ts │ │ ├── useScrollerControl.ts │ │ ├── useVelocitySnapTo.ts │ │ └── useWatchItems.ts │ ├── index.ts │ ├── package.json │ ├── tsconfig.json │ ├── types.ts │ └── utils │ │ ├── distanceAnimationDuration.ts │ │ ├── isHTMLMousePointerEvent.ts │ │ └── scrollSnapTypeDirection.ts ├── framer-utils │ ├── CHANGELOG.md │ ├── README.md │ ├── hooks │ │ ├── useConstant.ts │ │ ├── useElementScroll.ts │ │ ├── useIsomorphicLayoutEffect.ts │ │ ├── useMeasureDynamicViewportSize.ts │ │ ├── useMotionSelector.ts │ │ └── useMotionValueValue.ts │ ├── index.ts │ ├── package.json │ ├── tsconfig.json │ └── utils │ │ ├── clientSize.ts │ │ └── styled.ts ├── google-datalayer │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── api │ │ ├── googleEventNames.ts │ │ └── sendEvent.ts │ ├── components │ │ └── DatalayerViewItemList.tsx │ ├── hooks │ │ └── useSendEvent.ts │ ├── index.ts │ ├── mapping │ │ ├── cartItemToDatalayerItem │ │ │ ├── CartItem_DatalayerItem.graphql │ │ │ └── cartItemToDatalayerItem.ts │ │ ├── cartItemToRemoveFromCart │ │ │ ├── CartItem_RemoveFromCart.graphql │ │ │ └── cartToRemoveFromCart.ts │ │ ├── cartToAddPaymentInfo │ │ │ ├── Cart_AddPaymentInfo.graphql │ │ │ └── cartToAddPaymentInfo.ts │ │ ├── cartToAddShippingInfo │ │ │ ├── Cart_AddShippingInfo.graphql │ │ │ └── cartToAddShippingInfo.ts │ │ ├── cartToBeginCheckout │ │ │ ├── Cart_BeginCheckout.graphql │ │ │ └── cartToBeginCheckout.ts │ │ ├── cartToPurchase │ │ │ ├── Cart_PurchaseEvent.graphql │ │ │ └── cartToPurchase.ts │ │ ├── cartToViewCart │ │ │ ├── Cart_ViewCart.graphql │ │ │ └── cartToViewCart.ts │ │ ├── datalayerItemsToCurrencyValue │ │ │ └── datalayerItemsToCurrencyValue.ts │ │ ├── productItemsToViewItemList │ │ │ └── productItemsToViewItemList.ts │ │ ├── productToDatalayerItem │ │ │ ├── Product_DatalayerItem.graphql │ │ │ └── productToDatalayerItem.ts │ │ └── productToViewItem │ │ │ ├── Product_ViewItem.graphql │ │ │ └── productToViewItem.ts │ ├── package.json │ ├── plugins │ │ ├── GoogleDatalayerAddProductsToCartForm.tsx │ │ ├── GoogleDatalayerCartStartCheckout.tsx │ │ ├── GoogleDatalayerCartStartCheckoutLinkOrButton.tsx │ │ ├── GoogleDatalayerPaymentMethodButton.tsx │ │ ├── GoogleDatalayerPaymentMethodContextProvider.tsx │ │ ├── GoogleDatalayerProductListItem.tsx │ │ ├── GoogleDatalayerProductListItemsBase.tsx │ │ ├── GoogleDatalayerRemoveItemFromCart.tsx │ │ ├── GoogleDatalayerShippingMethodForm.tsx │ │ ├── GoogleDatalayerUseRemoveItemFromCart.tsx │ │ ├── GoogleDatalayerUseSignInForm.tsx │ │ ├── GoogleDatalayerViewItem.tsx │ │ └── GoogleDatalayerWebVitals.tsx │ └── tsconfig.json ├── google-playstore │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── copy │ │ └── pages │ │ │ └── .well-known │ │ │ └── assetlinks.json.tsx │ ├── index.ts │ ├── lib │ │ └── getAssetLinksServerSideProps.tsx │ ├── next-env.d.ts │ ├── package.json │ └── tsconfig.json ├── googleanalytics │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── index.ts │ ├── package.json │ └── plugins │ │ ├── GoogleAnalyticsTag.tsx │ │ └── gtagEvent.ts ├── googlerecaptcha │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── context │ │ └── recaptchaContext.tsx │ ├── graphql │ │ ├── index.ts │ │ └── query │ │ │ └── RecaptchaV3Config.graphql │ ├── hooks │ │ └── useGoogleRecaptcha.ts │ ├── index.ts │ ├── link │ │ └── recaptchaLink.ts │ ├── mesh │ │ └── resolvers.ts │ ├── package.json │ ├── plugins │ │ ├── GrecaptchaApolloErrorAlert.tsx │ │ ├── GrecaptchaApolloErrorFullPage.tsx │ │ ├── GrecaptchaApolloErrorSnackbar.tsx │ │ ├── GrecaptchaGraphQLProvider.tsx │ │ └── meshRecaptcha.ts │ └── tsconfig.json ├── googletagmanager │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── index.ts │ ├── package.json │ ├── plugins │ │ ├── GoogleTagmanagerTag.tsx │ │ └── tagmanagerEvent.ts │ └── tsconfig.json ├── graphcms-ui │ ├── CHANGELOG.md │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ └── tsconfig.json ├── graphql-mesh │ ├── .gitignore │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── api │ │ ├── apolloLink.ts │ │ ├── createEnvelop.ts │ │ └── globalThisMesh.ts │ ├── customFetch.ts │ ├── index.ts │ ├── meshConfig.ts │ ├── package.json │ ├── plugin │ │ └── forward-headers.ts │ ├── plugins │ │ └── meshConfigFake.ts │ ├── tsconfig.json │ └── utils │ │ ├── storefrontFromContext.ts │ │ └── traverseSelectionSet.ts ├── graphql │ ├── .gitignore │ ├── CHANGELOG.md │ ├── README.md │ ├── __playwright__ │ │ └── apolloClient.fixture.ts │ ├── apollo.ts │ ├── components │ │ ├── GraphQLProvider │ │ │ ├── GraphQLProvider.tsx │ │ │ ├── createCacheReviver.ts │ │ │ ├── errorLink.ts │ │ │ ├── index.ts │ │ │ ├── measurePerformanceLink.ts │ │ │ ├── migrateCache.ts │ │ │ ├── persistenceMapper.ts │ │ │ └── typePolicies.ts │ │ └── PrivateQueryMask │ │ │ └── PrivateQueryMask.tsx │ ├── config.ts │ ├── hooks │ │ ├── usePrivateQuery.ts │ │ └── usePrivateQueryContext.ts │ ├── index.ts │ ├── lib │ │ └── hyperlinker.ts │ ├── link │ │ └── RemovePrivateContextDirectivesLink.ts │ ├── package.json │ ├── schema │ │ ├── ApolloClient.graphqls │ │ └── InContext.graphqls │ ├── tsconfig.json │ └── utils │ │ ├── cachePolicy.ts │ │ └── getPreviewData.ts ├── hygraph-cli │ ├── .gitignore │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── dist │ │ └── index.js │ ├── package.json │ ├── src │ │ ├── UpsertClient.ts │ │ ├── index.ts │ │ ├── migrateHygraphCli.ts │ │ ├── migrationActionFactory.ts │ │ ├── migrations │ │ │ ├── graphcommerce5to6.ts │ │ │ ├── graphcommerce6to7.ts │ │ │ ├── graphcommerce7to8.ts │ │ │ ├── graphcommerce8to9.ts │ │ │ └── index.ts │ │ ├── readSchema.ts │ │ ├── types.ts │ │ └── utils │ │ │ ├── getConfig.ts │ │ │ ├── getEndpointUrl.ts │ │ │ ├── getManagementClient.ts │ │ │ └── graphCommerceLog.ts │ └── tsconfig.json ├── hygraph-dynamic-rows-ui │ ├── CHANGELOG.md │ ├── components │ │ ├── PropertyPicker.tsx │ │ ├── Setup.tsx │ │ ├── index.ts │ │ └── setup.module.css │ ├── index.ts │ ├── lib │ │ └── getFieldPaths.ts │ ├── next-env.d.ts │ ├── next.config.js │ ├── package.json │ ├── pages │ │ ├── _app.tsx │ │ ├── property-picker.tsx │ │ └── setup.tsx │ └── tsconfig.json ├── hygraph-dynamic-rows │ ├── CHANGELOG.md │ ├── graphql │ │ ├── AllDynamicRows.graphql │ │ ├── Conditions.graphql │ │ ├── DynamicRow.graphql │ │ ├── DynamicRows.graphql │ │ └── index.ts │ ├── lib │ │ ├── getAllHygraphDynamicRows.ts │ │ └── hygraphDynamicRows.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── hygraphDynamicRowsPageContent.ts │ └── tsconfig.json ├── hygraph-ui │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ ├── Asset │ │ │ ├── Asset.graphql │ │ │ └── Asset.tsx │ │ ├── RichText │ │ │ ├── RichText.tsx │ │ │ ├── defaultRenderers.tsx │ │ │ ├── defaultSxRenderer.ts │ │ │ ├── getNodeLength.tsx │ │ │ ├── index.ts │ │ │ └── types.ts │ │ └── index.ts │ ├── graphql │ │ ├── HygraphAllPages.graphql │ │ ├── HygraphPage.graphql │ │ ├── HygraphPages.graphql │ │ ├── HygraphStaticPaths.graphql │ │ ├── PageLink.graphql │ │ ├── PagesStaticPaths.graphql │ │ └── index.ts │ ├── index.ts │ ├── lib │ │ ├── getAllHygraphPages.ts │ │ ├── getHygraphPaths.ts │ │ ├── hygraphPageContent.ts │ │ └── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── HygraphPreviewModeToolbar.tsx │ │ ├── hygraphGraphqlConfig.ts │ │ └── hygraphPreviewModeDefaults.ts │ └── tsconfig.json ├── image │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ └── Image.tsx │ ├── config │ │ └── config.ts │ ├── example │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── components │ │ │ └── image.jpg │ │ ├── next-env.d.ts │ │ ├── next.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── _app.tsx │ │ │ └── index.tsx │ │ ├── public │ │ │ └── image.jpg │ │ └── tsconfig.json │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ └── tsconfig.json ├── lingui-next │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ └── LinguiProvider.tsx │ ├── config.d.ts │ ├── config.js │ ├── document │ │ └── withLingui.tsx │ ├── index.ts │ ├── package.json │ ├── server.ts │ └── types.ts ├── magento-cart-checkout │ ├── CHANGELOG.md │ ├── README.md │ ├── fragments │ │ └── InjectTotalsIntoCoupon.graphql │ ├── index.ts │ ├── package.json │ └── queries │ │ ├── BillingPage.graphql │ │ ├── CartPage.graphql │ │ ├── CartPageFragment.graphql │ │ ├── ShippingPage.graphql │ │ └── ShippingPageFragment.graphql ├── magento-cart-coupon │ ├── Api │ │ ├── AppliedCoupon.graphql │ │ └── Coupon.graphql │ ├── ApplyCouponForm │ │ ├── ApplyCouponForm.graphql │ │ └── ApplyCouponForm.tsx │ ├── CHANGELOG.md │ ├── CouponAccordion │ │ ├── CouponAccordion.tsx │ │ └── GetCoupon.graphql │ ├── RemoveCouponForm │ │ ├── RemoveCouponForm.graphql │ │ └── RemoveCouponForm.tsx │ ├── index.ts │ └── package.json ├── magento-cart-email │ ├── Api │ │ └── GuestEmailChanged.graphql │ ├── CHANGELOG.md │ ├── EmailForm │ │ ├── CartEmail.graphql │ │ ├── EmailForm.graphql │ │ ├── EmailForm.tsx │ │ └── SetGuestEmailOnCart.graphql │ ├── index.ts │ └── package.json ├── magento-cart-items │ ├── Api │ │ ├── CartItem.graphql │ │ └── CartItems.graphql │ ├── CHANGELOG.md │ ├── components │ │ ├── CartCrosssellsScroller │ │ │ └── CartCrosssellsScroller.tsx │ │ ├── CartItem │ │ │ └── CartItem.tsx │ │ ├── CartItemActionCard │ │ │ └── CartItemActionCard.tsx │ │ ├── CartItemsActionCards │ │ │ └── CartItemsActionCards.tsx │ │ ├── EditCartItem │ │ │ ├── EditCartItemButton │ │ │ │ └── EditCartItemButton.tsx │ │ │ ├── EditCartItemForm │ │ │ │ ├── EditCartItemForm.graphql │ │ │ │ └── EditCartItemForm.tsx │ │ │ └── index.ts │ │ ├── RemoveItemFromCart │ │ │ ├── RemoveItemFromCart.graphql │ │ │ ├── RemoveItemFromCart.tsx │ │ │ └── RemoveItemFromCartFab.tsx │ │ ├── SelectedCustomizableOptions │ │ │ ├── SelectedCustomizableOption.graphql │ │ │ └── SelectedCustomizableOptions.tsx │ │ └── UpdateItemQuantity │ │ │ ├── UpdateItemQuantity.graphql │ │ │ └── UpdateItemQuantity.tsx │ ├── hooks │ │ └── useRemoveItemFromCart.ts │ ├── index.ts │ ├── package.json │ └── utils │ │ └── cartItemToCartItemInput.ts ├── magento-cart-payment-method │ ├── Api │ │ ├── AvailablePaymentMethod │ │ │ └── AvailablePaymentMethod.graphql │ │ ├── PaymentMethod.ts │ │ ├── PaymentMethodContext.graphql │ │ ├── PaymentMethodUpdated.graphql │ │ └── SelectedPaymentMethod │ │ │ └── SelectedPaymentMethod.graphql │ ├── CHANGELOG.md │ ├── PaymentMethodActionCardList │ │ └── PaymentMethodActionCardListForm.tsx │ ├── PaymentMethodButton │ │ └── PaymentMethodButton.tsx │ ├── PaymentMethodContext │ │ ├── GetPaymentMethodContext.graphql │ │ ├── PaymentMethodContext.tsx │ │ └── paymentMethodContextType.ts │ ├── PaymentMethodOptions │ │ └── PaymentMethodOptions.tsx │ ├── PaymentMethodOptionsNoop │ │ ├── PaymentMethodOptionsNoop.graphql │ │ └── PaymentMethodOptionsNoop.tsx │ ├── PaymentMethodPlaceOrder │ │ └── PaymentMethodPlaceOrder.tsx │ ├── PaymentMethodPlaceOrderNoop │ │ ├── PaymentMethodPlaceOrderNoop.graphql │ │ ├── PaymentMethodPlaceOrderNoop.tsx │ │ └── assertOrderPlaced.ts │ ├── PaymentMethodToggles │ │ └── PaymentMethodToggles.tsx │ ├── README.md │ ├── hooks │ │ ├── index.ts │ │ └── useCartLock.ts │ ├── index.ts │ ├── package.json │ ├── test │ │ ├── goToPayment.ts │ │ ├── index.ts │ │ └── selectPaymentMethod.ts │ └── tsconfig.json ├── magento-cart-pickup │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── PickupLocationActionCard.tsx │ │ ├── PickupLocationForm.tsx │ │ └── PickupLocationSelector.tsx │ ├── graphql │ │ ├── GetPickupLocationsForProducts.graphql │ │ ├── PickupLocationItems.graphql │ │ └── SetPickupLocationOnCart.graphql │ ├── index.ts │ ├── package.json │ └── plugins │ │ └── AddPickupInStore.tsx ├── magento-cart-shipping-address │ ├── Api │ │ ├── BillingAddress.graphql │ │ └── ShippingAddress.graphql │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ ├── CustomerAddressForm │ │ │ ├── CustomerAddressActionCard.tsx │ │ │ ├── CustomerAddressForm.tsx │ │ │ ├── SetCustomerBillingAddressOnCart.graphql │ │ │ ├── SetCustomerShippingAddressOnCart.graphql │ │ │ └── SetCustomerShippingBillingAddressOnCart.graphql │ │ └── ShippingAddressForm │ │ │ ├── GetAddresses.graphql │ │ │ ├── SetBillingAddress.graphql │ │ │ ├── SetShippingAddress.graphql │ │ │ ├── SetShippingBillingAddress.graphql │ │ │ └── ShippingAddressForm.tsx │ ├── index.ts │ ├── package.json │ ├── test │ │ └── fillShippingAddressForm.ts │ └── utils │ │ ├── findCustomerAddressFromCartAddress.ts │ │ └── isSameAddress.ts ├── magento-cart-shipping-method │ ├── Api │ │ ├── AvailableShippingMethods.graphql │ │ └── ShippingMethodSelected.graphql │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ └── ShippingMethodForm │ │ │ ├── AvailableShippingMethod.graphql │ │ │ ├── GetShippingMethods.graphql │ │ │ ├── ShippingMethodActionCard.tsx │ │ │ ├── ShippingMethodForm.graphql │ │ │ └── ShippingMethodForm.tsx │ ├── index.ts │ └── package.json ├── magento-cart │ ├── 243-244-magento-module-quote-graphql-cart-item-errors.patch │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ ├── ApolloCartError │ │ │ ├── ApolloCartErrorAlert.tsx │ │ │ ├── ApolloCartErrorFullPage.tsx │ │ │ ├── ApolloCartErrorSnackbar.tsx │ │ │ └── index.ts │ │ ├── CartAdded │ │ │ ├── CartAdded.graphql │ │ │ ├── Crosssells.graphql │ │ │ ├── index.ts │ │ │ └── useCrosssellItems.ts │ │ ├── CartAddress │ │ │ └── CartAddress.graphql │ │ ├── CartAddressMultiLine │ │ │ └── CartAddressMultiLine.tsx │ │ ├── CartAddressSingleLine │ │ │ └── CartAddressSingleLine.tsx │ │ ├── CartAgreementsForm │ │ │ ├── CartAgreements.graphql │ │ │ └── CartAgreementsForm.tsx │ │ ├── CartFab │ │ │ ├── CartFab.graphql │ │ │ ├── CartFab.tsx │ │ │ └── CartTotalQuantity.graphql │ │ ├── CartItemSummary │ │ │ ├── CartItemSummary.tsx │ │ │ └── GetCartItemSummary.graphql │ │ ├── CartStartCheckout │ │ │ ├── CartStartCheckout.graphql │ │ │ ├── CartStartCheckout.tsx │ │ │ ├── CartStartCheckoutLinkOrButton.tsx │ │ │ └── index.ts │ │ ├── CartSummary │ │ │ ├── CartSummary.graphql │ │ │ ├── CartSummary.tsx │ │ │ └── GetCartSummary.graphql │ │ ├── CartTotals │ │ │ ├── CartPrices.graphql │ │ │ ├── CartTaxItem.graphql │ │ │ ├── CartTotals.graphql │ │ │ ├── CartTotals.tsx │ │ │ ├── Discount.graphql │ │ │ └── GetCartTotals.graphql │ │ ├── EditBillingAddressForm │ │ │ └── EditBillingAddressForm.tsx │ │ ├── EmptyCart │ │ │ └── EmptyCart.tsx │ │ ├── InlineAccount │ │ │ ├── InlineAccount.graphql │ │ │ └── InlineAccount.tsx │ │ ├── OrderSucces │ │ │ └── OrderSuccesPage.graphql │ │ └── index.ts │ ├── graphql │ │ ├── fragments │ │ │ ├── CartBillingAddress.graphql │ │ │ └── CartItemCountChanged.graphql │ │ ├── index.ts │ │ └── queries │ │ │ └── GetBillingAddress.graphql │ ├── hooks │ │ ├── CreateEmptyCart.graphql │ │ ├── CurrentCartId.graphql │ │ ├── CustomerCart.graphql │ │ ├── MergeCarts.graphql │ │ ├── UseCartRedirect.graphql │ │ ├── index.ts │ │ ├── useAssignCurrentCartId.ts │ │ ├── useCartIdCreate.ts │ │ ├── useCartPermissions.ts │ │ ├── useCartQuery.ts │ │ ├── useCheckoutPermissions.ts │ │ ├── useClearCurrentCartId.ts │ │ ├── useCurrentCartId.ts │ │ ├── useDisplayInclTax.ts │ │ ├── useFormGqlMutationCart.ts │ │ └── useMergeCustomerCart.ts │ ├── index.ts │ ├── link │ │ ├── cartLink.ts │ │ └── isProtectedCartOperation.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── CartDebuggerPlugin.tsx │ │ ├── MagentoCartGraphqlProvider.tsx │ │ └── useSignInFormMergeCart.ts │ ├── test │ │ └── fillCartAgreementsForm.ts │ ├── tsconfig.json │ ├── typePolicies.ts │ └── utils │ │ ├── cartPermissions.ts │ │ ├── checkoutPermissions.ts │ │ └── index.ts ├── magento-category │ ├── CHANGELOG.md │ ├── components │ │ ├── CategoryBreadcrumb │ │ │ ├── CategoryBreadcrumb.graphql │ │ │ ├── CategoryBreadcrumb.tsx │ │ │ ├── CategoryBreadcrumbs.tsx │ │ │ ├── categoryToBreadcrumbs.ts │ │ │ └── index.ts │ │ ├── CategoryChildren │ │ │ ├── CategoryChildren.graphql │ │ │ ├── CategoryChildren.tsx │ │ │ └── CategorySiblings.graphql │ │ ├── CategoryDescription │ │ │ ├── CategoryDescription.graphql │ │ │ └── CategoryDescription.tsx │ │ ├── CategoryHeroNav │ │ │ ├── CategoryHeroNav.graphql │ │ │ ├── CategoryHeroNav.tsx │ │ │ └── CategoryHeroNavTitle.tsx │ │ ├── CategoryMeta │ │ │ ├── CategoryMeta.graphql │ │ │ └── CategoryMeta.tsx │ │ └── FilterInputTypes │ │ │ └── FilterInputTypes.graphql │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── queries │ │ ├── CategoryPathFragment.graphql │ │ ├── CategoryQueryFragment.graphql │ │ ├── GetCategoryStaticPaths.graphql │ │ ├── MenuQueryFragment.graphql │ │ ├── NavigationItem.graphql │ │ └── getCategoryStaticPaths.ts │ ├── tsconfig.json │ └── utils │ │ ├── appendSiblingsAsChildren.ts │ │ ├── findParentBreadcrumbItem.ts │ │ ├── magentoMenuToNavigation.tsx │ │ └── useCategoryTree.tsx ├── magento-cms │ ├── CHANGELOG.md │ ├── components │ │ ├── CmsBlock │ │ │ ├── CmsBlock.graphql │ │ │ └── CmsBlock.tsx │ │ ├── CmsPageContent │ │ │ ├── CmsPageContent.graphql │ │ │ └── CmsPageContent.tsx │ │ └── CmsPageMeta │ │ │ ├── CmsPageMeta.graphql │ │ │ └── CmsPageMeta.tsx │ ├── graphql │ │ ├── CmsBlocks.graphql │ │ ├── CmsConfig.graphql │ │ ├── CmsPage.graphql │ │ └── CmsPageFragment.graphql │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ └── tsconfig.json ├── magento-compare │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ ├── CompareFab.tsx │ │ ├── CompareListAttributes.tsx │ │ ├── CompareListForm.tsx │ │ ├── CompareListIntroText.tsx │ │ ├── CompareListItems.tsx │ │ ├── CompareListRow.tsx │ │ ├── CompareListRowMoreInformation.tsx │ │ ├── CompareListSelect.tsx │ │ ├── CompareMessageSnackbar.tsx │ │ ├── CompareProductButton.tsx │ │ ├── CompareProductToggle.tsx │ │ ├── EmptyCompareList.tsx │ │ ├── EmptyCompareListButton.tsx │ │ └── index.ts │ ├── graphql │ │ ├── AddProductsToCompareList.graphql │ │ ├── AssignCustomerToCompareList.graphql │ │ ├── ComparableItem.graphql │ │ ├── CompareList.graphql │ │ ├── CompareListFragment.graphql │ │ ├── CompareProductIdInternal.graphql │ │ ├── CompareSummary.graphql │ │ ├── CompareSummaryFragment.graphql │ │ ├── CreateCompareList.graphql │ │ ├── CurrentCompareUid.graphql │ │ ├── CustomerCompareList.graphql │ │ ├── DeleteCompareList.graphql │ │ ├── RemoveProductsFromCompareList.graphql │ │ └── index.ts │ ├── hooks │ │ ├── index.ts │ │ ├── useAssignCurrentCompareListUid.ts │ │ ├── useClearCurrentCompareListUid.ts │ │ ├── useCompareList.ts │ │ ├── useCompareListStyles.ts │ │ ├── useCompareListUidCreate.ts │ │ └── useCompareSummary.ts │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── AddCompareFabNextToCart.tsx │ │ ├── AddCompareToProductPage.tsx │ │ ├── AddCompareTypePolicies.tsx │ │ └── CompareAbleProductListItem.tsx │ ├── schema │ │ ├── CurrentCartId.graphqls │ │ └── CurrentCompareUid.graphqls │ ├── tsconfig.json │ └── typePolicies.ts ├── magento-customer │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ ├── AccountAddress │ │ │ ├── AccountAddress.graphql │ │ │ └── AccountAddress.tsx │ │ ├── AccountAddresses │ │ │ ├── AccountAddresses.graphql │ │ │ ├── AccountAddresses.tsx │ │ │ └── UpdateDefaultAddress.graphql │ │ ├── AccountDeleteForm │ │ │ ├── AccountDeleteForm.tsx │ │ │ └── DeleteCustomer.graphql │ │ ├── AccountLatestOrder │ │ │ └── AccountLatestOrder.tsx │ │ ├── AccountMenu │ │ │ └── AccountMenu.tsx │ │ ├── AccountMenuItem │ │ │ └── AccountMenuItem.tsx │ │ ├── AccountOrders │ │ │ ├── AccountOrders.graphql │ │ │ └── AccountOrders.tsx │ │ ├── AccountSignInUpForm │ │ │ └── AccountSignInUpForm.tsx │ │ ├── AddressFields │ │ │ ├── AddressAddition.tsx │ │ │ ├── AddressCity.tsx │ │ │ ├── AddressCountryRegion.tsx │ │ │ ├── AddressFields.tsx │ │ │ ├── AddressHouseNumber.tsx │ │ │ ├── AddressPostcode.tsx │ │ │ ├── AddressStreet.tsx │ │ │ ├── index.ts │ │ │ └── useAddressFieldsForm.tsx │ │ ├── AddressMultiLine │ │ │ └── AddressMultiLine.tsx │ │ ├── AddressSingleLine │ │ │ └── AddressSingleLine.tsx │ │ ├── ApolloCustomerError │ │ │ ├── ApolloCustomerErrorAlert.tsx │ │ │ ├── ApolloCustomerErrorFullPage.tsx │ │ │ ├── ApolloCustomerErrorSnackbar.tsx │ │ │ ├── index.ts │ │ │ └── useAuthorizationErrorMasked.ts │ │ ├── CancelOrder │ │ │ ├── CancelOrder.graphql │ │ │ ├── CancelOrderForm.tsx │ │ │ └── CancelOrderFragment.graphql │ │ ├── ChangeNameForm │ │ │ ├── ChangeNameForm.tsx │ │ │ └── UpdateCustomerName.graphql │ │ ├── ChangePasswordForm │ │ │ ├── ChangePassword.graphql │ │ │ └── ChangePasswordForm.tsx │ │ ├── CompanyFields │ │ │ ├── CompanyFields.tsx │ │ │ ├── CompanyName.tsx │ │ │ ├── CompanyVAT.tsx │ │ │ ├── index.ts │ │ │ └── useCompanyFieldsForm.tsx │ │ ├── ConfirmCustomer │ │ │ ├── ConfirmCustomer.graphql │ │ │ └── ConfirmCustomerForm.tsx │ │ ├── ContactForm │ │ │ ├── ContactForm.tsx │ │ │ ├── ContactUsConfig.graphql │ │ │ └── ContactUsMutation.graphql │ │ ├── CreateCustomerAddressForm │ │ │ ├── CreateCustomerAddress.graphql │ │ │ ├── CreateCustomerAddressForm.tsx │ │ │ ├── CustomerAddress.graphql │ │ │ └── CustomerAddressEdit.graphql │ │ ├── CreditMemo │ │ │ ├── CreditMemo.graphql │ │ │ ├── CreditMemoCard.graphql │ │ │ ├── CreditMemoCard.tsx │ │ │ ├── CreditMemoDetails.tsx │ │ │ ├── CreditMemoItem.graphql │ │ │ ├── CreditMemoItem.tsx │ │ │ ├── CreditMemoItems.tsx │ │ │ ├── CreditMemoTotals.tsx │ │ │ └── index.ts │ │ ├── CustomerFab │ │ │ └── CustomerFab.tsx │ │ ├── CustomerForms │ │ │ ├── CustomerAttributeField.tsx │ │ │ ├── CustomerAttributeMetadata.graphql │ │ │ ├── CustomerUpdateForm.tsx │ │ │ ├── UseCustomerCreateForm.graphql │ │ │ ├── UseCustomerUpdateForm.graphql │ │ │ ├── customerAttributeFieldHelpers.ts │ │ │ ├── index.ts │ │ │ ├── nameFieldset.tsx │ │ │ ├── useCustomerCreateForm.ts │ │ │ └── useCustomerUpdateForm.ts │ │ ├── CustomerMenuFabItem │ │ │ └── CustomerMenuFabItem.tsx │ │ ├── DeleteCustomerAddressForm │ │ │ ├── DeleteCustomerAddressForm.graphql │ │ │ └── DeleteCustomerAddressForm.tsx │ │ ├── EditAddressForm │ │ │ ├── EditAddressForm.tsx │ │ │ └── UpdateCustomerAddress.graphql │ │ ├── ForgotPasswordForm │ │ │ ├── ForgotPassword.graphql │ │ │ └── ForgotPasswordForm.tsx │ │ ├── GuestOrderOverview │ │ │ ├── GuestOrder.graphql │ │ │ └── GuestOrderOverviewForm.tsx │ │ ├── Invoice │ │ │ ├── Invoice.graphql │ │ │ ├── InvoiceCard.graphql │ │ │ ├── InvoiceCard.tsx │ │ │ ├── InvoiceDetails.tsx │ │ │ ├── InvoiceItem.graphql │ │ │ ├── InvoiceItem.tsx │ │ │ ├── InvoiceItems.tsx │ │ │ ├── InvoiceTotal.graphql │ │ │ ├── InvoiceTotals.tsx │ │ │ └── index.ts │ │ ├── NameFields │ │ │ └── NameFields.tsx │ │ ├── NoOrdersFound │ │ │ └── NoOrdersFound.tsx │ │ ├── Order │ │ │ ├── OrderAdditional │ │ │ │ ├── OrderAdditional.graphql │ │ │ │ └── OrderAdditional.tsx │ │ │ ├── OrderCard │ │ │ │ ├── OrderCard.graphql │ │ │ │ ├── OrderCard.tsx │ │ │ │ └── OrderCardItem.graphql │ │ │ ├── OrderComments │ │ │ │ ├── OrderComments.graphql │ │ │ │ ├── SalesCommentItem.graphql │ │ │ │ └── SalesComments.tsx │ │ │ ├── OrderDetails │ │ │ │ ├── OrderAddress.graphql │ │ │ │ ├── OrderDetails.graphql │ │ │ │ ├── OrderDetails.tsx │ │ │ │ ├── ShippingHandling.graphql │ │ │ │ └── TaxItem.graphql │ │ │ ├── OrderItem │ │ │ │ ├── OrderItem.graphql │ │ │ │ └── OrderItem.tsx │ │ │ ├── OrderItems │ │ │ │ ├── OrderItems.graphql │ │ │ │ └── OrderItems.tsx │ │ │ ├── OrderStateLabel │ │ │ │ ├── OrderStateLabel.graphql │ │ │ │ ├── OrderStateLabel.tsx │ │ │ │ └── OrderStateLabelInline.tsx │ │ │ ├── OrderTotals │ │ │ │ ├── OrderTotal.graphql │ │ │ │ ├── OrderTotals.graphql │ │ │ │ └── OrderTotals.tsx │ │ │ └── index.ts │ │ ├── ReorderItems │ │ │ ├── ReorderItems.graphql │ │ │ └── ReorderItems.tsx │ │ ├── ResetPasswordForm │ │ │ ├── ResetPassword.graphql │ │ │ └── ResetPasswordForm.tsx │ │ ├── Shipment │ │ │ ├── Shipment.graphql │ │ │ ├── ShipmentCard.graphql │ │ │ ├── ShipmentCard.tsx │ │ │ ├── ShipmentDetails.tsx │ │ │ ├── ShipmentItem.graphql │ │ │ ├── ShipmentItem.tsx │ │ │ ├── ShipmentItems.tsx │ │ │ └── index.ts │ │ ├── SignInForm │ │ │ ├── SignIn.graphql │ │ │ ├── SignInForm.tsx │ │ │ └── SignInFormInline.tsx │ │ ├── SignOutForm │ │ │ ├── SignOutForm.graphql │ │ │ ├── SignOutForm.tsx │ │ │ └── signOut.ts │ │ ├── SignUpForm │ │ │ ├── SignUp.graphql │ │ │ ├── SignUpConfirm.graphql │ │ │ ├── SignUpForm.tsx │ │ │ ├── SignUpFormInline.tsx │ │ │ └── SignUpMutationFragment.graphql │ │ ├── TrackingLink │ │ │ ├── TrackingLink.graphql │ │ │ └── TrackingLink.tsx │ │ ├── UpdateCustomerEmailForm │ │ │ ├── UpdateCustomerEmail.graphql │ │ │ └── UpdateCustomerEmailForm.tsx │ │ ├── UpdateDefaultAddressForm │ │ │ └── UpdateDefaultAddressForm.tsx │ │ ├── ValidatedPasswordElement │ │ │ └── ValidatedPasswordElement.tsx │ │ ├── WaitForCustomer │ │ │ └── WaitForCustomer.tsx │ │ └── index.ts │ ├── graphql │ │ ├── Config.graphqls │ │ ├── fragments │ │ │ └── AccountDashboardQueryFragment.graphql │ │ ├── index.ts │ │ ├── inject │ │ │ └── CustomerStoreConfig.graphql │ │ └── queries │ │ │ ├── AccountDashboard.graphql │ │ │ ├── AccountDashboardAddresses.graphql │ │ │ ├── AccountDashboardCustomer.graphql │ │ │ ├── AccountDashboardOrders.graphql │ │ │ ├── CreditMemoDetailPage.graphql │ │ │ ├── InvoiceDetailPage.graphql │ │ │ ├── OrderDetailPage.graphql │ │ │ └── ShipmentDetailPage.graphql │ ├── hooks │ │ ├── Customer.graphql │ │ ├── CustomerInfo.graphql │ │ ├── CustomerToken.graphql │ │ ├── CustomerTokenFragment.graphql │ │ ├── IsEmailAvailable.graphql │ │ ├── OrderCardItemImage.graphql │ │ ├── OrderCardItemImages.graphql │ │ ├── UseCustomerValidateToken.graphql │ │ ├── UseOrderCardItemImages.graphql │ │ ├── index.ts │ │ ├── useAccountSignInUpForm.tsx │ │ ├── useCustomerPermissions.ts │ │ ├── useCustomerQuery.ts │ │ ├── useCustomerSession.ts │ │ ├── useGuestQuery.ts │ │ ├── useOrderCardItemImages.ts │ │ └── useSignInForm.ts │ ├── index.ts │ ├── link │ │ ├── customerLink.ts │ │ └── xMagentoCacheIdHeader.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── MagentoCustomerGraphqlProvider.tsx │ │ ├── SessionDebuggerPlugin.tsx │ │ ├── XMagentoCacheIdGraphQLProvider.tsx │ │ └── magentoCustomerPrivateQueryContext.ts │ ├── schema │ │ └── CustomerToken.graphqls │ ├── test │ │ └── authentication.playwright.ts │ ├── tsconfig.json │ ├── typePolicies.ts │ └── utils │ │ ├── customerPermissions.ts │ │ ├── index.ts │ │ └── orderState.ts ├── magento-graphql-rest │ ├── CHANGELOG.md │ ├── README.md │ ├── index.ts │ ├── m2-filtered-spec.json │ ├── mesh │ │ └── resolvers.ts │ ├── package.json │ ├── plugins │ │ └── meshConfigM2Rest.ts │ ├── scripts │ │ ├── generate-spec.mts │ │ ├── m2rest-admin.json │ │ ├── m2rest-customer.json │ │ └── m2rest-guest.json │ └── tsconfig.json ├── magento-graphql │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── graphqlErrorByCategory.ts │ ├── index.ts │ ├── mesh │ │ ├── attributeValueResolver.ts │ │ ├── customAttributeMetadataV2.ts │ │ ├── customAttributeV2Resolver.ts │ │ ├── magentoOrderItemResolvers.ts │ │ └── magentoOrdersResolvers.ts │ ├── package.json │ ├── plugins │ │ ├── magentoGraphqlConfig.ts │ │ ├── magentoOrderItemMesh.ts │ │ ├── magentoOrders.ts │ │ └── meshConfigAttrValue.ts │ ├── schema-246 │ │ ├── CartAddressInput-vat_id.graphqls │ │ ├── Customer-orders.graphqls │ │ ├── Mutation-deleteCustomer.graphqls │ │ ├── OrderItem-gift_message.graphqls │ │ └── SelectedShippingMethod.graphqls │ ├── schema-247 │ │ ├── Cart-itemsV2.graphqls │ │ ├── CartAddress.graphqls │ │ ├── CartItem-product.graphqls │ │ ├── CustomAttributesV2.graphqls │ │ ├── CustomerOrder.graphqls │ │ ├── Mutation-cancelOrder.graphqls │ │ ├── Mutation-confirmEmail.graphqls │ │ ├── Mutation-contactUs.graphqls │ │ ├── Mutation-createGuestCart.graphqls │ │ ├── Mutation-estimateShippingMethods.graphqls │ │ ├── Mutation-estimateTotals.graphqls │ │ ├── Mutation-placeOrder.graphqls │ │ ├── ProductAttributeFilterInput-category_url_path.graphqls │ │ ├── Query-attributesList.graphqls │ │ ├── Query-customAttributeMetadataV2.graphqls │ │ ├── Query-guestOrder.graphqls │ │ ├── Query-guestOrderByToken.graphqls │ │ ├── Query-recaptchaV3Config.graphqls │ │ └── StoreConfig.graphqls │ ├── schema │ │ ├── AttributeValueInterface-attribute.graphqls │ │ └── ProductInterface-custom_attribute.graphqls │ ├── tsconfig.json │ └── typePolicies.ts ├── magento-newsletter │ ├── CHANGELOG.md │ ├── components │ │ ├── CheckoutNewsletter │ │ │ ├── CheckoutNewsletter.tsx │ │ │ ├── SubscribeCustomer.graphql │ │ │ └── SubscribeGuest.graphql │ │ ├── CustomerNewsletterToggle │ │ │ ├── CustomerNewsletterToggle.graphql │ │ │ ├── CustomerNewsletterToggle.tsx │ │ │ ├── GetCustomerNewsLetterToggle.graphql │ │ │ └── UpdateNewsletterSubscription.graphql │ │ ├── GuestNewsletter │ │ │ └── GuestNewsletter.tsx │ │ ├── GuestNewsletterToggle │ │ │ ├── GuestNewsletterToggle.graphql │ │ │ └── GuestNewsletterToggle.tsx │ │ ├── SignupNewsletter │ │ │ ├── GetCartEmail.graphql │ │ │ └── SignupNewsletter.tsx │ │ └── index.ts │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ └── tsconfig.json ├── magento-payment-adyen │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── AdyenPaymentActionCard │ │ │ └── AdyenPaymentActionCard.tsx │ │ ├── AdyenPaymentHandler │ │ │ ├── AdyenPaymentDetails.graphql │ │ │ ├── AdyenPaymentHandler.tsx │ │ │ └── AdyenPaymentStatus.graphql │ │ └── AdyenPaymentOptionsAndPlaceOrder │ │ │ ├── AdyenPaymentOptionsAndPlaceOrder.graphql │ │ │ └── AdyenPaymentOptionsAndPlaceOrder.tsx │ ├── hooks │ │ ├── AdyenPaymentResponse.graphql │ │ ├── UseAdyenPaymentMethods.graphql │ │ ├── adyenHppExpandMethods.ts │ │ ├── useAdyenCartLock.ts │ │ ├── useAdyenHandlePaymentResponse.ts │ │ └── useAdyenPaymentMethod.ts │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── AddAdyenMethods.tsx │ └── tsconfig.json ├── magento-payment-braintree │ ├── BraintreeCcVaultPaymentMethod.graphql │ ├── BraintreePaymentMethodOptions.graphql │ ├── CHANGELOG.md │ ├── Inject │ │ └── BraintreePaymentMethodContext.graphql │ ├── README.md │ ├── hooks │ │ ├── UseBraintree.graphql │ │ ├── useBraintree.ts │ │ ├── useBraintreeCartLock.ts │ │ ├── useBraintreeHostedFields.ts │ │ ├── useBraintreeLocalPayment.ts │ │ └── useBraintreePaypal.ts │ ├── index.ts │ ├── methods │ │ ├── braintree │ │ │ ├── PaymentMethodOptions.tsx │ │ │ └── index.ts │ │ ├── braintree_local_payments │ │ │ ├── BraintreeLocalPaymentsCart.graphql │ │ │ ├── PaymentHandler.tsx │ │ │ ├── PaymentMethodOptions.tsx │ │ │ ├── expandMethods.ts │ │ │ └── index.ts │ │ └── braintree_paypal │ │ │ ├── PaymentMethodOptions.tsx │ │ │ └── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── AddBraintreeMethods.tsx │ ├── test │ │ ├── braintree.playwright.ts │ │ └── braintree_local_payments.playwright.ts │ ├── tsconfig.json │ └── utils │ │ └── isBraintreeError.ts ├── magento-payment-included │ ├── CHANGELOG.md │ ├── PurchaseOrder │ │ ├── PurchaseOrderNumber.graphql │ │ ├── PurchaseOrderOptions.graphql │ │ ├── PurchaseOrderOptions.tsx │ │ └── index.tsx │ ├── README.md │ ├── components │ │ └── CheckmoPaymentOptions.tsx │ ├── graphql │ │ └── CheckmoConfig.graphql │ ├── index.ts │ ├── methods.tsx │ ├── package.json │ ├── plugins │ │ └── AddIncludedMethods.tsx │ ├── test │ │ ├── banktransfer.playwright.ts │ │ └── purchaseorder.playwright.ts │ └── tsconfig.json ├── magento-payment-klarna │ ├── CHANGELOG.md │ ├── KlarnaPaymentMethod.graphql │ ├── KlarnaPaymentSession.graphql │ ├── README.md │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ └── tsconfig.json ├── magento-payment-multisafepay │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── MSPPaymentActionCard │ │ │ └── MSPPaymentActionCard.tsx │ │ ├── MSPPaymentHandler │ │ │ ├── MSPPaymentHandler.graphql │ │ │ └── MSPPaymentHandler.tsx │ │ └── MSPPaymentPlaceOrder │ │ │ ├── MSPPaymentPlaceOrder.graphql │ │ │ └── MSPPaymentPlaceOrder.tsx │ ├── graphql │ │ ├── MSPAvailablePaymentMethod.graphql │ │ ├── MSPCart.graphql │ │ └── MSPPaymentRequestData.graphql │ ├── hooks │ │ └── useMSPCartLock.ts │ ├── index.ts │ ├── methods.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── AddMultisafepayMethods.tsx │ └── tsconfig.json ├── magento-payment-paypal │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── PayPalPaymentActionCard │ │ │ └── PayPalPaymentActionCard.tsx │ │ ├── PayPalPaymentHandler │ │ │ ├── PayPalPaymentHandler.graphql │ │ │ └── PayPalPaymentHandler.tsx │ │ └── PayPalPaymentPlaceOrder │ │ │ ├── PayPalPaymentPlaceOrder.graphql │ │ │ └── PayPalPaymentPlaceOrder.tsx │ ├── hooks │ │ └── usePayPalCartLock.ts │ ├── icons │ │ ├── paypal.jpg │ │ └── paypal.svg │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── AddPaypalMethods.tsx │ └── tsconfig.json ├── magento-payment-tokens │ ├── CHANGELOG.md │ ├── components │ │ ├── CustomerTokensPage │ │ │ └── CustomerTokensPage.tsx │ │ ├── DeletePaymentTokenButton.tsx │ │ ├── PaymentTokensAccountMenuItem │ │ │ └── PaymentTokensAccountMenuItem.tsx │ │ └── index.ts │ ├── copy │ │ └── pages │ │ │ └── account │ │ │ └── payment-tokens.tsx │ ├── graphql │ │ ├── fragments │ │ │ └── PaymentToken.graphql │ │ ├── inject │ │ │ └── AccountDashboardPaymentTokens.graphql │ │ ├── mutations │ │ │ └── DeletePaymentToken.graphql │ │ └── queries │ │ │ └── PaymentTokens.graphql │ ├── index.ts │ ├── package.json │ └── plugins │ │ └── PaymentTokensAccountMenuItem.tsx ├── magento-product-bundle │ ├── CHANGELOG.md │ ├── components │ │ ├── BundleProductOptions │ │ │ ├── BundleOption.tsx │ │ │ ├── BundleOptionValue.tsx │ │ │ ├── BundleProductOptions.tsx │ │ │ ├── calculateBundleOptionValuePrice.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── ProductListItemBundle │ │ │ └── ProductListItemBundle.tsx │ │ └── index.ts │ ├── graphql │ │ ├── fragments │ │ │ ├── BundleCartItem.graphql │ │ │ ├── ItemSelectedBundleOption.graphql │ │ │ └── SelectedBundleOption.graphql │ │ ├── index.ts │ │ └── inject │ │ │ ├── CreditMemoItem_Bundle.graphql │ │ │ ├── InvoiceItem_Bundle.graphql │ │ │ ├── OrderItem_Bundle.graphql │ │ │ ├── ProductListItemBundle.graphql │ │ │ ├── ProductPageItem_Bundle.graphql │ │ │ └── ShipmentItem_Bundle.graphql │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── BundleCartItemActionCard.tsx │ │ ├── BundleCreditMemoItem.tsx │ │ ├── BundleInvoiceItem.tsx │ │ ├── BundleOrderItem.tsx │ │ ├── BundleProductPagePrice.tsx │ │ ├── BundleShipmentItem.tsx │ │ └── Bundle_cartItemToCartItemInput.ts │ └── tsconfig.json ├── magento-product-configurable │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── ConfigurableCartItem │ │ ├── ConfigurableCartItem.graphql │ │ ├── ConfigurableCartItem.tsx │ │ └── OptionsList.tsx │ ├── ConfigurableContext │ │ └── ConfigurableProductForm.graphql │ ├── ConfigurableProductPage.graphql │ ├── ProductPageConfigurableQueryFragment.graphql │ ├── SwatchList.tsx │ ├── Swatches │ │ ├── ColorSwatchData.graphql │ │ ├── ColorSwatchData.tsx │ │ ├── ImageSwatchData.graphql │ │ ├── ImageSwatchData.tsx │ │ ├── SwatchData.graphql │ │ ├── TextSwatchData.graphql │ │ ├── TextSwatchData.tsx │ │ └── types.ts │ ├── components │ │ ├── ConfigurableCartItemOptions │ │ │ ├── ConfigurableCartItemOptions.tsx │ │ │ └── index.ts │ │ ├── ConfigurableOptionValue │ │ │ ├── ConfigurableOptionValue.graphql │ │ │ ├── ConfigurableOptionValue.tsx │ │ │ └── index.ts │ │ ├── ConfigurableOptionValueColor │ │ │ ├── ConfigurableOptionValueColor.graphql │ │ │ ├── ConfigurableOptionValueColor.tsx │ │ │ └── index.ts │ │ ├── ConfigurableOptionValueImage │ │ │ ├── ConfigurableOptionValueImage.graphql │ │ │ ├── ConfigurableOptionValueImage.tsx │ │ │ └── index.ts │ │ ├── ConfigurableOptionValueText │ │ │ ├── ConfigurableOptionValueText.graphql │ │ │ ├── ConfigurableOptionValueText.tsx │ │ │ └── index.ts │ │ ├── ConfigurableProductOptions │ │ │ ├── ConfigurableProductOption.tsx │ │ │ ├── ConfigurableProductOptions.tsx │ │ │ └── index.ts │ │ ├── ProductListItemConfigurable │ │ │ ├── ProductListItemConfigurable.graphql │ │ │ ├── ProductListItemConfigurable.tsx │ │ │ └── index.ts │ │ └── index.ts │ ├── graphql │ │ ├── fragments │ │ │ ├── ConfigurableOptions.graphql │ │ │ ├── ConfigurableOptionsSelection.graphql │ │ │ └── UseConfigurableOptions.graphql │ │ ├── index.ts │ │ └── queries │ │ │ └── GetConfigurableOptionsSelection.graphql │ ├── hooks │ │ ├── index.ts │ │ └── useConfigurableOptionsSelection.ts │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── ConfigurableCartItemActionCard.tsx │ │ ├── ConfigurableProductPage │ │ │ ├── ConfigurableProductPageDescription.tsx │ │ │ ├── ConfigurableProductPageGallery.tsx │ │ │ ├── ConfigurableProductPageJsonLd.tsx │ │ │ ├── ConfigurableProductPageMeta.tsx │ │ │ ├── ConfigurableProductPageName.tsx │ │ │ ├── ConfigurableProductPagePrice.tsx │ │ │ ├── ConfigurableProductPagePriceTiers.tsx │ │ │ └── ConfigurableProductShortDescription.tsx │ │ └── Configurable_cartItemToCartItemInput.ts │ ├── test │ │ ├── addConfigurableProductToCart.playwright.ts │ │ └── addConfigurableProductToCart.ts │ ├── tsconfig.json │ └── utils │ │ ├── DefaultConfigurableOptionsSelection.graphql │ │ ├── defaultConfigurableOptionsSelection.ts │ │ └── index.ts ├── magento-product-downloadable │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── DownloadableAccountMenuItem │ │ │ └── DownloadableAccountMenuItem.tsx │ │ ├── DownloadableProductOptions │ │ │ ├── DownloadableProductOptions.tsx │ │ │ └── index.ts │ │ ├── DownloadsPage │ │ │ └── DownloadsPage.tsx │ │ └── ProductListItemDownloadable │ │ │ └── ProductListItemDownloadable.tsx │ ├── copy │ │ └── pages │ │ │ ├── account │ │ │ └── downloads.tsx │ │ │ └── downloadable │ │ │ └── download │ │ │ ├── link │ │ │ └── id │ │ │ │ └── [id].tsx │ │ │ ├── linkSample │ │ │ └── link_id │ │ │ │ └── [id].tsx │ │ │ └── sample │ │ │ └── sample_id │ │ │ └── [id].tsx │ ├── graphql │ │ ├── fragments │ │ │ ├── DownloadableItemsLinks.graphql │ │ │ ├── DownloadableProductLinks.graphql │ │ │ └── DownloadableProductSamples.graphql │ │ ├── index.ts │ │ ├── inject │ │ │ ├── DownloadableAccountMenuItem.graphql │ │ │ ├── DownloadableCartItem.graphql │ │ │ ├── DownloadableCreditMemoItem.graphql │ │ │ ├── DownloadableInvoiceItem.graphql │ │ │ ├── DownloadableOrderItem.graphql │ │ │ ├── ProductListItemDownloadable.graphql │ │ │ └── ProductPageItemDownloadable.graphql │ │ └── queries │ │ │ └── DownloadsPage.graphql │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── DownloadableAccountMenuItem.tsx │ │ ├── DownloadableCartItemActionCard.tsx │ │ ├── DownloadableCreditMemoItem.tsx │ │ ├── DownloadableInvoiceItem.tsx │ │ ├── DownloadableOrderItem.tsx │ │ ├── DownloadableProductPagePrice.tsx │ │ └── Downloadable_cartItemToCartItemInput.ts │ └── tsconfig.json ├── magento-product-grouped │ ├── CHANGELOG.md │ ├── GroupedProduct.graphql │ ├── GroupedProducts │ │ ├── GroupedProductActionCard.tsx │ │ └── GroupedProducts.tsx │ ├── ProductListItemGrouped.graphql │ ├── ProductListItemGrouped.tsx │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ └── tsconfig.json ├── magento-product-simple │ ├── CHANGELOG.md │ ├── ProductListItemSimple.graphql │ ├── ProductListItemSimple.tsx │ ├── SimpleCartItem │ │ └── SimpleCartItem.graphql │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── SimpleCartItemActionCard.tsx │ └── tsconfig.json ├── magento-product-virtual │ ├── CHANGELOG.md │ ├── ProductListItemVirtual.graphql │ ├── ProductListItemVirtual.tsx │ ├── ProductPageVirtualQueryFragment.graphql │ ├── VirtualCartItem │ │ └── VirtualCartItem.graphql │ ├── VirtualProductPage.graphql │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── VirtualCartItemActionCard.tsx │ └── tsconfig.json ├── magento-product │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ ├── AddProductsToCart │ │ │ ├── AddProductsToCart.graphql │ │ │ ├── AddProductsToCartButton.tsx │ │ │ ├── AddProductsToCartError.tsx │ │ │ ├── AddProductsToCartFab.tsx │ │ │ ├── AddProductsToCartForm.tsx │ │ │ ├── AddProductsToCartQuantity.tsx │ │ │ ├── AddProductsToCartSnackbar.tsx │ │ │ ├── AddProductsToCartSnackbarMessage.tsx │ │ │ ├── UseAddProductsToCartAction.graphql │ │ │ ├── findAddedItems.ts │ │ │ ├── index.ts │ │ │ ├── toUserErrors.ts │ │ │ ├── useAddProductsToCartAction.ts │ │ │ └── useFormAddProductsToCart.ts │ │ ├── JsonLdProduct │ │ │ ├── JsonLdProduct.graphql │ │ │ ├── JsonLdProductOffer.graphql │ │ │ ├── ProductPageJsonLd.tsx │ │ │ ├── index.ts │ │ │ └── jsonLdProduct.tsx │ │ ├── ProductAddToCart │ │ │ ├── ProductAddToCart.graphql │ │ │ └── index.ts │ │ ├── ProductCustomizable │ │ │ ├── CustomizableAreaOption.graphql │ │ │ ├── CustomizableAreaOption.tsx │ │ │ ├── CustomizableCheckboxOption.graphql │ │ │ ├── CustomizableCheckboxOption.tsx │ │ │ ├── CustomizableDateOption.graphql │ │ │ ├── CustomizableDateOption.tsx │ │ │ ├── CustomizableDropDownOption.graphql │ │ │ ├── CustomizableDropDownOption.tsx │ │ │ ├── CustomizableFieldOption.graphql │ │ │ ├── CustomizableFieldOption.tsx │ │ │ ├── CustomizableFileOption.graphql │ │ │ ├── CustomizableMultipleOption.graphql │ │ │ ├── CustomizableMultipleOption.tsx │ │ │ ├── CustomizableOption.graphql │ │ │ ├── CustomizablePrice.tsx │ │ │ ├── CustomizableRadioOption.graphql │ │ │ ├── CustomizableRadioOption.tsx │ │ │ ├── ProductCustomizable.graphql │ │ │ ├── ProductCustomizable.tsx │ │ │ ├── index.ts │ │ │ └── productCustomizableSelectors.ts │ │ ├── ProductFiltersPro │ │ │ ├── PriceSlider.tsx │ │ │ ├── ProductFilterEqualChip.tsx │ │ │ ├── ProductFilterEqualSection.tsx │ │ │ ├── ProductFilterRangeChip.tsx │ │ │ ├── ProductFilterRangeSection.tsx │ │ │ ├── ProductFiltersPro.tsx │ │ │ ├── ProductFiltersProAggregations.tsx │ │ │ ├── ProductFiltersProAllFiltersChip.tsx │ │ │ ├── ProductFiltersProAllFiltersSidebar.tsx │ │ │ ├── ProductFiltersProCategorySection.tsx │ │ │ ├── ProductFiltersProChips.tsx │ │ │ ├── ProductFiltersProClearAll.tsx │ │ │ ├── ProductFiltersProLayoutSidebar.tsx │ │ │ ├── ProductFiltersProLimitChip.tsx │ │ │ ├── ProductFiltersProLimitSection.tsx │ │ │ ├── ProductFiltersProNoResults.tsx │ │ │ ├── ProductFiltersProSortChip.tsx │ │ │ ├── ProductFiltersProSortDirectionArrow.tsx │ │ │ ├── ProductFiltersProSortSection.tsx │ │ │ ├── activeAggregations.ts │ │ │ ├── applyAggregationCount.ts │ │ │ ├── index.ts │ │ │ ├── useProductFiltersProClearAllAction.ts │ │ │ ├── useProductFiltersProHasFiltersApplied.ts │ │ │ └── useProductFiltersProSort.tsx │ │ ├── ProductList │ │ │ └── ProductList.graphql │ │ ├── ProductListCount │ │ │ ├── ProductListCount.graphql │ │ │ └── ProductListCount.tsx │ │ ├── ProductListFilters │ │ │ ├── FilterCheckboxType.tsx │ │ │ ├── FilterEqualType.tsx │ │ │ ├── FilterRangeType.tsx │ │ │ ├── ProductFilters.graphql │ │ │ ├── ProductListFilters.graphql │ │ │ ├── ProductListFilters.tsx │ │ │ └── index.ts │ │ ├── ProductListFiltersContainer │ │ │ └── ProductListFiltersContainer.tsx │ │ ├── ProductListItem │ │ │ ├── ProductDiscountLabel.tsx │ │ │ ├── ProductListItem.tsx │ │ │ ├── ProductListItemImage.tsx │ │ │ ├── ProductListItemImageContainer.tsx │ │ │ ├── ProductListItemLinkOrDiv.tsx │ │ │ ├── ProductListItemTitleAndPrice.tsx │ │ │ └── ProductNewLabel.tsx │ │ ├── ProductListItems │ │ │ ├── CategoryDefault.graphql │ │ │ ├── ProductFilterTypes.graphql │ │ │ ├── ProductListItems.graphql │ │ │ ├── ProductListItemsBase.tsx │ │ │ ├── ProductListParamsProvider.tsx │ │ │ ├── filterTypes.tsx │ │ │ ├── filteredProductList.tsx │ │ │ ├── getFilterTypes.ts │ │ │ ├── productListApplyCategoryDefaults.ts │ │ │ └── renderer.tsx │ │ ├── ProductListLink │ │ │ └── ProductListLink.tsx │ │ ├── ProductListPagination │ │ │ ├── ProductListPagination.graphql │ │ │ └── ProductListPagination.tsx │ │ ├── ProductListPrice │ │ │ ├── ProductListPrice.graphql │ │ │ ├── ProductListPrice.tsx │ │ │ └── index.ts │ │ ├── ProductListSort │ │ │ ├── ProductListSort.graphql │ │ │ ├── ProductListSort.tsx │ │ │ └── index.ts │ │ ├── ProductListSuggestions │ │ │ ├── ProductListSearchSuggestion.graphql │ │ │ ├── ProductListSuggestions.graphql │ │ │ └── ProductListSuggestions.tsx │ │ ├── ProductPage │ │ │ ├── ProductPageAddToCartRow.tsx │ │ │ └── ProductPageQueryFragment.graphql │ │ ├── ProductPageBreadcrumb │ │ │ ├── ProductPageBreadcrumb.graphql │ │ │ ├── ProductPageBreadcrumb.tsx │ │ │ ├── ProductPageBreadcrumbs.tsx │ │ │ └── index.ts │ │ ├── ProductPageCategory │ │ │ ├── ProductPageCategory.graphql │ │ │ └── productPageCategory.ts │ │ ├── ProductPageDescription │ │ │ ├── ComplexTextValue.graphql │ │ │ ├── ProductPageDescription.graphql │ │ │ └── ProductPageDescription.tsx │ │ ├── ProductPageGallery │ │ │ ├── ProductImage.graphql │ │ │ ├── ProductPageGallery.graphql │ │ │ ├── ProductPageGallery.tsx │ │ │ ├── ProductVideo.graphql │ │ │ └── ProductVideo.tsx │ │ ├── ProductPageMeta │ │ │ ├── ProductPageMeta.graphql │ │ │ └── ProductPageMeta.tsx │ │ ├── ProductPageName │ │ │ ├── ProductPageName.graphql │ │ │ ├── ProductPageName.tsx │ │ │ └── index.ts │ │ ├── ProductPagePrice │ │ │ ├── ProductPagePrice.graphql │ │ │ ├── ProductPagePrice.tsx │ │ │ ├── ProductPagePriceTiers.tsx │ │ │ ├── ProductPrice.graphql │ │ │ ├── getProductTierPrice.ts │ │ │ ├── index.ts │ │ │ └── useCustomizableOptionPrice.ts │ │ ├── ProductRelated │ │ │ └── RelatedProducts.graphql │ │ ├── ProductScroller │ │ │ └── ProductScroller.tsx │ │ ├── ProductShortDescription │ │ │ ├── ProductShortDescription.graphql │ │ │ └── ProductShortDescription.tsx │ │ ├── ProductSidebarDelivery │ │ │ └── ProductSidebarDelivery.tsx │ │ ├── ProductSpecs │ │ │ ├── ProductSpecs.graphql │ │ │ ├── ProductSpecs.tsx │ │ │ ├── ProductSpecsAggregations.tsx │ │ │ └── ProductSpecsCustomAttributes.tsx │ │ ├── ProductStaticPaths │ │ │ ├── ProductStaticPaths.graphql │ │ │ ├── getProductStaticPaths.ts │ │ │ └── getSitemapPaths.ts │ │ ├── ProductUpsells │ │ │ └── UpsellProducts.graphql │ │ ├── ProductWeight │ │ │ ├── ProductWeight.graphql │ │ │ └── ProductWeight.tsx │ │ └── index.ts │ ├── context │ │ └── productListParamsContext.ts │ ├── graphql │ │ ├── fragments │ │ │ ├── ProductListItem.graphql │ │ │ └── ProductPageItem.graphql │ │ └── index.ts │ ├── hooks │ │ ├── ProductLink.graphql │ │ ├── useProductLink.ts │ │ ├── useProductList.ts │ │ ├── useProductListLink.ts │ │ ├── useProductListLinkReplace.ts │ │ └── useProductListParamsContext.ts │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── test │ │ └── productURL.fixture.ts │ └── tsconfig.json ├── magento-recently-viewed-products │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ └── RecentlyViewedProducts.tsx │ ├── graphql │ │ └── RecentlyViewedProducts.graphql │ ├── hooks │ │ ├── index.ts │ │ ├── useRecentlyViewedProducts.tsx │ │ └── useRecentlyViewedSkus.tsx │ ├── index.ts │ ├── package.json │ ├── plugins │ │ └── RegisterProductAsRecentlyViewed.tsx │ └── schema │ │ └── RecentlyViewedProducts.graphqls ├── magento-review │ ├── CHANGELOG.md │ ├── components │ │ ├── AccountReviews │ │ │ ├── AccountReviews.graphql │ │ │ └── AccountReviews.tsx │ │ ├── CreateProductReviewForm │ │ │ ├── CreateProductReview.graphql │ │ │ ├── CreateProductReviewForm.tsx │ │ │ └── ProductReviewRatingsMetadata.graphql │ │ ├── CustomerReview │ │ │ ├── CustomerReview.graphql │ │ │ ├── CustomerReview.tsx │ │ │ ├── review_star_filled.svg │ │ │ └── review_star_outlined.svg │ │ ├── JsonLdProductReview │ │ │ ├── JsonLdProductReview.graphql │ │ │ └── jsonLdProductReview.ts │ │ ├── ProductReviewChip │ │ │ ├── ProductReviewChip.tsx │ │ │ └── ProductReviewSummaryChip.graphql │ │ ├── ProductReviewSummary │ │ │ ├── ProductReviewSummary.graphql │ │ │ └── ProductReviewSummary.tsx │ │ ├── ProductReviews │ │ │ ├── ProductReviewProductName.graphql │ │ │ ├── ProductReviewRatingsMetadata.graphql │ │ │ ├── ProductReviews.graphql │ │ │ ├── ProductReviews.tsx │ │ │ └── ProductReviewsPage.graphql │ │ └── index.ts │ ├── index.ts │ ├── inject │ │ └── AccountDashboardCustomerReviews.graphql │ ├── next-env.d.ts │ ├── package.json │ ├── queries │ │ └── AccountDashboardReviews.graphql │ └── tsconfig.json ├── magento-search-overlay │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── SearchOverlay.tsx │ │ ├── SearchOverlayBodyBase.tsx │ │ ├── SearchOverlayCategories.tsx │ │ ├── SearchOverlayFab.tsx │ │ ├── SearchOverlayHeader.tsx │ │ ├── SearchOverlayInput.tsx │ │ ├── SearchOverlayItem.tsx │ │ ├── SearchOverlayLoader.tsx │ │ ├── SearchOverlayProducts.tsx │ │ ├── SearchOverlayProvider.tsx │ │ ├── SearchOverlayRecent.tsx │ │ ├── SearchOverlaySuggestions.tsx │ │ └── SearchPlaceholder.tsx │ ├── hooks │ │ ├── useOpenWithShortKey.ts │ │ ├── useQuicksearch.ts │ │ ├── useRecentSearches.ts │ │ └── useStickyHeaderOnScroll.ts │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── SearchOverlayFabPlugin.tsx │ │ └── SearchOverlayFieldPlugin.tsx │ └── tsconfig.json ├── magento-search │ ├── CHANGELOG.md │ ├── components │ │ ├── CategorySearchResult │ │ │ ├── CategorySearchResult.graphql │ │ │ ├── CategorySearchResult.tsx │ │ │ └── CategorySearchResults.tsx │ │ ├── NoSearchResults │ │ │ └── NoSearchResults.tsx │ │ ├── ProductFiltersPro │ │ │ ├── ProductFiltersProCategorySectionSearch.tsx │ │ │ ├── ProductFiltersProSearchHeader.tsx │ │ │ ├── ProductFiltersProSearchInput.tsx │ │ │ ├── SearchField.tsx │ │ │ └── useSearchPageAndParam.ts │ │ ├── SearchButton │ │ │ └── SearchButton.tsx │ │ ├── SearchContext │ │ │ └── SearchContext.tsx │ │ ├── SearchDivider │ │ │ └── SearchDivider.tsx │ │ ├── SearchFab │ │ │ └── SearchFab.tsx │ │ ├── SearchForm │ │ │ ├── SearchForm.tsx │ │ │ └── SearchFormAdornment.tsx │ │ └── SearchLink │ │ │ └── SearchLink.tsx │ ├── graphql │ │ ├── fragments │ │ │ └── CategorySearchFragment.graphql │ │ └── queries │ │ │ └── CategorySearch.graphql │ ├── hooks │ │ ├── useCategorySearch.ts │ │ ├── useCategorySearchVariables.ts │ │ └── useProductList.ts │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── tsconfig.json │ └── utils │ │ ├── categoriesApplySearchDefaults.ts │ │ └── productListApplySearchDefaults.ts ├── magento-store │ ├── CHANGELOG.md │ ├── README.md │ ├── components │ │ ├── AttributeForm │ │ │ ├── AttributeFormField.tsx │ │ │ ├── AttributesFormAutoLayout.tsx │ │ │ ├── index.ts │ │ │ ├── preloadAttributesForm.ts │ │ │ └── useAttributesForm.tsx │ │ ├── CurrencySymbol │ │ │ └── CurrencySymbol.tsx │ │ ├── GlobalHead │ │ │ └── GlobalHead.tsx │ │ ├── Money │ │ │ └── Money.tsx │ │ ├── PageMeta │ │ │ └── PageMeta.tsx │ │ ├── PriceModifiers │ │ │ ├── PriceModifiers.tsx │ │ │ ├── PriceModifiersList.tsx │ │ │ ├── PriceModifiersListChildItem.tsx │ │ │ ├── PriceModifiersListItem.tsx │ │ │ └── index.ts │ │ ├── StoreSwitcher │ │ │ ├── StoreSwitcherApply.tsx │ │ │ ├── StoreSwitcherCurrencySelector.tsx │ │ │ ├── StoreSwitcherGroupSelector.tsx │ │ │ ├── StoreSwitcherList.tsx │ │ │ ├── StoreSwitcherStoreCurrencies.tsx │ │ │ ├── StoreSwitcherStoreSelector.tsx │ │ │ ├── index.ts │ │ │ └── useStoreSwitcher.tsx │ │ └── StoreSwitcherButton │ │ │ └── StoreSwitcherButton.tsx │ ├── docs │ │ ├── store-switcher-multiple-groups-one-store-multiple-currency.png │ │ ├── store-switcher-multiple-groups-one-store-single-currency.png │ │ ├── store-switcher-single-group-multiple-stores-multiple-currencies.png │ │ └── store-switcher-single-group-multiple-stores-single-currency.png │ ├── graphql │ │ ├── fragments │ │ │ ├── AttributeValueFragment.graphql │ │ │ ├── CustomAttributeMetadata.graphql │ │ │ ├── Money.graphql │ │ │ ├── StoreConfigFragment.graphql │ │ │ ├── StoreConfigQueryFragment.graphql │ │ │ └── index.ts │ │ ├── index.ts │ │ └── queries │ │ │ ├── AttributesForm.graphql │ │ │ ├── CountryRegions.graphql │ │ │ ├── HandleRedirect.graphql │ │ │ ├── StoreConfig.graphql │ │ │ ├── StoreSwitcherList.graphql │ │ │ └── index.ts │ ├── hooks │ │ ├── useFindCountry.ts │ │ └── useFindRegion.ts │ ├── index.ts │ ├── mesh │ │ └── resolvers.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── magentoCurrencyCode.ts │ │ ├── magentoStoreGraphqlConfig.ts │ │ └── meshMagentoStore.ts │ ├── schema │ │ ├── PrivateContext.graphqls │ │ └── StoreConfig-currency.graphqls │ ├── test │ │ └── apolloClientStore.fixture.ts │ ├── tsconfig.json │ └── utils │ │ ├── localeToStore.ts │ │ └── redirectOrNotFound.ts ├── magento-wishlist │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── components │ │ ├── ProductWishlistChip │ │ │ ├── ProductWishlistChip.graphql │ │ │ ├── ProductWishlistChip.tsx │ │ │ ├── ProductWishlistChipDetail.tsx │ │ │ └── ProductWishlistIconButton.tsx │ │ ├── WishlistFab │ │ │ └── WishlistFab.tsx │ │ ├── WishlistItem │ │ │ └── AddWishlistItemToCart.tsx │ │ ├── WishlistItemActionCard │ │ │ ├── ConfigurableWishlistItemAction.tsx │ │ │ └── WishlistItemActionCard.tsx │ │ ├── WishlistMenuFabItem │ │ │ └── WishlistMenuFabItem.tsx │ │ └── index.ts │ ├── hooks │ │ ├── index.ts │ │ ├── useAddProductToWishlistAction.ts │ │ ├── useAddProductsToWishlist │ │ │ ├── AddProductToWishlist.graphql │ │ │ └── useAddProductsToWishlist.ts │ │ ├── useMergeGuestWishlistWithCustomer.tsx │ │ ├── useRemoveProductsFromWishlist │ │ │ ├── UseRemoveProductsFromWishlist.graphql │ │ │ ├── index.ts │ │ │ └── useRemoveProductsFromWishlist.tsx │ │ ├── useWishlistEnabled │ │ │ ├── UseWishlistEnabledStoreConfig.graphql │ │ │ └── useWishlistEnabled.tsx │ │ └── useWishlistitems │ │ │ ├── UseWishlistCustomer.graphql │ │ │ ├── UseWishlistGuest.graphql │ │ │ ├── index.ts │ │ │ └── useWishlistItems.tsx │ ├── index.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ ├── BundleWishlistItemActionCard.tsx │ │ ├── ConfigurableWishlistItemActionCard.tsx │ │ └── WishlistProductAddToCartFormPlugin.tsx │ ├── queries │ │ ├── Wishlist.graphql │ │ └── WishlistItem.graphql │ └── tsconfig.json ├── mollie-magento-payment │ ├── CHANGELOG.md │ ├── Inject │ │ └── MolliePaymentMethod.graphql │ ├── Mollie.ts │ ├── README.md │ ├── components │ │ ├── MollieActionCard │ │ │ └── MollieActionCard.tsx │ │ ├── MollieOptionsToken │ │ │ ├── MollieCreditCardOptions.tsx │ │ │ ├── MollieField.tsx │ │ │ ├── MollieStoreConfig.graphql │ │ │ ├── SetMolliePaymentMethodTokenOnCart.graphql │ │ │ └── mollieContext.ts │ │ ├── MolliePaymentHandler │ │ │ ├── MolliePaymentHandler.graphql │ │ │ ├── MolliePaymentHandler.tsx │ │ │ └── MollieRecoverCart.graphql │ │ ├── MolliePaymentStatus │ │ │ └── MolliePaymentStatus.tsx │ │ └── MolliePlaceOrder │ │ │ ├── MolliePlaceOrder.graphql │ │ │ ├── MolliePlaceOrder.tsx │ │ │ └── assertMollieOrderPlaced.ts │ ├── hooks │ │ └── useCartLockWithToken.ts │ ├── index.ts │ ├── methods.ts │ ├── next-env.d.ts │ ├── package.json │ ├── plugins │ │ └── AddMollieMethods.tsx │ ├── test │ │ ├── creditcard.playwright.ts │ │ ├── ideal.playwright.ts │ │ └── utils.ts │ └── tsconfig.json ├── next-ui │ ├── ActionCard │ │ ├── ActionCard.tsx │ │ ├── ActionCardAccordion.tsx │ │ ├── ActionCardLayout.tsx │ │ ├── ActionCardList.tsx │ │ └── index.ts │ ├── Blog │ │ ├── BlogAuthor │ │ │ └── BlogAuthor.tsx │ │ ├── BlogContent │ │ │ └── BlogContent.tsx │ │ ├── BlogHeader │ │ │ └── BlogHeader.tsx │ │ ├── BlogList │ │ │ └── BlogList.tsx │ │ ├── BlogListItem │ │ │ └── BlogListItem.tsx │ │ ├── BlogTags │ │ │ ├── BlogTag.tsx │ │ │ └── BlogTags.tsx │ │ └── BlogTitle │ │ │ └── BlogTitle.tsx │ ├── Breadcrumbs │ │ ├── Breadcrumbs.tsx │ │ ├── BreadcrumbsJsonLd.tsx │ │ ├── BreadcrumbsList.tsx │ │ ├── BreadcrumbsPopper.tsx │ │ ├── index.ts │ │ ├── jsonLdBreadcrumb.tsx │ │ └── types.ts │ ├── Button │ │ ├── Button.tsx │ │ ├── LinkOrButton.tsx │ │ └── index.ts │ ├── CHANGELOG.md │ ├── ChipMenu │ │ └── ChipMenu.tsx │ ├── Config.graphqls │ ├── Container │ │ └── Container.tsx │ ├── ContainerWithHeader │ │ └── ContainerWithHeader.tsx │ ├── Document │ │ ├── DocumentBodyEnd.tsx │ │ ├── DocumentBodyStart.tsx │ │ ├── DocumentHeadEnd.tsx │ │ ├── DocumentHeadStart.tsx │ │ └── index.ts │ ├── Fab │ │ ├── Fab.tsx │ │ └── index.ts │ ├── FindAndReplace │ │ └── FindAndReplace.tsx │ ├── FlagAvatar │ │ └── FlagAvatar.tsx │ ├── Footer │ │ ├── Footer.tsx │ │ └── index.ts │ ├── Form │ │ ├── Form.tsx │ │ ├── FormActions.tsx │ │ ├── FormDivider.tsx │ │ ├── FormHeader.tsx │ │ ├── FormRow.tsx │ │ └── InputCheckmark.tsx │ ├── FramerScroller │ │ ├── ItemScroller.tsx │ │ ├── SidebarGallery.tsx │ │ ├── SidebarSlider.tsx │ │ └── index.ts │ ├── FullPageMessage │ │ └── FullPageMessage.tsx │ ├── Highlight │ │ └── Highlight.tsx │ ├── IconHeader │ │ └── IconHeader.tsx │ ├── IconSvg │ │ ├── IconSvg.tsx │ │ ├── index.ts │ │ └── svgIconStrokeWidth.ts │ ├── Intl │ │ ├── CurrencySymbol │ │ │ ├── CurrencySymbol.tsx │ │ │ └── index.ts │ │ ├── DateTimeFormat │ │ │ ├── DateFormat.tsx │ │ │ ├── DateTimeFormat.tsx │ │ │ ├── TimeFormat.tsx │ │ │ ├── index.ts │ │ │ ├── toDate.ts │ │ │ └── useIntlDateTimeFormat.ts │ │ ├── DisplayNames │ │ │ ├── DisplayNames.tsx │ │ │ ├── index.ts │ │ │ └── useIntlDisplayNames.ts │ │ ├── ListFormat │ │ │ ├── ListFormat.tsx │ │ │ ├── index.ts │ │ │ └── useIntlListFormat.ts │ │ ├── NumberFormat │ │ │ ├── CurrencyFormat.tsx │ │ │ ├── NumberFormat.tsx │ │ │ ├── PercentFormat.tsx │ │ │ ├── UnitFormat.tsx │ │ │ ├── index.ts │ │ │ └── useIntlNumberFormat.ts │ │ ├── RelativeTimeFormat │ │ │ ├── RelativeTimeFormat.tsx │ │ │ ├── RelativeToTimeFormat.tsx │ │ │ ├── index.ts │ │ │ ├── relativeTimeFormatAutoUnit.ts │ │ │ └── useIntlRelativeTimeFormat.ts │ │ ├── index.ts │ │ └── useIntlLocalesArgument.ts │ ├── JsonLd │ │ ├── JsonLd.tsx │ │ └── safeJsonLdReplacer.ts │ ├── Layout │ │ ├── components │ │ │ ├── LayoutHeader.tsx │ │ │ ├── LayoutHeaderBack.tsx │ │ │ ├── LayoutHeaderClose.tsx │ │ │ ├── LayoutHeaderContent.tsx │ │ │ ├── LayoutHeadertypes.ts │ │ │ ├── LayoutProvider.tsx │ │ │ └── LayoutTitle.tsx │ │ ├── context │ │ │ └── layoutContext.tsx │ │ ├── hooks │ │ │ └── useScrollY.tsx │ │ ├── index.ts │ │ └── types.ts │ ├── LayoutDefault │ │ ├── components │ │ │ └── LayoutDefault.tsx │ │ └── index.ts │ ├── LayoutOverlay │ │ ├── components │ │ │ ├── LayoutOverlay.tsx │ │ │ └── LayoutOverlayHeader.tsx │ │ ├── index.ts │ │ └── test │ │ │ └── LayoutOverlayDemo.tsx │ ├── LayoutParts │ │ ├── DesktopHeaderBadge.tsx │ │ ├── DesktopNavActions.tsx │ │ ├── DesktopNavBar.tsx │ │ ├── DesktopNavBarItem.tsx │ │ ├── GlobalHead.tsx │ │ ├── Logo.tsx │ │ ├── MenuFab.tsx │ │ ├── MenuFabItem.tsx │ │ ├── MenuFabSecondaryItem.tsx │ │ ├── MobileTopRight.tsx │ │ ├── PlaceholderFab.tsx │ │ ├── StickyBelowHeader.tsx │ │ ├── index.ts │ │ └── useFabAnimation.ts │ ├── LazyHydrate │ │ ├── LazyHydrate.tsx │ │ └── index.ts │ ├── MediaQuery │ │ ├── MediaQuery.tsx │ │ └── index.ts │ ├── Navigation │ │ ├── components │ │ │ ├── NavigationFab.tsx │ │ │ ├── NavigationItem.tsx │ │ │ ├── NavigationList.tsx │ │ │ ├── NavigationOverlay.tsx │ │ │ ├── NavigationProvider.tsx │ │ │ └── NavigationTitle.tsx │ │ ├── hooks │ │ │ └── useNavigation.ts │ │ └── index.ts │ ├── Overlay │ │ ├── components │ │ │ ├── Overlay.tsx │ │ │ ├── OverlayBase.tsx │ │ │ ├── OverlayContainer.tsx │ │ │ ├── OverlayHeader.tsx │ │ │ ├── OverlaySsr.tsx │ │ │ ├── OverlayStickyBottom.tsx │ │ │ └── index.ts │ │ ├── index.ts │ │ └── utils │ │ │ └── variantsToScrollSnapType.ts │ ├── OverlayOrPopperChip │ │ ├── OverlayOrPopperChip.tsx │ │ ├── OverlayOrPopperPanel.tsx │ │ ├── OverlayPanel.tsx │ │ ├── OverlayPanelActions.tsx │ │ ├── PopperPanel.tsx │ │ ├── PopperPanelActions.tsx │ │ ├── index.ts │ │ ├── types.ts │ │ └── useHandleClickNotDrag.ts │ ├── Page │ │ ├── CssAndFramerMotionProvider.tsx │ │ ├── framerFeatures.ts │ │ ├── index.ts │ │ └── types.ts │ ├── PageLoadIndicator │ │ └── PageLoadIndicator.tsx │ ├── PageMeta │ │ ├── PageMeta.tsx │ │ └── canonicalize.ts │ ├── Pagination │ │ ├── Pagination.tsx │ │ └── PaginationExtended.tsx │ ├── RenderType │ │ ├── RenderType.tsx │ │ ├── filterNonNullableKeys.ts │ │ ├── index.ts │ │ └── nonNullable.ts │ ├── Row │ │ ├── ButtonLinkList │ │ │ ├── ButtonLinkList.tsx │ │ │ ├── ButtonLinkListItem.tsx │ │ │ └── index.ts │ │ ├── ColumnOne │ │ │ ├── ColumnOne.tsx │ │ │ └── variant │ │ │ │ ├── VariantMessage.tsx │ │ │ │ └── index.ts │ │ ├── ColumnOneBoxed │ │ │ └── ColumnOneBoxed.tsx │ │ ├── ColumnOneCentered │ │ │ └── ColumnOneCentered.tsx │ │ ├── ColumnThree │ │ │ └── ColumnThree.tsx │ │ ├── ColumnTwo │ │ │ └── ColumnTwo.tsx │ │ ├── ColumnTwoSpread │ │ │ └── ColumnTwoSpread.tsx │ │ ├── ColumnTwoWithTop │ │ │ └── ColumnTwoWithTop.tsx │ │ ├── ContentLinks │ │ │ └── ContentLinks.tsx │ │ ├── HeroBanner │ │ │ └── HeroBanner.tsx │ │ ├── IconBlocks │ │ │ ├── IconBlock.tsx │ │ │ └── IconBlocks.tsx │ │ ├── ImageText │ │ │ └── ImageText.tsx │ │ ├── ImageTextBoxed │ │ │ └── ImageTextBoxed.tsx │ │ ├── ParagraphWithSidebarSlide │ │ │ └── ParagraphWithSidebarSlide.tsx │ │ ├── Quote │ │ │ └── Quote.tsx │ │ ├── Row.tsx │ │ ├── RowLinks │ │ │ ├── RowLinks.tsx │ │ │ └── variant │ │ │ │ ├── VariantImageLabelSwiper.tsx │ │ │ │ ├── VariantInline.tsx │ │ │ │ ├── VariantLogoSwiper.tsx │ │ │ │ ├── VariantUsps.tsx │ │ │ │ └── index.ts │ │ ├── SpecialBanner │ │ │ └── SpecialBanner.tsx │ │ └── index.ts │ ├── SectionContainer │ │ └── SectionContainer.tsx │ ├── SectionHeader │ │ └── SectionHeader.tsx │ ├── Separator │ │ └── Separator.tsx │ ├── SkipLink │ │ └── SkipLink.tsx │ ├── Snackbar │ │ ├── DismissibleSnackbar.tsx │ │ ├── ErrorSnackbar.tsx │ │ ├── MessageSnackbar.tsx │ │ └── MessageSnackbarImpl.tsx │ ├── StarRatingField │ │ └── StarRatingField.tsx │ ├── Stepper │ │ └── Stepper.tsx │ ├── Styles │ │ ├── EmotionProvider.tsx │ │ ├── __tests__ │ │ │ └── spreadVal.test.ts │ │ ├── breakpointVal.tsx │ │ ├── createEmotionCache.ts │ │ ├── extendableComponent.ts │ │ ├── index.ts │ │ ├── responsiveVal.tsx │ │ ├── spreadVal.tsx │ │ ├── withEmotionCache.tsx │ │ └── withTheme.tsx │ ├── TextInputNumber │ │ └── TextInputNumber.tsx │ ├── Theme │ │ ├── DarkLightModeThemeProvider.tsx │ │ ├── MuiButton.ts │ │ ├── MuiChip.ts │ │ ├── MuiFab.ts │ │ ├── MuiSlider.ts │ │ ├── MuiSnackbar.ts │ │ ├── NextLink.tsx │ │ ├── breakpoints.ts │ │ ├── createTheme.ts │ │ ├── index.ts │ │ ├── themeDefaults.ts │ │ └── useContainerSizing.ts │ ├── TimeAgo │ │ └── TimeAgo.tsx │ ├── ToggleButton │ │ └── ToggleButton.tsx │ ├── ToggleButtonGroup │ │ └── ToggleButtonGroup.tsx │ ├── UspList │ │ ├── UspList.tsx │ │ └── UspListItem.tsx │ ├── hooks │ │ ├── index.ts │ │ ├── memoDeep.ts │ │ ├── useDateTimeFormat.ts │ │ ├── useIsSsr.ts │ │ ├── useLocale.ts │ │ ├── useMatchMedia.ts │ │ ├── useMemoDeep.ts │ │ ├── useMemoObject.ts │ │ ├── useNumberFormat.ts │ │ ├── useStorefrontConfig.ts │ │ └── useUrlQuery.ts │ ├── icons.ts │ ├── icons │ │ ├── accessibility-human.svg │ │ ├── accessibility.svg │ │ ├── activity.svg │ │ ├── add-to-list.svg │ │ ├── add.svg │ │ ├── alarm.svg │ │ ├── align-center.svg │ │ ├── align-left.svg │ │ ├── align-right.svg │ │ ├── anchor.svg │ │ ├── aperture.svg │ │ ├── apps-alt.svg │ │ ├── apps.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left-bottom.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-left-top.svg │ │ ├── arrow-left.svg │ │ ├── arrow-right-bottom.svg │ │ ├── arrow-right-circle.svg │ │ ├── arrow-right-top.svg │ │ ├── arrow-right.svg │ │ ├── arrow-up-circle.svg │ │ ├── arrow-up.svg │ │ ├── back-alt.svg │ │ ├── back-left.svg │ │ ├── back-right.svg │ │ ├── back.svg │ │ ├── bag.svg │ │ ├── basket.svg │ │ ├── basketball.svg │ │ ├── battery-alt.svg │ │ ├── battery-charging.svg │ │ ├── battery-full.svg │ │ ├── battery-low.svg │ │ ├── battery-medium.svg │ │ ├── battery.svg │ │ ├── bell.svg │ │ ├── bike.svg │ │ ├── bin.svg │ │ ├── bluetooth.svg │ │ ├── bolt.svg │ │ ├── book-opened.svg │ │ ├── book.svg │ │ ├── bookmark.svg │ │ ├── box-alt.svg │ │ ├── box-alt2.svg │ │ ├── box.svg │ │ ├── brightness.svg │ │ ├── bug.svg │ │ ├── calendar-add.svg │ │ ├── calendar-decline.svg │ │ ├── calendar-event.svg │ │ ├── calendar.svg │ │ ├── camera-rear.svg │ │ ├── camera.svg │ │ ├── cancel-alt.svg │ │ ├── cancel.svg │ │ ├── car-alt.svg │ │ ├── car.svg │ │ ├── cards.svg │ │ ├── cart-add.svg │ │ ├── cart.svg │ │ ├── celluar.svg │ │ ├── chart.svg │ │ ├── chat-add.svg │ │ ├── chat-alt.svg │ │ ├── chat-remove.svg │ │ ├── chat-warning.svg │ │ ├── chat.svg │ │ ├── checkbox-intermediate.svg │ │ ├── checkbox.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up.svg │ │ ├── chevrons-down.svg │ │ ├── chevrons-left.svg │ │ ├── chevrons-right.svg │ │ ├── chevrons-up.svg │ │ ├── circle.svg │ │ ├── clip.svg │ │ ├── clipboard.svg │ │ ├── close.svg │ │ ├── cloud-crossed.svg │ │ ├── cloud-upload.svg │ │ ├── cloud.svg │ │ ├── code-alt.svg │ │ ├── code.svg │ │ ├── coffee.svg │ │ ├── colours.svg │ │ ├── compare-arrows.svg │ │ ├── component.svg │ │ ├── contact-book.svg │ │ ├── contrast.svg │ │ ├── control-centre.svg │ │ ├── controls-alt.svg │ │ ├── controls-vertical-alt.svg │ │ ├── controls.svg │ │ ├── copy.svg │ │ ├── credit-card.svg │ │ ├── crop.svg │ │ ├── crossing.svg │ │ ├── cup.svg │ │ ├── cursor.svg │ │ ├── cut.svg │ │ ├── danger.svg │ │ ├── dashboard.svg │ │ ├── delete.svg │ │ ├── dialpad.svg │ │ ├── diamond.svg │ │ ├── direction-left.svg │ │ ├── direction-right.svg │ │ ├── directions-left.svg │ │ ├── directions-right.svg │ │ ├── disc.svg │ │ ├── dolar.svg │ │ ├── download.svg │ │ ├── drop.svg │ │ ├── ear.svg │ │ ├── edit.svg │ │ ├── ellypsis-vertical.svg │ │ ├── ellypsis.svg │ │ ├── entrance.svg │ │ ├── envelope-alt.svg │ │ ├── envelope.svg │ │ ├── error.svg │ │ ├── exit.svg │ │ ├── explore.svg │ │ ├── extension.svg │ │ ├── eye-closed.svg │ │ ├── eye-crossed.svg │ │ ├── eye.svg │ │ ├── facebook.svg │ │ ├── favourite.svg │ │ ├── feather.svg │ │ ├── feed.svg │ │ ├── file.svg │ │ ├── film.svg │ │ ├── filter.svg │ │ ├── fit.svg │ │ ├── flag.svg │ │ ├── flower.svg │ │ ├── folder-add.svg │ │ ├── folder-remove.svg │ │ ├── folder-warning.svg │ │ ├── folder.svg │ │ ├── forward.svg │ │ ├── glasses.svg │ │ ├── grid-alt.svg │ │ ├── grid-small.svg │ │ ├── grid.svg │ │ ├── hamburger.svg │ │ ├── happy-face.svg │ │ ├── hash.svg │ │ ├── hdr.svg │ │ ├── headphones.svg │ │ ├── hearing-disability.svg │ │ ├── help.svg │ │ ├── history.svg │ │ ├── home-alt.svg │ │ ├── home-alt2.svg │ │ ├── home.svg │ │ ├── horn.svg │ │ ├── hourglass.svg │ │ ├── image.svg │ │ ├── inbox-alt.svg │ │ ├── inbox.svg │ │ ├── info.svg │ │ ├── instagram.svg │ │ ├── iphone.svg │ │ ├── justify.svg │ │ ├── key.svg │ │ ├── language.svg │ │ ├── laptop.svg │ │ ├── layers.svg │ │ ├── layout-left.svg │ │ ├── layout-right.svg │ │ ├── lightbulb.svg │ │ ├── line-chart.svg │ │ ├── link.svg │ │ ├── linkedin.svg │ │ ├── list-alt.svg │ │ ├── list-view.svg │ │ ├── list.svg │ │ ├── location.svg │ │ ├── lock-alt-open.svg │ │ ├── lock-alt.svg │ │ ├── lock-open.svg │ │ ├── lock.svg │ │ ├── map.svg │ │ ├── marker.svg │ │ ├── mask.svg │ │ ├── maximise.svg │ │ ├── microphone.svg │ │ ├── minimise.svg │ │ ├── minus.svg │ │ ├── moon.svg │ │ ├── mouse.svg │ │ ├── music.svg │ │ ├── mute.svg │ │ ├── neutral-face.svg │ │ ├── new.svg │ │ ├── news.svg │ │ ├── next-alt.svg │ │ ├── next.svg │ │ ├── night-mode.svg │ │ ├── no-entry.svg │ │ ├── not-allowed.svg │ │ ├── notebook.svg │ │ ├── octagon.svg │ │ ├── ok-circle.svg │ │ ├── ok.svg │ │ ├── origin.svg │ │ ├── pan.svg │ │ ├── paperclip.svg │ │ ├── pause-circle.svg │ │ ├── pause.svg │ │ ├── pen.svg │ │ ├── people.svg │ │ ├── person-add.svg │ │ ├── person-alt.svg │ │ ├── person.svg │ │ ├── phone.svg │ │ ├── pie-chart.svg │ │ ├── pizza.svg │ │ ├── placeholder.svg │ │ ├── plane.svg │ │ ├── play.svg │ │ ├── plus.svg │ │ ├── poll.svg │ │ ├── power.svg │ │ ├── presentation.svg │ │ ├── previous-alt.svg │ │ ├── previous.svg │ │ ├── print.svg │ │ ├── qr.svg │ │ ├── radio-button-selected.svg │ │ ├── radio-button.svg │ │ ├── radio.svg │ │ ├── rain.svg │ │ ├── rectangle.svg │ │ ├── redo.svg │ │ ├── refresh.svg │ │ ├── remove.svg │ │ ├── repeat.svg │ │ ├── restaurant.svg │ │ ├── return.svg │ │ ├── retweet.svg │ │ ├── rocket.svg │ │ ├── rotate.svg │ │ ├── rss.svg │ │ ├── sad-face.svg │ │ ├── save.svg │ │ ├── search.svg │ │ ├── send.svg │ │ ├── settings.svg │ │ ├── share-android.svg │ │ ├── share-ios.svg │ │ ├── share.svg │ │ ├── shield.svg │ │ ├── shift.svg │ │ ├── shuffle.svg │ │ ├── sign-language.svg │ │ ├── signal-alt.svg │ │ ├── signal.svg │ │ ├── skull.svg │ │ ├── smartphone.svg │ │ ├── snow.svg │ │ ├── sort-down.svg │ │ ├── sort-up.svg │ │ ├── sorting.svg │ │ ├── sounds.svg │ │ ├── spam.svg │ │ ├── stack.svg │ │ ├── star.svg │ │ ├── stats-alt.svg │ │ ├── stats.svg │ │ ├── sticker.svg │ │ ├── stop.svg │ │ ├── stopwatch.svg │ │ ├── suitcase-alt.svg │ │ ├── suitcase.svg │ │ ├── sun-cloud.svg │ │ ├── sun.svg │ │ ├── sunset.svg │ │ ├── support-alt.svg │ │ ├── support.svg │ │ ├── swap-horizontal.svg │ │ ├── swap-vertical.svg │ │ ├── switch-off.svg │ │ ├── switch-on.svg │ │ ├── table-horizontal.svg │ │ ├── table-vertical.svg │ │ ├── tag-alt.svg │ │ ├── tag.svg │ │ ├── text.svg │ │ ├── thermometer.svg │ │ ├── thumb-down.svg │ │ ├── thumb-up.svg │ │ ├── thunder.svg │ │ ├── time.svg │ │ ├── timer.svg │ │ ├── tool.svg │ │ ├── train.svg │ │ ├── transport.svg │ │ ├── trending-down.svg │ │ ├── trending-up.svg │ │ ├── turn-left.svg │ │ ├── turn-right.svg │ │ ├── tv.svg │ │ ├── twitter.svg │ │ ├── typography.svg │ │ ├── umbrella.svg │ │ ├── undo.svg │ │ ├── upload.svg │ │ ├── user.svg │ │ ├── verified.svg │ │ ├── vertical.svg │ │ ├── video.svg │ │ ├── voicemail.svg │ │ ├── volume-loud.svg │ │ ├── volume-off.svg │ │ ├── volume-quiet.svg │ │ ├── walking.svg │ │ ├── wallpaper.svg │ │ ├── watch.svg │ │ ├── wheelchair.svg │ │ ├── wifi.svg │ │ ├── window.svg │ │ ├── wine.svg │ │ ├── zoom-in.svg │ │ └── zoom-out.svg │ ├── index.ts │ ├── package.json │ ├── server.ts │ ├── tsconfig.json │ ├── types.d.ts │ └── utils │ │ ├── cookie.ts │ │ ├── cssFlags.tsx │ │ ├── getCssFlagInitScript.tsx │ │ ├── normalizeLocale.ts │ │ ├── robots.ts │ │ ├── sitemap.ts │ │ ├── storefrontConfig.ts │ │ └── sxx.ts ├── react-hook-form │ ├── CHANGELOG.md │ ├── README.md │ ├── index.ts │ ├── package.json │ ├── src │ │ ├── ComposedForm │ │ │ ├── ComposedForm.tsx │ │ │ ├── ComposedSubmit.tsx │ │ │ ├── context.ts │ │ │ ├── index.ts │ │ │ ├── reducer.ts │ │ │ ├── types.ts │ │ │ └── useFormCompose.ts │ │ ├── diff.ts │ │ ├── useFormAutoSubmit.tsx │ │ ├── useFormGql.tsx │ │ ├── useFormGqlMutation.tsx │ │ ├── useFormGqlQuery.tsx │ │ ├── useFormMuiRegister.tsx │ │ ├── useFormPersist.tsx │ │ ├── useFormValidFields.tsx │ │ ├── useGqlDocumentHandler.tsx │ │ ├── utils │ │ │ ├── tryTuple.ts │ │ │ └── useDebounce.ts │ │ └── validationPatterns.tsx │ └── tsconfig.json └── service-worker │ ├── CHANGELOG.md │ ├── index.ts │ ├── nextImagePlugin.ts │ ├── package.json │ ├── runtimeCaching.ts │ └── tsconfig.json ├── packagesDev ├── browserslist-config │ ├── CHANGELOG.md │ ├── README.md │ ├── index.js │ └── package.json ├── changeset-changelog │ ├── .gitignore │ ├── CHANGELOG.md │ ├── dist │ │ └── index.js │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── eslint-config │ ├── CHANGELOG.md │ ├── README.md │ ├── index.js │ └── package.json ├── graphql-codegen-markdown-docs │ ├── .gitignore │ ├── CHANGELOG.md │ ├── dist │ │ ├── MarkdownVisitor.js │ │ ├── config.js │ │ ├── graphql.js │ │ └── index.js │ ├── package.json │ ├── src │ │ ├── config.ts │ │ └── index.ts │ └── tsconfig.json ├── graphql-codegen-near-operation-file │ ├── .gitignore │ ├── .npmignore │ ├── CHANGELOG.md │ ├── dist │ │ ├── directive │ │ │ ├── env.js │ │ │ └── injectable.js │ │ ├── fragment-resolver.js │ │ ├── index.js │ │ ├── resolve-document-imports.js │ │ ├── test │ │ │ ├── InjectableFragment.gql.js │ │ │ ├── InjectingFragment.gql.js │ │ │ └── QueryWithInjectable.gql.js │ │ └── utils.js │ ├── package.json │ ├── schema │ │ ├── env.graphqls │ │ └── injectable.graphqls │ ├── src │ │ ├── directive │ │ │ ├── env.ts │ │ │ └── injectable.ts │ │ ├── fragment-resolver.ts │ │ ├── index.ts │ │ ├── resolve-document-imports.ts │ │ └── utils.ts │ └── tsconfig.json ├── graphql-codegen-relay-optimizer-plugin │ ├── .gitignore │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── __tests__ │ │ └── index │ │ │ └── index.ts │ ├── dist │ │ └── index.js │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── types.d.ts │ └── tsconfig.json ├── misc │ ├── CHANGELOG.md │ └── package.json ├── next-config │ ├── .gitignore │ ├── CHANGELOG.md │ ├── Config.graphqls │ ├── README.md │ ├── __tests__ │ │ ├── commands │ │ │ └── copyFiles.ts │ │ ├── config │ │ │ └── utils │ │ │ │ ├── __snapshots__ │ │ │ │ └── mergeEnvIntoConfig.ts.snap │ │ │ │ ├── configToImportMeta.ts │ │ │ │ ├── mergeEnvIntoConfig.ts │ │ │ │ └── replaceConfigInString.ts │ │ ├── interceptors │ │ │ ├── findPlugins.ts │ │ │ ├── generateInterceptors.ts │ │ │ ├── parseStructure.ts │ │ │ └── writeInterceptors.ts │ │ └── utils │ │ │ ├── packageRoots.ts │ │ │ └── resolveDependenciesSync.ts │ ├── dist │ │ ├── generated │ │ │ └── config.js │ │ └── index.js │ ├── package.json │ ├── src │ │ ├── commands │ │ │ ├── codegen.ts │ │ │ └── copyFiles.ts │ │ ├── config │ │ │ ├── commands │ │ │ │ ├── exportConfig.ts │ │ │ │ └── generateConfig.ts │ │ │ ├── demoConfig.ts │ │ │ ├── index.ts │ │ │ ├── loadConfig.ts │ │ │ └── utils │ │ │ │ ├── configToImportMeta.ts │ │ │ │ ├── diff.ts │ │ │ │ ├── exportConfigToEnv.ts │ │ │ │ ├── mergeEnvIntoConfig.ts │ │ │ │ └── replaceConfigInString.ts │ │ ├── generated │ │ │ └── config.ts │ │ ├── index.ts │ │ ├── interceptors │ │ │ ├── InterceptorPlugin.ts │ │ │ ├── RenameVisitor.ts │ │ │ ├── Visitor.ts │ │ │ ├── commands │ │ │ │ └── codegenInterceptors.ts │ │ │ ├── extractExports.ts │ │ │ ├── findOriginalSource.ts │ │ │ ├── findPlugins.ts │ │ │ ├── generateInterceptor.ts │ │ │ ├── generateInterceptors.ts │ │ │ ├── parseStructure.ts │ │ │ ├── swc.ts │ │ │ └── writeInterceptors.ts │ │ ├── utils │ │ │ ├── PackagesSort.ts │ │ │ ├── TopologicalSort.ts │ │ │ ├── isMonorepo.ts │ │ │ ├── packageRoots.ts │ │ │ ├── resolveDependenciesSync.ts │ │ │ ├── resolveDependency.ts │ │ │ └── sig.ts │ │ └── withGraphCommerce.ts │ └── tsconfig.json ├── prettier-config │ ├── CHANGELOG.md │ ├── classic.js │ ├── index.d.ts │ ├── index.js │ └── package.json └── typescript-config │ ├── CHANGELOG.md │ ├── README.md │ ├── index.js │ ├── nextjs.json │ ├── node.json │ └── package.json ├── patches ├── @changesets+assemble-release-plan+5.2.4.patch ├── @changesets+config+2.3.1.patch ├── @changesets+get-github-info+0.6.0.patch ├── @changesets+types+6.0.0.patch └── README.md ├── playwright.config.ts ├── scripts ├── cleanup-canary-releases.mjs ├── get-changelog.mts ├── trace-to-event-format.mjs └── trace-to-tree.mjs ├── tsconfig.json └── vercel.json /.changeset/afraid-glasses-fail.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-grouped': patch 3 | --- 4 | 5 | Use narrower types for grouped products 6 | -------------------------------------------------------------------------------- /.changeset/afraid-pots-complain.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': patch 3 | --- 4 | 5 | Created a AccountDashboardQueryFragment instead of only a query to allow for adding customerDownloadableProducts to the dashboard query 6 | -------------------------------------------------------------------------------- /.changeset/beige-suns-know.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/react-hook-form': patch 3 | --- 4 | 5 | Remove dependency on Magento for @graphcommerec/react-hook-form 6 | -------------------------------------------------------------------------------- /.changeset/beige-worms-tell.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-configurable': patch 3 | --- 4 | 5 | Solve issue where the GetConfigurableOptionsSelection query would be executed even if the product wasn't a ConfigurableProduct. 6 | -------------------------------------------------------------------------------- /.changeset/big-students-try.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-newsletter': patch 3 | --- 4 | 5 | Allow passing children to CustomerNewsletterToggle 6 | -------------------------------------------------------------------------------- /.changeset/brave-penguins-love.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cms': patch 3 | --- 4 | 5 | Convert home to render the home CmsPage and add page/[…url] route for additional pages. 6 | -------------------------------------------------------------------------------- /.changeset/bright-goats-move.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': minor 3 | --- 4 | 5 | Added support for Algolia's facetOrdering which allows you to change the presented filters based on rules. 6 | -------------------------------------------------------------------------------- /.changeset/calm-toes-stare.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | '@graphcommerce/algolia-recommend': patch 4 | --- 5 | 6 | Updated Algolia to the latest version of the spec. 7 | -------------------------------------------------------------------------------- /.changeset/chilled-pans-watch.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-bundle': patch 3 | --- 4 | 5 | Add the ability to edit bundle products from the cart page 6 | -------------------------------------------------------------------------------- /.changeset/chilled-rivers-hear.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@graphcommerce/algolia-products": patch 3 | --- 4 | 5 | Solve issue when creating an account the group_id would be requested but there wansn't a token available to retrieve the group_id. 6 | -------------------------------------------------------------------------------- /.changeset/clean-houses-notice.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-payment-multisafepay': patch 3 | --- 4 | 5 | Remove issuers field from MultiSafePay in preparation for iDeal 2. Please not that this change requires an upgrade to the Magento module as well. 6 | -------------------------------------------------------------------------------- /.changeset/clean-lamps-fry.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Added missing href to secondary menu items 6 | -------------------------------------------------------------------------------- /.changeset/clean-pumas-shake.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-store': patch 3 | --- 4 | 5 | Use the `storeConfig.head_shortcut_icon` when configured, if not configured it will use the favicon.ico and favicon.svg from the public folder. 6 | -------------------------------------------------------------------------------- /.changeset/clever-dodos-fold.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-payment-included': patch 3 | --- 4 | 5 | Make checkmo respect the payableTo and sendTo values 6 | -------------------------------------------------------------------------------- /.changeset/cold-eggs-visit.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-config': patch 3 | --- 4 | 5 | When a dependency is optional or has peerDependenciesMeta set to optional, make sure it doesn't crash when it is not found when calling resolveDependenciesSync 6 | -------------------------------------------------------------------------------- /.changeset/cold-readers-design.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart-checkout': patch 3 | --- 4 | 5 | Prevent rendering "You have not placed an order" before the router resolves. 6 | -------------------------------------------------------------------------------- /.changeset/cuddly-pants-lay.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/react-hook-form': patch 3 | --- 4 | 5 | useFormGql and all derivivatives now get the form as an argument in onComplete for easier form resets. 6 | -------------------------------------------------------------------------------- /.changeset/curly-meals-bathe.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-bundle': patch 3 | --- 4 | 5 | Magento 2.4.7: Render discounts for bundle products 6 | -------------------------------------------------------------------------------- /.changeset/dirty-chicken-rhyme.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@graphcommerce/algolia-insights": patch 3 | --- 4 | 5 | Update useSendAlgoliaEvent.ts 6 | -------------------------------------------------------------------------------- /.changeset/dry-boats-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/misc': patch 3 | --- 4 | 5 | When the added product can't be found, make sure to render just 'Product' instead of an empty string and show a cart icon instead of a placeholder. 6 | -------------------------------------------------------------------------------- /.changeset/dry-hounds-rush.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@graphcommerce/algolia-products": patch 3 | --- 4 | 5 | feat(GCOM-1585): normalize input values from Algolia to schema compliant values 6 | -------------------------------------------------------------------------------- /.changeset/eight-wolves-kiss.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-payment-adyen': patch 3 | '@graphcommerce/magento-payment-multisafepay': patch 4 | '@graphcommerce/mollie-magento-payment': patch 5 | --- 6 | 7 | Remove issuer list from ideal payment method 8 | -------------------------------------------------------------------------------- /.changeset/eighty-pianos-protect.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-config': patch 3 | --- 4 | 5 | Remove redirects for `/product/$type/[url]` routes, those haven't been used for years anymore. 6 | -------------------------------------------------------------------------------- /.changeset/empty-chicken-push.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart-items': patch 3 | '@graphcommerce/magento-product': patch 4 | --- 5 | 6 | Added support for TIME and DATE for the customizable options. Added required stars. 7 | -------------------------------------------------------------------------------- /.changeset/empty-files-stare.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/ecommerce-ui': patch 3 | --- 4 | 5 | Sovle issue where showValid would be forwarded to the textField element 6 | -------------------------------------------------------------------------------- /.changeset/famous-experts-notice.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': patch 3 | --- 4 | 5 | Created a refactored the AccountOrders page and refactored the OrderCard. 6 | -------------------------------------------------------------------------------- /.changeset/fast-rings-hang.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Updated Algolia docs for search suggestions and used a different naming scheme where baseIndex+suggestionsSuffix is used (default that algolia suggests). 6 | -------------------------------------------------------------------------------- /.changeset/few-lamps-love.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Fixed issue where if a value contains a `/` or a `,` the URL parsing would break. Those values are now replaced with `_AND_` and `_OR_` in the URL. 6 | -------------------------------------------------------------------------------- /.changeset/five-beds-admire.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@graphcommerce/magento-graphcms": patch 3 | "@graphcommerce/magento-open-source": patch 4 | --- 5 | 6 | fix: if relatedUpsells are not defined, use empty object so mergeDeep… 7 | -------------------------------------------------------------------------------- /.changeset/five-cooks-judge.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Customizable Product Options wouldn't be properly selected because the parent woudln't rerender anymore. 6 | -------------------------------------------------------------------------------- /.changeset/flat-pandas-dance.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Added lots of missing icon exports 6 | -------------------------------------------------------------------------------- /.changeset/fluffy-owls-applaud.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-graphcms': patch 3 | '@graphcommerce/magento-category': patch 4 | '@graphcommerce/magento-product': patch 5 | --- 6 | 7 | Forward productListRenderer for all locations that can be rendered by pagebuilder 8 | -------------------------------------------------------------------------------- /.changeset/four-bananas-marry.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-categories': minor 3 | '@graphcommerce/magento-search': minor 4 | --- 5 | 6 | Search Categories through algolia 7 | -------------------------------------------------------------------------------- /.changeset/four-needles-invent.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-config': patch 3 | --- 4 | 5 | Solve issue with chalk compilation because we’re not migrated to esm modules. 6 | -------------------------------------------------------------------------------- /.changeset/friendly-hotels-rush.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-graphql-rest': patch 3 | '@graphcommerce/algolia-products': patch 4 | --- 5 | 6 | Moved Customer group_id resolver to magento-graphql-rest package where it should belong. 7 | -------------------------------------------------------------------------------- /.changeset/funny-crabs-fix.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Do not warn about `:first-child` since all css is hoisted out of the components. 6 | -------------------------------------------------------------------------------- /.changeset/funny-humans-brush.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Intl components now accept the sx prop. `` now expects a date prop instead of children. 6 | -------------------------------------------------------------------------------- /.changeset/funny-rats-wave.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | ProductSpecs now uses `attribute { label }` instead of `useQuery(ProductSpecsTypes)` 6 | -------------------------------------------------------------------------------- /.changeset/gentle-rules-learn.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cms': patch 3 | --- 4 | 5 | Added support for loading CMS Pages from Magento 6 | -------------------------------------------------------------------------------- /.changeset/gold-eels-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/hygraph-ui': patch 3 | --- 4 | 5 | Prepare the RichTex for embed and code-block 6 | -------------------------------------------------------------------------------- /.changeset/good-cameras-peel.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/framer-scroller': patch 3 | '@graphcommerce/magento-product': patch 4 | --- 5 | 6 | Added support for video's on the product page. 7 | -------------------------------------------------------------------------------- /.changeset/gorgeous-baboons-learn.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Modify the type that is exposed for createTheme, should be faster for TypeScript to check. 6 | -------------------------------------------------------------------------------- /.changeset/gorgeous-cameras-tie.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | '@graphcommerce/magento-category': patch 4 | '@graphcommerce/next-ui': patch 5 | --- 6 | 7 | Added support for meta_keyword for products and categories 8 | -------------------------------------------------------------------------------- /.changeset/green-guests-kick.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/hygraph-ui': patch 3 | --- 4 | 5 | Forward `` component to `` 6 | -------------------------------------------------------------------------------- /.changeset/green-news-play.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart-items': patch 3 | --- 4 | 5 | Currency wasn't set properly while rendering custom options for cart items that had a different currency than the current store. 6 | -------------------------------------------------------------------------------- /.changeset/healthy-hairs-enjoy.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-category': patch 3 | --- 4 | 5 | Solve issue where productListRenderer was passed as a DOM element, causing react warnings. 6 | -------------------------------------------------------------------------------- /.changeset/healthy-toys-doubt.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-recommend': patch 3 | --- 4 | 5 | Make facetName and facetValue optional when retrieving trending products 6 | -------------------------------------------------------------------------------- /.changeset/heavy-balloons-confess.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@graphcommerce/docs": patch 3 | --- 4 | 5 | Add correct link to demo project 6 | -------------------------------------------------------------------------------- /.changeset/heavy-coats-brake.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart-items': patch 3 | --- 4 | 5 | Solve issue where the UpdateItemQuantity would send a wrong query to the backend. 6 | -------------------------------------------------------------------------------- /.changeset/heavy-guests-mix.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/demo-magento-graphcommerce': patch 3 | --- 4 | 5 | Moved all test routes files to the demo package so they are out of the example directory. 6 | -------------------------------------------------------------------------------- /.changeset/heavy-squids-build.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Also accept false as value for sxx 6 | -------------------------------------------------------------------------------- /.changeset/hip-buckets-raise.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Nesting multiple Containers will not increase the padding, will only be applied once. 6 | -------------------------------------------------------------------------------- /.changeset/hip-dogs-call.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | '@graphcommerce/magento-search': patch 4 | --- 5 | 6 | Solve issue where the category sidebar navigation would show a Clear button while it wasn't clearable. 7 | -------------------------------------------------------------------------------- /.changeset/hungry-laws-judge.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-graphcms': patch 3 | '@graphcommerce/algolia-categories': patch 4 | --- 5 | 6 | Added meta_keywords to CmsPageMeta and CategoryMeta 7 | -------------------------------------------------------------------------------- /.changeset/hungry-ravens-cheer.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Solve issue where the customer group specific price index wasn't used and added warnings to be able to debug the issue. 6 | -------------------------------------------------------------------------------- /.changeset/khaki-cups-lie.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Make sure CustomizableOptions are sorted correctly 6 | -------------------------------------------------------------------------------- /.changeset/kind-jars-deliver.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Created a CustomizablePrice component that will highlight the price, to prevent duplicating logic and preventing rerenders. 6 | -------------------------------------------------------------------------------- /.changeset/large-balloons-teach.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cms': patch 3 | --- 4 | 5 | Added cmsBlocks query and `` component. 6 | -------------------------------------------------------------------------------- /.changeset/large-ducks-deliver.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-categories': patch 3 | '@graphcommerce/algolia-products': patch 4 | --- 5 | 6 | Allow returning the algolia index name that is being searched 7 | -------------------------------------------------------------------------------- /.changeset/late-garlics-listen.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': patch 3 | --- 4 | 5 | Deleting an account will now require reauthentication and moved the menu item to the Authentication section 6 | -------------------------------------------------------------------------------- /.changeset/late-paws-smell.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-config': patch 3 | --- 4 | 5 | Solve issue where withGraphCommerce had a hard dependency on Magento specific configurations 6 | -------------------------------------------------------------------------------- /.changeset/lazy-ducks-leave.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/graphql': patch 3 | --- 4 | 5 | usePrivateQuery now disables masking when an error occurs. 6 | -------------------------------------------------------------------------------- /.changeset/lemon-sloths-approve.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart-coupon': patch 3 | --- 4 | 5 | Forward props to CouponAccordion 6 | -------------------------------------------------------------------------------- /.changeset/lemon-starfishes-sit.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-payment-tokens': patch 3 | --- 4 | 5 | Created a Payment tokens package to be able to manage stored cards from the account section. 6 | -------------------------------------------------------------------------------- /.changeset/loud-jeans-trade.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-store': patch 3 | --- 4 | 5 | Allow setting alternate store switcher URL 6 | -------------------------------------------------------------------------------- /.changeset/lovely-clocks-trade.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/googleanalytics': patch 3 | --- 4 | 5 | Solve issue where the loaded GA4 script would not include the correct GA ID 6 | -------------------------------------------------------------------------------- /.changeset/lovely-pigs-argue.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': patch 3 | --- 4 | 5 | Use OrderStateLabel in my account instead of OrderStateLabelInline and deprecate that one. 6 | -------------------------------------------------------------------------------- /.changeset/metal-meals-wave.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Solve issue where used configurations might not be scoped to the correct store. Move caching to the mesh cache and scope per store. 6 | -------------------------------------------------------------------------------- /.changeset/mighty-pets-hear.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-newsletter': patch 3 | --- 4 | 5 | Use CustomerNewsletterToggle whenever possible 6 | -------------------------------------------------------------------------------- /.changeset/mighty-squids-hug.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Added ripple to BlogTags 6 | -------------------------------------------------------------------------------- /.changeset/mighty-swans-return.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-insights': patch 3 | --- 4 | 5 | Solve issue where the useSendEventAlgolia hook would sometimes throw an error during purchase 6 | -------------------------------------------------------------------------------- /.changeset/modern-bottles-fold.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | '@graphcommerce/magento-search': patch 4 | --- 5 | 6 | Solve issue where seaches containing a `/` would not consider everything after the `/` as part of the search. 7 | -------------------------------------------------------------------------------- /.changeset/nice-starfishes-melt.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart-items': patch 3 | --- 4 | 5 | Solve issue where the CartItem href wouldn't be correct 6 | -------------------------------------------------------------------------------- /.changeset/nice-taxis-reply.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/ecommerce-ui': patch 3 | --- 4 | 5 | FormElements now are now disabled when the whole form is disabled. 6 | -------------------------------------------------------------------------------- /.changeset/orange-gifts-call.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-newsletter': patch 3 | --- 4 | 5 | Prevent executing additional query when user is signing out 6 | -------------------------------------------------------------------------------- /.changeset/pink-clocks-jam.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Support for new_from_date and new_to_date labels 6 | -------------------------------------------------------------------------------- /.changeset/plenty-moons-fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Refactored the price calculation of customizable options on the product page so required options are correctly handled. 6 | -------------------------------------------------------------------------------- /.changeset/polite-maps-count.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-search': patch 3 | --- 4 | 5 | Allow setting alternate search input placeholder 6 | -------------------------------------------------------------------------------- /.changeset/polite-snakes-live.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@graphcommerce/magento-cart-coupon": patch 3 | --- 4 | 5 | Align coupon accordion with other accordion types that can still expand with chips rendered 6 | -------------------------------------------------------------------------------- /.changeset/poor-ghosts-rescue.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Solve issue where algolia would return a full product URL instead of only the pathname of the given URL from Magento 6 | -------------------------------------------------------------------------------- /.changeset/popular-suns-exercise.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': minor 3 | --- 4 | 5 | Added support for viewing Invoices/Shipments and Credit Memo's 6 | -------------------------------------------------------------------------------- /.changeset/proud-horses-add.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Use a more sensible theme var for LayoutHeaderContent gap 6 | -------------------------------------------------------------------------------- /.changeset/quiet-bees-exist.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/ecommerce-ui': patch 3 | --- 4 | 5 | Refactor the FormComponents for better TypeScript checking performance. 6 | -------------------------------------------------------------------------------- /.changeset/quiet-trains-grab.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Fixed gallery zoom breaking on long sidebar content 6 | -------------------------------------------------------------------------------- /.changeset/rare-horses-cheer.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart': patch 3 | --- 4 | 5 | Solve issue where the total of the cart was zero due to discount or store credit the user couldn't proceed to the checkout. We now check for items and errors instead of the total. 6 | -------------------------------------------------------------------------------- /.changeset/red-bulldogs-call.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Solve issue where the generated bucket for price aggregations didn’t contain the correct values. 6 | -------------------------------------------------------------------------------- /.changeset/rich-weeks-try.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': patch 3 | --- 4 | 5 | OrderTotals/OrderDetails now only renders addres information if available 6 | -------------------------------------------------------------------------------- /.changeset/rotten-insects-warn.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Added search params to NextLink whenever present 6 | -------------------------------------------------------------------------------- /.changeset/serious-cooks-smell.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-payment-tokens': patch 3 | --- 4 | 5 | Create initial release 6 | -------------------------------------------------------------------------------- /.changeset/serious-glasses-call.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/hygraph-cli': patch 3 | --- 4 | 5 | Migrated `@graphcommerce/hygraph-cli` package to `"type": "module"` 6 | -------------------------------------------------------------------------------- /.changeset/seven-avocados-argue.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-bundle': patch 3 | --- 4 | 5 | Calculate the product page price dynamically based on the options and quantities selected. 6 | -------------------------------------------------------------------------------- /.changeset/shaggy-fans-live.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Translate relevance sort option when a non translated value is communicated from algolia. 6 | -------------------------------------------------------------------------------- /.changeset/shaggy-ligers-obey.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/misc': patch 3 | --- 4 | 5 | Added missing WebWorker tsconfig for magento-open-source example 6 | -------------------------------------------------------------------------------- /.changeset/silly-tigers-scream.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-category': patch 3 | --- 4 | 5 | Move the category fragment to the category prop 6 | -------------------------------------------------------------------------------- /.changeset/silver-ears-heal.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-wishlist': patch 3 | '@graphcommerce/magento-cart': patch 4 | --- 5 | 6 | Solve typescript issue were product types were added incorrectly. 7 | -------------------------------------------------------------------------------- /.changeset/six-cheetahs-repeat.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/eslint-config-pwa': patch 3 | --- 4 | 5 | Components must have Theme parameter to avoid significant compiler slowdown. 6 | -------------------------------------------------------------------------------- /.changeset/sixty-planes-grow.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/ecommerce-ui': patch 3 | --- 4 | 5 | Always log the networkError during development to the console. 6 | -------------------------------------------------------------------------------- /.changeset/slow-ghosts-listen.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-config': patch 3 | --- 4 | 5 | Remove the 'ignored' string when loading the graphcommerce config env variable loading, as that isn't always correct 6 | -------------------------------------------------------------------------------- /.changeset/small-kangaroos-scream.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Solve issue where some values wouldn’t be correctly flattened. 6 | -------------------------------------------------------------------------------- /.changeset/soft-clocks-fail.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-configurable': patch 3 | --- 4 | 5 | Do not directly update the cache of the defaultConfigurableOptionsSelection, but query the backend. 6 | -------------------------------------------------------------------------------- /.changeset/soft-cycles-ring.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart': patch 3 | --- 4 | 5 | Removed deprecated fields from AddProductsToCartForm 6 | -------------------------------------------------------------------------------- /.changeset/spicy-mangos-draw.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart': patch 3 | --- 4 | 5 | When ordering a virtual product the checkout would still reference a Track & Trace 6 | -------------------------------------------------------------------------------- /.changeset/spicy-shrimps-battle.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-config': patch 3 | --- 4 | 5 | Remove rewriteLegacyEnv as that hasn't been used for years 6 | -------------------------------------------------------------------------------- /.changeset/stale-donuts-grab.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-configurable': patch 3 | --- 4 | 5 | Move the cartItemEdit functionality to a plugin for configurable products 6 | -------------------------------------------------------------------------------- /.changeset/sweet-lemons-visit.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart-coupon': patch 3 | --- 4 | 5 | Split out various Cart related fragments to allow for easier extensibility: AppliedCoupon, CartPrices, CartTaxItem, Discount 6 | -------------------------------------------------------------------------------- /.changeset/ten-flies-pay.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart-items': patch 3 | --- 4 | 5 | Exported cartItemToCartItemInput so it can be extended with plugins 6 | -------------------------------------------------------------------------------- /.changeset/ten-mugs-invite.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/ecommerce-ui': patch 3 | --- 4 | 5 | Solve issue where an individual item in the ActionCardListForm couldn't be disabed. Resulting in configurable options on the product page to be selectable while they shouldn't be. 6 | -------------------------------------------------------------------------------- /.changeset/tender-emus-smash.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-store': patch 3 | '@graphcommerce/next-ui': patch 4 | --- 5 | 6 | Added a CurrencySymbol component that renders the current currency symbol 7 | -------------------------------------------------------------------------------- /.changeset/tender-guests-refuse.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': patch 3 | --- 4 | 5 | When a user reorders their cart without interacting with their cart previously a new cart wouldn't be created. 6 | -------------------------------------------------------------------------------- /.changeset/tender-waves-hear.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': patch 3 | '@graphcommerce/magento-product-bundle': patch 4 | '@graphcommerce/magento-product-downloadable': patch 5 | --- 6 | 7 | Order/Invoice/CreditMemo and Shipment views 8 | -------------------------------------------------------------------------------- /.changeset/thick-parents-joke.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Solve issue where the ProductListItemsBase was already wrapped in a form. 6 | -------------------------------------------------------------------------------- /.changeset/thirty-lamps-fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-grouped': patch 3 | '@graphcommerce/magento-product': patch 4 | --- 5 | 6 | Solve issue where grouped products could only be added to the cart correctly once. 7 | -------------------------------------------------------------------------------- /.changeset/tidy-bobcats-obey.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Fixed back button width in overlays with long titles 6 | -------------------------------------------------------------------------------- /.changeset/tiny-cups-turn.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product-downloadable': patch 3 | --- 4 | 5 | Support for links_purchased_separately and links_title 6 | -------------------------------------------------------------------------------- /.changeset/tiny-tools-lie.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Fix regression issue where the sidebar filter values would be rendered too big and padding was missing on the top when values would be renderd in a bottom sheet. 6 | -------------------------------------------------------------------------------- /.changeset/tricky-turtles-reply.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cms': patch 3 | --- 4 | 5 | Render the no-route page (or whatever is configured) on the 404 page when running with only Magento. 6 | -------------------------------------------------------------------------------- /.changeset/twelve-zoos-visit.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-recommend': patch 3 | --- 4 | 5 | Solve issue where trendingProducts or trendingFacetValues couldn’t be resolved becasue root would be null 6 | -------------------------------------------------------------------------------- /.changeset/twenty-meals-rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart': patch 3 | --- 4 | 5 | When the cart totals are updated via a mutation, make sure to also fetch the id when the query is used so that automatically updates. 6 | -------------------------------------------------------------------------------- /.changeset/two-schools-kneel.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-open-source': patch 3 | '@graphcommerce/magento-graphcms': patch 4 | '@graphcommerce/misc': patch 5 | --- 6 | 7 | Support for Magento logo and Magento copyright notice in footer 8 | -------------------------------------------------------------------------------- /.changeset/two-tables-carry.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-search': patch 3 | --- 4 | 5 | Solve issue where the cursor would jump after the first result of the search page came in. 6 | -------------------------------------------------------------------------------- /.changeset/violet-geckos-kiss.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart': patch 3 | --- 4 | 5 | CartTotals now accepts a readOnly prop to handle plugins showing information based on that prop 6 | -------------------------------------------------------------------------------- /.changeset/warm-stingrays-yawn.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Make sure the short_description and description can be properly returned when retrieved via an Algolia query 6 | -------------------------------------------------------------------------------- /.changeset/weak-timers-peel.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Update various props from ReactElement to ReactNode to allow string values 6 | -------------------------------------------------------------------------------- /.changeset/wet-seas-argue.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-ui': patch 3 | --- 4 | 5 | Solve issue where ActionCard would crash the whole app because it forwarded components to string attributes 6 | -------------------------------------------------------------------------------- /.changeset/wicked-carpets-tie.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-open-source': patch 3 | '@graphcommerce/misc': patch 4 | --- 5 | 6 | Solve issue where plurals weren't properly defined 7 | -------------------------------------------------------------------------------- /.changeset/wicked-oranges-fly.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/cli': minor 3 | --- 4 | 5 | Make hygraph-cli dependency for the cli package optional, so that resolveDependenciesSync accepts it not being installed. 6 | -------------------------------------------------------------------------------- /.changeset/wicked-planets-call.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/hygraph-dynamic-rows': patch 3 | '@graphcommerce/react-hook-form': patch 4 | '@graphcommerce/graphql': patch 5 | --- 6 | 7 | Upgraded to @apollo/client 3.12.3 without impacting typescript compilation performance. 8 | -------------------------------------------------------------------------------- /.changeset/wicked-stingrays-buy.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/next-config': patch 3 | --- 4 | 5 | Migrated `@graphcommerce/next-config` package to `"type": "module"` 6 | -------------------------------------------------------------------------------- /.changeset/wild-games-search.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/misc': patch 3 | --- 4 | 5 | Make sure the maxWidth of the newsletter subscribe box is sm instead of ms, making it too wide. 6 | -------------------------------------------------------------------------------- /.changeset/wild-goats-run.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-product': patch 3 | --- 4 | 5 | Renamed customizable_options_entered to entered_options_record and customizable_options to selected_options_record 6 | -------------------------------------------------------------------------------- /.changeset/witty-pans-itch.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-cart': patch 3 | --- 4 | 5 | Solve issue where available_payment_methods would give an apollo client error that it couldn’t be properly merged 6 | -------------------------------------------------------------------------------- /.changeset/witty-papayas-care.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/algolia-products': patch 3 | --- 4 | 5 | Correctly detect numeric values from the backend. 6 | -------------------------------------------------------------------------------- /.changeset/young-olives-crash.md: -------------------------------------------------------------------------------- 1 | --- 2 | '@graphcommerce/magento-customer': patch 3 | --- 4 | 5 | `` now accepts all props of the FullPageMessage 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Ask a question 4 | url: https://github.com/graphcommerce-org/graphcommerce/discussions 5 | about: Ask questions and discuss with other community members 6 | -------------------------------------------------------------------------------- /.github/README.md: -------------------------------------------------------------------------------- 1 | ../examples/magento-graphcms/README.md -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | enableImmutableInstalls: false 2 | 3 | nodeLinker: node-modules 4 | 5 | yarnPath: .yarn/releases/yarn-4.5.3.cjs 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | examples/magento-graphcms/README.md -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /examples/magento-graphcms/.yarnrc.yml: -------------------------------------------------------------------------------- 1 | enableImmutableInstalls: false 2 | 3 | nodeLinker: node-modules 4 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Blog/BlogAuthor.graphql: -------------------------------------------------------------------------------- 1 | fragment BlogAuthor on Page { 2 | date 3 | author 4 | } 5 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Blog/BlogItem.graphql: -------------------------------------------------------------------------------- 1 | fragment BlogItem on Page { 2 | title 3 | url 4 | date 5 | asset { 6 | ...Asset 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Blog/BlogPaths.graphql: -------------------------------------------------------------------------------- 1 | query BlogPaths { 2 | pagesConnection(where: { url_not_starts_with: "blog/tagged/", url_starts_with: "blog/" }) { 3 | aggregate { 4 | count 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Blog/BlogPostPaths.graphql: -------------------------------------------------------------------------------- 1 | query BlogPostPaths { 2 | pages(where: { url_not_starts_with: "blog/tagged/", url_starts_with: "blog/" }) { 3 | url 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Blog/BlogPostTaggedPaths.graphql: -------------------------------------------------------------------------------- 1 | query BlogPostTaggedPaths { 2 | pages(where: { url_starts_with: "blog/tagged/" }) { 3 | url 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Blog/BlogTags.graphql: -------------------------------------------------------------------------------- 1 | fragment BlogTags on Page { 2 | relatedPages { 3 | title 4 | url 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Blog/RowBlogContent.graphql: -------------------------------------------------------------------------------- 1 | fragment RowBlogContent on RowBlogContent { 2 | content { 3 | raw 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/Asset/AssetWithAlt.graphql: -------------------------------------------------------------------------------- 1 | # Custom field added to the Asset field added to Hygraph and rendered as the alt tag of the image. 2 | fragment AssetWithAlt on Asset @inject(into: ["Asset"]) { 3 | alt 4 | } 5 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowButtonLinkList/RowButtonLinkList.graphql: -------------------------------------------------------------------------------- 1 | fragment RowButtonLinkList on RowButtonLinkList { 2 | title 3 | links { 4 | title 5 | url 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowColumnOne/RowColumnOne.graphql: -------------------------------------------------------------------------------- 1 | fragment RowColumnOne on RowColumnOne { 2 | id 3 | rowColumnOneVariant 4 | colOne { 5 | raw 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowColumnOne/variant/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './Default' 2 | export * from './Message' 3 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowColumnThree/RowColumnThree.graphql: -------------------------------------------------------------------------------- 1 | fragment RowColumnThree on RowColumnThree { 2 | colOne { 3 | raw 4 | } 5 | colTwo { 6 | raw 7 | } 8 | colThree { 9 | raw 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowColumnTwo/RowColumnTwo.graphql: -------------------------------------------------------------------------------- 1 | fragment RowColumnTwo on RowColumnTwo { 2 | colOne { 3 | raw 4 | } 5 | colTwo { 6 | raw 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowContentLinks/RowContentLinks.graphql: -------------------------------------------------------------------------------- 1 | fragment RowContentLinks on RowContentLinks { 2 | title 3 | contentLinks { 4 | id 5 | ...PageLink 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowHeroBanner/RowHeroBanner.graphql: -------------------------------------------------------------------------------- 1 | fragment RowHeroBanner on RowHeroBanner { 2 | heroAsset: asset { 3 | ...Asset 4 | } 5 | copy { 6 | raw 7 | } 8 | pageLinks { 9 | ...PageLink 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowLinks/RowLinks.graphql: -------------------------------------------------------------------------------- 1 | fragment RowLinks on RowLinks { 2 | title 3 | rowLinksCopy { 4 | raw 5 | } 6 | linksVariant 7 | pageLinks { 8 | id 9 | ...PageLink 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowLinks/variant/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './LogoSwiper' 2 | export * from './ImageLabelSwiper' 3 | export * from './Inline' 4 | export * from './Usps' 5 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowProduct/variant/ProductFeatureMedia.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductFeatureMedia on ProductInterface { 2 | media_gallery { 3 | label 4 | __typename 5 | ... on ProductImage { 6 | url 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowQuote/RowQuote.graphql: -------------------------------------------------------------------------------- 1 | fragment RowQuote on RowQuote { 2 | quote { 3 | raw 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/RowServiceOptions/RowServiceOptions.graphql: -------------------------------------------------------------------------------- 1 | fragment RowServiceOptions on RowServiceOptions { 2 | title 3 | serviceOptions { 4 | ...PageLink 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/GraphCMS/index.ts: -------------------------------------------------------------------------------- 1 | export * from './RowProduct/RowProduct' 2 | 3 | // The actual renderer 4 | export * from './RowRenderer' 5 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Layout/Layout.graphql: -------------------------------------------------------------------------------- 1 | query Layout { 2 | menu: categories { 3 | __typename 4 | } 5 | ...MenuQueryFragment 6 | ...FooterQueryFragment 7 | } 8 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/Layout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './LayoutNavigation' 2 | export * from './LayoutMinimal' 3 | export * from './LayoutOverlay' 4 | export * from './Layout.gql' 5 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/ProductListItems/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductListItems' 2 | export * from './productListRenderer' 3 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/ProductListLayout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types' 2 | export * from './ProductListLayoutClassic' 3 | export * from './ProductListLayoutDefault' 4 | export * from './ProductListLayoutSidebar' 5 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/ProductView/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AddProductsToCartView' 2 | -------------------------------------------------------------------------------- /examples/magento-graphcms/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Blog' 2 | export * from './GraphCMS' 3 | export * from './Layout' 4 | export * from './ProductListItems' 5 | export * from './ProductListLayout' 6 | export * from './ProductView' 7 | export * from './Usps/Usps' 8 | -------------------------------------------------------------------------------- /examples/magento-graphcms/graphql/CategoryPage.graphql: -------------------------------------------------------------------------------- 1 | query CategoryPage($url: String!) { 2 | ...CategoryQueryFragment 3 | } 4 | -------------------------------------------------------------------------------- /examples/magento-graphcms/pages/api/graphql.ts: -------------------------------------------------------------------------------- 1 | import { createServer } from '@graphcommerce/graphql-mesh' 2 | 3 | export default await createServer('/api/graphql') 4 | 5 | export const config = { api: { externalResolver: true } } 6 | -------------------------------------------------------------------------------- /examples/magento-graphcms/pages/api/preview.ts: -------------------------------------------------------------------------------- 1 | import handler from '@graphcommerce/ecommerce-ui/route/preview' 2 | 3 | export default handler 4 | -------------------------------------------------------------------------------- /examples/magento-graphcms/pages/blog/index.tsx: -------------------------------------------------------------------------------- 1 | import BlogPage, { getStaticProps } from './page/[page]' 2 | 3 | export default BlogPage 4 | 5 | export { getStaticProps } 6 | -------------------------------------------------------------------------------- /examples/magento-graphcms/patches/README.md: -------------------------------------------------------------------------------- 1 | # Patches 2 | 3 | https://www.npmjs.com/package/patch-package#usage 4 | -------------------------------------------------------------------------------- /examples/magento-graphcms/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-graphcms/public/apple-touch-icon.png -------------------------------------------------------------------------------- /examples/magento-graphcms/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-graphcms/public/favicon.ico -------------------------------------------------------------------------------- /examples/magento-graphcms/public/manifest/favicon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-graphcms/public/manifest/favicon-192.png -------------------------------------------------------------------------------- /examples/magento-graphcms/public/manifest/favicon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-graphcms/public/manifest/favicon-512.png -------------------------------------------------------------------------------- /examples/magento-graphcms/public/open-graph-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-graphcms/public/open-graph-image.jpg -------------------------------------------------------------------------------- /examples/magento-open-source/.yarnrc.yml: -------------------------------------------------------------------------------- 1 | enableImmutableInstalls: false 2 | 3 | nodeLinker: node-modules 4 | -------------------------------------------------------------------------------- /examples/magento-open-source/components/Layout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './LayoutNavigation' 2 | export * from './LayoutMinimal' 3 | export * from './LayoutOverlay' 4 | export * from './Layout.gql' 5 | -------------------------------------------------------------------------------- /examples/magento-open-source/components/ProductListItems/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductListItems' 2 | export * from './productListRenderer' 3 | -------------------------------------------------------------------------------- /examples/magento-open-source/components/ProductListLayout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types' 2 | export * from './ProductListLayoutClassic' 3 | export * from './ProductListLayoutDefault' 4 | export * from './ProductListLayoutSidebar' 5 | -------------------------------------------------------------------------------- /examples/magento-open-source/components/ProductView/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AddProductsToCartView' 2 | -------------------------------------------------------------------------------- /examples/magento-open-source/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Layout' 2 | export * from './ProductListItems' 3 | export * from './ProductListLayout' 4 | export * from './ProductView' 5 | -------------------------------------------------------------------------------- /examples/magento-open-source/graphql/CategoryPage.graphql: -------------------------------------------------------------------------------- 1 | query CategoryPage($url: String!) { 2 | ...CategoryQueryFragment 3 | } 4 | -------------------------------------------------------------------------------- /examples/magento-open-source/pages/api/graphql.ts: -------------------------------------------------------------------------------- 1 | import { createServer } from '@graphcommerce/graphql-mesh' 2 | 3 | export default await createServer('/api/graphql') 4 | 5 | export const config = { api: { externalResolver: true } } 6 | -------------------------------------------------------------------------------- /examples/magento-open-source/pages/api/preview.ts: -------------------------------------------------------------------------------- 1 | import handler from '@graphcommerce/ecommerce-ui/route/preview' 2 | 3 | export default handler 4 | -------------------------------------------------------------------------------- /examples/magento-open-source/patches/README.md: -------------------------------------------------------------------------------- 1 | # Patches 2 | 3 | https://www.npmjs.com/package/patch-package#usage 4 | -------------------------------------------------------------------------------- /examples/magento-open-source/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-open-source/public/apple-touch-icon.png -------------------------------------------------------------------------------- /examples/magento-open-source/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-open-source/public/favicon.ico -------------------------------------------------------------------------------- /examples/magento-open-source/public/manifest/favicon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-open-source/public/manifest/favicon-192.png -------------------------------------------------------------------------------- /examples/magento-open-source/public/manifest/favicon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-open-source/public/manifest/favicon-512.png -------------------------------------------------------------------------------- /examples/magento-open-source/public/open-graph-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/examples/magento-open-source/public/open-graph-image.jpg -------------------------------------------------------------------------------- /packages/address-fields-nl/graphql/PostcodeNL.graphql: -------------------------------------------------------------------------------- 1 | query PostCodeNL($postcode: String!, $housenumber: String!) { 2 | postcodeNL(postcode: $postcode, housenumber: $housenumber) { 3 | street 4 | city 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/address-fields-nl/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/PostcodeNLAutoFill' 2 | -------------------------------------------------------------------------------- /packages/address-fields-nl/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/address-fields-nl/schema/PostcodeNL.graphqls: -------------------------------------------------------------------------------- 1 | type PostcodeNLResult { 2 | street: String! 3 | city: String! 4 | } 5 | 6 | extend type Query { 7 | postcodeNL(postcode: String!, housenumber: String!): PostcodeNLResult 8 | } 9 | -------------------------------------------------------------------------------- /packages/address-fields-nl/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/algolia-categories/README.md: -------------------------------------------------------------------------------- 1 | # Algolia Magento 2 2 | 3 | [See algolia docs](../../docs/magento/algolia.md) 4 | -------------------------------------------------------------------------------- /packages/algolia-categories/graphql/fragments/AlgoliaCategorySearch.graphql: -------------------------------------------------------------------------------- 1 | fragment AlgoliaCategorySearch on CategoryResult @inject(into: ["CategorySearchFragment"]) { 2 | algolia_queryID 3 | algolia_indexName 4 | } 5 | -------------------------------------------------------------------------------- /packages/algolia-categories/schema/AlgoliaCategorySchema.graphqls: -------------------------------------------------------------------------------- 1 | type CategoryResult { 2 | algolia_queryID: String 3 | algolia_indexName: String 4 | } 5 | -------------------------------------------------------------------------------- /packages/algolia-insights/README.md: -------------------------------------------------------------------------------- 1 | # Algolia Insights 2 | 3 | [See algolia docs](../../docs/magento/algolia.md) 4 | -------------------------------------------------------------------------------- /packages/algolia-insights/graphql/AlgoliaSendEvent.graphql: -------------------------------------------------------------------------------- 1 | mutation AlgoliaSendEvent($events: [AlgoliaEventsItems_Input]!) { 2 | algolia_pushEvents(input: { events: $events }) { 3 | message 4 | status 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/algolia-insights/index.ts: -------------------------------------------------------------------------------- 1 | export * from './hooks/useSendAlgoliaEvent' 2 | export * from './graphql/AlgoliaSendEvent.gql' 3 | -------------------------------------------------------------------------------- /packages/algolia-insights/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/algolia-personalization/README.md: -------------------------------------------------------------------------------- 1 | # Algolia Magento 2 2 | 3 | [See algolia docs](../../docs/magento/algolia.md) 4 | -------------------------------------------------------------------------------- /packages/algolia-personalization/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mesh/getUserToken' 2 | -------------------------------------------------------------------------------- /packages/algolia-personalization/schema/InContext_algoliaUserToken.graphqls: -------------------------------------------------------------------------------- 1 | input PrivateContext { 2 | algoliaUserToken: String 3 | } 4 | -------------------------------------------------------------------------------- /packages/algolia-personalization/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/algolia-products/README.md: -------------------------------------------------------------------------------- 1 | # Algolia Magento 2 2 | 3 | [See algolia docs](../../docs/magento/algolia.md) 4 | -------------------------------------------------------------------------------- /packages/algolia-products/graphql/CustomerGroupId.graphql: -------------------------------------------------------------------------------- 1 | fragment CustomerGroupId on Customer @inject(into: ["CustomerInfo"]) { 2 | group_id 3 | } 4 | -------------------------------------------------------------------------------- /packages/algolia-products/graphql/ProductListItems_Algolia.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListItems_Algolia on Products @inject(into: ["ProductListItems"]) { 2 | algolia_queryID 3 | } 4 | -------------------------------------------------------------------------------- /packages/algolia-products/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mesh' 2 | export * from './hooks/useAlgoliaIndexName' 3 | export * from './hooks/useAlgoliaQueryContext' 4 | -------------------------------------------------------------------------------- /packages/algolia-products/mesh/utils.ts: -------------------------------------------------------------------------------- 1 | export function nonNullable(value: T): value is NonNullable { 2 | return value !== null && value !== undefined 3 | } 4 | -------------------------------------------------------------------------------- /packages/algolia-products/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/algolia-products/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/algolia-recommend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/algolia-search/index.ts: -------------------------------------------------------------------------------- 1 | export * from './api/add-hygraph-record' 2 | export * from './api/remove-hygraph-record' 3 | -------------------------------------------------------------------------------- /packages/algolia-search/lib/configuration.ts: -------------------------------------------------------------------------------- 1 | export const applicationId = import.meta.graphCommerce.algoliaApplicationId ?? '' 2 | export const searchOnlyApiKey = import.meta.graphCommerce.algoliaSearchOnlyApiKey ?? '' 3 | -------------------------------------------------------------------------------- /packages/algolia-search/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/algolia-search/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/cli/.gitignore: -------------------------------------------------------------------------------- 1 | !dist 2 | -------------------------------------------------------------------------------- /packages/cli/README.md: -------------------------------------------------------------------------------- 1 | # GraphCommerce CLI 2 | 3 | Commands: 4 | 5 | ``` 6 | # https://www.graphql-mesh.com/docs/getting-started/deploy-mesh-gateway 7 | yarn mesh build 8 | ``` 9 | -------------------------------------------------------------------------------- /packages/cli/dist/index.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/cli/src/index.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/demo-magento-graphcommerce/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/demo-magento-graphcommerce/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "example", "dist", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/ecommerce-ui/README.md: -------------------------------------------------------------------------------- 1 | # ecommerce-ui 2 | 3 | Package to connect generic components from `@graphcommerce/next-ui` to 4 | `@graphcommerce/react-hook-form` and `@graphcommerce/graphql` 5 | -------------------------------------------------------------------------------- /packages/ecommerce-ui/components/ApolloError/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ApolloErrorAlert' 2 | export * from './ApolloErrorFullPage' 3 | export * from './ApolloErrorSnackbar' 4 | -------------------------------------------------------------------------------- /packages/ecommerce-ui/components/ComposedSubmitButton/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ComposedSubmitLinkOrButton' 2 | export * from './ComposedSubmitButton' 3 | -------------------------------------------------------------------------------- /packages/ecommerce-ui/components/PreviewMode/index.ts: -------------------------------------------------------------------------------- 1 | export * from './PreviewMode' 2 | export * from './PreviewModeActions' 3 | export * from './PreviewModeToolbar' 4 | export * from './usePreviewModeForm' 5 | export * from './previewModeDefaults' 6 | -------------------------------------------------------------------------------- /packages/ecommerce-ui/components/PreviewMode/previewModeDefaults.ts: -------------------------------------------------------------------------------- 1 | import type { PreviewData } from '@graphcommerce/graphql' 2 | 3 | export function previewModeDefaults(): PreviewData { 4 | return {} as PreviewData 5 | } 6 | -------------------------------------------------------------------------------- /packages/ecommerce-ui/components/WaitForQueries/index.ts: -------------------------------------------------------------------------------- 1 | export * from './WaitForQueries' 2 | -------------------------------------------------------------------------------- /packages/ecommerce-ui/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ComposedSubmitButton' 2 | export * from './ApolloError' 3 | export * from './WaitForQueries' 4 | export * from './FormComponents' 5 | export * from './PreviewMode' 6 | -------------------------------------------------------------------------------- /packages/ecommerce-ui/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | export * from '@graphcommerce/react-hook-form' 3 | -------------------------------------------------------------------------------- /packages/framer-next-pages/.npmignore: -------------------------------------------------------------------------------- 1 | example 2 | -------------------------------------------------------------------------------- /packages/framer-next-pages/example/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["next/babel"], 3 | "plugins": ["macros"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/framer-next-pages/example/components/PageDepthDebug.tsx: -------------------------------------------------------------------------------- 1 | import { usePageContext } from '@graphcommerce/framer-next-pages' 2 | 3 | export function PageDepthDebug() { 4 | const { depth } = usePageContext() 5 | return <>{depth} 6 | } 7 | -------------------------------------------------------------------------------- /packages/framer-next-pages/example/components/lazyMotion.ts: -------------------------------------------------------------------------------- 1 | import { domAnimation } from 'framer-motion' 2 | 3 | export default domAnimation 4 | -------------------------------------------------------------------------------- /packages/framer-next-pages/example/demo.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'SF Pro Text', 'SF Pro Icons', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; 3 | padding: 0; 4 | margin: 0; 5 | } 6 | -------------------------------------------------------------------------------- /packages/framer-next-pages/example/next.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/no-var-requires */ 2 | 3 | const withGraphCommerce = require('@graphcommerce/next-config').withYarn1Scopes() 4 | 5 | module.exports = withGraphCommerce({}) 6 | -------------------------------------------------------------------------------- /packages/framer-next-pages/hooks/useUp.ts: -------------------------------------------------------------------------------- 1 | import { useContext } from 'react' 2 | import { pageRouterContext } from '../context/pageRouterContext' 3 | 4 | /** Get the upUrl of the previous page */ 5 | export function useUp() { 6 | return useContext(pageRouterContext)?.up 7 | } 8 | -------------------------------------------------------------------------------- /packages/framer-next-pages/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "example", "dist", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/framer-scroller/.npmignore: -------------------------------------------------------------------------------- 1 | example 2 | -------------------------------------------------------------------------------- /packages/framer-scroller/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "example", "dist", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/framer-utils/README.md: -------------------------------------------------------------------------------- 1 | # Framer Utils 2 | 3 | See [index.ts](index.ts) for exported members 4 | -------------------------------------------------------------------------------- /packages/framer-utils/hooks/useConstant.ts: -------------------------------------------------------------------------------- 1 | import { useRef } from 'react' 2 | 3 | export function useConstant(init: () => T) { 4 | const ref = useRef(null) 5 | if (ref.current === null) ref.current = init() 6 | return ref.current 7 | } 8 | -------------------------------------------------------------------------------- /packages/framer-utils/hooks/useIsomorphicLayoutEffect.ts: -------------------------------------------------------------------------------- 1 | import { useEffect, useLayoutEffect } from 'react' 2 | 3 | export const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect 4 | -------------------------------------------------------------------------------- /packages/framer-utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "example", "dist", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/google-datalayer/README.md: -------------------------------------------------------------------------------- 1 | # @graphcommerce/google-datalayer 2 | 3 | Implemenation of the datalayer in GraphCommerce. 4 | 5 | See [./Config.graphqls](./Config.graphqls) for additional configuration. 6 | -------------------------------------------------------------------------------- /packages/google-datalayer/index.ts: -------------------------------------------------------------------------------- 1 | export * from './api/sendEvent' 2 | export * from './hooks/useSendEvent' 3 | export * from './api/googleEventNames' 4 | -------------------------------------------------------------------------------- /packages/google-datalayer/mapping/cartItemToRemoveFromCart/CartItem_RemoveFromCart.graphql: -------------------------------------------------------------------------------- 1 | fragment CartItem_RemoveFromCart on CartItemInterface @inject(into: ["CartItem"]) { 2 | ...CartItem_DatalayerItem 3 | } 4 | -------------------------------------------------------------------------------- /packages/google-datalayer/mapping/cartToBeginCheckout/Cart_BeginCheckout.graphql: -------------------------------------------------------------------------------- 1 | fragment Cart_BeginCheckout on Cart @inject(into: ["CartStartCheckout"]) { 2 | ...Cart_ViewCart 3 | applied_coupons { 4 | code 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/google-datalayer/mapping/productToViewItem/Product_ViewItem.graphql: -------------------------------------------------------------------------------- 1 | fragment Product_ViewItem on ProductInterface { 2 | ...Product_DatalayerItem 3 | } 4 | -------------------------------------------------------------------------------- /packages/google-datalayer/plugins/GoogleDatalayerUseSignInForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/packages/google-datalayer/plugins/GoogleDatalayerUseSignInForm.tsx -------------------------------------------------------------------------------- /packages/google-datalayer/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/google-playstore/copy/pages/.well-known/assetlinks.json.tsx: -------------------------------------------------------------------------------- 1 | export default function Page() {} 2 | export { getAssetLinksServerSideProps as getServerSideProps } from '@graphcommerce/google-playstore' 3 | -------------------------------------------------------------------------------- /packages/google-playstore/index.ts: -------------------------------------------------------------------------------- 1 | export { getAssetLinksServerSideProps } from './lib/getAssetLinksServerSideProps' 2 | -------------------------------------------------------------------------------- /packages/google-playstore/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/google-playstore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/googleanalytics/index.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/googlerecaptcha/graphql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './query/RecaptchaV3Config.gql' 2 | -------------------------------------------------------------------------------- /packages/googlerecaptcha/graphql/query/RecaptchaV3Config.graphql: -------------------------------------------------------------------------------- 1 | query RecaptchaV3Config { 2 | recaptchaV3Config { 3 | website_key 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/googlerecaptcha/index.ts: -------------------------------------------------------------------------------- 1 | export * from './link/recaptchaLink' 2 | export * from './hooks/useGoogleRecaptcha' 3 | -------------------------------------------------------------------------------- /packages/googlerecaptcha/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/googletagmanager/index.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/googletagmanager/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/graphcms-ui/index.ts: -------------------------------------------------------------------------------- 1 | export * from '@graphcommerce/hygraph-ui' 2 | -------------------------------------------------------------------------------- /packages/graphcms-ui/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/graphcms-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/graphql-mesh/.gitignore: -------------------------------------------------------------------------------- 1 | .mesh.ts 2 | .meshrc.yml -------------------------------------------------------------------------------- /packages/graphql-mesh/README.md: -------------------------------------------------------------------------------- 1 | # GraphCommerce GraphQL Mesh 2 | -------------------------------------------------------------------------------- /packages/graphql-mesh/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/graphql/.gitignore: -------------------------------------------------------------------------------- 1 | generated -------------------------------------------------------------------------------- /packages/graphql/README.md: -------------------------------------------------------------------------------- 1 | # GraphQL generation package, used by other packages. 2 | -------------------------------------------------------------------------------- /packages/graphql/components/GraphQLProvider/index.ts: -------------------------------------------------------------------------------- 1 | export * from './createCacheReviver' 2 | export * from './errorLink' 3 | export * from './GraphQLProvider' 4 | export * from './measurePerformanceLink' 5 | export * from './migrateCache' 6 | export * from './typePolicies' 7 | -------------------------------------------------------------------------------- /packages/graphql/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/hygraph-cli/.gitignore: -------------------------------------------------------------------------------- 1 | !dist 2 | -------------------------------------------------------------------------------- /packages/hygraph-cli/README.md: -------------------------------------------------------------------------------- 1 | # GraphCommerce Hygraph CLI 2 | 3 | Commands: 4 | 5 | ``` 6 | yarn graphcommerce hygraph-migrate 7 | ``` 8 | -------------------------------------------------------------------------------- /packages/hygraph-cli/src/index.ts: -------------------------------------------------------------------------------- 1 | export { migrateHygraphCli as migrateHygraph } from './migrateHygraphCli' 2 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows-ui/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './PropertyPicker' 2 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows-ui/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/Setup' 2 | export * from './components' 3 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows-ui/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows-ui/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | eslint: { 4 | ignoreDuringBuilds: true, 5 | }, 6 | } 7 | 8 | module.exports = nextConfig -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows-ui/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | function MyApp({ Component, pageProps }) { 2 | return 3 | } 4 | 5 | export default MyApp 6 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows/graphql/DynamicRows.graphql: -------------------------------------------------------------------------------- 1 | query DynamicRows($rowIds: [ID!]!) { 2 | dynamicRows(where: { id_in: $rowIds }) { 3 | ...DynamicRow 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows/graphql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AllDynamicRows.gql' 2 | export * from './Conditions.gql' 3 | export * from './DynamicRow.gql' 4 | export * from './DynamicRows.gql' 5 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/hygraph-dynamic-rows/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/hygraph-ui/README.md: -------------------------------------------------------------------------------- 1 | ## Configuration 2 | 3 | Configure the following ([configuration values](./Config.graphqls)) in your 4 | graphcommerce.config.js 5 | -------------------------------------------------------------------------------- /packages/hygraph-ui/components/Asset/Asset.graphql: -------------------------------------------------------------------------------- 1 | fragment Asset on Asset { 2 | url 3 | width 4 | height 5 | mimeType 6 | size 7 | } 8 | -------------------------------------------------------------------------------- /packages/hygraph-ui/components/RichText/index.ts: -------------------------------------------------------------------------------- 1 | export * from './RichText' 2 | export * from './getNodeLength' 3 | -------------------------------------------------------------------------------- /packages/hygraph-ui/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './RichText' 2 | export * from './Asset/Asset' 3 | -------------------------------------------------------------------------------- /packages/hygraph-ui/graphql/HygraphAllPages.graphql: -------------------------------------------------------------------------------- 1 | query HygraphAllPages($first: Int = 100, $skip: Int) { 2 | pages(first: $first, skip: $skip) { 3 | url 4 | } 5 | 6 | pagesConnection { 7 | aggregate { 8 | count 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/hygraph-ui/graphql/HygraphPages.graphql: -------------------------------------------------------------------------------- 1 | query HygraphPages($url: String!) { 2 | pages(where: { url: $url }) { 3 | id 4 | __typename 5 | ...HygraphPage 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/hygraph-ui/graphql/PageLink.graphql: -------------------------------------------------------------------------------- 1 | fragment PageLink on PageLink { 2 | title 3 | url 4 | description { 5 | raw 6 | } 7 | asset { 8 | ...Asset 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/hygraph-ui/graphql/PagesStaticPaths.graphql: -------------------------------------------------------------------------------- 1 | query PagesStaticPaths($urlStartsWith: String!, $first: Int = 1000) { 2 | pages(where: { url_starts_with: $urlStartsWith }, first: $first) { 3 | url 4 | metaRobots 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/hygraph-ui/graphql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './HygraphAllPages.gql' 2 | export * from './HygraphPage.gql' 3 | export * from './HygraphPages.gql' 4 | export * from './PageLink.gql' 5 | export * from './PagesStaticPaths.gql' 6 | -------------------------------------------------------------------------------- /packages/hygraph-ui/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | export * from './graphql' 3 | export * from './lib' 4 | -------------------------------------------------------------------------------- /packages/hygraph-ui/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './hygraphPageContent' 2 | export * from './getHygraphPaths' 3 | -------------------------------------------------------------------------------- /packages/hygraph-ui/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/hygraph-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/image/.npmignore: -------------------------------------------------------------------------------- 1 | example 2 | -------------------------------------------------------------------------------- /packages/image/example/components/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/packages/image/example/components/image.jpg -------------------------------------------------------------------------------- /packages/image/example/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | -------------------------------------------------------------------------------- /packages/image/example/public/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/packages/image/example/public/image.jpg -------------------------------------------------------------------------------- /packages/image/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/Image' 2 | -------------------------------------------------------------------------------- /packages/image/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/image/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "example", "dist", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/lingui-next/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/LinguiProvider' 2 | export * from './types' 3 | -------------------------------------------------------------------------------- /packages/lingui-next/server.ts: -------------------------------------------------------------------------------- 1 | export * from './document/withLingui' 2 | -------------------------------------------------------------------------------- /packages/lingui-next/types.ts: -------------------------------------------------------------------------------- 1 | import type { Messages } from '@lingui/core' 2 | 3 | export type MessageLoader = (locale: string) => Promise<{ messages: Messages }> 4 | export type SyncMessageLoader = (locale: string) => { messages: Messages } 5 | -------------------------------------------------------------------------------- /packages/magento-cart-checkout/README.md: -------------------------------------------------------------------------------- 1 | # Magento Cart Checkout 2 | 3 | The default implementation of the GraphCommerce checkoutprocess. 4 | 5 | - All Pages 6 | - Cart Page 7 | - Shipping Page 8 | - Payment Page 9 | - Success Page 10 | -------------------------------------------------------------------------------- /packages/magento-cart-checkout/fragments/InjectTotalsIntoCoupon.graphql: -------------------------------------------------------------------------------- 1 | # When the coupon changes we need to update the cart totals 2 | fragment InjectTotalsIntoCoupon on Cart @inject(into: ["Coupon"]) { 3 | ...CartTotals 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-cart-checkout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './queries/BillingPage.gql' 2 | export * from './queries/CartPage.gql' 3 | export * from './queries/ShippingPage.gql' 4 | -------------------------------------------------------------------------------- /packages/magento-cart-checkout/queries/CartPage.graphql: -------------------------------------------------------------------------------- 1 | query CartPage($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | ...CartPageFragment 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart-checkout/queries/CartPageFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment CartPageFragment on Cart { 2 | id 3 | __typename 4 | email 5 | total_quantity 6 | ...CartStartCheckout 7 | ...Coupon 8 | ...CartItems 9 | ...CartTotals 10 | } 11 | -------------------------------------------------------------------------------- /packages/magento-cart-checkout/queries/ShippingPage.graphql: -------------------------------------------------------------------------------- 1 | query ShippingPage($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | __typename 4 | id 5 | email 6 | ...ShippingPageFragment 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-cart-checkout/queries/ShippingPageFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment ShippingPageFragment on Cart { 2 | ...BillingAddress 3 | ...ShippingAddress 4 | ...CartStartCheckout 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart-coupon/Api/AppliedCoupon.graphql: -------------------------------------------------------------------------------- 1 | fragment AppliedCoupon on AppliedCoupon { 2 | code 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-cart-coupon/Api/Coupon.graphql: -------------------------------------------------------------------------------- 1 | fragment Coupon on Cart { 2 | id 3 | __typename 4 | applied_coupons { 5 | ...AppliedCoupon 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart-coupon/ApplyCouponForm/ApplyCouponForm.graphql: -------------------------------------------------------------------------------- 1 | mutation ApplyCouponForm($cartId: String!, $couponCode: String!) { 2 | applyCouponToCart(input: { cart_id: $cartId, coupon_code: $couponCode }) { 3 | cart { 4 | ...Coupon 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart-coupon/CouponAccordion/GetCoupon.graphql: -------------------------------------------------------------------------------- 1 | query GetCoupon($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | ...Coupon 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart-coupon/RemoveCouponForm/RemoveCouponForm.graphql: -------------------------------------------------------------------------------- 1 | mutation RemoveCouponForm($cartId: String!) { 2 | removeCouponFromCart(input: { cart_id: $cartId }) { 3 | cart { 4 | id 5 | ...Coupon 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-cart-coupon/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Api/Coupon.gql' 2 | export * from './ApplyCouponForm/ApplyCouponForm' 3 | export * from './CouponAccordion/CouponAccordion' 4 | export * from './RemoveCouponForm/RemoveCouponForm' 5 | -------------------------------------------------------------------------------- /packages/magento-cart-email/Api/GuestEmailChanged.graphql: -------------------------------------------------------------------------------- 1 | fragment GuestEmailChanged on Cart { 2 | id 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-cart-email/EmailForm/CartEmail.graphql: -------------------------------------------------------------------------------- 1 | query CartEmail($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | ...EmailForm 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart-email/EmailForm/EmailForm.graphql: -------------------------------------------------------------------------------- 1 | fragment EmailForm on Cart { 2 | id 3 | email 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-cart-email/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Api/GuestEmailChanged.gql' 2 | export * from './EmailForm/EmailForm' 3 | -------------------------------------------------------------------------------- /packages/magento-cart-items/Api/CartItems.graphql: -------------------------------------------------------------------------------- 1 | fragment CartItems on Cart { 2 | id 3 | items { 4 | uid 5 | __typename 6 | ...CartItem 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-cart-items/components/EditCartItem/EditCartItemForm/EditCartItemForm.graphql: -------------------------------------------------------------------------------- 1 | fragment EditCartItemForm on ProductInterface { 2 | ...ProductCustomizable 3 | ...ProductWeight 4 | ...ProductPageItem 5 | ...ConfigurableOptions 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-cart-items/components/EditCartItem/index.ts: -------------------------------------------------------------------------------- 1 | export * from './EditCartItemButton/EditCartItemButton' 2 | export * from './EditCartItemForm/EditCartItemForm' 3 | export * from './EditCartItemForm/EditCartItemForm.gql' 4 | -------------------------------------------------------------------------------- /packages/magento-cart-payment-method/Api/AvailablePaymentMethod/AvailablePaymentMethod.graphql: -------------------------------------------------------------------------------- 1 | fragment AvailablePaymentMethod on AvailablePaymentMethod { 2 | code 3 | title 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-cart-payment-method/Api/PaymentMethodUpdated.graphql: -------------------------------------------------------------------------------- 1 | fragment PaymentMethodUpdated on Cart { 2 | id 3 | selected_payment_method { 4 | ...SelectedPaymentMethod 5 | } 6 | ...CartTotals 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart-payment-method/Api/SelectedPaymentMethod/SelectedPaymentMethod.graphql: -------------------------------------------------------------------------------- 1 | fragment SelectedPaymentMethod on SelectedPaymentMethod { 2 | code 3 | title 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-cart-payment-method/PaymentMethodContext/GetPaymentMethodContext.graphql: -------------------------------------------------------------------------------- 1 | query GetPaymentMethodContext($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | id 4 | __typename 5 | ...PaymentMethodContext 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart-payment-method/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useCartLock' 2 | -------------------------------------------------------------------------------- /packages/magento-cart-payment-method/test/index.ts: -------------------------------------------------------------------------------- 1 | export * from './goToPayment' 2 | export * from './selectPaymentMethod' 3 | -------------------------------------------------------------------------------- /packages/magento-cart-payment-method/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["node_modules"], 3 | "include": ["**/*.ts", "**/*.tsx", "../magento-payment-included/Checkmo.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart-pickup/index.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/magento-cart-shipping-address/Api/BillingAddress.graphql: -------------------------------------------------------------------------------- 1 | fragment BillingAddress on Cart { 2 | id 3 | billing_address { 4 | ...CartAddress 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-cart-shipping-address/Api/ShippingAddress.graphql: -------------------------------------------------------------------------------- 1 | fragment ShippingAddress on Cart { 2 | id 3 | is_virtual 4 | shipping_addresses { 5 | ...CartAddress 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart-shipping-address/README.md: -------------------------------------------------------------------------------- 1 | # Magento Cart Shipping Address 2 | 3 | ## Provides Injectables 4 | 5 | - [`ShippingAddress`](./Injectable/ShippingAddress.graphql) 6 | 7 | ## Injects into 8 | 9 | - none 10 | -------------------------------------------------------------------------------- /packages/magento-cart-shipping-address/components/ShippingAddressForm/GetAddresses.graphql: -------------------------------------------------------------------------------- 1 | query GetAddresses($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | ...ShippingAddress 4 | ...BillingAddress 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-cart-shipping-method/Api/ShippingMethodSelected.graphql: -------------------------------------------------------------------------------- 1 | fragment ShippingMethodSelected on Cart { 2 | id 3 | shipping_addresses { 4 | selected_shipping_method { 5 | carrier_code 6 | method_code 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/magento-cart-shipping-method/components/ShippingMethodForm/GetShippingMethods.graphql: -------------------------------------------------------------------------------- 1 | query GetShippingMethods($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | id 4 | ...AvailableShippingMethods 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-cart/README.md: -------------------------------------------------------------------------------- 1 | # @graphcommerce/magento-cart 2 | 3 | ## Configuration 4 | 5 | Configure the following ([configuration values](./Config.graphqls)) in your 6 | graphcommerce.config.js 7 | -------------------------------------------------------------------------------- /packages/magento-cart/components/ApolloCartError/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ApolloCartErrorAlert' 2 | export * from './ApolloCartErrorFullPage' 3 | export * from './ApolloCartErrorSnackbar' 4 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartAdded/CartAdded.graphql: -------------------------------------------------------------------------------- 1 | query CartAdded($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | ...CartItemCountChanged 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartAdded/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CartAdded.gql' 2 | export * from './Crosssells.gql' 3 | export * from './useCrosssellItems' 4 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartAgreementsForm/CartAgreements.graphql: -------------------------------------------------------------------------------- 1 | query CartAgreements { 2 | checkoutAgreements { 3 | agreement_id 4 | checkbox_text 5 | content 6 | content_height 7 | is_html 8 | mode 9 | name 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartFab/CartFab.graphql: -------------------------------------------------------------------------------- 1 | query CartFab($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | __typename 4 | id 5 | ...CartTotalQuantity 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartFab/CartTotalQuantity.graphql: -------------------------------------------------------------------------------- 1 | fragment CartTotalQuantity on Cart @inject(into: ["CartItemCountChanged"]) { 2 | total_quantity 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartItemSummary/GetCartItemSummary.graphql: -------------------------------------------------------------------------------- 1 | query CartItemSummary($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | ...OrderSuccesPage 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartStartCheckout/CartStartCheckout.graphql: -------------------------------------------------------------------------------- 1 | fragment CartStartCheckout on Cart { 2 | prices { 3 | grand_total { 4 | ...Money 5 | } 6 | } 7 | items { 8 | errors { 9 | message 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartStartCheckout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CartStartCheckout' 2 | export * from './CartStartCheckoutLinkOrButton' 3 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartSummary/GetCartSummary.graphql: -------------------------------------------------------------------------------- 1 | query GetCartSummary($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | ...CartSummary 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartTotals/CartTaxItem.graphql: -------------------------------------------------------------------------------- 1 | fragment CartTaxItem on CartTaxItem { 2 | label 3 | amount { 4 | ...Money 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartTotals/Discount.graphql: -------------------------------------------------------------------------------- 1 | fragment Discount on Discount { 2 | amount { 3 | ...Money 4 | } 5 | label 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-cart/components/CartTotals/GetCartTotals.graphql: -------------------------------------------------------------------------------- 1 | query GetCartTotals($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | id 4 | __typename 5 | ...CartTotals 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart/components/InlineAccount/InlineAccount.graphql: -------------------------------------------------------------------------------- 1 | query InlineAccount($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | __typename 4 | id 5 | shipping_addresses { 6 | ...CartAddress 7 | } 8 | email 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/magento-cart/components/OrderSucces/OrderSuccesPage.graphql: -------------------------------------------------------------------------------- 1 | fragment OrderSuccesPage on Cart { 2 | ...CartItems 3 | ...CartTotals 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-cart/graphql/fragments/CartBillingAddress.graphql: -------------------------------------------------------------------------------- 1 | fragment CartBillingAddress on Cart { 2 | id 3 | __typename 4 | billing_address { 5 | ...CartAddress 6 | } 7 | shipping_addresses { 8 | ...CartAddress 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/magento-cart/graphql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fragments/CartItemCountChanged.gql' 2 | export * from './fragments/CartBillingAddress.gql' 3 | export * from './queries/GetBillingAddress.gql' 4 | -------------------------------------------------------------------------------- /packages/magento-cart/graphql/queries/GetBillingAddress.graphql: -------------------------------------------------------------------------------- 1 | query GetBillingAddress($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | ...CartBillingAddress 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart/hooks/CreateEmptyCart.graphql: -------------------------------------------------------------------------------- 1 | mutation CreateEmptyCart { 2 | createEmptyCart 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-cart/hooks/CurrentCartId.graphql: -------------------------------------------------------------------------------- 1 | query CurrentCartId { 2 | currentCartId @client { 3 | __typename 4 | id 5 | locked 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart/hooks/CustomerCart.graphql: -------------------------------------------------------------------------------- 1 | query CustomerCart { 2 | customerCart { 3 | id 4 | __typename 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-cart/hooks/MergeCarts.graphql: -------------------------------------------------------------------------------- 1 | mutation MergeCarts($sourceCartId: String!, $destinationCartId: String!) { 2 | mergeCarts(source_cart_id: $sourceCartId, destination_cart_id: $destinationCartId) { 3 | __typename 4 | id 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-cart/hooks/UseCartRedirect.graphql: -------------------------------------------------------------------------------- 1 | query UseCartRedirect($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | id 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart/hooks/useMergeCustomerCart.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @deprecated Is replaced by the useSignInFormMergeCart plugin. 3 | * @public 4 | */ 5 | export function useMergeCustomerCart() { 6 | return null 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cart/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | export * from './graphql' 3 | export * from './hooks' 4 | export * from './link/cartLink' 5 | export * from './typePolicies' 6 | export * from './utils' 7 | -------------------------------------------------------------------------------- /packages/magento-cart/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-cart/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cart/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './cartPermissions' 2 | export * from './checkoutPermissions' 3 | -------------------------------------------------------------------------------- /packages/magento-category/components/CategoryBreadcrumb/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CategoryBreadcrumb.gql' 2 | export * from './CategoryBreadcrumb' 3 | export * from './CategoryBreadcrumbs' 4 | export * from './categoryToBreadcrumbs' 5 | -------------------------------------------------------------------------------- /packages/magento-category/components/CategoryChildren/CategoryChildren.graphql: -------------------------------------------------------------------------------- 1 | fragment CategoryChildren on CategoryTree { 2 | uid 3 | children { 4 | ...NavigationItem 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-category/components/CategoryChildren/CategorySiblings.graphql: -------------------------------------------------------------------------------- 1 | query CategorySiblings($parentUid: String!) { 2 | categories(filters: { parent_category_uid: { eq: $parentUid } }) { 3 | items { 4 | ...NavigationItem 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-category/components/CategoryDescription/CategoryDescription.graphql: -------------------------------------------------------------------------------- 1 | fragment CategoryDescription on CategoryTree { 2 | uid 3 | description 4 | name 5 | display_mode 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-category/components/CategoryMeta/CategoryMeta.graphql: -------------------------------------------------------------------------------- 1 | fragment CategoryMeta on CategoryTree { 2 | name 3 | meta_title 4 | meta_description 5 | meta_keywords 6 | image 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-category/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-category/queries/GetCategoryStaticPaths.graphql: -------------------------------------------------------------------------------- 1 | query GetCategoryStaticPaths { 2 | categories { 3 | items { 4 | ...CategoryPathFragment 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-category/queries/NavigationItem.graphql: -------------------------------------------------------------------------------- 1 | fragment NavigationItem on CategoryTree { 2 | uid 3 | include_in_menu 4 | name 5 | url_path 6 | level 7 | is_anchor 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-category/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cms/components/CmsBlock/CmsBlock.graphql: -------------------------------------------------------------------------------- 1 | fragment CmsBlock on CmsBlock { 2 | identifier 3 | content 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-cms/components/CmsPageContent/CmsPageContent.graphql: -------------------------------------------------------------------------------- 1 | fragment CmsPageContent on CmsPage { 2 | content_heading 3 | content 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-cms/components/CmsPageMeta/CmsPageMeta.graphql: -------------------------------------------------------------------------------- 1 | fragment CmsPageMeta on CmsPage { 2 | meta_title 3 | meta_description 4 | meta_keywords 5 | page_layout 6 | url_key 7 | title 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-cms/graphql/CmsBlocks.graphql: -------------------------------------------------------------------------------- 1 | query CmsBlocks($identifiers: [String!]!) { 2 | cmsBlocks(identifiers: $identifiers) { 3 | items { 4 | ...CmsBlock 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-cms/graphql/CmsConfig.graphql: -------------------------------------------------------------------------------- 1 | fragment CmsConfig on StoreConfig @inject(into: ["StoreConfigFragment"]) { 2 | cms_home_page 3 | cms_no_cookies 4 | cms_no_route 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cms/graphql/CmsPage.graphql: -------------------------------------------------------------------------------- 1 | query CmsPage($url: String!) { 2 | route(url: $url) { 3 | __typename 4 | relative_url 5 | redirect_code 6 | type 7 | ... on CmsPage { 8 | ...CmsPageFragment 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/magento-cms/graphql/CmsPageFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment CmsPageFragment on CmsPage { 2 | identifier 3 | ...CmsPageMeta 4 | ...CmsPageContent 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-cms/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-cms/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/AddProductsToCompareList.graphql: -------------------------------------------------------------------------------- 1 | mutation AddProductsToCompareList($uid: ID!, $products: [ID!]!) { 2 | compareList: addProductsToCompareList(input: { uid: $uid, products: $products }) { 3 | ...CompareSummaryFragment 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/AssignCustomerToCompareList.graphql: -------------------------------------------------------------------------------- 1 | mutation AssignCompareListToCustomer($uid: ID!) { 2 | assignCompareListToCustomer(uid: $uid) { 3 | result 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/ComparableItem.graphql: -------------------------------------------------------------------------------- 1 | fragment ComparableItem on ComparableItem { 2 | uid 3 | attributes { 4 | code 5 | value 6 | } 7 | product { 8 | uid 9 | ...ProductListItem 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/CompareList.graphql: -------------------------------------------------------------------------------- 1 | query CompareList($uid: ID!) { 2 | compareList(uid: $uid) { 3 | ...CompareListFragment 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/CompareListFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment CompareListFragment on CompareList { 2 | uid 3 | attributes { 4 | code 5 | label 6 | } 7 | item_count 8 | 9 | items { 10 | ...ComparableItem 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/CompareProductIdInternal.graphql: -------------------------------------------------------------------------------- 1 | fragment CompareProductIdInternal on ProductInterface 2 | @inject(into: ["UseAddProductsToCartAction", "ProductListItem"]) { 3 | __typename 4 | id 5 | name 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/CompareSummary.graphql: -------------------------------------------------------------------------------- 1 | query CompareSummary($uid: ID!) { 2 | compareList(uid: $uid) { 3 | ...CompareSummaryFragment 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/CompareSummaryFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment CompareSummaryFragment on CompareList { 2 | uid 3 | item_count 4 | items { 5 | uid 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/CreateCompareList.graphql: -------------------------------------------------------------------------------- 1 | mutation CreateCompareList($products: [ID!]!) { 2 | createCompareList(input: { products: $products }) { 3 | ...CompareSummaryFragment 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/CurrentCompareUid.graphql: -------------------------------------------------------------------------------- 1 | query CurrentCompareUid { 2 | currentCompareUid @client { 3 | __typename 4 | uid 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/CustomerCompareList.graphql: -------------------------------------------------------------------------------- 1 | query CustomerCompareList { 2 | customer { 3 | compare_list { 4 | ...CompareListFragment 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-compare/graphql/DeleteCompareList.graphql: -------------------------------------------------------------------------------- 1 | mutation DeleteCompareList($uid: ID!) { 2 | deleteCompareList(uid: $uid) { 3 | result 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-compare/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | export * from './graphql' 3 | export * from './hooks' 4 | -------------------------------------------------------------------------------- /packages/magento-compare/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-compare/schema/CurrentCartId.graphqls: -------------------------------------------------------------------------------- 1 | extend type Query { 2 | currentCartId: CurrentCartId 3 | } 4 | 5 | type CurrentCartId { 6 | id: String 7 | locked: Boolean 8 | } 9 | 10 | input RegisterCartIdInput { 11 | cart_id: String! 12 | } 13 | -------------------------------------------------------------------------------- /packages/magento-compare/schema/CurrentCompareUid.graphqls: -------------------------------------------------------------------------------- 1 | extend type Query { 2 | currentCompareUid: CurrentCompareUid 3 | } 4 | 5 | type CurrentCompareUid { 6 | uid: String 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-compare/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/README.md: -------------------------------------------------------------------------------- 1 | # @graphcommerce/magento-customer 2 | 3 | ## Configuration 4 | 5 | Configure the following ([configuration values](./Config.graphqls)) in your 6 | graphcommerce.config.js 7 | -------------------------------------------------------------------------------- /packages/magento-customer/components/AccountAddress/AccountAddress.graphql: -------------------------------------------------------------------------------- 1 | fragment AccountAddress on CustomerAddress { 2 | ...CustomerAddress 3 | default_billing 4 | default_shipping 5 | id 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-customer/components/AccountAddresses/AccountAddresses.graphql: -------------------------------------------------------------------------------- 1 | fragment AccountAddresses on Customer { 2 | addresses { 3 | ...AccountAddress 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/components/AccountDeleteForm/DeleteCustomer.graphql: -------------------------------------------------------------------------------- 1 | mutation DeleteCustomer { 2 | deleteCustomer 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-customer/components/ApolloCustomerError/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ApolloCustomerErrorAlert' 2 | export * from './ApolloCustomerErrorFullPage' 3 | export * from './ApolloCustomerErrorSnackbar' 4 | -------------------------------------------------------------------------------- /packages/magento-customer/components/CancelOrder/CancelOrderFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment CancelOrderFragment on CustomerOrder { 2 | id 3 | ...OrderStateLabel 4 | ...OrderDetails 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/components/CompanyFields/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CompanyName' 2 | export * from './CompanyFields' 3 | export * from './CompanyVAT' 4 | export * from './useCompanyFieldsForm' 5 | -------------------------------------------------------------------------------- /packages/magento-customer/components/ConfirmCustomer/ConfirmCustomer.graphql: -------------------------------------------------------------------------------- 1 | mutation ConfirmCustomer($key: String!, $email: String!) { 2 | confirmEmail(input: { confirmation_key: $key, email: $email }) { 3 | customer { 4 | email 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/components/ContactForm/ContactUsConfig.graphql: -------------------------------------------------------------------------------- 1 | fragment ContactUsConfig on StoreConfig @inject(into: ["StoreConfigFragment"]) { 2 | contact_enabled 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-customer/components/ContactForm/ContactUsMutation.graphql: -------------------------------------------------------------------------------- 1 | mutation ContactUs($input: ContactUsInput!) { 2 | contactUs(input: $input) { 3 | status 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/components/CreateCustomerAddressForm/CustomerAddressEdit.graphql: -------------------------------------------------------------------------------- 1 | fragment CustomerAddressEdit on CustomerAddress { 2 | id 3 | ...CustomerAddress 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-customer/components/CreditMemo/CreditMemoCard.graphql: -------------------------------------------------------------------------------- 1 | fragment CreditMemoCard on CreditMemo { 2 | id 3 | number 4 | comments { 5 | ...SalesCommentItem 6 | } 7 | total { 8 | grand_total { 9 | ...Money 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/magento-customer/components/CustomerForms/UseCustomerCreateForm.graphql: -------------------------------------------------------------------------------- 1 | mutation UseCustomerCreateForm($input: CustomerCreateInput!) { 2 | createCustomerV2(input: $input) { 3 | customer { 4 | ...CustomerInfo 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/components/CustomerForms/UseCustomerUpdateForm.graphql: -------------------------------------------------------------------------------- 1 | mutation UseCustomerUpdateForm($input: CustomerUpdateInput!) { 2 | updateCustomerV2(input: $input) { 3 | customer { 4 | ...CustomerInfo 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/components/DeleteCustomerAddressForm/DeleteCustomerAddressForm.graphql: -------------------------------------------------------------------------------- 1 | mutation DeleteCustomerAddressForm($id: Int!) { 2 | deleteCustomerAddress(id: $id) 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-customer/components/ForgotPasswordForm/ForgotPassword.graphql: -------------------------------------------------------------------------------- 1 | mutation ForgotPassword($email: String!) { 2 | requestPasswordResetEmail(email: $email) 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-customer/components/Invoice/Invoice.graphql: -------------------------------------------------------------------------------- 1 | fragment Invoice on Invoice { 2 | id 3 | number 4 | items { 5 | ...InvoiceItem 6 | } 7 | total { 8 | ...InvoiceTotal 9 | } 10 | comments { 11 | ...SalesCommentItem 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/magento-customer/components/Invoice/InvoiceCard.graphql: -------------------------------------------------------------------------------- 1 | fragment InvoiceCard on Invoice { 2 | id 3 | number 4 | total { 5 | grand_total { 6 | ...Money 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/magento-customer/components/Order/OrderComments/OrderComments.graphql: -------------------------------------------------------------------------------- 1 | fragment OrderComments on CustomerOrder { 2 | comments { 3 | ...SalesCommentItem 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/components/Order/OrderComments/SalesCommentItem.graphql: -------------------------------------------------------------------------------- 1 | fragment SalesCommentItem on SalesCommentItem { 2 | message 3 | timestamp 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-customer/components/Order/OrderDetails/TaxItem.graphql: -------------------------------------------------------------------------------- 1 | fragment TaxItem on TaxItem { 2 | title 3 | rate 4 | amount { 5 | ...Money 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/components/Order/OrderItems/OrderItems.graphql: -------------------------------------------------------------------------------- 1 | fragment OrderItems on CustomerOrder { 2 | id 3 | number 4 | items { 5 | ...OrderItem 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/components/Order/OrderTotals/OrderTotals.graphql: -------------------------------------------------------------------------------- 1 | fragment OrderTotals on CustomerOrder { 2 | total { 3 | ...OrderTotal 4 | } 5 | shipping_method 6 | carrier 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/components/Shipment/ShipmentCard.graphql: -------------------------------------------------------------------------------- 1 | fragment ShipmentCard on OrderShipment { 2 | id 3 | number 4 | comments { 5 | message 6 | timestamp 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-customer/components/SignInForm/SignIn.graphql: -------------------------------------------------------------------------------- 1 | mutation SignIn($email: String!, $password: String!) { 2 | generateCustomerToken(email: $email, password: $password) { 3 | ...CustomerTokenFragment 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/components/SignOutForm/SignOutForm.graphql: -------------------------------------------------------------------------------- 1 | mutation SignOutForm { 2 | revokeCustomerToken { 3 | result 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/components/TrackingLink/TrackingLink.graphql: -------------------------------------------------------------------------------- 1 | fragment TrackingLink on ShipmentTracking { 2 | carrier 3 | number 4 | title 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/components/UpdateCustomerEmailForm/UpdateCustomerEmail.graphql: -------------------------------------------------------------------------------- 1 | mutation UpdateCustomerEmail($email: String!, $password: String!) { 2 | updateCustomerEmail(email: $email, password: $password) { 3 | customer { 4 | email 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/graphql/inject/CustomerStoreConfig.graphql: -------------------------------------------------------------------------------- 1 | fragment CustomerStoreConfig on StoreConfig @inject(into: ["StoreConfigFragment"]) { 2 | autocomplete_on_storefront 3 | minimum_password_length 4 | required_character_classes_number 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/graphql/queries/AccountDashboard.graphql: -------------------------------------------------------------------------------- 1 | query AccountDashboard { 2 | customer { 3 | email 4 | } 5 | ...AccountDashboardQueryFragment 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-customer/graphql/queries/AccountDashboardAddresses.graphql: -------------------------------------------------------------------------------- 1 | query AccountDashboardAddresses { 2 | customer { 3 | ...AccountAddresses 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/graphql/queries/AccountDashboardCustomer.graphql: -------------------------------------------------------------------------------- 1 | fragment AccountDashboardCustomer on Customer { 2 | email 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-customer/graphql/queries/AccountDashboardOrders.graphql: -------------------------------------------------------------------------------- 1 | query AccountDashboardOrders($currentPage: Int!, $pageSize: Int!) { 2 | customer { 3 | ...AccountOrders 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/hooks/Customer.graphql: -------------------------------------------------------------------------------- 1 | query Customer { 2 | customer { 3 | ...CustomerInfo 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/hooks/CustomerToken.graphql: -------------------------------------------------------------------------------- 1 | query CustomerToken { 2 | customerToken @client { 3 | __typename 4 | ...CustomerTokenFragment 5 | createdAt 6 | valid 7 | xMagentoCacheId 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/magento-customer/hooks/CustomerTokenFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment CustomerTokenFragment on CustomerToken { 2 | __typename 3 | token 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-customer/hooks/IsEmailAvailable.graphql: -------------------------------------------------------------------------------- 1 | query IsEmailAvailable($email: String!) { 2 | isEmailAvailable(email: $email) { 3 | is_email_available 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/hooks/OrderCardItemImage.graphql: -------------------------------------------------------------------------------- 1 | fragment OrderCardItemImage on ProductInterface { 2 | uid 3 | thumbnail { 4 | ...ProductImage 5 | } 6 | url_key 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/hooks/OrderCardItemImages.graphql: -------------------------------------------------------------------------------- 1 | query OrderCardItemImages($urlKeys: [String!]!) { 2 | products(filter: { url_key: { in: $urlKeys } }) { 3 | items { 4 | ...OrderCardItemImage 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/hooks/UseCustomerValidateToken.graphql: -------------------------------------------------------------------------------- 1 | query UseCustomerValidateToken { 2 | customer { 3 | email 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/hooks/UseOrderCardItemImages.graphql: -------------------------------------------------------------------------------- 1 | fragment UseOrderCardItemImages on CustomerOrders { 2 | items { 3 | items { 4 | product_url_key 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-customer/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | export * from './hooks' 3 | export * from './typePolicies' 4 | export * from './utils' 5 | export * from './graphql' 6 | -------------------------------------------------------------------------------- /packages/magento-customer/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-customer/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-customer/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './customerPermissions' 2 | export * from './orderState' 3 | -------------------------------------------------------------------------------- /packages/magento-graphql-rest/index.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/magento-graphql-rest/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-graphql/README.md: -------------------------------------------------------------------------------- 1 | # @graphcommerce/magento-graphql 2 | 3 | ## Configuration 4 | 5 | Configure the following ([configuration values](./Config.graphqls)) in your 6 | graphcommerce.config.js 7 | -------------------------------------------------------------------------------- /packages/magento-graphql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './typePolicies' 2 | export * from './graphqlErrorByCategory' 3 | -------------------------------------------------------------------------------- /packages/magento-graphql/schema-246/Mutation-deleteCustomer.graphqls: -------------------------------------------------------------------------------- 1 | type Mutation { 2 | """ 3 | Delete customer account 4 | """ 5 | deleteCustomer: Boolean @deprecated(reason: "Magento >= 2.4.6") 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-graphql/schema-246/SelectedShippingMethod.graphqls: -------------------------------------------------------------------------------- 1 | type SelectedShippingMethod { 2 | price_excl_tax: Money @deprecated(reason: "Magento >= 2.4.6") 3 | price_incl_tax: Money @deprecated(reason: "Magento >= 2.4.6") 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-graphql/schema-247/CustomerOrder.graphqls: -------------------------------------------------------------------------------- 1 | type CustomerOrder { 2 | applied_coupons: [AppliedCoupon] 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-graphql/schema-247/ProductAttributeFilterInput-category_url_path.graphqls: -------------------------------------------------------------------------------- 1 | input ProductAttributeFilterInput { 2 | category_url_path: FilterEqualTypeInput @deprecated(reason: "Magento >= 2.4.7") 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-graphql/schema-247/StoreConfig.graphqls: -------------------------------------------------------------------------------- 1 | type StoreConfig { 2 | contact_enabled: Boolean @deprecated(reason: "Magento >= 2.4.7") 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-graphql/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-newsletter/components/CheckoutNewsletter/SubscribeCustomer.graphql: -------------------------------------------------------------------------------- 1 | mutation SubscribeCustomer { 2 | updateCustomerV2(input: { is_subscribed: true }) { 3 | customer { 4 | is_subscribed 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-newsletter/components/CheckoutNewsletter/SubscribeGuest.graphql: -------------------------------------------------------------------------------- 1 | mutation SubscribeGuest($email: String!) { 2 | subscribeEmailToNewsletter(email: $email) { 3 | status 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-newsletter/components/CustomerNewsletterToggle/CustomerNewsletterToggle.graphql: -------------------------------------------------------------------------------- 1 | fragment CustomerNewsletterToggle on Customer @inject(into: ["AccountDashboardCustomer"]) { 2 | is_subscribed 3 | email 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-newsletter/components/CustomerNewsletterToggle/GetCustomerNewsLetterToggle.graphql: -------------------------------------------------------------------------------- 1 | query GetCustomerNewsletterToggle { 2 | customer { 3 | ...CustomerNewsletterToggle 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-newsletter/components/GuestNewsletterToggle/GuestNewsletterToggle.graphql: -------------------------------------------------------------------------------- 1 | mutation GuestNewsletterToggle($email: String!) { 2 | subscribeEmailToNewsletter(email: $email) { 3 | status 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-newsletter/components/SignupNewsletter/GetCartEmail.graphql: -------------------------------------------------------------------------------- 1 | query GetCartEmail($cartId: String!) { 2 | cart(cart_id: $cartId) { 3 | id 4 | email 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-newsletter/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | -------------------------------------------------------------------------------- /packages/magento-newsletter/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-newsletter/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-adyen/components/AdyenPaymentHandler/AdyenPaymentDetails.graphql: -------------------------------------------------------------------------------- 1 | mutation AdyenPaymentDetails($cartId: String!, $payload: String!) { 2 | adyenPaymentDetails(cart_id: $cartId, payload: $payload) { 3 | ...AdyenPaymentResponse 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-adyen/components/AdyenPaymentHandler/AdyenPaymentStatus.graphql: -------------------------------------------------------------------------------- 1 | query AdyenPaymentStatus($cartId: String!, $orderNumber: String!) { 2 | adyenPaymentStatus(cartId: $cartId, orderNumber: $orderNumber) { 3 | ...AdyenPaymentResponse 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-adyen/hooks/AdyenPaymentResponse.graphql: -------------------------------------------------------------------------------- 1 | fragment AdyenPaymentResponse on AdyenPaymentStatus { 2 | action 3 | additionalData 4 | isFinal 5 | resultCode 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-payment-adyen/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-payment-adyen/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["node_modules"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-braintree/hooks/UseBraintree.graphql: -------------------------------------------------------------------------------- 1 | mutation UseBraintree { 2 | createBraintreeClientToken 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-payment-braintree/index.ts: -------------------------------------------------------------------------------- 1 | export * from './methods/braintree_local_payments' 2 | export * from './methods/braintree' 3 | -------------------------------------------------------------------------------- /packages/magento-payment-braintree/methods/braintree_local_payments/PaymentHandler.tsx: -------------------------------------------------------------------------------- 1 | export function PaymentHandler() { 2 | return null 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-payment-braintree/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-payment-braintree/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["node_modules"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-included/PurchaseOrder/PurchaseOrderNumber.graphql: -------------------------------------------------------------------------------- 1 | fragment PurchaseOrderNumber on SelectedPaymentMethod @inject(into: ["SelectedPaymentMethod"]) { 2 | purchase_order_number 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-payment-included/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["node_modules"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-klarna/index.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/magento-payment-klarna/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-payment-klarna/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["node_modules"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-multisafepay/components/MSPPaymentHandler/MSPPaymentHandler.graphql: -------------------------------------------------------------------------------- 1 | mutation MSPPaymentHandler($cartId: String!) { 2 | getPaymentMeta(input: { cart_id: $cartId }) 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-payment-multisafepay/graphql/MSPAvailablePaymentMethod.graphql: -------------------------------------------------------------------------------- 1 | fragment MSPAvailablePaymentMethod on AvailablePaymentMethod 2 | @inject(into: ["AvailablePaymentMethod"]) { 3 | multisafepay_additional_data { 4 | image 5 | is_preselected 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-payment-multisafepay/graphql/MSPCart.graphql: -------------------------------------------------------------------------------- 1 | query MSPCart($cartId: String!) { 2 | multisafepayCart(cart_id: $cartId) { 3 | ...CartTotals 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-multisafepay/index.ts: -------------------------------------------------------------------------------- 1 | export * from './methods' 2 | -------------------------------------------------------------------------------- /packages/magento-payment-multisafepay/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-payment-multisafepay/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["node_modules"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-paypal/icons/paypal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/packages/magento-payment-paypal/icons/paypal.jpg -------------------------------------------------------------------------------- /packages/magento-payment-paypal/index.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/magento-payment-paypal/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-payment-paypal/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["node_modules"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-payment-tokens/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CustomerTokensPage/CustomerTokensPage' 2 | export * from './PaymentTokensAccountMenuItem/PaymentTokensAccountMenuItem' 3 | -------------------------------------------------------------------------------- /packages/magento-payment-tokens/graphql/fragments/PaymentToken.graphql: -------------------------------------------------------------------------------- 1 | fragment PaymentToken on PaymentToken { 2 | details 3 | payment_method_code 4 | public_hash 5 | type 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-payment-tokens/graphql/queries/PaymentTokens.graphql: -------------------------------------------------------------------------------- 1 | query CustomerPaymentTokens { 2 | customerPaymentTokens { 3 | items { 4 | ...PaymentToken 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/components/BundleProductOptions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './BundleProductOptions' 2 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/graphql/fragments/SelectedBundleOption.graphql: -------------------------------------------------------------------------------- 1 | fragment SelectedBundleOption on SelectedBundleOption { 2 | uid 3 | label 4 | type 5 | values { 6 | uid 7 | label 8 | quantity 9 | price 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/graphql/inject/CreditMemoItem_Bundle.graphql: -------------------------------------------------------------------------------- 1 | fragment CreditMemoItem_Bundle on BundleCreditMemoItem @inject(into: ["CreditMemoItem"]) { 2 | bundle_options { 3 | ...ItemSelectedBundleOption 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/graphql/inject/InvoiceItem_Bundle.graphql: -------------------------------------------------------------------------------- 1 | fragment InvoiceItem_Bundle on BundleInvoiceItem @inject(into: ["InvoiceItem"]) { 2 | bundle_options { 3 | ...ItemSelectedBundleOption 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/graphql/inject/OrderItem_Bundle.graphql: -------------------------------------------------------------------------------- 1 | fragment OrderItem_Bundle on BundleOrderItem @inject(into: ["OrderItem"]) { 2 | bundle_options { 3 | ...ItemSelectedBundleOption 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/graphql/inject/ProductListItemBundle.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListItemBundle on BundleProduct @inject(into: ["ProductListItem"]) { 2 | __typename 3 | uid 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/graphql/inject/ShipmentItem_Bundle.graphql: -------------------------------------------------------------------------------- 1 | fragment ShipmentItem_Bundle on BundleShipmentItem @inject(into: ["ShipmentItem"]) { 2 | bundle_options { 3 | ...ItemSelectedBundleOption 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/ProductListItemBundle/ProductListItemBundle' 2 | export * from './components/BundleProductOptions' 3 | export * from './graphql' 4 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-product-bundle/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/ConfigurableProductPage.graphql: -------------------------------------------------------------------------------- 1 | query ConfigurableProductPage($urlKey: String, $useCustomAttributes: Boolean = false) { 2 | ...ProductPageConfigurableQueryFragment 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/Swatches/ColorSwatchData.graphql: -------------------------------------------------------------------------------- 1 | fragment ColorSwatchData on ColorSwatchData { 2 | value 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/Swatches/ImageSwatchData.graphql: -------------------------------------------------------------------------------- 1 | fragment ImageSwatchData on ImageSwatchData { 2 | value 3 | thumbnail 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/Swatches/SwatchData.graphql: -------------------------------------------------------------------------------- 1 | fragment SwatchData on SwatchDataInterface { 2 | __typename 3 | ...TextSwatchData 4 | ...ColorSwatchData 5 | ...ImageSwatchData 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/Swatches/TextSwatchData.graphql: -------------------------------------------------------------------------------- 1 | fragment TextSwatchData on TextSwatchData { 2 | value 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/components/ConfigurableCartItemOptions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConfigurableCartItemOptions' 2 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/components/ConfigurableOptionValue/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConfigurableOptionValue' 2 | export * from './ConfigurableOptionValue.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/components/ConfigurableOptionValueColor/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConfigurableOptionValueColor' 2 | export * from './ConfigurableOptionValueColor.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/components/ConfigurableOptionValueImage/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConfigurableOptionValueImage' 2 | export * from './ConfigurableOptionValueImage.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/components/ConfigurableOptionValueText/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConfigurableOptionValueText' 2 | export * from './ConfigurableOptionValueText.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/components/ConfigurableProductOptions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConfigurableProductOptions' 2 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/components/ProductListItemConfigurable/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductListItemConfigurable' 2 | export * from './ProductListItemConfigurable.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/graphql/fragments/UseConfigurableOptions.graphql: -------------------------------------------------------------------------------- 1 | fragment UseConfigurableOptions on ProductInterface { 2 | __typename 3 | url_key 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useConfigurableOptionsSelection' 2 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | export * from './ConfigurableCartItem/ConfigurableCartItem' 3 | export * from './ConfigurableProductPage.gql' 4 | export * from './graphql' 5 | export * from './hooks' 6 | export * from './utils' 7 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-configurable/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './defaultConfigurableOptionsSelection' 2 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/README.md: -------------------------------------------------------------------------------- 1 | # Magento Downloadable Products 2 | 3 | ## Todo 4 | 5 | - [ ] DownloadableOrderItem 6 | - [ ] DownloadableCreditMemoItem 7 | - [ ] DownloadableInvoiceItem 8 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/components/DownloadableProductOptions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DownloadableProductOptions' 2 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/graphql/fragments/DownloadableItemsLinks.graphql: -------------------------------------------------------------------------------- 1 | fragment DownloadableItemsLinks on DownloadableItemsLinks { 2 | sort_order 3 | title 4 | uid 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/graphql/fragments/DownloadableProductLinks.graphql: -------------------------------------------------------------------------------- 1 | fragment DownloadableProductLinks on DownloadableProductLinks { 2 | price 3 | sample_url 4 | sort_order 5 | title 6 | uid 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/graphql/fragments/DownloadableProductSamples.graphql: -------------------------------------------------------------------------------- 1 | fragment DownloadableProductSamples on DownloadableProductSamples { 2 | title 3 | sort_order 4 | sample_url 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/graphql/inject/DownloadableCreditMemoItem.graphql: -------------------------------------------------------------------------------- 1 | fragment DownloadableCreditMemoItem on DownloadableCreditMemoItem 2 | @inject(into: ["CreditMemoItem"]) { 3 | downloadable_links { 4 | ...DownloadableItemsLinks 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/graphql/inject/DownloadableInvoiceItem.graphql: -------------------------------------------------------------------------------- 1 | fragment DownloadableInvoiceItem on DownloadableInvoiceItem @inject(into: ["InvoiceItem"]) { 2 | downloadable_links { 3 | ...DownloadableItemsLinks 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/graphql/inject/DownloadableOrderItem.graphql: -------------------------------------------------------------------------------- 1 | fragment DownloadableOrderItem on DownloadableOrderItem @inject(into: ["OrderItem"]) { 2 | downloadable_links { 3 | ...DownloadableItemsLinks 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/graphql/inject/ProductListItemDownloadable.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListItemDownloadable on DownloadableProduct @inject(into: ["ProductListItem"]) { 2 | uid 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-product-downloadable/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-grouped/ProductListItemGrouped.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListItemGrouped on GroupedProduct @inject(into: ["ProductListItem"]) { 2 | uid 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product-grouped/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductListItemGrouped' 2 | export * from './GroupedProducts/GroupedProducts' 3 | export * from './GroupedProducts/GroupedProductActionCard' 4 | -------------------------------------------------------------------------------- /packages/magento-product-grouped/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-product-grouped/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-simple/ProductListItemSimple.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListItemSimple on SimpleProduct @inject(into: ["ProductListItem"]) { 2 | uid 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product-simple/SimpleCartItem/SimpleCartItem.graphql: -------------------------------------------------------------------------------- 1 | fragment SimpleCartItem on SimpleCartItem @inject(into: ["CartItem"]) { 2 | customizable_options { 3 | ...SelectedCustomizableOption 4 | } 5 | uid 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-product-simple/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductListItemSimple' 2 | -------------------------------------------------------------------------------- /packages/magento-product-simple/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-product-simple/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-virtual/ProductListItemVirtual.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListItemVirtual on VirtualProduct @inject(into: ["ProductListItem"]) { 2 | uid 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product-virtual/ProductPageVirtualQueryFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductPageVirtualQueryFragment on Query { 2 | typeProducts: products(filter: { url_key: { eq: $urlKey } }) { 3 | items { 4 | __typename 5 | uid 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-product-virtual/VirtualCartItem/VirtualCartItem.graphql: -------------------------------------------------------------------------------- 1 | fragment VirtualCartItem on VirtualCartItem @inject(into: ["CartItem"]) { 2 | customizable_options { 3 | ...SelectedCustomizableOption 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product-virtual/VirtualProductPage.graphql: -------------------------------------------------------------------------------- 1 | query VirtualProductPage($urlKey: String) { 2 | ...ProductPageVirtualQueryFragment 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product-virtual/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductListItemVirtual' 2 | export * from './VirtualProductPage.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-product-virtual/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-product-virtual/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product/README.md: -------------------------------------------------------------------------------- 1 | # @graphcommerce/magento-product 2 | 3 | ## Configuration 4 | 5 | Configure the following ([configuration values](./Config.graphqls)) in your 6 | graphcommerce.config.js 7 | -------------------------------------------------------------------------------- /packages/magento-product/components/AddProductsToCart/UseAddProductsToCartAction.graphql: -------------------------------------------------------------------------------- 1 | fragment UseAddProductsToCartAction on ProductInterface { 2 | uid 3 | sku 4 | only_x_left_in_stock 5 | stock_status 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-product/components/JsonLdProduct/index.ts: -------------------------------------------------------------------------------- 1 | export * from './jsonLdProduct' 2 | export * from './ProductPageJsonLd' 3 | export * from './JsonLdProduct.gql' 4 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductAddToCart/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductAddToCart.gql' 2 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductCustomizable/CustomizableOption.graphql: -------------------------------------------------------------------------------- 1 | fragment CustomizableOption on CustomizableOptionInterface { 2 | uid 3 | required 4 | sort_order 5 | title 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductCustomizable/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductCustomizable' 2 | export * from './productCustomizableSelectors' 3 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListCount/ProductListCount.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListCount on Products { 2 | total_count 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListFilters/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductFilters.gql' 2 | export * from './ProductListFilters' 3 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListItems/CategoryDefault.graphql: -------------------------------------------------------------------------------- 1 | fragment CategoryDefault on CategoryInterface { 2 | uid 3 | default_sort_by 4 | available_sort_by 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListItems/ProductListItems.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListItems on Products { 2 | items { 3 | __typename 4 | uid 5 | ...ProductListItem 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListPagination/ProductListPagination.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListPagination on Products { 2 | page_info { 3 | current_page 4 | total_pages 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListPrice/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductListPrice.gql' 2 | export * from './ProductListPrice' 3 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListSort/ProductListSort.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListSort on Products { 2 | total_count 3 | sort_fields { 4 | default 5 | options { 6 | label 7 | value 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListSort/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductListSort' 2 | export * from './ProductListSort.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListSuggestions/ProductListSearchSuggestion.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListSearchSuggestion on SearchSuggestion { 2 | search 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductListSuggestions/ProductListSuggestions.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductListSuggestions on Products { 2 | suggestions { 3 | ...ProductListSearchSuggestion 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductPageBreadcrumb/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductPageBreadcrumb.gql' 2 | export * from './ProductPageBreadcrumb' 3 | export * from './ProductPageBreadcrumbs' 4 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductPageCategory/ProductPageCategory.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductPageCategory on ProductInterface { 2 | categories { 3 | uid 4 | name 5 | url_path 6 | include_in_menu 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductPageDescription/ComplexTextValue.graphql: -------------------------------------------------------------------------------- 1 | fragment ComplexTextValue on ComplexTextValue { 2 | html 3 | __typename 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductPageGallery/ProductImage.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductImage on ProductImage { 2 | url 3 | label 4 | disabled 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductPageName/ProductPageName.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductPageName on ProductInterface { 2 | name 3 | __typename 4 | url_key 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductPageName/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductPageName' 2 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductPagePrice/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProductPagePrice.gql' 2 | export * from './ProductPagePriceTiers' 3 | export * from './ProductPagePrice' 4 | export * from './getProductTierPrice' 5 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductRelated/RelatedProducts.graphql: -------------------------------------------------------------------------------- 1 | fragment RelatedProducts on ProductInterface { 2 | related_products { 3 | ...ProductListItem 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductShortDescription/ProductShortDescription.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductShortDescription on ProductInterface { 2 | __typename 3 | url_key 4 | short_description { 5 | ...ComplexTextValue 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductUpsells/UpsellProducts.graphql: -------------------------------------------------------------------------------- 1 | fragment UpsellProducts on ProductInterface { 2 | upsell_products { 3 | ...ProductListItem 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product/components/ProductWeight/ProductWeight.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductWeight on PhysicalProductInterface { 2 | weight 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-product/graphql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fragments/ProductListItem.gql' 2 | export * from './fragments/ProductPageItem.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-product/hooks/ProductLink.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductLink on ProductInterface { 2 | __typename 3 | uid 4 | url_key 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-product/hooks/useProductListParamsContext.ts: -------------------------------------------------------------------------------- 1 | import { useContext } from 'react' 2 | import { productListParamsContext } from '../context/productListParamsContext' 3 | 4 | export const useProductListParamsContext = () => useContext(productListParamsContext) 5 | -------------------------------------------------------------------------------- /packages/magento-product/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-product/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-recently-viewed-products/graphql/RecentlyViewedProducts.graphql: -------------------------------------------------------------------------------- 1 | query RecentlyViewedProducts { 2 | recentlyViewedProducts @client { 3 | __typename 4 | items { 5 | __typename 6 | sku 7 | parentSku 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/magento-recently-viewed-products/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useRecentlyViewedProducts' 2 | export * from './useRecentlyViewedSkus' 3 | -------------------------------------------------------------------------------- /packages/magento-recently-viewed-products/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/RecentlyViewedProducts' 2 | export * from './hooks' 3 | export * from './graphql/RecentlyViewedProducts.gql' 4 | -------------------------------------------------------------------------------- /packages/magento-review/components/AccountReviews/AccountReviews.graphql: -------------------------------------------------------------------------------- 1 | fragment AccountReviews on ProductReviews { 2 | items { 3 | ...CustomerReview 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-review/components/JsonLdProductReview/JsonLdProductReview.graphql: -------------------------------------------------------------------------------- 1 | fragment JsonLdProductReview on ProductInterface { 2 | rating_summary 3 | ...ProductReviews 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-review/components/ProductReviewChip/ProductReviewSummaryChip.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductReviewSummaryChip on ProductInterface 2 | @inject(into: ["ProductListItem", "ProductPageItem"]) { 3 | rating_summary 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-review/components/ProductReviewSummary/ProductReviewSummary.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductReviewSummary on ProductInterface 2 | @inject(into: ["ProductListItem", "ProductPageItem"]) { 3 | rating_summary 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-review/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | export * from './queries/AccountDashboardReviews.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-review/inject/AccountDashboardCustomerReviews.graphql: -------------------------------------------------------------------------------- 1 | fragment AccountDashboardCustomerReviews on Customer @inject(into: ["AccountDashboardCustomer"]) { 2 | reviews { 3 | page_info { 4 | total_pages 5 | } 6 | ...AccountReviews 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-review/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-review/queries/AccountDashboardReviews.graphql: -------------------------------------------------------------------------------- 1 | query AccountDashboardReviews { 2 | customer { 3 | reviews { 4 | ...AccountReviews 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-review/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-search-overlay/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-search-overlay/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-search/components/CategorySearchResult/CategorySearchResult.graphql: -------------------------------------------------------------------------------- 1 | fragment CategorySearchResult on CategoryTree { 2 | uid 3 | url_path 4 | name 5 | ...CategoryBreadcrumb 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-search/graphql/fragments/CategorySearchFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment CategorySearchFragment on CategoryResult { 2 | __typename 3 | items { 4 | ...CategorySearchResult 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-search/graphql/queries/CategorySearch.graphql: -------------------------------------------------------------------------------- 1 | query CategorySearch($pageSize: Int = 10, $filters: CategoryFilterInput) { 2 | categories(filters: $filters, pageSize: $pageSize) { 3 | ...CategorySearchFragment 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-search/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-search/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx", "../magento-search-overlay/index.ts"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-store/components/AttributeForm/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AttributesFormAutoLayout' 2 | export * from './useAttributesForm' 3 | export * from './preloadAttributesForm' 4 | -------------------------------------------------------------------------------- /packages/magento-store/components/PriceModifiers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './PriceModifiers' 2 | export * from './PriceModifiersList' 3 | export * from './PriceModifiersListItem' 4 | export * from './PriceModifiersListChildItem' 5 | -------------------------------------------------------------------------------- /packages/magento-store/graphql/fragments/Money.graphql: -------------------------------------------------------------------------------- 1 | fragment Money on Money { 2 | currency 3 | value 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-store/graphql/fragments/StoreConfigQueryFragment.graphql: -------------------------------------------------------------------------------- 1 | fragment StoreConfigQueryFragment on Query { 2 | __typename 3 | storeConfig { 4 | ...StoreConfigFragment 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-store/graphql/fragments/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AttributeValueFragment.gql' 2 | export * from './CustomAttributeMetadata.gql' 3 | export * from './Money.gql' 4 | export * from './StoreConfigFragment.gql' 5 | export * from './StoreConfigQueryFragment.gql' 6 | -------------------------------------------------------------------------------- /packages/magento-store/graphql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fragments' 2 | export * from './queries' 3 | -------------------------------------------------------------------------------- /packages/magento-store/graphql/queries/StoreConfig.graphql: -------------------------------------------------------------------------------- 1 | query StoreConfig { 2 | storeConfig { 3 | store_code 4 | } 5 | ...StoreConfigQueryFragment 6 | } 7 | -------------------------------------------------------------------------------- /packages/magento-store/graphql/queries/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AttributesForm.gql' 2 | export * from './CountryRegions.gql' 3 | export * from './HandleRedirect.gql' 4 | export * from './StoreConfig.gql' 5 | export * from './StoreSwitcherList.gql' 6 | -------------------------------------------------------------------------------- /packages/magento-store/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-store/schema/PrivateContext.graphqls: -------------------------------------------------------------------------------- 1 | input PrivateContext { 2 | storeCode: String 3 | currencyCode: String 4 | } 5 | -------------------------------------------------------------------------------- /packages/magento-store/schema/StoreConfig-currency.graphqls: -------------------------------------------------------------------------------- 1 | extend type StoreConfig { 2 | currency: Currency 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-store/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-wishlist/components/ProductWishlistChip/ProductWishlistChip.graphql: -------------------------------------------------------------------------------- 1 | fragment ProductWishlistChip on ProductInterface { 2 | name 3 | sku 4 | url_key 5 | } 6 | -------------------------------------------------------------------------------- /packages/magento-wishlist/hooks/useRemoveProductsFromWishlist/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useRemoveProductsFromWishlist' 2 | export * from './UseRemoveProductsFromWishlist.gql' 3 | -------------------------------------------------------------------------------- /packages/magento-wishlist/hooks/useWishlistEnabled/UseWishlistEnabledStoreConfig.graphql: -------------------------------------------------------------------------------- 1 | fragment WishlistStoreConfig on StoreConfig @inject(into: ["StoreConfigFragment"]) { 2 | magento_wishlist_general_is_enabled 3 | } 4 | -------------------------------------------------------------------------------- /packages/magento-wishlist/hooks/useWishlistitems/UseWishlistCustomer.graphql: -------------------------------------------------------------------------------- 1 | query UseWishlistCustomer { 2 | customer { 3 | wishlists { 4 | ...Wishlist 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/magento-wishlist/hooks/useWishlistitems/UseWishlistGuest.graphql: -------------------------------------------------------------------------------- 1 | query UseWishlistGuest { 2 | customer @client { 3 | __typename 4 | wishlists { 5 | ...Wishlist 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/magento-wishlist/hooks/useWishlistitems/index.ts: -------------------------------------------------------------------------------- 1 | export * from './UseWishlistCustomer.gql' 2 | export * from './UseWishlistGuest.gql' 3 | export * from './useWishlistItems' 4 | -------------------------------------------------------------------------------- /packages/magento-wishlist/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | export * from './hooks' 3 | -------------------------------------------------------------------------------- /packages/magento-wishlist/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/magento-wishlist/queries/Wishlist.graphql: -------------------------------------------------------------------------------- 1 | fragment Wishlist on Wishlist { 2 | __typename 3 | id 4 | items_count 5 | items_v2 { 6 | __typename 7 | items { 8 | ...WishlistItem 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/magento-wishlist/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/mollie-magento-payment/components/MollieOptionsToken/MollieStoreConfig.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/4b02607b26dd45e33bba3fb73d36052757dc2dec/packages/mollie-magento-payment/components/MollieOptionsToken/MollieStoreConfig.graphql -------------------------------------------------------------------------------- /packages/mollie-magento-payment/components/MolliePaymentHandler/MollieRecoverCart.graphql: -------------------------------------------------------------------------------- 1 | mutation MollieRecoverCart($cartId: String!) { 2 | mollieRestoreCart(input: { cart_id: $cartId }) { 3 | cart { 4 | id 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/mollie-magento-payment/index.ts: -------------------------------------------------------------------------------- 1 | export * from './methods' 2 | -------------------------------------------------------------------------------- /packages/mollie-magento-payment/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /packages/mollie-magento-payment/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["node_modules"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/next-ui/ActionCard/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ActionCard' 2 | export * from './ActionCardAccordion' 3 | export * from './ActionCardLayout' 4 | export * from './ActionCardList' 5 | -------------------------------------------------------------------------------- /packages/next-ui/Breadcrumbs/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Breadcrumbs' 2 | export * from './types' 3 | export * from './BreadcrumbsJsonLd' 4 | export * from './jsonLdBreadcrumb' 5 | -------------------------------------------------------------------------------- /packages/next-ui/Button/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Button' 2 | export * from './LinkOrButton' 3 | -------------------------------------------------------------------------------- /packages/next-ui/Document/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DocumentBodyEnd' 2 | export * from './DocumentBodyStart' 3 | export * from './DocumentHeadEnd' 4 | export * from './DocumentHeadStart' 5 | -------------------------------------------------------------------------------- /packages/next-ui/Fab/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Fab' 2 | -------------------------------------------------------------------------------- /packages/next-ui/Footer/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Footer' 2 | -------------------------------------------------------------------------------- /packages/next-ui/FramerScroller/index.ts: -------------------------------------------------------------------------------- 1 | export * from './SidebarGallery' 2 | export * from './SidebarSlider' 3 | export * from './ItemScroller' 4 | -------------------------------------------------------------------------------- /packages/next-ui/IconSvg/index.ts: -------------------------------------------------------------------------------- 1 | export * from './IconSvg' 2 | export * from './svgIconStrokeWidth' 3 | -------------------------------------------------------------------------------- /packages/next-ui/Intl/CurrencySymbol/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CurrencySymbol' 2 | -------------------------------------------------------------------------------- /packages/next-ui/Intl/DateTimeFormat/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DateTimeFormat' 2 | export * from './DateFormat' 3 | export * from './TimeFormat' 4 | export * from './useIntlDateTimeFormat' 5 | export * from './toDate' 6 | -------------------------------------------------------------------------------- /packages/next-ui/Intl/DisplayNames/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DisplayNames' 2 | export * from './useIntlDisplayNames' 3 | -------------------------------------------------------------------------------- /packages/next-ui/Intl/ListFormat/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ListFormat' 2 | export * from './useIntlListFormat' 3 | -------------------------------------------------------------------------------- /packages/next-ui/Intl/NumberFormat/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CurrencyFormat' 2 | export * from './NumberFormat' 3 | export * from './UnitFormat' 4 | export * from './PercentFormat' 5 | export * from './useIntlNumberFormat' 6 | -------------------------------------------------------------------------------- /packages/next-ui/Intl/RelativeTimeFormat/index.ts: -------------------------------------------------------------------------------- 1 | export * from './RelativeTimeFormat' 2 | export * from './RelativeToTimeFormat' 3 | export * from './useIntlRelativeTimeFormat' 4 | -------------------------------------------------------------------------------- /packages/next-ui/Layout/context/layoutContext.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import type { LayoutContext } from '../types' 3 | 4 | export const layoutContext = React.createContext(null) 5 | layoutContext.displayName = 'layoutContext' 6 | -------------------------------------------------------------------------------- /packages/next-ui/Layout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types' 2 | export * from './components/LayoutHeader' 3 | export * from './components/LayoutProvider' 4 | export * from './components/LayoutTitle' 5 | export * from './hooks/useScrollY' 6 | -------------------------------------------------------------------------------- /packages/next-ui/Layout/types.ts: -------------------------------------------------------------------------------- 1 | import type { MotionValue } from 'framer-motion' 2 | 3 | export type LayoutContext = { 4 | scroll: MotionValue 5 | } 6 | -------------------------------------------------------------------------------- /packages/next-ui/LayoutDefault/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/LayoutDefault' 2 | -------------------------------------------------------------------------------- /packages/next-ui/LayoutOverlay/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/LayoutOverlay' 2 | export * from './components/LayoutOverlayHeader' 3 | -------------------------------------------------------------------------------- /packages/next-ui/LazyHydrate/index.ts: -------------------------------------------------------------------------------- 1 | export * from './LazyHydrate' 2 | -------------------------------------------------------------------------------- /packages/next-ui/MediaQuery/index.ts: -------------------------------------------------------------------------------- 1 | export * from './MediaQuery' 2 | -------------------------------------------------------------------------------- /packages/next-ui/Navigation/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/NavigationOverlay' 2 | export * from './components/NavigationFab' 3 | export * from './hooks/useNavigation' 4 | export * from './components/NavigationProvider' 5 | -------------------------------------------------------------------------------- /packages/next-ui/Overlay/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './OverlayBase' 2 | export * from './Overlay' 3 | export * from './OverlayStickyBottom' 4 | export * from './OverlayHeader' 5 | -------------------------------------------------------------------------------- /packages/next-ui/Overlay/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components' 2 | -------------------------------------------------------------------------------- /packages/next-ui/OverlayOrPopperChip/index.ts: -------------------------------------------------------------------------------- 1 | export * from './OverlayOrPopperChip' 2 | export * from './OverlayPanel' 3 | export * from './PopperPanel' 4 | -------------------------------------------------------------------------------- /packages/next-ui/Page/framerFeatures.ts: -------------------------------------------------------------------------------- 1 | // features.js 2 | import { domMax } from 'framer-motion' 3 | 4 | export default domMax 5 | -------------------------------------------------------------------------------- /packages/next-ui/Page/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CssAndFramerMotionProvider' 2 | export * from './types' 3 | -------------------------------------------------------------------------------- /packages/next-ui/RenderType/index.ts: -------------------------------------------------------------------------------- 1 | export * from './nonNullable' 2 | export * from './filterNonNullableKeys' 3 | export * from './RenderType' 4 | -------------------------------------------------------------------------------- /packages/next-ui/RenderType/nonNullable.ts: -------------------------------------------------------------------------------- 1 | export function nonNullable(value: T): value is NonNullable { 2 | return value !== null && value !== undefined 3 | } 4 | -------------------------------------------------------------------------------- /packages/next-ui/Row/ButtonLinkList/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ButtonLinkList' 2 | export * from './ButtonLinkListItem' 3 | -------------------------------------------------------------------------------- /packages/next-ui/Row/ColumnOne/ColumnOne.tsx: -------------------------------------------------------------------------------- 1 | import { Container, styled } from '@mui/material' 2 | 3 | export const ColumnOne = styled(Container, { name: 'ColumnOne' })(({ theme }) => ({ 4 | maxWidth: 820, 5 | marginBottom: theme.spacings.lg, 6 | })) 7 | -------------------------------------------------------------------------------- /packages/next-ui/Row/ColumnOne/variant/index.ts: -------------------------------------------------------------------------------- 1 | export * from './VariantMessage' 2 | -------------------------------------------------------------------------------- /packages/next-ui/Row/Row.tsx: -------------------------------------------------------------------------------- 1 | import { styled } from '@mui/material' 2 | import { Container } from '../Container/Container' 3 | 4 | export const Row = styled(Container, { name: 'Row' })(({ theme }) => ({ 5 | marginBottom: theme.spacings.xxl, 6 | })) 7 | -------------------------------------------------------------------------------- /packages/next-ui/Row/RowLinks/variant/index.ts: -------------------------------------------------------------------------------- 1 | export * from './VariantLogoSwiper' 2 | export * from './VariantImageLabelSwiper' 3 | export * from './VariantInline' 4 | export * from './VariantUsps' 5 | -------------------------------------------------------------------------------- /packages/next-ui/Snackbar/MessageSnackbar.tsx: -------------------------------------------------------------------------------- 1 | import dynamic from 'next/dynamic' 2 | 3 | /** Always load the MessageSnackbar dynamically */ 4 | export const MessageSnackbar = dynamic(() => import('./MessageSnackbarImpl'), { ssr: false }) 5 | -------------------------------------------------------------------------------- /packages/next-ui/Theme/breakpoints.ts: -------------------------------------------------------------------------------- 1 | export const breakpoints = { 2 | values: { 3 | xs: 0, 4 | sm: 600, 5 | md: 960, 6 | lg: 1536, 7 | xl: 1920, 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /packages/next-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/react-hook-form/src/ComposedForm/context.ts: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import type { ComposedFormContext } from './types' 3 | 4 | export const composedFormContext = React.createContext(undefined as unknown as ComposedFormContext) 5 | -------------------------------------------------------------------------------- /packages/react-hook-form/src/ComposedForm/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ComposedForm' 2 | export * from './ComposedSubmit' 3 | export * from './types' 4 | export * from './useFormCompose' 5 | -------------------------------------------------------------------------------- /packages/react-hook-form/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["**/node_modules", "**/.*/"], 3 | "include": ["**/*.ts", "**/*.tsx"], 4 | "extends": "@graphcommerce/typescript-config-pwa/nextjs.json" 5 | } 6 | -------------------------------------------------------------------------------- /packages/service-worker/index.ts: -------------------------------------------------------------------------------- 1 | export * from 'serwist' 2 | export * from './runtimeCaching' 3 | -------------------------------------------------------------------------------- /packagesDev/browserslist-config/index.js: -------------------------------------------------------------------------------- 1 | module.exports = ['> 1% in alt-EU', 'not ie <= 11'] 2 | -------------------------------------------------------------------------------- /packagesDev/changeset-changelog/.gitignore: -------------------------------------------------------------------------------- 1 | !dist 2 | -------------------------------------------------------------------------------- /packagesDev/eslint-config/README.md: -------------------------------------------------------------------------------- 1 | # eslint-config 2 | 3 | Super simple package to share config 4 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-markdown-docs/.gitignore: -------------------------------------------------------------------------------- 1 | !dist 2 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-markdown-docs/dist/config.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-near-operation-file/.gitignore: -------------------------------------------------------------------------------- 1 | !dist 2 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-near-operation-file/.npmignore: -------------------------------------------------------------------------------- 1 | __tests__ 2 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-near-operation-file/dist/test/InjectableFragment.gql.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-near-operation-file/dist/test/InjectingFragment.gql.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-near-operation-file/schema/env.graphqls: -------------------------------------------------------------------------------- 1 | """ 2 | Only include this fragment in the output when the environment variable is set. 3 | """ 4 | directive @env(if: String!) on FRAGMENT_DEFINITION 5 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-relay-optimizer-plugin/.gitignore: -------------------------------------------------------------------------------- 1 | !dist 2 | -------------------------------------------------------------------------------- /packagesDev/graphql-codegen-relay-optimizer-plugin/.npmignore: -------------------------------------------------------------------------------- 1 | __tests__ 2 | 3 | -------------------------------------------------------------------------------- /packagesDev/misc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@graphcommerce/misc", 3 | "homepage": "https://www.graphcommerce.org/", 4 | "repository": "github:graphcommerce-org/graphcommerce", 5 | "version": "9.1.0-canary.34" 6 | } 7 | -------------------------------------------------------------------------------- /packagesDev/next-config/.gitignore: -------------------------------------------------------------------------------- 1 | !dist 2 | -------------------------------------------------------------------------------- /packagesDev/next-config/README.md: -------------------------------------------------------------------------------- 1 | # @graphcommerce/next-config 2 | 3 | ## Configuration 4 | 5 | Configure the following ([configuration values](./Config.graphqls)) in your 6 | graphcommerce.config.js 7 | -------------------------------------------------------------------------------- /packagesDev/next-config/src/utils/PackagesSort.ts: -------------------------------------------------------------------------------- 1 | import { TopologicalSort } from './TopologicalSort' 2 | 3 | export class PackagesSort extends TopologicalSort {} 4 | -------------------------------------------------------------------------------- /packagesDev/prettier-config/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { Options } from 'prettier' 2 | 3 | export default {} as Options 4 | -------------------------------------------------------------------------------- /packagesDev/typescript-config/README.md: -------------------------------------------------------------------------------- 1 | # typescript-config 2 | 3 | Super simple package to share config 4 | -------------------------------------------------------------------------------- /packagesDev/typescript-config/index.js: -------------------------------------------------------------------------------- 1 | module.exports = {} 2 | -------------------------------------------------------------------------------- /patches/README.md: -------------------------------------------------------------------------------- 1 | # Patches 2 | 3 | https://www.npmjs.com/package/patch-package#usage 4 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "installCommand": "yarn install" 3 | } 4 | --------------------------------------------------------------------------------