@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.
Files changed (210) hide show
  1. package/dist/_virtual/___vite-browser-external.js +7 -0
  2. package/dist/_virtual/___vite-browser-external.js.map +1 -0
  3. package/dist/_virtual/__vite-browser-external.js +5 -0
  4. package/dist/_virtual/__vite-browser-external.js.map +1 -0
  5. package/dist/_virtual/_commonjsHelpers.js +24 -4
  6. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  7. package/dist/_virtual/browser-index.js +8 -0
  8. package/dist/_virtual/browser-index.js.map +1 -0
  9. package/dist/_virtual/browser-index2.js +5 -0
  10. package/dist/_virtual/browser-index2.js.map +1 -0
  11. package/dist/_virtual/clock.js +6 -0
  12. package/dist/_virtual/clock.js.map +1 -0
  13. package/dist/_virtual/conventions.js +5 -0
  14. package/dist/_virtual/conventions.js.map +1 -0
  15. package/dist/_virtual/document.js +8 -0
  16. package/dist/_virtual/document.js.map +1 -0
  17. package/dist/_virtual/dom-parser.js +5 -0
  18. package/dist/_virtual/dom-parser.js.map +1 -0
  19. package/dist/_virtual/dom.js +5 -0
  20. package/dist/_virtual/dom.js.map +1 -0
  21. package/dist/_virtual/entities.js +5 -0
  22. package/dist/_virtual/entities.js.map +1 -0
  23. package/dist/_virtual/extends.js +5 -0
  24. package/dist/_virtual/extends.js.map +1 -0
  25. package/dist/_virtual/index10.js +5 -0
  26. package/dist/_virtual/index10.js.map +1 -0
  27. package/dist/_virtual/index11.js +5 -0
  28. package/dist/_virtual/index11.js.map +1 -0
  29. package/dist/_virtual/index2.js +5 -2
  30. package/dist/_virtual/index2.js.map +1 -1
  31. package/dist/_virtual/index3.js +5 -3
  32. package/dist/_virtual/index3.js.map +1 -1
  33. package/dist/_virtual/index5.js +6 -0
  34. package/dist/_virtual/index5.js.map +1 -0
  35. package/dist/_virtual/index6.js +6 -0
  36. package/dist/_virtual/index6.js.map +1 -0
  37. package/dist/_virtual/index7.js +5 -0
  38. package/dist/_virtual/index7.js.map +1 -0
  39. package/dist/_virtual/index8.js +5 -0
  40. package/dist/_virtual/index8.js.map +1 -0
  41. package/dist/_virtual/index9.js +5 -0
  42. package/dist/_virtual/index9.js.map +1 -0
  43. package/dist/_virtual/parse-sidx.js +8 -0
  44. package/dist/_virtual/parse-sidx.js.map +1 -0
  45. package/dist/_virtual/sax.js +5 -0
  46. package/dist/_virtual/sax.js.map +1 -0
  47. package/dist/_virtual/window.js +8 -0
  48. package/dist/_virtual/window.js.map +1 -0
  49. package/dist/components/atoms/video-player.js +121 -0
  50. package/dist/components/atoms/video-player.js.map +1 -0
  51. package/dist/components/commerce/merchant-card.js +236 -106
  52. package/dist/components/commerce/merchant-card.js.map +1 -1
  53. package/dist/index.js +199 -192
  54. package/dist/index.js.map +1 -1
  55. package/dist/mocks.js +114 -87
  56. package/dist/mocks.js.map +1 -1
  57. package/dist/shop-minis-react/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js +20 -0
  58. package/dist/shop-minis-react/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js.map +1 -0
  59. 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
  60. 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
  61. 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
  62. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/codecs.js +102 -0
  63. 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
  64. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/containers.js +149 -0
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/stream.js +33 -0
  83. 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
  84. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/http-handler.js +42 -0
  85. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/http-handler.js.map +1 -0
  86. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/index.js +169 -0
  87. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/index.js.map +1 -0
  88. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/interceptors.js +75 -0
  89. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/interceptors.js.map +1 -0
  90. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/retry.js +70 -0
  91. package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/retry.js.map +1 -0
  92. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js +124 -0
  93. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js.map +1 -0
  94. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js +151 -0
  95. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js.map +1 -0
  96. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js +993 -0
  97. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js.map +1 -0
  98. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js +2146 -0
  99. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js.map +1 -0
  100. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js +14 -0
  101. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js.map +1 -0
  102. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js +346 -0
  103. package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js.map +1 -0
  104. package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js +308 -0
  105. package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js.map +1 -0
  106. package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js +41 -0
  107. package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js.map +1 -0
  108. package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js +53 -0
  109. package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js.map +1 -0
  110. package/dist/shop-minis-react/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +157 -0
  111. package/dist/shop-minis-react/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js.map +1 -0
  112. package/dist/shop-minis-react/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js +103 -0
  113. package/dist/shop-minis-react/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js.map +1 -0
  114. package/dist/shop-minis-react/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js +269 -0
  115. package/dist/shop-minis-react/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js.map +1 -0
  116. package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/document.js +13 -0
  117. package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/document.js.map +1 -0
  118. package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/window.js +12 -0
  119. package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/window.js.map +1 -0
  120. package/dist/shop-minis-react/node_modules/.pnpm/is-arrayish@0.3.2/node_modules/is-arrayish/index.js +10 -0
  121. package/dist/shop-minis-react/node_modules/.pnpm/is-arrayish@0.3.2/node_modules/is-arrayish/index.js.map +1 -0
  122. package/dist/shop-minis-react/node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js +18 -0
  123. package/dist/shop-minis-react/node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js.map +1 -0
  124. package/dist/shop-minis-react/node_modules/.pnpm/m3u8-parser@7.2.0/node_modules/m3u8-parser/dist/m3u8-parser.es.js +855 -0
  125. 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
  126. package/dist/shop-minis-react/node_modules/.pnpm/mpd-parser@1.3.1/node_modules/mpd-parser/dist/mpd-parser.es.js +1102 -0
  127. 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
  128. package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/tools/parse-sidx.js +32 -0
  129. 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
  130. package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/clock.js +34 -0
  131. package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/clock.js.map +1 -0
  132. package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/numbers.js +17 -0
  133. package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/numbers.js.map +1 -0
  134. package/dist/shop-minis-react/node_modules/.pnpm/querystringify@2.2.0/node_modules/querystringify/index.js +1 -1
  135. package/dist/shop-minis-react/node_modules/.pnpm/simple-swizzle@0.2.2/node_modules/simple-swizzle/index.js +23 -0
  136. package/dist/shop-minis-react/node_modules/.pnpm/simple-swizzle@0.2.2/node_modules/simple-swizzle/index.js.map +1 -0
  137. 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
  138. package/dist/shop-minis-react/node_modules/.pnpm/video.js@8.23.3/node_modules/video.js/dist/video.es.js +27824 -0
  139. package/dist/shop-minis-react/node_modules/.pnpm/video.js@8.23.3/node_modules/video.js/dist/video.es.js.map +1 -0
  140. 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
  141. 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
  142. package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vtt.js +802 -0
  143. 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
  144. package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttcue.js +188 -0
  145. 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
  146. package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttregion.js +104 -0
  147. 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
  148. package/dist/shop-minis-react.css +1 -1
  149. package/dist/utils/colors.js +6 -0
  150. package/dist/utils/colors.js.map +1 -0
  151. package/dist/utils/merchant-card.js +44 -0
  152. package/dist/utils/merchant-card.js.map +1 -0
  153. package/package.json +5 -1
  154. package/src/components/atoms/video-player.tsx +213 -0
  155. package/src/components/commerce/merchant-card.tsx +219 -49
  156. package/src/components/index.ts +1 -0
  157. package/src/mocks.ts +148 -16
  158. package/src/stories/MerchantCard.stories.tsx +63 -9
  159. package/src/utils/colors.ts +5 -0
  160. package/src/utils/index.ts +1 -0
  161. package/src/utils/merchant-card.ts +99 -0
  162. package/src/hooks/navigation/useCloseMini.doc.ts +0 -32
  163. package/src/hooks/navigation/useCloseMini.example.tsx +0 -7
  164. package/src/hooks/navigation/useDeeplink.doc.ts +0 -32
  165. package/src/hooks/navigation/useDeeplink.example.tsx +0 -7
  166. package/src/hooks/navigation/useShopNavigation.doc.ts +0 -32
  167. package/src/hooks/navigation/useShopNavigation.example.tsx +0 -32
  168. package/src/hooks/product/useCuratedProducts.doc.ts +0 -32
  169. package/src/hooks/product/useCuratedProducts.example.tsx +0 -10
  170. package/src/hooks/product/useProductList.doc.ts +0 -32
  171. package/src/hooks/product/useProductList.example.tsx +0 -9
  172. package/src/hooks/product/useProductListActions.doc.ts +0 -32
  173. package/src/hooks/product/useProductListActions.example.tsx +0 -60
  174. package/src/hooks/product/useProductLists.doc.ts +0 -32
  175. package/src/hooks/product/useProductLists.example.tsx +0 -9
  176. package/src/hooks/product/useProductSearch.doc.ts +0 -32
  177. package/src/hooks/product/useProductSearch.example.tsx +0 -13
  178. package/src/hooks/product/useRecommendedProducts.doc.ts +0 -32
  179. package/src/hooks/product/useRecommendedProducts.example.tsx +0 -7
  180. package/src/hooks/shop/useRecommendedShops.doc.ts +0 -32
  181. package/src/hooks/shop/useRecommendedShops.example.tsx +0 -7
  182. package/src/hooks/shop/useShop.doc.ts +0 -31
  183. package/src/hooks/shop/useShop.example.tsx +0 -7
  184. package/src/hooks/shop/useShopCartActions.doc.ts +0 -32
  185. package/src/hooks/shop/useShopCartActions.example.tsx +0 -28
  186. package/src/hooks/storage/useAsyncStorage.doc.ts +0 -32
  187. package/src/hooks/storage/useAsyncStorage.example.tsx +0 -30
  188. package/src/hooks/storage/useImageUpload.doc.ts +0 -32
  189. package/src/hooks/storage/useImageUpload.example.tsx +0 -20
  190. package/src/hooks/storage/useSecureStorage.doc.ts +0 -32
  191. package/src/hooks/storage/useSecureStorage.example.tsx +0 -23
  192. package/src/hooks/user/useBuyerAttributes.doc.ts +0 -32
  193. package/src/hooks/user/useBuyerAttributes.example.tsx +0 -14
  194. package/src/hooks/user/useCurrentUser.doc.ts +0 -31
  195. package/src/hooks/user/useCurrentUser.example.tsx +0 -7
  196. package/src/hooks/user/useFollowedShopsActions.doc.ts +0 -32
  197. package/src/hooks/user/useFollowedShopsActions.example.tsx +0 -16
  198. package/src/hooks/user/useOrders.doc.ts +0 -32
  199. package/src/hooks/user/useOrders.example.tsx +0 -7
  200. package/src/hooks/user/useRecentProducts.doc.ts +0 -32
  201. package/src/hooks/user/useRecentProducts.example.tsx +0 -13
  202. package/src/hooks/user/useSavedProducts.doc.ts +0 -32
  203. package/src/hooks/user/useSavedProducts.example.tsx +0 -13
  204. package/src/hooks/user/useSavedProductsActions.doc.ts +0 -32
  205. package/src/hooks/user/useSavedProductsActions.example.tsx +0 -32
  206. package/src/hooks/util/useErrorScreen.doc.ts +0 -32
  207. package/src/hooks/util/useErrorScreen.example.tsx +0 -15
  208. package/src/hooks/util/useErrorToast.doc.ts +0 -32
  209. package/src/hooks/util/useErrorToast.example.tsx +0 -15
  210. package/src/hooks/util/useImagePicker.example.tsx +0 -77
