@lana-commerce/core 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +531 -0
- package/cjs/actionLock.js +31 -0
- package/cjs/addEmptyListItem.js +7 -0
- package/cjs/aggregateOptions.js +178 -0
- package/cjs/analytics.js +90 -0
- package/cjs/analyticsProductData.js +33 -0
- package/cjs/arrayToDict.js +12 -0
- package/cjs/asyncModuleWrapper.js +52 -0
- package/cjs/averageReviewScore.js +45 -0
- package/cjs/buildconfig.js +16 -0
- package/cjs/cachedLoader.js +36 -0
- package/cjs/canonicalVariantURL.js +2 -0
- package/cjs/cartOperation.js +132 -0
- package/cjs/categorySEO.js +20 -0
- package/cjs/commonTypes.js +2 -0
- package/cjs/compact.js +8 -0
- package/cjs/configLoader.js +69 -0
- package/cjs/controlledQueue.js +46 -0
- package/cjs/convertImageURL.js +19 -0
- package/cjs/dataLoader.js +185 -0
- package/cjs/defaultVariant.js +30 -0
- package/cjs/effector/clearOnChangeAfterDelay.js +17 -0
- package/cjs/effector/combineEvery.js +8 -0
- package/cjs/effector/combineSome.js +8 -0
- package/cjs/effector/debounced.js +18 -0
- package/cjs/effector/form.js +168 -0
- package/cjs/effector/hideOnChangeAfterDelay.js +17 -0
- package/cjs/effector/requestResponse.js +30 -0
- package/cjs/effector/requestResponseMulti.js +51 -0
- package/cjs/effector/restoreNamed.js +8 -0
- package/cjs/effector/split.js +29 -0
- package/cjs/effector/validator.js +33 -0
- package/cjs/effector/wrapSignInRequired.js +13 -0
- package/cjs/exceptions.js +6 -0
- package/cjs/fetchAllItems.js +56 -0
- package/cjs/file.js +83 -0
- package/cjs/fileWebsocket.js +83 -0
- package/cjs/filterFunc.js +48 -0
- package/cjs/filterFuncBrand.js +12 -0
- package/cjs/filterFuncCategory.js +12 -0
- package/cjs/filterFuncContentBlock.js +19 -0
- package/cjs/filterFuncCustomer.js +161 -0
- package/cjs/filterFuncDataFeed.js +54 -0
- package/cjs/filterFuncOrder.js +334 -0
- package/cjs/filterFuncPreprocess.js +14 -0
- package/cjs/filterFuncProduct.js +70 -0
- package/cjs/filterFuncPurchaseOrder.js +126 -0
- package/cjs/filterFuncSupplier.js +36 -0
- package/cjs/filterFuncTransfer.js +135 -0
- package/cjs/formatAbbrevNumber.js +21 -0
- package/cjs/formatCurrency.js +47 -0
- package/cjs/formatToJSX.js +123 -0
- package/cjs/fulfillmentNumber.js +7 -0
- package/cjs/generateRandomToken.js +12 -0
- package/cjs/generateUUID.js +10 -0
- package/cjs/generated/codes.js +47 -0
- package/cjs/genericFile.js +73 -0
- package/cjs/getSalesChannelID.js +13 -0
- package/cjs/getSessionID.js +13 -0
- package/cjs/getTimezone.js +12 -0
- package/cjs/graphql/fragments/Branding.js +3 -0
- package/cjs/graphql/fragments/BrandingField.js +3 -0
- package/cjs/graphql/fragments/CartCustomItem.js +3 -0
- package/cjs/graphql/fragments/CartOrder.js +3 -0
- package/cjs/graphql/fragments/CartVariant.js +3 -0
- package/cjs/graphql/fragments/CartVariantFull.js +3 -0
- package/cjs/graphql/fragments/Category.js +3 -0
- package/cjs/graphql/fragments/CommonCartVariant.js +3 -0
- package/cjs/graphql/fragments/Currency.js +3 -0
- package/cjs/graphql/fragments/CurrencyPrice.js +3 -0
- package/cjs/graphql/fragments/CustomField.js +3 -0
- package/cjs/graphql/fragments/CustomFieldObjects.js +3 -0
- package/cjs/graphql/fragments/Customer.js +3 -0
- package/cjs/graphql/fragments/CustomerBalance.js +3 -0
- package/cjs/graphql/fragments/CustomerBalanceHistory.js +3 -0
- package/cjs/graphql/fragments/CustomerFavorite.js +3 -0
- package/cjs/graphql/fragments/CustomerFavoriteShort.js +3 -0
- package/cjs/graphql/fragments/CustomerOAuthProvider.js +3 -0
- package/cjs/graphql/fragments/CustomerOrderBrief.js +3 -0
- package/cjs/graphql/fragments/CustomerOrderFulfillment.js +3 -0
- package/cjs/graphql/fragments/CustomerOrderFull.js +3 -0
- package/cjs/graphql/fragments/CustomerPaymentSource.js +3 -0
- package/cjs/graphql/fragments/CustomerReturnBrief.js +3 -0
- package/cjs/graphql/fragments/CustomerReturnFull.js +3 -0
- package/cjs/graphql/fragments/CustomerReturnPolicy.js +3 -0
- package/cjs/graphql/fragments/CustomerSubscriptionBrief.js +3 -0
- package/cjs/graphql/fragments/CustomerSubscriptionFull.js +3 -0
- package/cjs/graphql/fragments/File.js +3 -0
- package/cjs/graphql/fragments/FileForUpload.js +3 -0
- package/cjs/graphql/fragments/FileNoFallback.js +3 -0
- package/cjs/graphql/fragments/FullAddress.js +3 -0
- package/cjs/graphql/fragments/Gateway.js +3 -0
- package/cjs/graphql/fragments/GatewayManual.js +3 -0
- package/cjs/graphql/fragments/GatewayPaypal.js +3 -0
- package/cjs/graphql/fragments/GatewayStripe.js +3 -0
- package/cjs/graphql/fragments/GatewayTest.js +3 -0
- package/cjs/graphql/fragments/IPAndUAInfo.js +3 -0
- package/cjs/graphql/fragments/InfoCountry.js +3 -0
- package/cjs/graphql/fragments/InfoCountryDedupField.js +3 -0
- package/cjs/graphql/fragments/InfoCurrency.js +3 -0
- package/cjs/graphql/fragments/InfoProvince.js +3 -0
- package/cjs/graphql/fragments/KeyValue.js +3 -0
- package/cjs/graphql/fragments/LineItemField.js +3 -0
- package/cjs/graphql/fragments/MediaFile.js +3 -0
- package/cjs/graphql/fragments/MinCurrencyPrice.js +3 -0
- package/cjs/graphql/fragments/ProductField.js +3 -0
- package/cjs/graphql/fragments/ProductFieldSet.js +3 -0
- package/cjs/graphql/fragments/ProductFlat.js +3 -0
- package/cjs/graphql/fragments/ProductQuestion.js +3 -0
- package/cjs/graphql/fragments/ProductQuestionAnswer.js +3 -0
- package/cjs/graphql/fragments/ProductQuestionPage.js +3 -0
- package/cjs/graphql/fragments/ProductReview.js +3 -0
- package/cjs/graphql/fragments/ProductReviewAnswer.js +3 -0
- package/cjs/graphql/fragments/ProductReviewAverageScore.js +3 -0
- package/cjs/graphql/fragments/ProductReviewPage.js +3 -0
- package/cjs/graphql/fragments/ProductReviewScore.js +3 -0
- package/cjs/graphql/fragments/ProductReviewSurveyAnswer.js +3 -0
- package/cjs/graphql/fragments/ProductSearchOptionAgg.js +3 -0
- package/cjs/graphql/fragments/ProductSearchResult.js +3 -0
- package/cjs/graphql/fragments/ReturnReason.js +3 -0
- package/cjs/graphql/fragments/ReviewDimension.js +3 -0
- package/cjs/graphql/fragments/ReviewDimensionSet.js +3 -0
- package/cjs/graphql/fragments/ReviewImagePage.js +3 -0
- package/cjs/graphql/fragments/ReviewQuestionProduct.js +3 -0
- package/cjs/graphql/fragments/ReviewSettings.js +3 -0
- package/cjs/graphql/fragments/SearchProduct.js +3 -0
- package/cjs/graphql/fragments/Shop.js +3 -0
- package/cjs/graphql/fragments/SubscriptionPlan.js +3 -0
- package/cjs/graphql/fragments/SurveyQuestion.js +3 -0
- package/cjs/graphql/fragments/TieredPricing.js +3 -0
- package/cjs/graphql/fragments/TieredPricingTier.js +3 -0
- package/cjs/graphql/fragments/VariantOption.js +3 -0
- package/cjs/graphql/operations/ApplyGiftCardMutation.js +3 -0
- package/cjs/graphql/operations/AuthRequestMutation.js +3 -0
- package/cjs/graphql/operations/CancelOrderMutation.js +3 -0
- package/cjs/graphql/operations/CancelSubscriptionMutation.js +3 -0
- package/cjs/graphql/operations/ConnectOAuth2Mutation.js +3 -0
- package/cjs/graphql/operations/CreateCartMutation.js +26 -0
- package/cjs/graphql/operations/CreateFavoriteMutation.js +22 -0
- package/cjs/graphql/operations/CreateFileMutation.js +6 -0
- package/cjs/graphql/operations/CreatePaymentSourceMutation.js +6 -0
- package/cjs/graphql/operations/CreateProductQuestionAnswerMutation.js +3 -0
- package/cjs/graphql/operations/CreateProductQuestionMutation.js +8 -0
- package/cjs/graphql/operations/CreateProductReviewMutation.js +18 -0
- package/cjs/graphql/operations/CreateReturnMutation.js +22 -0
- package/cjs/graphql/operations/DeleteFavoriteMutation.js +3 -0
- package/cjs/graphql/operations/DeletePaymentSourceMutation.js +3 -0
- package/cjs/graphql/operations/DeleteProductQuestionAnswerMutation.js +3 -0
- package/cjs/graphql/operations/DeleteProductQuestionMutation.js +3 -0
- package/cjs/graphql/operations/DeleteProductReviewMutation.js +3 -0
- package/cjs/graphql/operations/DisconnectOAuth2Mutation.js +3 -0
- package/cjs/graphql/operations/EditSubscriptionMutation.js +3 -0
- package/cjs/graphql/operations/FileUploadedMutation.js +6 -0
- package/cjs/graphql/operations/FlagQuestionAnswerMutation.js +3 -0
- package/cjs/graphql/operations/FlagQuestionMutation.js +3 -0
- package/cjs/graphql/operations/FlagReviewAnswerMutation.js +3 -0
- package/cjs/graphql/operations/FlagReviewMutation.js +3 -0
- package/cjs/graphql/operations/GetBrandingQuery.js +10 -0
- package/cjs/graphql/operations/GetCartQuery.js +26 -0
- package/cjs/graphql/operations/GetCustomerAddressesPageDataQuery.js +16 -0
- package/cjs/graphql/operations/GetCustomerBalanceHistoryPageQuery.js +6 -0
- package/cjs/graphql/operations/GetCustomerBalanceQuery.js +8 -0
- package/cjs/graphql/operations/GetCustomerInfoQuery.js +10 -0
- package/cjs/graphql/operations/GetCustomerQuery.js +8 -0
- package/cjs/graphql/operations/GetFavoritesQuery.js +22 -0
- package/cjs/graphql/operations/GetFileStatusQuery.js +6 -0
- package/cjs/graphql/operations/GetGatewaysQuery.js +14 -0
- package/cjs/graphql/operations/GetInfoCurrenciesQuery.js +6 -0
- package/cjs/graphql/operations/GetLastCartQuery.js +26 -0
- package/cjs/graphql/operations/GetOrderQuery.js +30 -0
- package/cjs/graphql/operations/GetOrdersPageQuery.js +24 -0
- package/cjs/graphql/operations/GetPaymentMethodsPageDataQuery.js +18 -0
- package/cjs/graphql/operations/GetProductQuestionsPageQuery.js +10 -0
- package/cjs/graphql/operations/GetProductReviewImagesPageQuery.js +8 -0
- package/cjs/graphql/operations/GetProductReviewsPageQuery.js +20 -0
- package/cjs/graphql/operations/GetProvincesQuery.js +6 -0
- package/cjs/graphql/operations/GetQuestionQuery.js +8 -0
- package/cjs/graphql/operations/GetReturnCreationInfoQuery.js +36 -0
- package/cjs/graphql/operations/GetReturnQuery.js +28 -0
- package/cjs/graphql/operations/GetReturnsPageQuery.js +22 -0
- package/cjs/graphql/operations/GetReviewDimensionsQuery.js +6 -0
- package/cjs/graphql/operations/GetReviewQuery.js +18 -0
- package/cjs/graphql/operations/GetReviewSettingsQuery.js +12 -0
- package/cjs/graphql/operations/GetShopCurrenciesQuery.js +6 -0
- package/cjs/graphql/operations/GetShopQuery.js +8 -0
- package/cjs/graphql/operations/GetSubscriptionQuery.js +36 -0
- package/cjs/graphql/operations/GetSubscriptionsPageQuery.js +22 -0
- package/cjs/graphql/operations/GetVariantPageQuery.js +20 -0
- package/cjs/graphql/operations/LoadProductNoCustomerQuery.js +62 -0
- package/cjs/graphql/operations/LoadProductQuery.js +66 -0
- package/cjs/graphql/operations/ModifyCartMutation.js +26 -0
- package/cjs/graphql/operations/ModifyCustomerMutation.js +8 -0
- package/cjs/graphql/operations/ModifyFavoriteMutation.js +22 -0
- package/cjs/graphql/operations/ModifyProductQuestionAnswerMutation.js +3 -0
- package/cjs/graphql/operations/ModifyProductQuestionMutation.js +8 -0
- package/cjs/graphql/operations/ModifyProductReviewMutation.js +18 -0
- package/cjs/graphql/operations/NewPasswordMutation.js +3 -0
- package/cjs/graphql/operations/PauseSubscriptionMutation.js +3 -0
- package/cjs/graphql/operations/ResetPasswordMutation.js +3 -0
- package/cjs/graphql/operations/ResumeSubscriptionMutation.js +3 -0
- package/cjs/graphql/operations/SearchProductsAdvancedQuery.js +24 -0
- package/cjs/graphql/operations/SearchProductsQuery.js +20 -0
- package/cjs/graphql/operations/SearchQuestionsQuery.js +8 -0
- package/cjs/graphql/operations/SearchReviewsQuery.js +18 -0
- package/cjs/graphql/operations/SignInMutation.js +3 -0
- package/cjs/graphql/operations/SignInViaEmailCompleteMutation.js +3 -0
- package/cjs/graphql/operations/SignInViaEmailInitMutation.js +3 -0
- package/cjs/graphql/operations/SignUpMutation.js +3 -0
- package/cjs/graphql/operations/SkipNextSubscriptionMutation.js +3 -0
- package/cjs/graphql/operations/UploadFileMutation.js +3 -0
- package/cjs/graphql/operations/VerifyCodeMutation.js +3 -0
- package/cjs/graphql/operations/VoteQuestionAnswerMutation.js +3 -0
- package/cjs/graphql/operations/VoteQuestionMutation.js +3 -0
- package/cjs/graphql/operations/VoteReviewAnswerMutation.js +3 -0
- package/cjs/graphql/operations/VoteReviewMutation.js +3 -0
- package/cjs/graphql/types.js +2 -0
- package/cjs/hierarchicalSearchOption.js +42 -0
- package/cjs/idgen.js +8 -0
- package/cjs/ignoreQueue.js +50 -0
- package/cjs/imageAltProps.js +13 -0
- package/cjs/invoiceFormat.js +59 -0
- package/cjs/isShippingRequired.js +20 -0
- package/cjs/isoStripTrailingZeros.js +7 -0
- package/cjs/json/commerce.js +10 -0
- package/cjs/json/commerceFileUpload.js +57 -0
- package/cjs/json/commerceTypes.js +2 -0
- package/cjs/json/common.js +320 -0
- package/cjs/json/fetchAllItems.js +61 -0
- package/cjs/json/mutator.js +957 -0
- package/cjs/json/storefront.js +10 -0
- package/cjs/json/storefrontTypes.js +2 -0
- package/cjs/lastValue.js +17 -0
- package/cjs/lineItemPrice.js +111 -0
- package/cjs/loadJWT.js +25 -0
- package/cjs/mapInvalidInput.js +33 -0
- package/cjs/mapResponseData.js +16 -0
- package/cjs/mapResponseMultiData.js +14 -0
- package/cjs/meanBy.js +15 -0
- package/cjs/media.js +16 -0
- package/cjs/modules/advancedSearch.js +127 -0
- package/cjs/modules/cart.js +708 -0
- package/cjs/modules/config/defaultAdvancedSearchGraphQLConfig.js +8 -0
- package/cjs/modules/config/defaultCartGraphQLConfig.js +14 -0
- package/cjs/modules/config/defaultProductGraphQLConfig.js +48 -0
- package/cjs/modules/config/defaultSearchGraphQLConfig.js +8 -0
- package/cjs/modules/customer.js +2174 -0
- package/cjs/modules/helpers/cartInitOption.js +22 -0
- package/cjs/modules/helpers/cookieConsent.js +33 -0
- package/cjs/modules/helpers/customerOauth2.js +64 -0
- package/cjs/modules/helpers/getOAuth2Hook.js +52 -0
- package/cjs/modules/helpers/hookUpAnalytics.js +49 -0
- package/cjs/modules/helpers/loadJWT.js +23 -0
- package/cjs/modules/helpers/misc.js +58 -0
- package/cjs/modules/imageDialog.js +78 -0
- package/cjs/modules/persist.js +55 -0
- package/cjs/modules/popupMessage.js +21 -0
- package/cjs/modules/product.js +1261 -0
- package/cjs/modules/recentlyVisitedProducts.js +72 -0
- package/cjs/modules/search.js +102 -0
- package/cjs/multiResponseToResponse.js +22 -0
- package/cjs/nonNull.js +10 -0
- package/cjs/oauthState.js +40 -0
- package/cjs/orderShippingAddress.js +7 -0
- package/cjs/package.json +3 -0
- package/cjs/pender.js +16 -0
- package/cjs/percentageOff.js +7 -0
- package/cjs/popupConnectQueue.js +62 -0
- package/cjs/preact/components/SixDigitInput.js +167 -0
- package/cjs/preact/effector.js +74 -0
- package/cjs/preact/transition/CSSTransition.js +55 -0
- package/cjs/preact/transition/Transition.js +104 -0
- package/cjs/preact/translateLocalStatic.js +31 -0
- package/cjs/productFiltering.js +173 -0
- package/cjs/productSEO.js +51 -0
- package/cjs/productSorting.js +93 -0
- package/cjs/promiseAll.js +18 -0
- package/cjs/promiseLimit.js +38 -0
- package/cjs/rdsToInitialScores.js +32 -0
- package/cjs/react/components/Portal.js +7 -0
- package/cjs/react/components/RootCloseWrapper.js +41 -0
- package/cjs/react/components/SixDigitInput.js +167 -0
- package/cjs/react/contains.js +14 -0
- package/cjs/react/popperBinder.js +70 -0
- package/cjs/react/rootClose.js +112 -0
- package/cjs/react/translateLocalStatic.js +32 -0
- package/cjs/react/useAsyncCachedValue.js +14 -0
- package/cjs/refreshTimeout.js +25 -0
- package/cjs/remoteAuth.js +59 -0
- package/cjs/request.js +348 -0
- package/cjs/requestDetails.js +76 -0
- package/cjs/rfc3339Normalize.js +10 -0
- package/cjs/script.js +172 -0
- package/cjs/seo.js +2 -0
- package/cjs/shopDomain.js +8 -0
- package/cjs/shopLinks.js +63 -0
- package/cjs/slate.js +376 -0
- package/cjs/sleep.js +10 -0
- package/cjs/splitBy.js +21 -0
- package/cjs/splitName.js +28 -0
- package/cjs/stripZeros.js +13 -0
- package/cjs/stripeError.js +65 -0
- package/cjs/tailSplit.js +12 -0
- package/cjs/tieredPrice.js +32 -0
- package/cjs/timeIt.js +15 -0
- package/cjs/toMajor.js +8 -0
- package/cjs/toMinor.js +8 -0
- package/cjs/trace.js +37 -0
- package/cjs/translateLocale.js +12 -0
- package/cjs/traverse.js +14 -0
- package/cjs/truncate.js +21 -0
- package/cjs/typedLocalStorage.js +30 -0
- package/cjs/variantImage.js +26 -0
- package/cjs/variantImageURL.js +13 -0
- package/cjs/variantImages.js +19 -0
- package/cjs/variantInventory.js +43 -0
- package/cjs/variantOptions.js +21 -0
- package/cjs/variantPrice.js +96 -0
- package/cjs/variantPriceCommerce.js +29 -0
- package/cjs/variantTitle.js +9 -0
- package/cjs/variantTitleFull.js +11 -0
- package/cjs/variantURL.js +9 -0
- package/cjs/vendor/popper/index.d.ts +160 -0
- package/cjs/vendor/popper/index.js +2657 -0
- package/cjs/vendor/popper/index.js.map +1 -0
- package/cjs/vendor/popper/package.json +3 -0
- package/cjs/websocket.js +179 -0
- package/esm/actionLock.js +24 -0
- package/esm/addEmptyListItem.js +3 -0
- package/esm/aggregateOptions.js +169 -0
- package/esm/analytics.js +91 -0
- package/esm/analyticsProductData.js +28 -0
- package/esm/arrayToDict.js +8 -0
- package/esm/asyncModuleWrapper.js +47 -0
- package/esm/averageReviewScore.js +40 -0
- package/esm/buildconfig.js +13 -0
- package/esm/cachedLoader.js +32 -0
- package/esm/canonicalVariantURL.js +1 -0
- package/esm/cartOperation.js +126 -0
- package/esm/categorySEO.js +16 -0
- package/esm/commonTypes.js +1 -0
- package/esm/compact.js +4 -0
- package/esm/configLoader.js +61 -0
- package/esm/controlledQueue.js +38 -0
- package/esm/convertImageURL.js +15 -0
- package/esm/dataLoader.js +192 -0
- package/esm/defaultVariant.js +25 -0
- package/esm/effector/clearOnChangeAfterDelay.js +13 -0
- package/esm/effector/combineEvery.js +4 -0
- package/esm/effector/combineSome.js +4 -0
- package/esm/effector/debounced.js +14 -0
- package/esm/effector/form.js +166 -0
- package/esm/effector/hideOnChangeAfterDelay.js +13 -0
- package/esm/effector/requestResponse.js +24 -0
- package/esm/effector/requestResponseMulti.js +47 -0
- package/esm/effector/restoreNamed.js +4 -0
- package/esm/effector/split.js +25 -0
- package/esm/effector/validator.js +28 -0
- package/esm/effector/wrapSignInRequired.js +9 -0
- package/esm/exceptions.js +2 -0
- package/esm/fetchAllItems.js +44 -0
- package/esm/file.js +67 -0
- package/esm/fileWebsocket.js +75 -0
- package/esm/filterFunc.js +43 -0
- package/esm/filterFuncBrand.js +9 -0
- package/esm/filterFuncCategory.js +9 -0
- package/esm/filterFuncContentBlock.js +16 -0
- package/esm/filterFuncCustomer.js +153 -0
- package/esm/filterFuncDataFeed.js +50 -0
- package/esm/filterFuncOrder.js +325 -0
- package/esm/filterFuncPreprocess.js +9 -0
- package/esm/filterFuncProduct.js +66 -0
- package/esm/filterFuncPurchaseOrder.js +122 -0
- package/esm/filterFuncSupplier.js +31 -0
- package/esm/filterFuncTransfer.js +130 -0
- package/esm/formatAbbrevNumber.js +16 -0
- package/esm/formatCurrency.js +42 -0
- package/esm/formatToJSX.js +118 -0
- package/esm/fulfillmentNumber.js +3 -0
- package/esm/generateRandomToken.js +8 -0
- package/esm/generateUUID.js +6 -0
- package/esm/generated/codes.js +44 -0
- package/esm/genericFile.js +65 -0
- package/esm/getSalesChannelID.js +9 -0
- package/esm/getSessionID.js +9 -0
- package/esm/getTimezone.js +8 -0
- package/esm/graphql/fragments/Branding.js +1 -0
- package/esm/graphql/fragments/BrandingField.js +1 -0
- package/esm/graphql/fragments/CartCustomItem.js +1 -0
- package/esm/graphql/fragments/CartOrder.js +1 -0
- package/esm/graphql/fragments/CartVariant.js +1 -0
- package/esm/graphql/fragments/CartVariantFull.js +1 -0
- package/esm/graphql/fragments/Category.js +1 -0
- package/esm/graphql/fragments/CommonCartVariant.js +1 -0
- package/esm/graphql/fragments/Currency.js +1 -0
- package/esm/graphql/fragments/CurrencyPrice.js +1 -0
- package/esm/graphql/fragments/CustomField.js +1 -0
- package/esm/graphql/fragments/CustomFieldObjects.js +1 -0
- package/esm/graphql/fragments/Customer.js +1 -0
- package/esm/graphql/fragments/CustomerBalance.js +1 -0
- package/esm/graphql/fragments/CustomerBalanceHistory.js +1 -0
- package/esm/graphql/fragments/CustomerFavorite.js +1 -0
- package/esm/graphql/fragments/CustomerFavoriteShort.js +1 -0
- package/esm/graphql/fragments/CustomerOAuthProvider.js +1 -0
- package/esm/graphql/fragments/CustomerOrderBrief.js +1 -0
- package/esm/graphql/fragments/CustomerOrderFulfillment.js +1 -0
- package/esm/graphql/fragments/CustomerOrderFull.js +1 -0
- package/esm/graphql/fragments/CustomerPaymentSource.js +1 -0
- package/esm/graphql/fragments/CustomerReturnBrief.js +1 -0
- package/esm/graphql/fragments/CustomerReturnFull.js +1 -0
- package/esm/graphql/fragments/CustomerReturnPolicy.js +1 -0
- package/esm/graphql/fragments/CustomerSubscriptionBrief.js +1 -0
- package/esm/graphql/fragments/CustomerSubscriptionFull.js +1 -0
- package/esm/graphql/fragments/File.js +1 -0
- package/esm/graphql/fragments/FileForUpload.js +1 -0
- package/esm/graphql/fragments/FileNoFallback.js +1 -0
- package/esm/graphql/fragments/FullAddress.js +1 -0
- package/esm/graphql/fragments/Gateway.js +1 -0
- package/esm/graphql/fragments/GatewayManual.js +1 -0
- package/esm/graphql/fragments/GatewayPaypal.js +1 -0
- package/esm/graphql/fragments/GatewayStripe.js +1 -0
- package/esm/graphql/fragments/GatewayTest.js +1 -0
- package/esm/graphql/fragments/IPAndUAInfo.js +1 -0
- package/esm/graphql/fragments/InfoCountry.js +1 -0
- package/esm/graphql/fragments/InfoCountryDedupField.js +1 -0
- package/esm/graphql/fragments/InfoCurrency.js +1 -0
- package/esm/graphql/fragments/InfoProvince.js +1 -0
- package/esm/graphql/fragments/KeyValue.js +1 -0
- package/esm/graphql/fragments/LineItemField.js +1 -0
- package/esm/graphql/fragments/MediaFile.js +1 -0
- package/esm/graphql/fragments/MinCurrencyPrice.js +1 -0
- package/esm/graphql/fragments/ProductField.js +1 -0
- package/esm/graphql/fragments/ProductFieldSet.js +1 -0
- package/esm/graphql/fragments/ProductFlat.js +1 -0
- package/esm/graphql/fragments/ProductQuestion.js +1 -0
- package/esm/graphql/fragments/ProductQuestionAnswer.js +1 -0
- package/esm/graphql/fragments/ProductQuestionPage.js +1 -0
- package/esm/graphql/fragments/ProductReview.js +1 -0
- package/esm/graphql/fragments/ProductReviewAnswer.js +1 -0
- package/esm/graphql/fragments/ProductReviewAverageScore.js +1 -0
- package/esm/graphql/fragments/ProductReviewPage.js +1 -0
- package/esm/graphql/fragments/ProductReviewScore.js +1 -0
- package/esm/graphql/fragments/ProductReviewSurveyAnswer.js +1 -0
- package/esm/graphql/fragments/ProductSearchOptionAgg.js +1 -0
- package/esm/graphql/fragments/ProductSearchResult.js +1 -0
- package/esm/graphql/fragments/ReturnReason.js +1 -0
- package/esm/graphql/fragments/ReviewDimension.js +1 -0
- package/esm/graphql/fragments/ReviewDimensionSet.js +1 -0
- package/esm/graphql/fragments/ReviewImagePage.js +1 -0
- package/esm/graphql/fragments/ReviewQuestionProduct.js +1 -0
- package/esm/graphql/fragments/ReviewSettings.js +1 -0
- package/esm/graphql/fragments/SearchProduct.js +1 -0
- package/esm/graphql/fragments/Shop.js +1 -0
- package/esm/graphql/fragments/SubscriptionPlan.js +1 -0
- package/esm/graphql/fragments/SurveyQuestion.js +1 -0
- package/esm/graphql/fragments/TieredPricing.js +1 -0
- package/esm/graphql/fragments/TieredPricingTier.js +1 -0
- package/esm/graphql/fragments/VariantOption.js +1 -0
- package/esm/graphql/operations/ApplyGiftCardMutation.js +1 -0
- package/esm/graphql/operations/AuthRequestMutation.js +1 -0
- package/esm/graphql/operations/CancelOrderMutation.js +1 -0
- package/esm/graphql/operations/CancelSubscriptionMutation.js +1 -0
- package/esm/graphql/operations/ConnectOAuth2Mutation.js +1 -0
- package/esm/graphql/operations/CreateCartMutation.js +23 -0
- package/esm/graphql/operations/CreateFavoriteMutation.js +19 -0
- package/esm/graphql/operations/CreateFileMutation.js +3 -0
- package/esm/graphql/operations/CreatePaymentSourceMutation.js +3 -0
- package/esm/graphql/operations/CreateProductQuestionAnswerMutation.js +1 -0
- package/esm/graphql/operations/CreateProductQuestionMutation.js +5 -0
- package/esm/graphql/operations/CreateProductReviewMutation.js +15 -0
- package/esm/graphql/operations/CreateReturnMutation.js +19 -0
- package/esm/graphql/operations/DeleteFavoriteMutation.js +1 -0
- package/esm/graphql/operations/DeletePaymentSourceMutation.js +1 -0
- package/esm/graphql/operations/DeleteProductQuestionAnswerMutation.js +1 -0
- package/esm/graphql/operations/DeleteProductQuestionMutation.js +1 -0
- package/esm/graphql/operations/DeleteProductReviewMutation.js +1 -0
- package/esm/graphql/operations/DisconnectOAuth2Mutation.js +1 -0
- package/esm/graphql/operations/EditSubscriptionMutation.js +1 -0
- package/esm/graphql/operations/FileUploadedMutation.js +3 -0
- package/esm/graphql/operations/FlagQuestionAnswerMutation.js +1 -0
- package/esm/graphql/operations/FlagQuestionMutation.js +1 -0
- package/esm/graphql/operations/FlagReviewAnswerMutation.js +1 -0
- package/esm/graphql/operations/FlagReviewMutation.js +1 -0
- package/esm/graphql/operations/GetBrandingQuery.js +7 -0
- package/esm/graphql/operations/GetCartQuery.js +23 -0
- package/esm/graphql/operations/GetCustomerAddressesPageDataQuery.js +13 -0
- package/esm/graphql/operations/GetCustomerBalanceHistoryPageQuery.js +3 -0
- package/esm/graphql/operations/GetCustomerBalanceQuery.js +5 -0
- package/esm/graphql/operations/GetCustomerInfoQuery.js +7 -0
- package/esm/graphql/operations/GetCustomerQuery.js +5 -0
- package/esm/graphql/operations/GetFavoritesQuery.js +19 -0
- package/esm/graphql/operations/GetFileStatusQuery.js +3 -0
- package/esm/graphql/operations/GetGatewaysQuery.js +11 -0
- package/esm/graphql/operations/GetInfoCurrenciesQuery.js +3 -0
- package/esm/graphql/operations/GetLastCartQuery.js +23 -0
- package/esm/graphql/operations/GetOrderQuery.js +27 -0
- package/esm/graphql/operations/GetOrdersPageQuery.js +21 -0
- package/esm/graphql/operations/GetPaymentMethodsPageDataQuery.js +15 -0
- package/esm/graphql/operations/GetProductQuestionsPageQuery.js +7 -0
- package/esm/graphql/operations/GetProductReviewImagesPageQuery.js +5 -0
- package/esm/graphql/operations/GetProductReviewsPageQuery.js +17 -0
- package/esm/graphql/operations/GetProvincesQuery.js +3 -0
- package/esm/graphql/operations/GetQuestionQuery.js +5 -0
- package/esm/graphql/operations/GetReturnCreationInfoQuery.js +33 -0
- package/esm/graphql/operations/GetReturnQuery.js +25 -0
- package/esm/graphql/operations/GetReturnsPageQuery.js +19 -0
- package/esm/graphql/operations/GetReviewDimensionsQuery.js +3 -0
- package/esm/graphql/operations/GetReviewQuery.js +15 -0
- package/esm/graphql/operations/GetReviewSettingsQuery.js +9 -0
- package/esm/graphql/operations/GetShopCurrenciesQuery.js +3 -0
- package/esm/graphql/operations/GetShopQuery.js +5 -0
- package/esm/graphql/operations/GetSubscriptionQuery.js +33 -0
- package/esm/graphql/operations/GetSubscriptionsPageQuery.js +19 -0
- package/esm/graphql/operations/GetVariantPageQuery.js +17 -0
- package/esm/graphql/operations/LoadProductNoCustomerQuery.js +59 -0
- package/esm/graphql/operations/LoadProductQuery.js +63 -0
- package/esm/graphql/operations/ModifyCartMutation.js +23 -0
- package/esm/graphql/operations/ModifyCustomerMutation.js +5 -0
- package/esm/graphql/operations/ModifyFavoriteMutation.js +19 -0
- package/esm/graphql/operations/ModifyProductQuestionAnswerMutation.js +1 -0
- package/esm/graphql/operations/ModifyProductQuestionMutation.js +5 -0
- package/esm/graphql/operations/ModifyProductReviewMutation.js +15 -0
- package/esm/graphql/operations/NewPasswordMutation.js +1 -0
- package/esm/graphql/operations/PauseSubscriptionMutation.js +1 -0
- package/esm/graphql/operations/ResetPasswordMutation.js +1 -0
- package/esm/graphql/operations/ResumeSubscriptionMutation.js +1 -0
- package/esm/graphql/operations/SearchProductsAdvancedQuery.js +21 -0
- package/esm/graphql/operations/SearchProductsQuery.js +17 -0
- package/esm/graphql/operations/SearchQuestionsQuery.js +5 -0
- package/esm/graphql/operations/SearchReviewsQuery.js +15 -0
- package/esm/graphql/operations/SignInMutation.js +1 -0
- package/esm/graphql/operations/SignInViaEmailCompleteMutation.js +1 -0
- package/esm/graphql/operations/SignInViaEmailInitMutation.js +1 -0
- package/esm/graphql/operations/SignUpMutation.js +1 -0
- package/esm/graphql/operations/SkipNextSubscriptionMutation.js +1 -0
- package/esm/graphql/operations/UploadFileMutation.js +1 -0
- package/esm/graphql/operations/VerifyCodeMutation.js +1 -0
- package/esm/graphql/operations/VoteQuestionAnswerMutation.js +1 -0
- package/esm/graphql/operations/VoteQuestionMutation.js +1 -0
- package/esm/graphql/operations/VoteReviewAnswerMutation.js +1 -0
- package/esm/graphql/operations/VoteReviewMutation.js +1 -0
- package/esm/graphql/types.js +1 -0
- package/esm/hierarchicalSearchOption.js +43 -0
- package/esm/idgen.js +4 -0
- package/esm/ignoreQueue.js +45 -0
- package/esm/imageAltProps.js +9 -0
- package/esm/invoiceFormat.js +54 -0
- package/esm/isShippingRequired.js +16 -0
- package/esm/isoStripTrailingZeros.js +3 -0
- package/esm/json/commerce.js +3 -0
- package/esm/json/commerceFileUpload.js +43 -0
- package/esm/json/commerceTypes.js +1 -0
- package/esm/json/common.js +309 -0
- package/esm/json/fetchAllItems.js +51 -0
- package/esm/json/mutator.js +952 -0
- package/esm/json/storefront.js +3 -0
- package/esm/json/storefrontTypes.js +1 -0
- package/esm/lastValue.js +12 -0
- package/esm/lineItemPrice.js +106 -0
- package/esm/loadJWT.js +20 -0
- package/esm/mapInvalidInput.js +27 -0
- package/esm/mapResponseData.js +11 -0
- package/esm/mapResponseMultiData.js +10 -0
- package/esm/meanBy.js +11 -0
- package/esm/media.js +12 -0
- package/esm/modules/advancedSearch.js +132 -0
- package/esm/modules/cart.js +699 -0
- package/esm/modules/config/defaultAdvancedSearchGraphQLConfig.js +4 -0
- package/esm/modules/config/defaultCartGraphQLConfig.js +10 -0
- package/esm/modules/config/defaultProductGraphQLConfig.js +44 -0
- package/esm/modules/config/defaultSearchGraphQLConfig.js +4 -0
- package/esm/modules/customer.js +2198 -0
- package/esm/modules/helpers/cartInitOption.js +18 -0
- package/esm/modules/helpers/cookieConsent.js +29 -0
- package/esm/modules/helpers/customerOauth2.js +53 -0
- package/esm/modules/helpers/getOAuth2Hook.js +48 -0
- package/esm/modules/helpers/hookUpAnalytics.js +44 -0
- package/esm/modules/helpers/loadJWT.js +18 -0
- package/esm/modules/helpers/misc.js +49 -0
- package/esm/modules/imageDialog.js +71 -0
- package/esm/modules/persist.js +49 -0
- package/esm/modules/popupMessage.js +17 -0
- package/esm/modules/product.js +1278 -0
- package/esm/modules/recentlyVisitedProducts.js +70 -0
- package/esm/modules/search.js +103 -0
- package/esm/multiResponseToResponse.js +18 -0
- package/esm/nonNull.js +6 -0
- package/esm/oauthState.js +35 -0
- package/esm/orderShippingAddress.js +3 -0
- package/esm/package.json +3 -0
- package/esm/pender.js +11 -0
- package/esm/percentageOff.js +3 -0
- package/esm/popupConnectQueue.js +55 -0
- package/esm/preact/components/SixDigitInput.js +159 -0
- package/esm/preact/effector.js +69 -0
- package/esm/preact/transition/CSSTransition.js +47 -0
- package/esm/preact/transition/Transition.js +100 -0
- package/esm/preact/translateLocalStatic.js +26 -0
- package/esm/productFiltering.js +164 -0
- package/esm/productSEO.js +46 -0
- package/esm/productSorting.js +89 -0
- package/esm/promiseAll.js +11 -0
- package/esm/promiseLimit.js +32 -0
- package/esm/rdsToInitialScores.js +27 -0
- package/esm/react/components/Portal.js +2 -0
- package/esm/react/components/RootCloseWrapper.js +33 -0
- package/esm/react/components/SixDigitInput.js +158 -0
- package/esm/react/contains.js +10 -0
- package/esm/react/popperBinder.js +71 -0
- package/esm/react/rootClose.js +106 -0
- package/esm/react/translateLocalStatic.js +26 -0
- package/esm/react/useAsyncCachedValue.js +10 -0
- package/esm/refreshTimeout.js +21 -0
- package/esm/remoteAuth.js +52 -0
- package/esm/request.js +323 -0
- package/esm/requestDetails.js +69 -0
- package/esm/rfc3339Normalize.js +6 -0
- package/esm/script.js +157 -0
- package/esm/seo.js +1 -0
- package/esm/shopDomain.js +4 -0
- package/esm/shopLinks.js +47 -0
- package/esm/slate.js +364 -0
- package/esm/sleep.js +3 -0
- package/esm/splitBy.js +17 -0
- package/esm/splitName.js +22 -0
- package/esm/stripZeros.js +9 -0
- package/esm/stripeError.js +53 -0
- package/esm/tailSplit.js +8 -0
- package/esm/tieredPrice.js +28 -0
- package/esm/timeIt.js +8 -0
- package/esm/toMajor.js +4 -0
- package/esm/toMinor.js +4 -0
- package/esm/trace.js +37 -0
- package/esm/translateLocale.js +7 -0
- package/esm/traverse.js +10 -0
- package/esm/truncate.js +17 -0
- package/esm/typedLocalStorage.js +24 -0
- package/esm/variantImage.js +22 -0
- package/esm/variantImageURL.js +9 -0
- package/esm/variantImages.js +15 -0
- package/esm/variantInventory.js +38 -0
- package/esm/variantOptions.js +15 -0
- package/esm/variantPrice.js +92 -0
- package/esm/variantPriceCommerce.js +25 -0
- package/esm/variantTitle.js +5 -0
- package/esm/variantTitleFull.js +7 -0
- package/esm/variantURL.js +5 -0
- package/esm/vendor/popper/index.d.ts +160 -0
- package/esm/vendor/popper/index.js +2657 -0
- package/esm/vendor/popper/index.js.map +1 -0
- package/esm/vendor/popper/package.json +3 -0
- package/esm/websocket.js +169 -0
- package/package.json +92 -0
- package/types/actionLock.d.ts +7 -0
- package/types/addEmptyListItem.d.ts +2 -0
- package/types/aggregateOptions.d.ts +33 -0
- package/types/analytics.d.ts +23 -0
- package/types/analyticsProductData.d.ts +38 -0
- package/types/arrayToDict.d.ts +2 -0
- package/types/asyncModuleWrapper.d.ts +13 -0
- package/types/averageReviewScore.d.ts +28 -0
- package/types/buildconfig.d.ts +13 -0
- package/types/cachedLoader.d.ts +10 -0
- package/types/canonicalVariantURL.d.ts +12 -0
- package/types/cartOperation.d.ts +28 -0
- package/types/categorySEO.d.ts +17 -0
- package/types/commonTypes.d.ts +10 -0
- package/types/compact.d.ts +1 -0
- package/types/configLoader.d.ts +53 -0
- package/types/controlledQueue.d.ts +17 -0
- package/types/convertImageURL.d.ts +9 -0
- package/types/dataLoader.d.ts +301 -0
- package/types/defaultVariant.d.ts +9 -0
- package/types/effector/clearOnChangeAfterDelay.d.ts +2 -0
- package/types/effector/combineEvery.d.ts +2 -0
- package/types/effector/combineSome.d.ts +2 -0
- package/types/effector/debounced.d.ts +2 -0
- package/types/effector/form.d.ts +74 -0
- package/types/effector/hideOnChangeAfterDelay.d.ts +6 -0
- package/types/effector/requestResponse.d.ts +9 -0
- package/types/effector/requestResponseMulti.d.ts +7 -0
- package/types/effector/restoreNamed.d.ts +2 -0
- package/types/effector/split.d.ts +7 -0
- package/types/effector/validator.d.ts +14 -0
- package/types/effector/wrapSignInRequired.d.ts +2 -0
- package/types/exceptions.d.ts +2 -0
- package/types/fetchAllItems.d.ts +25 -0
- package/types/file.d.ts +4 -0
- package/types/fileWebsocket.d.ts +6 -0
- package/types/filterFunc.d.ts +8 -0
- package/types/filterFuncBrand.d.ts +3 -0
- package/types/filterFuncCategory.d.ts +3 -0
- package/types/filterFuncContentBlock.d.ts +3 -0
- package/types/filterFuncCustomer.d.ts +3 -0
- package/types/filterFuncDataFeed.d.ts +8 -0
- package/types/filterFuncOrder.d.ts +3 -0
- package/types/filterFuncPreprocess.d.ts +2 -0
- package/types/filterFuncProduct.d.ts +3 -0
- package/types/filterFuncPurchaseOrder.d.ts +3 -0
- package/types/filterFuncSupplier.d.ts +3 -0
- package/types/filterFuncTransfer.d.ts +3 -0
- package/types/formatAbbrevNumber.d.ts +6 -0
- package/types/formatCurrency.d.ts +44 -0
- package/types/formatToJSX.d.ts +24 -0
- package/types/fulfillmentNumber.d.ts +1 -0
- package/types/generateRandomToken.d.ts +1 -0
- package/types/generateUUID.d.ts +1 -0
- package/types/generated/codes.d.ts +234 -0
- package/types/genericFile.d.ts +57 -0
- package/types/getSalesChannelID.d.ts +1 -0
- package/types/getSessionID.d.ts +1 -0
- package/types/getTimezone.d.ts +1 -0
- package/types/graphql/fragments/Branding.d.ts +2 -0
- package/types/graphql/fragments/BrandingField.d.ts +2 -0
- package/types/graphql/fragments/CartCustomItem.d.ts +2 -0
- package/types/graphql/fragments/CartOrder.d.ts +2 -0
- package/types/graphql/fragments/CartVariant.d.ts +2 -0
- package/types/graphql/fragments/CartVariantFull.d.ts +2 -0
- package/types/graphql/fragments/Category.d.ts +2 -0
- package/types/graphql/fragments/CommonCartVariant.d.ts +2 -0
- package/types/graphql/fragments/Currency.d.ts +2 -0
- package/types/graphql/fragments/CurrencyPrice.d.ts +2 -0
- package/types/graphql/fragments/CustomField.d.ts +2 -0
- package/types/graphql/fragments/CustomFieldObjects.d.ts +2 -0
- package/types/graphql/fragments/Customer.d.ts +2 -0
- package/types/graphql/fragments/CustomerBalance.d.ts +2 -0
- package/types/graphql/fragments/CustomerBalanceHistory.d.ts +2 -0
- package/types/graphql/fragments/CustomerFavorite.d.ts +2 -0
- package/types/graphql/fragments/CustomerFavoriteShort.d.ts +2 -0
- package/types/graphql/fragments/CustomerOAuthProvider.d.ts +2 -0
- package/types/graphql/fragments/CustomerOrderBrief.d.ts +2 -0
- package/types/graphql/fragments/CustomerOrderFulfillment.d.ts +2 -0
- package/types/graphql/fragments/CustomerOrderFull.d.ts +2 -0
- package/types/graphql/fragments/CustomerPaymentSource.d.ts +2 -0
- package/types/graphql/fragments/CustomerReturnBrief.d.ts +2 -0
- package/types/graphql/fragments/CustomerReturnFull.d.ts +2 -0
- package/types/graphql/fragments/CustomerReturnPolicy.d.ts +2 -0
- package/types/graphql/fragments/CustomerSubscriptionBrief.d.ts +2 -0
- package/types/graphql/fragments/CustomerSubscriptionFull.d.ts +2 -0
- package/types/graphql/fragments/File.d.ts +2 -0
- package/types/graphql/fragments/FileForUpload.d.ts +2 -0
- package/types/graphql/fragments/FileNoFallback.d.ts +2 -0
- package/types/graphql/fragments/FullAddress.d.ts +2 -0
- package/types/graphql/fragments/Gateway.d.ts +2 -0
- package/types/graphql/fragments/GatewayManual.d.ts +2 -0
- package/types/graphql/fragments/GatewayPaypal.d.ts +2 -0
- package/types/graphql/fragments/GatewayStripe.d.ts +2 -0
- package/types/graphql/fragments/GatewayTest.d.ts +2 -0
- package/types/graphql/fragments/IPAndUAInfo.d.ts +2 -0
- package/types/graphql/fragments/InfoCountry.d.ts +2 -0
- package/types/graphql/fragments/InfoCountryDedupField.d.ts +2 -0
- package/types/graphql/fragments/InfoCurrency.d.ts +2 -0
- package/types/graphql/fragments/InfoProvince.d.ts +2 -0
- package/types/graphql/fragments/KeyValue.d.ts +2 -0
- package/types/graphql/fragments/LineItemField.d.ts +2 -0
- package/types/graphql/fragments/MediaFile.d.ts +2 -0
- package/types/graphql/fragments/MinCurrencyPrice.d.ts +2 -0
- package/types/graphql/fragments/ProductField.d.ts +2 -0
- package/types/graphql/fragments/ProductFieldSet.d.ts +2 -0
- package/types/graphql/fragments/ProductFlat.d.ts +2 -0
- package/types/graphql/fragments/ProductQuestion.d.ts +2 -0
- package/types/graphql/fragments/ProductQuestionAnswer.d.ts +2 -0
- package/types/graphql/fragments/ProductQuestionPage.d.ts +2 -0
- package/types/graphql/fragments/ProductReview.d.ts +2 -0
- package/types/graphql/fragments/ProductReviewAnswer.d.ts +2 -0
- package/types/graphql/fragments/ProductReviewAverageScore.d.ts +2 -0
- package/types/graphql/fragments/ProductReviewPage.d.ts +2 -0
- package/types/graphql/fragments/ProductReviewScore.d.ts +2 -0
- package/types/graphql/fragments/ProductReviewSurveyAnswer.d.ts +2 -0
- package/types/graphql/fragments/ProductSearchOptionAgg.d.ts +2 -0
- package/types/graphql/fragments/ProductSearchResult.d.ts +2 -0
- package/types/graphql/fragments/ReturnReason.d.ts +2 -0
- package/types/graphql/fragments/ReviewDimension.d.ts +2 -0
- package/types/graphql/fragments/ReviewDimensionSet.d.ts +2 -0
- package/types/graphql/fragments/ReviewImagePage.d.ts +2 -0
- package/types/graphql/fragments/ReviewQuestionProduct.d.ts +2 -0
- package/types/graphql/fragments/ReviewSettings.d.ts +2 -0
- package/types/graphql/fragments/SearchProduct.d.ts +2 -0
- package/types/graphql/fragments/Shop.d.ts +2 -0
- package/types/graphql/fragments/SubscriptionPlan.d.ts +2 -0
- package/types/graphql/fragments/SurveyQuestion.d.ts +2 -0
- package/types/graphql/fragments/TieredPricing.d.ts +2 -0
- package/types/graphql/fragments/TieredPricingTier.d.ts +2 -0
- package/types/graphql/fragments/VariantOption.d.ts +2 -0
- package/types/graphql/operations/ApplyGiftCardMutation.d.ts +3 -0
- package/types/graphql/operations/AuthRequestMutation.d.ts +3 -0
- package/types/graphql/operations/CancelOrderMutation.d.ts +3 -0
- package/types/graphql/operations/CancelSubscriptionMutation.d.ts +3 -0
- package/types/graphql/operations/ConnectOAuth2Mutation.d.ts +3 -0
- package/types/graphql/operations/CreateCartMutation.d.ts +3 -0
- package/types/graphql/operations/CreateFavoriteMutation.d.ts +3 -0
- package/types/graphql/operations/CreateFileMutation.d.ts +3 -0
- package/types/graphql/operations/CreatePaymentSourceMutation.d.ts +3 -0
- package/types/graphql/operations/CreateProductQuestionAnswerMutation.d.ts +3 -0
- package/types/graphql/operations/CreateProductQuestionMutation.d.ts +3 -0
- package/types/graphql/operations/CreateProductReviewMutation.d.ts +3 -0
- package/types/graphql/operations/CreateReturnMutation.d.ts +3 -0
- package/types/graphql/operations/DeleteFavoriteMutation.d.ts +3 -0
- package/types/graphql/operations/DeletePaymentSourceMutation.d.ts +3 -0
- package/types/graphql/operations/DeleteProductQuestionAnswerMutation.d.ts +3 -0
- package/types/graphql/operations/DeleteProductQuestionMutation.d.ts +3 -0
- package/types/graphql/operations/DeleteProductReviewMutation.d.ts +3 -0
- package/types/graphql/operations/DisconnectOAuth2Mutation.d.ts +3 -0
- package/types/graphql/operations/EditSubscriptionMutation.d.ts +3 -0
- package/types/graphql/operations/FileUploadedMutation.d.ts +3 -0
- package/types/graphql/operations/FlagQuestionAnswerMutation.d.ts +3 -0
- package/types/graphql/operations/FlagQuestionMutation.d.ts +3 -0
- package/types/graphql/operations/FlagReviewAnswerMutation.d.ts +3 -0
- package/types/graphql/operations/FlagReviewMutation.d.ts +3 -0
- package/types/graphql/operations/GetBrandingQuery.d.ts +3 -0
- package/types/graphql/operations/GetCartQuery.d.ts +3 -0
- package/types/graphql/operations/GetCustomerAddressesPageDataQuery.d.ts +3 -0
- package/types/graphql/operations/GetCustomerBalanceHistoryPageQuery.d.ts +3 -0
- package/types/graphql/operations/GetCustomerBalanceQuery.d.ts +3 -0
- package/types/graphql/operations/GetCustomerInfoQuery.d.ts +3 -0
- package/types/graphql/operations/GetCustomerQuery.d.ts +3 -0
- package/types/graphql/operations/GetFavoritesQuery.d.ts +3 -0
- package/types/graphql/operations/GetFileStatusQuery.d.ts +3 -0
- package/types/graphql/operations/GetGatewaysQuery.d.ts +3 -0
- package/types/graphql/operations/GetInfoCurrenciesQuery.d.ts +3 -0
- package/types/graphql/operations/GetLastCartQuery.d.ts +3 -0
- package/types/graphql/operations/GetOrderQuery.d.ts +3 -0
- package/types/graphql/operations/GetOrdersPageQuery.d.ts +3 -0
- package/types/graphql/operations/GetPaymentMethodsPageDataQuery.d.ts +3 -0
- package/types/graphql/operations/GetProductQuestionsPageQuery.d.ts +3 -0
- package/types/graphql/operations/GetProductReviewImagesPageQuery.d.ts +3 -0
- package/types/graphql/operations/GetProductReviewsPageQuery.d.ts +3 -0
- package/types/graphql/operations/GetProvincesQuery.d.ts +3 -0
- package/types/graphql/operations/GetQuestionQuery.d.ts +3 -0
- package/types/graphql/operations/GetReturnCreationInfoQuery.d.ts +3 -0
- package/types/graphql/operations/GetReturnQuery.d.ts +3 -0
- package/types/graphql/operations/GetReturnsPageQuery.d.ts +3 -0
- package/types/graphql/operations/GetReviewDimensionsQuery.d.ts +3 -0
- package/types/graphql/operations/GetReviewQuery.d.ts +3 -0
- package/types/graphql/operations/GetReviewSettingsQuery.d.ts +3 -0
- package/types/graphql/operations/GetShopCurrenciesQuery.d.ts +3 -0
- package/types/graphql/operations/GetShopQuery.d.ts +3 -0
- package/types/graphql/operations/GetSubscriptionQuery.d.ts +3 -0
- package/types/graphql/operations/GetSubscriptionsPageQuery.d.ts +3 -0
- package/types/graphql/operations/GetVariantPageQuery.d.ts +3 -0
- package/types/graphql/operations/LoadProductNoCustomerQuery.d.ts +3 -0
- package/types/graphql/operations/LoadProductQuery.d.ts +3 -0
- package/types/graphql/operations/ModifyCartMutation.d.ts +3 -0
- package/types/graphql/operations/ModifyCustomerMutation.d.ts +3 -0
- package/types/graphql/operations/ModifyFavoriteMutation.d.ts +3 -0
- package/types/graphql/operations/ModifyProductQuestionAnswerMutation.d.ts +3 -0
- package/types/graphql/operations/ModifyProductQuestionMutation.d.ts +3 -0
- package/types/graphql/operations/ModifyProductReviewMutation.d.ts +3 -0
- package/types/graphql/operations/NewPasswordMutation.d.ts +3 -0
- package/types/graphql/operations/PauseSubscriptionMutation.d.ts +3 -0
- package/types/graphql/operations/ResetPasswordMutation.d.ts +3 -0
- package/types/graphql/operations/ResumeSubscriptionMutation.d.ts +3 -0
- package/types/graphql/operations/SearchProductsAdvancedQuery.d.ts +3 -0
- package/types/graphql/operations/SearchProductsQuery.d.ts +3 -0
- package/types/graphql/operations/SearchQuestionsQuery.d.ts +3 -0
- package/types/graphql/operations/SearchReviewsQuery.d.ts +3 -0
- package/types/graphql/operations/SignInMutation.d.ts +3 -0
- package/types/graphql/operations/SignInViaEmailCompleteMutation.d.ts +3 -0
- package/types/graphql/operations/SignInViaEmailInitMutation.d.ts +3 -0
- package/types/graphql/operations/SignUpMutation.d.ts +3 -0
- package/types/graphql/operations/SkipNextSubscriptionMutation.d.ts +3 -0
- package/types/graphql/operations/UploadFileMutation.d.ts +3 -0
- package/types/graphql/operations/VerifyCodeMutation.d.ts +3 -0
- package/types/graphql/operations/VoteQuestionAnswerMutation.d.ts +3 -0
- package/types/graphql/operations/VoteQuestionMutation.d.ts +3 -0
- package/types/graphql/operations/VoteReviewAnswerMutation.d.ts +3 -0
- package/types/graphql/operations/VoteReviewMutation.d.ts +3 -0
- package/types/graphql/types.d.ts +2471 -0
- package/types/hierarchicalSearchOption.d.ts +14 -0
- package/types/idgen.d.ts +1 -0
- package/types/ignoreQueue.d.ts +10 -0
- package/types/imageAltProps.d.ts +11 -0
- package/types/invoiceFormat.d.ts +32 -0
- package/types/isShippingRequired.d.ts +14 -0
- package/types/isoStripTrailingZeros.d.ts +1 -0
- package/types/json/commerce.d.ts +3 -0
- package/types/json/commerceFileUpload.d.ts +20 -0
- package/types/json/commerceTypes.d.ts +15422 -0
- package/types/json/common.d.ts +81 -0
- package/types/json/fetchAllItems.d.ts +15 -0
- package/types/json/mutator.d.ts +238 -0
- package/types/json/storefront.d.ts +3 -0
- package/types/json/storefrontTypes.d.ts +5059 -0
- package/types/lastValue.d.ts +10 -0
- package/types/lineItemPrice.d.ts +18 -0
- package/types/loadJWT.d.ts +1 -0
- package/types/mapInvalidInput.d.ts +15 -0
- package/types/mapResponseData.d.ts +3 -0
- package/types/mapResponseMultiData.d.ts +2 -0
- package/types/meanBy.d.ts +1 -0
- package/types/media.d.ts +3 -0
- package/types/modules/advancedSearch.d.ts +78 -0
- package/types/modules/cart.d.ts +263 -0
- package/types/modules/config/defaultAdvancedSearchGraphQLConfig.d.ts +3 -0
- package/types/modules/config/defaultCartGraphQLConfig.d.ts +6 -0
- package/types/modules/config/defaultProductGraphQLConfig.d.ts +23 -0
- package/types/modules/config/defaultSearchGraphQLConfig.d.ts +3 -0
- package/types/modules/customer.d.ts +624 -0
- package/types/modules/helpers/cartInitOption.d.ts +2 -0
- package/types/modules/helpers/cookieConsent.d.ts +4 -0
- package/types/modules/helpers/customerOauth2.d.ts +19 -0
- package/types/modules/helpers/getOAuth2Hook.d.ts +22 -0
- package/types/modules/helpers/hookUpAnalytics.d.ts +21 -0
- package/types/modules/helpers/loadJWT.d.ts +1 -0
- package/types/modules/helpers/misc.d.ts +14 -0
- package/types/modules/imageDialog.d.ts +31 -0
- package/types/modules/persist.d.ts +13 -0
- package/types/modules/popupMessage.d.ts +9 -0
- package/types/modules/product.d.ts +320 -0
- package/types/modules/recentlyVisitedProducts.d.ts +25 -0
- package/types/modules/search.d.ts +54 -0
- package/types/multiResponseToResponse.d.ts +2 -0
- package/types/nonNull.d.ts +1 -0
- package/types/oauthState.d.ts +3 -0
- package/types/orderShippingAddress.d.ts +6 -0
- package/types/pender.d.ts +5 -0
- package/types/percentageOff.d.ts +1 -0
- package/types/popupConnectQueue.d.ts +41 -0
- package/types/preact/components/SixDigitInput.d.ts +28 -0
- package/types/preact/effector.d.ts +8 -0
- package/types/preact/transition/CSSTransition.d.ts +8 -0
- package/types/preact/transition/Transition.d.ts +30 -0
- package/types/preact/translateLocalStatic.d.ts +4 -0
- package/types/productFiltering.d.ts +58 -0
- package/types/productSEO.d.ts +59 -0
- package/types/productSorting.d.ts +35 -0
- package/types/promiseAll.d.ts +5 -0
- package/types/promiseLimit.d.ts +13 -0
- package/types/rdsToInitialScores.d.ts +26 -0
- package/types/react/components/Portal.d.ts +2 -0
- package/types/react/components/RootCloseWrapper.d.ts +18 -0
- package/types/react/components/SixDigitInput.d.ts +27 -0
- package/types/react/contains.d.ts +1 -0
- package/types/react/popperBinder.d.ts +23 -0
- package/types/react/rootClose.d.ts +18 -0
- package/types/react/translateLocalStatic.d.ts +4 -0
- package/types/react/useAsyncCachedValue.d.ts +2 -0
- package/types/refreshTimeout.d.ts +5 -0
- package/types/remoteAuth.d.ts +14 -0
- package/types/request.d.ts +104 -0
- package/types/requestDetails.d.ts +16 -0
- package/types/rfc3339Normalize.d.ts +1 -0
- package/types/script.d.ts +36 -0
- package/types/seo.d.ts +5 -0
- package/types/shopDomain.d.ts +7 -0
- package/types/shopLinks.d.ts +14 -0
- package/types/slate.d.ts +47 -0
- package/types/sleep.d.ts +1 -0
- package/types/splitBy.d.ts +1 -0
- package/types/splitName.d.ts +2 -0
- package/types/stripZeros.d.ts +1 -0
- package/types/stripeError.d.ts +14 -0
- package/types/tailSplit.d.ts +1 -0
- package/types/tieredPrice.d.ts +2 -0
- package/types/timeIt.d.ts +1 -0
- package/types/toMajor.d.ts +8 -0
- package/types/toMinor.d.ts +8 -0
- package/types/trace.d.ts +17 -0
- package/types/translateLocale.d.ts +2 -0
- package/types/traverse.d.ts +1 -0
- package/types/truncate.d.ts +7 -0
- package/types/typedLocalStorage.d.ts +3 -0
- package/types/variantImage.d.ts +16 -0
- package/types/variantImageURL.d.ts +25 -0
- package/types/variantImages.d.ts +11 -0
- package/types/variantInventory.d.ts +14 -0
- package/types/variantOptions.d.ts +18 -0
- package/types/variantPrice.d.ts +37 -0
- package/types/variantPriceCommerce.d.ts +26 -0
- package/types/variantTitle.d.ts +7 -0
- package/types/variantTitleFull.d.ts +11 -0
- package/types/variantURL.d.ts +7 -0
- package/types/websocket.d.ts +33 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const DOCUMENT_POSITION_CONTAINED_BY = 16;
|
|
2
|
+
export function contains(container, elem) {
|
|
3
|
+
if (!container || !elem)
|
|
4
|
+
return false;
|
|
5
|
+
if (container.contains) {
|
|
6
|
+
return container.contains(elem);
|
|
7
|
+
}
|
|
8
|
+
const comparison = container.compareDocumentPosition(elem);
|
|
9
|
+
return comparison === 0 || (comparison & DOCUMENT_POSITION_CONTAINED_BY) !== 0;
|
|
10
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import ReactDOM from "react-dom";
|
|
2
|
+
import Popper from "../vendor/popper/index.js";
|
|
3
|
+
export class PopperBinder {
|
|
4
|
+
params;
|
|
5
|
+
popper = null;
|
|
6
|
+
triggerRef = null;
|
|
7
|
+
menuRef = null;
|
|
8
|
+
onUpdateCallbacks = [];
|
|
9
|
+
constructor(params) {
|
|
10
|
+
this.params = params;
|
|
11
|
+
}
|
|
12
|
+
handleUpdateMenuRef = (e) => {
|
|
13
|
+
this.menuRef = e;
|
|
14
|
+
this.hookPopper(this.triggerRef, this.menuRef);
|
|
15
|
+
};
|
|
16
|
+
handleUpdateTriggerRef = (e) => {
|
|
17
|
+
this.triggerRef = e;
|
|
18
|
+
this.hookPopper(this.triggerRef, this.menuRef);
|
|
19
|
+
};
|
|
20
|
+
addOnUpdateCallback(newCB) {
|
|
21
|
+
if (this.onUpdateCallbacks.some((cb) => cb === newCB))
|
|
22
|
+
return;
|
|
23
|
+
this.onUpdateCallbacks.push(newCB);
|
|
24
|
+
}
|
|
25
|
+
removeOnUpdateCallback(oldCB) {
|
|
26
|
+
const idx = this.onUpdateCallbacks.findIndex((cb) => cb === oldCB);
|
|
27
|
+
if (idx !== -1)
|
|
28
|
+
this.onUpdateCallbacks.splice(idx, 1);
|
|
29
|
+
}
|
|
30
|
+
handleUpdate = () => {
|
|
31
|
+
for (const cb of this.onUpdateCallbacks)
|
|
32
|
+
cb();
|
|
33
|
+
};
|
|
34
|
+
hookPopper(triggerRef, menuRef) {
|
|
35
|
+
const { noFlip, scrollFlip, placement, parentWidth } = this.params;
|
|
36
|
+
if (this.popper && (!triggerRef || !menuRef)) {
|
|
37
|
+
this.popper.destroy();
|
|
38
|
+
this.popper = null;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (!this.popper && triggerRef && menuRef) {
|
|
42
|
+
const triggerEl = ReactDOM.findDOMNode(triggerRef);
|
|
43
|
+
const menuEl = ReactDOM.findDOMNode(menuRef);
|
|
44
|
+
this.popper = new Popper(triggerEl, menuEl, {
|
|
45
|
+
onUpdate: this.handleUpdate,
|
|
46
|
+
placement: placement || "bottom-end",
|
|
47
|
+
modifiers: {
|
|
48
|
+
hide: { enabled: false },
|
|
49
|
+
preventOverflow: { enabled: false },
|
|
50
|
+
flip: { enabled: !noFlip, boundariesElement: scrollFlip ? "scrollParent" : "viewport" },
|
|
51
|
+
...(parentWidth
|
|
52
|
+
? {
|
|
53
|
+
applyWidthToStyle: {
|
|
54
|
+
enabled: true,
|
|
55
|
+
fn: (data) => {
|
|
56
|
+
data.styles.width = `${data.offsets.reference.width}`;
|
|
57
|
+
return data;
|
|
58
|
+
},
|
|
59
|
+
order: 890,
|
|
60
|
+
},
|
|
61
|
+
}
|
|
62
|
+
: {}),
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
update() {
|
|
68
|
+
if (this.popper)
|
|
69
|
+
this.popper.update();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import ReactDOM from "react-dom";
|
|
2
|
+
import { contains } from "./contains.js";
|
|
3
|
+
import { generateUUID } from "../generateUUID.js";
|
|
4
|
+
const escapeKeyCode = 27;
|
|
5
|
+
function isLeftClickEvent(event) {
|
|
6
|
+
return event.button === 0;
|
|
7
|
+
}
|
|
8
|
+
function isModifierEvent(event) {
|
|
9
|
+
return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
|
|
10
|
+
}
|
|
11
|
+
function isWidthBelowWidth(comp) {
|
|
12
|
+
const w = comp?.opts?.ignoreBelowWidth;
|
|
13
|
+
if (w === undefined)
|
|
14
|
+
return false;
|
|
15
|
+
return window.innerWidth < w;
|
|
16
|
+
}
|
|
17
|
+
function isWidthAboveWidth(comp) {
|
|
18
|
+
const w = comp?.opts?.ignoreAboveWidth;
|
|
19
|
+
if (w === undefined)
|
|
20
|
+
return false;
|
|
21
|
+
return window.innerWidth >= w;
|
|
22
|
+
}
|
|
23
|
+
function shouldDoNothing(event, hierarchical, trackedComponents) {
|
|
24
|
+
const len = trackedComponents.length;
|
|
25
|
+
const last = len > 0 ? trackedComponents[len - 1] : undefined;
|
|
26
|
+
if (isWidthBelowWidth(last) || isWidthAboveWidth(last))
|
|
27
|
+
return true;
|
|
28
|
+
const tag = last?.tag;
|
|
29
|
+
const group = trackedComponents.filter((comp) => comp.tag === tag);
|
|
30
|
+
return (isModifierEvent(event) ||
|
|
31
|
+
!isLeftClickEvent(event) ||
|
|
32
|
+
(hierarchical && len > 0
|
|
33
|
+
? group.some((comp) => contains(ReactDOM.findDOMNode(comp.instance), event.target))
|
|
34
|
+
: trackedComponents.some((comp) => contains(ReactDOM.findDOMNode(comp.instance), event.target))));
|
|
35
|
+
}
|
|
36
|
+
export class RootCloseTracker {
|
|
37
|
+
hierarchical;
|
|
38
|
+
mouseDownStatus = "do_nothing";
|
|
39
|
+
trackedComponents = [];
|
|
40
|
+
constructor(hierarchical) {
|
|
41
|
+
this.hierarchical = hierarchical;
|
|
42
|
+
}
|
|
43
|
+
addTrackedComponent(v, tag, onRootClose, opts) {
|
|
44
|
+
this.trackedComponents.push({ instance: v, onRootClose, tag: tag || generateUUID(), opts });
|
|
45
|
+
if (this.trackedComponents.length === 1) {
|
|
46
|
+
// added first one, setup event listeners
|
|
47
|
+
this.addEventListeners();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
removeTrackedComponent(v) {
|
|
51
|
+
const i = this.trackedComponents.findIndex((comp) => comp.instance === v);
|
|
52
|
+
if (i !== -1) {
|
|
53
|
+
this.trackedComponents.splice(i, 1);
|
|
54
|
+
}
|
|
55
|
+
if (this.trackedComponents.length === 0) {
|
|
56
|
+
// removed last one, remove event listeners
|
|
57
|
+
this.removeEventListeners();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
handleMouseDownCapture = (e) => {
|
|
61
|
+
const len = this.trackedComponents.length;
|
|
62
|
+
if (len === 0)
|
|
63
|
+
return;
|
|
64
|
+
this.mouseDownStatus = shouldDoNothing(e, this.hierarchical, this.trackedComponents) ? "do_nothing" : "close";
|
|
65
|
+
};
|
|
66
|
+
handleClickCapture = (e) => {
|
|
67
|
+
const len = this.trackedComponents.length;
|
|
68
|
+
if (len === 0)
|
|
69
|
+
return;
|
|
70
|
+
const shouldClose = !shouldDoNothing(e, this.hierarchical, this.trackedComponents);
|
|
71
|
+
if (shouldClose && this.mouseDownStatus === "close") {
|
|
72
|
+
if (this.hierarchical && len > 1) {
|
|
73
|
+
e.preventDefault();
|
|
74
|
+
e.stopPropagation();
|
|
75
|
+
}
|
|
76
|
+
this.trackedComponents[len - 1].onRootClose();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
handleKeyUp = (e) => {
|
|
80
|
+
const len = this.trackedComponents.length;
|
|
81
|
+
const last = len > 0 ? this.trackedComponents[len - 1] : undefined;
|
|
82
|
+
if (isWidthBelowWidth(last) || isWidthAboveWidth(last))
|
|
83
|
+
return;
|
|
84
|
+
if (e.keyCode === escapeKeyCode && last) {
|
|
85
|
+
last.onRootClose();
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
addEventListeners() {
|
|
89
|
+
document.addEventListener("mousedown", this.handleMouseDownCapture, true);
|
|
90
|
+
document.addEventListener("click", this.handleClickCapture, true);
|
|
91
|
+
document.addEventListener("keyup", this.handleKeyUp);
|
|
92
|
+
// we took root close wrapper from some other project and it had those mobile safari hacks, I
|
|
93
|
+
// wasn't able to find the exact details on what it does and whether it's even still relevant today
|
|
94
|
+
// hence commenting it out for now
|
|
95
|
+
// if ("ontouchstart" in document.documentElement) {
|
|
96
|
+
// this.mobileSafariHackListeners = [].slice.call(document.body.children).map(el => listen(el, "mousemove", noop));
|
|
97
|
+
// }
|
|
98
|
+
}
|
|
99
|
+
removeEventListeners() {
|
|
100
|
+
document.removeEventListener("keyup", this.handleKeyUp);
|
|
101
|
+
document.removeEventListener("click", this.handleClickCapture, true);
|
|
102
|
+
document.removeEventListener("mousedown", this.handleMouseDownCapture, true);
|
|
103
|
+
// if (this.mobileSafariHackListeners)
|
|
104
|
+
// this.mobileSafariHackListeners.forEach(remove => remove())
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jsx React.createElement
|
|
3
|
+
* @jsxFrag React.Fragment
|
|
4
|
+
*/
|
|
5
|
+
import React, { cloneElement, isValidElement } from "react";
|
|
6
|
+
import { format } from "../formatToJSX.js";
|
|
7
|
+
import { getLocale } from "../translateLocale.js";
|
|
8
|
+
const formatJSXConfig = {
|
|
9
|
+
cloneElement,
|
|
10
|
+
isValidElement,
|
|
11
|
+
toFragment: (v) => React.createElement(React.Fragment, null, v),
|
|
12
|
+
};
|
|
13
|
+
export function makeT(perLocaleData) {
|
|
14
|
+
return (template, ...args) => {
|
|
15
|
+
const locale = getLocale();
|
|
16
|
+
let pat = template;
|
|
17
|
+
if (locale !== "en") {
|
|
18
|
+
pat = perLocaleData[locale]?.[template];
|
|
19
|
+
if (!pat) {
|
|
20
|
+
console.warn(`missing translation string for "${locale}" locale: ${template}`);
|
|
21
|
+
pat = template;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return format(formatJSXConfig, pat, ...args);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function refreshTimeout(f, delayMs) {
|
|
2
|
+
let timeout;
|
|
3
|
+
const ff = () => {
|
|
4
|
+
timeout = undefined;
|
|
5
|
+
f();
|
|
6
|
+
};
|
|
7
|
+
timeout = setTimeout(ff, delayMs);
|
|
8
|
+
return {
|
|
9
|
+
clear: () => {
|
|
10
|
+
if (timeout)
|
|
11
|
+
clearTimeout(timeout);
|
|
12
|
+
timeout = undefined;
|
|
13
|
+
},
|
|
14
|
+
refresh: () => {
|
|
15
|
+
if (timeout) {
|
|
16
|
+
clearTimeout(timeout);
|
|
17
|
+
timeout = setTimeout(ff, delayMs);
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import Postmate from "postmate";
|
|
2
|
+
import jwtDecode from "jwt-decode";
|
|
3
|
+
import { getSalesChannelID } from "./getSalesChannelID.js";
|
|
4
|
+
import { getSessionID } from "./getSessionID.js";
|
|
5
|
+
import { sleep } from "./sleep.js";
|
|
6
|
+
export function authFromJWT(jwt) {
|
|
7
|
+
let customerID = "";
|
|
8
|
+
if (jwt) {
|
|
9
|
+
try {
|
|
10
|
+
const data = jwtDecode(jwt);
|
|
11
|
+
customerID = data.customer_id;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
// do nothing
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return jwt && customerID ? { kind: "authorized", jwt, customerID, customerEmail: "" } : { kind: "not_authorized" };
|
|
18
|
+
}
|
|
19
|
+
let globalPostmate;
|
|
20
|
+
export function getRemote(url) {
|
|
21
|
+
if (!globalPostmate) {
|
|
22
|
+
let el = document.getElementById("remote-container");
|
|
23
|
+
if (!el) {
|
|
24
|
+
el = document.createElement("div");
|
|
25
|
+
el.style.display = "none";
|
|
26
|
+
document.body.appendChild(el);
|
|
27
|
+
}
|
|
28
|
+
globalPostmate = new Postmate({
|
|
29
|
+
container: el,
|
|
30
|
+
url,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return globalPostmate;
|
|
34
|
+
}
|
|
35
|
+
export function setRemoteAuth(pm, jwt, timeout = 3000) {
|
|
36
|
+
return Promise.race([
|
|
37
|
+
pm
|
|
38
|
+
.then((pm) => {
|
|
39
|
+
pm.call("setAuth", authFromJWT(jwt));
|
|
40
|
+
const sessionID = getSessionID();
|
|
41
|
+
if (sessionID) {
|
|
42
|
+
pm.call("setSessionID", sessionID);
|
|
43
|
+
}
|
|
44
|
+
const salesChannelID = getSalesChannelID();
|
|
45
|
+
if (salesChannelID) {
|
|
46
|
+
pm.call("setSalesChannelID", salesChannelID);
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
.then(() => "success"),
|
|
50
|
+
sleep(timeout).then(() => "timeout"),
|
|
51
|
+
]);
|
|
52
|
+
}
|
package/esm/request.js
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { ErrorCode } from "./generated/codes.js";
|
|
2
|
+
import { BUILD_CONFIG } from "./buildconfig.js";
|
|
3
|
+
import { requestDetails } from "./requestDetails.js";
|
|
4
|
+
import { generateUUID } from "./generateUUID.js";
|
|
5
|
+
import { getSalesChannelID } from "./getSalesChannelID.js";
|
|
6
|
+
import { getSessionID } from "./getSessionID.js";
|
|
7
|
+
import { nonNull } from "./nonNull.js";
|
|
8
|
+
import { sleep } from "./sleep.js";
|
|
9
|
+
export const defaultNextTryInMS = (n) => {
|
|
10
|
+
switch (n) {
|
|
11
|
+
case 0:
|
|
12
|
+
return 100;
|
|
13
|
+
case 1:
|
|
14
|
+
return 200;
|
|
15
|
+
case 2:
|
|
16
|
+
return 500;
|
|
17
|
+
case 3:
|
|
18
|
+
return 1000;
|
|
19
|
+
case 4:
|
|
20
|
+
default:
|
|
21
|
+
return 2000;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export const defaultTimeoutMS = (n) => {
|
|
25
|
+
switch (n) {
|
|
26
|
+
case 0:
|
|
27
|
+
return 3000;
|
|
28
|
+
case 1:
|
|
29
|
+
return 6000;
|
|
30
|
+
case 2:
|
|
31
|
+
default:
|
|
32
|
+
return 9000;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
export const extendedTimeoutMS = (n) => {
|
|
36
|
+
switch (n) {
|
|
37
|
+
case 0:
|
|
38
|
+
return 18000;
|
|
39
|
+
case 1:
|
|
40
|
+
return 18000 * 2;
|
|
41
|
+
case 2:
|
|
42
|
+
default:
|
|
43
|
+
return 18000 * 3;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
function jitter(v) {
|
|
47
|
+
const vv = v / 2;
|
|
48
|
+
return vv + Math.round(Math.random() * vv);
|
|
49
|
+
}
|
|
50
|
+
const neverPromise = new Promise(() => { });
|
|
51
|
+
export async function backoffRetry(cb, opts) {
|
|
52
|
+
const tries = opts ? opts.numTries || 5 : 5;
|
|
53
|
+
let tooManyRequestsCount = 0;
|
|
54
|
+
let i = 0;
|
|
55
|
+
while (true) {
|
|
56
|
+
const nextTryInMS = jitter((opts && opts.getNextTryInMS ? opts.getNextTryInMS : defaultNextTryInMS)(i));
|
|
57
|
+
const timeoutMS = (opts && opts.getTimeoutMS ? opts.getTimeoutMS : defaultTimeoutMS)(i);
|
|
58
|
+
const result = await cb(timeoutMS);
|
|
59
|
+
const info = { result, nextTryInMS, attemptNumber: i + 1, totalAttempts: tries };
|
|
60
|
+
opts?.reportResult?.(info);
|
|
61
|
+
if (result.type === "exhausted") {
|
|
62
|
+
tooManyRequestsCount++;
|
|
63
|
+
await sleep(jitter(500 * tooManyRequestsCount));
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (result.type === "expected" || i === tries - 1) {
|
|
67
|
+
return result.value;
|
|
68
|
+
}
|
|
69
|
+
await Promise.race([sleep(nextTryInMS), opts?.forceNextTry?.(info) || neverPromise]);
|
|
70
|
+
i++;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//=====================================================================================================
|
|
74
|
+
//=====================================================================================================
|
|
75
|
+
function canContainFields(v) {
|
|
76
|
+
return typeof v === "object" && v !== null;
|
|
77
|
+
}
|
|
78
|
+
function isGraphQLData(body) {
|
|
79
|
+
if (!canContainFields(body))
|
|
80
|
+
return false;
|
|
81
|
+
if (body.data !== undefined)
|
|
82
|
+
return true;
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
function isGraphQLError(body) {
|
|
86
|
+
if (!canContainFields(body))
|
|
87
|
+
return false;
|
|
88
|
+
if (body.errors !== undefined && Array.isArray(body.errors))
|
|
89
|
+
return true;
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
function addAuthMaybe(headers, opts) {
|
|
93
|
+
if (opts?.authToken)
|
|
94
|
+
headers["Authorization"] = "Bearer " + opts.authToken;
|
|
95
|
+
}
|
|
96
|
+
function addSessionIDMaybe(headers, opts) {
|
|
97
|
+
const sessionID = opts?.sessionID || getSessionID();
|
|
98
|
+
if (sessionID)
|
|
99
|
+
headers["Session-Id"] = sessionID;
|
|
100
|
+
}
|
|
101
|
+
function addSalesChannelIDMaybe(headers, opts) {
|
|
102
|
+
const salesChannelID = opts?.salesChannelID || getSalesChannelID();
|
|
103
|
+
if (salesChannelID)
|
|
104
|
+
headers["Sales-Channel-Id"] = salesChannelID;
|
|
105
|
+
}
|
|
106
|
+
function addDeviceIDMaybe(headers, opts) {
|
|
107
|
+
const deviceID = opts?.deviceID;
|
|
108
|
+
if (deviceID)
|
|
109
|
+
headers["Device-Id"] = deviceID;
|
|
110
|
+
}
|
|
111
|
+
function addLocaleMaybe(headers, opts) {
|
|
112
|
+
if (opts?.locale)
|
|
113
|
+
headers["Locale"] = opts.locale;
|
|
114
|
+
}
|
|
115
|
+
export function requestErrorPrefix(details) {
|
|
116
|
+
const fields = [];
|
|
117
|
+
const { operations } = details;
|
|
118
|
+
fields.push(`Url: ${details.url}`);
|
|
119
|
+
if (details.authToken) {
|
|
120
|
+
fields.push(`AuthToken: ${details.authToken}`);
|
|
121
|
+
}
|
|
122
|
+
if (details.uuid) {
|
|
123
|
+
fields.push(`IdempotencyKey: ${details.uuid}`);
|
|
124
|
+
}
|
|
125
|
+
if (details.sessionID) {
|
|
126
|
+
fields.push(`SessionId: ${details.sessionID}`);
|
|
127
|
+
}
|
|
128
|
+
if (details.salesChannelID) {
|
|
129
|
+
fields.push(`SalesChannelId: ${details.salesChannelID}`);
|
|
130
|
+
}
|
|
131
|
+
if (details.deviceID) {
|
|
132
|
+
fields.push(`DeviceId: ${details.deviceID}`);
|
|
133
|
+
}
|
|
134
|
+
if (details.locale) {
|
|
135
|
+
fields.push(`Locale: ${details.locale}`);
|
|
136
|
+
}
|
|
137
|
+
for (let i = 0; i < operations.length; i++) {
|
|
138
|
+
const opIndex = operations.length > 1 ? ` ${i + 1}` : "";
|
|
139
|
+
fields.push(`Operation${opIndex}: ${operations[i]}`);
|
|
140
|
+
}
|
|
141
|
+
if (details.variables) {
|
|
142
|
+
try {
|
|
143
|
+
fields.push(`Variables: ${JSON.stringify(details.variables, null, 2)}`);
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
fields.push(`Variables: <JSON.stringify failed>`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return `GraphQL API request failed:\n${fields.join("\n")}\n`;
|
|
150
|
+
}
|
|
151
|
+
export function prettyPrintGraphErrors(errors) {
|
|
152
|
+
return errors.map(prettyPrintGraphError).join("\n");
|
|
153
|
+
}
|
|
154
|
+
export function prettyPrintAPIError(err) {
|
|
155
|
+
const msg = err.message;
|
|
156
|
+
const code = err.code;
|
|
157
|
+
const meta = err.meta;
|
|
158
|
+
const metaSuffix = meta ? "\n" + JSON.stringify(meta, null, 2) : "";
|
|
159
|
+
const codeStr = code ? ErrorCode[code] : "";
|
|
160
|
+
const text = msg && code ? `[${codeStr}] ${msg}` : msg ? msg : codeStr;
|
|
161
|
+
return `${text}${metaSuffix}`;
|
|
162
|
+
}
|
|
163
|
+
export function prettyPrintGraphError(gerr) {
|
|
164
|
+
const apiError = gerr.apiError;
|
|
165
|
+
if (apiError) {
|
|
166
|
+
return prettyPrintAPIError(apiError);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
return gerr ? gerr.message : "Unknown error";
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
export function prettyPrintRequestResponseError(err, detailed) {
|
|
173
|
+
if (err.kind === "error") {
|
|
174
|
+
const pfx = detailed ? requestErrorPrefix(err.details) : "";
|
|
175
|
+
return pfx + prettyPrintGraphError(err.error);
|
|
176
|
+
}
|
|
177
|
+
else if (err.kind === "custom_error") {
|
|
178
|
+
return err.text;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
const pfx = detailed ? requestErrorPrefix(err.details) : "";
|
|
182
|
+
switch (err.type) {
|
|
183
|
+
case "fetch_not_defined":
|
|
184
|
+
return pfx + '"fetch" not defined, missing polyfill?';
|
|
185
|
+
case "timeout":
|
|
186
|
+
return pfx + "HTTP request timed out after all retries";
|
|
187
|
+
case "no_error":
|
|
188
|
+
return pfx + "HTTP response contains no GraphQL error or it's ambiguous";
|
|
189
|
+
case "no_status":
|
|
190
|
+
return pfx + "HTTP request didn't respond with status code, connectivity problem?";
|
|
191
|
+
case "bad_status":
|
|
192
|
+
return pfx + "HTTP response contains status ≥ 500";
|
|
193
|
+
case "unrecognized_data_body":
|
|
194
|
+
return pfx + "HTTP response doesn't look like GraphQL data body";
|
|
195
|
+
case "unrecognized_error_body":
|
|
196
|
+
return pfx + "HTTP response doesn't look like GraphQL error body";
|
|
197
|
+
case "more_than_one_operation":
|
|
198
|
+
return pfx + "GraphQL request contains more than one operation, single operation expected";
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
export function request(query) {
|
|
203
|
+
return async (variables, opts) => {
|
|
204
|
+
const resp = await graphqlBackoffRetry(query, variables, opts);
|
|
205
|
+
if (resp.kind === "system_error") {
|
|
206
|
+
return {
|
|
207
|
+
kind: "system_error",
|
|
208
|
+
type: resp.type,
|
|
209
|
+
details: resp.details,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const ks = resp.data ? Object.keys(resp.data) : [];
|
|
213
|
+
if (resp.data && ks.length === 1 && resp.data[ks[0]]) {
|
|
214
|
+
const data = nonNull(resp.data[ks[0]], "request response data");
|
|
215
|
+
return { kind: "data", data };
|
|
216
|
+
}
|
|
217
|
+
else if (ks.length > 1) {
|
|
218
|
+
return {
|
|
219
|
+
kind: "system_error",
|
|
220
|
+
type: "more_than_one_operation",
|
|
221
|
+
details: resp.details,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
const errs = resp.errors;
|
|
226
|
+
const error = errs?.length === 1 ? errs[0] : undefined;
|
|
227
|
+
const details = resp.details;
|
|
228
|
+
return error ? { kind: "error", error, details } : { kind: "system_error", type: "no_error", details };
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
export function requestMulti(query) {
|
|
233
|
+
return (variables, opts) => {
|
|
234
|
+
return graphqlBackoffRetry(query, variables, opts);
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
const hasSHA256 = globalThis?.crypto?.subtle !== undefined;
|
|
238
|
+
async function sha256(query) {
|
|
239
|
+
const utf8buf = new TextEncoder().encode(query);
|
|
240
|
+
const hashBuffer = await globalThis.crypto.subtle.digest("SHA-256", utf8buf);
|
|
241
|
+
return Array.from(new Uint8Array(hashBuffer))
|
|
242
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
243
|
+
.join("");
|
|
244
|
+
}
|
|
245
|
+
export async function graphqlBackoffRetry(query, variables, opts) {
|
|
246
|
+
const url = opts?.url || `${BUILD_CONFIG.API_URL}/${opts?.commerce ? "commerce" : "storefront"}.json`;
|
|
247
|
+
const uuid = generateUUID();
|
|
248
|
+
const details = requestDetails(query, variables, opts, uuid);
|
|
249
|
+
const result = await backoffRetry(async (timeout) => {
|
|
250
|
+
try {
|
|
251
|
+
const headers = {
|
|
252
|
+
"Content-Type": "application/json",
|
|
253
|
+
"Idempotency-Key": uuid,
|
|
254
|
+
};
|
|
255
|
+
addAuthMaybe(headers, opts);
|
|
256
|
+
addLocaleMaybe(headers, opts);
|
|
257
|
+
addSalesChannelIDMaybe(headers, opts);
|
|
258
|
+
addSessionIDMaybe(headers, opts);
|
|
259
|
+
addDeviceIDMaybe(headers, opts);
|
|
260
|
+
const controller = new AbortController();
|
|
261
|
+
const timeoutHandle = setTimeout(() => {
|
|
262
|
+
controller.abort();
|
|
263
|
+
}, timeout);
|
|
264
|
+
let includeQuery = hasSHA256 ? false : true;
|
|
265
|
+
while (true) {
|
|
266
|
+
const req = { query, variables };
|
|
267
|
+
if (!includeQuery) {
|
|
268
|
+
delete req.query;
|
|
269
|
+
}
|
|
270
|
+
if (hasSHA256) {
|
|
271
|
+
req.extensions = { persistedQuery: { version: 1, sha256Hash: await sha256(query) } };
|
|
272
|
+
}
|
|
273
|
+
if (typeof fetch === "undefined") {
|
|
274
|
+
return { type: "expected", value: { kind: "system_error", type: "fetch_not_defined", details } };
|
|
275
|
+
}
|
|
276
|
+
const resp = await fetch(url, {
|
|
277
|
+
method: "POST",
|
|
278
|
+
body: JSON.stringify(req),
|
|
279
|
+
headers,
|
|
280
|
+
signal: controller.signal,
|
|
281
|
+
});
|
|
282
|
+
clearTimeout(timeoutHandle);
|
|
283
|
+
if (resp.status === 429)
|
|
284
|
+
return { type: "exhausted" };
|
|
285
|
+
const isJSON = (resp.headers.get("content-type")?.indexOf("application/json") ?? -1) !== -1;
|
|
286
|
+
const body = isJSON ? await resp.json() : undefined;
|
|
287
|
+
if (isGraphQLError(body) && !includeQuery && body.errors.some((e) => e.message === "PersistedQueryNotFound")) {
|
|
288
|
+
includeQuery = true;
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
if (resp.status >= 200 && resp.status < 300) {
|
|
292
|
+
if (!isGraphQLData(body)) {
|
|
293
|
+
return { type: "unexpected", value: { kind: "system_error", type: "unrecognized_data_body", details } };
|
|
294
|
+
}
|
|
295
|
+
return { type: "expected", value: { kind: "data_or_error", ...body, details } };
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
// something returned from http server
|
|
299
|
+
if (resp.status >= 500) {
|
|
300
|
+
return { type: "unexpected", value: { kind: "system_error", type: "bad_status", details } };
|
|
301
|
+
}
|
|
302
|
+
if (!isGraphQLError(body)) {
|
|
303
|
+
return { type: "unexpected", value: { kind: "system_error", type: "unrecognized_error_body", details } };
|
|
304
|
+
}
|
|
305
|
+
if (body.errors.every((e) => e.apiError?.code === 500)) {
|
|
306
|
+
return { type: "unexpected", value: { kind: "system_error", type: "bad_status", details } };
|
|
307
|
+
}
|
|
308
|
+
return { type: "expected", value: { kind: "data_or_error", ...body, details } };
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
catch (err) {
|
|
313
|
+
const isTimeout = err && err.name && err.name === "AbortError";
|
|
314
|
+
if (isTimeout) {
|
|
315
|
+
return { type: "unexpected", value: { kind: "system_error", type: "timeout", details } };
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
return { type: "unexpected", value: { kind: "system_error", type: "no_status", details } };
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}, opts);
|
|
322
|
+
return result;
|
|
323
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { BUILD_CONFIG } from "./buildconfig.js";
|
|
2
|
+
export function trimComments(v) {
|
|
3
|
+
return v.replace(/#.*$/gm, "");
|
|
4
|
+
}
|
|
5
|
+
const balancedMap = {
|
|
6
|
+
"(": ")",
|
|
7
|
+
"{": "}",
|
|
8
|
+
};
|
|
9
|
+
export function skipToBalanced(v, i) {
|
|
10
|
+
if (i === -1)
|
|
11
|
+
return -1;
|
|
12
|
+
const left = v[i];
|
|
13
|
+
const right = balancedMap[v[i]];
|
|
14
|
+
if (!right)
|
|
15
|
+
throw new Error(`index must point at balanced character, one of: ${Object.keys(balancedMap).join(", ")}`);
|
|
16
|
+
let balance = 0;
|
|
17
|
+
while (i < v.length) {
|
|
18
|
+
const c = v[i];
|
|
19
|
+
if (c === left) {
|
|
20
|
+
balance++;
|
|
21
|
+
}
|
|
22
|
+
else if (c === right) {
|
|
23
|
+
balance--;
|
|
24
|
+
}
|
|
25
|
+
if (balance === 0)
|
|
26
|
+
return i;
|
|
27
|
+
i++;
|
|
28
|
+
}
|
|
29
|
+
return -1;
|
|
30
|
+
}
|
|
31
|
+
export function extractGraphQLOperations(v) {
|
|
32
|
+
v = trimComments(v);
|
|
33
|
+
const out = [];
|
|
34
|
+
while (true) {
|
|
35
|
+
v = v.trim();
|
|
36
|
+
const m = /fragment|query|mutation|{/g.exec(v);
|
|
37
|
+
if (!m)
|
|
38
|
+
return out;
|
|
39
|
+
v = v.substring(m.index);
|
|
40
|
+
if (v.startsWith("fragment")) {
|
|
41
|
+
const i = skipToBalanced(v, v.indexOf("{"));
|
|
42
|
+
if (i === -1)
|
|
43
|
+
return out;
|
|
44
|
+
v = v.substring(i + 1);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const i = skipToBalanced(v, v.indexOf("{"));
|
|
48
|
+
if (i === -1)
|
|
49
|
+
return out;
|
|
50
|
+
out.push(v.substring(0, i + 1));
|
|
51
|
+
v = v.substring(i + 1);
|
|
52
|
+
}
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export function requestDetails(query, variables, opts, uuid) {
|
|
57
|
+
const operations = extractGraphQLOperations(query);
|
|
58
|
+
return {
|
|
59
|
+
operations,
|
|
60
|
+
variables,
|
|
61
|
+
url: opts?.url || `${BUILD_CONFIG.API_URL}/${opts?.commerce ? "commerce" : "storefront"}.json`,
|
|
62
|
+
authToken: opts?.authToken,
|
|
63
|
+
locale: opts?.locale,
|
|
64
|
+
sessionID: opts?.sessionID,
|
|
65
|
+
salesChannelID: opts?.salesChannelID,
|
|
66
|
+
deviceID: opts?.deviceID,
|
|
67
|
+
uuid,
|
|
68
|
+
};
|
|
69
|
+
}
|