@shopify/shop-minis-react 0.0.21 → 0.0.22
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/dist/_virtual/___vite-browser-external.js +7 -0
- package/dist/_virtual/___vite-browser-external.js.map +1 -0
- package/dist/_virtual/__vite-browser-external.js +5 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +24 -4
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/_virtual/browser-index.js +8 -0
- package/dist/_virtual/browser-index.js.map +1 -0
- package/dist/_virtual/browser-index2.js +5 -0
- package/dist/_virtual/browser-index2.js.map +1 -0
- package/dist/_virtual/clock.js +6 -0
- package/dist/_virtual/clock.js.map +1 -0
- package/dist/_virtual/conventions.js +5 -0
- package/dist/_virtual/conventions.js.map +1 -0
- package/dist/_virtual/document.js +8 -0
- package/dist/_virtual/document.js.map +1 -0
- package/dist/_virtual/dom-parser.js +5 -0
- package/dist/_virtual/dom-parser.js.map +1 -0
- package/dist/_virtual/dom.js +5 -0
- package/dist/_virtual/dom.js.map +1 -0
- package/dist/_virtual/entities.js +5 -0
- package/dist/_virtual/entities.js.map +1 -0
- package/dist/_virtual/extends.js +5 -0
- package/dist/_virtual/extends.js.map +1 -0
- package/dist/_virtual/index10.js +5 -0
- package/dist/_virtual/index10.js.map +1 -0
- package/dist/_virtual/index11.js +5 -0
- package/dist/_virtual/index11.js.map +1 -0
- package/dist/_virtual/index2.js +5 -2
- package/dist/_virtual/index2.js.map +1 -1
- package/dist/_virtual/index3.js +5 -3
- package/dist/_virtual/index3.js.map +1 -1
- package/dist/_virtual/index5.js +6 -0
- package/dist/_virtual/index5.js.map +1 -0
- package/dist/_virtual/index6.js +6 -0
- package/dist/_virtual/index6.js.map +1 -0
- package/dist/_virtual/index7.js +5 -0
- package/dist/_virtual/index7.js.map +1 -0
- package/dist/_virtual/index8.js +5 -0
- package/dist/_virtual/index8.js.map +1 -0
- package/dist/_virtual/index9.js +5 -0
- package/dist/_virtual/index9.js.map +1 -0
- package/dist/_virtual/parse-sidx.js +8 -0
- package/dist/_virtual/parse-sidx.js.map +1 -0
- package/dist/_virtual/sax.js +5 -0
- package/dist/_virtual/sax.js.map +1 -0
- package/dist/_virtual/window.js +8 -0
- package/dist/_virtual/window.js.map +1 -0
- package/dist/components/atoms/video-player.js +121 -0
- package/dist/components/atoms/video-player.js.map +1 -0
- package/dist/components/commerce/merchant-card.js +236 -106
- package/dist/components/commerce/merchant-card.js.map +1 -1
- package/dist/index.js +199 -192
- package/dist/index.js.map +1 -1
- package/dist/mocks.js +114 -87
- package/dist/mocks.js.map +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js +20 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@radix-ui_react-use-is-hydrated@0.1.0_@types_react@19.1.6_react@19.1.0/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/byte-helpers.js +79 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/byte-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/codecs.js +102 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/codecs.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/containers.js +149 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/containers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/ebml-helpers.js +77 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/ebml-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/id3-helpers.js +15 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/id3-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-groups.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-groups.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-types.js +7 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-types.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/mp4-helpers.js +31 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/mp4-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/nal-helpers.js +39 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/nal-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/resolve-url.js +14 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/resolve-url.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/stream.js +33 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/stream.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/http-handler.js +42 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/http-handler.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/index.js +169 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/interceptors.js +75 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/interceptors.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/retry.js +70 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/retry.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js +124 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js +151 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js +993 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js +2146 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js +14 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js +346 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js +308 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js +41 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js +53 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +157 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js +103 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js +269 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/document.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/document.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/window.js +12 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/window.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-arrayish@0.3.2/node_modules/is-arrayish/index.js +10 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-arrayish@0.3.2/node_modules/is-arrayish/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js +18 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/m3u8-parser@7.2.0/node_modules/m3u8-parser/dist/m3u8-parser.es.js +855 -0
- package/dist/shop-minis-react/node_modules/.pnpm/m3u8-parser@7.2.0/node_modules/m3u8-parser/dist/m3u8-parser.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mpd-parser@1.3.1/node_modules/mpd-parser/dist/mpd-parser.es.js +1102 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mpd-parser@1.3.1/node_modules/mpd-parser/dist/mpd-parser.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/tools/parse-sidx.js +32 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/tools/parse-sidx.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/clock.js +34 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/clock.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/numbers.js +17 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/numbers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/querystringify@2.2.0/node_modules/querystringify/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/simple-swizzle@0.2.2/node_modules/simple-swizzle/index.js +23 -0
- package/dist/shop-minis-react/node_modules/.pnpm/simple-swizzle@0.2.2/node_modules/simple-swizzle/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/video.js@8.23.3/node_modules/video.js/dist/video.es.js +27824 -0
- package/dist/shop-minis-react/node_modules/.pnpm/video.js@8.23.3/node_modules/video.js/dist/video.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/browser-index.js +26 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/browser-index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vtt.js +802 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vtt.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttcue.js +188 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttcue.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttregion.js +104 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttregion.js.map +1 -0
- package/dist/shop-minis-react.css +1 -1
- package/dist/utils/colors.js +6 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/merchant-card.js +44 -0
- package/dist/utils/merchant-card.js.map +1 -0
- package/package.json +5 -1
- package/src/components/atoms/video-player.tsx +213 -0
- package/src/components/commerce/merchant-card.tsx +219 -49
- package/src/components/index.ts +1 -0
- package/src/mocks.ts +148 -16
- package/src/stories/MerchantCard.stories.tsx +63 -9
- package/src/utils/colors.ts +5 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/merchant-card.ts +99 -0
- package/src/hooks/navigation/useCloseMini.doc.ts +0 -32
- package/src/hooks/navigation/useCloseMini.example.tsx +0 -7
- package/src/hooks/navigation/useDeeplink.doc.ts +0 -32
- package/src/hooks/navigation/useDeeplink.example.tsx +0 -7
- package/src/hooks/navigation/useShopNavigation.doc.ts +0 -32
- package/src/hooks/navigation/useShopNavigation.example.tsx +0 -32
- package/src/hooks/product/useCuratedProducts.doc.ts +0 -32
- package/src/hooks/product/useCuratedProducts.example.tsx +0 -10
- package/src/hooks/product/useProductList.doc.ts +0 -32
- package/src/hooks/product/useProductList.example.tsx +0 -9
- package/src/hooks/product/useProductListActions.doc.ts +0 -32
- package/src/hooks/product/useProductListActions.example.tsx +0 -60
- package/src/hooks/product/useProductLists.doc.ts +0 -32
- package/src/hooks/product/useProductLists.example.tsx +0 -9
- package/src/hooks/product/useProductSearch.doc.ts +0 -32
- package/src/hooks/product/useProductSearch.example.tsx +0 -13
- package/src/hooks/product/useRecommendedProducts.doc.ts +0 -32
- package/src/hooks/product/useRecommendedProducts.example.tsx +0 -7
- package/src/hooks/shop/useRecommendedShops.doc.ts +0 -32
- package/src/hooks/shop/useRecommendedShops.example.tsx +0 -7
- package/src/hooks/shop/useShop.doc.ts +0 -31
- package/src/hooks/shop/useShop.example.tsx +0 -7
- package/src/hooks/shop/useShopCartActions.doc.ts +0 -32
- package/src/hooks/shop/useShopCartActions.example.tsx +0 -28
- package/src/hooks/storage/useAsyncStorage.doc.ts +0 -32
- package/src/hooks/storage/useAsyncStorage.example.tsx +0 -30
- package/src/hooks/storage/useImageUpload.doc.ts +0 -32
- package/src/hooks/storage/useImageUpload.example.tsx +0 -20
- package/src/hooks/storage/useSecureStorage.doc.ts +0 -32
- package/src/hooks/storage/useSecureStorage.example.tsx +0 -23
- package/src/hooks/user/useBuyerAttributes.doc.ts +0 -32
- package/src/hooks/user/useBuyerAttributes.example.tsx +0 -14
- package/src/hooks/user/useCurrentUser.doc.ts +0 -31
- package/src/hooks/user/useCurrentUser.example.tsx +0 -7
- package/src/hooks/user/useFollowedShopsActions.doc.ts +0 -32
- package/src/hooks/user/useFollowedShopsActions.example.tsx +0 -16
- package/src/hooks/user/useOrders.doc.ts +0 -32
- package/src/hooks/user/useOrders.example.tsx +0 -7
- package/src/hooks/user/useRecentProducts.doc.ts +0 -32
- package/src/hooks/user/useRecentProducts.example.tsx +0 -13
- package/src/hooks/user/useSavedProducts.doc.ts +0 -32
- package/src/hooks/user/useSavedProducts.example.tsx +0 -13
- package/src/hooks/user/useSavedProductsActions.doc.ts +0 -32
- package/src/hooks/user/useSavedProductsActions.example.tsx +0 -32
- package/src/hooks/util/useErrorScreen.doc.ts +0 -32
- package/src/hooks/util/useErrorScreen.example.tsx +0 -15
- package/src/hooks/util/useErrorToast.doc.ts +0 -32
- package/src/hooks/util/useErrorToast.example.tsx +0 -15
- package/src/hooks/util/useImagePicker.example.tsx +0 -77
package/dist/mocks.js
CHANGED
|
@@ -1,42 +1,55 @@
|
|
|
1
|
-
const
|
|
2
|
-
id:
|
|
3
|
-
title:
|
|
4
|
-
price: { amount:
|
|
5
|
-
...
|
|
6
|
-
compareAtPrice: { amount:
|
|
1
|
+
const e = (t, o, a = "99.99", s) => ({
|
|
2
|
+
id: t,
|
|
3
|
+
title: o,
|
|
4
|
+
price: { amount: a, currencyCode: "USD" },
|
|
5
|
+
...s && {
|
|
6
|
+
compareAtPrice: { amount: s, currencyCode: "USD" }
|
|
7
7
|
},
|
|
8
8
|
reviewAnalytics: { averageRating: 4.5, reviewCount: 10 },
|
|
9
|
-
shop:
|
|
10
|
-
defaultVariantId: `variant-${
|
|
9
|
+
shop: d("shop1", "Mock Shop"),
|
|
10
|
+
defaultVariantId: `variant-${t}`,
|
|
11
11
|
isFavorited: !1,
|
|
12
|
-
featuredImage: {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
name: a,
|
|
16
|
-
isFollowing: !1,
|
|
17
|
-
primaryDomain: {
|
|
18
|
-
url: `https://${a.toLowerCase().replace(/\s+/g, "-")}.com`
|
|
19
|
-
},
|
|
20
|
-
reviewAnalytics: { averageRating: 4.3, reviewCount: 50 },
|
|
21
|
-
visualTheme: {
|
|
22
|
-
id: "visual-theme-1",
|
|
23
|
-
featuredImages: [{ url: "https://picsum.photos/400/400", sensitive: !1 }],
|
|
24
|
-
logoImage: { url: "https://picsum.photos/100/400", sensitive: !1 }
|
|
12
|
+
featuredImage: {
|
|
13
|
+
url: "https://cdn.shopify.com/s/files/1/0621/0463/3599/files/61ChhrRjK9L._AC_SL1000_1639abe8-4cd3-4bee-9867-73f26b0acf0a.jpg?v=1702559955",
|
|
14
|
+
altText: o
|
|
25
15
|
}
|
|
26
|
-
}),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
}), d = (t, o, a) => {
|
|
17
|
+
const c = Array.from({ length: 3 }, (m, n) => ({
|
|
18
|
+
url: `https://picsum.photos/400/400?random=${t}-${n}`,
|
|
19
|
+
sensitive: !1,
|
|
20
|
+
altText: `${o} featured image ${n + 1}`
|
|
21
|
+
}));
|
|
22
|
+
return {
|
|
23
|
+
id: t,
|
|
24
|
+
name: o,
|
|
25
|
+
primaryDomain: {
|
|
26
|
+
url: `https://${o.toLowerCase().replace(/\s+/g, "-")}.com`
|
|
27
|
+
},
|
|
28
|
+
reviewAnalytics: { averageRating: 4.3, reviewCount: 50 },
|
|
29
|
+
visualTheme: {
|
|
30
|
+
id: `visual-theme-${t}`,
|
|
31
|
+
featuredImages: c,
|
|
32
|
+
logoImage: {
|
|
33
|
+
url: `https://picsum.photos/100/100?random=${t}`,
|
|
34
|
+
sensitive: !1
|
|
35
|
+
},
|
|
36
|
+
brandSettings: void 0
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}, r = (t = !1) => ({
|
|
40
|
+
hasNextPage: t,
|
|
41
|
+
endCursor: t ? "cursor123" : null
|
|
42
|
+
}), i = (t, o, a = []) => ({
|
|
43
|
+
id: t,
|
|
44
|
+
publicId: `public-${t}`,
|
|
45
|
+
name: o,
|
|
46
|
+
products: a
|
|
34
47
|
});
|
|
35
|
-
function
|
|
36
|
-
return (
|
|
48
|
+
function p(t, o) {
|
|
49
|
+
return (a) => (console.log(`[Mock Action] ${String(t)}`, a), Promise.resolve({ ok: !0, data: o }));
|
|
37
50
|
}
|
|
38
|
-
function
|
|
39
|
-
const
|
|
51
|
+
function u() {
|
|
52
|
+
const t = {
|
|
40
53
|
followShop: !0,
|
|
41
54
|
unfollowShop: !1,
|
|
42
55
|
favorite: void 0,
|
|
@@ -110,42 +123,49 @@ function c() {
|
|
|
110
123
|
reportContentImpression: void 0,
|
|
111
124
|
getProductLists: {
|
|
112
125
|
data: [
|
|
113
|
-
|
|
114
|
-
|
|
126
|
+
i("list-1", "Wishlist"),
|
|
127
|
+
i("list-2", "Favorites")
|
|
115
128
|
],
|
|
116
|
-
pageInfo:
|
|
129
|
+
pageInfo: r()
|
|
117
130
|
},
|
|
118
131
|
getProductList: {
|
|
119
|
-
data:
|
|
120
|
-
|
|
132
|
+
data: i("list-1", "Wishlist", [
|
|
133
|
+
e("prod-1", "Sample Product")
|
|
121
134
|
]),
|
|
122
|
-
pageInfo:
|
|
135
|
+
pageInfo: r()
|
|
123
136
|
},
|
|
124
|
-
addProductList:
|
|
137
|
+
addProductList: i("list-3", "New List"),
|
|
125
138
|
removeProductList: void 0,
|
|
126
|
-
renameProductList:
|
|
139
|
+
renameProductList: i("list-1", "Updated Wishlist"),
|
|
127
140
|
addProductListItem: void 0,
|
|
128
141
|
removeProductListItem: void 0,
|
|
129
142
|
getRecommendedProducts: {
|
|
130
143
|
data: [
|
|
131
|
-
|
|
132
|
-
|
|
144
|
+
e("rec-1", "Recommended Product 1", "79.99"),
|
|
145
|
+
e("rec-2", "Recommended Product 2", "129.99"),
|
|
146
|
+
e("rec-3", "Recommended Product 3", "129.99"),
|
|
147
|
+
e("rec-4", "Recommended Product 4", "29.99"),
|
|
148
|
+
e("rec-5", "Recommended Product 5", "39.99"),
|
|
149
|
+
e("rec-6", "Recommended Product 6", "49.99"),
|
|
150
|
+
e("rec-7", "Recommended Product 7", "59.99"),
|
|
151
|
+
e("rec-8", "Recommended Product 8", "69.99"),
|
|
152
|
+
e("rec-9", "Recommended Product 9", "129.99")
|
|
133
153
|
],
|
|
134
|
-
pageInfo:
|
|
154
|
+
pageInfo: r()
|
|
135
155
|
},
|
|
136
156
|
getRecommendedShops: {
|
|
137
157
|
data: [
|
|
138
|
-
|
|
139
|
-
|
|
158
|
+
d("shop-1", "Amazing Store"),
|
|
159
|
+
d("shop-2", "Best Deals Shop")
|
|
140
160
|
],
|
|
141
|
-
pageInfo:
|
|
161
|
+
pageInfo: r()
|
|
142
162
|
},
|
|
143
163
|
searchProductsByShop: {
|
|
144
164
|
data: [
|
|
145
|
-
|
|
146
|
-
|
|
165
|
+
e("search-1", "Search Result 1", "59.99"),
|
|
166
|
+
e("search-2", "Search Result 2", "89.99")
|
|
147
167
|
],
|
|
148
|
-
pageInfo:
|
|
168
|
+
pageInfo: r()
|
|
149
169
|
},
|
|
150
170
|
getOrders: {
|
|
151
171
|
data: [
|
|
@@ -160,10 +180,10 @@ function c() {
|
|
|
160
180
|
product: null
|
|
161
181
|
}
|
|
162
182
|
],
|
|
163
|
-
shop:
|
|
183
|
+
shop: d("shop-1", "Sample Shop")
|
|
164
184
|
}
|
|
165
185
|
],
|
|
166
|
-
pageInfo:
|
|
186
|
+
pageInfo: r()
|
|
167
187
|
},
|
|
168
188
|
getBuyerAttributes: {
|
|
169
189
|
data: {
|
|
@@ -177,11 +197,18 @@ function c() {
|
|
|
177
197
|
showFeedbackSheet: void 0,
|
|
178
198
|
getPopularProducts: {
|
|
179
199
|
data: [
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
200
|
+
e("pop-1", "The Hero Snowboard", "702.95"),
|
|
201
|
+
e("pop-2", "Snow Jacket", "605.95", "702.00"),
|
|
202
|
+
e("pop-3", "Winter Gloves", "89.95"),
|
|
203
|
+
e("pop-4", "Summer Gloves", "89.95"),
|
|
204
|
+
e("pop-5", "Spring Gloves", "89.95"),
|
|
205
|
+
e("pop-6", "Playstation 5", "499.95"),
|
|
206
|
+
e("pop-7", "Xbox Series X", "499.95"),
|
|
207
|
+
e("pop-8", "Nintendo Switch", "299.95"),
|
|
208
|
+
e("pop-9", "Playstation 4", "299.95"),
|
|
209
|
+
e("pop-10", "Nintendo 3DS", "89.95")
|
|
183
210
|
],
|
|
184
|
-
pageInfo:
|
|
211
|
+
pageInfo: r()
|
|
185
212
|
},
|
|
186
213
|
share: {
|
|
187
214
|
message: "Shared!",
|
|
@@ -189,25 +216,25 @@ function c() {
|
|
|
189
216
|
},
|
|
190
217
|
getCuratedProducts: {
|
|
191
218
|
data: [
|
|
192
|
-
|
|
193
|
-
|
|
219
|
+
e("cur-1", "Curated Product 1", "79.99"),
|
|
220
|
+
e("cur-2", "Curated Product 2", "129.99")
|
|
194
221
|
],
|
|
195
|
-
pageInfo:
|
|
222
|
+
pageInfo: r()
|
|
196
223
|
},
|
|
197
224
|
getSavedProducts: {
|
|
198
|
-
data: [
|
|
199
|
-
pageInfo:
|
|
225
|
+
data: [e("saved-1", "Saved Product 1", "49.99")],
|
|
226
|
+
pageInfo: r()
|
|
200
227
|
},
|
|
201
228
|
getRecentProducts: {
|
|
202
|
-
data: [
|
|
203
|
-
pageInfo:
|
|
229
|
+
data: [e("recent-1", "Recent Product 1", "59.99")],
|
|
230
|
+
pageInfo: r()
|
|
204
231
|
},
|
|
205
232
|
getProductSearch: {
|
|
206
|
-
data: [
|
|
207
|
-
pageInfo:
|
|
233
|
+
data: [e("search-3", "Search Product 3", "39.99")],
|
|
234
|
+
pageInfo: r()
|
|
208
235
|
},
|
|
209
|
-
getProducts: { data: [
|
|
210
|
-
getProduct: { data:
|
|
236
|
+
getProducts: { data: [e("prod-2", "Product 2", "19.99")] },
|
|
237
|
+
getProduct: { data: e("prod-1", "Sample Product") },
|
|
211
238
|
getProductVariants: {
|
|
212
239
|
data: [
|
|
213
240
|
{
|
|
@@ -218,7 +245,7 @@ function c() {
|
|
|
218
245
|
compareAtPrice: { amount: "29.99", currencyCode: "USD" }
|
|
219
246
|
}
|
|
220
247
|
],
|
|
221
|
-
pageInfo:
|
|
248
|
+
pageInfo: r()
|
|
222
249
|
},
|
|
223
250
|
getProductMedia: {
|
|
224
251
|
data: [
|
|
@@ -229,39 +256,39 @@ function c() {
|
|
|
229
256
|
alt: "Sample product image"
|
|
230
257
|
}
|
|
231
258
|
],
|
|
232
|
-
pageInfo:
|
|
259
|
+
pageInfo: r()
|
|
233
260
|
},
|
|
234
|
-
getShop: { data:
|
|
261
|
+
getShop: { data: d("shop-1", "Sample Shop") },
|
|
235
262
|
getRecentShops: {
|
|
236
|
-
data: [
|
|
237
|
-
pageInfo:
|
|
263
|
+
data: [d("recent-shop-1", "Recent Shop 1")],
|
|
264
|
+
pageInfo: r()
|
|
238
265
|
},
|
|
239
266
|
getFollowedShops: {
|
|
240
|
-
data: [
|
|
241
|
-
pageInfo:
|
|
267
|
+
data: [d("followed-shop-1", "Followed Shop 1")],
|
|
268
|
+
pageInfo: r()
|
|
242
269
|
},
|
|
243
270
|
previewProductInAr: void 0
|
|
244
|
-
},
|
|
245
|
-
for (const
|
|
246
|
-
Object.prototype.hasOwnProperty.call(
|
|
247
|
-
|
|
248
|
-
|
|
271
|
+
}, o = {};
|
|
272
|
+
for (const a in t)
|
|
273
|
+
Object.prototype.hasOwnProperty.call(t, a) && (o[a] = p(
|
|
274
|
+
a,
|
|
275
|
+
t[a]
|
|
249
276
|
));
|
|
250
|
-
return
|
|
277
|
+
return o;
|
|
251
278
|
}
|
|
252
279
|
const l = () => {
|
|
253
|
-
const
|
|
254
|
-
return
|
|
255
|
-
},
|
|
256
|
-
l() || window.minisSDK || (window.minisSDK =
|
|
280
|
+
const t = navigator.userAgent.toLowerCase(), o = /iphone|ipad|ipod/.test(t), a = /android/.test(t);
|
|
281
|
+
return o || a;
|
|
282
|
+
}, g = () => {
|
|
283
|
+
l() || window.minisSDK || (window.minisSDK = u(), window.minisParams = {
|
|
257
284
|
handle: "mock-handle",
|
|
258
285
|
initialUrl: "/mock-initial-url",
|
|
259
286
|
platform: "web"
|
|
260
287
|
});
|
|
261
288
|
};
|
|
262
289
|
export {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
290
|
+
e as createProduct,
|
|
291
|
+
d as createShop,
|
|
292
|
+
g as injectMocks
|
|
266
293
|
};
|
|
267
294
|
//# sourceMappingURL=mocks.js.map
|
package/dist/mocks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.js","sources":["../src/mocks.ts"],"sourcesContent":["import {Product, Gender} from '@shopify/shop-minis-platform'\nimport {ShopActions} from '@shopify/shop-minis-platform/actions'\n\n// Helper functions for common data structures\nexport const createProduct = (\n id: string,\n title: string,\n price = '99.99',\n compareAtPrice?: string\n): Product => ({\n id,\n title,\n price: {amount: price, currencyCode: 'USD'},\n ...(compareAtPrice && {\n compareAtPrice: {amount: compareAtPrice, currencyCode: 'USD'},\n }),\n reviewAnalytics: {averageRating: 4.5, reviewCount: 10},\n shop: {id: 'shop1', name: 'Mock Shop'},\n defaultVariantId: `variant-${id}`,\n isFavorited: false,\n featuredImage: {url: `https://picsum.photos/400/400`, altText: title},\n})\n\nexport const createShop = (id: string, name: string) => ({\n id,\n name,\n isFollowing: false,\n primaryDomain: {\n url: `https://${name.toLowerCase().replace(/\\s+/g, '-')}.com`,\n },\n reviewAnalytics: {averageRating: 4.3, reviewCount: 50},\n visualTheme: {\n id: 'visual-theme-1',\n featuredImages: [{url: `https://picsum.photos/400/400`, sensitive: false}],\n logoImage: {url: `https://picsum.photos/100/400`, sensitive: false},\n },\n})\n\nconst createPagination = (hasNext = false) => ({\n hasNextPage: hasNext,\n endCursor: hasNext ? 'cursor123' : null,\n})\n\nconst createProductList = (id: string, name: string, products: any[] = []) => ({\n id,\n publicId: `public-${id}`,\n name,\n products,\n})\n\n// Helper type to extract the data type from a ShopAction\ntype ShopActionDataType<T> = T extends (\n ...args: any[]\n) => Promise<{ok: true; data: infer R} | {ok: false; error: any}>\n ? R\n : never\n\nfunction makeMockMethod<K extends keyof ShopActions>(\n key: K,\n result: ShopActionDataType<ShopActions[K]>\n): ShopActions[K] {\n return ((params: Parameters<ShopActions[K]>[0]) => {\n console.log(`[Mock Action] ${String(key)}`, params)\n return Promise.resolve({ok: true as const, data: result})\n }) as ShopActions[K]\n}\n\nfunction makeMockActions(): ShopActions {\n const results: {\n [K in keyof ShopActions]: ShopActionDataType<ShopActions[K]>\n } = {\n followShop: true,\n unfollowShop: false,\n favorite: undefined,\n unfavorite: undefined,\n getShopAppInformation: {\n appVersion: '1.0.0',\n buildNumber: '12345',\n buildId: 'dev-build-123',\n },\n productRecommendationImpression: undefined,\n productRecommendationClick: undefined,\n hideEntryPoint: undefined,\n closeMini: undefined,\n getAccountInformation: {\n status: 'available',\n value: 'user@example.com',\n },\n getCurrentUser: {\n data: {\n displayName: 'John Doe',\n avatarImage: {url: 'https://example.com/avatar.jpg'},\n },\n },\n createOrderAttribution: undefined,\n addToCart: undefined,\n buyProduct: undefined,\n buyProducts: undefined,\n showErrorScreen: undefined,\n showErrorToast: undefined,\n getDeeplinkPaths: {\n matchers: ['/products', '/collections', '/cart'],\n },\n navigateToDeeplink: undefined,\n navigateToShop: undefined,\n navigateToProduct: undefined,\n navigateToOrder: undefined,\n navigateToCheckout: undefined,\n createImageUploadLink: {\n targets: [\n {\n url: 'https://example.com/upload',\n resourceUrl: 'https://example.com/resource',\n parameters: [{name: 'key', value: 'upload-123'}],\n },\n ],\n },\n completeImageUpload: {\n files: [\n {\n id: 'file-123',\n fileStatus: 'READY',\n image: {url: 'https://example.com/image.jpg'},\n },\n ],\n },\n getPersistedItem: 'stored-value',\n setPersistedItem: undefined,\n removePersistedItem: undefined,\n getAllPersistedKeys: ['key1', 'key2', 'key3'],\n clearPersistedItems: undefined,\n getInternalPersistedItem: 'internal-value',\n setInternalPersistedItem: undefined,\n removeInternalPersistedItem: undefined,\n getAllInternalPersistedKeys: ['internal-key1', 'internal-key2'],\n clearInternalPersistedItems: undefined,\n getSecret: 'secret-value',\n setSecret: undefined,\n removeSecret: undefined,\n reportInteraction: undefined,\n reportImpression: undefined,\n reportContentImpression: undefined,\n getProductLists: {\n data: [\n createProductList('list-1', 'Wishlist'),\n createProductList('list-2', 'Favorites'),\n ],\n pageInfo: createPagination(),\n },\n getProductList: {\n data: createProductList('list-1', 'Wishlist', [\n createProduct('prod-1', 'Sample Product'),\n ]),\n pageInfo: createPagination(),\n },\n addProductList: createProductList('list-3', 'New List'),\n removeProductList: undefined,\n renameProductList: createProductList('list-1', 'Updated Wishlist'),\n addProductListItem: undefined,\n removeProductListItem: undefined,\n getRecommendedProducts: {\n data: [\n createProduct('rec-1', 'Recommended Product 1', '79.99'),\n createProduct('rec-2', 'Recommended Product 2', '129.99'),\n ],\n pageInfo: createPagination(),\n },\n getRecommendedShops: {\n data: [\n createShop('shop-1', 'Amazing Store'),\n createShop('shop-2', 'Best Deals Shop'),\n ],\n pageInfo: createPagination(),\n },\n searchProductsByShop: {\n data: [\n createProduct('search-1', 'Search Result 1', '59.99'),\n createProduct('search-2', 'Search Result 2', '89.99'),\n ],\n pageInfo: createPagination(),\n },\n getOrders: {\n data: [\n {\n id: 'order-1',\n name: '#1001',\n lineItems: [\n {\n productTitle: 'Sample Product',\n variantTitle: 'Medium',\n quantity: 2,\n product: null,\n },\n ],\n shop: createShop('shop-1', 'Sample Shop'),\n },\n ],\n pageInfo: createPagination(),\n },\n getBuyerAttributes: {\n data: {\n genderAffinity: 'NEUTRAL' as Gender,\n categoryAffinities: [\n {id: 'cat1', name: 'Electronics'},\n {id: 'cat2', name: 'Clothing'},\n ],\n },\n },\n showFeedbackSheet: undefined,\n getPopularProducts: {\n data: [\n createProduct('pop-1', 'The Hero Snowboard', '702.95'),\n createProduct('pop-2', 'Snow Jacket', '605.95', '702.00'),\n createProduct('pop-3', 'Winter Gloves', '89.95'),\n ],\n pageInfo: createPagination(),\n },\n share: {\n message: 'Shared!',\n success: true,\n },\n getCuratedProducts: {\n data: [\n createProduct('cur-1', 'Curated Product 1', '79.99'),\n createProduct('cur-2', 'Curated Product 2', '129.99'),\n ],\n pageInfo: createPagination(),\n },\n getSavedProducts: {\n data: [createProduct('saved-1', 'Saved Product 1', '49.99')],\n pageInfo: createPagination(),\n },\n getRecentProducts: {\n data: [createProduct('recent-1', 'Recent Product 1', '59.99')],\n pageInfo: createPagination(),\n },\n getProductSearch: {\n data: [createProduct('search-3', 'Search Product 3', '39.99')],\n pageInfo: createPagination(),\n },\n getProducts: {data: [createProduct('prod-2', 'Product 2', '19.99')]},\n getProduct: {data: createProduct('prod-1', 'Sample Product')},\n getProductVariants: {\n data: [\n {\n id: 'variant-1',\n isFavorited: false,\n image: {url: 'https://example.com/variant-1.jpg'},\n price: {amount: '19.99', currencyCode: 'USD'},\n compareAtPrice: {amount: '29.99', currencyCode: 'USD'},\n },\n ],\n pageInfo: createPagination(),\n },\n getProductMedia: {\n data: [\n {\n id: 'media-1',\n image: {url: 'https://example.com/media-1.jpg'},\n mediaContentType: 'IMAGE',\n alt: 'Sample product image',\n },\n ],\n pageInfo: createPagination(),\n },\n getShop: {data: createShop('shop-1', 'Sample Shop')},\n getRecentShops: {\n data: [createShop('recent-shop-1', 'Recent Shop 1')],\n pageInfo: createPagination(),\n },\n getFollowedShops: {\n data: [createShop('followed-shop-1', 'Followed Shop 1')],\n pageInfo: createPagination(),\n },\n previewProductInAr: undefined,\n } as const\n\n const mock: Partial<ShopActions> = {}\n for (const key in results) {\n if (Object.prototype.hasOwnProperty.call(results, key)) {\n // @ts-expect-error: dynamic assignment is safe due to exhaustive mapping\n mock[key] = makeMockMethod(\n key as keyof ShopActions,\n results[key as keyof typeof results]\n )\n }\n }\n return mock as ShopActions\n}\n\n// Detect if running on a mobile device\nconst isMobile = (): boolean => {\n const userAgent = navigator.userAgent.toLowerCase()\n const isIOS = /iphone|ipad|ipod/.test(userAgent)\n const isAndroid = /android/.test(userAgent)\n\n return isIOS || isAndroid\n}\n\nexport const injectMocks = () => {\n // Only inject mocks if we aren't on a mobile device\n if (isMobile()) {\n return\n }\n\n if (!window.minisSDK) {\n window.minisSDK = makeMockActions()\n window.minisParams = {\n handle: 'mock-handle',\n initialUrl: '/mock-initial-url',\n platform: 'web',\n }\n }\n}\n"],"names":["createProduct","id","title","price","compareAtPrice","createShop","name","createPagination","hasNext","createProductList","products","makeMockMethod","key","result","params","makeMockActions","results","mock","isMobile","userAgent","isIOS","isAndroid","injectMocks"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mocks.js","sources":["../src/mocks.ts"],"sourcesContent":["import {Product, Gender} from '@shopify/shop-minis-platform'\nimport {ShopActions} from '@shopify/shop-minis-platform/actions'\n\n// Helper functions for common data structures\nexport const createProduct = (\n id: string,\n title: string,\n price = '99.99',\n compareAtPrice?: string\n): Product => ({\n id,\n title,\n price: {amount: price, currencyCode: 'USD'},\n ...(compareAtPrice && {\n compareAtPrice: {amount: compareAtPrice, currencyCode: 'USD'},\n }),\n reviewAnalytics: {averageRating: 4.5, reviewCount: 10},\n shop: createShop('shop1', 'Mock Shop'),\n defaultVariantId: `variant-${id}`,\n isFavorited: false,\n featuredImage: {\n url: `https://cdn.shopify.com/s/files/1/0621/0463/3599/files/61ChhrRjK9L._AC_SL1000_1639abe8-4cd3-4bee-9867-73f26b0acf0a.jpg?v=1702559955`,\n altText: title,\n },\n})\n\nexport const createShop = (\n id: string,\n name: string,\n options?: {\n themeType?: 'coverImage' | 'brandColor' | 'logoColor' | 'none'\n withBrandSettings?: boolean\n primaryColor?: string\n logoDominantColor?: string\n logoAverageColor?: string\n coverDominantColor?: string\n wordmarkUrl?: string\n coverImageUrl?: string\n featuredImagesLimit?: number\n }\n) => {\n // Determine theme configuration\n const themeType = options?.themeType || 'none'\n const shouldHaveBrandSettings =\n options?.withBrandSettings || themeType !== 'none'\n\n // Generate featured images\n const featuredImagesCount = options?.featuredImagesLimit || 3\n const featuredImages = Array.from({length: featuredImagesCount}, (_, i) => ({\n url: `https://picsum.photos/400/400?random=${id}-${i}`,\n sensitive: false,\n altText: `${name} featured image ${i + 1}`,\n }))\n\n // Configure colors based on theme type\n const getThemeColors = () => {\n switch (themeType) {\n case 'coverImage':\n return {\n primary: options?.primaryColor,\n logoDominant: options?.logoDominantColor,\n logoAverage: options?.logoAverageColor,\n coverDominant: options?.coverDominantColor || '#FF6B35',\n }\n case 'brandColor':\n return {\n primary: options?.primaryColor || '#27AE60',\n logoDominant: options?.logoDominantColor,\n logoAverage: options?.logoAverageColor,\n coverDominant: options?.coverDominantColor,\n }\n case 'logoColor':\n return {\n primary: options?.primaryColor,\n logoDominant: options?.logoDominantColor || '#E74C3C',\n logoAverage: options?.logoAverageColor,\n coverDominant: options?.coverDominantColor,\n }\n default:\n return {\n primary: options?.primaryColor,\n logoDominant: options?.logoDominantColor,\n logoAverage: options?.logoAverageColor,\n coverDominant: options?.coverDominantColor,\n }\n }\n }\n\n // Configure header theme\n const createHeaderTheme = () => {\n if (themeType === 'coverImage' || options?.coverImageUrl) {\n return {\n id: `header-theme-${id}`,\n coverImage: {\n url:\n options?.coverImageUrl ||\n 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=800&h=400&fit=crop',\n altText: `${name} cover image`,\n sensitive: false,\n thumbhash: 'k9oGHQRnh493V4dIeHeXh4h3iIeI',\n },\n wordmark:\n options?.wordmarkUrl || themeType === 'coverImage'\n ? {\n url:\n options?.wordmarkUrl ||\n 'https://merrypeople.com/cdn/shop/files/Transparent_Background_1.png?v=1696465429&width=1024',\n altText: `${name} wordmark`,\n sensitive: false,\n }\n : undefined,\n }\n }\n\n if (options?.wordmarkUrl) {\n return {\n id: `header-theme-${id}`,\n wordmark: {\n url: options.wordmarkUrl,\n altText: `${name} wordmark`,\n sensitive: false,\n },\n }\n }\n\n return undefined\n }\n\n return {\n id,\n name,\n primaryDomain: {\n url: `https://${name.toLowerCase().replace(/\\s+/g, '-')}.com`,\n },\n reviewAnalytics: {averageRating: 4.3, reviewCount: 50},\n visualTheme: {\n id: `visual-theme-${id}`,\n featuredImages,\n logoImage: {\n url: `https://picsum.photos/100/100?random=${id}`,\n sensitive: false,\n },\n brandSettings: shouldHaveBrandSettings\n ? {\n id: `brand-settings-${id}`,\n colors: {\n id: `colors-${id}`,\n ...getThemeColors(),\n },\n headerTheme: createHeaderTheme(),\n }\n : undefined,\n },\n }\n}\n\nconst createPagination = (hasNext = false) => ({\n hasNextPage: hasNext,\n endCursor: hasNext ? 'cursor123' : null,\n})\n\nconst createProductList = (id: string, name: string, products: any[] = []) => ({\n id,\n publicId: `public-${id}`,\n name,\n products,\n})\n\n// Helper type to extract the data type from a ShopAction\ntype ShopActionDataType<T> = T extends (\n ...args: any[]\n) => Promise<{ok: true; data: infer R} | {ok: false; error: any}>\n ? R\n : never\n\nfunction makeMockMethod<K extends keyof ShopActions>(\n key: K,\n result: ShopActionDataType<ShopActions[K]>\n): ShopActions[K] {\n return ((params: Parameters<ShopActions[K]>[0]) => {\n console.log(`[Mock Action] ${String(key)}`, params)\n return Promise.resolve({ok: true as const, data: result})\n }) as ShopActions[K]\n}\n\nfunction makeMockActions(): ShopActions {\n const results: {\n [K in keyof ShopActions]: ShopActionDataType<ShopActions[K]>\n } = {\n followShop: true,\n unfollowShop: false,\n favorite: undefined,\n unfavorite: undefined,\n getShopAppInformation: {\n appVersion: '1.0.0',\n buildNumber: '12345',\n buildId: 'dev-build-123',\n },\n productRecommendationImpression: undefined,\n productRecommendationClick: undefined,\n hideEntryPoint: undefined,\n closeMini: undefined,\n getAccountInformation: {\n status: 'available',\n value: 'user@example.com',\n },\n getCurrentUser: {\n data: {\n displayName: 'John Doe',\n avatarImage: {url: 'https://example.com/avatar.jpg'},\n },\n },\n createOrderAttribution: undefined,\n addToCart: undefined,\n buyProduct: undefined,\n buyProducts: undefined,\n showErrorScreen: undefined,\n showErrorToast: undefined,\n getDeeplinkPaths: {\n matchers: ['/products', '/collections', '/cart'],\n },\n navigateToDeeplink: undefined,\n navigateToShop: undefined,\n navigateToProduct: undefined,\n navigateToOrder: undefined,\n navigateToCheckout: undefined,\n createImageUploadLink: {\n targets: [\n {\n url: 'https://example.com/upload',\n resourceUrl: 'https://example.com/resource',\n parameters: [{name: 'key', value: 'upload-123'}],\n },\n ],\n },\n completeImageUpload: {\n files: [\n {\n id: 'file-123',\n fileStatus: 'READY',\n image: {url: 'https://example.com/image.jpg'},\n },\n ],\n },\n getPersistedItem: 'stored-value',\n setPersistedItem: undefined,\n removePersistedItem: undefined,\n getAllPersistedKeys: ['key1', 'key2', 'key3'],\n clearPersistedItems: undefined,\n getInternalPersistedItem: 'internal-value',\n setInternalPersistedItem: undefined,\n removeInternalPersistedItem: undefined,\n getAllInternalPersistedKeys: ['internal-key1', 'internal-key2'],\n clearInternalPersistedItems: undefined,\n getSecret: 'secret-value',\n setSecret: undefined,\n removeSecret: undefined,\n reportInteraction: undefined,\n reportImpression: undefined,\n reportContentImpression: undefined,\n getProductLists: {\n data: [\n createProductList('list-1', 'Wishlist'),\n createProductList('list-2', 'Favorites'),\n ],\n pageInfo: createPagination(),\n },\n getProductList: {\n data: createProductList('list-1', 'Wishlist', [\n createProduct('prod-1', 'Sample Product'),\n ]),\n pageInfo: createPagination(),\n },\n addProductList: createProductList('list-3', 'New List'),\n removeProductList: undefined,\n renameProductList: createProductList('list-1', 'Updated Wishlist'),\n addProductListItem: undefined,\n removeProductListItem: undefined,\n getRecommendedProducts: {\n data: [\n createProduct('rec-1', 'Recommended Product 1', '79.99'),\n createProduct('rec-2', 'Recommended Product 2', '129.99'),\n createProduct('rec-3', 'Recommended Product 3', '129.99'),\n createProduct('rec-4', 'Recommended Product 4', '29.99'),\n createProduct('rec-5', 'Recommended Product 5', '39.99'),\n createProduct('rec-6', 'Recommended Product 6', '49.99'),\n createProduct('rec-7', 'Recommended Product 7', '59.99'),\n createProduct('rec-8', 'Recommended Product 8', '69.99'),\n createProduct('rec-9', 'Recommended Product 9', '129.99'),\n ],\n pageInfo: createPagination(),\n },\n getRecommendedShops: {\n data: [\n createShop('shop-1', 'Amazing Store'),\n createShop('shop-2', 'Best Deals Shop'),\n ],\n pageInfo: createPagination(),\n },\n searchProductsByShop: {\n data: [\n createProduct('search-1', 'Search Result 1', '59.99'),\n createProduct('search-2', 'Search Result 2', '89.99'),\n ],\n pageInfo: createPagination(),\n },\n getOrders: {\n data: [\n {\n id: 'order-1',\n name: '#1001',\n lineItems: [\n {\n productTitle: 'Sample Product',\n variantTitle: 'Medium',\n quantity: 2,\n product: null,\n },\n ],\n shop: createShop('shop-1', 'Sample Shop'),\n },\n ],\n pageInfo: createPagination(),\n },\n getBuyerAttributes: {\n data: {\n genderAffinity: 'NEUTRAL' as Gender,\n categoryAffinities: [\n {id: 'cat1', name: 'Electronics'},\n {id: 'cat2', name: 'Clothing'},\n ],\n },\n },\n showFeedbackSheet: undefined,\n getPopularProducts: {\n data: [\n createProduct('pop-1', 'The Hero Snowboard', '702.95'),\n createProduct('pop-2', 'Snow Jacket', '605.95', '702.00'),\n createProduct('pop-3', 'Winter Gloves', '89.95'),\n createProduct('pop-4', 'Summer Gloves', '89.95'),\n createProduct('pop-5', 'Spring Gloves', '89.95'),\n createProduct('pop-6', 'Playstation 5', '499.95'),\n createProduct('pop-7', 'Xbox Series X', '499.95'),\n createProduct('pop-8', 'Nintendo Switch', '299.95'),\n createProduct('pop-9', 'Playstation 4', '299.95'),\n createProduct('pop-10', 'Nintendo 3DS', '89.95'),\n ],\n pageInfo: createPagination(),\n },\n share: {\n message: 'Shared!',\n success: true,\n },\n getCuratedProducts: {\n data: [\n createProduct('cur-1', 'Curated Product 1', '79.99'),\n createProduct('cur-2', 'Curated Product 2', '129.99'),\n ],\n pageInfo: createPagination(),\n },\n getSavedProducts: {\n data: [createProduct('saved-1', 'Saved Product 1', '49.99')],\n pageInfo: createPagination(),\n },\n getRecentProducts: {\n data: [createProduct('recent-1', 'Recent Product 1', '59.99')],\n pageInfo: createPagination(),\n },\n getProductSearch: {\n data: [createProduct('search-3', 'Search Product 3', '39.99')],\n pageInfo: createPagination(),\n },\n getProducts: {data: [createProduct('prod-2', 'Product 2', '19.99')]},\n getProduct: {data: createProduct('prod-1', 'Sample Product')},\n getProductVariants: {\n data: [\n {\n id: 'variant-1',\n isFavorited: false,\n image: {url: 'https://example.com/variant-1.jpg'},\n price: {amount: '19.99', currencyCode: 'USD'},\n compareAtPrice: {amount: '29.99', currencyCode: 'USD'},\n },\n ],\n pageInfo: createPagination(),\n },\n getProductMedia: {\n data: [\n {\n id: 'media-1',\n image: {url: 'https://example.com/media-1.jpg'},\n mediaContentType: 'IMAGE',\n alt: 'Sample product image',\n },\n ],\n pageInfo: createPagination(),\n },\n getShop: {data: createShop('shop-1', 'Sample Shop')},\n getRecentShops: {\n data: [createShop('recent-shop-1', 'Recent Shop 1')],\n pageInfo: createPagination(),\n },\n getFollowedShops: {\n data: [createShop('followed-shop-1', 'Followed Shop 1')],\n pageInfo: createPagination(),\n },\n previewProductInAr: undefined,\n } as const\n\n const mock: Partial<ShopActions> = {}\n for (const key in results) {\n if (Object.prototype.hasOwnProperty.call(results, key)) {\n // @ts-expect-error: dynamic assignment is safe due to exhaustive mapping\n mock[key] = makeMockMethod(\n key as keyof ShopActions,\n results[key as keyof typeof results]\n )\n }\n }\n return mock as ShopActions\n}\n\n// Detect if running on a mobile device\nconst isMobile = (): boolean => {\n const userAgent = navigator.userAgent.toLowerCase()\n const isIOS = /iphone|ipad|ipod/.test(userAgent)\n const isAndroid = /android/.test(userAgent)\n\n return isIOS || isAndroid\n}\n\nexport const injectMocks = () => {\n // Only inject mocks if we aren't on a mobile device\n if (isMobile()) {\n return\n }\n\n if (!window.minisSDK) {\n window.minisSDK = makeMockActions()\n window.minisParams = {\n handle: 'mock-handle',\n initialUrl: '/mock-initial-url',\n platform: 'web',\n }\n }\n}\n"],"names":["createProduct","id","title","price","compareAtPrice","createShop","name","options","featuredImages","_","i","createPagination","hasNext","createProductList","products","makeMockMethod","key","result","params","makeMockActions","results","mock","isMobile","userAgent","isIOS","isAndroid","injectMocks"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { __module as a } from "../../../../../../../../_virtual/extends.js";
|
|
2
|
+
var p;
|
|
3
|
+
function x() {
|
|
4
|
+
return p ? a.exports : (p = 1, function(r) {
|
|
5
|
+
function e() {
|
|
6
|
+
return r.exports = e = Object.assign ? Object.assign.bind() : function(o) {
|
|
7
|
+
for (var t = 1; t < arguments.length; t++) {
|
|
8
|
+
var s = arguments[t];
|
|
9
|
+
for (var n in s) ({}).hasOwnProperty.call(s, n) && (o[n] = s[n]);
|
|
10
|
+
}
|
|
11
|
+
return o;
|
|
12
|
+
}, r.exports.__esModule = !0, r.exports.default = r.exports, e.apply(null, arguments);
|
|
13
|
+
}
|
|
14
|
+
r.exports = e, r.exports.__esModule = !0, r.exports.default = r.exports;
|
|
15
|
+
}(a), a.exports);
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
x as __require
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=extends.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extends.js","sources":["../../../../../../../../../node_modules/.pnpm/@babel+runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js"],"sourcesContent":["function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_extends","module","n","e","t","r"],"mappings":";;;;AAAA,aAASA,IAAW;AAClB,aAAOC,EAAiB,UAAAD,IAAW,OAAO,SAAS,OAAO,OAAO,SAAS,SAAUE,GAAG;AACrF,iBAASC,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AACzC,cAAIC,IAAI,UAAUD,CAAC;AACnB,mBAASE,KAAKD,EAAG,EAAC,CAAE,GAAE,eAAe,KAAKA,GAAGC,CAAC,MAAMH,EAAEG,CAAC,IAAID,EAAEC,CAAC;AAAA,QACpE;AACI,eAAOH;AAAA,MACR,GAAED,uBAA4B,IAAMA,EAAO,QAAQ,UAAaA,EAAO,SAASD,EAAS,MAAM,MAAM,SAAS;AAAA,IACjH;AACA,IAAAC,EAAA,UAAiBD,GAAUC,EAA4B,QAAA,aAAA,IAAMA,EAAO,QAAQ,UAAaA,EAAO;AAAA;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import w from "../../../../../../../../_virtual/window.js";
|
|
2
|
+
var s = function(r) {
|
|
3
|
+
return r.toString(2).length;
|
|
4
|
+
}, T = function(r) {
|
|
5
|
+
return Math.ceil(s(r) / 8);
|
|
6
|
+
}, U = function(r) {
|
|
7
|
+
return ArrayBuffer.isView === "function" ? ArrayBuffer.isView(r) : r && r.buffer instanceof ArrayBuffer;
|
|
8
|
+
}, x = function(r) {
|
|
9
|
+
return U(r);
|
|
10
|
+
}, h = function(r) {
|
|
11
|
+
return r instanceof Uint8Array ? r : (!Array.isArray(r) && !x(r) && !(r instanceof ArrayBuffer) && (typeof r != "number" || typeof r == "number" && r !== r ? r = 0 : r = [r]), new Uint8Array(r && r.buffer || r, r && r.byteOffset || 0, r && r.byteLength || 0));
|
|
12
|
+
}, t = w.BigInt || Number, A = [t("0x1"), t("0x100"), t("0x10000"), t("0x1000000"), t("0x100000000"), t("0x10000000000"), t("0x1000000000000"), t("0x100000000000000"), t("0x10000000000000000")];
|
|
13
|
+
(function() {
|
|
14
|
+
var i = new Uint16Array([65484]), r = new Uint8Array(i.buffer, i.byteOffset, i.byteLength);
|
|
15
|
+
return r[0] === 255 ? "big" : r[0] === 204 ? "little" : "unknown";
|
|
16
|
+
})();
|
|
17
|
+
var C = function(r, n) {
|
|
18
|
+
var f = n === void 0 ? {} : n, o = f.signed, v = o === void 0 ? !1 : o, u = f.le, e = u === void 0 ? !1 : u;
|
|
19
|
+
r = h(r);
|
|
20
|
+
var a = e ? "reduce" : "reduceRight", c = r[a] ? r[a] : Array.prototype[a], y = c.call(r, function(g, B, p) {
|
|
21
|
+
var d = e ? p : Math.abs(p + 1 - r.length);
|
|
22
|
+
return g + t(B) * A[d];
|
|
23
|
+
}, t(0));
|
|
24
|
+
if (v) {
|
|
25
|
+
var l = A[r.length] / t(2) - t(1);
|
|
26
|
+
y = t(y), y > l && (y -= l, y -= l, y -= t(2));
|
|
27
|
+
}
|
|
28
|
+
return Number(y);
|
|
29
|
+
}, L = function(r, n) {
|
|
30
|
+
var f = {}, o = f.le, v = o === void 0 ? !1 : o;
|
|
31
|
+
(typeof r != "bigint" && typeof r != "number" || typeof r == "number" && r !== r) && (r = 0), r = t(r);
|
|
32
|
+
for (var u = T(r), e = new Uint8Array(new ArrayBuffer(u)), a = 0; a < u; a++) {
|
|
33
|
+
var c = v ? a : Math.abs(a + 1 - e.length);
|
|
34
|
+
e[c] = Number(r / A[a] & t(255)), r < 0 && (e[c] = Math.abs(~e[c]), e[c] -= a === 0 ? 1 : 2);
|
|
35
|
+
}
|
|
36
|
+
return e;
|
|
37
|
+
}, F = function(r, n) {
|
|
38
|
+
if (typeof r != "string" && r && typeof r.toString == "function" && (r = r.toString()), typeof r != "string")
|
|
39
|
+
return new Uint8Array();
|
|
40
|
+
n || (r = unescape(encodeURIComponent(r)));
|
|
41
|
+
for (var f = new Uint8Array(r.length), o = 0; o < r.length; o++)
|
|
42
|
+
f[o] = r.charCodeAt(o);
|
|
43
|
+
return f;
|
|
44
|
+
}, M = function() {
|
|
45
|
+
for (var r = arguments.length, n = new Array(r), f = 0; f < r; f++)
|
|
46
|
+
n[f] = arguments[f];
|
|
47
|
+
if (n = n.filter(function(e) {
|
|
48
|
+
return e && (e.byteLength || e.length) && typeof e != "string";
|
|
49
|
+
}), n.length <= 1)
|
|
50
|
+
return h(n[0]);
|
|
51
|
+
var o = n.reduce(function(e, a, c) {
|
|
52
|
+
return e + (a.byteLength || a.length);
|
|
53
|
+
}, 0), v = new Uint8Array(o), u = 0;
|
|
54
|
+
return n.forEach(function(e) {
|
|
55
|
+
e = h(e), v.set(e, u), u += e.byteLength;
|
|
56
|
+
}), v;
|
|
57
|
+
}, $ = function(r, n, f) {
|
|
58
|
+
var o = f === void 0 ? {} : f, v = o.offset, u = v === void 0 ? 0 : v, e = o.mask, a = e === void 0 ? [] : e;
|
|
59
|
+
r = h(r), n = h(n);
|
|
60
|
+
var c = n.every ? n.every : Array.prototype.every;
|
|
61
|
+
return n.length && r.length - u >= n.length && // ie 11 doesn't support every on uin8
|
|
62
|
+
c.call(n, function(y, l) {
|
|
63
|
+
var g = a[l] ? a[l] & r[u + l] : r[u + l];
|
|
64
|
+
return y === g;
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
$ as bytesMatch,
|
|
69
|
+
C as bytesToNumber,
|
|
70
|
+
M as concatTypedArrays,
|
|
71
|
+
s as countBits,
|
|
72
|
+
T as countBytes,
|
|
73
|
+
U as isArrayBufferView,
|
|
74
|
+
x as isTypedArray,
|
|
75
|
+
L as numberToBytes,
|
|
76
|
+
F as stringToBytes,
|
|
77
|
+
h as toUint8
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=byte-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byte-helpers.js","sources":["../../../../../../../../../node_modules/.pnpm/@videojs+vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/byte-helpers.js"],"sourcesContent":["import window from 'global/window'; // const log2 = Math.log2 ? Math.log2 : (x) => (Math.log(x) / Math.log(2));\n\nvar repeat = function repeat(str, len) {\n var acc = '';\n\n while (len--) {\n acc += str;\n }\n\n return acc;\n}; // count the number of bits it would take to represent a number\n// we used to do this with log2 but BigInt does not support builtin math\n// Math.ceil(log2(x));\n\n\nexport var countBits = function countBits(x) {\n return x.toString(2).length;\n}; // count the number of whole bytes it would take to represent a number\n\nexport var countBytes = function countBytes(x) {\n return Math.ceil(countBits(x) / 8);\n};\nexport var padStart = function padStart(b, len, str) {\n if (str === void 0) {\n str = ' ';\n }\n\n return (repeat(str, len) + b.toString()).slice(-len);\n};\nexport var isArrayBufferView = function isArrayBufferView(obj) {\n if (ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(obj);\n }\n\n return obj && obj.buffer instanceof ArrayBuffer;\n};\nexport var isTypedArray = function isTypedArray(obj) {\n return isArrayBufferView(obj);\n};\nexport var toUint8 = function toUint8(bytes) {\n if (bytes instanceof Uint8Array) {\n return bytes;\n }\n\n if (!Array.isArray(bytes) && !isTypedArray(bytes) && !(bytes instanceof ArrayBuffer)) {\n // any non-number or NaN leads to empty uint8array\n // eslint-disable-next-line\n if (typeof bytes !== 'number' || typeof bytes === 'number' && bytes !== bytes) {\n bytes = 0;\n } else {\n bytes = [bytes];\n }\n }\n\n return new Uint8Array(bytes && bytes.buffer || bytes, bytes && bytes.byteOffset || 0, bytes && bytes.byteLength || 0);\n};\nexport var toHexString = function toHexString(bytes) {\n bytes = toUint8(bytes);\n var str = '';\n\n for (var i = 0; i < bytes.length; i++) {\n str += padStart(bytes[i].toString(16), 2, '0');\n }\n\n return str;\n};\nexport var toBinaryString = function toBinaryString(bytes) {\n bytes = toUint8(bytes);\n var str = '';\n\n for (var i = 0; i < bytes.length; i++) {\n str += padStart(bytes[i].toString(2), 8, '0');\n }\n\n return str;\n};\nvar BigInt = window.BigInt || Number;\nvar BYTE_TABLE = [BigInt('0x1'), BigInt('0x100'), BigInt('0x10000'), BigInt('0x1000000'), BigInt('0x100000000'), BigInt('0x10000000000'), BigInt('0x1000000000000'), BigInt('0x100000000000000'), BigInt('0x10000000000000000')];\nexport var ENDIANNESS = function () {\n var a = new Uint16Array([0xFFCC]);\n var b = new Uint8Array(a.buffer, a.byteOffset, a.byteLength);\n\n if (b[0] === 0xFF) {\n return 'big';\n }\n\n if (b[0] === 0xCC) {\n return 'little';\n }\n\n return 'unknown';\n}();\nexport var IS_BIG_ENDIAN = ENDIANNESS === 'big';\nexport var IS_LITTLE_ENDIAN = ENDIANNESS === 'little';\nexport var bytesToNumber = function bytesToNumber(bytes, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$signed = _ref.signed,\n signed = _ref$signed === void 0 ? false : _ref$signed,\n _ref$le = _ref.le,\n le = _ref$le === void 0 ? false : _ref$le;\n\n bytes = toUint8(bytes);\n var fn = le ? 'reduce' : 'reduceRight';\n var obj = bytes[fn] ? bytes[fn] : Array.prototype[fn];\n var number = obj.call(bytes, function (total, byte, i) {\n var exponent = le ? i : Math.abs(i + 1 - bytes.length);\n return total + BigInt(byte) * BYTE_TABLE[exponent];\n }, BigInt(0));\n\n if (signed) {\n var max = BYTE_TABLE[bytes.length] / BigInt(2) - BigInt(1);\n number = BigInt(number);\n\n if (number > max) {\n number -= max;\n number -= max;\n number -= BigInt(2);\n }\n }\n\n return Number(number);\n};\nexport var numberToBytes = function numberToBytes(number, _temp2) {\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n _ref2$le = _ref2.le,\n le = _ref2$le === void 0 ? false : _ref2$le;\n\n // eslint-disable-next-line\n if (typeof number !== 'bigint' && typeof number !== 'number' || typeof number === 'number' && number !== number) {\n number = 0;\n }\n\n number = BigInt(number);\n var byteCount = countBytes(number);\n var bytes = new Uint8Array(new ArrayBuffer(byteCount));\n\n for (var i = 0; i < byteCount; i++) {\n var byteIndex = le ? i : Math.abs(i + 1 - bytes.length);\n bytes[byteIndex] = Number(number / BYTE_TABLE[i] & BigInt(0xFF));\n\n if (number < 0) {\n bytes[byteIndex] = Math.abs(~bytes[byteIndex]);\n bytes[byteIndex] -= i === 0 ? 1 : 2;\n }\n }\n\n return bytes;\n};\nexport var bytesToString = function bytesToString(bytes) {\n if (!bytes) {\n return '';\n } // TODO: should toUint8 handle cases where we only have 8 bytes\n // but report more since this is a Uint16+ Array?\n\n\n bytes = Array.prototype.slice.call(bytes);\n var string = String.fromCharCode.apply(null, toUint8(bytes));\n\n try {\n return decodeURIComponent(escape(string));\n } catch (e) {// if decodeURIComponent/escape fails, we are dealing with partial\n // or full non string data. Just return the potentially garbled string.\n }\n\n return string;\n};\nexport var stringToBytes = function stringToBytes(string, stringIsBytes) {\n if (typeof string !== 'string' && string && typeof string.toString === 'function') {\n string = string.toString();\n }\n\n if (typeof string !== 'string') {\n return new Uint8Array();\n } // If the string already is bytes, we don't have to do this\n // otherwise we do this so that we split multi length characters\n // into individual bytes\n\n\n if (!stringIsBytes) {\n string = unescape(encodeURIComponent(string));\n }\n\n var view = new Uint8Array(string.length);\n\n for (var i = 0; i < string.length; i++) {\n view[i] = string.charCodeAt(i);\n }\n\n return view;\n};\nexport var concatTypedArrays = function concatTypedArrays() {\n for (var _len = arguments.length, buffers = new Array(_len), _key = 0; _key < _len; _key++) {\n buffers[_key] = arguments[_key];\n }\n\n buffers = buffers.filter(function (b) {\n return b && (b.byteLength || b.length) && typeof b !== 'string';\n });\n\n if (buffers.length <= 1) {\n // for 0 length we will return empty uint8\n // for 1 length we return the first uint8\n return toUint8(buffers[0]);\n }\n\n var totalLen = buffers.reduce(function (total, buf, i) {\n return total + (buf.byteLength || buf.length);\n }, 0);\n var tempBuffer = new Uint8Array(totalLen);\n var offset = 0;\n buffers.forEach(function (buf) {\n buf = toUint8(buf);\n tempBuffer.set(buf, offset);\n offset += buf.byteLength;\n });\n return tempBuffer;\n};\n/**\n * Check if the bytes \"b\" are contained within bytes \"a\".\n *\n * @param {Uint8Array|Array} a\n * Bytes to check in\n *\n * @param {Uint8Array|Array} b\n * Bytes to check for\n *\n * @param {Object} options\n * options\n *\n * @param {Array|Uint8Array} [offset=0]\n * offset to use when looking at bytes in a\n *\n * @param {Array|Uint8Array} [mask=[]]\n * mask to use on bytes before comparison.\n *\n * @return {boolean}\n * If all bytes in b are inside of a, taking into account\n * bit masks.\n */\n\nexport var bytesMatch = function bytesMatch(a, b, _temp3) {\n var _ref3 = _temp3 === void 0 ? {} : _temp3,\n _ref3$offset = _ref3.offset,\n offset = _ref3$offset === void 0 ? 0 : _ref3$offset,\n _ref3$mask = _ref3.mask,\n mask = _ref3$mask === void 0 ? [] : _ref3$mask;\n\n a = toUint8(a);\n b = toUint8(b); // ie 11 does not support uint8 every\n\n var fn = b.every ? b.every : Array.prototype.every;\n return b.length && a.length - offset >= b.length && // ie 11 doesn't support every on uin8\n fn.call(b, function (bByte, i) {\n var aByte = mask[i] ? mask[i] & a[offset + i] : a[offset + i];\n return bByte === aByte;\n });\n};\nexport var sliceBytes = function sliceBytes(src, start, end) {\n if (Uint8Array.prototype.slice) {\n return Uint8Array.prototype.slice.call(src, start, end);\n }\n\n return new Uint8Array(Array.prototype.slice.call(src, start, end));\n};\nexport var reverseBytes = function reverseBytes(src) {\n if (src.reverse) {\n return src.reverse();\n }\n\n return Array.prototype.reverse.call(src);\n};"],"names":["countBits","x","countBytes","isArrayBufferView","obj","isTypedArray","toUint8","bytes","BigInt","window","BYTE_TABLE","a","b","bytesToNumber","_temp","_ref","_ref$signed","signed","_ref$le","le","fn","number","total","byte","i","exponent","max","numberToBytes","_temp2","_ref2","_ref2$le","byteCount","byteIndex","stringToBytes","string","stringIsBytes","view","concatTypedArrays","_len","buffers","_key","totalLen","buf","tempBuffer","offset","bytesMatch","_temp3","_ref3","_ref3$offset","_ref3$mask","mask","bByte","aByte"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import s from "../../../../../../../../_virtual/window.js";
|
|
2
|
+
var u = {
|
|
3
|
+
// to determine mime types
|
|
4
|
+
mp4: /^(av0?1|avc0?[1234]|vp0?9|flac|opus|mp3|mp4a|mp4v|stpp.ttml.im1t)/,
|
|
5
|
+
webm: /^(vp0?[89]|av0?1|opus|vorbis)/,
|
|
6
|
+
ogg: /^(vp0?[89]|theora|flac|opus|vorbis)/,
|
|
7
|
+
// to determine if a codec is audio or video
|
|
8
|
+
video: /^(av0?1|avc0?[1234]|vp0?[89]|hvc1|hev1|theora|mp4v)/,
|
|
9
|
+
audio: /^(mp4a|flac|vorbis|opus|ac-[34]|ec-3|alac|mp3|speex|aac)/,
|
|
10
|
+
text: /^(stpp.ttml.im1t)/,
|
|
11
|
+
// mux.js support regex
|
|
12
|
+
muxerVideo: /^(avc0?1)/,
|
|
13
|
+
muxerAudio: /^(mp4a)/,
|
|
14
|
+
// match nothing as muxer does not support text right now.
|
|
15
|
+
// there cannot never be a character before the start of a string
|
|
16
|
+
// so this matches nothing.
|
|
17
|
+
muxerText: /a^/
|
|
18
|
+
}, d = ["video", "audio", "text"], f = ["Video", "Audio", "Text"], c = function(e) {
|
|
19
|
+
return e && e.replace(/avc1\.(\d+)\.(\d+)/i, function(r, t, a) {
|
|
20
|
+
var i = ("00" + Number(t).toString(16)).slice(-2), p = ("00" + Number(a).toString(16)).slice(-2);
|
|
21
|
+
return "avc1." + i + "00" + p;
|
|
22
|
+
});
|
|
23
|
+
}, C = function(e) {
|
|
24
|
+
e === void 0 && (e = "");
|
|
25
|
+
var r = e.split(","), t = [];
|
|
26
|
+
return r.forEach(function(a) {
|
|
27
|
+
a = a.trim();
|
|
28
|
+
var i;
|
|
29
|
+
d.forEach(function(p) {
|
|
30
|
+
var n = u[p].exec(a.toLowerCase());
|
|
31
|
+
if (!(!n || n.length <= 1)) {
|
|
32
|
+
i = p;
|
|
33
|
+
var v = a.substring(0, n[1].length), m = a.replace(v, "");
|
|
34
|
+
t.push({
|
|
35
|
+
type: v,
|
|
36
|
+
details: m,
|
|
37
|
+
mediaType: p
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}), i || t.push({
|
|
41
|
+
type: a,
|
|
42
|
+
details: "",
|
|
43
|
+
mediaType: "unknown"
|
|
44
|
+
});
|
|
45
|
+
}), t;
|
|
46
|
+
}, T = function(e, r) {
|
|
47
|
+
if (!e.mediaGroups.AUDIO || !r)
|
|
48
|
+
return null;
|
|
49
|
+
var t = e.mediaGroups.AUDIO[r];
|
|
50
|
+
if (!t)
|
|
51
|
+
return null;
|
|
52
|
+
for (var a in t) {
|
|
53
|
+
var i = t[a];
|
|
54
|
+
if (i.default && i.playlists)
|
|
55
|
+
return C(i.playlists[0].attributes.CODECS);
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}, y = function(e) {
|
|
59
|
+
return e === void 0 && (e = ""), u.audio.test(e.trim().toLowerCase());
|
|
60
|
+
}, x = function(e) {
|
|
61
|
+
return e === void 0 && (e = ""), u.text.test(e.trim().toLowerCase());
|
|
62
|
+
}, l = function(e) {
|
|
63
|
+
if (!(!e || typeof e != "string")) {
|
|
64
|
+
var r = e.toLowerCase().split(",").map(function(i) {
|
|
65
|
+
return c(i.trim());
|
|
66
|
+
}), t = "video";
|
|
67
|
+
r.length === 1 && y(r[0]) ? t = "audio" : r.length === 1 && x(r[0]) && (t = "application");
|
|
68
|
+
var a = "mp4";
|
|
69
|
+
return r.every(function(i) {
|
|
70
|
+
return u.mp4.test(i);
|
|
71
|
+
}) ? a = "mp4" : r.every(function(i) {
|
|
72
|
+
return u.webm.test(i);
|
|
73
|
+
}) ? a = "webm" : r.every(function(i) {
|
|
74
|
+
return u.ogg.test(i);
|
|
75
|
+
}) && (a = "ogg"), t + "/" + a + ';codecs="' + e + '"';
|
|
76
|
+
}
|
|
77
|
+
}, b = function(e, r) {
|
|
78
|
+
return e === void 0 && (e = ""), r === void 0 && (r = !1), s.MediaSource && s.MediaSource.isTypeSupported && s.MediaSource.isTypeSupported(l(e)) || r && s.ManagedMediaSource && s.ManagedMediaSource.isTypeSupported && s.ManagedMediaSource.isTypeSupported(l(e)) || !1;
|
|
79
|
+
}, h = function(e) {
|
|
80
|
+
return e === void 0 && (e = ""), e.toLowerCase().split(",").every(function(r) {
|
|
81
|
+
r = r.trim();
|
|
82
|
+
for (var t = 0; t < f.length; t++) {
|
|
83
|
+
var a = f[t];
|
|
84
|
+
if (u["muxer" + a].test(r))
|
|
85
|
+
return !0;
|
|
86
|
+
}
|
|
87
|
+
return !1;
|
|
88
|
+
});
|
|
89
|
+
}, w = "mp4a.40.2", D = "avc1.4d400d";
|
|
90
|
+
export {
|
|
91
|
+
w as DEFAULT_AUDIO_CODEC,
|
|
92
|
+
D as DEFAULT_VIDEO_CODEC,
|
|
93
|
+
b as browserSupportsCodec,
|
|
94
|
+
T as codecsFromDefault,
|
|
95
|
+
l as getMimeForCodec,
|
|
96
|
+
y as isAudioCodec,
|
|
97
|
+
x as isTextCodec,
|
|
98
|
+
h as muxerSupportsCodec,
|
|
99
|
+
C as parseCodecs,
|
|
100
|
+
c as translateLegacyCodec
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=codecs.js.map
|