package/dist/mocks.js CHANGED
@@ -1,42 +1,55 @@
1
- const t = (e, a, r = "99.99", d) => ({
2
- id: e,
3
- title: a,
4
- price: { amount: r, currencyCode: "USD" },
5
- ...d && {
6
- compareAtPrice: { amount: d, currencyCode: "USD" }
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: { id: "shop1", name: "Mock Shop" },
10
- defaultVariantId: `variant-${e}`,
9
+ shop: d("shop1", "Mock Shop"),
10
+ defaultVariantId: `variant-${t}`,
11
11
  isFavorited: !1,
12
- featuredImage: { url: "https://picsum.photos/400/400", altText: a }
13
- }), i = (e, a) => ({
14
- id: e,
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
- }), o = (e = !1) => ({
27
- hasNextPage: e,
28
- endCursor: e ? "cursor123" : null
29
- }), s = (e, a, r = []) => ({
30
- id: e,
31
- publicId: `public-${e}`,
32
- name: a,
33
- products: r
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 n(e, a) {
36
- return (r) => (console.log(`[Mock Action] ${String(e)}`, r), Promise.resolve({ ok: !0, data: a }));
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 c() {
39
- const e = {
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
- s("list-1", "Wishlist"),
114
- s("list-2", "Favorites")
126
+ i("list-1", "Wishlist"),
127
+ i("list-2", "Favorites")
115
128
  ],
116
- pageInfo: o()
129
+ pageInfo: r()
117
130
  },
118
131
  getProductList: {
119
- data: s("list-1", "Wishlist", [
120
- t("prod-1", "Sample Product")
132
+ data: i("list-1", "Wishlist", [
133
+ e("prod-1", "Sample Product")
121
134
  ]),
122
- pageInfo: o()
135
+ pageInfo: r()
123
136
  },
124
- addProductList: s("list-3", "New List"),
137
+ addProductList: i("list-3", "New List"),
125
138
  removeProductList: void 0,
126
- renameProductList: s("list-1", "Updated Wishlist"),
139
+ renameProductList: i("list-1", "Updated Wishlist"),
127
140
  addProductListItem: void 0,
128
141
  removeProductListItem: void 0,
129
142
  getRecommendedProducts: {
130
143
  data: [
131
- t("rec-1", "Recommended Product 1", "79.99"),
132
- t("rec-2", "Recommended Product 2", "129.99")
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: o()
154
+ pageInfo: r()
135
155
  },
136
156
  getRecommendedShops: {
137
157
  data: [
138
- i("shop-1", "Amazing Store"),
139
- i("shop-2", "Best Deals Shop")
158
+ d("shop-1", "Amazing Store"),
159
+ d("shop-2", "Best Deals Shop")
140
160
  ],
141
- pageInfo: o()
161
+ pageInfo: r()
142
162
  },
143
163
  searchProductsByShop: {
144
164
  data: [
145
- t("search-1", "Search Result 1", "59.99"),
146
- t("search-2", "Search Result 2", "89.99")
165
+ e("search-1", "Search Result 1", "59.99"),
166
+ e("search-2", "Search Result 2", "89.99")
147
167
  ],
148
- pageInfo: o()
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: i("shop-1", "Sample Shop")
183
+ shop: d("shop-1", "Sample Shop")
164
184
  }
165
185
  ],
166
- pageInfo: o()
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
- t("pop-1", "The Hero Snowboard", "702.95"),
181
- t("pop-2", "Snow Jacket", "605.95", "702.00"),
182
- t("pop-3", "Winter Gloves", "89.95")
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: o()
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
- t("cur-1", "Curated Product 1", "79.99"),
193
- t("cur-2", "Curated Product 2", "129.99")
219
+ e("cur-1", "Curated Product 1", "79.99"),
220
+ e("cur-2", "Curated Product 2", "129.99")
194
221
  ],
195
- pageInfo: o()
222
+ pageInfo: r()
196
223
  },
197
224
  getSavedProducts: {
198
- data: [t("saved-1", "Saved Product 1", "49.99")],
199
- pageInfo: o()
225
+ data: [e("saved-1", "Saved Product 1", "49.99")],
226
+ pageInfo: r()
200
227
  },
201
228
  getRecentProducts: {
202
- data: [t("recent-1", "Recent Product 1", "59.99")],
203
- pageInfo: o()
229
+ data: [e("recent-1", "Recent Product 1", "59.99")],
230
+ pageInfo: r()
204
231
  },
205
232
  getProductSearch: {
206
- data: [t("search-3", "Search Product 3", "39.99")],
207
- pageInfo: o()
233
+ data: [e("search-3", "Search Product 3", "39.99")],
234
+ pageInfo: r()
208
235
  },
209
- getProducts: { data: [t("prod-2", "Product 2", "19.99")] },
210
- getProduct: { data: t("prod-1", "Sample Product") },
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: o()
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: o()
259
+ pageInfo: r()
233
260
  },
234
- getShop: { data: i("shop-1", "Sample Shop") },
261
+ getShop: { data: d("shop-1", "Sample Shop") },
235
262
  getRecentShops: {
236
- data: [i("recent-shop-1", "Recent Shop 1")],
237
- pageInfo: o()
263
+ data: [d("recent-shop-1", "Recent Shop 1")],
264
+ pageInfo: r()
238
265
  },
239
266
  getFollowedShops: {
240
- data: [i("followed-shop-1", "Followed Shop 1")],
241
- pageInfo: o()
267
+ data: [d("followed-shop-1", "Followed Shop 1")],
268
+ pageInfo: r()
242
269
  },
243
270
  previewProductInAr: void 0
244
- }, a = {};
245
- for (const r in e)
246
- Object.prototype.hasOwnProperty.call(e, r) && (a[r] = n(
247
- r,
248
- e[r]
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 a;
277
+ return o;
251
278
  }
252
279
  const l = () => {
253
- const e = navigator.userAgent.toLowerCase(), a = /iphone|ipad|ipod/.test(e), r = /android/.test(e);
254
- return a || r;
255
- }, p = () => {
256
- l() || window.minisSDK || (window.minisSDK = c(), window.minisParams = {
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
- t as createProduct,
264
- i as createShop,
265
- p as injectMocks
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]}
@@ -1,4 +1,4 @@
1
- import { s as r } from "../../../../../../../../_virtual/index3.js";
1
+ import { s as r } from "../../../../../../../../_virtual/index6.js";
2
2
  function s() {
3
3
  return r.useSyncExternalStore(
4
4
  e,
@@ -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