├── .devcontainer └── devcontainer.json ├── .dockerignore ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github ├── .metadata.json ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── doc_change.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md ├── SUPPORT.md ├── labeler.yml └── workflows │ ├── labeler.yml │ └── publish-cod-to-npm.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .yarnrc ├── CHANGELOG.md ├── CREATE_RELEASE_NOTES.md ├── LICENSE.txt ├── LICENSE_AFL.txt ├── README.md ├── babel.config.js ├── dev.dockerfile ├── docker-compose.yml ├── docker ├── .env.docker.dev ├── .env.docker.prod ├── README.md ├── makeHostAndCert.js ├── package.json ├── run-docker └── yarn.lock ├── global.d.ts ├── graphql.config.js ├── images ├── pwa_imperfect.svg ├── pwa_perfect.svg ├── score_100.svg ├── score_21.svg ├── score_23.svg ├── score_26.svg ├── score_27.svg ├── score_29.svg ├── score_31.svg ├── score_32.svg ├── score_33.svg ├── score_34.svg ├── score_39.svg ├── score_61.svg ├── score_63.svg ├── score_67.svg ├── score_70.svg ├── score_73.svg ├── score_75.svg ├── score_78.svg ├── score_82.svg ├── score_84.svg ├── score_88.svg ├── score_89.svg ├── score_90.svg ├── score_94.svg ├── score_95.svg ├── score_96.svg ├── score_98.svg ├── venia_page_category.png ├── venia_page_details.png ├── venia_page_home.png ├── venia_page_search.png └── xd-ui-kit.png ├── jest.config.js ├── lerna.json ├── magento-compatibility.js ├── package.json ├── packages ├── babel-preset-peregrine │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── __tests__ │ │ │ └── index.spec.js │ │ ├── browserslist.js │ │ └── index.js │ └── package.json ├── create-pwa │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── create-pwa.spec.js.snap │ │ └── create-pwa.spec.js │ ├── bin │ │ └── create-pwa │ ├── lib │ │ └── index.js │ └── package.json ├── extensions │ ├── experience-platform-connector │ │ ├── intercept.js │ │ ├── package.json │ │ └── src │ │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── utils.spec.js.snap │ │ │ └── utils.spec.js │ │ │ ├── config.js │ │ │ ├── handleEvent.js │ │ │ ├── handlers │ │ │ ├── __tests__ │ │ │ │ ├── __mocks__ │ │ │ │ │ ├── cartAddItem.js │ │ │ │ │ ├── cartPageView.js │ │ │ │ │ ├── categoryPageView.js │ │ │ │ │ ├── checkoutPageView.js │ │ │ │ │ ├── completeCheckout.js │ │ │ │ │ ├── createAccount.js │ │ │ │ │ ├── editAccount.js │ │ │ │ │ ├── miniCartView.js │ │ │ │ │ ├── orderConfirmationPageView.js │ │ │ │ │ ├── pageView.js │ │ │ │ │ ├── placeOrderButtonClicked.js │ │ │ │ │ ├── productPageView.js │ │ │ │ │ ├── searchPageRequest.js │ │ │ │ │ ├── searchRequestSent.js │ │ │ │ │ └── searchResponseReceived.js │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── shoppingMiniCartView.spec.js.snap │ │ │ │ ├── addToCart.spec.js │ │ │ │ ├── categoryPageView.spec.js │ │ │ │ ├── completeCheckout.spec.js │ │ │ │ ├── createAccount.spec.js │ │ │ │ ├── editAccount.spec.js │ │ │ │ ├── pageView.spec.js │ │ │ │ ├── placeOrder.spec.js │ │ │ │ ├── productPageView.spec.js │ │ │ │ ├── searchRequestSent.spec.js │ │ │ │ ├── searchResponseReceived.spec.js │ │ │ │ ├── shoppingCartPageView.spec.js │ │ │ │ ├── shoppingMiniCartView.spec.js │ │ │ │ ├── signIn.spec.js │ │ │ │ └── startCheckout.spec.js │ │ │ ├── addToCart.js │ │ │ ├── categoryPageView.js │ │ │ ├── completeCheckout.js │ │ │ ├── createAccount.js │ │ │ ├── editAccount.js │ │ │ ├── pageView.js │ │ │ ├── placeOrder.js │ │ │ ├── productPageView.js │ │ │ ├── searchRequestSent.js │ │ │ ├── searchResponseReceived.js │ │ │ ├── shoppingCartPageView.js │ │ │ ├── shoppingMiniCartView.js │ │ │ ├── signIn.js │ │ │ ├── signOut.js │ │ │ └── startCheckout.js │ │ │ ├── hooks │ │ │ └── useExtensionContext.js │ │ │ ├── main.js │ │ │ ├── queries │ │ │ └── getExtensionContext.js │ │ │ ├── utils.js │ │ │ └── wrappers │ │ │ ├── wrapUseAccountMenu.js │ │ │ └── wrapUseAutocomplete.js │ ├── plugin-braintree-three-d-secure │ │ ├── Intercepts │ │ │ └── brainTreeDropIn.js │ │ ├── Model │ │ │ └── useBraintreeThreeDSecure.js │ │ ├── Queries │ │ │ └── createBraintreeClientToken.gql.js │ │ ├── README.md │ │ ├── index.js │ │ ├── intercept.js │ │ ├── moduleOverrideWebpackPlugin.js │ │ └── package.json │ ├── upward-security-headers │ │ ├── intercept.js │ │ ├── package.json │ │ └── upward.yml │ ├── venia-product-recommendations │ │ ├── lib │ │ │ ├── components │ │ │ │ ├── Gallery │ │ │ │ │ ├── Gallery.js │ │ │ │ │ ├── gallery.css │ │ │ │ │ ├── index.js │ │ │ │ │ └── item.css │ │ │ │ └── VeniaProductRecommendations │ │ │ │ │ ├── ProductRecommendations.css │ │ │ │ │ ├── VeniaProductRecommendations.js │ │ │ │ │ └── index.js │ │ │ ├── constants │ │ │ │ ├── index.js │ │ │ │ ├── localStorageConstants.js │ │ │ │ └── pageTypes.js │ │ │ ├── hooks │ │ │ │ ├── useObserver.js │ │ │ │ ├── useRecsData.js │ │ │ │ ├── useRecsTrackingProps.js │ │ │ │ └── useSyncMSEToLocalStorage.js │ │ │ ├── index.js │ │ │ ├── queries │ │ │ │ └── getCart.gql.js │ │ │ ├── targets │ │ │ │ └── intercept.js │ │ │ └── wrappers │ │ │ │ ├── wrapUseApp.js │ │ │ │ └── wrapUseGalleryItem.js │ │ └── package.json │ ├── venia-pwa-live-search │ │ ├── package.json │ │ ├── postcss.config.js │ │ └── src │ │ │ ├── api │ │ │ ├── fragments.js │ │ │ ├── graphql.js │ │ │ ├── mutations.js │ │ │ ├── queries.js │ │ │ └── search.js │ │ │ ├── components │ │ │ ├── AddToCartButton │ │ │ │ ├── AddToCartButton.jsx │ │ │ │ ├── AddToCartButton.stories.mdx │ │ │ │ └── index.js │ │ │ ├── Alert │ │ │ │ ├── Alert.jsx │ │ │ │ └── index.js │ │ │ ├── Breadcrumbs │ │ │ │ ├── Breadcrumbs.jsx │ │ │ │ ├── MockPages.js │ │ │ │ └── index.js │ │ │ ├── ButtonShimmer │ │ │ │ ├── ButtonShimmer.css │ │ │ │ ├── ButtonShimmer.jsx │ │ │ │ └── index.js │ │ │ ├── CategoryFilters │ │ │ │ ├── CategoryFilters.jsx │ │ │ │ └── index.js │ │ │ ├── Facets │ │ │ │ ├── Facets.jsx │ │ │ │ ├── Range │ │ │ │ │ └── RangeFacet.js │ │ │ │ ├── Scalar │ │ │ │ │ └── ScalarFacet.js │ │ │ │ ├── SelectedFilters.js │ │ │ │ ├── format.js │ │ │ │ ├── index.js │ │ │ │ └── mocks.js │ │ │ ├── FacetsShimmer │ │ │ │ ├── FacetsShimmer.css │ │ │ │ ├── FacetsShimmer.jsx │ │ │ │ └── index.js │ │ │ ├── FilterButton │ │ │ │ ├── FilterButton.jsx │ │ │ │ └── index.js │ │ │ ├── ImageCarousel │ │ │ │ ├── Image.jsx │ │ │ │ ├── ImageCarousel.jsx │ │ │ │ └── index.js │ │ │ ├── InputButtonGroup │ │ │ │ ├── InputButtonGroup.jsx │ │ │ │ └── index.js │ │ │ ├── LabelledInput │ │ │ │ ├── LabelledInput.jsx │ │ │ │ └── index.js │ │ │ ├── Loading │ │ │ │ ├── Loading.jsx │ │ │ │ └── index.js │ │ │ ├── NoResults │ │ │ │ ├── NoResults.jsx │ │ │ │ └── index.js │ │ │ ├── Pagination │ │ │ │ ├── Pagination.jsx │ │ │ │ └── index.js │ │ │ ├── PerPagePicker │ │ │ │ ├── PerPagePicker.jsx │ │ │ │ └── index.js │ │ │ ├── Pill │ │ │ │ ├── Pill.jsx │ │ │ │ ├── index.js │ │ │ │ └── mock.js │ │ │ ├── ProductCardShimmer │ │ │ │ ├── ProductCardShimmer.css │ │ │ │ ├── ProductCardShimmer.jsx │ │ │ │ └── index.js │ │ │ ├── ProductItem │ │ │ │ ├── MockData.js │ │ │ │ ├── ProductItem.css │ │ │ │ ├── ProductItem.jsx │ │ │ │ ├── ProductPrice.jsx │ │ │ │ └── index.js │ │ │ ├── ProductList │ │ │ │ ├── MockData.js │ │ │ │ ├── ProductList.jsx │ │ │ │ ├── index.js │ │ │ │ └── product-list.css │ │ │ ├── SearchBar │ │ │ │ ├── SearchBar.jsx │ │ │ │ └── index.js │ │ │ ├── Shimmer │ │ │ │ ├── Shimmer.css │ │ │ │ ├── Shimmer.jsx │ │ │ │ └── index.js │ │ │ ├── Slider │ │ │ │ ├── Slider.css │ │ │ │ ├── Slider.jsx │ │ │ │ └── index.jsx │ │ │ ├── SliderDoubleControl │ │ │ │ ├── SliderDoubleControl.css │ │ │ │ ├── SliderDoubleControl.jsx │ │ │ │ └── index.js │ │ │ ├── SortDropdown │ │ │ │ ├── SortDropdown.jsx │ │ │ │ └── index.js │ │ │ ├── SwatchButton │ │ │ │ ├── SwatchButton.jsx │ │ │ │ └── index.js │ │ │ ├── SwatchButtonGroup │ │ │ │ ├── SwatchButtonGroup.jsx │ │ │ │ └── index.js │ │ │ ├── ViewSwitcher │ │ │ │ ├── ViewSwitcher.jsx │ │ │ │ └── index.js │ │ │ └── WishlistButton │ │ │ │ ├── WishlistButton.jsx │ │ │ │ └── index.js │ │ │ ├── containers │ │ │ ├── App.jsx │ │ │ ├── LiveSearchPLPLoader.jsx │ │ │ ├── LiveSearchPopoverLoader.jsx │ │ │ ├── LiveSearchSRLPLoader.jsx │ │ │ ├── ProductListingPage.jsx │ │ │ ├── ProductsContainer.jsx │ │ │ └── ProductsHeader.jsx │ │ │ ├── context │ │ │ ├── attributeMetadata.js │ │ │ ├── cart.js │ │ │ ├── displayChange.js │ │ │ ├── events.js │ │ │ ├── index.js │ │ │ ├── products.jsx │ │ │ ├── resultsModifierContext.js │ │ │ ├── search.jsx │ │ │ ├── store.jsx │ │ │ ├── translation.jsx │ │ │ ├── widgetConfig.jsx │ │ │ └── wishlist.jsx │ │ │ ├── hooks │ │ │ ├── eventing │ │ │ │ ├── useEventListener.js │ │ │ │ ├── useLocation.js │ │ │ │ ├── useMagentoExtensionContext.js │ │ │ │ ├── usePageView.js │ │ │ │ ├── useShopperContext.js │ │ │ │ ├── useStorefrontInstanceContext.js │ │ │ │ └── useViewedOffsets.js │ │ │ ├── useAccessibleDropdown.js │ │ │ ├── useLiveSearchPLPConfig.js │ │ │ ├── useLiveSearchPopoverConfig.js │ │ │ ├── useLiveSearchSRLPConfig.js │ │ │ ├── usePagination.js │ │ │ ├── useRangeFacet.js │ │ │ ├── useScalarFacet.js │ │ │ └── useSliderFacet.js │ │ │ ├── i18n │ │ │ ├── Sorani.js │ │ │ ├── ar_AE.js │ │ │ ├── bg_BG.js │ │ │ ├── bn_IN.js │ │ │ ├── ca_ES.js │ │ │ ├── cs_CZ.js │ │ │ ├── da_DK.js │ │ │ ├── de_DE.js │ │ │ ├── el_GR.js │ │ │ ├── en_GA.js │ │ │ ├── en_GB.js │ │ │ ├── en_US.js │ │ │ ├── es_ES.js │ │ │ ├── et_EE.js │ │ │ ├── eu_ES.js │ │ │ ├── fa_IR.js │ │ │ ├── fi_FI.js │ │ │ ├── fr_FR.js │ │ │ ├── gl_ES.js │ │ │ ├── hi_IN.js │ │ │ ├── hu_HU.js │ │ │ ├── hy_AM.js │ │ │ ├── id_ID.js │ │ │ ├── index.js │ │ │ ├── it_IT.js │ │ │ ├── ja_JP.js │ │ │ ├── ko_KR.js │ │ │ ├── lt_LT.js │ │ │ ├── lv_LV.js │ │ │ ├── nb_NO.js │ │ │ ├── nl_NL.js │ │ │ ├── pt_BR.js │ │ │ ├── pt_PT.js │ │ │ ├── ro_RO.js │ │ │ ├── ru_RU.js │ │ │ ├── sv_SE.js │ │ │ ├── th_TH.js │ │ │ ├── tr_TR.js │ │ │ ├── zh_Hans_CN.js │ │ │ └── zh_Hant_TW.js │ │ │ ├── icons │ │ │ ├── NoImage.svg │ │ │ ├── adjustments.svg │ │ │ ├── cart.svg │ │ │ ├── checkmark.svg │ │ │ ├── chevron.svg │ │ │ ├── emptyHeart.svg │ │ │ ├── error.svg │ │ │ ├── filledHeart.svg │ │ │ ├── filter.svg │ │ │ ├── gridView.svg │ │ │ ├── info.svg │ │ │ ├── listView.svg │ │ │ ├── loading.svg │ │ │ ├── plus.svg │ │ │ ├── sort.svg │ │ │ ├── warning.svg │ │ │ └── x.svg │ │ │ ├── index.jsx │ │ │ ├── queries │ │ │ ├── customerGroupCode.gql.js │ │ │ ├── eventing │ │ │ │ ├── getMagentoExtensionContext.gql.js │ │ │ │ ├── getPageType.gql.js │ │ │ │ └── getStorefrontContext.gql.js │ │ │ ├── index.js │ │ │ ├── liveSearchPlpConfigs.gql.js │ │ │ └── liveSearchPopoverConfigs.gql.js │ │ │ ├── styles │ │ │ ├── autocomplete.module.css │ │ │ ├── index.css │ │ │ ├── searchBar.module.css │ │ │ └── tokens.css │ │ │ ├── targets │ │ │ └── intercept.js │ │ │ ├── utils │ │ │ ├── constants.js │ │ │ ├── decodeHtmlString.js │ │ │ ├── dom.js │ │ │ ├── eventing │ │ │ │ ├── getCookie.js │ │ │ │ └── usePageTypeFromUrl.js │ │ │ ├── getProductImage.js │ │ │ ├── getProductPrice.js │ │ │ ├── getUserViewHistory.js │ │ │ ├── handleUrlFilters.js │ │ │ ├── htmlStringDecode.js │ │ │ ├── modifyResults.js │ │ │ ├── sort.js │ │ │ ├── useIntersectionObserver.js │ │ │ └── validateStoreDetails.js │ │ │ └── wrappers │ │ │ └── wrapUseApp.js │ ├── venia-sample-backends │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── intercept.spec.js.snap │ │ │ └── intercept.spec.js │ │ ├── intercept.js │ │ └── package.json │ ├── venia-sample-eventing │ │ ├── intercept.js │ │ ├── main.js │ │ └── package.json │ ├── venia-sample-language-packs │ │ ├── README.md │ │ ├── i18n-intercept.js │ │ ├── i18n │ │ │ └── fr_FR.json │ │ └── package.json │ ├── venia-sample-payments-cashondelivery │ │ ├── README.md │ │ ├── intercept.js │ │ ├── package.json │ │ └── src │ │ │ ├── components │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── cashondelivery.spec.js.snap │ │ │ │ │ ├── editcod.spec.js.snap │ │ │ │ │ └── summarycod.spec.js.snap │ │ │ │ ├── cashondelivery.spec.js │ │ │ │ ├── editcod.spec.js │ │ │ │ └── summarycod.spec.js │ │ │ ├── cashondelivery.js │ │ │ ├── cashondelivery.module.css │ │ │ ├── editcod.js │ │ │ ├── summary.module.css │ │ │ └── summarycod.js │ │ │ └── talons │ │ │ ├── cashondelivery.gql.js │ │ │ └── useCashondelivery.js │ └── venia-sample-payments-checkmo │ │ ├── README.md │ │ ├── client-schema.graphql │ │ ├── intercept.js │ │ ├── package.json │ │ └── src │ │ ├── components │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ ├── checkmo.spec.js.snap │ │ │ │ ├── edit.spec.js.snap │ │ │ │ └── summary.spec.js.snap │ │ │ ├── checkmo.spec.js │ │ │ ├── edit.spec.js │ │ │ └── summary.spec.js │ │ ├── checkmo.js │ │ ├── checkmo.module.css │ │ ├── edit.js │ │ ├── edit.module.css │ │ ├── summary.js │ │ └── summary.module.css │ │ └── talons │ │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── useCheckmo.spec.js.snap │ │ └── useCheckmo.spec.js │ │ ├── checkmo.gql.js │ │ └── useCheckmo.js ├── graphql-cli-validate-magento-pwa-queries │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE.md │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── __tests__ │ │ │ └── index.spec.js │ │ └── index.js │ └── package.json ├── pagebuilder │ ├── lib │ │ ├── ContentTypes │ │ │ ├── Banner │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── banner.shimmer.spec.js.snap │ │ │ │ │ │ └── banner.spec.js.snap │ │ │ │ │ ├── banner.shimmer.spec.js │ │ │ │ │ ├── banner.spec.js │ │ │ │ │ └── configAggregator.spec.js │ │ │ │ ├── banner.js │ │ │ │ ├── banner.module.css │ │ │ │ ├── banner.shimmer.js │ │ │ │ ├── banner.shimmer.module.css │ │ │ │ ├── configAggregator.js │ │ │ │ └── index.js │ │ │ ├── Block │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── block.spec.js.snap │ │ │ │ │ ├── block.spec.js │ │ │ │ │ └── configAggregator.spec.js │ │ │ │ ├── block.js │ │ │ │ ├── configAggregator.js │ │ │ │ └── index.js │ │ │ ├── ButtonItem │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── buttonItem.spec.js.snap │ │ │ │ │ ├── buttonItem.spec.js │ │ │ │ │ └── configAggregator.spec.js │ │ │ │ ├── buttonItem.js │ │ │ │ ├── buttonItem.module.css │ │ │ │ ├── configAggregator.js │ │ │ │ └── index.js │ │ │ ├── Buttons │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── buttons.spec.js.snap │ │ │ │ │ ├── buttons.spec.js │ │ │ │ │ └── configAggregator.spec.js │ │ │ │ ├── buttons.js │ │ │ │ ├── buttons.module.css │ │ │ │ ├── configAggregator.js │ │ │ │ └── index.js │ │ │ ├── Column │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── column.spec.js.snap │ │ │ │ │ ├── column.spec.js │ │ │ │ │ └── configAggregator.spec.js │ │ │ │ ├── column.js │ │ │ │ ├── column.module.css │ │ │ │ ├── configAggregator.js │ │ │ │ └── index.js │ │ │ ├── ColumnGroup │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── columnGroup.spec.js.snap │ │ │ │ │ ├── columnGroup.spec.js │ │ │ │ │ └── configAggregator.spec.js │ │ │ │ ├── columnGroup.js │ │ │ │ ├── columnGroup.module.css │ │ │ │ ├── configAggregator.js │ │ │ │ └── index.js │ │ │ ├── ColumnLine │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── columnLine.spec.js.snap │ │ │ │ │ ├── columnLine.spec.js │ │ │ │ │ └── configAggregator.spec.js │ │ │ │ ├── columnLine.js │ │ │ │ ├── columnLine.module.css │ │ │ │ ├── configAggregator.js │ │ │ │ └── index.js │ │ │ ├── CustomContentTypeList.js │ │ │ ├── Divider │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── divider.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── divider.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── divider.js │ │ │ │ ├── divider.module.css │ │ │ │ └── index.js │ │ │ ├── DynamicBlock │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── dynamicBlock.ce.spec.js.snap │ │ │ │ │ │ ├── dynamicBlock.ee.spec.js.snap │ │ │ │ │ │ └── dynamicBlock.shimmer.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ ├── dynamicBlock.ce.spec.js │ │ │ │ │ ├── dynamicBlock.ee.spec.js │ │ │ │ │ └── dynamicBlock.shimmer.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── dynamicBlock.ce.js │ │ │ │ ├── dynamicBlock.ee.js │ │ │ │ ├── dynamicBlock.module.css │ │ │ │ ├── dynamicBlock.shimmer.js │ │ │ │ ├── dynamicBlock.shimmer.module.css │ │ │ │ └── index.js │ │ │ ├── Heading │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── heading.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── heading.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── heading.js │ │ │ │ └── index.js │ │ │ ├── Html │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── html.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── html.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── html.js │ │ │ │ ├── html.module.css │ │ │ │ └── index.js │ │ │ ├── Image │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── image.shimmer.spec.js.snap │ │ │ │ │ │ └── image.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ ├── image.shimmer.spec.js │ │ │ │ │ └── image.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── image.js │ │ │ │ ├── image.module.css │ │ │ │ ├── image.shimmer.js │ │ │ │ ├── image.shimmer.module.css │ │ │ │ └── index.js │ │ │ ├── Map │ │ │ │ ├── __mocks__ │ │ │ │ │ └── loadGoogleMapsApi.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── map.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── map.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── index.js │ │ │ │ ├── map.js │ │ │ │ └── map.module.css │ │ │ ├── Products │ │ │ │ ├── Carousel │ │ │ │ │ ├── __fixtures__ │ │ │ │ │ │ └── apolloMocks.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── carousel.spec.js.snap │ │ │ │ │ │ ├── carousel.spec.js │ │ │ │ │ │ └── useCarousel.spec.js │ │ │ │ │ ├── carousel.gql.ce.js │ │ │ │ │ ├── carousel.gql.ee.js │ │ │ │ │ ├── carousel.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── useCarousel.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── products.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── products.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── index.js │ │ │ │ ├── products.js │ │ │ │ └── products.module.css │ │ │ ├── Row │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── row.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── row.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── index.js │ │ │ │ ├── row.js │ │ │ │ └── row.module.css │ │ │ ├── Slider │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── slider.shimmer.spec.js.snap │ │ │ │ │ │ └── slider.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ ├── slider.shimmer.spec.js │ │ │ │ │ └── slider.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── index.js │ │ │ │ ├── slider.js │ │ │ │ ├── slider.module.css │ │ │ │ ├── slider.shimmer.js │ │ │ │ └── slider.shimmer.module.css │ │ │ ├── TabItem │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── tabItem.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── tabItem.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── index.js │ │ │ │ ├── tabItem.js │ │ │ │ └── tabItem.module.css │ │ │ ├── Tabs │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── tabs.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── tabs.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── index.js │ │ │ │ ├── tabs.js │ │ │ │ └── tabs.module.css │ │ │ ├── Text │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── text.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── text.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── index.js │ │ │ │ ├── text.js │ │ │ │ └── text.module.css │ │ │ ├── Video │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── video.spec.js.snap │ │ │ │ │ ├── configAggregator.spec.js │ │ │ │ │ └── video.spec.js │ │ │ │ ├── configAggregator.js │ │ │ │ ├── index.js │ │ │ │ ├── video.js │ │ │ │ └── video.module.css │ │ │ └── customContentTypes.js │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ ├── parseStorageHtml.spec.js.snap │ │ │ │ └── utils.spec.js.snap │ │ │ ├── config.spec.js │ │ │ ├── detectPageBuilder.spec.js │ │ │ ├── factory.spec.js │ │ │ ├── handleHtmlContentClick.spec.js │ │ │ ├── pagebuilder-targets.spec.js │ │ │ ├── parseStorageHtml.spec.js │ │ │ ├── resolveLinkProps.spec.js │ │ │ └── utils.spec.js │ │ ├── config.js │ │ ├── declare.js │ │ ├── detectPageBuilder.js │ │ ├── factory.js │ │ ├── handleHtmlContentClick.js │ │ ├── index.js │ │ ├── intercept.js │ │ ├── pagebuilder.js │ │ ├── parseStorageHtml.js │ │ ├── resolveLinkProps.js │ │ └── utils.js │ ├── package.json │ └── scripts │ │ └── shim.js ├── peregrine │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── RestApi.md │ │ └── Router.md │ ├── lib │ │ ├── Apollo │ │ │ ├── __tests__ │ │ │ │ ├── clearCartDataFromCache.spec.js │ │ │ │ ├── clearCustomerDataFromCache.spec.js │ │ │ │ └── constants.spec.js │ │ │ ├── attachClientToStore.js │ │ │ ├── clearCartDataFromCache.js │ │ │ ├── clearCustomerDataFromCache.js │ │ │ ├── client-schema.graphql │ │ │ ├── constants.js │ │ │ ├── links │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── index.spec.js.snap │ │ │ │ │ ├── gqlCacheLink.spec.js │ │ │ │ │ └── index.spec.js │ │ │ │ ├── authLink.js │ │ │ │ ├── errorLink.js │ │ │ │ ├── gqlCacheLink.js │ │ │ │ ├── index.js │ │ │ │ ├── mutationQueueLink.js │ │ │ │ ├── retryLink.js │ │ │ │ └── storeLink.js │ │ │ ├── magentoGqlCacheLink.js │ │ │ └── policies │ │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── index.spec.js.snap │ │ │ │ └── index.spec.js │ │ │ │ └── index.js │ │ ├── ContainerChild │ │ │ ├── __docs__ │ │ │ │ └── containerChild.md │ │ │ ├── __tests__ │ │ │ │ └── containerChild.test.js │ │ │ ├── containerChild.js │ │ │ └── index.js │ │ ├── List │ │ │ ├── __docs__ │ │ │ │ ├── item.md │ │ │ │ ├── items.md │ │ │ │ └── list.md │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── item.spec.js.snap │ │ │ │ │ ├── items.spec.js.snap │ │ │ │ │ └── list.spec.js.snap │ │ │ │ ├── item.spec.js │ │ │ │ ├── items.spec.js │ │ │ │ ├── list.spec.js │ │ │ │ └── useListState.js │ │ │ ├── index.js │ │ │ ├── item.js │ │ │ ├── items.js │ │ │ ├── list.js │ │ │ └── useListState.js │ │ ├── PeregrineContextProvider │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── peregrineContextProvider.spec.js.snap │ │ │ │ └── peregrineContextProvider.spec.js │ │ │ ├── index.js │ │ │ └── peregrineContextProvider.js │ │ ├── Price │ │ │ ├── __docs__ │ │ │ │ └── price.md │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── price.spec.js.snap │ │ │ │ └── price.spec.js │ │ │ ├── index.js │ │ │ └── price.js │ │ ├── RestApi │ │ │ ├── Magento2 │ │ │ │ ├── M2ApiRequest.js │ │ │ │ ├── M2ApiResponseError.js │ │ │ │ ├── MulticastCache.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── M2ApiRequest.spec.js │ │ │ │ │ ├── M2ApiResponseError.spec.js │ │ │ │ │ └── __snapshots__ │ │ │ │ │ │ ├── M2ApiRequest.spec.js.snap │ │ │ │ │ │ └── M2ApiResponseError.spec.js.snap │ │ │ │ └── index.js │ │ │ ├── __mocks__ │ │ │ │ └── index.js │ │ │ └── index.js │ │ ├── Router │ │ │ ├── __tests__ │ │ │ │ ├── Router.test.js │ │ │ │ └── resolveUnknownRoute.test.js │ │ │ ├── index.js │ │ │ ├── resolveUnknownRoute.js │ │ │ ├── router.js │ │ │ └── webpackInterop.js │ │ ├── Toasts │ │ │ ├── __tests__ │ │ │ │ ├── useToastContext.spec.js │ │ │ │ └── useToasts.spec.js │ │ │ ├── index.js │ │ │ ├── useToastContext.js │ │ │ └── useToasts.js │ │ ├── context │ │ │ ├── __mocks__ │ │ │ │ └── style.js │ │ │ ├── __tests__ │ │ │ │ ├── app.spec.js │ │ │ │ ├── cart.spec.js │ │ │ │ ├── catalog.spec.js │ │ │ │ ├── checkout.spec.js │ │ │ │ ├── unhandledErrors.spec.js │ │ │ │ └── user.spec.js │ │ │ ├── app.js │ │ │ ├── cart.js │ │ │ ├── catalog.js │ │ │ ├── checkout.js │ │ │ ├── eventing.js │ │ │ ├── rootComponents.js │ │ │ ├── style.js │ │ │ ├── unhandledErrors.js │ │ │ └── user.js │ │ ├── hooks │ │ │ ├── __tests__ │ │ │ │ ├── useDelayedTransition.spec.js │ │ │ │ ├── useDetectScrollWidth.spec.js │ │ │ │ ├── useDropdown.spec.js │ │ │ │ ├── useEventListener.spec.js │ │ │ │ ├── useInternalLink.spec.js │ │ │ │ ├── useIntersectionObserver.spec.js │ │ │ │ ├── useIsInViewport.spec.js │ │ │ │ ├── useMediaQuery.spec.js │ │ │ │ ├── usePagination.spec.js │ │ │ │ ├── useResetForm.spec.js │ │ │ │ ├── useRestApi.spec.js │ │ │ │ ├── useRestResponse.spec.js │ │ │ │ ├── useScript.spec.js │ │ │ │ ├── useScrollIntoView.spec.js │ │ │ │ ├── useSearchParam.spec.js │ │ │ │ ├── useSort.spec.js │ │ │ │ └── useWindowSize.spec.js │ │ │ ├── hook-wrappers │ │ │ │ └── useInformedFieldStateWrapper.js │ │ │ ├── useAwaitQuery.js │ │ │ ├── useCarousel.js │ │ │ ├── useCustomerWishlistSkus │ │ │ │ ├── __fixtures__ │ │ │ │ │ └── apolloMocks.js │ │ │ │ ├── customerWishlist.gql.ce.js │ │ │ │ ├── customerWishlist.gql.ee.js │ │ │ │ └── useCustomerWishlistSkus.js │ │ │ ├── useDelayedTransition.js │ │ │ ├── useDetectScrollWidth.js │ │ │ ├── useDropdown.js │ │ │ ├── useEventListener.js │ │ │ ├── useGoogleReCaptcha │ │ │ │ ├── __tests__ │ │ │ │ │ └── useGoogleReCaptcha.spec.js │ │ │ │ ├── googleReCaptchaConfig.gql.js │ │ │ │ ├── index.js │ │ │ │ └── useGoogleReCaptcha.js │ │ │ ├── useInternalLink.js │ │ │ ├── useIntersectionObserver.js │ │ │ ├── useIsInViewport.js │ │ │ ├── useMediaQuery.js │ │ │ ├── usePagination.js │ │ │ ├── useResetForm.js │ │ │ ├── useRestApi.js │ │ │ ├── useRestResponse.js │ │ │ ├── useScript.js │ │ │ ├── useScrollIntoView.js │ │ │ ├── useScrollLock.js │ │ │ ├── useScrollTopOnChange.js │ │ │ ├── useSearchParam.js │ │ │ ├── useSort.js │ │ │ ├── useTypePolicies.js │ │ │ └── useWindowSize.js │ │ ├── index.js │ │ ├── store │ │ │ ├── README.md │ │ │ ├── actions │ │ │ │ ├── app │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── actions.spec.js │ │ │ │ │ │ └── asyncActions.spec.js │ │ │ │ │ ├── actions.js │ │ │ │ │ ├── asyncActions.js │ │ │ │ │ └── index.js │ │ │ │ ├── cart │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── actions.spec.js │ │ │ │ │ │ └── asyncActions.spec.js │ │ │ │ │ ├── actions.js │ │ │ │ │ ├── asyncActions.js │ │ │ │ │ └── index.js │ │ │ │ ├── catalog │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── actions.spec.js │ │ │ │ │ │ └── asyncActions.spec.js │ │ │ │ │ ├── actions.js │ │ │ │ │ ├── asyncActions.js │ │ │ │ │ └── index.js │ │ │ │ ├── checkout │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── actions.spec.js │ │ │ │ │ │ └── asyncActions.spec.js │ │ │ │ │ ├── actions.js │ │ │ │ │ ├── asyncActions.js │ │ │ │ │ └── index.js │ │ │ │ ├── checkoutReceipt │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ └── actions.spec.js │ │ │ │ │ ├── actions.js │ │ │ │ │ └── index.js │ │ │ │ └── user │ │ │ │ │ ├── __tests__ │ │ │ │ │ ├── actions.spec.js │ │ │ │ │ └── asyncActions.spec.js │ │ │ │ │ ├── actions.js │ │ │ │ │ ├── asyncActions.js │ │ │ │ │ └── index.js │ │ │ ├── enhancers │ │ │ │ ├── __tests__ │ │ │ │ │ └── errorHandler.spec.js │ │ │ │ ├── errorHandler.js │ │ │ │ ├── index.js │ │ │ │ └── middleware.js │ │ │ ├── index.js │ │ │ ├── middleware │ │ │ │ ├── auth.js │ │ │ │ ├── log.js │ │ │ │ └── thunk.js │ │ │ └── reducers │ │ │ │ ├── __tests__ │ │ │ │ ├── app.spec.js │ │ │ │ ├── cart.spec.js │ │ │ │ └── catalog.spec.js │ │ │ │ ├── app.js │ │ │ │ ├── cart.js │ │ │ │ ├── catalog.js │ │ │ │ ├── checkout.js │ │ │ │ ├── index.js │ │ │ │ └── user.js │ │ ├── talons │ │ │ ├── Accordion │ │ │ │ ├── __tests__ │ │ │ │ │ └── useAccordion.spec.js │ │ │ │ └── useAccordion.js │ │ │ ├── AccountChip │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useAccountChip.spec.js.snap │ │ │ │ │ └── useAccountChip.spec.js │ │ │ │ └── useAccountChip.js │ │ │ ├── AccountInformationPage │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useAccountInformationPage.spec.js.snap │ │ │ │ │ └── useAccountInformationPage.spec.js │ │ │ │ └── useAccountInformationPage.js │ │ │ ├── AccountMenu │ │ │ │ ├── __tests__ │ │ │ │ │ └── useAccountMenuItems.spec.js │ │ │ │ └── useAccountMenuItems.js │ │ │ ├── Adapter │ │ │ │ ├── __tests__ │ │ │ │ │ └── useAdapter.spec.js │ │ │ │ └── useAdapter.js │ │ │ ├── AddToCartDialog │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useAddToCartDialog.spec.js.snap │ │ │ │ │ └── useAddToCartDialog.spec.js │ │ │ │ ├── addToCartDialog.gql.js │ │ │ │ └── useAddToCartDialog.js │ │ │ ├── AddressBookPage │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useAddressBookPage.spec.js.snap │ │ │ │ │ └── useAddressBookPage.spec.js │ │ │ │ ├── addressBookFragments.gql.js │ │ │ │ ├── addressBookPage.gql.js │ │ │ │ └── useAddressBookPage.js │ │ │ ├── App │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useApp.spec.js.snap │ │ │ │ │ └── useApp.spec.js │ │ │ │ └── useApp.js │ │ │ ├── AuthBar │ │ │ │ └── useAuthBar.js │ │ │ ├── AuthModal │ │ │ │ ├── authModal.gql.js │ │ │ │ └── useAuthModal.js │ │ │ ├── Breadcrumbs │ │ │ │ ├── __tests__ │ │ │ │ │ └── useBreadcrumbs.spec.js │ │ │ │ ├── breadcrumbs.gql.js │ │ │ │ └── useBreadcrumbs.js │ │ │ ├── CartPage │ │ │ │ ├── GiftCards │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── useGiftCard.spec.js │ │ │ │ │ │ └── useGiftCards.spec.js │ │ │ │ │ ├── giftCardFragments.gql.ee.js │ │ │ │ │ ├── giftCardFragments.gql.js │ │ │ │ │ ├── giftCardQueries.gql.ee.js │ │ │ │ │ ├── useGiftCard.js │ │ │ │ │ └── useGiftCards.js │ │ │ │ ├── PriceAdjustments │ │ │ │ │ ├── CouponCode │ │ │ │ │ │ ├── couponCode.gql.js │ │ │ │ │ │ ├── couponCodeFragments.gql.js │ │ │ │ │ │ └── useCouponCode.js │ │ │ │ │ ├── GiftOptions │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ └── useGiftOptions.spec.js │ │ │ │ │ │ ├── giftOptions.gql.js │ │ │ │ │ │ ├── giftOptionsFragments.gql.js │ │ │ │ │ │ └── useGiftOptions.js │ │ │ │ │ ├── ShippingMethods │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ ├── useShippingForm.spec.js.snap │ │ │ │ │ │ │ │ └── useShippingMethods.spec.js.snap │ │ │ │ │ │ │ ├── useShippingForm.spec.js │ │ │ │ │ │ │ ├── useShippingMethods.spec.js │ │ │ │ │ │ │ └── useShippingRadios.spec.js │ │ │ │ │ │ ├── shippingMethods.gql.js │ │ │ │ │ │ ├── shippingMethodsFragments.gql.js │ │ │ │ │ │ ├── useShippingForm.js │ │ │ │ │ │ ├── useShippingMethods.js │ │ │ │ │ │ └── useShippingRadios.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── useCouponCode.spec.js │ │ │ │ │ │ └── useGiftOptionsSection.spec.js │ │ │ │ │ ├── giftOptionsSection.gql.js │ │ │ │ │ └── useGiftOptionsSection.js │ │ │ │ ├── PriceSummary │ │ │ │ │ ├── __fixtures__ │ │ │ │ │ │ └── priceSummary.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── usePriceSummary.spec.js.snap │ │ │ │ │ │ ├── useDiscountSummary.spec.js │ │ │ │ │ │ └── usePriceSummary.spec.js │ │ │ │ │ ├── discountSummary.gql.js │ │ │ │ │ ├── priceSummary.gql.js │ │ │ │ │ ├── priceSummaryFragments.gql.js │ │ │ │ │ ├── queries │ │ │ │ │ │ ├── giftCardSummary.ce.js │ │ │ │ │ │ ├── giftCardSummary.ee.js │ │ │ │ │ │ ├── giftOptionsSummary.ce.js │ │ │ │ │ │ └── giftOptionsSummary.ee.js │ │ │ │ │ ├── shippingSummary.gql.js │ │ │ │ │ ├── taxSummary.gql.js │ │ │ │ │ ├── useDiscountSummary.js │ │ │ │ │ └── usePriceSummary.js │ │ │ │ ├── ProductListing │ │ │ │ │ ├── EditModal │ │ │ │ │ │ ├── __fixtures__ │ │ │ │ │ │ │ ├── configurableProduct.js │ │ │ │ │ │ │ └── configurableThumbnailSource.js │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ ├── useEditModal.spec.js.snap │ │ │ │ │ │ │ │ └── useProductForm.spec.js.snap │ │ │ │ │ │ │ ├── useEditModal.spec.js │ │ │ │ │ │ │ └── useProductForm.spec.js │ │ │ │ │ │ ├── productForm.gql.js │ │ │ │ │ │ ├── productFormFragment.gql.js │ │ │ │ │ │ ├── useEditModal.js │ │ │ │ │ │ └── useProductForm.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ ├── useProduct.spec.js.snap │ │ │ │ │ │ │ └── useProductListing.spec.js.snap │ │ │ │ │ │ ├── useProduct.spec.js │ │ │ │ │ │ └── useProductListing.spec.js │ │ │ │ │ ├── product.gql.js │ │ │ │ │ ├── productListing.gql.ce.js │ │ │ │ │ ├── productListing.gql.ee.js │ │ │ │ │ ├── productListingFragments.gql.js │ │ │ │ │ ├── useProduct.js │ │ │ │ │ ├── useProductListing.js │ │ │ │ │ └── useQuantity.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useCartPage.spec.js.snap │ │ │ │ │ └── useCartPage.spec.js │ │ │ │ ├── cartPage.gql.js │ │ │ │ ├── cartPageFragments.gql.js │ │ │ │ └── useCartPage.js │ │ │ ├── CategoryList │ │ │ │ ├── __tests__ │ │ │ │ │ ├── useCategoryList.spec.js │ │ │ │ │ └── useCategoryTile.spec.js │ │ │ │ ├── categoryList.gql.js │ │ │ │ ├── useCategoryList.js │ │ │ │ └── useCategoryTile.js │ │ │ ├── CategoryTree │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useCategoryTree.spec.js.snap │ │ │ │ │ └── useCategoryTree.spec.js │ │ │ │ ├── categoryTree.gql.js │ │ │ │ ├── index.js │ │ │ │ ├── useCategoryBranch.js │ │ │ │ ├── useCategoryLeaf.js │ │ │ │ └── useCategoryTree.js │ │ │ ├── Checkout │ │ │ │ ├── Receipt │ │ │ │ │ └── useReceipt.js │ │ │ │ ├── useAddressForm.js │ │ │ │ ├── useEditableForm.js │ │ │ │ ├── useFlow.js │ │ │ │ ├── useForm.js │ │ │ │ ├── useOverview.js │ │ │ │ ├── usePaymentsForm.js │ │ │ │ ├── usePaymentsFormItems.js │ │ │ │ └── useShippingForm.js │ │ │ ├── CheckoutPage │ │ │ │ ├── AddressBook │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ ├── useAddressBook.spec.js.snap │ │ │ │ │ │ │ └── useAddressCard.spec.js.snap │ │ │ │ │ │ ├── useAddressBook.spec.js │ │ │ │ │ │ └── useAddressCard.spec.js │ │ │ │ │ ├── addressBook.gql.js │ │ │ │ │ ├── addressBookFragments.gql.js │ │ │ │ │ ├── useAddressBook.js │ │ │ │ │ └── useAddressCard.js │ │ │ │ ├── BillingAddress │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── useBillingAddress.spec.js.snap │ │ │ │ │ │ └── useBillingAddress.spec.js │ │ │ │ │ ├── billingAddress.gql.js │ │ │ │ │ ├── client-schema.graphql │ │ │ │ │ └── useBillingAddress.js │ │ │ │ ├── CheckoutError.js │ │ │ │ ├── GuestSignIn │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ └── useGuestSignIn.spec.js │ │ │ │ │ └── useGuestSignIn.js │ │ │ │ ├── ItemsReview │ │ │ │ │ ├── __fixtures__ │ │ │ │ │ │ └── cartItems.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── useItemsReview.spec.js.snap │ │ │ │ │ │ └── useItemsReview.spec.js │ │ │ │ │ ├── itemsReview.gql.js │ │ │ │ │ ├── itemsReviewFragments.gql.js │ │ │ │ │ └── useItemsReview.js │ │ │ │ ├── OrderConfirmationPage │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ ├── useCreateAccount.spec.js.snap │ │ │ │ │ │ │ └── useOrderConfirmationPage.spec.js.snap │ │ │ │ │ │ ├── useCreateAccount.spec.js │ │ │ │ │ │ └── useOrderConfirmationPage.spec.js │ │ │ │ │ ├── createAccount.gql.js │ │ │ │ │ ├── orderConfirmationPage.gql.js │ │ │ │ │ ├── orderConfirmationPageFragments.gql.js │ │ │ │ │ ├── useCreateAccount.js │ │ │ │ │ └── useOrderConfirmationPage.js │ │ │ │ ├── PaymentInformation │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ ├── useBraintreeSummary.spec.js.snap │ │ │ │ │ │ │ ├── useCreditCard.spec.js.snap │ │ │ │ │ │ │ ├── useEditModal.spec.js.snap │ │ │ │ │ │ │ ├── usePaymentInformation.spec.js.snap │ │ │ │ │ │ │ ├── usePaymentMethods.spec.js.snap │ │ │ │ │ │ │ └── useSummary.spec.js.snap │ │ │ │ │ │ ├── useBraintreeSummary.spec.js │ │ │ │ │ │ ├── useCreditCard.spec.js │ │ │ │ │ │ ├── useEditModal.spec.js │ │ │ │ │ │ ├── usePaymentInformation.spec.js │ │ │ │ │ │ ├── usePaymentMethods.spec.js │ │ │ │ │ │ └── useSummary.spec.js │ │ │ │ │ ├── braintreeSummary.gql.js │ │ │ │ │ ├── client-schema.graphql │ │ │ │ │ ├── creditCard.gql.js │ │ │ │ │ ├── editModal.gql.js │ │ │ │ │ ├── paymentInformation.gql.js │ │ │ │ │ ├── paymentMethods.gql.js │ │ │ │ │ ├── summary.gql.js │ │ │ │ │ ├── useBraintreeSummary.js │ │ │ │ │ ├── useCreditCard.js │ │ │ │ │ ├── useEditModal.js │ │ │ │ │ ├── usePaymentInformation.js │ │ │ │ │ ├── usePaymentMethods.js │ │ │ │ │ └── useSummary.js │ │ │ │ ├── PlaceOrderErrors.js │ │ │ │ ├── ShippingInformation │ │ │ │ │ ├── AddressForm │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ ├── useCustomerForm.spec.js.snap │ │ │ │ │ │ │ │ └── useGuestForm.spec.js.snap │ │ │ │ │ │ │ ├── useCustomerForm.spec.js │ │ │ │ │ │ │ └── useGuestForm.spec.js │ │ │ │ │ │ ├── customerForm.gql.js │ │ │ │ │ │ ├── guestForm.gql.js │ │ │ │ │ │ ├── useCustomerForm.js │ │ │ │ │ │ └── useGuestForm.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── useShippingInformation.spec.js.snap │ │ │ │ │ │ ├── useEditModal.spec.js │ │ │ │ │ │ └── useShippingInformation.spec.js │ │ │ │ │ ├── shippingInformation.gql.js │ │ │ │ │ ├── shippingInformationFragments.gql.js │ │ │ │ │ ├── useEditModal.js │ │ │ │ │ └── useShippingInformation.js │ │ │ │ ├── ShippingMethod │ │ │ │ │ ├── shippingMethod.gql.js │ │ │ │ │ ├── shippingMethodFragments.gql.js │ │ │ │ │ └── useShippingMethod.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── CheckoutError.spec.js │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── useCheckoutPage.spec.js.snap │ │ │ │ │ │ └── useShippingMethod.spec.js.snap │ │ │ │ │ ├── useCheckoutPage.spec.js │ │ │ │ │ └── useShippingMethod.spec.js │ │ │ │ ├── checkoutPage.gql.js │ │ │ │ ├── checkoutPageFragments.gql.js │ │ │ │ └── useCheckoutPage.js │ │ │ ├── Cms │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useCmsPage.spec.js.snap │ │ │ │ │ └── useCmsPage.spec.js │ │ │ │ ├── cmsPage.gql.js │ │ │ │ └── useCmsPage.js │ │ │ ├── CmsDynamicBlock │ │ │ │ ├── __tests__ │ │ │ │ │ └── useCmsDynamicBlock.spec.js │ │ │ │ ├── client-schema.graphql │ │ │ │ ├── cmsDynamicBlock.gql.js │ │ │ │ └── useCmsDynamicBlock.js │ │ │ ├── CommunicationsPage │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useCommunicationsPage.spec.js.snap │ │ │ │ │ └── useCommunicationsPage.spec.js │ │ │ │ ├── communicationsPage.gql.js │ │ │ │ └── useCommunicationsPage.js │ │ │ ├── ContactPage │ │ │ │ ├── __tests__ │ │ │ │ │ ├── useContactLink.spec.js │ │ │ │ │ └── useContactPage.spec.js │ │ │ │ ├── contactUs.gql.js │ │ │ │ ├── index.js │ │ │ │ ├── useContactLink.js │ │ │ │ └── useContactPage.js │ │ │ ├── Country │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useCountry.spec.js.snap │ │ │ │ │ └── useCountry.spec.js │ │ │ │ └── useCountry.js │ │ │ ├── CreateAccount │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useCreateAccount.spec.js.snap │ │ │ │ │ └── useCreateAccount.spec.js │ │ │ │ ├── createAccount.gql.js │ │ │ │ └── useCreateAccount.js │ │ │ ├── CreateAccountPage │ │ │ │ ├── __tests__ │ │ │ │ │ └── useCreateAccountPage.spec.js │ │ │ │ └── useCreateAccountPage.js │ │ │ ├── FilterModal │ │ │ │ ├── __tests__ │ │ │ │ │ ├── helpers.spec.js │ │ │ │ │ ├── useFilterBlock.spec.js │ │ │ │ │ ├── useFilterList.spec.js │ │ │ │ │ └── useFilterModal.spec.js │ │ │ │ ├── filterModal.gql.js │ │ │ │ ├── helpers.js │ │ │ │ ├── index.js │ │ │ │ ├── useFilterBlock.js │ │ │ │ ├── useFilterFooter.js │ │ │ │ ├── useFilterList.js │ │ │ │ ├── useFilterModal.js │ │ │ │ └── useFilterState.js │ │ │ ├── FilterSidebar │ │ │ │ ├── __tests__ │ │ │ │ │ └── useFilterSidebar.spec.js │ │ │ │ ├── index.js │ │ │ │ └── useFilterSidebar.js │ │ │ ├── Footer │ │ │ │ ├── footer.gql.js │ │ │ │ └── useFooter.js │ │ │ ├── ForgotPassword │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useForgotPassword.spec.js.snap │ │ │ │ │ └── useForgotPassword.spec.js │ │ │ │ └── useForgotPassword.js │ │ │ ├── ForgotPasswordPage │ │ │ │ ├── __tests__ │ │ │ │ │ └── useForgotPasswordPage.spec.js │ │ │ │ └── useForgotPasswordPage.js │ │ │ ├── FormError │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useFormError.spec.js.snap │ │ │ │ │ └── useFormError.spec.js │ │ │ │ └── useFormError.js │ │ │ ├── Gallery │ │ │ │ ├── __fixtures__ │ │ │ │ │ └── apolloMocks.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useAddToCartButton.spec.js.snap │ │ │ │ │ ├── useAddToCartButton.spec.js │ │ │ │ │ ├── useGallery.spec.js │ │ │ │ │ └── useGalleryItem.spec.js │ │ │ │ ├── addToCart.gql.js │ │ │ │ ├── gallery.gql.ce.js │ │ │ │ ├── gallery.gql.ee.js │ │ │ │ ├── isSupportedProductType.js │ │ │ │ ├── useAddToCartButton.js │ │ │ │ ├── useGallery.js │ │ │ │ └── useGalleryItem.js │ │ │ ├── Header │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── useAccountMenu.spec.js.snap │ │ │ │ │ │ ├── useAccountTrigger.spec.js.snap │ │ │ │ │ │ ├── useCurrencySwitcher.spec.js.snap │ │ │ │ │ │ └── useStoreSwitcher.spec.js.snap │ │ │ │ │ ├── useAccountMenu.spec.js │ │ │ │ │ ├── useAccountTrigger.spec.js │ │ │ │ │ ├── useCartTrigger.spec.js │ │ │ │ │ ├── useCurrencySwitcher.spec.js │ │ │ │ │ ├── useHeader.spec.js │ │ │ │ │ └── useStoreSwitcher.spec.js │ │ │ │ ├── accountMenu.gql.js │ │ │ │ ├── cartTriggerFragments.gql.js │ │ │ │ ├── client-schema.graphql │ │ │ │ ├── currencySwitcher.gql.js │ │ │ │ ├── storeSwitcher.gql.js │ │ │ │ ├── useAccountMenu.js │ │ │ │ ├── useAccountTrigger.js │ │ │ │ ├── useCartTrigger.js │ │ │ │ ├── useCurrencySwitcher.js │ │ │ │ ├── useHeader.js │ │ │ │ ├── useNavigationTrigger.js │ │ │ │ ├── useSearchTrigger.js │ │ │ │ └── useStoreSwitcher.js │ │ │ ├── Image │ │ │ │ ├── __tests__ │ │ │ │ │ ├── useImage.spec.js │ │ │ │ │ ├── usePlaceholderImage.spec.js │ │ │ │ │ └── useResourceImage.spec.js │ │ │ │ ├── useImage.js │ │ │ │ ├── usePlaceholderImage.js │ │ │ │ └── useResourceImage.js │ │ │ ├── LegacyMiniCart │ │ │ │ ├── useBody.js │ │ │ │ ├── useCartOptions.js │ │ │ │ ├── useEditItem.js │ │ │ │ ├── useEmptyMiniCart.js │ │ │ │ ├── useHeader.js │ │ │ │ ├── useKebab.js │ │ │ │ ├── useLegacyMiniCart.js │ │ │ │ └── useProduct.js │ │ │ ├── Link │ │ │ │ ├── __tests__ │ │ │ │ │ └── useLink.spec.js │ │ │ │ └── useLink.js │ │ │ ├── MagentoRoute │ │ │ │ ├── __tests__ │ │ │ │ │ └── useMagentoRoute.spec.js │ │ │ │ ├── helpers.js │ │ │ │ ├── index.js │ │ │ │ ├── magentoRoute.gql.js │ │ │ │ └── useMagentoRoute.js │ │ │ ├── MegaMenu │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── useMegaMenu.spec.js.snap │ │ │ │ │ │ ├── useMegaMenuItem.spec.js.snap │ │ │ │ │ │ └── useSubMenu.spec.js.snap │ │ │ │ │ ├── useMegaMenu.spec.js │ │ │ │ │ ├── useMegaMenuItem.spec.js │ │ │ │ │ └── useSubMenu.spec.js │ │ │ │ ├── megaMenu.gql.js │ │ │ │ ├── useMegaMenu.js │ │ │ │ ├── useMegaMenuItem.js │ │ │ │ └── useSubMenu.js │ │ │ ├── MiniCart │ │ │ │ ├── ProductList │ │ │ │ │ └── productListFragments.gql.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── useItem.spec.js.snap │ │ │ │ │ │ └── useMiniCart.spec.js.snap │ │ │ │ │ ├── useItem.spec.js │ │ │ │ │ └── useMiniCart.spec.js │ │ │ │ ├── miniCart.gql.js │ │ │ │ ├── miniCartFragments.gql.js │ │ │ │ ├── useItem.js │ │ │ │ └── useMiniCart.js │ │ │ ├── MyAccount │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useResetPassword.spec.js.snap │ │ │ │ │ ├── useMyAccount.spec.js │ │ │ │ │ └── useResetPassword.spec.js │ │ │ │ ├── useMyAccount.js │ │ │ │ └── useResetPassword.js │ │ │ ├── Navigation │ │ │ │ ├── __tests__ │ │ │ │ │ └── useNavigation.spec.js │ │ │ │ ├── navigation.gql.js │ │ │ │ ├── useNavigation.js │ │ │ │ └── useNavigationHeader.js │ │ │ ├── Newsletter │ │ │ │ ├── __tests__ │ │ │ │ │ └── useNewsletter.spec.js │ │ │ │ ├── newsletter.gql.js │ │ │ │ └── useNewsletter.js │ │ │ ├── OrderHistoryPage │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── orderHistoryContext.spec.js.snap │ │ │ │ │ │ ├── useOrderHistoryPage.spec.js.snap │ │ │ │ │ │ └── useOrderRow.spec.js.snap │ │ │ │ │ ├── orderHistoryContext.spec.js │ │ │ │ │ ├── useOrderHistoryPage.spec.js │ │ │ │ │ └── useOrderRow.spec.js │ │ │ │ ├── orderHistoryContext.gql.js │ │ │ │ ├── orderHistoryContext.js │ │ │ │ ├── orderHistoryPage.gql.js │ │ │ │ ├── orderRow.gql.js │ │ │ │ ├── useOrderHistoryPage.js │ │ │ │ └── useOrderRow.js │ │ │ ├── PageLoadingIndicator │ │ │ │ ├── __tests__ │ │ │ │ │ └── usePageLoadingIndicator.spec.js │ │ │ │ └── usePageLoadingIndicator.js │ │ │ ├── Pagination │ │ │ │ └── usePagination.js │ │ │ ├── Password │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── usePassword.spec.js.snap │ │ │ │ │ └── usePassword.spec.js │ │ │ │ └── usePassword.js │ │ │ ├── Postcode │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── usePostcode.spec.js.snap │ │ │ │ │ └── usePostcode.spec.js │ │ │ │ └── usePostcode.js │ │ │ ├── ProductFullDetail │ │ │ │ ├── CustomAttributes │ │ │ │ │ └── AttributeType │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ └── useAttributeType.spec.js │ │ │ │ │ │ └── useAttributeType.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useProductFullDetail.spec.js.snap │ │ │ │ │ └── useProductFullDetail.spec.js │ │ │ │ ├── productFullDetail.gql.ce.js │ │ │ │ ├── productFullDetail.gql.ee.js │ │ │ │ └── useProductFullDetail.js │ │ │ ├── ProductImageCarousel │ │ │ │ ├── useProductImageCarousel.js │ │ │ │ └── useThumbnail.js │ │ │ ├── ProductOptions │ │ │ │ ├── useOption.js │ │ │ │ ├── useOptions.js │ │ │ │ ├── useSwatch.js │ │ │ │ └── useTile.js │ │ │ ├── QuantityStepper │ │ │ │ ├── __tests__ │ │ │ │ │ └── useQuantityStepper.spec.js │ │ │ │ └── useQuantityStepper.js │ │ │ ├── README.md │ │ │ ├── Region │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useRegion.spec.js.snap │ │ │ │ │ └── useRegion.spec.js │ │ │ │ └── useRegion.js │ │ │ ├── RootComponents │ │ │ │ ├── Category │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ ├── useCategory.spec.js.snap │ │ │ │ │ │ │ └── useCategoryContent.spec.js.snap │ │ │ │ │ │ ├── useCategory.spec.js │ │ │ │ │ │ ├── useCategoryContent.spec.js │ │ │ │ │ │ └── useNoProductsFound.spec.js │ │ │ │ │ ├── category.gql.js │ │ │ │ │ ├── categoryContent.gql.js │ │ │ │ │ ├── categoryFragments.gql.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── useCategory.js │ │ │ │ │ ├── useCategoryContent.js │ │ │ │ │ └── useNoProductsFound.js │ │ │ │ └── Product │ │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useProduct.spec.js.snap │ │ │ │ │ └── useProduct.spec.js │ │ │ │ │ ├── product.gql.js │ │ │ │ │ ├── productDetailFragment.gql.js │ │ │ │ │ └── useProduct.js │ │ │ ├── SavedPaymentsPage │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useSavedPaymentsPage.spec.js.snap │ │ │ │ │ ├── useCreditCard.spec.js │ │ │ │ │ └── useSavedPaymentsPage.spec.js │ │ │ │ ├── creditCard.gql.js │ │ │ │ ├── savedPaymentsPage.gql.js │ │ │ │ ├── useCreditCard.js │ │ │ │ └── useSavedPaymentsPage.js │ │ │ ├── SearchBar │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── useAutocomplete.spec.js.snap │ │ │ │ │ │ └── useSuggestedCategory.spec.js.snap │ │ │ │ │ ├── useAutocomplete.spec.js │ │ │ │ │ └── useSuggestedCategory.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── useAutocomplete.js │ │ │ │ ├── useSearchBar.js │ │ │ │ ├── useSearchField.js │ │ │ │ ├── useSuggestedCategory.js │ │ │ │ ├── useSuggestedProduct.js │ │ │ │ └── useSuggestions.js │ │ │ ├── SearchPage │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useSearchPage.spec.js.snap │ │ │ │ │ └── useSearchPage.spec.js │ │ │ │ ├── searchPage.gql.js │ │ │ │ └── useSearchPage.js │ │ │ ├── SignIn │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useSignIn.spec.js.snap │ │ │ │ │ └── useSignIn.spec.js │ │ │ │ ├── signIn.gql.js │ │ │ │ └── useSignIn.js │ │ │ ├── SignInPage │ │ │ │ ├── __tests__ │ │ │ │ │ └── useSignInPage.spec.js │ │ │ │ └── useSignInPage.js │ │ │ ├── StockStatusMessage │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── useStockStatusMessage.spec.js.snap │ │ │ │ │ └── useStockStatusMessage.spec.js │ │ │ │ └── useStockStatusMessage.js │ │ │ ├── Wishlist │ │ │ │ ├── AddToListButton │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ └── useAddToListButton.ee.spec.js │ │ │ │ │ ├── addToListButton.gql.js │ │ │ │ │ ├── client-schema.graphql │ │ │ │ │ ├── helpers │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ └── useSingleWishlist.spec.js │ │ │ │ │ │ └── useSingleWishlist.js │ │ │ │ │ ├── useAddToListButton.ce.js │ │ │ │ │ └── useAddToListButton.ee.js │ │ │ │ └── WishlistDialog │ │ │ │ │ ├── CreateWishlistForm │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ └── useCreateWishlistForm.spec.js │ │ │ │ │ ├── createWishlistForm.gql.js │ │ │ │ │ └── useCreateWishlistForm.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ └── useWishlistDialog.spec.js │ │ │ │ │ ├── useWishlistDialog.js │ │ │ │ │ └── wishlistDialog.gql.js │ │ │ └── WishlistPage │ │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── useActionMenu.spec.js.snap │ │ │ │ │ ├── useCreateWishlist.spec.js.snap │ │ │ │ │ ├── useWishlist.spec.js.snap │ │ │ │ │ ├── useWishlistItem.spec.js.snap │ │ │ │ │ └── useWishlistPage.spec.js.snap │ │ │ │ ├── useActionMenu.spec.js │ │ │ │ ├── useCreateWishlist.spec.js │ │ │ │ ├── useWishlist.spec.js │ │ │ │ ├── useWishlistItem.spec.js │ │ │ │ ├── useWishlistItems.spec.js │ │ │ │ └── useWishlistPage.spec.js │ │ │ │ ├── createWishlist.gql.js │ │ │ │ ├── useActionMenu.js │ │ │ │ ├── useCreateWishlist.js │ │ │ │ ├── useWishlist.js │ │ │ │ ├── useWishlistItem.js │ │ │ │ ├── useWishlistItems.js │ │ │ │ ├── useWishlistPage.js │ │ │ │ ├── wishlist.gql.js │ │ │ │ ├── wishlistConfig.gql.ce.js │ │ │ │ ├── wishlistConfig.gql.ee.js │ │ │ │ ├── wishlistFragment.gql.ee.js │ │ │ │ ├── wishlistFragment.gql.js │ │ │ │ ├── wishlistItem.gql.js │ │ │ │ ├── wishlistItemFragments.gql.js │ │ │ │ └── wishlistPage.gql.js │ │ ├── targets │ │ │ ├── HookInterceptorSet.js │ │ │ ├── JestPeregrineTargetSerializer.js │ │ │ ├── TargetableHook.js │ │ │ ├── __tests__ │ │ │ │ ├── HookInterceptorSet.spec.js │ │ │ │ ├── __helpers__ │ │ │ │ │ └── JestPeregrineTargetSerializer.js │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── HookInterceptorSet.spec.js.snap │ │ │ │ └── peregrine-targets.spec.js │ │ │ ├── peregrine-declare.js │ │ │ └── peregrine-intercept.js │ │ ├── util │ │ │ ├── __fixtures__ │ │ │ │ └── product.js │ │ │ ├── __mocks__ │ │ │ │ ├── makeUrl.js │ │ │ │ └── simplePersistence.js │ │ │ ├── __tests__ │ │ │ │ ├── appendOptionsToPayload.spec.js │ │ │ │ ├── configuredVariant.spec.js │ │ │ │ ├── createErrorRecord.spec.js │ │ │ │ ├── createProductVariants.spec.js │ │ │ │ ├── findAllMatchingVariants.spec.js │ │ │ │ ├── findMatchingProductVariant.spec.js │ │ │ │ ├── fromRenderProp.spec.js │ │ │ │ ├── getCombinations.spec.js │ │ │ │ ├── getCurrencyCode.spec.js │ │ │ │ ├── getOutOfStockIndexes.spec.js │ │ │ │ ├── getOutOfStockVariants.spec.js │ │ │ │ ├── getOutOfStockVariantsWithInitialSelection.spec.js │ │ │ │ ├── imageUtils.spec.js │ │ │ │ ├── intlPatches.spec.js │ │ │ │ ├── isProductConfigurable.spec.js │ │ │ │ ├── makeUrl.spec.js │ │ │ │ ├── resolveLinkProps.spec.js │ │ │ │ ├── simplePersistence.spec.js │ │ │ │ └── unaryMemoize.spec.js │ │ │ ├── appendOptionsToPayload.js │ │ │ ├── bindActionCreators.js │ │ │ ├── composeEnhancers.js │ │ │ ├── configuredVariant.js │ │ │ ├── createErrorRecord.js │ │ │ ├── createProductVariants.js │ │ │ ├── createTestInstance.js │ │ │ ├── deriveErrorMessage.js │ │ │ ├── findAllMatchingVariants.js │ │ │ ├── findMatchingProductVariant.js │ │ │ ├── fromRenderProp.js │ │ │ ├── getCombinations.js │ │ │ ├── getCurrencyCode.js │ │ │ ├── getOutOfStockIndexes.js │ │ │ ├── getOutOfStockVariants.js │ │ │ ├── getOutOfStockVariantsWithInitialSelection.js │ │ │ ├── htmlStringImgUrlConverter.js │ │ │ ├── imageUtils.js │ │ │ ├── images.js │ │ │ ├── index.js │ │ │ ├── intlPatches.js │ │ │ ├── isObjectEmpty.js │ │ │ ├── isProductConfigurable.js │ │ │ ├── isSupportedProductType.js │ │ │ ├── magentoRouteData.js │ │ │ ├── makeUrl.js │ │ │ ├── resolveLinkProps.js │ │ │ ├── shallowMerge.js │ │ │ ├── shrinkQuery.js │ │ │ ├── simplePersistence.js │ │ │ ├── swUtils.js │ │ │ ├── unaryMemoize.js │ │ │ └── withLogger.js │ │ └── validators │ │ │ ├── __tests__ │ │ │ └── iterable.spec.js │ │ │ ├── iterable.js │ │ │ ├── map.js │ │ │ └── set.js │ ├── package.json │ └── scripts │ │ ├── fetch-mock.js │ │ ├── matchMedia.js │ │ └── shim.js ├── pwa-buildpack │ ├── .eslintrc.js │ ├── .npmignore │ ├── LICENSE.txt │ ├── README.md │ ├── __mocks__ │ │ ├── apicache.js │ │ ├── devcert.js │ │ ├── hastily.js │ │ └── word-wrap.js │ ├── bin │ │ └── buildpack │ ├── docs │ │ ├── MagentoResolver.md │ │ ├── MagentoRootComponentsPlugin.md │ │ ├── PWADevServer.md │ │ └── ServiceWorkerPlugin.md │ ├── envVarDefinitions.json │ ├── lib │ │ ├── BuildBus │ │ │ ├── BuildBus.js │ │ │ ├── Target.js │ │ │ ├── TargetProvider.js │ │ │ ├── Trackable.js │ │ │ ├── __tests__ │ │ │ │ ├── BuildBus.spec.js │ │ │ │ ├── Target.spec.js │ │ │ │ ├── TargetProvider.spec.js │ │ │ │ ├── Trackable.spec.js │ │ │ │ └── __snapshots__ │ │ │ │ │ ├── BuildBus.spec.js.snap │ │ │ │ │ ├── Target.spec.js.snap │ │ │ │ │ ├── TargetProvider.spec.js.snap │ │ │ │ │ └── Trackable.spec.js.snap │ │ │ ├── declare-base.js │ │ │ ├── index.js │ │ │ ├── intercept-base.js │ │ │ └── mapHooksToTargets.js │ │ ├── TestHelpers │ │ │ ├── evaluateScripts.js │ │ │ ├── index.js │ │ │ ├── testBabelPlugin │ │ │ │ ├── MockBabelNodePath.js │ │ │ │ └── index.js │ │ │ ├── testFullBuild.js │ │ │ ├── testTargets │ │ │ │ ├── MockedBuildBus.js │ │ │ │ ├── index.js │ │ │ │ └── testTargets.js │ │ │ ├── testWebpackCompiler.js │ │ │ └── testWebpackLoader │ │ │ │ ├── MockedWebpackLoaderContext.js │ │ │ │ ├── index.js │ │ │ │ └── testWebpackLoader.js │ │ ├── Utilities │ │ │ ├── CompatEnvAdapter.js │ │ │ ├── __tests__ │ │ │ │ ├── __fixtures__ │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── buildpack-template-package │ │ │ │ │ │ │ ├── _buildpack │ │ │ │ │ │ │ │ └── create.js │ │ │ │ │ │ │ ├── _gitignore_test │ │ │ │ │ │ │ ├── ignoredir │ │ │ │ │ │ │ │ └── ignoresubfile.txt │ │ │ │ │ │ │ ├── ignoreexp │ │ │ │ │ │ │ │ └── ignorematchedfile.txt │ │ │ │ │ │ │ ├── ignorefile │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── stylesheets │ │ │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ │ │ └── other-stylesheets │ │ │ │ │ │ │ │ └── other.css │ │ │ │ │ │ ├── package-with-bad-instruction │ │ │ │ │ │ │ ├── _buildpack │ │ │ │ │ │ │ │ └── throw-on-execute.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── package-with-instruction │ │ │ │ │ │ │ ├── _buildpack │ │ │ │ │ │ │ │ └── return-fse-readjsonsync.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── package-with-no-instructions │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── non-package-folder-with-instruction │ │ │ │ │ │ └── _buildpack │ │ │ │ │ │ └── return-fse-readjsonsync.js │ │ │ │ ├── __helpers__ │ │ │ │ │ └── MockProps.js │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── addImgOptMiddleware.spec.js.snap │ │ │ │ │ ├── createDotEnvFile.spec.js.snap │ │ │ │ │ ├── loadEnvironment.spec.js.snap │ │ │ │ │ ├── runEnvValidators.spec.js.snap │ │ │ │ │ └── serve.spec.js.snap │ │ │ │ ├── addImgOptMiddleware.spec.js │ │ │ │ ├── configureHost.spec.js │ │ │ │ ├── createDotEnvFile.spec.js │ │ │ │ ├── createProject.spec.js │ │ │ │ ├── envVarDefinitions.spec.js │ │ │ │ ├── getBuildpackInstructions.spec.js │ │ │ │ ├── getEnvVarDefinitions.spec.js │ │ │ │ ├── graphQL.spec.js │ │ │ │ ├── loadEnvironment.spec.js │ │ │ │ ├── runEnvValidators.spec.js │ │ │ │ └── serve.spec.js │ │ │ ├── addImgOptMiddleware.js │ │ │ ├── configureHost.js │ │ │ ├── createDotEnvFile.js │ │ │ ├── createProject.js │ │ │ ├── getBuildpackInstructions.js │ │ │ ├── getEnvVarDefinitions.js │ │ │ ├── graphQL.js │ │ │ ├── index.js │ │ │ ├── loadEnvironment.js │ │ │ ├── runEnvValidators.js │ │ │ └── serve.js │ │ ├── WebpackTools │ │ │ ├── MagentoResolver.js │ │ │ ├── ModuleTransformConfig.js │ │ │ ├── PWADevServer.js │ │ │ ├── __tests__ │ │ │ │ ├── MagentoResolver.spec.js │ │ │ │ ├── PWADevServer.spec.js │ │ │ │ ├── __fixtures__ │ │ │ │ │ ├── add-badly.es6.js │ │ │ │ │ ├── math.js │ │ │ │ │ ├── print-as-binary.es6.js │ │ │ │ │ ├── queries │ │ │ │ │ │ ├── getProductDetail.graphql │ │ │ │ │ │ └── urlResolver.graphql │ │ │ │ │ ├── resolverContext │ │ │ │ │ │ ├── localModule1 │ │ │ │ │ │ │ ├── index.jsx │ │ │ │ │ │ │ └── index.wasm │ │ │ │ │ │ ├── localModule2.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ ├── depModule1 │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── someFeature.ac.js │ │ │ │ │ │ │ │ └── someFeature.mos.js │ │ │ │ │ │ │ └── depModule1BackwardCompatible │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── someFeature.ce.js │ │ │ │ │ │ │ │ └── someFeature.ee.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── speak-binary.es6.js │ │ │ │ │ └── square-to-cube.es6.js │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── PWADevServer.spec.js.snap │ │ │ │ │ └── export-esm-collection-loader.spec.js.snap │ │ │ │ ├── configureWebpack.spec.js │ │ │ │ ├── export-esm-collection-loader.spec.js │ │ │ │ ├── getModuleRules.spec.js │ │ │ │ ├── splice-source-loader.spec.js │ │ │ │ └── wrap-esm-loader.spec.js │ │ │ ├── configureWebpack │ │ │ │ ├── configureWebpack.js │ │ │ │ ├── getClientConfig.js │ │ │ │ ├── getModuleRules.js │ │ │ │ ├── getResolveLoader.js │ │ │ │ ├── getSpecialFlags.js │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── insertCss.js │ │ │ ├── loaders │ │ │ │ ├── buildbus-babel-loader.js │ │ │ │ ├── export-esm-collection-loader.js │ │ │ │ ├── identity-obj-proxy-loader.js │ │ │ │ ├── isomorphic-style-loader.js │ │ │ │ ├── splice-source-loader.js │ │ │ │ └── wrap-esm-loader.js │ │ │ ├── plugins │ │ │ │ ├── BuildBusPlugin.js │ │ │ │ ├── LocalizationPlugin.js │ │ │ │ ├── RootComponentsPlugin.js │ │ │ │ ├── ServiceWorkerPlugin.js │ │ │ │ ├── UpwardDevServerPlugin.js │ │ │ │ ├── UpwardIncludePlugin.js │ │ │ │ └── __tests__ │ │ │ │ │ ├── BuildBusPlugin.spec.js │ │ │ │ │ ├── LocalizationPlugin.spec.js │ │ │ │ │ ├── RootComponentsPlugin.spec.js │ │ │ │ │ ├── ServiceWorkerPlugin.spec.js │ │ │ │ │ ├── UpwardDevServerPlugin.spec.js │ │ │ │ │ ├── UpwardIncludePlugin.spec.js │ │ │ │ │ └── __fixtures__ │ │ │ │ │ ├── base-static-content │ │ │ │ │ ├── baz.txt │ │ │ │ │ ├── entry.js │ │ │ │ │ ├── foo.txt │ │ │ │ │ └── upward.yml │ │ │ │ │ ├── basic-project-1-page │ │ │ │ │ ├── RootComponents │ │ │ │ │ │ └── SomePage │ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── entry.js │ │ │ │ │ ├── robots.txt │ │ │ │ │ └── upward.yml │ │ │ │ │ ├── basic-project-3-pages │ │ │ │ │ ├── RootComponents │ │ │ │ │ │ ├── Page1 │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── no-directives.js │ │ │ │ │ │ │ └── not-a-rootcomponent.js │ │ │ │ │ │ ├── Page2 │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── Page3 │ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── entry.js │ │ │ │ │ ├── nothing.json │ │ │ │ │ └── upward.yml │ │ │ │ │ ├── dupe-root-component │ │ │ │ │ ├── RootComponents │ │ │ │ │ │ └── Page1 │ │ │ │ │ │ │ └── index.js │ │ │ │ │ └── entry.js │ │ │ │ │ ├── missing-page-types │ │ │ │ │ ├── RootComponents │ │ │ │ │ │ ├── MissingPageType │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── Page1 │ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── entry.js │ │ │ │ │ └── upward.yml │ │ │ │ │ ├── multiple-locales-multiple-modules │ │ │ │ │ ├── Context │ │ │ │ │ │ └── i18n │ │ │ │ │ │ │ ├── en_US.json │ │ │ │ │ │ │ └── fr_FR.json │ │ │ │ │ ├── Module1 │ │ │ │ │ │ └── i18n │ │ │ │ │ │ │ ├── de_DE.json │ │ │ │ │ │ │ ├── en_US.json │ │ │ │ │ │ │ └── fr_FR.json │ │ │ │ │ ├── Module2 │ │ │ │ │ │ └── i18n │ │ │ │ │ │ │ ├── en_US.json │ │ │ │ │ │ │ └── fr_FR.json │ │ │ │ │ └── entry.js │ │ │ │ │ ├── no-locale-single-module │ │ │ │ │ ├── Module1 │ │ │ │ │ │ └── not-i18n │ │ │ │ │ │ │ └── en_US.json │ │ │ │ │ └── entry.js │ │ │ │ │ ├── no-root-components │ │ │ │ │ └── entry.js │ │ │ │ │ ├── override-static-content │ │ │ │ │ ├── bar.txt │ │ │ │ │ └── upward.yml │ │ │ │ │ ├── root-component-dep │ │ │ │ │ ├── RootComponents │ │ │ │ │ │ └── Page1 │ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── dep.js │ │ │ │ │ └── entry.js │ │ │ │ │ └── single-locale-multiple-modules │ │ │ │ │ ├── Context │ │ │ │ │ └── i18n │ │ │ │ │ │ └── en_US.json │ │ │ │ │ ├── Module1 │ │ │ │ │ └── i18n │ │ │ │ │ │ └── en_US.json │ │ │ │ │ ├── Module2 │ │ │ │ │ └── i18n │ │ │ │ │ │ └── en_US.json │ │ │ │ │ └── entry.js │ │ │ └── targetables │ │ │ │ ├── BabelModifyJSXPlugin │ │ │ │ ├── JSXModifier.js │ │ │ │ ├── JSXSnippetParser.js │ │ │ │ ├── Operation.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── JSXSnippetParser.spec.js │ │ │ │ │ ├── Operation.spec.js │ │ │ │ │ └── __snapshots__ │ │ │ │ │ │ ├── JSXSnippetParser.spec.js.snap │ │ │ │ │ │ └── Operation.spec.js.snap │ │ │ │ ├── index.js │ │ │ │ ├── operations │ │ │ │ │ ├── addClassName.js │ │ │ │ │ ├── append.js │ │ │ │ │ ├── prepend.js │ │ │ │ │ ├── removeProps.js │ │ │ │ │ ├── replace.js │ │ │ │ │ ├── setProps.js │ │ │ │ │ └── surround.js │ │ │ │ └── plugin.js │ │ │ │ ├── SingleImportStatement.js │ │ │ │ ├── TargetableESModule.js │ │ │ │ ├── TargetableESModuleArray.js │ │ │ │ ├── TargetableESModuleObject.js │ │ │ │ ├── TargetableModule.js │ │ │ │ ├── TargetableReactComponent.js │ │ │ │ ├── TargetableSet.js │ │ │ │ ├── __tests__ │ │ │ │ ├── SingleImportStatement.spec.js │ │ │ │ ├── TargetableESModule.spec.js │ │ │ │ ├── TargetableESModuleArray.spec.js │ │ │ │ ├── TargetableESModuleObject.spec.js │ │ │ │ ├── TargetableModule.spec.js │ │ │ │ ├── TargetableReactComponent.spec.js │ │ │ │ ├── TargetableSet.spec.js │ │ │ │ └── __snapshots__ │ │ │ │ │ ├── SingleImportStatement.spec.js.snap │ │ │ │ │ ├── TargetableESModuleArray.spec.js.snap │ │ │ │ │ ├── TargetableESModuleObject.spec.js.snap │ │ │ │ │ ├── TargetableReactComponent.spec.js.snap │ │ │ │ │ └── TargetableSet.spec.js.snap │ │ │ │ └── index.js │ │ ├── __fixtures__ │ │ │ ├── mock-package-lock.json │ │ │ ├── mock-package.json │ │ │ └── mock-yarn.lock │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── cli-generate-build-report.spec.js.snap │ │ │ ├── cli-create-custom-origin.spec.js │ │ │ ├── cli-create-env-file.spec.js │ │ │ ├── cli-create-project.spec.js │ │ │ ├── cli-generate-build-report.spec.js │ │ │ ├── cli-load-env.spec.js │ │ │ └── index.spec.js │ │ ├── cli │ │ │ ├── create-custom-origin.js │ │ │ ├── create-env-file.js │ │ │ ├── create-project.js │ │ │ ├── generate-build-report.js │ │ │ ├── load-env.js │ │ │ └── serve.js │ │ ├── index.js │ │ ├── queries │ │ │ ├── __tests__ │ │ │ │ └── index.spec.js │ │ │ ├── getAvailableStoresConfigData.graphql │ │ │ ├── getSchemaTypes.graphql │ │ │ ├── getStoreConfigData.graphql │ │ │ ├── getStoreMediaUrl.graphql │ │ │ └── index.js │ │ └── util │ │ │ ├── __tests__ │ │ │ ├── debug.spec.js │ │ │ ├── klaw-bound-fs.spec.js │ │ │ ├── options-validator.spec.js │ │ │ └── pretty-logger.spec.js │ │ │ ├── debug.js │ │ │ ├── deep-defaults.js │ │ │ ├── klaw-bound-fs.js │ │ │ ├── options-validator.js │ │ │ └── pretty-logger.js │ ├── package.json │ ├── sampleBackends.json │ └── scripts │ │ └── fetch-mock.js ├── pwa-theme-venia │ ├── data │ │ └── colors.js │ ├── lib │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── colors.spec.js.snap │ │ │ └── colors.spec.js │ │ └── colors.js │ ├── package.json │ ├── plugins │ │ ├── index.js │ │ └── root.js │ ├── tailwind.preset.js │ ├── tw-issues.txt │ └── tw-progress.txt ├── upward-js │ ├── .npmignore │ ├── README.md │ ├── bin │ │ └── server │ ├── lib │ │ ├── Context.js │ │ ├── ContextPath.js │ │ ├── IOAdapter.js │ │ ├── ResolverVisitor.js │ │ ├── UpwardServerError.js │ │ ├── __tests__ │ │ │ ├── Context.test.js │ │ │ ├── ResolverVisitor.test.js │ │ │ ├── UpwardServerError.test.js │ │ │ ├── buildResponse.test.js │ │ │ └── server.test.js │ │ ├── buildResponse.js │ │ ├── compiledResources │ │ │ ├── AbstractCompiledResource.js │ │ │ ├── GraphQLDocument.js │ │ │ ├── JSONDocument.js │ │ │ ├── MustacheTemplate.js │ │ │ ├── __tests__ │ │ │ │ ├── AbstractCompiledResource.test.js │ │ │ │ ├── GraphQLDocument.test.js │ │ │ │ ├── JSONDocument.test.js │ │ │ │ ├── MustacheTemplate.test.js │ │ │ │ └── forFileOfType.test.js │ │ │ └── index.js │ │ ├── createUpwardServer.js │ │ ├── index.js │ │ ├── isPrimitive.js │ │ ├── middleware.js │ │ └── resolvers │ │ │ ├── AbstractResolver.js │ │ │ ├── ComputedResolver.js │ │ │ ├── ConditionalResolver.js │ │ │ ├── DirectoryResolver.js │ │ │ ├── FileResolver.js │ │ │ ├── InlineResolver.js │ │ │ ├── ProxyResolver.js │ │ │ ├── ServiceResolver.js │ │ │ ├── TemplateResolver.js │ │ │ ├── UrlResolver.js │ │ │ ├── __tests__ │ │ │ ├── AbstractResolver.test.js │ │ │ ├── ComputedResolver.test.js │ │ │ ├── ConditionalResolver.test.js │ │ │ ├── FileResolver.test.js │ │ │ ├── InlineResolver.test.js │ │ │ ├── ProxyResolver.test.js │ │ │ ├── ServiceResolver.test.js │ │ │ ├── TemplateResolver.test.js │ │ │ ├── UrlResolver.test.js │ │ │ └── index.test.js │ │ │ └── index.js │ ├── package.json │ └── test_spec.sh ├── upward-spec │ ├── EXECUTION_SCHEDULING_STRATEGIES.md │ ├── RATIONALE.md │ ├── README.md │ ├── UPWARD_MAGENTO.md │ ├── backing_services.png │ ├── bin │ │ └── upward-spec │ ├── looser_coupling_and_similar_envs.png │ ├── many_to_one_ci.png │ ├── package.json │ ├── suite │ │ ├── assertOnResponse.js │ │ ├── getScenarios.js │ │ ├── index.js │ │ ├── runServer.js │ │ └── scenarios │ │ │ ├── 001-unknown-config │ │ │ ├── only-status.yml │ │ │ ├── tests.js │ │ │ └── unparseable.yml │ │ │ ├── 002-static-servers │ │ │ ├── context-is-hello-env-is-world.mst │ │ │ ├── hello-context-inline-template-json.yml │ │ │ ├── hello-env-context-file-template.yml │ │ │ ├── hello-env-inline-template.yml │ │ │ ├── hello-env-interpolation.yml │ │ │ ├── hello-file-shortcut.yml │ │ │ ├── hello-inline-implicit-resolvers.yml │ │ │ ├── hello-inline-only.yml │ │ │ ├── json-subject.mst │ │ │ ├── renders-addressee-alone.mst │ │ │ ├── swords.csv │ │ │ └── tests.js │ │ │ ├── 003-request-handling │ │ │ ├── cyclic-dependencies.yml │ │ │ ├── island-summary.mst │ │ │ ├── reflect-request.yml │ │ │ ├── route-requests.yml │ │ │ └── tests.js │ │ │ ├── 004-resolvers │ │ │ ├── tests.js │ │ │ ├── url-resolver-absolute-unsecure.yml │ │ │ ├── url-resolver-absolute.yml │ │ │ ├── url-resolver-relative.yml │ │ │ ├── url-resolver-root-relative.yml │ │ │ └── url-resolver-with-template.yml │ │ │ └── 005-many-resolvers │ │ │ ├── articles-and-authors-schema.graphql │ │ │ ├── articles-and-authors.yml │ │ │ ├── footer.mst │ │ │ ├── getArticle.graphql │ │ │ ├── getAuthor.graphql │ │ │ ├── head.mst │ │ │ ├── header.mst │ │ │ ├── menu.mst │ │ │ └── notFound.mst │ ├── test_upward_server.sh │ ├── tiered_architecture.png │ ├── tight_coupling.png │ └── unified_graph.png ├── venia-concept │ ├── .editorconfig │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .graphqlconfig │ ├── .npmignore │ ├── LICENSE.txt │ ├── LICENSE_AFL.txt │ ├── README.md │ ├── _buildpack │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── create.spec.js.snap │ │ │ └── create.spec.js │ │ └── create.js │ ├── lastCachedGraphQLSchema.json │ ├── local-intercept.js │ ├── package.json │ ├── postcss.config.js │ ├── prettier.config.js │ ├── src │ │ ├── .storybook │ │ │ ├── main.js │ │ │ ├── preview-body.html │ │ │ └── preview.js │ │ ├── ServiceWorker │ │ │ ├── Utilities │ │ │ │ ├── __tests__ │ │ │ │ │ ├── imageCacheHandler.spec.js │ │ │ │ │ └── messageHandler.spec.js │ │ │ │ ├── imageCacheHandler.js │ │ │ │ ├── messageHandler.js │ │ │ │ └── networkUtils.js │ │ │ ├── __tests__ │ │ │ │ ├── registerRoutes.spec.js │ │ │ │ └── setupWorkbox.spec.js │ │ │ ├── defaults.js │ │ │ ├── registerMessageHandlers.js │ │ │ ├── registerRoutes.js │ │ │ ├── setupWorkbox.js │ │ │ └── sw.js │ │ ├── __tests__ │ │ │ └── index.spec.js │ │ ├── drivers.js │ │ ├── index.css │ │ ├── index.js │ │ ├── registerSW.js │ │ └── store.js │ ├── tailwind.config.js │ ├── template.html │ ├── upward.yml │ └── webpack.config.js └── venia-ui │ ├── .storybook │ ├── config.js │ ├── preview-body.html │ └── webpack.config.js │ ├── __mocks__ │ ├── @magento │ │ ├── peregrine.js │ │ └── util │ │ │ └── simplePersistence.js │ ├── braintree-web-drop-in.js │ ├── fileMock.js │ ├── informed.js │ ├── react-intl.js │ ├── react.js │ └── virtualModule.js │ ├── i18n │ └── en_US.json │ ├── lib │ ├── RootComponents │ │ ├── CMS │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── cms.spec.js.snap │ │ │ │ └── cms.spec.js │ │ │ ├── cms.js │ │ │ ├── cms.module.css │ │ │ ├── cms.shimmer.js │ │ │ └── index.js │ │ ├── Category │ │ │ ├── NoProductsFound │ │ │ │ ├── index.js │ │ │ │ ├── noProductsFound.js │ │ │ │ ├── noProductsFound.module.css │ │ │ │ └── noProductsFound.png │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── category.spec.js.snap │ │ │ │ │ ├── categoryContent.shimmer.spec.js.snap │ │ │ │ │ └── categoryContent.spec.js.snap │ │ │ │ ├── category.spec.js │ │ │ │ ├── categoryContent.shimmer.spec.js │ │ │ │ └── categoryContent.spec.js │ │ │ ├── category.gql.js │ │ │ ├── category.js │ │ │ ├── category.module.css │ │ │ ├── categoryContent.js │ │ │ ├── categoryContent.shimmer.js │ │ │ ├── images │ │ │ │ ├── 001.jpg │ │ │ │ ├── 002.jpg │ │ │ │ ├── 003.jpg │ │ │ │ ├── 004.jpg │ │ │ │ ├── 005.jpg │ │ │ │ ├── 006.jpg │ │ │ │ ├── 007.jpg │ │ │ │ ├── 008.jpg │ │ │ │ ├── 009.jpg │ │ │ │ ├── 010.jpg │ │ │ │ ├── 011.jpg │ │ │ │ ├── 012.jpg │ │ │ │ └── index.js │ │ │ └── index.js │ │ ├── Product │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── product.shimmer.spec.js.snap │ │ │ │ │ └── product.spec.js.snap │ │ │ │ ├── product.shimmer.spec.js │ │ │ │ └── product.spec.js │ │ │ ├── index.js │ │ │ ├── mockData.js │ │ │ ├── product.js │ │ │ └── product.shimmer.js │ │ ├── Search │ │ │ └── index.js │ │ └── Shimmer │ │ │ ├── index.js │ │ │ ├── shimmer.js │ │ │ └── types │ │ │ └── index.js │ ├── __mocks__ │ │ └── classify.js │ ├── classify.js │ ├── components │ │ ├── Accordion │ │ │ ├── __stories__ │ │ │ │ └── accordion.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── accordion.spec.js.snap │ │ │ │ └── accordion.spec.js │ │ │ ├── accordion.js │ │ │ ├── accordion.module.css │ │ │ ├── index.js │ │ │ ├── section.js │ │ │ └── section.module.css │ │ ├── AccountChip │ │ │ ├── __stories__ │ │ │ │ └── accountChip.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── accountChip.spec.js.snap │ │ │ │ └── accountChip.spec.js │ │ │ ├── accountChip.gql.js │ │ │ ├── accountChip.js │ │ │ ├── accountChip.module.css │ │ │ └── index.js │ │ ├── AccountInformationPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── accountInformationPage.spec.js.snap │ │ │ │ │ ├── editForm.spec.js.snap │ │ │ │ │ └── editModal.spec.js.snap │ │ │ │ ├── accountInformationPage.spec.js │ │ │ │ ├── editForm.spec.js │ │ │ │ └── editModal.spec.js │ │ │ ├── accountInformationPage.gql.js │ │ │ ├── accountInformationPage.js │ │ │ ├── accountInformationPage.module.css │ │ │ ├── accountInformationPageFragment.gql.js │ │ │ ├── editForm.js │ │ │ ├── editForm.module.css │ │ │ ├── editModal.js │ │ │ ├── editModal.module.css │ │ │ └── index.js │ │ ├── AccountMenu │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── accountMenu.spec.js.snap │ │ │ │ │ └── accountMenuItems.spec.js.snap │ │ │ │ ├── accountMenu.spec.js │ │ │ │ └── accountMenuItems.spec.js │ │ │ ├── accountMenu.js │ │ │ ├── accountMenu.module.css │ │ │ ├── accountMenuItems.js │ │ │ ├── accountMenuItems.module.css │ │ │ └── index.js │ │ ├── Adapter │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── adapter.spec.js.snap │ │ │ │ └── adapter.spec.js │ │ │ ├── adapter.js │ │ │ └── index.js │ │ ├── AddToCartDialog │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── addToCartDialog.spec.js.snap │ │ │ │ └── addToCartDialog.spec.js │ │ │ ├── addToCartDialog.js │ │ │ ├── addToCartDialog.module.css │ │ │ └── index.js │ │ ├── AddressBookPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── addEditDialog.spec.js.snap │ │ │ │ │ ├── addressBookPage.spec.js.snap │ │ │ │ │ └── addressCard.spec.js.snap │ │ │ │ ├── addEditDialog.spec.js │ │ │ │ ├── addressBookPage.spec.js │ │ │ │ └── addressCard.spec.js │ │ │ ├── addEditDialog.js │ │ │ ├── addEditDialog.module.css │ │ │ ├── addressBookPage.js │ │ │ ├── addressBookPage.module.css │ │ │ ├── addressCard.js │ │ │ ├── addressCard.module.css │ │ │ └── index.js │ │ ├── App │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── app.spec.js.snap │ │ │ │ │ ├── container.spec.js.snap │ │ │ │ │ ├── contextProvider.spec.js.snap │ │ │ │ │ └── useErrorBoundary.spec.js.snap │ │ │ │ ├── app.spec.js │ │ │ │ ├── container.spec.js │ │ │ │ ├── contextProvider.spec.js │ │ │ │ ├── localeProvider.spec.js │ │ │ │ └── useErrorBoundary.spec.js │ │ │ ├── app.js │ │ │ ├── container.js │ │ │ ├── contextProvider.js │ │ │ ├── index.js │ │ │ ├── localeProvider.js │ │ │ └── useErrorBoundary.js │ │ ├── AriaButton │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── ariaButton.spec.js.snap │ │ │ │ └── ariaButton.spec.js │ │ │ ├── ariaButton.js │ │ │ └── index.js │ │ ├── AuthBar │ │ │ ├── authBar.js │ │ │ ├── authBar.module.css │ │ │ └── index.js │ │ ├── AuthModal │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── authModal.spec.js.snap │ │ │ │ └── authModal.spec.js │ │ │ ├── authModal.js │ │ │ ├── authModal.module.css │ │ │ └── index.js │ │ ├── Breadcrumbs │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── breadcrumbs.spec.js.snap │ │ │ │ └── breadcrumbs.spec.js │ │ │ ├── breadcrumbs.js │ │ │ ├── breadcrumbs.module.css │ │ │ ├── breadcrumbs.shimmer.js │ │ │ └── index.js │ │ ├── Button │ │ │ ├── button.js │ │ │ ├── button.module.css │ │ │ └── index.js │ │ ├── ButtonGroup │ │ │ ├── __tests__ │ │ │ │ └── buttonGroup.spec.js │ │ │ ├── button.js │ │ │ ├── button.module.css │ │ │ ├── buttonGroup.js │ │ │ ├── buttonGroup.module.css │ │ │ └── index.js │ │ ├── ButtonTab │ │ │ ├── button.module.css │ │ │ ├── buttonTab.js │ │ │ └── index.js │ │ ├── CartPage │ │ │ ├── GiftCards │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── giftCard.spec.js.snap │ │ │ │ │ │ └── giftCards.spec.js.snap │ │ │ │ │ ├── giftCard.spec.js │ │ │ │ │ └── giftCards.spec.js │ │ │ │ ├── giftCard.js │ │ │ │ ├── giftCard.module.css │ │ │ │ ├── giftCards.js │ │ │ │ ├── giftCards.module.css │ │ │ │ └── index.js │ │ │ ├── PriceAdjustments │ │ │ │ ├── CouponCode │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── couponCode.spec.js.snap │ │ │ │ │ │ └── couponCode.spec.js │ │ │ │ │ ├── couponCode.js │ │ │ │ │ ├── couponCode.module.css │ │ │ │ │ └── index.js │ │ │ │ ├── GiftOptions │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── giftOptions.spec.js.snap │ │ │ │ │ │ └── giftOptions.spec.js │ │ │ │ │ ├── giftOptions.js │ │ │ │ │ ├── giftOptions.module.css │ │ │ │ │ └── index.js │ │ │ │ ├── ShippingMethods │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ ├── shippingForm.spec.js.snap │ │ │ │ │ │ │ ├── shippingMethods.spec.js.snap │ │ │ │ │ │ │ └── shippingRadios.spec.js.snap │ │ │ │ │ │ ├── shippingForm.spec.js │ │ │ │ │ │ ├── shippingMethods.spec.js │ │ │ │ │ │ └── shippingRadios.spec.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── shippingForm.js │ │ │ │ │ ├── shippingForm.module.css │ │ │ │ │ ├── shippingMethods.js │ │ │ │ │ ├── shippingMethods.module.css │ │ │ │ │ ├── shippingRadio.js │ │ │ │ │ ├── shippingRadio.module.css │ │ │ │ │ ├── shippingRadios.js │ │ │ │ │ └── shippingRadios.module.css │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── giftCardSection.ee.spec.js.snap │ │ │ │ │ │ ├── giftOptionsSection.ce.spec.js.snap │ │ │ │ │ │ ├── giftOptionsSection.ee.spec.js.snap │ │ │ │ │ │ └── priceAdjustments.spec.js.snap │ │ │ │ │ ├── giftCardSection.ce.spec.js │ │ │ │ │ ├── giftCardSection.ee.spec.js │ │ │ │ │ ├── giftOptionsSection.ce.spec.js │ │ │ │ │ ├── giftOptionsSection.ee.spec.js │ │ │ │ │ └── priceAdjustments.spec.js │ │ │ │ ├── giftCardSection.ce.js │ │ │ │ ├── giftCardSection.ee.js │ │ │ │ ├── giftOptionsSection.ce.js │ │ │ │ ├── giftOptionsSection.ee.js │ │ │ │ ├── index.js │ │ │ │ ├── priceAdjustments.js │ │ │ │ └── priceAdjustments.module.css │ │ │ ├── PriceSummary │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── discountSummary.spec.js.snap │ │ │ │ │ │ ├── giftCardSummary.ce.spec.js.snap │ │ │ │ │ │ ├── giftCardSummary.ee.spec.js.snap │ │ │ │ │ │ ├── giftOptionsSummary.ce.spec.js.snap │ │ │ │ │ │ ├── giftOptionsSummary.ee.spec.js.snap │ │ │ │ │ │ ├── priceSummary.spec.js.snap │ │ │ │ │ │ ├── shippingSummary.spec.js.snap │ │ │ │ │ │ └── taxSummary.spec.js.snap │ │ │ │ │ ├── discountSummary.spec.js │ │ │ │ │ ├── giftCardSummary.ce.spec.js │ │ │ │ │ ├── giftCardSummary.ee.spec.js │ │ │ │ │ ├── giftOptionsSummary.ce.spec.js │ │ │ │ │ ├── giftOptionsSummary.ee.spec.js │ │ │ │ │ ├── priceSummary.spec.js │ │ │ │ │ ├── shippingSummary.spec.js │ │ │ │ │ └── taxSummary.spec.js │ │ │ │ ├── discountSummary.js │ │ │ │ ├── discountSummary.module.css │ │ │ │ ├── giftCardSummary.ce.js │ │ │ │ ├── giftCardSummary.ee.js │ │ │ │ ├── giftOptionsSummary.ce.js │ │ │ │ ├── giftOptionsSummary.ee.js │ │ │ │ ├── index.js │ │ │ │ ├── priceSummary.js │ │ │ │ ├── priceSummary.module.css │ │ │ │ ├── shippingSummary.js │ │ │ │ └── taxSummary.js │ │ │ ├── ProductListing │ │ │ │ ├── EditModal │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ ├── editModal.spec.js.snap │ │ │ │ │ │ │ ├── productDetail.spec.js.snap │ │ │ │ │ │ │ └── productForm.spec.js.snap │ │ │ │ │ │ ├── editModal.spec.js │ │ │ │ │ │ ├── productDetail.spec.js │ │ │ │ │ │ └── productForm.spec.js │ │ │ │ │ ├── editModal.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── productDetail.js │ │ │ │ │ ├── productDetail.module.css │ │ │ │ │ ├── productForm.js │ │ │ │ │ └── productForm.module.css │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── errorMessage.spec.js.snap │ │ │ │ │ │ ├── product.spec.js.snap │ │ │ │ │ │ ├── productListing.spec.js.snap │ │ │ │ │ │ └── quantity.spec.js.snap │ │ │ │ │ ├── errorMessage.spec.js │ │ │ │ │ ├── product.spec.js │ │ │ │ │ ├── productListing.spec.js │ │ │ │ │ └── quantity.spec.js │ │ │ │ ├── errorMessage.js │ │ │ │ ├── errorMessage.module.css │ │ │ │ ├── index.js │ │ │ │ ├── product.js │ │ │ │ ├── product.module.css │ │ │ │ ├── productListing.js │ │ │ │ ├── productListing.module.css │ │ │ │ └── quantity.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── cartPage.spec.js.snap │ │ │ │ └── cartPage.spec.js │ │ │ ├── cartPage.js │ │ │ ├── cartPage.module.css │ │ │ └── index.js │ │ ├── CategoryList │ │ │ ├── __tests__ │ │ │ │ └── categoryList.spec.js │ │ │ ├── categoryList.js │ │ │ ├── categoryList.module.css │ │ │ ├── categoryTile.js │ │ │ ├── categoryTile.module.css │ │ │ └── index.js │ │ ├── CategoryTree │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── categoryBranch.spec.js.snap │ │ │ │ │ ├── categoryLeaf.spec.js.snap │ │ │ │ │ └── categoryTree.spec.js.snap │ │ │ │ ├── categoryBranch.spec.js │ │ │ │ ├── categoryLeaf.spec.js │ │ │ │ └── categoryTree.spec.js │ │ │ ├── categoryBranch.js │ │ │ ├── categoryBranch.module.css │ │ │ ├── categoryLeaf.js │ │ │ ├── categoryLeaf.module.css │ │ │ ├── categoryTree.js │ │ │ ├── categoryTree.module.css │ │ │ └── index.js │ │ ├── Checkbox │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── checkbox.spec.js.snap │ │ │ │ └── checkbox.spec.js │ │ │ ├── checkbox.js │ │ │ ├── checkbox.module.css │ │ │ └── index.js │ │ ├── Checkout │ │ │ ├── Receipt │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── receipt.spec.js.snap │ │ │ │ │ └── receipt.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── receipt.js │ │ │ │ └── receipt.module.css │ │ │ ├── __stories__ │ │ │ │ └── braintreeDropin.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── addressForm.spec.js.snap │ │ │ │ │ ├── braintreeDropin.spec.js.snap │ │ │ │ │ ├── checkoutButton.spec.js.snap │ │ │ │ │ ├── editableForm.spec.js.snap │ │ │ │ │ ├── form.spec.js.snap │ │ │ │ │ ├── label.spec.js.snap │ │ │ │ │ ├── overview.spec.js.snap │ │ │ │ │ ├── paymentsForm.spec.js.snap │ │ │ │ │ ├── section.spec.js.snap │ │ │ │ │ └── shippingform.spec.js.snap │ │ │ │ ├── addressForm.spec.js │ │ │ │ ├── braintreeDropin.spec.js │ │ │ │ ├── checkoutButton.spec.js │ │ │ │ ├── editableForm.spec.js │ │ │ │ ├── flow.spec.js │ │ │ │ ├── form.spec.js │ │ │ │ ├── label.spec.js │ │ │ │ ├── overview.spec.js │ │ │ │ ├── paymentsForm.spec.js │ │ │ │ ├── section.spec.js │ │ │ │ └── shippingform.spec.js │ │ │ ├── addressForm.js │ │ │ ├── addressForm.module.css │ │ │ ├── braintreeDropin.js │ │ │ ├── braintreeDropin.module.css │ │ │ ├── checkoutButton.js │ │ │ ├── checkoutButton.module.css │ │ │ ├── editableForm.js │ │ │ ├── flow.js │ │ │ ├── flow.module.css │ │ │ ├── form.js │ │ │ ├── form.module.css │ │ │ ├── index.js │ │ │ ├── label.js │ │ │ ├── label.module.css │ │ │ ├── overview.js │ │ │ ├── paymentMethodSummary.js │ │ │ ├── paymentsForm.js │ │ │ ├── paymentsForm.module.css │ │ │ ├── paymentsFormItems.js │ │ │ ├── section.js │ │ │ ├── section.module.css │ │ │ ├── shippingAddressSummary.js │ │ │ ├── shippingForm.js │ │ │ ├── shippingForm.module.css │ │ │ └── shippingMethodSummary.js │ │ ├── CheckoutPage │ │ │ ├── AddressBook │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── addressBook.spec.js.snap │ │ │ │ │ │ └── addressCard.spec.js.snap │ │ │ │ │ ├── addressBook.spec.js │ │ │ │ │ └── addressCard.spec.js │ │ │ │ ├── addressBook.js │ │ │ │ ├── addressBook.module.css │ │ │ │ ├── addressCard.js │ │ │ │ ├── addressCard.module.css │ │ │ │ └── index.js │ │ │ ├── BillingAddress │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── billingAddress.spec.js.snap │ │ │ │ │ └── billingAddress.spec.js │ │ │ │ ├── billingAddress.js │ │ │ │ ├── billingAddress.module.css │ │ │ │ └── index.js │ │ │ ├── GuestSignIn │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── guestSignIn.spec.js.snap │ │ │ │ │ └── guestSignIn.spec.js │ │ │ │ ├── guestSignIn.js │ │ │ │ ├── guestSignIn.module.css │ │ │ │ └── index.js │ │ │ ├── ItemsReview │ │ │ │ ├── __fixtures__ │ │ │ │ │ └── cartItems.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── item.spec.js.snap │ │ │ │ │ │ ├── itemsReview.spec.js.snap │ │ │ │ │ │ └── showAllButton.spec.js.snap │ │ │ │ │ ├── item.spec.js │ │ │ │ │ ├── itemsReview.spec.js │ │ │ │ │ └── showAllButton.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── item.js │ │ │ │ ├── item.module.css │ │ │ │ ├── itemsReview.js │ │ │ │ ├── itemsReview.module.css │ │ │ │ ├── showAllButton.js │ │ │ │ └── showAllButton.module.css │ │ │ ├── OrderConfirmationPage │ │ │ │ ├── __fixtures__ │ │ │ │ │ └── cartItems.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── createAccount.spec.js.snap │ │ │ │ │ │ └── orderConfirmationPage.spec.js.snap │ │ │ │ │ ├── createAccount.spec.js │ │ │ │ │ └── orderConfirmationPage.spec.js │ │ │ │ ├── createAccount.js │ │ │ │ ├── createAccount.module.css │ │ │ │ ├── index.js │ │ │ │ ├── orderConfirmationPage.js │ │ │ │ └── orderConfirmationPage.module.css │ │ │ ├── OrderSummary │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── orderSummary.spec.js.snap │ │ │ │ │ └── orderSummary.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── orderSummary.js │ │ │ │ └── orderSummary.module.css │ │ │ ├── PaymentInformation │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── braintreeSummary.spec.js.snap │ │ │ │ │ │ ├── creditCard.spec.js.snap │ │ │ │ │ │ ├── editCard.spec.js.snap │ │ │ │ │ │ ├── editModal.spec.js.snap │ │ │ │ │ │ ├── paymentInformation.spec.js.snap │ │ │ │ │ │ ├── paymentMethods.spec.js.snap │ │ │ │ │ │ └── summary.spec.js.snap │ │ │ │ │ ├── braintreeSummary.spec.js │ │ │ │ │ ├── creditCard.spec.js │ │ │ │ │ ├── editCard.spec.js │ │ │ │ │ ├── editModal.spec.js │ │ │ │ │ ├── paymentInformation.spec.js │ │ │ │ │ ├── paymentMethods.spec.js │ │ │ │ │ └── summary.spec.js │ │ │ │ ├── brainTreeDropIn.js │ │ │ │ ├── braintreeDropin.module.css │ │ │ │ ├── braintreeSummary.js │ │ │ │ ├── braintreeSummary.module.css │ │ │ │ ├── creditCard.js │ │ │ │ ├── creditCard.module.css │ │ │ │ ├── editCard.js │ │ │ │ ├── editCard.module.css │ │ │ │ ├── editModal.js │ │ │ │ ├── editablePaymentCollection.js │ │ │ │ ├── index.js │ │ │ │ ├── paymentInformation.js │ │ │ │ ├── paymentInformation.module.css │ │ │ │ ├── paymentMethodCollection.js │ │ │ │ ├── paymentMethods.js │ │ │ │ ├── paymentMethods.module.css │ │ │ │ ├── summary.js │ │ │ │ ├── summary.module.css │ │ │ │ └── summaryPaymentCollection.js │ │ │ ├── PriceAdjustments │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── priceAdjustments.spec.js.snap │ │ │ │ │ └── priceAdjustments.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── priceAdjustments.js │ │ │ │ └── priceAdjustments.module.css │ │ │ ├── ShippingInformation │ │ │ │ ├── AddressForm │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ ├── addressForm.spec.js.snap │ │ │ │ │ │ │ ├── customerForm.spec.js.snap │ │ │ │ │ │ │ └── guestForm.spec.js.snap │ │ │ │ │ │ ├── addressForm.spec.js │ │ │ │ │ │ ├── customerForm.spec.js │ │ │ │ │ │ └── guestForm.spec.js │ │ │ │ │ ├── addressForm.js │ │ │ │ │ ├── customerForm.js │ │ │ │ │ ├── customerForm.module.css │ │ │ │ │ ├── guestForm.js │ │ │ │ │ ├── guestForm.module.css │ │ │ │ │ └── index.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── card.spec.js.snap │ │ │ │ │ │ ├── editModal.spec.js.snap │ │ │ │ │ │ └── shippingInformation.spec.js.snap │ │ │ │ │ ├── card.spec.js │ │ │ │ │ ├── editModal.spec.js │ │ │ │ │ └── shippingInformation.spec.js │ │ │ │ ├── card.js │ │ │ │ ├── card.module.css │ │ │ │ ├── editModal.js │ │ │ │ ├── editModal.module.css │ │ │ │ ├── index.js │ │ │ │ ├── shippingInformation.js │ │ │ │ └── shippingInformation.module.css │ │ │ ├── ShippingMethod │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── completedView.spec.js.snap │ │ │ │ │ │ ├── shippingMethod.spec.js.snap │ │ │ │ │ │ ├── shippingRadios.spec.js.snap │ │ │ │ │ │ └── updateModal.spec.js.snap │ │ │ │ │ ├── completedView.spec.js │ │ │ │ │ ├── shippingMethod.spec.js │ │ │ │ │ ├── shippingRadios.spec.js │ │ │ │ │ └── updateModal.spec.js │ │ │ │ ├── completedView.js │ │ │ │ ├── completedView.module.css │ │ │ │ ├── index.js │ │ │ │ ├── shippingMethod.js │ │ │ │ ├── shippingMethod.module.css │ │ │ │ ├── shippingRadios.js │ │ │ │ ├── shippingRadios.module.css │ │ │ │ ├── updateModal.js │ │ │ │ └── updateModal.module.css │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── checkoutPage.spec.js.snap │ │ │ │ └── checkoutPage.spec.js │ │ │ ├── checkoutPage.js │ │ │ ├── checkoutPage.module.css │ │ │ └── index.js │ │ ├── CmsBlock │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── block.spec.js.snap │ │ │ │ └── block.spec.js │ │ │ ├── block.js │ │ │ ├── cmsBlock.js │ │ │ ├── cmsBlock.module.css │ │ │ └── index.js │ │ ├── CmsDynamicBlock │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── cmsDynamicBlock.ce.spec.js.snap │ │ │ │ │ ├── cmsDynamicBlock.ee.spec.js.snap │ │ │ │ │ └── dynamicBlock.spec.js.snap │ │ │ │ ├── cmsDynamicBlock.ce.spec.js │ │ │ │ ├── cmsDynamicBlock.ee.spec.js │ │ │ │ ├── constants.spec.js │ │ │ │ └── dynamicBlock.spec.js │ │ │ ├── cmsDynamicBlock.ce.js │ │ │ ├── cmsDynamicBlock.ee.js │ │ │ ├── constants.js │ │ │ ├── dynamicBlock.js │ │ │ └── index.js │ │ ├── CommunicationsPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── communicationsPage.spec.js.snap │ │ │ │ └── communicationsPage.spec.js │ │ │ ├── communicationsPage.js │ │ │ ├── communicationsPage.module.css │ │ │ └── index.js │ │ ├── ContactPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── contactLink.spec.js.snap │ │ │ │ │ ├── contactPage.shimmer.spec.js.snap │ │ │ │ │ └── contactPage.spec.js.snap │ │ │ │ ├── contactLink.spec.js │ │ │ │ ├── contactPage.shimmer.spec.js │ │ │ │ └── contactPage.spec.js │ │ │ ├── contactLink.js │ │ │ ├── contactPage.js │ │ │ ├── contactPage.module.css │ │ │ ├── contactPage.shimmer.js │ │ │ ├── contactPage.shimmer.module.css │ │ │ └── index.js │ │ ├── Country │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── country.spec.js.snap │ │ │ │ └── country.spec.js │ │ │ ├── country.gql.js │ │ │ ├── country.js │ │ │ ├── country.module.css │ │ │ └── index.js │ │ ├── CreateAccount │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── createAccount.spec.js.snap │ │ │ │ └── createAccount.spec.js │ │ │ ├── createAccount.js │ │ │ ├── createAccount.module.css │ │ │ └── index.js │ │ ├── CreateAccountPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── createAccountPage.spec.js.snap │ │ │ │ └── createAccountPage.spec.js │ │ │ ├── createAccountPage.js │ │ │ ├── createAccountPage.module.css │ │ │ └── index.js │ │ ├── CurrencySymbol │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── currencySymbol.spec.js.snap │ │ │ │ └── currencySymbol.spec.js │ │ │ ├── currencySymbol.js │ │ │ └── index.js │ │ ├── Dialog │ │ │ ├── __stories__ │ │ │ │ ├── dialog.js │ │ │ │ └── dialog.module.css │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── dialog.spec.js.snap │ │ │ │ └── dialog.spec.js │ │ │ ├── dialog.js │ │ │ ├── dialog.module.css │ │ │ └── index.js │ │ ├── ErrorMessage │ │ │ ├── __stories__ │ │ │ │ └── errorMessage.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── errorMessage.spec.js.snap │ │ │ │ └── errorMessage.spec.js │ │ │ ├── errorMessage.js │ │ │ ├── errorMessage.module.css │ │ │ └── index.js │ │ ├── ErrorView │ │ │ ├── __stories__ │ │ │ │ └── errorView.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── errorView.spec.js.snap │ │ │ │ └── errorView.spec.js │ │ │ ├── errorView.js │ │ │ ├── errorView.module.css │ │ │ ├── errorViewBackground-1400x600.png │ │ │ ├── errorViewBackground-380x600.png │ │ │ └── index.js │ │ ├── Field │ │ │ ├── field.js │ │ │ ├── field.module.css │ │ │ ├── fieldIcons.js │ │ │ ├── fieldIcons.module.css │ │ │ ├── index.js │ │ │ ├── message.js │ │ │ └── message.module.css │ │ ├── FilterModal │ │ │ ├── CurrentFilters │ │ │ │ ├── __tests__ │ │ │ │ │ ├── currentFilter.spec.js │ │ │ │ │ └── currentFilters.spec.js │ │ │ │ ├── currentFilter.js │ │ │ │ ├── currentFilter.module.css │ │ │ │ ├── currentFilters.js │ │ │ │ ├── currentFilters.module.css │ │ │ │ └── index.js │ │ │ ├── FilterList │ │ │ │ ├── __tests__ │ │ │ │ │ ├── filterDefault.spec.js │ │ │ │ │ ├── filterItem.spec.js │ │ │ │ │ ├── filterItemRadio.spec.js │ │ │ │ │ └── filterList.spec.js │ │ │ │ ├── filterDefault.js │ │ │ │ ├── filterDefault.module.css │ │ │ │ ├── filterItem.js │ │ │ │ ├── filterItemRadio.js │ │ │ │ ├── filterItemRadio.module.css │ │ │ │ ├── filterItemRadioGroup.js │ │ │ │ ├── filterList.js │ │ │ │ ├── filterList.module.css │ │ │ │ └── index.js │ │ │ ├── __tests__ │ │ │ │ ├── filterBlock.spec.js │ │ │ │ ├── filterFooter.spec.js │ │ │ │ └── filterModal.spec.js │ │ │ ├── filterBlock.js │ │ │ ├── filterBlock.module.css │ │ │ ├── filterFooter.js │ │ │ ├── filterFooter.module.css │ │ │ ├── filterModal.js │ │ │ ├── filterModal.module.css │ │ │ ├── filterSearch.module.css │ │ │ └── index.js │ │ ├── FilterModalOpenButton │ │ │ ├── __tests__ │ │ │ │ ├── filterModalOpenButton.shimmer.spec.js │ │ │ │ └── filterModalOpenButton.spec.js │ │ │ ├── filterModalOpenButton.js │ │ │ ├── filterModalOpenButton.module.css │ │ │ ├── filterModalOpenButton.shimmer.js │ │ │ ├── filterModalOpenButton.shimmer.module.css │ │ │ └── index.js │ │ ├── FilterSidebar │ │ │ ├── __tests__ │ │ │ │ └── filterSidebar.spec.js │ │ │ ├── filterSidebar.js │ │ │ ├── filterSidebar.module.css │ │ │ ├── filterSidebar.shimmer.js │ │ │ └── index.js │ │ ├── Footer │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── footer.spec.js.snap │ │ │ │ └── footer.spec.js │ │ │ ├── footer.js │ │ │ ├── footer.module.css │ │ │ ├── index.js │ │ │ └── sampleData.js │ │ ├── ForgotPassword │ │ │ ├── ForgotPasswordForm │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── forgotPasswordForm.spec.js.snap │ │ │ │ │ └── forgotPasswordForm.spec.js │ │ │ │ ├── forgotPasswordForm.js │ │ │ │ ├── forgotPasswordForm.module.css │ │ │ │ └── index.js │ │ │ ├── FormSubmissionSuccessful │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── formSubmissionSuccessful.spec.js.snap │ │ │ │ │ └── formSubmissionSuccessful.spec.js │ │ │ │ ├── formSubmissionSuccessful.js │ │ │ │ ├── formSubmissionSuccessful.module.css │ │ │ │ └── index.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── forgotPassword.spec.js.snap │ │ │ │ └── forgotPassword.spec.js │ │ │ ├── forgotPassword.gql.js │ │ │ ├── forgotPassword.js │ │ │ ├── forgotPassword.module.css │ │ │ └── index.js │ │ ├── ForgotPasswordPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── forgotPasswordPage.spec.js.snap │ │ │ │ └── forgotPasswordPage.spec.js │ │ │ ├── forgotPasswordPage.js │ │ │ ├── forgotPasswordPage.module.css │ │ │ └── index.js │ │ ├── FormError │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── formError.spec.js.snap │ │ │ │ └── formError.spec.js │ │ │ ├── formError.js │ │ │ ├── formError.module.css │ │ │ └── index.js │ │ ├── Gallery │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── addToCartButton.spec.js.snap │ │ │ │ │ ├── gallery.spec.js.snap │ │ │ │ │ └── item.spec.js.snap │ │ │ │ ├── addToCartButton.spec.js │ │ │ │ ├── gallery.shimmer.spec.js │ │ │ │ ├── gallery.spec.js │ │ │ │ └── item.spec.js │ │ │ ├── addToCartButton.js │ │ │ ├── addToCartButton.module.css │ │ │ ├── gallery.js │ │ │ ├── gallery.module.css │ │ │ ├── gallery.shimmer.js │ │ │ ├── index.js │ │ │ ├── item.js │ │ │ ├── item.module.css │ │ │ └── item.shimmer.js │ │ ├── GoogleReCaptcha │ │ │ ├── googleReCaptcha.js │ │ │ ├── googleReCaptcha.module.css │ │ │ └── index.js │ │ ├── Head │ │ │ ├── __tests__ │ │ │ │ └── headProvider.spec.js │ │ │ ├── headProvider.js │ │ │ └── index.js │ │ ├── Header │ │ │ ├── __stories__ │ │ │ │ └── header.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── accountTrigger.spec.js.snap │ │ │ │ │ ├── cartTrigger.spec.js.snap │ │ │ │ │ ├── currencySwitcher.spec.js.snap │ │ │ │ │ ├── header.spec.js.snap │ │ │ │ │ └── storeSwitcher.spec.js.snap │ │ │ │ ├── accountTrigger.spec.js │ │ │ │ ├── cartTrigger.spec.js │ │ │ │ ├── currencySwitcher.spec.js │ │ │ │ ├── header.spec.js │ │ │ │ └── storeSwitcher.spec.js │ │ │ ├── accountTrigger.js │ │ │ ├── accountTrigger.module.css │ │ │ ├── cartTrigger.gql.js │ │ │ ├── cartTrigger.js │ │ │ ├── cartTrigger.module.css │ │ │ ├── cartTriggerFragments.gql.js │ │ │ ├── currencySwitcher.gql.js │ │ │ ├── currencySwitcher.js │ │ │ ├── currencySwitcher.module.css │ │ │ ├── currencySwitcher.shimmer.js │ │ │ ├── header.js │ │ │ ├── header.module.css │ │ │ ├── index.js │ │ │ ├── navTrigger.js │ │ │ ├── navTrigger.module.css │ │ │ ├── onlineIndicator.js │ │ │ ├── onlineIndicator.module.css │ │ │ ├── searchTrigger.js │ │ │ ├── searchTrigger.module.css │ │ │ ├── storeSwitcher.js │ │ │ ├── storeSwitcher.module.css │ │ │ ├── storeSwitcher.shimmer.js │ │ │ ├── switcherItem.js │ │ │ └── switcherItem.module.css │ │ ├── HomePage │ │ │ ├── homePage.ce.js │ │ │ ├── homePage.ee.js │ │ │ ├── homePage.module.css │ │ │ └── index.js │ │ ├── Icon │ │ │ ├── icon.js │ │ │ ├── icon.module.css │ │ │ └── index.js │ │ ├── Image │ │ │ ├── ___tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── image.spec.js.snap │ │ │ │ │ ├── placeholderImage.spec.js.snap │ │ │ │ │ ├── resourceImage.spec.js.snap │ │ │ │ │ └── simpleImage.spec.js.snap │ │ │ │ ├── image.spec.js │ │ │ │ ├── placeholderImage.spec.js │ │ │ │ ├── resourceImage.spec.js │ │ │ │ └── simpleImage.spec.js │ │ │ ├── __stories__ │ │ │ │ ├── image.js │ │ │ │ └── image.module.css │ │ │ ├── image.js │ │ │ ├── image.module.css │ │ │ ├── index.js │ │ │ ├── placeholderImage.js │ │ │ ├── resourceImage.js │ │ │ └── simpleImage.js │ │ ├── LegacyMiniCart │ │ │ ├── __mocks__ │ │ │ │ └── miniCart.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── body.spec.js.snap │ │ │ │ │ ├── cartOptions.spec.js.snap │ │ │ │ │ ├── editItem.spec.js.snap │ │ │ │ │ ├── emptyMiniCartBody.spec.js.snap │ │ │ │ │ ├── footer.spec.js.snap │ │ │ │ │ ├── header.spec.js.snap │ │ │ │ │ ├── kebab.spec.js.snap │ │ │ │ │ ├── mask.spec.js.snap │ │ │ │ │ ├── miniCart.spec.js.snap │ │ │ │ │ ├── product.spec.js.snap │ │ │ │ │ ├── productList.spec.js.snap │ │ │ │ │ ├── productOptions.spec.js.snap │ │ │ │ │ ├── section.spec.js.snap │ │ │ │ │ └── totalsSummary.spec.js.snap │ │ │ │ ├── body.spec.js │ │ │ │ ├── cartOptions.spec.js │ │ │ │ ├── editItem.spec.js │ │ │ │ ├── emptyMiniCartBody.spec.js │ │ │ │ ├── footer.spec.js │ │ │ │ ├── header.spec.js │ │ │ │ ├── kebab.spec.js │ │ │ │ ├── mask.spec.js │ │ │ │ ├── miniCart.spec.js │ │ │ │ ├── product.spec.js │ │ │ │ ├── productList.spec.js │ │ │ │ ├── productOptions.spec.js │ │ │ │ ├── section.spec.js │ │ │ │ └── totalsSummary.spec.js │ │ │ ├── body.js │ │ │ ├── body.module.css │ │ │ ├── cartOptions.gql.js │ │ │ ├── cartOptions.js │ │ │ ├── cartOptions.module.css │ │ │ ├── editFormFragment.gql.js │ │ │ ├── editItem.js │ │ │ ├── emptyMiniCartBody.js │ │ │ ├── emptyMiniCartBody.module.css │ │ │ ├── footer.js │ │ │ ├── footer.module.css │ │ │ ├── header.js │ │ │ ├── header.module.css │ │ │ ├── index.js │ │ │ ├── kebab.js │ │ │ ├── kebab.module.css │ │ │ ├── mask.js │ │ │ ├── mask.module.css │ │ │ ├── miniCart.js │ │ │ ├── miniCart.module.css │ │ │ ├── product.js │ │ │ ├── product.module.css │ │ │ ├── productList.js │ │ │ ├── productList.module.css │ │ │ ├── productOptions.js │ │ │ ├── productOptions.module.css │ │ │ ├── section.js │ │ │ ├── section.module.css │ │ │ ├── totalsSummary.js │ │ │ └── totalsSummary.module.css │ │ ├── Link │ │ │ ├── __tests__ │ │ │ │ └── link.spec.js │ │ │ ├── index.js │ │ │ └── link.js │ │ ├── LinkButton │ │ │ ├── index.js │ │ │ ├── linkButton.js │ │ │ └── linkButton.module.css │ │ ├── LoadingIndicator │ │ │ ├── index.js │ │ │ ├── indicator.js │ │ │ ├── indicator.module.css │ │ │ ├── spinner.js │ │ │ ├── spinner.module.css │ │ │ └── static.js │ │ ├── Logo │ │ │ ├── VeniaLogo.svg │ │ │ ├── index.js │ │ │ ├── logo.js │ │ │ └── logo.svg │ │ ├── MagentoRoute │ │ │ ├── __tests__ │ │ │ │ └── magentoRoute.spec.js │ │ │ ├── index.js │ │ │ └── magentoRoute.js │ │ ├── Main │ │ │ ├── __tests__ │ │ │ │ └── main.spec.js │ │ │ ├── index.js │ │ │ ├── main.js │ │ │ └── main.module.css │ │ ├── Mask │ │ │ ├── index.js │ │ │ ├── mask.js │ │ │ └── mask.module.css │ │ ├── MegaMenu │ │ │ ├── __tests__ │ │ │ │ ├── MegaMenu.spec.js │ │ │ │ ├── MegaMenuItem.spec.js │ │ │ │ ├── Submenu.spec.js │ │ │ │ ├── SubmenuColumn.spec.js │ │ │ │ └── __snapshots__ │ │ │ │ │ ├── MegaMenu.spec.js.snap │ │ │ │ │ ├── MegaMenuItem.spec.js.snap │ │ │ │ │ ├── Submenu.spec.js.snap │ │ │ │ │ └── SubmenuColumn.spec.js.snap │ │ │ ├── index.js │ │ │ ├── megaMenu.js │ │ │ ├── megaMenu.module.css │ │ │ ├── megaMenuItem.js │ │ │ ├── megaMenuItem.module.css │ │ │ ├── submenu.js │ │ │ ├── submenu.module.css │ │ │ ├── submenuColumn.js │ │ │ └── submenuColumn.module.css │ │ ├── MiniCart │ │ │ ├── ProductList │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── item.spec.js.snap │ │ │ │ │ │ └── productList.spec.js.snap │ │ │ │ │ ├── item.spec.js │ │ │ │ │ └── productList.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── item.js │ │ │ │ ├── item.module.css │ │ │ │ ├── productList.gql.js │ │ │ │ ├── productList.js │ │ │ │ └── productList.module.css │ │ │ ├── __stories__ │ │ │ │ └── miniCart.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── miniCart.spec.js.snap │ │ │ │ └── miniCart.spec.js │ │ │ ├── index.js │ │ │ ├── miniCart.gql.js │ │ │ ├── miniCart.js │ │ │ └── miniCart.module.css │ │ ├── Modal │ │ │ └── index.js │ │ ├── MyAccount │ │ │ ├── ResetPassword │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── resetPassword.spec.js.snap │ │ │ │ │ └── resetPassword.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── resetPassword.gql.js │ │ │ │ ├── resetPassword.js │ │ │ │ └── resetPassword.module.css │ │ │ ├── accountLink.js │ │ │ ├── accountLink.module.css │ │ │ ├── index.js │ │ │ ├── myAccount.js │ │ │ └── myAccount.module.css │ │ ├── Navigation │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── navHeader.spec.js.snap │ │ │ │ │ └── navigation.spec.js.snap │ │ │ │ ├── navHeader.spec.js │ │ │ │ └── navigation.spec.js │ │ │ ├── index.js │ │ │ ├── navHeader.js │ │ │ ├── navHeader.module.css │ │ │ ├── navigation.js │ │ │ └── navigation.module.css │ │ ├── Newsletter │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── newsletter.shimmer.spec.js.snap │ │ │ │ │ └── newsletter.spec.js.snap │ │ │ │ ├── newsletter.shimmer.spec.js │ │ │ │ └── newsletter.spec.js │ │ │ ├── index.js │ │ │ ├── newsletter.js │ │ │ ├── newsletter.module.css │ │ │ ├── newsletter.shimmer.js │ │ │ └── newsletter.shimmer.module.css │ │ ├── OrderHistoryPage │ │ │ ├── OrderDetails │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── billingInformation.spec.js.snap │ │ │ │ │ │ ├── item.spec.js.snap │ │ │ │ │ │ ├── items.spec.js.snap │ │ │ │ │ │ ├── orderDetails.spec.js.snap │ │ │ │ │ │ ├── orderTotal.spec.js.snap │ │ │ │ │ │ ├── paymentMethod.spec.js.snap │ │ │ │ │ │ ├── shippingInformation.spec.js.snap │ │ │ │ │ │ └── shippingMethod.spec.js.snap │ │ │ │ │ ├── billingInformation.spec.js │ │ │ │ │ ├── item.spec.js │ │ │ │ │ ├── items.spec.js │ │ │ │ │ ├── orderDetails.spec.js │ │ │ │ │ ├── orderTotal.spec.js │ │ │ │ │ ├── paymentMethod.spec.js │ │ │ │ │ ├── shippingInformation.spec.js │ │ │ │ │ └── shippingMethod.spec.js │ │ │ │ ├── billingInformation.js │ │ │ │ ├── billingInformation.module.css │ │ │ │ ├── index.js │ │ │ │ ├── item.js │ │ │ │ ├── item.module.css │ │ │ │ ├── items.js │ │ │ │ ├── items.module.css │ │ │ │ ├── orderDetails.js │ │ │ │ ├── orderDetails.module.css │ │ │ │ ├── orderTotal.js │ │ │ │ ├── orderTotal.module.css │ │ │ │ ├── paymentMethod.js │ │ │ │ ├── paymentMethod.module.css │ │ │ │ ├── shippingInformation.js │ │ │ │ ├── shippingInformation.module.css │ │ │ │ ├── shippingMethod.js │ │ │ │ └── shippingMethod.module.css │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── collapsedImageGallery.spec.js.snap │ │ │ │ │ ├── orderHistoryPage.spec.js.snap │ │ │ │ │ ├── orderProgressBar.spec.js.snap │ │ │ │ │ ├── orderRow.spec.js.snap │ │ │ │ │ └── resetButton.spec.js.snap │ │ │ │ ├── collapsedImageGallery.spec.js │ │ │ │ ├── orderHistoryPage.spec.js │ │ │ │ ├── orderProgressBar.spec.js │ │ │ │ ├── orderRow.spec.js │ │ │ │ └── resetButton.spec.js │ │ │ ├── collapsedImageGallery.js │ │ │ ├── collapsedImageGallery.module.css │ │ │ ├── index.js │ │ │ ├── orderHistoryPage.js │ │ │ ├── orderHistoryPage.module.css │ │ │ ├── orderProgressBar.js │ │ │ ├── orderProgressBar.module.css │ │ │ ├── orderRow.js │ │ │ ├── orderRow.module.css │ │ │ └── resetButton.js │ │ ├── PageLoadingIndicator │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── pageLoadingIndicator.spec.js.snap │ │ │ │ └── pageLoadingIndicator.spec.js │ │ │ ├── index.js │ │ │ ├── pageLoadingIndicator.js │ │ │ └── pageLoadingIndicator.module.css │ │ ├── Pagination │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── pagination.spec.js.snap │ │ │ │ └── pagination.spec.js │ │ │ ├── constants.js │ │ │ ├── index.js │ │ │ ├── navButton.js │ │ │ ├── navButton.module.css │ │ │ ├── pagination.js │ │ │ ├── pagination.module.css │ │ │ ├── tile.js │ │ │ └── tile.module.css │ │ ├── Password │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── password.spec.js.snap │ │ │ │ └── password.spec.js │ │ │ ├── index.js │ │ │ ├── password.js │ │ │ └── password.module.css │ │ ├── Portal │ │ │ ├── index.js │ │ │ └── portal.js │ │ ├── Postcode │ │ │ ├── index.js │ │ │ ├── postcode.js │ │ │ └── postcode.module.css │ │ ├── Price │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── price.spec.js.snap │ │ │ │ └── price.spec.js │ │ │ ├── index.js │ │ │ └── price.js │ │ ├── ProductFullDetail │ │ │ ├── CustomAttributes │ │ │ │ ├── AttributeType │ │ │ │ │ ├── Boolean │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ └── boolean.spec.js.snap │ │ │ │ │ │ │ └── boolean.spec.js │ │ │ │ │ │ ├── boolean.js │ │ │ │ │ │ ├── boolean.module.css │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Date │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ └── date.spec.js.snap │ │ │ │ │ │ │ └── date.spec.js │ │ │ │ │ │ ├── date.js │ │ │ │ │ │ ├── date.module.css │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── DateTime │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ └── dateTime.spec.js.snap │ │ │ │ │ │ │ └── dateTime.spec.js │ │ │ │ │ │ ├── dateTime.js │ │ │ │ │ │ ├── dateTime.module.css │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Multiselect │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ └── multiSelect.spec.js.snap │ │ │ │ │ │ │ └── multiSelect.spec.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── multiselect.js │ │ │ │ │ │ └── multiselect.module.css │ │ │ │ │ ├── Price │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ └── price.spec.js.snap │ │ │ │ │ │ │ └── price.spec.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── price.js │ │ │ │ │ │ └── price.module.css │ │ │ │ │ ├── Select │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ └── select.spec.js.snap │ │ │ │ │ │ │ └── select.spec.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── select.js │ │ │ │ │ │ └── select.module.css │ │ │ │ │ ├── Text │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ └── text.spec.js.snap │ │ │ │ │ │ │ └── text.spec.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── text.js │ │ │ │ │ │ └── text.module.css │ │ │ │ │ ├── Textarea │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ │ └── textarea.spec.js.snap │ │ │ │ │ │ │ └── textarea.spec.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── textarea.js │ │ │ │ │ │ └── textarea.module.css │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attributeType.spec.js.snap │ │ │ │ │ │ └── attributeType.spec.js │ │ │ │ │ ├── attributeType.js │ │ │ │ │ └── index.js │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── customAttributes.spec.js.snap │ │ │ │ │ └── customAttributes.spec.js │ │ │ │ ├── customAttributes.js │ │ │ │ ├── customAttributes.module.css │ │ │ │ └── index.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── productFullDetail.spec.js.snap │ │ │ │ └── productFullDetail.spec.js │ │ │ ├── index.js │ │ │ ├── productFullDetail.gql.js │ │ │ ├── productFullDetail.js │ │ │ └── productFullDetail.module.css │ │ ├── ProductImageCarousel │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── carousel.spec.js.snap │ │ │ │ │ └── thumbnail.spec.js.snap │ │ │ │ ├── carousel.spec.js │ │ │ │ └── thumbnail.spec.js │ │ │ ├── carousel.js │ │ │ ├── carousel.module.css │ │ │ ├── carousel.shimmer.js │ │ │ ├── carousel.shimmer.module.css │ │ │ ├── index.js │ │ │ ├── thumbnail.js │ │ │ └── thumbnail.module.css │ │ ├── ProductOptions │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── option.spec.js.snap │ │ │ │ │ ├── options.spec.js.snap │ │ │ │ │ ├── swatch.spec.js.snap │ │ │ │ │ ├── swatchList.spec.js.snap │ │ │ │ │ ├── tile.spec.js.snap │ │ │ │ │ └── tileList.spec.js.snap │ │ │ │ ├── getOptionType.spec.js │ │ │ │ ├── option.spec.js │ │ │ │ ├── options.spec.js │ │ │ │ ├── swatch.spec.js │ │ │ │ ├── swatchList.spec.js │ │ │ │ ├── tile.spec.js │ │ │ │ └── tileList.spec.js │ │ │ ├── getOptionType.js │ │ │ ├── index.js │ │ │ ├── option.js │ │ │ ├── option.module.css │ │ │ ├── option.shimmer.js │ │ │ ├── options.js │ │ │ ├── options.shimmer.js │ │ │ ├── swatch.js │ │ │ ├── swatch.module.css │ │ │ ├── swatchList.js │ │ │ ├── swatchList.module.css │ │ │ ├── tile.js │ │ │ ├── tile.module.css │ │ │ ├── tileList.js │ │ │ ├── tileList.module.css │ │ │ └── tileList.shimmer.js │ │ ├── ProductQuantity │ │ │ ├── index.js │ │ │ ├── mockData.js │ │ │ ├── quantity.js │ │ │ └── quantity.module.css │ │ ├── ProductSort │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── productSort.spec.js.snap │ │ │ │ │ └── sortItem.spec.js.snap │ │ │ │ ├── productSort.shimmer.spec.js │ │ │ │ ├── productSort.spec.js │ │ │ │ └── sortItem.spec.js │ │ │ ├── index.js │ │ │ ├── productSort.js │ │ │ ├── productSort.module.css │ │ │ ├── productSort.shimmer.js │ │ │ ├── productSort.shimmer.module.css │ │ │ ├── sortItem.js │ │ │ └── sortItem.module.css │ │ ├── QuantityStepper │ │ │ ├── index.js │ │ │ ├── quantityStepper.js │ │ │ └── quantityStepper.module.css │ │ ├── RadioGroup │ │ │ ├── __stories__ │ │ │ │ └── radioGroup.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── radioGroup.spec.js.snap │ │ │ │ └── radioGroup.spec.js │ │ │ ├── index.js │ │ │ ├── radio.js │ │ │ ├── radio.module.css │ │ │ ├── radioGroup.js │ │ │ └── radioGroup.module.css │ │ ├── RangeSlider │ │ │ ├── rangeSlider.js │ │ │ └── rangeSlider.module.css │ │ ├── Rating │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── rating.spec.js.snap │ │ │ │ └── rating.spec.js │ │ │ ├── index.js │ │ │ ├── rating.js │ │ │ └── rating.module.css │ │ ├── Region │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── region.spec.js.snap │ │ │ │ └── region.spec.js │ │ │ ├── index.js │ │ │ ├── region.gql.js │ │ │ ├── region.js │ │ │ └── region.module.css │ │ ├── RichContent │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── richContent.spec.js.snap │ │ │ │ └── richContent.spec.js │ │ │ ├── index.js │ │ │ ├── plainHtmlRenderer.js │ │ │ ├── richContent.js │ │ │ ├── richContent.module.css │ │ │ └── richContentRenderers.js │ │ ├── RichText │ │ │ ├── index.js │ │ │ ├── richText.js │ │ │ └── richText.module.css │ │ ├── Routes │ │ │ ├── __tests__ │ │ │ │ ├── authRoute.spec.js │ │ │ │ └── routes.spec.js │ │ │ ├── authRoute.js │ │ │ ├── index.js │ │ │ └── routes.js │ │ ├── SavedPaymentsPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── creditCard.spec.js.snap │ │ │ │ │ ├── paymentCard.spec.js.snap │ │ │ │ │ └── savedPaymentsPage.spec.js.snap │ │ │ │ ├── creditCard.spec.js │ │ │ │ ├── paymentCard.spec.js │ │ │ │ └── savedPaymentsPage.spec.js │ │ │ ├── creditCard.js │ │ │ ├── creditCard.module.css │ │ │ ├── index.js │ │ │ ├── paymentCard.js │ │ │ ├── savedPaymentTypes.js │ │ │ ├── savedPaymentsPage.js │ │ │ └── savedPaymentsPage.module.css │ │ ├── ScrollAnchor │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── scrollAnchor.spec.js.snap │ │ │ │ └── scrollAnchor.spec.js │ │ │ ├── index.js │ │ │ ├── scrollAnchor.js │ │ │ └── scrollAnchor.module.css │ │ ├── SearchBar │ │ │ ├── __stories__ │ │ │ │ └── searchBar.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── searchField.spec.js.snap │ │ │ │ │ ├── suggestedCategories.spec.js.snap │ │ │ │ │ ├── suggestedProduct.spec.js.snap │ │ │ │ │ ├── suggestedProducts.spec.js.snap │ │ │ │ │ └── suggestions.spec.js.snap │ │ │ │ ├── autocomplete.spec.js │ │ │ │ ├── searchBar.spec.js │ │ │ │ ├── searchField.spec.js │ │ │ │ ├── suggestedCategories.spec.js │ │ │ │ ├── suggestedProduct.spec.js │ │ │ │ ├── suggestedProducts.spec.js │ │ │ │ └── suggestions.spec.js │ │ │ ├── autocomplete.js │ │ │ ├── autocomplete.module.css │ │ │ ├── index.js │ │ │ ├── searchBar.js │ │ │ ├── searchBar.module.css │ │ │ ├── searchField.js │ │ │ ├── suggestedCategories.js │ │ │ ├── suggestedCategories.module.css │ │ │ ├── suggestedCategory.js │ │ │ ├── suggestedCategory.module.css │ │ │ ├── suggestedProduct.js │ │ │ ├── suggestedProduct.module.css │ │ │ ├── suggestedProducts.js │ │ │ ├── suggestedProducts.module.css │ │ │ ├── suggestions.js │ │ │ └── suggestions.module.css │ │ ├── SearchPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── searchPage.spec.js.snap │ │ │ │ └── searchPage.spec.js │ │ │ ├── index.js │ │ │ ├── searchPage.js │ │ │ └── searchPage.module.css │ │ ├── Select │ │ │ ├── index.js │ │ │ ├── select.js │ │ │ └── select.module.css │ │ ├── Shimmer │ │ │ ├── __stories__ │ │ │ │ └── shimmer.js │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── shimmer.spec.js.snap │ │ │ │ └── shimmer.spec.js │ │ │ ├── index.js │ │ │ ├── shimmer.js │ │ │ └── shimmer.module.css │ │ ├── SignIn │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── signIn.spec.js.snap │ │ │ │ └── signIn.spec.js │ │ │ ├── index.js │ │ │ ├── signIn.gql.js │ │ │ ├── signIn.js │ │ │ └── signIn.module.css │ │ ├── SignInPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── signInPage.spec.js.snap │ │ │ │ └── signInPage.spec.js │ │ │ ├── index.js │ │ │ ├── signInPage.js │ │ │ └── signInPage.module.css │ │ ├── SortedByContainer │ │ │ ├── __tests__ │ │ │ │ └── sortedByContainer.shimmer.spec.js │ │ │ ├── index.js │ │ │ ├── sortedByContainer.js │ │ │ ├── sortedByContainer.module.css │ │ │ └── sortedByContainer.shimmer.js │ │ ├── StockStatusMessage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── stockStatusMessage.spec.js.snap │ │ │ │ └── stockStatusMessage.spec.js │ │ │ ├── index.js │ │ │ ├── stockStatusMessage.js │ │ │ └── stockStatusMessage.module.css │ │ ├── StoreCodeRoute │ │ │ ├── __tests__ │ │ │ │ └── storeCodeRoute.spec.js │ │ │ ├── index.js │ │ │ └── storeCodeRoute.js │ │ ├── TextArea │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── textArea.spec.js.snap │ │ │ │ └── textArea.spec.js │ │ │ ├── index.js │ │ │ ├── textArea.js │ │ │ └── textArea.module.css │ │ ├── TextInput │ │ │ ├── index.js │ │ │ ├── textInput.js │ │ │ └── textInput.module.css │ │ ├── ToastContainer │ │ │ ├── __stories__ │ │ │ │ └── toasts.js │ │ │ ├── index.js │ │ │ ├── toast.js │ │ │ ├── toast.module.css │ │ │ ├── toastContainer.js │ │ │ └── toastContainer.module.css │ │ ├── Trigger │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── trigger.spec.js.snap │ │ │ │ └── trigger.spec.js │ │ │ ├── index.js │ │ │ ├── trigger.js │ │ │ └── trigger.module.css │ │ ├── Wishlist │ │ │ ├── AddToListButton │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ ├── addToListButton.ce.spec.js.snap │ │ │ │ │ │ ├── addToListButton.ee.spec.js.snap │ │ │ │ │ │ └── useCommonToasts.spec.js.snap │ │ │ │ │ ├── addToListButton.ce.spec.js │ │ │ │ │ ├── addToListButton.ee.spec.js │ │ │ │ │ └── useCommonToasts.spec.js │ │ │ │ ├── addToListButton.ce.js │ │ │ │ ├── addToListButton.ee.js │ │ │ │ ├── addToListButton.module.css │ │ │ │ ├── index.js │ │ │ │ └── useCommonToasts.js │ │ │ └── WishlistDialog │ │ │ │ ├── CreateWishlistForm │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── createWishlistForm.spec.js.snap │ │ │ │ │ └── createWishlistForm.spec.js │ │ │ │ ├── createWishlistForm.js │ │ │ │ ├── createWishlistForm.module.css │ │ │ │ └── index.js │ │ │ │ ├── WishlistLineItem │ │ │ │ ├── __tests__ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── wishlistLineItem.spec.js.snap │ │ │ │ │ └── wishlistLineItem.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── wishlistLineItem.js │ │ │ │ └── wishlistLineItem.module.css │ │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── wishlistDialog.spec.js.snap │ │ │ │ └── wishlistDialog.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── wishlistDialog.js │ │ │ │ └── wishlistDialog.module.css │ │ ├── WishlistPage │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── actionMenu.ee.spec.js.snap │ │ │ │ │ ├── createWishlist.ee.spec.js.snap │ │ │ │ │ ├── wishlist.spec.js.snap │ │ │ │ │ ├── wishlistConfirmRemoveProductDialog.spec.js.snap │ │ │ │ │ ├── wishlistEditFavoritesListDialog.spec.js.snap │ │ │ │ │ ├── wishlistItem.spec.js.snap │ │ │ │ │ ├── wishlistItems.spec.js.snap │ │ │ │ │ ├── wishlistListActionsDialog.spec.js.snap │ │ │ │ │ ├── wishlistMoreActionsDialog.spec.js.snap │ │ │ │ │ └── wishlistPage.spec.js.snap │ │ │ │ ├── actionMenu.ee.spec.js │ │ │ │ ├── createWishlist.ee.spec.js │ │ │ │ ├── wishlist.spec.js │ │ │ │ ├── wishlistConfirmRemoveProductDialog.spec.js │ │ │ │ ├── wishlistEditFavoritesListDialog.spec.js │ │ │ │ ├── wishlistItem.spec.js │ │ │ │ ├── wishlistItems.spec.js │ │ │ │ ├── wishlistListActionsDialog.spec.js │ │ │ │ ├── wishlistMoreActionsDialog.spec.js │ │ │ │ └── wishlistPage.spec.js │ │ │ ├── actionMenu.ee.js │ │ │ ├── actionMenu.js │ │ │ ├── createWishlist.ee.js │ │ │ ├── createWishlist.js │ │ │ ├── createWishlist.module.css │ │ │ ├── index.js │ │ │ ├── wishlist.js │ │ │ ├── wishlist.module.css │ │ │ ├── wishlistConfirmRemoveProductDialog.js │ │ │ ├── wishlistConfirmRemoveProductDialog.module.css │ │ │ ├── wishlistEditFavoritesListDialog.js │ │ │ ├── wishlistEditFavoritesListDialog.module.css │ │ │ ├── wishlistItem.js │ │ │ ├── wishlistItem.module.css │ │ │ ├── wishlistItems.js │ │ │ ├── wishlistItems.module.css │ │ │ ├── wishlistListActionsDialog.js │ │ │ ├── wishlistMoreActionsDialog.js │ │ │ ├── wishlistMoreActionsDialog.module.css │ │ │ ├── wishlistPage.js │ │ │ └── wishlistPage.module.css │ │ └── clickable.module.css │ ├── constants │ │ └── swMessageTypes.js │ ├── defaultRoutes.json │ ├── drivers │ │ ├── adapter.js │ │ └── index.js │ ├── index.js │ ├── index.module.css │ ├── targets │ │ ├── CategoryListProductAttributes.js │ │ ├── CheckoutPagePaymentsList.js │ │ ├── EditablePaymentTypes.js │ │ ├── RichContentRendererList.js │ │ ├── RootShimmerTypes.js │ │ ├── SavedPaymentTypes.js │ │ ├── SummaryPaymentTypes.js │ │ ├── __tests__ │ │ │ ├── CategoryListProductAttributes.spec.js │ │ │ ├── RootShimmerTypes.spec.js │ │ │ ├── SavedPaymentTypes.spec.js │ │ │ ├── __fixtures__ │ │ │ │ └── project │ │ │ │ │ ├── entry.js │ │ │ │ │ └── fakePlainHtmlRenderer.js │ │ │ ├── __snapshots__ │ │ │ │ ├── SavedPaymentTypes.spec.js.snap │ │ │ │ └── venia-ui-targets.spec.js.snap │ │ │ ├── makeRoutesTarget.spec.js │ │ │ └── venia-ui-targets.spec.js │ │ ├── makeRoutesTarget.js │ │ ├── venia-ui-declare.js │ │ └── venia-ui-intercept.js │ ├── tokens.module.css │ └── util │ │ ├── __mocks__ │ │ └── formValidators.js │ │ ├── __tests__ │ │ ├── combineValidators.spec.js │ │ ├── fixedObserver.spec.js │ │ ├── formValidators.spec.js │ │ ├── getNamedExport.spec.js │ │ ├── initObserver.spec.js │ │ ├── isObjectEmpty.spec.js │ │ ├── mapProduct.spec.js │ │ ├── shrinkGETQuery.spec.js │ │ ├── timeout.spec.js │ │ └── toMap.spec.js │ │ ├── apolloCache.js │ │ ├── combineValidators.js │ │ ├── ensureDirUri.js │ │ ├── fixedObserver.js │ │ ├── formValidators.js │ │ ├── formatLocale.js │ │ ├── getDisplayName.js │ │ ├── getNamedExport.js │ │ ├── images.js │ │ ├── initObserver.js │ │ ├── isObjectEmpty.js │ │ ├── makeUrl.js │ │ ├── mapProduct.js │ │ ├── shrinkGETQuery.js │ │ ├── swUtils.js │ │ ├── timeout.js │ │ ├── toCamelCase.js │ │ └── toMap.js │ ├── package.json │ ├── upward.yml │ └── venia-static │ ├── favicon.ico │ ├── icons │ ├── apple-touch-icon.png │ ├── venia_circle_144.png │ ├── venia_circle_192.png │ ├── venia_circle_512.png │ ├── venia_maskable_512.png │ ├── venia_square_144.png │ ├── venia_square_192.png │ ├── venia_square_512.png │ └── venia_square_57.png │ ├── manifest.json │ ├── robots.txt │ └── veniaClosed.png ├── postcss.config.js ├── prettier.config.js ├── prod.dockerfile ├── pwa-devdocs ├── .gitignore ├── CHANGELOG.md ├── Gemfile ├── Gemfile.lock ├── LICENSE.txt ├── README.md ├── _archived │ ├── create-taglist-component │ │ ├── images │ │ │ ├── hard-coded-list.png │ │ │ ├── real-data-list.png │ │ │ ├── styled-list.png │ │ │ └── unstyled-list.png │ │ └── index.md │ ├── css-modules │ │ └── index.md │ ├── hello-upward │ │ ├── adding-react │ │ │ └── index.md │ │ ├── simple-server │ │ │ └── index.md │ │ └── using-template-resolver │ │ │ └── index.md │ ├── manage-state │ │ └── index.md │ ├── using-component-props │ │ ├── images │ │ │ └── prop-types-error.png │ │ └── index.md │ └── work-with-graphql │ │ └── index.md ├── _config-production.yml ├── _drafts │ ├── .gitkeep │ ├── docker-setup.md │ ├── graphql-cli-validate-queries │ │ └── notes.md │ ├── project-setup │ │ ├── create-configuration-files │ │ │ ├── index.md │ │ │ └── webpack-config-example │ │ │ │ └── index.md │ │ ├── create-simple-peregrine-app │ │ │ └── index.md │ │ ├── create-theme-files │ │ │ └── index.md │ │ ├── index.md │ │ ├── install-dependencies │ │ │ └── index.md │ │ └── link-project │ │ │ └── index.md │ ├── pwa-studio-fundamentals │ │ ├── explore-graphql-with-graphiql │ │ │ ├── images │ │ │ │ └── graphql-network-screenshot.png │ │ │ └── index.md │ │ ├── extensibility-with-targets │ │ │ └── index.md │ │ ├── manage-state-with-redux │ │ │ ├── images │ │ │ │ ├── foo-in-the-redux-store.gif │ │ │ │ ├── foo-redux-actions.gif │ │ │ │ └── redux-store-screenshot.png │ │ │ └── index.md │ │ ├── reuse-a-venia-component │ │ │ └── index.md │ │ └── use-magentos-graphql-api │ │ │ ├── images │ │ │ └── graphql-and-apollo-client.png │ │ │ └── index.md │ ├── storybook │ │ └── index.md │ ├── targetables-explainer.md │ └── venia-pwa-concept │ │ └── component │ │ ├── account-details │ │ └── index.md │ │ ├── link │ │ └── index.md │ │ └── shimmer │ │ ├── index.md │ │ ├── rootcomponent.md │ │ └── upward.md ├── gulpfile.js ├── package.json ├── scripts │ ├── create-compatibility-table.js │ ├── create-env-variables-docs │ │ ├── generateEnvVarDefinitionDocs.js │ │ ├── handleSection.js │ │ ├── handleVariable.js │ │ └── index.js │ ├── create-reference-docs │ │ ├── config │ │ │ ├── buildpack.js │ │ │ ├── index.js │ │ │ ├── pagebuilder.js │ │ │ ├── peregrine.js │ │ │ └── venia.js │ │ ├── createClassDocs.js │ │ ├── createFunctionDocs.js │ │ ├── index.js │ │ └── templates │ │ │ ├── handlebars │ │ │ ├── body.hbs │ │ │ ├── defaultValue.hbs │ │ │ ├── description.hbs │ │ │ ├── examples.hbs │ │ │ ├── global-index-dl.hbs │ │ │ ├── header.hbs │ │ │ ├── heading-indent.hbs │ │ │ ├── link.hbs │ │ │ ├── linked-type-list.hbs │ │ │ ├── param-table-name.hbs │ │ │ ├── params-list.hbs │ │ │ ├── params-table-html.hbs │ │ │ ├── params-table.hbs │ │ │ ├── params.hbs │ │ │ ├── properties-list.hbs │ │ │ ├── properties-table-html.hbs │ │ │ ├── properties-table.hbs │ │ │ ├── properties.hbs │ │ │ ├── returns.hbs │ │ │ └── scope.hbs │ │ │ ├── index.js │ │ │ └── renderClassDocs.js │ ├── deploy.sh │ ├── develop.js │ ├── fix-markdown.js │ ├── lint │ │ └── index.js │ └── markdown-linter │ │ ├── index.js │ │ ├── linter.js │ │ ├── style-guide.js │ │ └── tokenizers │ │ ├── index.js │ │ └── jekyll-link.js ├── src │ ├── .editorconfig │ ├── 404.md │ ├── _config.yml │ ├── _data │ │ ├── buildpack-api.yml │ │ ├── categories.yml │ │ ├── home-sections.yml │ │ ├── overview.yml │ │ ├── pagebuilder.yml │ │ ├── peregrine-api.yml │ │ ├── product-recs.yml │ │ ├── top-nav.yml │ │ ├── tutorials.yml │ │ ├── vars.yml │ │ └── venia-api.yml │ ├── _drafts │ │ └── venia-pwa-concept │ │ │ └── component │ │ │ ├── my-account-menu │ │ │ └── index.md │ │ │ └── purchase-details-page │ │ │ └── index.md │ ├── _includes │ │ ├── categories.md │ │ ├── content-not-available.md │ │ ├── layout │ │ │ ├── after-site-header.html │ │ │ ├── footer-links.html │ │ │ ├── footer-scripts.html │ │ │ ├── header-scripts.html │ │ │ ├── header-styles.html │ │ │ ├── header.html │ │ │ ├── navigation.html │ │ │ ├── page-header.html │ │ │ ├── pre-release-banner.html │ │ │ ├── sidebar-nav-root-item.html │ │ │ └── toc.html │ │ └── peregrine │ │ │ └── reference │ │ │ └── list-selection-models.md │ ├── _js │ │ ├── collapsible.js │ │ └── index.js │ ├── _plugins │ │ ├── github_path.rb │ │ └── sitemap_generator.rb │ ├── _posts │ │ └── .gitkeep │ ├── _scss │ │ ├── _variables.scss │ │ ├── main.scss │ │ ├── src │ │ │ ├── .gitkeep │ │ │ ├── _code-block-style-overrides.scss │ │ │ ├── _material-icons.scss │ │ │ └── menu-section.scss │ │ └── var │ │ │ └── _syntax.scss │ ├── assets │ │ └── i │ │ │ └── home-bg.jpg │ ├── frequently-asked-questions │ │ └── index.md │ ├── guides │ │ └── testing │ │ │ └── index.md │ ├── index.html │ ├── pagebuilder │ │ ├── components │ │ │ ├── banner │ │ │ │ └── index.md │ │ │ ├── block │ │ │ │ └── index.md │ │ │ ├── buttons │ │ │ │ └── index.md │ │ │ ├── column │ │ │ │ └── index.md │ │ │ ├── divider │ │ │ │ └── index.md │ │ │ ├── heading │ │ │ │ └── index.md │ │ │ ├── html │ │ │ │ └── index.md │ │ │ ├── image │ │ │ │ └── index.md │ │ │ ├── map │ │ │ │ └── index.md │ │ │ ├── products │ │ │ │ └── index.md │ │ │ ├── row │ │ │ │ └── index.md │ │ │ ├── slider │ │ │ │ └── index.md │ │ │ ├── tabs │ │ │ │ └── index.md │ │ │ ├── text │ │ │ │ └── index.md │ │ │ └── video │ │ │ │ └── index.md │ │ ├── custom-components │ │ │ ├── add-aggregator │ │ │ │ ├── images │ │ │ │ │ ├── AddAggregatorOverview.svg │ │ │ │ │ ├── AggregatorHTMLConsoleOutput.png │ │ │ │ │ ├── AggregatorObjectConsoleOutput.png │ │ │ │ │ ├── MasterFormatHTML.svg │ │ │ │ │ └── MasterFormatToComponent.svg │ │ │ │ └── index.md │ │ │ ├── add-component │ │ │ │ ├── images │ │ │ │ │ ├── AddComponentOutput.png │ │ │ │ │ ├── AddComponentOutput.svg │ │ │ │ │ └── AddComponentSteps.svg │ │ │ │ └── index.md │ │ │ ├── add-stylesheet │ │ │ │ ├── images │ │ │ │ │ ├── AddStylesheetCamelCase.png │ │ │ │ │ └── AddStylesheetSteps.svg │ │ │ │ └── index.md │ │ │ ├── debugging │ │ │ │ └── index.md │ │ │ ├── overview │ │ │ │ ├── images │ │ │ │ │ ├── OverviewSteps.svg │ │ │ │ │ ├── PageBuilderQuoteAdmin.png │ │ │ │ │ └── PageBuilderQuoteStorefront.png │ │ │ │ └── index.md │ │ │ └── setup-component │ │ │ │ ├── images │ │ │ │ ├── ConfigureComponentOutput.png │ │ │ │ ├── PageBuilderConfigFile.png │ │ │ │ ├── PageBuilderFilesSetup.png │ │ │ │ ├── SetupComponentSteps.svg │ │ │ │ └── SetupComponentTest.svg │ │ │ │ └── index.md │ │ ├── images │ │ │ ├── PageBuilderBigPicture1.svg │ │ │ ├── PageBuilderIntegration.svg │ │ │ └── PageBuilderIntegrationDetails.svg │ │ ├── index.md │ │ ├── known-limitations │ │ │ ├── images │ │ │ │ └── LimitationsTextAlign.png │ │ │ └── index.md │ │ └── utility-functions │ │ │ └── index.md │ ├── peregrine │ │ ├── index.md │ │ ├── reference │ │ │ ├── container-child │ │ │ │ └── index.md │ │ │ ├── hooks │ │ │ │ ├── useDropdown │ │ │ │ │ └── index.md │ │ │ │ ├── useEventListener │ │ │ │ │ └── index.md │ │ │ │ ├── usePagination │ │ │ │ │ └── index.md │ │ │ │ ├── useSearchParam │ │ │ │ │ └── index.md │ │ │ │ └── useWindowSize │ │ │ │ │ └── index.md │ │ │ ├── item │ │ │ │ └── index.md │ │ │ ├── items │ │ │ │ └── index.md │ │ │ ├── list │ │ │ │ └── index.md │ │ │ ├── price │ │ │ │ └── index.md │ │ │ ├── rest-api-client │ │ │ │ └── index.md │ │ │ ├── router │ │ │ │ └── index.md │ │ │ ├── talons │ │ │ │ └── CartPage │ │ │ │ │ ├── GiftCards │ │ │ │ │ └── index.md │ │ │ │ │ ├── GiftOptions │ │ │ │ │ └── index.md │ │ │ │ │ ├── PriceAdjustments │ │ │ │ │ └── index.md │ │ │ │ │ ├── PriceSummary │ │ │ │ │ └── index.md │ │ │ │ │ ├── ProductListing │ │ │ │ │ └── index.md │ │ │ │ │ └── index.md │ │ │ ├── targets │ │ │ │ ├── index.md │ │ │ │ └── wrappable-talons │ │ │ │ │ └── index.md │ │ │ └── toasts │ │ │ │ ├── useToastContext │ │ │ │ └── index.md │ │ │ │ └── useToasts │ │ │ │ └── index.md │ │ ├── routing │ │ │ └── index.md │ │ └── talons │ │ │ └── index.md │ ├── product-recs │ │ ├── images │ │ │ └── pwa-arch-diag-sensei.svg │ │ └── index.md │ ├── pwa-buildpack │ │ ├── configuration-management │ │ │ └── index.md │ │ ├── extensibility-framework │ │ │ ├── images │ │ │ │ ├── extensibility-overview.svg │ │ │ │ └── interceptor-pattern.svg │ │ │ └── index.md │ │ ├── index.md │ │ ├── project-setup │ │ │ └── index.md │ │ ├── reference │ │ │ ├── buildpack-cli │ │ │ │ ├── create-custom-origin │ │ │ │ │ └── index.md │ │ │ │ ├── create-env-file │ │ │ │ │ └── index.md │ │ │ │ ├── create-project │ │ │ │ │ └── index.md │ │ │ │ ├── index.md │ │ │ │ └── load-env │ │ │ │ │ └── index.md │ │ │ ├── configure-webpack │ │ │ │ └── index.md │ │ │ ├── environment-variables │ │ │ │ ├── core-definitions │ │ │ │ │ └── index.md │ │ │ │ └── definitions-api │ │ │ │ │ └── index.md │ │ │ ├── extension-framework │ │ │ │ ├── index.md │ │ │ │ ├── target │ │ │ │ │ └── index.md │ │ │ │ └── targetprovider │ │ │ │ │ └── index.md │ │ │ ├── magento-resolver │ │ │ │ └── index.md │ │ │ ├── pwa-dev-server │ │ │ │ └── index.md │ │ │ ├── root-components-plugin │ │ │ │ └── index.md │ │ │ ├── serviceworker-plugin │ │ │ │ └── index.md │ │ │ ├── targetables │ │ │ │ ├── SingleImportStatement │ │ │ │ │ └── index.md │ │ │ │ ├── TargetableESModule │ │ │ │ │ └── index.md │ │ │ │ ├── TargetableESModuleArray │ │ │ │ │ └── index.md │ │ │ │ ├── TargetableESModuleObject │ │ │ │ │ └── index.md │ │ │ │ ├── TargetableModule │ │ │ │ │ ├── images │ │ │ │ │ │ ├── file-content.png │ │ │ │ │ │ ├── file-search.png │ │ │ │ │ │ ├── inspect.png │ │ │ │ │ │ └── sources-panel.png │ │ │ │ │ └── index.md │ │ │ │ ├── TargetableReactComponent │ │ │ │ │ └── index.md │ │ │ │ └── TargetableSet │ │ │ │ │ └── index.md │ │ │ ├── targets │ │ │ │ └── index.md │ │ │ └── transform-requests │ │ │ │ └── index.md │ │ ├── scaffolding │ │ │ ├── custom-project-templates │ │ │ │ └── index.md │ │ │ └── index.md │ │ └── troubleshooting │ │ │ └── index.md │ ├── reference │ │ └── ui-components │ │ │ └── index.md │ ├── releases │ │ └── index.md │ ├── search.md │ ├── static │ │ ├── fonts │ │ │ └── .gitkeep │ │ └── images │ │ │ ├── .gitkeep │ │ │ ├── contribute.png │ │ │ ├── getting-started.png │ │ │ ├── repos.png │ │ │ └── what-is-pwa.png │ ├── technologies │ │ ├── basic-concepts │ │ │ ├── app-shell │ │ │ │ └── index.md │ │ │ ├── client-side-caching │ │ │ │ └── index.md │ │ │ ├── client-state-reducers-actions │ │ │ │ └── index.md │ │ │ ├── component-data-binding │ │ │ │ └── index.md │ │ │ ├── container-extensibility │ │ │ │ └── index.md │ │ │ ├── content-rendering │ │ │ │ └── index.md │ │ │ ├── critical-path │ │ │ │ └── index.md │ │ │ ├── css-modules │ │ │ │ └── index.md │ │ │ ├── graphql │ │ │ │ └── index.md │ │ │ ├── index.md │ │ │ ├── internationalization │ │ │ │ └── index.md │ │ │ ├── loading-offline-states │ │ │ │ └── index.md │ │ │ ├── performance-patterns │ │ │ │ └── index.md │ │ │ ├── root-components-routing │ │ │ │ └── index.md │ │ │ ├── service-worker │ │ │ │ └── index.md │ │ │ └── state-management │ │ │ │ └── index.md │ │ ├── contribute │ │ │ └── index.md │ │ ├── features │ │ │ ├── images │ │ │ │ ├── commerce.svg │ │ │ │ ├── custom.svg │ │ │ │ ├── full.svg │ │ │ │ ├── partial.svg │ │ │ │ └── planned.svg │ │ │ └── index.md │ │ ├── magento-compatibility │ │ │ └── index.md │ │ ├── overview │ │ │ ├── images │ │ │ │ └── pwa-studio-developer-overview.png │ │ │ └── index.md │ │ ├── storefront-architecture │ │ │ ├── buildtime │ │ │ │ └── index.md │ │ │ ├── index.md │ │ │ └── runtime │ │ │ │ └── index.md │ │ ├── theme-vs-storefront │ │ │ └── index.md │ │ ├── tools-libraries │ │ │ ├── images │ │ │ │ └── pwa-tools-technology-overview.png │ │ │ └── index.md │ │ ├── upgrading-versions │ │ │ ├── images │ │ │ │ └── switch-versions.png │ │ │ └── index.md │ │ ├── upward │ │ │ ├── images │ │ │ │ └── upward-server-diagram.png │ │ │ ├── index.md │ │ │ └── reference-implementation │ │ │ │ └── index.md │ │ └── versioning │ │ │ └── index.md │ ├── tutorials │ │ ├── cloud-deploy │ │ │ └── index.md │ │ ├── enable-sass-less-support │ │ │ └── index.md │ │ ├── extension-development │ │ │ ├── index.md │ │ │ └── taglist │ │ │ │ └── index.md │ │ ├── index.md │ │ ├── intercept-a-target │ │ │ ├── add-new-environment-variable │ │ │ │ └── index.md │ │ │ ├── change-static-assets-directory │ │ │ │ └── index.md │ │ │ ├── index.md │ │ │ └── modify-talon-results │ │ │ │ └── index.md │ │ ├── pwa-studio-fundamentals │ │ │ ├── add-a-static-route │ │ │ │ ├── images │ │ │ │ │ └── hellow-world-jsx.png │ │ │ │ └── index.md │ │ │ ├── images │ │ │ │ └── foo-screen-shot.png │ │ │ ├── index.md │ │ │ ├── modify-site-footer │ │ │ │ ├── images │ │ │ │ │ ├── foo-footer-link.png │ │ │ │ │ ├── footer-component-selected.png │ │ │ │ │ ├── react-dev-tools.png │ │ │ │ │ └── web-dev-tools.png │ │ │ │ └── index.md │ │ │ ├── production-launch-checklist │ │ │ │ └── index.md │ │ │ ├── project-setup │ │ │ │ ├── images │ │ │ │ │ ├── clear-storage.png │ │ │ │ │ ├── compiled-successfully.png │ │ │ │ │ ├── interactive-questionnaire.png │ │ │ │ │ ├── prerequisites.png │ │ │ │ │ └── privacy-error.png │ │ │ │ └── index.md │ │ │ └── project-structure │ │ │ │ └── index.md │ │ └── targetables │ │ │ └── index.md │ ├── venia-pwa-concept │ │ ├── features │ │ │ ├── braintree │ │ │ │ └── index.md │ │ │ ├── checkout │ │ │ │ └── index.md │ │ │ └── modular-components │ │ │ │ └── index.md │ │ ├── index.md │ │ ├── install-sample-data │ │ │ ├── _includes │ │ │ │ └── deploy-venia-sample-data-script.md │ │ │ ├── images │ │ │ │ ├── accessories-sample-data.png │ │ │ │ └── sample-data-installed.png │ │ │ └── index.md │ │ ├── project-structure │ │ │ └── index.md │ │ └── setup │ │ │ └── index.md │ └── venia-ui │ │ └── reference │ │ ├── components │ │ ├── Button │ │ │ └── index.md │ │ ├── ButtonGroup │ │ │ └── index.md │ │ ├── CartPage │ │ │ ├── GiftCards │ │ │ │ └── index.md │ │ │ ├── PriceAdjustments │ │ │ │ └── index.md │ │ │ ├── PriceSummary │ │ │ │ └── index.md │ │ │ ├── ProductListing │ │ │ │ └── index.md │ │ │ └── index.md │ │ ├── Link │ │ │ └── index.md │ │ ├── Logo │ │ │ └── index.md │ │ ├── Mask │ │ │ └── index.md │ │ ├── Portal │ │ │ └── index.md │ │ ├── ProductImageCarousel │ │ │ └── index.md │ │ ├── Shimmer │ │ │ └── index.md │ │ ├── ToastContainer │ │ │ └── index.md │ │ └── Trigger │ │ │ └── index.md │ │ └── targets │ │ └── index.md ├── webpack.config.js └── yarn.lock ├── scripts ├── jest-backend-setup.js ├── jest-catch-rejections.js ├── jest-decorate-env.js ├── jest-env-jsdom.js ├── jest-env-node.js ├── jest-magic-console.js ├── monorepo-introduction.js └── watch-all.js ├── venia-integration-tests ├── .gitignore ├── README.md ├── cypress.config.json ├── jest.config.js ├── package.json ├── report-results.js ├── run-tests.js ├── src │ ├── actions │ │ ├── accountInformationPage │ │ │ └── index.js │ │ ├── addressBookPage │ │ │ └── index.js │ │ ├── cartPage │ │ │ └── index.js │ │ ├── categoryPage │ │ │ └── index.js │ │ ├── checkoutPage │ │ │ └── index.js │ │ ├── contactPage │ │ │ └── index.js │ │ ├── footer │ │ │ └── index.js │ │ ├── forgotPasswordPage │ │ │ └── index.js │ │ ├── header │ │ │ └── index.js │ │ ├── index.js │ │ ├── miniCart │ │ │ └── index.js │ │ ├── myAccountMenu │ │ │ └── index.js │ │ ├── newsletter │ │ │ └── index.js │ │ ├── pageBuilder │ │ │ └── index.js │ │ ├── productPage │ │ │ └── index.js │ │ ├── searchPage │ │ │ └── index.js │ │ ├── storeSwitcher │ │ │ └── index.js │ │ ├── toast │ │ │ └── index.js │ │ └── wishlistPage │ │ │ └── index.js │ ├── assertions │ │ ├── accountAccess │ │ │ └── index.js │ │ ├── accountInformationPage │ │ │ └── index.js │ │ ├── addressBookPage │ │ │ └── index.js │ │ ├── app │ │ │ └── index.js │ │ ├── cartPage │ │ │ └── index.js │ │ ├── categoryPage │ │ │ └── index.js │ │ ├── categoryTree │ │ │ └── index.js │ │ ├── checkoutPage │ │ │ └── index.js │ │ ├── contactPage │ │ │ └── index.js │ │ ├── errorMessage │ │ │ └── index.js │ │ ├── footer │ │ │ └── index.js │ │ ├── header │ │ │ └── index.js │ │ ├── index.js │ │ ├── megaMenu │ │ │ └── index.js │ │ ├── miniCart │ │ │ └── index.js │ │ ├── myAccountMenu │ │ │ └── index.js │ │ ├── notFoundPage │ │ │ └── index.js │ │ ├── offline │ │ │ └── index.js │ │ ├── orderHistoryPage │ │ │ └── index.js │ │ ├── pageBuilder │ │ │ └── index.js │ │ ├── productPage │ │ │ └── index.js │ │ ├── toast │ │ │ └── index.js │ │ └── wishlist │ │ │ └── index.js │ ├── disabledFeatureTests │ │ └── gallery │ │ │ └── productRatingSummary.spec.js │ ├── fields │ │ ├── accountAccess │ │ │ └── index.js │ │ ├── accountInformationPage │ │ │ └── index.js │ │ ├── addressBookPage │ │ │ └── index.js │ │ ├── cartPage │ │ │ └── index.js │ │ ├── categoryPage │ │ │ └── index.js │ │ ├── categoryTree │ │ │ └── index.js │ │ ├── checkoutPage │ │ │ └── index.js │ │ ├── cmsPage │ │ │ └── index.js │ │ ├── contactPage │ │ │ └── index.js │ │ ├── errorMessage │ │ │ └── index.js │ │ ├── footer │ │ │ └── index.js │ │ ├── forgotPasswordPage │ │ │ └── index.js │ │ ├── header │ │ │ └── index.js │ │ ├── index.js │ │ ├── megaMenu │ │ │ └── index.js │ │ ├── miniCart │ │ │ └── index.js │ │ ├── myAccountMenu │ │ │ └── index.js │ │ ├── newsletter │ │ │ └── index.js │ │ ├── notFoundPage │ │ │ └── index.js │ │ ├── orderHistoryPage │ │ │ └── index.js │ │ ├── pageBuilder │ │ │ └── index.js │ │ ├── productPage │ │ │ └── index.js │ │ ├── searchPage │ │ │ └── index.js │ │ ├── storeSwitcher │ │ │ └── index.js │ │ ├── toast │ │ │ └── index.js │ │ └── wishlist │ │ │ └── index.js │ ├── fixtures │ │ ├── aboutUsPage │ │ │ ├── aboutUsPage.json │ │ │ └── index.js │ │ ├── accountAccess │ │ │ ├── createAccount.json │ │ │ ├── index.js │ │ │ └── signIn.json │ │ ├── accountInformationPage │ │ │ ├── changePassword.json │ │ │ ├── customerInformation.json │ │ │ └── index.js │ │ ├── addressBookPage │ │ │ └── index.js │ │ ├── cartPage │ │ │ ├── index.js │ │ │ └── priceSummary │ │ │ │ ├── cartDetails.json │ │ │ │ └── priceSummary.json │ │ ├── categoryPage │ │ │ ├── index.js │ │ │ └── productMockCall │ │ │ │ └── productMockResponse.json │ │ ├── checkoutPage │ │ │ ├── index.js │ │ │ ├── paymentMethodSubmitValid.json │ │ │ └── placeOrderSubmitValid.json │ │ ├── contactPage │ │ │ ├── contactFormSubmitValid.json │ │ │ ├── contactPageConfigEnabled.json │ │ │ └── index.js │ │ ├── customerService │ │ │ ├── customerService.json │ │ │ └── index.js │ │ ├── eventing │ │ │ ├── productSearchAutocompleteMockResponse.json │ │ │ └── productSearchMockResponse.json │ │ ├── forgotPasswordPage │ │ │ ├── forgotPassword.json │ │ │ └── index.js │ │ ├── gallery │ │ │ └── galleryStoreConfigAC.json │ │ ├── giftOptions │ │ │ ├── allGiftOptionsInStore.json │ │ │ ├── noGiftOptionsInStore.json │ │ │ ├── onlyGiftMessageInStore.json │ │ │ └── savedGiftOptions.json │ │ ├── googleMapApi │ │ │ └── index.js │ │ ├── googleReCaptchaApi │ │ │ ├── index.js │ │ │ ├── reCaptchaV3ConfigDefault.json │ │ │ └── reCaptchaV3ConfigInline.json │ │ ├── graphqlMockedCalls │ │ │ └── index.js │ │ ├── homePage │ │ │ └── index.js │ │ ├── index.js │ │ ├── mediaMockedCalls │ │ │ ├── images │ │ │ │ ├── magento.png │ │ │ │ └── round-gold-colored-analog-watch-with-pink-leather-strap-on-1162519_sm.png │ │ │ └── index.js │ │ ├── miniCart │ │ │ └── index.js │ │ ├── multiStore │ │ │ ├── data │ │ │ │ ├── availableSortMethods.json │ │ │ │ ├── availableStores.json │ │ │ │ ├── cart │ │ │ │ │ ├── addProductsToCart1.json │ │ │ │ │ ├── addProductsToCart2.json │ │ │ │ │ ├── addProductsToCart3.json │ │ │ │ │ ├── addProductsToCart4.json │ │ │ │ │ ├── cart-1.json │ │ │ │ │ ├── cart-2.json │ │ │ │ │ ├── cart-3.json │ │ │ │ │ ├── cart-4.json │ │ │ │ │ ├── details.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── priceSummary.json │ │ │ │ │ └── productListing.json │ │ │ │ ├── cmsPage.json │ │ │ │ ├── currency.json │ │ │ │ ├── default │ │ │ │ │ ├── accessoriesCategory.json │ │ │ │ │ ├── accessoriesFilterInputs.json │ │ │ │ │ ├── accessoriesProductFilters.json │ │ │ │ │ ├── accessoriesRoute.json │ │ │ │ │ ├── megaMenu.json │ │ │ │ │ ├── navigationMenu.json │ │ │ │ │ ├── product1Breadcrumbs.json │ │ │ │ │ ├── product1ProductDetail.json │ │ │ │ │ ├── product1Route.json │ │ │ │ │ ├── storeConfig.json │ │ │ │ │ ├── topsCategory.json │ │ │ │ │ ├── topsFilterInputs.json │ │ │ │ │ ├── topsProductFilters.json │ │ │ │ │ ├── topsRoute.json │ │ │ │ │ └── view-1 │ │ │ │ │ │ └── storeConfig.json │ │ │ │ ├── homeRoute.json │ │ │ │ ├── productsCarousel.json │ │ │ │ └── storeB │ │ │ │ │ ├── accessoriesRoute.json │ │ │ │ │ ├── megaMenu.json │ │ │ │ │ ├── navigationMenu.json │ │ │ │ │ ├── product2Breadcrumbs.json │ │ │ │ │ ├── product2ProductDetail.json │ │ │ │ │ ├── product2Route.json │ │ │ │ │ ├── subcategoryACategory.json │ │ │ │ │ ├── subcategoryAFilterInputs.json │ │ │ │ │ ├── subcategoryAProductFilters.json │ │ │ │ │ ├── subcategoryARoute.json │ │ │ │ │ ├── subcategoryBCategory.json │ │ │ │ │ ├── subcategoryBFilterInputs.json │ │ │ │ │ ├── subcategoryBProductFilters.json │ │ │ │ │ ├── subcategoryBRoute.json │ │ │ │ │ └── view-1 │ │ │ │ │ └── storeConfig.json │ │ │ └── index.js │ │ ├── myAccountMenu │ │ │ └── index.js │ │ ├── newsletter │ │ │ ├── index.js │ │ │ └── newsletterFormSubmitError.json │ │ ├── notFoundPage │ │ │ └── index.js │ │ ├── pageBuilder │ │ │ ├── banner │ │ │ │ ├── banner-media-query.json │ │ │ │ ├── banner.json │ │ │ │ ├── banner10.json │ │ │ │ ├── banner2.json │ │ │ │ ├── banner3.json │ │ │ │ ├── banner4.json │ │ │ │ ├── banner5.json │ │ │ │ ├── banner6.json │ │ │ │ ├── banner7.json │ │ │ │ ├── banner8.json │ │ │ │ └── banner9.json │ │ │ ├── block │ │ │ │ ├── block.json │ │ │ │ ├── cmsBlock.json │ │ │ │ ├── cmsPage.json │ │ │ │ └── dynamicBlock.json │ │ │ ├── buttons │ │ │ │ └── buttons.json │ │ │ ├── column │ │ │ │ ├── column-media-query.json │ │ │ │ └── column.json │ │ │ ├── divider │ │ │ │ └── divider.json │ │ │ ├── dynamicBlock │ │ │ │ ├── dynamicBlock-mock-1.json │ │ │ │ ├── dynamicBlock-mock-2.json │ │ │ │ ├── dynamicBlock-mock-3.json │ │ │ │ └── dynamicBlock.json │ │ │ ├── image │ │ │ │ └── image.json │ │ │ ├── index.js │ │ │ ├── map │ │ │ │ ├── map1.json │ │ │ │ └── map2.json │ │ │ ├── products │ │ │ │ ├── products-carousel-1.json │ │ │ │ ├── products-carousel-2.json │ │ │ │ ├── products-carousel-3.json │ │ │ │ ├── products-carousel-4.json │ │ │ │ ├── products-carousel-5.json │ │ │ │ ├── products-grid-sorting.json │ │ │ │ └── products-grid.json │ │ │ ├── row │ │ │ │ ├── row-1.json │ │ │ │ ├── row-2.json │ │ │ │ ├── row-media-query.json │ │ │ │ ├── row-min-height.json │ │ │ │ ├── row-video-background-1.json │ │ │ │ ├── row-video-background-2.json │ │ │ │ └── row-video-background-3.json │ │ │ ├── slider │ │ │ │ ├── slider-media-query.json │ │ │ │ ├── slider.json │ │ │ │ ├── slider10.json │ │ │ │ ├── slider11.json │ │ │ │ ├── slider12.json │ │ │ │ ├── slider2.json │ │ │ │ ├── slider3.json │ │ │ │ ├── slider4.json │ │ │ │ ├── slider5.json │ │ │ │ ├── slider6.json │ │ │ │ ├── slider7.json │ │ │ │ ├── slider8.json │ │ │ │ └── slider9.json │ │ │ ├── smokeTest │ │ │ │ ├── cmsBlockTest.json │ │ │ │ ├── dynamicBlockTest.json │ │ │ │ └── smokeTest.json │ │ │ ├── tabs │ │ │ │ ├── tabs-media-query.json │ │ │ │ └── tabs.json │ │ │ ├── text │ │ │ │ └── text.json │ │ │ └── video │ │ │ │ └── video.json │ │ ├── productPage │ │ │ └── index.js │ │ ├── resource │ │ │ ├── emptyCMSPage.json │ │ │ ├── index.js │ │ │ └── storeConfigAC.json │ │ └── wishlist │ │ │ ├── index.js │ │ │ └── multipleWishlist │ │ │ ├── ProductPageAddProductToWishlist.json │ │ │ ├── categoryPageAddProductToWishlist.json │ │ │ ├── categoryPageCreateWishlist2.json │ │ │ ├── categoryPageGalleryWishlistConfig.json │ │ │ ├── categoryPageGetWishListDataForLocalFields.json │ │ │ ├── categoryPageGetWishListDataForLocalFieldsUpdated.json │ │ │ ├── categoryPageGetWishlistConfigForGallery.json │ │ │ ├── categoryPageGetWishlistDialogData.json │ │ │ ├── categoryPageGetWishlistDialogDataUpdated.json │ │ │ ├── categoryPageProductInWishlist.json │ │ │ ├── defaultWishlistPage.json │ │ │ ├── fiveWishlistOneProductPage.json │ │ │ ├── multipleWishlistEnabled.json │ │ │ ├── oneWishlistNoProductsPage.json │ │ │ ├── productPageGetWishlistDialogData.json │ │ │ ├── productPageWishlistConfig.json │ │ │ ├── twoWishlistOneProductPage.json │ │ │ ├── twoWishlistTwoProductPage.json │ │ │ ├── wishlistExpandWishlistPage.json │ │ │ ├── wishlistExpandWishlistPageEarrings.json │ │ │ ├── wishlistPageConfig.json │ │ │ ├── wishlistPageCreateWishlist1.json │ │ │ ├── wishlistPageCreateWishlist4.json │ │ │ └── wishlistPageCreateWishlist5.json │ ├── plugins │ │ ├── __tests__ │ │ │ └── resizeSnapshotPlugin.spec.js │ │ ├── index.js │ │ └── resizeSnapshotPlugin.js │ ├── snapshots │ │ └── snapshotTests │ │ │ ├── aboutUsPage │ │ │ └── aboutUsPage.spec.js │ │ │ │ └── AboutUs.snap.png │ │ │ ├── customerService │ │ │ └── customerService.spec.js │ │ │ │ └── Customer-Service-Page.snap.png │ │ │ └── pageBuilder │ │ │ ├── banner.spec.js │ │ │ ├── Banner-media-query-(Desktop).snap.png │ │ │ ├── Banner-media-query-(Mobile).snap.png │ │ │ ├── Page-Builder-Home-Page.snap.png │ │ │ ├── Page-Builder-Home-Page10.snap.png │ │ │ ├── Page-Builder-Home-Page2.snap.png │ │ │ ├── Page-Builder-Home-Page3.snap.png │ │ │ ├── Page-Builder-Home-Page4.snap.png │ │ │ ├── Page-Builder-Home-Page5.snap.png │ │ │ ├── Page-Builder-Home-Page6.snap.png │ │ │ ├── Page-Builder-Home-Page7.snap.png │ │ │ ├── Page-Builder-Home-Page8.snap.png │ │ │ └── Page-Builder-Home-Page9.snap.png │ │ │ ├── block.spec.js │ │ │ ├── Page-Builder-Block-Page.snap.png │ │ │ ├── Page-Builder-CMS-Block.snap.png │ │ │ ├── Page-Builder-CMS-Page.snap.png │ │ │ └── Page-Builder-Dynamic-Block.snap.png │ │ │ ├── buttons.spec.js │ │ │ └── Page-Builder-Buttons-Page.snap.png │ │ │ ├── column.spec.js │ │ │ ├── Column-media-query-(Desktop).snap.png │ │ │ ├── Column-media-query-(Mobile).snap.png │ │ │ └── Page-Builder-Column-Page.snap.png │ │ │ ├── divider.spec.js │ │ │ └── Page-Builder-Divider-Page.snap.png │ │ │ ├── dynamicBlock.spec.js │ │ │ └── Page-Builder-Dynamic-Block-Snapshot.snap.png │ │ │ ├── image.spec.js │ │ │ ├── Page-Builder-Image-Snapshot-Mobile.snap.png │ │ │ └── Page-Builder-Image-Snapshot.snap.png │ │ │ ├── map.spec.js │ │ │ ├── Page-Builder-Verify-Map---2-Locations.snap.png │ │ │ └── Page-Builder-Verify-Map---All-content.snap.png │ │ │ ├── products.spec.js │ │ │ ├── PB-Products-Carousel-Alignment.snap.png │ │ │ ├── PB-Products-Carousel-Continuous-Mode.snap.png │ │ │ ├── PB-Products-Carousel-Default-Mode.snap.png │ │ │ ├── PB-Products-Carousel-Mobile.snap.png │ │ │ ├── PB-Products-Carousel-Styles.snap.png │ │ │ ├── PB-Products-Carousel.snap.png │ │ │ ├── PB-Products-Grid-Mobile.snap.png │ │ │ ├── PB-Products-Grid-Sorting.snap.png │ │ │ └── PB-Products-Grid.snap.png │ │ │ ├── row.spec.js │ │ │ ├── Page-Builder-Row-Min-Height.snap.png │ │ │ ├── Page-Builder-Row-Video-Background.snap.png │ │ │ ├── Page-Builder-Row-Video-Background2.snap.png │ │ │ ├── Page-Builder-Row-Video-Background3.snap.png │ │ │ ├── Page-Builder-Row.snap.png │ │ │ ├── Page-Builder-Row2.snap.png │ │ │ ├── Row-media-query-(Desktop).snap.png │ │ │ └── Row-media-query-(Mobile).snap.png │ │ │ ├── slider.spec.js │ │ │ ├── Page-Builder-Slider-Page-10.snap.png │ │ │ ├── Page-Builder-Slider-Page-11.snap.png │ │ │ ├── Page-Builder-Slider-Page-12.snap.png │ │ │ ├── Page-Builder-Slider-Page-2.snap.png │ │ │ ├── Page-Builder-Slider-Page-3.snap.png │ │ │ ├── Page-Builder-Slider-Page-4.snap.png │ │ │ ├── Page-Builder-Slider-Page-5.snap.png │ │ │ ├── Page-Builder-Slider-Page-6.snap.png │ │ │ ├── Page-Builder-Slider-Page-7.snap.png │ │ │ ├── Page-Builder-Slider-Page-8.snap.png │ │ │ ├── Page-Builder-Slider-Page-9.snap.png │ │ │ ├── Page-Builder-Slider-Page.snap.png │ │ │ ├── Slider-media-query-(Desktop).snap.png │ │ │ └── Slider-media-query-(Mobile).snap.png │ │ │ ├── smokeTest.spec.js │ │ │ ├── Page-Builder-Smoke-Test-CMS-Block-Content.snap.png │ │ │ ├── Page-Builder-Smoke-Test-Dynamic-Block-Content.snap.png │ │ │ └── Page-Builder-Smoke-Test.snap.png │ │ │ ├── tabs.spec.js │ │ │ ├── Page-Builder-Tabs-Page.snap.png │ │ │ ├── Tabs-media-query-(Desktop).snap.png │ │ │ └── Tabs-media-query-(Mobile).snap.png │ │ │ ├── text.spec.js │ │ │ └── Page-Builder-Text-Page.snap.png │ │ │ └── video.spec.js │ │ │ └── Page-Builder-Video-Alignment-Page.snap.png │ ├── support │ │ ├── __tests__ │ │ │ ├── fullPageScreenshotCommand.spec.js │ │ │ ├── helperCommands.spec.js │ │ │ └── loadFullPageCommand.spec.js │ │ ├── accountCommands.js │ │ ├── exceptions.js │ │ ├── fullPageScreenshotCommand.js │ │ ├── helperCommands.js │ │ ├── index.js │ │ ├── loadFullPageCommand.js │ │ ├── networkCommands.js │ │ ├── routesCommands.js │ │ └── visitPageCommand.js │ ├── tests │ │ ├── e2eTests │ │ │ ├── anchorLinks │ │ │ │ └── verifyAnchorLinks.spec.js │ │ │ ├── cart │ │ │ │ ├── userCanAddItemFromCategory.spec.js │ │ │ │ ├── userCanAddItemFromSearch.spec.js │ │ │ │ ├── userCanRemoveItemFromCart.spec.js │ │ │ │ └── userRemoveCartPromotions.spec.js │ │ │ ├── category │ │ │ │ ├── guestCategoryAccess.spec.js │ │ │ │ ├── verifyFilters.spec.js │ │ │ │ └── verifySortAndPagination.spec.js │ │ │ ├── checkout │ │ │ │ ├── editCartAndCheckout.spec.js │ │ │ │ ├── guestUserCheckout.spec.js │ │ │ │ ├── guestUserCheckoutWithRegionAndCC.spec.js │ │ │ │ └── registeredUserCheckout.spec.js │ │ │ ├── customerAccount │ │ │ │ ├── addressBookActions.spec.js │ │ │ │ └── customerAccountActions.spec.js │ │ │ ├── localization │ │ │ │ └── localization.spec.js │ │ │ ├── miniCart │ │ │ │ └── miniCartActions.spec.js │ │ │ ├── notFound │ │ │ │ └── routeNotFoundAccess.spec.js │ │ │ ├── offline │ │ │ │ └── offlineTest.spec.js │ │ │ ├── resource │ │ │ │ └── userCanVerifyVersions.spec.js │ │ │ ├── search │ │ │ │ ├── verifySearchFunctionality.spec.js │ │ │ │ └── verifySearchSuggestionFunctionality.spec.js │ │ │ └── wishList │ │ │ │ └── singleWishlistAddRemoveProduct.spec.js │ │ ├── integrationTests │ │ │ ├── cart │ │ │ │ └── verifyGiftOptions.spec.js │ │ │ ├── cartPage │ │ │ │ └── discountSummary.spec.js │ │ │ ├── contactPage │ │ │ │ └── userCanSubmitForm.spec.js │ │ │ ├── eventing │ │ │ │ └── productImpressionAndClick.spec.js │ │ │ ├── googleReCaptcha │ │ │ │ ├── verifyAccountAccessReCaptcha.spec.js │ │ │ │ ├── verifyAccountInformationReCaptcha.spec.js │ │ │ │ ├── verifyCheckoutReCaptcha.spec.js │ │ │ │ └── verifyForgetPasswordReCaptcha.spec.js │ │ │ ├── multiStore │ │ │ │ └── storeSwitching.spec.js │ │ │ ├── newsletter │ │ │ │ └── resetErrorOnSubmit.spec.js │ │ │ └── wishList │ │ │ │ └── verifyMultipleWishlistFeatures.spec.js │ │ └── snapshotTests │ │ │ ├── aboutUsPage │ │ │ └── aboutUsPage.spec.js │ │ │ ├── customerService │ │ │ └── customerService.spec.js │ │ │ └── pageBuilder │ │ │ ├── banner.spec.js │ │ │ ├── block.spec.js │ │ │ ├── buttons.spec.js │ │ │ ├── column.spec.js │ │ │ ├── divider.spec.js │ │ │ ├── dynamicBlock.spec.js │ │ │ ├── image.spec.js │ │ │ ├── map.spec.js │ │ │ ├── products.spec.js │ │ │ ├── row.spec.js │ │ │ ├── slider.spec.js │ │ │ ├── smokeTest.spec.js │ │ │ ├── tabs.spec.js │ │ │ ├── text.spec.js │ │ │ └── video.spec.js │ └── utils │ │ ├── graphql-test-utils.js │ │ └── language-test-utils.js └── yarn.lock └── yarn.lock /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.dockerignore -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.github/.metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/.metadata.json -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/doc_change.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/ISSUE_TEMPLATE/doc_change.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/SUPPORT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/SUPPORT.md -------------------------------------------------------------------------------- /.github/labeler.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/labeler.yml -------------------------------------------------------------------------------- /.github/workflows/labeler.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/workflows/labeler.yml -------------------------------------------------------------------------------- /.github/workflows/publish-cod-to-npm.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.github/workflows/publish-cod-to-npm.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | save-prefix="^" 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/.prettierignore -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | save-prefix "~" 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CREATE_RELEASE_NOTES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/CREATE_RELEASE_NOTES.md -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /LICENSE_AFL.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/LICENSE_AFL.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/README.md -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/babel.config.js -------------------------------------------------------------------------------- /dev.dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/dev.dockerfile -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker/.env.docker.dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/docker/.env.docker.dev -------------------------------------------------------------------------------- /docker/.env.docker.prod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/docker/.env.docker.prod -------------------------------------------------------------------------------- /docker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/docker/README.md -------------------------------------------------------------------------------- /docker/makeHostAndCert.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/docker/makeHostAndCert.js -------------------------------------------------------------------------------- /docker/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/docker/package.json -------------------------------------------------------------------------------- /docker/run-docker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/docker/run-docker -------------------------------------------------------------------------------- /docker/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/docker/yarn.lock -------------------------------------------------------------------------------- /global.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@magento/pwa-buildpack'; -------------------------------------------------------------------------------- /graphql.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/graphql.config.js -------------------------------------------------------------------------------- /images/pwa_imperfect.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/pwa_imperfect.svg -------------------------------------------------------------------------------- /images/pwa_perfect.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/pwa_perfect.svg -------------------------------------------------------------------------------- /images/score_100.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_100.svg -------------------------------------------------------------------------------- /images/score_21.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_21.svg -------------------------------------------------------------------------------- /images/score_23.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_23.svg -------------------------------------------------------------------------------- /images/score_26.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_26.svg -------------------------------------------------------------------------------- /images/score_27.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_27.svg -------------------------------------------------------------------------------- /images/score_29.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_29.svg -------------------------------------------------------------------------------- /images/score_31.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_31.svg -------------------------------------------------------------------------------- /images/score_32.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_32.svg -------------------------------------------------------------------------------- /images/score_33.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_33.svg -------------------------------------------------------------------------------- /images/score_34.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_34.svg -------------------------------------------------------------------------------- /images/score_39.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_39.svg -------------------------------------------------------------------------------- /images/score_61.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_61.svg -------------------------------------------------------------------------------- /images/score_63.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_63.svg -------------------------------------------------------------------------------- /images/score_67.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_67.svg -------------------------------------------------------------------------------- /images/score_70.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_70.svg -------------------------------------------------------------------------------- /images/score_73.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_73.svg -------------------------------------------------------------------------------- /images/score_75.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_75.svg -------------------------------------------------------------------------------- /images/score_78.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_78.svg -------------------------------------------------------------------------------- /images/score_82.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_82.svg -------------------------------------------------------------------------------- /images/score_84.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_84.svg -------------------------------------------------------------------------------- /images/score_88.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_88.svg -------------------------------------------------------------------------------- /images/score_89.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_89.svg -------------------------------------------------------------------------------- /images/score_90.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_90.svg -------------------------------------------------------------------------------- /images/score_94.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_94.svg -------------------------------------------------------------------------------- /images/score_95.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_95.svg -------------------------------------------------------------------------------- /images/score_96.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_96.svg -------------------------------------------------------------------------------- /images/score_98.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/score_98.svg -------------------------------------------------------------------------------- /images/venia_page_category.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/venia_page_category.png -------------------------------------------------------------------------------- /images/venia_page_details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/venia_page_details.png -------------------------------------------------------------------------------- /images/venia_page_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/venia_page_home.png -------------------------------------------------------------------------------- /images/venia_page_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/venia_page_search.png -------------------------------------------------------------------------------- /images/xd-ui-kit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/images/xd-ui-kit.png -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/jest.config.js -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/lerna.json -------------------------------------------------------------------------------- /magento-compatibility.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/magento-compatibility.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/package.json -------------------------------------------------------------------------------- /packages/babel-preset-peregrine/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/babel-preset-peregrine/README.md -------------------------------------------------------------------------------- /packages/babel-preset-peregrine/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/babel-preset-peregrine/index.js -------------------------------------------------------------------------------- /packages/babel-preset-peregrine/lib/browserslist.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/babel-preset-peregrine/lib/browserslist.js -------------------------------------------------------------------------------- /packages/babel-preset-peregrine/lib/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/babel-preset-peregrine/lib/index.js -------------------------------------------------------------------------------- /packages/babel-preset-peregrine/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/babel-preset-peregrine/package.json -------------------------------------------------------------------------------- /packages/create-pwa/README.md: -------------------------------------------------------------------------------- 1 | Create a PWA Studio app based on Magento 2 backend with a single command. 2 | -------------------------------------------------------------------------------- /packages/create-pwa/__tests__/create-pwa.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/create-pwa/__tests__/create-pwa.spec.js -------------------------------------------------------------------------------- /packages/create-pwa/bin/create-pwa: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('../')(); 4 | -------------------------------------------------------------------------------- /packages/create-pwa/lib/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/create-pwa/lib/index.js -------------------------------------------------------------------------------- /packages/create-pwa/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/create-pwa/package.json -------------------------------------------------------------------------------- /packages/extensions/venia-product-recommendations/lib/components/Gallery/index.js: -------------------------------------------------------------------------------- 1 | export * from './Gallery'; 2 | -------------------------------------------------------------------------------- /packages/extensions/venia-product-recommendations/lib/components/Gallery/item.css: -------------------------------------------------------------------------------- 1 | .name { 2 | font-weight: bold; 3 | } 4 | -------------------------------------------------------------------------------- /packages/extensions/venia-product-recommendations/lib/components/VeniaProductRecommendations/index.js: -------------------------------------------------------------------------------- 1 | export * from './ProductRecommendations'; 2 | -------------------------------------------------------------------------------- /packages/extensions/venia-pwa-live-search/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [require('tailwindcss/nesting')] 3 | }; 4 | -------------------------------------------------------------------------------- /packages/extensions/venia-sample-eventing/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/extensions/venia-sample-eventing/main.js -------------------------------------------------------------------------------- /packages/extensions/venia-sample-payments-cashondelivery/src/components/cashondelivery.module.css: -------------------------------------------------------------------------------- 1 | .cod_root { 2 | padding-top: 1.125rem; 3 | } 4 | -------------------------------------------------------------------------------- /packages/graphql-cli-validate-magento-pwa-queries/.gitignore: -------------------------------------------------------------------------------- 1 | magento-compatibility.js 2 | -------------------------------------------------------------------------------- /packages/graphql-cli-validate-magento-pwa-queries/.npmignore: -------------------------------------------------------------------------------- 1 | __tests__ 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Block/block.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Block/block.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Block/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './block'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/ButtonItem/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './buttonItem'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Buttons/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './buttons'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Column/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './column'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/ColumnGroup/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './columnGroup'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/ColumnLine/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './columnLine'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Divider/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './divider'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Heading/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './heading'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Html/html.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Html/html.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Html/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './html'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Image/image.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Image/image.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Image/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Image/index.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Map/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './map'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Map/map.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Map/map.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Products/Carousel/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './carousel'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Products/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './products'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Row/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './row'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Row/row.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Row/row.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/TabItem/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './tabItem'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/TabItem/tabItem.module.css: -------------------------------------------------------------------------------- 1 | .root { 2 | min-height: inherit; 3 | } 4 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Tabs/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './tabs'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Tabs/tabs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Tabs/tabs.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Text/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './text'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Text/text.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Text/text.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Video/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './video'; 2 | -------------------------------------------------------------------------------- /packages/pagebuilder/lib/ContentTypes/Video/video.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/ContentTypes/Video/video.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/__tests__/config.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/__tests__/config.spec.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/__tests__/factory.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/__tests__/factory.spec.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/__tests__/utils.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/__tests__/utils.spec.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/config.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/declare.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/declare.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/detectPageBuilder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/detectPageBuilder.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/factory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/factory.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/handleHtmlContentClick.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/handleHtmlContentClick.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/index.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/intercept.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/intercept.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/pagebuilder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/pagebuilder.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/parseStorageHtml.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/parseStorageHtml.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/resolveLinkProps.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/resolveLinkProps.js -------------------------------------------------------------------------------- /packages/pagebuilder/lib/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/lib/utils.js -------------------------------------------------------------------------------- /packages/pagebuilder/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/package.json -------------------------------------------------------------------------------- /packages/pagebuilder/scripts/shim.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pagebuilder/scripts/shim.js -------------------------------------------------------------------------------- /packages/peregrine/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/.npmignore -------------------------------------------------------------------------------- /packages/peregrine/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/CHANGELOG.md -------------------------------------------------------------------------------- /packages/peregrine/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/LICENSE -------------------------------------------------------------------------------- /packages/peregrine/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/README.md -------------------------------------------------------------------------------- /packages/peregrine/docs/RestApi.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/docs/RestApi.md -------------------------------------------------------------------------------- /packages/peregrine/docs/Router.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/docs/Router.md -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/attachClientToStore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/attachClientToStore.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/client-schema.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/client-schema.graphql -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/constants.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/links/authLink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/links/authLink.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/links/errorLink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/links/errorLink.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/links/gqlCacheLink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/links/gqlCacheLink.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/links/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/links/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/links/retryLink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/links/retryLink.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/links/storeLink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/links/storeLink.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/magentoGqlCacheLink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/magentoGqlCacheLink.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Apollo/policies/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Apollo/policies/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/ContainerChild/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './containerChild'; 2 | -------------------------------------------------------------------------------- /packages/peregrine/lib/List/__docs__/item.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/__docs__/item.md -------------------------------------------------------------------------------- /packages/peregrine/lib/List/__docs__/items.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/__docs__/items.md -------------------------------------------------------------------------------- /packages/peregrine/lib/List/__docs__/list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/__docs__/list.md -------------------------------------------------------------------------------- /packages/peregrine/lib/List/__tests__/item.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/__tests__/item.spec.js -------------------------------------------------------------------------------- /packages/peregrine/lib/List/__tests__/items.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/__tests__/items.spec.js -------------------------------------------------------------------------------- /packages/peregrine/lib/List/__tests__/list.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/__tests__/list.spec.js -------------------------------------------------------------------------------- /packages/peregrine/lib/List/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/List/item.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/item.js -------------------------------------------------------------------------------- /packages/peregrine/lib/List/items.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/items.js -------------------------------------------------------------------------------- /packages/peregrine/lib/List/list.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/list.js -------------------------------------------------------------------------------- /packages/peregrine/lib/List/useListState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/List/useListState.js -------------------------------------------------------------------------------- /packages/peregrine/lib/PeregrineContextProvider/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './peregrineContextProvider'; 2 | -------------------------------------------------------------------------------- /packages/peregrine/lib/Price/__docs__/price.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Price/__docs__/price.md -------------------------------------------------------------------------------- /packages/peregrine/lib/Price/__tests__/price.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Price/__tests__/price.spec.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Price/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './price'; 2 | -------------------------------------------------------------------------------- /packages/peregrine/lib/Price/price.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Price/price.js -------------------------------------------------------------------------------- /packages/peregrine/lib/RestApi/Magento2/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/RestApi/Magento2/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/RestApi/__mocks__/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/RestApi/__mocks__/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/RestApi/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/RestApi/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Router/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Router/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Router/resolveUnknownRoute.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Router/resolveUnknownRoute.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Router/router.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Router/router.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Router/webpackInterop.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Router/webpackInterop.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Toasts/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Toasts/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Toasts/useToastContext.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Toasts/useToastContext.js -------------------------------------------------------------------------------- /packages/peregrine/lib/Toasts/useToasts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/Toasts/useToasts.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/__mocks__/style.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/peregrine/lib/context/__tests__/app.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/__tests__/app.spec.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/app.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/cart.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/cart.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/catalog.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/catalog.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/checkout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/checkout.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/eventing.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/eventing.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/rootComponents.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/rootComponents.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/style.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/unhandledErrors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/unhandledErrors.js -------------------------------------------------------------------------------- /packages/peregrine/lib/context/user.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/context/user.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useAwaitQuery.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useAwaitQuery.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useCarousel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useCarousel.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useDelayedTransition.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useDelayedTransition.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useDetectScrollWidth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useDetectScrollWidth.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useDropdown.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useDropdown.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useEventListener.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useEventListener.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useInternalLink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useInternalLink.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useIsInViewport.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useIsInViewport.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useMediaQuery.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useMediaQuery.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/usePagination.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/usePagination.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useResetForm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useResetForm.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useRestApi.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useRestApi.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useRestResponse.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useRestResponse.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useScript.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useScript.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useScrollIntoView.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useScrollIntoView.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useScrollLock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useScrollLock.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useScrollTopOnChange.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useScrollTopOnChange.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useSearchParam.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useSearchParam.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useSort.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useSort.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useTypePolicies.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useTypePolicies.js -------------------------------------------------------------------------------- /packages/peregrine/lib/hooks/useWindowSize.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/hooks/useWindowSize.js -------------------------------------------------------------------------------- /packages/peregrine/lib/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/peregrine/lib/store/actions/app/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/actions/app/actions.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/actions/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/actions/app/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/actions/cart/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/actions/cart/actions.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/actions/cart/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/actions/cart/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/actions/checkoutReceipt/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './actions'; 2 | -------------------------------------------------------------------------------- /packages/peregrine/lib/store/actions/user/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/actions/user/actions.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/actions/user/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/actions/user/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/enhancers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/enhancers/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/enhancers/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/enhancers/middleware.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/middleware/auth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/middleware/auth.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/middleware/log.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/middleware/log.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/middleware/thunk.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/middleware/thunk.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/reducers/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/reducers/app.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/reducers/cart.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/reducers/cart.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/reducers/catalog.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/reducers/catalog.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/reducers/checkout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/reducers/checkout.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/reducers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/reducers/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/store/reducers/user.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/store/reducers/user.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Adapter/useAdapter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Adapter/useAdapter.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/App/useApp.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/App/useApp.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/AuthBar/useAuthBar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/AuthBar/useAuthBar.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/CategoryTree/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/CategoryTree/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Checkout/useFlow.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Checkout/useFlow.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Checkout/useForm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Checkout/useForm.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Cms/cmsPage.gql.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Cms/cmsPage.gql.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Cms/useCmsPage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Cms/useCmsPage.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/ContactPage/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/ContactPage/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Country/useCountry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Country/useCountry.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/FilterModal/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/FilterModal/helpers.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/FilterModal/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/FilterModal/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/FilterSidebar/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/FilterSidebar/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Footer/footer.gql.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Footer/footer.gql.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Footer/useFooter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Footer/useFooter.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Gallery/useGallery.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Gallery/useGallery.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Header/useHeader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Header/useHeader.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Image/useImage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Image/useImage.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Link/useLink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Link/useLink.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/MagentoRoute/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/MagentoRoute/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/MegaMenu/useSubMenu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/MegaMenu/useSubMenu.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/MiniCart/useItem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/MiniCart/useItem.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/README.md -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/Region/useRegion.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/Region/useRegion.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/SearchBar/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/SearchBar/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/SignIn/signIn.gql.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/SignIn/signIn.gql.js -------------------------------------------------------------------------------- /packages/peregrine/lib/talons/SignIn/useSignIn.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/talons/SignIn/useSignIn.js -------------------------------------------------------------------------------- /packages/peregrine/lib/targets/HookInterceptorSet.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/targets/HookInterceptorSet.js -------------------------------------------------------------------------------- /packages/peregrine/lib/targets/TargetableHook.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/targets/TargetableHook.js -------------------------------------------------------------------------------- /packages/peregrine/lib/targets/peregrine-declare.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/targets/peregrine-declare.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/__fixtures__/product.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/__fixtures__/product.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/__mocks__/makeUrl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/__mocks__/makeUrl.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/bindActionCreators.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/bindActionCreators.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/composeEnhancers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/composeEnhancers.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/configuredVariant.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/configuredVariant.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/createErrorRecord.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/createErrorRecord.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/createProductVariants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/createProductVariants.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/createTestInstance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/createTestInstance.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/deriveErrorMessage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/deriveErrorMessage.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/fromRenderProp.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/fromRenderProp.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/getCombinations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/getCombinations.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/getCurrencyCode.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/getCurrencyCode.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/getOutOfStockIndexes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/getOutOfStockIndexes.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/getOutOfStockVariants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/getOutOfStockVariants.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/imageUtils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/imageUtils.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/images.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/images.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/index.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/intlPatches.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/intlPatches.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/isObjectEmpty.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/isObjectEmpty.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/isProductConfigurable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/isProductConfigurable.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/magentoRouteData.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/magentoRouteData.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/makeUrl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/makeUrl.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/resolveLinkProps.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/resolveLinkProps.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/shallowMerge.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/shallowMerge.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/shrinkQuery.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/shrinkQuery.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/simplePersistence.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/simplePersistence.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/swUtils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/swUtils.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/unaryMemoize.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/unaryMemoize.js -------------------------------------------------------------------------------- /packages/peregrine/lib/util/withLogger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/util/withLogger.js -------------------------------------------------------------------------------- /packages/peregrine/lib/validators/iterable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/validators/iterable.js -------------------------------------------------------------------------------- /packages/peregrine/lib/validators/map.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/validators/map.js -------------------------------------------------------------------------------- /packages/peregrine/lib/validators/set.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/lib/validators/set.js -------------------------------------------------------------------------------- /packages/peregrine/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/package.json -------------------------------------------------------------------------------- /packages/peregrine/scripts/fetch-mock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/scripts/fetch-mock.js -------------------------------------------------------------------------------- /packages/peregrine/scripts/matchMedia.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/scripts/matchMedia.js -------------------------------------------------------------------------------- /packages/peregrine/scripts/shim.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/peregrine/scripts/shim.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/.eslintrc.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/.npmignore: -------------------------------------------------------------------------------- 1 | __tests__ 2 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/LICENSE.txt -------------------------------------------------------------------------------- /packages/pwa-buildpack/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/README.md -------------------------------------------------------------------------------- /packages/pwa-buildpack/__mocks__/apicache.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/__mocks__/apicache.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/__mocks__/devcert.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/__mocks__/devcert.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/__mocks__/hastily.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/__mocks__/hastily.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/__mocks__/word-wrap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/__mocks__/word-wrap.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/bin/buildpack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/bin/buildpack -------------------------------------------------------------------------------- /packages/pwa-buildpack/docs/MagentoResolver.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/docs/MagentoResolver.md -------------------------------------------------------------------------------- /packages/pwa-buildpack/docs/PWADevServer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/docs/PWADevServer.md -------------------------------------------------------------------------------- /packages/pwa-buildpack/docs/ServiceWorkerPlugin.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/docs/ServiceWorkerPlugin.md -------------------------------------------------------------------------------- /packages/pwa-buildpack/envVarDefinitions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/envVarDefinitions.json -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/BuildBus/BuildBus.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/lib/BuildBus/BuildBus.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/BuildBus/Target.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/lib/BuildBus/Target.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/BuildBus/Trackable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/lib/BuildBus/Trackable.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/BuildBus/declare-base.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/lib/BuildBus/declare-base.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/BuildBus/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./BuildBus'); 2 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/TestHelpers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/lib/TestHelpers/index.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/__tests__/__fixtures__/modules/buildpack-template-package/ignoredir/ignoresubfile.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/__tests__/__fixtures__/modules/buildpack-template-package/ignoreexp/ignorematchedfile.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/__tests__/__fixtures__/modules/buildpack-template-package/ignorefile: -------------------------------------------------------------------------------- 1 | ignore me 2 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/__tests__/__fixtures__/modules/buildpack-template-package/stylesheets/index.css: -------------------------------------------------------------------------------- 1 | html { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/__tests__/__fixtures__/modules/package-with-bad-instruction/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/__tests__/__fixtures__/modules/package-with-instruction/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/__tests__/__fixtures__/modules/package-with-no-instructions/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/graphQL.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/lib/Utilities/graphQL.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/lib/Utilities/index.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/Utilities/serve.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magento/pwa-studio/HEAD/packages/pwa-buildpack/lib/Utilities/serve.js -------------------------------------------------------------------------------- /packages/pwa-buildpack/lib/WebpackTools/__tests__/__fixtures__/resolverContext/localModule1/index.jsx: -------------------------------------------------------------------------------- 1 | export const Hi = () =>