@salesforce/retail-react-app 1.0.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/.eslintignore +7 -0
  2. package/.eslintrc.js +25 -0
  3. package/.prettierignore +4 -0
  4. package/.prettierrc.yaml +7 -0
  5. package/CHANGELOG.md +173 -0
  6. package/LICENSE +14 -0
  7. package/README.md +48 -0
  8. package/app/assets/svg/account.svg +3 -0
  9. package/app/assets/svg/alert.svg +3 -0
  10. package/app/assets/svg/basket.svg +3 -0
  11. package/app/assets/svg/brand-logo.svg +10 -0
  12. package/app/assets/svg/cc-amex.svg +7 -0
  13. package/app/assets/svg/cc-cvv.svg +8 -0
  14. package/app/assets/svg/cc-discover.svg +14 -0
  15. package/app/assets/svg/cc-mastercard.svg +8 -0
  16. package/app/assets/svg/cc-visa.svg +11 -0
  17. package/app/assets/svg/check-circle.svg +3 -0
  18. package/app/assets/svg/check.svg +3 -0
  19. package/app/assets/svg/chevron-down.svg +3 -0
  20. package/app/assets/svg/chevron-left.svg +3 -0
  21. package/app/assets/svg/chevron-right.svg +3 -0
  22. package/app/assets/svg/chevron-up.svg +3 -0
  23. package/app/assets/svg/close.svg +3 -0
  24. package/app/assets/svg/dashboard.svg +4 -0
  25. package/app/assets/svg/figma-logo.svg +14 -0
  26. package/app/assets/svg/file.svg +3 -0
  27. package/app/assets/svg/filter.svg +3 -0
  28. package/app/assets/svg/flag-ca.svg +5 -0
  29. package/app/assets/svg/flag-cn.svg +19 -0
  30. package/app/assets/svg/flag-fr.svg +19 -0
  31. package/app/assets/svg/flag-gb.svg +16 -0
  32. package/app/assets/svg/flag-it.svg +29 -0
  33. package/app/assets/svg/flag-jp.svg +10 -0
  34. package/app/assets/svg/flag-us.svg +7 -0
  35. package/app/assets/svg/github-logo.svg +40 -0
  36. package/app/assets/svg/hamburger.svg +8 -0
  37. package/app/assets/svg/heart-solid.svg +7 -0
  38. package/app/assets/svg/heart.svg +3 -0
  39. package/app/assets/svg/info.svg +3 -0
  40. package/app/assets/svg/like.svg +4 -0
  41. package/app/assets/svg/location.svg +3 -0
  42. package/app/assets/svg/lock.svg +3 -0
  43. package/app/assets/svg/paypal.svg +19 -0
  44. package/app/assets/svg/plug.svg +3 -0
  45. package/app/assets/svg/plus.svg +3 -0
  46. package/app/assets/svg/receipt.svg +3 -0
  47. package/app/assets/svg/search.svg +8 -0
  48. package/app/assets/svg/signout.svg +3 -0
  49. package/app/assets/svg/social-facebook.svg +3 -0
  50. package/app/assets/svg/social-instagram.svg +3 -0
  51. package/app/assets/svg/social-pinterest.svg +4 -0
  52. package/app/assets/svg/social-twitter.svg +3 -0
  53. package/app/assets/svg/social-youtube.svg +3 -0
  54. package/app/assets/svg/user.svg +3 -0
  55. package/app/assets/svg/visibility-off.svg +5 -0
  56. package/app/assets/svg/visibility.svg +3 -0
  57. package/app/components/_app/index.jsx +401 -0
  58. package/app/components/_app/index.test.js +85 -0
  59. package/app/components/_app/partials/above-header.jsx +10 -0
  60. package/app/components/_app-config/index.jsx +125 -0
  61. package/app/components/_app-config/index.test.js +77 -0
  62. package/app/components/_error/index.jsx +142 -0
  63. package/app/components/_error/index.test.js +25 -0
  64. package/app/components/action-card/index.jsx +75 -0
  65. package/app/components/address-display/index.jsx +30 -0
  66. package/app/components/basic-tile/index.jsx +65 -0
  67. package/app/components/basic-tile/index.test.js +23 -0
  68. package/app/components/breadcrumb/index.jsx +67 -0
  69. package/app/components/breadcrumb/index.test.js +30 -0
  70. package/app/components/confirmation-modal/index.jsx +111 -0
  71. package/app/components/confirmation-modal/index.test.js +98 -0
  72. package/app/components/drawer-menu/index.jsx +405 -0
  73. package/app/components/drawer-menu/index.test.js +33 -0
  74. package/app/components/dynamic-image/index.jsx +56 -0
  75. package/app/components/field/index.jsx +161 -0
  76. package/app/components/footer/index.jsx +269 -0
  77. package/app/components/footer/index.test.js +22 -0
  78. package/app/components/forms/address-fields.jsx +49 -0
  79. package/app/components/forms/credit-card-fields.jsx +149 -0
  80. package/app/components/forms/form-action-buttons.jsx +55 -0
  81. package/app/components/forms/login-fields.jsx +31 -0
  82. package/app/components/forms/password-requirements.jsx +99 -0
  83. package/app/components/forms/post-checkout-registration-fields.jsx +43 -0
  84. package/app/components/forms/profile-fields.jsx +36 -0
  85. package/app/components/forms/promo-code-fields.jsx +43 -0
  86. package/app/components/forms/registration-fields.jsx +42 -0
  87. package/app/components/forms/reset-password-fields.jsx +31 -0
  88. package/app/components/forms/state-province-options.jsx +75 -0
  89. package/app/components/forms/update-password-fields.jsx +49 -0
  90. package/app/components/forms/useAddressFields.jsx +196 -0
  91. package/app/components/forms/useCreditCardFields.jsx +146 -0
  92. package/app/components/forms/useLoginFields.jsx +52 -0
  93. package/app/components/forms/useProfileFields.jsx +95 -0
  94. package/app/components/forms/usePromoCodeFields.jsx +39 -0
  95. package/app/components/forms/useRegistrationFields.jsx +136 -0
  96. package/app/components/forms/useResetPasswordFields.jsx +40 -0
  97. package/app/components/forms/useUpdatePasswordFields.jsx +89 -0
  98. package/app/components/header/index.jsx +290 -0
  99. package/app/components/header/index.test.js +217 -0
  100. package/app/components/hero/index.jsx +84 -0
  101. package/app/components/hero/index.test.js +40 -0
  102. package/app/components/icons/index.jsx +158 -0
  103. package/app/components/icons/index.test.js +20 -0
  104. package/app/components/image-gallery/index.jsx +176 -0
  105. package/app/components/image-gallery/index.test.js +485 -0
  106. package/app/components/item-variant/index.jsx +33 -0
  107. package/app/components/item-variant/item-attributes.jsx +107 -0
  108. package/app/components/item-variant/item-image.jsx +73 -0
  109. package/app/components/item-variant/item-name.jsx +28 -0
  110. package/app/components/item-variant/item-price.jsx +117 -0
  111. package/app/components/link/index.jsx +32 -0
  112. package/app/components/link/index.test.js +72 -0
  113. package/app/components/links-list/index.jsx +89 -0
  114. package/app/components/links-list/index.test.js +62 -0
  115. package/app/components/list-menu/index.jsx +280 -0
  116. package/app/components/list-menu/index.test.js +44 -0
  117. package/app/components/loading-spinner/index.jsx +46 -0
  118. package/app/components/locale-selector/index.jsx +124 -0
  119. package/app/components/locale-selector/index.test.js +37 -0
  120. package/app/components/locale-text/index.jsx +97 -0
  121. package/app/components/locale-text/index.test.js +36 -0
  122. package/app/components/login/index.jsx +96 -0
  123. package/app/components/nested-accordion/index.jsx +185 -0
  124. package/app/components/nested-accordion/index.test.js +98 -0
  125. package/app/components/offline-banner/index.jsx +40 -0
  126. package/app/components/offline-banner/index.test.js +15 -0
  127. package/app/components/offline-boundary/index.jsx +104 -0
  128. package/app/components/offline-boundary/index.test.js +123 -0
  129. package/app/components/order-summary/index.jsx +331 -0
  130. package/app/components/page-action-placeholder/index.jsx +50 -0
  131. package/app/components/pagination/index.jsx +134 -0
  132. package/app/components/pagination/index.test.js +25 -0
  133. package/app/components/product-item/index.jsx +146 -0
  134. package/app/components/product-item/index.test.js +38 -0
  135. package/app/components/product-scroller/index.jsx +172 -0
  136. package/app/components/product-scroller/index.test.js +98 -0
  137. package/app/components/product-tile/index.jsx +195 -0
  138. package/app/components/product-tile/index.test.js +96 -0
  139. package/app/components/product-view/index.jsx +538 -0
  140. package/app/components/product-view/index.test.js +224 -0
  141. package/app/components/product-view-modal/index.jsx +48 -0
  142. package/app/components/product-view-modal/index.test.js +72 -0
  143. package/app/components/promo-code/index.jsx +162 -0
  144. package/app/components/promo-popover/index.jsx +83 -0
  145. package/app/components/quantity-picker/index.jsx +58 -0
  146. package/app/components/radio-card/index.jsx +75 -0
  147. package/app/components/recommended-products/index.jsx +227 -0
  148. package/app/components/register/index.jsx +114 -0
  149. package/app/components/reset-password/index.jsx +87 -0
  150. package/app/components/responsive/index.jsx +29 -0
  151. package/app/components/scroll-to-top/index.jsx +24 -0
  152. package/app/components/scroll-to-top/index.test.js +46 -0
  153. package/app/components/search/index.jsx +279 -0
  154. package/app/components/search/index.test.js +127 -0
  155. package/app/components/search/partials/recent-searches.jsx +76 -0
  156. package/app/components/search/partials/search-suggestions.jsx +45 -0
  157. package/app/components/search/partials/suggestions.jsx +43 -0
  158. package/app/components/section/index.jsx +68 -0
  159. package/app/components/seo/index.jsx +33 -0
  160. package/app/components/social-icons/index.jsx +101 -0
  161. package/app/components/social-icons/index.test.js +30 -0
  162. package/app/components/swatch-group/index.jsx +77 -0
  163. package/app/components/swatch-group/index.test.js +136 -0
  164. package/app/components/swatch-group/swatch.jsx +94 -0
  165. package/app/components/toggle-card/index.jsx +97 -0
  166. package/app/components/with-registration/index.jsx +58 -0
  167. package/app/components/with-registration/index.test.js +85 -0
  168. package/app/constants.js +109 -0
  169. package/app/contexts/index.js +92 -0
  170. package/app/hooks/einstein-mock-data.js +916 -0
  171. package/app/hooks/index.js +17 -0
  172. package/app/hooks/use-add-to-cart-modal.js +344 -0
  173. package/app/hooks/use-add-to-cart-modal.test.js +625 -0
  174. package/app/hooks/use-auth-modal.js +337 -0
  175. package/app/hooks/use-auth-modal.test.js +365 -0
  176. package/app/hooks/use-currency.js +20 -0
  177. package/app/hooks/use-currency.test.js +41 -0
  178. package/app/hooks/use-current-basket.js +39 -0
  179. package/app/hooks/use-current-customer.js +29 -0
  180. package/app/hooks/use-derived-product.js +77 -0
  181. package/app/hooks/use-derived-product.test.js +69 -0
  182. package/app/hooks/use-einstein.js +512 -0
  183. package/app/hooks/use-einstein.test.js +224 -0
  184. package/app/hooks/use-intersection-observer.js +64 -0
  185. package/app/hooks/use-limit-urls.js +31 -0
  186. package/app/hooks/use-limit-urls.test.js +40 -0
  187. package/app/hooks/use-multi-site.js +36 -0
  188. package/app/hooks/use-multi-site.test.js +53 -0
  189. package/app/hooks/use-navigation.js +37 -0
  190. package/app/hooks/use-navigation.test.js +109 -0
  191. package/app/hooks/use-page-urls.js +35 -0
  192. package/app/hooks/use-page-urls.test.js +39 -0
  193. package/app/hooks/use-pdp-search-params.js +16 -0
  194. package/app/hooks/use-pdp-search-params.test.js +52 -0
  195. package/app/hooks/use-previous.js +17 -0
  196. package/app/hooks/use-product-view-modal.js +93 -0
  197. package/app/hooks/use-product-view-modal.test.js +172 -0
  198. package/app/hooks/use-search-params.js +96 -0
  199. package/app/hooks/use-search-params.test.js +91 -0
  200. package/app/hooks/use-sort-urls.js +33 -0
  201. package/app/hooks/use-sort-urls.test.js +42 -0
  202. package/app/hooks/use-toast.js +68 -0
  203. package/app/hooks/use-toast.test.js +58 -0
  204. package/app/hooks/use-variant.js +32 -0
  205. package/app/hooks/use-variant.test.js +81 -0
  206. package/app/hooks/use-variation-attributes.js +138 -0
  207. package/app/hooks/use-variation-attributes.test.js +119 -0
  208. package/app/hooks/use-variation-params.js +31 -0
  209. package/app/hooks/use-variation-params.test.js +73 -0
  210. package/app/hooks/use-wish-list.js +42 -0
  211. package/app/main.jsx +14 -0
  212. package/app/mocks/basket-with-suit.js +146 -0
  213. package/app/mocks/empty-basket.js +39 -0
  214. package/app/mocks/mock-data.js +5632 -0
  215. package/app/mocks/product-set-winter-lookM.js +1224 -0
  216. package/app/mocks/searchResults.js +144 -0
  217. package/app/mocks/variant-750518699578M.js +434 -0
  218. package/app/page-designer/README.md +102 -0
  219. package/app/page-designer/assets/image-tile/index.jsx +51 -0
  220. package/app/page-designer/assets/image-tile/index.test.js +30 -0
  221. package/app/page-designer/assets/image-with-text/index.jsx +140 -0
  222. package/app/page-designer/assets/image-with-text/index.test.js +38 -0
  223. package/app/page-designer/assets/index.js +9 -0
  224. package/app/page-designer/index.js +10 -0
  225. package/app/page-designer/layouts/carousel/index.jsx +222 -0
  226. package/app/page-designer/layouts/carousel/index.test.js +43 -0
  227. package/app/page-designer/layouts/index.js +14 -0
  228. package/app/page-designer/layouts/mobileGrid1r1c/index.jsx +36 -0
  229. package/app/page-designer/layouts/mobileGrid1r1c/index.test.js +35 -0
  230. package/app/page-designer/layouts/mobileGrid2r1c/index.jsx +37 -0
  231. package/app/page-designer/layouts/mobileGrid2r1c/index.test.js +47 -0
  232. package/app/page-designer/layouts/mobileGrid2r2c/index.jsx +37 -0
  233. package/app/page-designer/layouts/mobileGrid2r2c/index.test.js +71 -0
  234. package/app/page-designer/layouts/mobileGrid2r3c/index.jsx +37 -0
  235. package/app/page-designer/layouts/mobileGrid2r3c/index.test.js +95 -0
  236. package/app/page-designer/layouts/mobileGrid3r1c/index.jsx +37 -0
  237. package/app/page-designer/layouts/mobileGrid3r1c/index.test.js +59 -0
  238. package/app/page-designer/layouts/mobileGrid3r2c/index.jsx +37 -0
  239. package/app/page-designer/layouts/mobileGrid3r2c/index.test.js +95 -0
  240. package/app/page-designer/utils.js +14 -0
  241. package/app/pages/account/addresses.jsx +382 -0
  242. package/app/pages/account/addresses.test.js +120 -0
  243. package/app/pages/account/constant.js +57 -0
  244. package/app/pages/account/index.jsx +237 -0
  245. package/app/pages/account/index.test.js +188 -0
  246. package/app/pages/account/order-detail.jsx +397 -0
  247. package/app/pages/account/order-history.jsx +264 -0
  248. package/app/pages/account/orders.jsx +30 -0
  249. package/app/pages/account/orders.test.js +95 -0
  250. package/app/pages/account/profile.jsx +357 -0
  251. package/app/pages/account/wishlist/index.jsx +195 -0
  252. package/app/pages/account/wishlist/index.mock.js +1481 -0
  253. package/app/pages/account/wishlist/index.test.js +56 -0
  254. package/app/pages/account/wishlist/partials/wishlist-primary-action.jsx +170 -0
  255. package/app/pages/account/wishlist/partials/wishlist-primary-action.mock.js +1623 -0
  256. package/app/pages/account/wishlist/partials/wishlist-primary-action.test.js +99 -0
  257. package/app/pages/account/wishlist/partials/wishlist-secondary-button-group.jsx +120 -0
  258. package/app/pages/account/wishlist/partials/wishlist-secondary-button-group.test.js +391 -0
  259. package/app/pages/cart/index.jsx +476 -0
  260. package/app/pages/cart/index.test.js +481 -0
  261. package/app/pages/cart/partials/cart-cta.jsx +46 -0
  262. package/app/pages/cart/partials/cart-secondary-button-group.jsx +135 -0
  263. package/app/pages/cart/partials/cart-secondary-button-group.test.js +103 -0
  264. package/app/pages/cart/partials/cart-skeleton.jsx +93 -0
  265. package/app/pages/cart/partials/cart-title.jsx +27 -0
  266. package/app/pages/cart/partials/empty-cart.jsx +86 -0
  267. package/app/pages/checkout/confirmation.jsx +541 -0
  268. package/app/pages/checkout/confirmation.mock.js +450 -0
  269. package/app/pages/checkout/confirmation.test.js +114 -0
  270. package/app/pages/checkout/index.jsx +169 -0
  271. package/app/pages/checkout/index.test.js +582 -0
  272. package/app/pages/checkout/partials/cc-radio-group.jsx +122 -0
  273. package/app/pages/checkout/partials/checkout-footer.jsx +140 -0
  274. package/app/pages/checkout/partials/checkout-footer.test.js +16 -0
  275. package/app/pages/checkout/partials/checkout-header.jsx +54 -0
  276. package/app/pages/checkout/partials/checkout-header.test.js +16 -0
  277. package/app/pages/checkout/partials/checkout-skeleton.jsx +52 -0
  278. package/app/pages/checkout/partials/contact-info.jsx +251 -0
  279. package/app/pages/checkout/partials/contact-info.test.js +43 -0
  280. package/app/pages/checkout/partials/payment-form.jsx +97 -0
  281. package/app/pages/checkout/partials/payment.jsx +276 -0
  282. package/app/pages/checkout/partials/shipping-address-selection.jsx +377 -0
  283. package/app/pages/checkout/partials/shipping-address.jsx +132 -0
  284. package/app/pages/checkout/partials/shipping-options.jsx +232 -0
  285. package/app/pages/checkout/util/checkout-context.js +94 -0
  286. package/app/pages/home/data.js +134 -0
  287. package/app/pages/home/index.jsx +301 -0
  288. package/app/pages/home/index.test.js +23 -0
  289. package/app/pages/login/index.jsx +123 -0
  290. package/app/pages/login/index.test.js +229 -0
  291. package/app/pages/login-redirect/index.jsx +23 -0
  292. package/app/pages/login-redirect/index.test.js +16 -0
  293. package/app/pages/page-not-found/index.jsx +90 -0
  294. package/app/pages/page-not-found/index.test.js +31 -0
  295. package/app/pages/product-detail/index.jsx +394 -0
  296. package/app/pages/product-detail/index.mock.js +197 -0
  297. package/app/pages/product-detail/index.test.js +162 -0
  298. package/app/pages/product-detail/partials/information-accordion.jsx +121 -0
  299. package/app/pages/product-list/index.jsx +735 -0
  300. package/app/pages/product-list/index.test.js +180 -0
  301. package/app/pages/product-list/partials/above-page-header.jsx +10 -0
  302. package/app/pages/product-list/partials/checkbox-refinements.jsx +41 -0
  303. package/app/pages/product-list/partials/checkbox-refinements.test.js +53 -0
  304. package/app/pages/product-list/partials/color-refinements.jsx +88 -0
  305. package/app/pages/product-list/partials/empty-results.jsx +118 -0
  306. package/app/pages/product-list/partials/link-refinements.jsx +38 -0
  307. package/app/pages/product-list/partials/page-header.jsx +42 -0
  308. package/app/pages/product-list/partials/radio-refinements.jsx +60 -0
  309. package/app/pages/product-list/partials/refinements.jsx +144 -0
  310. package/app/pages/product-list/partials/selected-refinements.jsx +100 -0
  311. package/app/pages/product-list/partials/size-refinements.jsx +55 -0
  312. package/app/pages/registration/index.jsx +87 -0
  313. package/app/pages/registration/index.test.jsx +132 -0
  314. package/app/pages/reset-password/index.jsx +112 -0
  315. package/app/pages/reset-password/index.test.jsx +141 -0
  316. package/app/request-processor.js +118 -0
  317. package/app/request-processor.test.js +23 -0
  318. package/app/routes.jsx +111 -0
  319. package/app/routes.test.js +13 -0
  320. package/app/ssr.js +70 -0
  321. package/app/static/ico/favicon.ico +0 -0
  322. package/app/static/img/global/app-icon-192.png +0 -0
  323. package/app/static/img/global/app-icon-512.png +0 -0
  324. package/app/static/img/global/apple-touch-icon.png +0 -0
  325. package/app/static/img/hero.png +0 -0
  326. package/app/static/manifest.json +19 -0
  327. package/app/static/robots.txt +2 -0
  328. package/app/theme/components/base/accordion.js +21 -0
  329. package/app/theme/components/base/alert.js +17 -0
  330. package/app/theme/components/base/badge.js +25 -0
  331. package/app/theme/components/base/button.js +77 -0
  332. package/app/theme/components/base/checkbox.js +30 -0
  333. package/app/theme/components/base/container.js +17 -0
  334. package/app/theme/components/base/drawer.js +26 -0
  335. package/app/theme/components/base/formLabel.js +13 -0
  336. package/app/theme/components/base/icon.js +13 -0
  337. package/app/theme/components/base/input.js +44 -0
  338. package/app/theme/components/base/modal.js +11 -0
  339. package/app/theme/components/base/popover.js +61 -0
  340. package/app/theme/components/base/radio.js +33 -0
  341. package/app/theme/components/base/select.js +15 -0
  342. package/app/theme/components/base/skeleton.js +12 -0
  343. package/app/theme/components/base/tooltip.js +19 -0
  344. package/app/theme/components/project/_app.js +25 -0
  345. package/app/theme/components/project/breadcrumb.js +25 -0
  346. package/app/theme/components/project/checkout-footer.js +35 -0
  347. package/app/theme/components/project/drawer-menu.js +66 -0
  348. package/app/theme/components/project/footer.js +84 -0
  349. package/app/theme/components/project/header.js +84 -0
  350. package/app/theme/components/project/image-gallery.js +59 -0
  351. package/app/theme/components/project/links-list.js +43 -0
  352. package/app/theme/components/project/list-menu.js +91 -0
  353. package/app/theme/components/project/locale-selector.js +42 -0
  354. package/app/theme/components/project/nested-accordion.js +26 -0
  355. package/app/theme/components/project/offline-banner.js +25 -0
  356. package/app/theme/components/project/pagination.js +22 -0
  357. package/app/theme/components/project/product-tile.js +32 -0
  358. package/app/theme/components/project/social-icons.js +52 -0
  359. package/app/theme/components/project/swatch-group.js +115 -0
  360. package/app/theme/foundations/colors.js +170 -0
  361. package/app/theme/foundations/gradients.js +9 -0
  362. package/app/theme/foundations/layerStyles.js +41 -0
  363. package/app/theme/foundations/shadows.js +9 -0
  364. package/app/theme/foundations/sizes.js +18 -0
  365. package/app/theme/foundations/space.js +9 -0
  366. package/app/theme/foundations/styles.js +21 -0
  367. package/app/theme/index.js +104 -0
  368. package/app/utils/cc-utils.js +112 -0
  369. package/app/utils/cc-utils.test.js +41 -0
  370. package/app/utils/image-groups-utils.js +62 -0
  371. package/app/utils/image-groups-utils.test.js +65 -0
  372. package/app/utils/locale.js +78 -0
  373. package/app/utils/locale.test.js +112 -0
  374. package/app/utils/password-utils.js +21 -0
  375. package/app/utils/phone-utils.js +22 -0
  376. package/app/utils/phone-utils.test.js +15 -0
  377. package/app/utils/product-utils.js +35 -0
  378. package/app/utils/product-utils.test.js +51 -0
  379. package/app/utils/responsive-image.js +198 -0
  380. package/app/utils/responsive-image.test.js +170 -0
  381. package/app/utils/routes-utils.js +111 -0
  382. package/app/utils/routes-utils.test.js +291 -0
  383. package/app/utils/site-utils.js +222 -0
  384. package/app/utils/site-utils.test.js +376 -0
  385. package/app/utils/test-utils.js +257 -0
  386. package/app/utils/url.js +291 -0
  387. package/app/utils/url.test.js +421 -0
  388. package/app/utils/utils.js +201 -0
  389. package/app/utils/utils.test.js +182 -0
  390. package/babel.config.js +7 -0
  391. package/cache-hash-config.json +8 -0
  392. package/config/default.js +64 -0
  393. package/config/mocks/default.js +131 -0
  394. package/config/sites.js +78 -0
  395. package/jest-setup.js +191 -0
  396. package/jest.config.js +50 -0
  397. package/jsconfig.json +13 -0
  398. package/package.json +105 -0
  399. package/scripts/extract-default-messages.js +92 -0
  400. package/tests/lighthouserc.js +37 -0
  401. package/translations/README.md +127 -0
  402. package/translations/compiled/de-DE.json +3212 -0
  403. package/translations/compiled/en-GB.json +3212 -0
  404. package/translations/compiled/en-US.json +3212 -0
  405. package/translations/compiled/en-XA.json +6948 -0
  406. package/translations/compiled/es-MX.json +3216 -0
  407. package/translations/compiled/fr-FR.json +3216 -0
  408. package/translations/compiled/it-IT.json +3188 -0
  409. package/translations/compiled/ja-JP.json +3200 -0
  410. package/translations/compiled/ko-KR.json +3180 -0
  411. package/translations/compiled/pt-BR.json +3220 -0
  412. package/translations/compiled/zh-CN.json +3212 -0
  413. package/translations/compiled/zh-TW.json +3208 -0
  414. package/translations/de-DE.json +1417 -0
  415. package/translations/en-GB.json +1417 -0
  416. package/translations/en-US.json +1417 -0
  417. package/translations/es-MX.json +1417 -0
  418. package/translations/fr-FR.json +1417 -0
  419. package/translations/it-IT.json +1417 -0
  420. package/translations/ja-JP.json +1417 -0
  421. package/translations/ko-KR.json +1417 -0
  422. package/translations/pt-BR.json +1417 -0
  423. package/translations/zh-CN.json +1417 -0
  424. package/translations/zh-TW.json +1417 -0
  425. package/worker/main.js +36 -0
@@ -0,0 +1,1481 @@
1
+ /*
2
+ * Copyright (c) 2023, Salesforce, Inc.
3
+ * All rights reserved.
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+
8
+ export const mockedEmptyWishList = {
9
+ limit: 1,
10
+ data: [
11
+ {
12
+ creationDate: '2023-03-07T19:57:28.000Z',
13
+ event: {},
14
+ id: 'e41812c0545ec3cafcbae8c6e8',
15
+ lastModified: '2023-03-07T19:57:28.000Z',
16
+ public: false,
17
+ type: 'wish_list'
18
+ }
19
+ ],
20
+ total: 1
21
+ }
22
+
23
+ export const mockedProductLists = {
24
+ limit: 1,
25
+ data: [
26
+ {
27
+ creationDate: '2023-01-20T21:23:38.000Z',
28
+ customerProductListItems: [
29
+ {
30
+ id: '2790d16db84d81f1280d1fcf53',
31
+ priority: 1,
32
+ productId: 'P0150M',
33
+ public: false,
34
+ purchasedQuantity: 0,
35
+ quantity: 13,
36
+ type: 'product'
37
+ },
38
+ {
39
+ id: '6f29c03c299b52d1acb3a9d4fd',
40
+ priority: 1,
41
+ productId: 'fall-lookM',
42
+ public: false,
43
+ purchasedQuantity: 0,
44
+ quantity: 18,
45
+ type: 'product'
46
+ },
47
+ {
48
+ id: '5fb9c25457924db4da03e1db7a',
49
+ priority: 1,
50
+ productId: 'Spring-look-2M',
51
+ public: false,
52
+ purchasedQuantity: 0,
53
+ quantity: 6,
54
+ type: 'product'
55
+ },
56
+ {
57
+ id: 'd6a2ebfd81275d58c53ac5138f',
58
+ priority: 1,
59
+ productId: '25518009M',
60
+ public: false,
61
+ purchasedQuantity: 0,
62
+ quantity: 1,
63
+ type: 'product'
64
+ },
65
+ {
66
+ id: 'e2777b597ce49264c51bf4ad15',
67
+ priority: 1,
68
+ productId: 'P0048M',
69
+ public: false,
70
+ purchasedQuantity: 0,
71
+ quantity: 1,
72
+ type: 'product'
73
+ },
74
+ {
75
+ id: '2bbf46c9459da726b9bb2d1f68',
76
+ priority: 1,
77
+ productId: '25565826M',
78
+ public: false,
79
+ purchasedQuantity: 0,
80
+ quantity: 1,
81
+ type: 'product'
82
+ },
83
+ {
84
+ id: '9863569ead5c16ff2aee5f2e32',
85
+ priority: 1,
86
+ productId: '701642819462M',
87
+ public: false,
88
+ purchasedQuantity: 0,
89
+ quantity: 1,
90
+ type: 'product'
91
+ }
92
+ ],
93
+ event: {},
94
+ id: '1fb1fa64b0ecd15d9e9321ab5c',
95
+ lastModified: '2023-03-10T21:50:40.766Z',
96
+ name: 'PWA wishlist',
97
+ public: false,
98
+ type: 'wish_list'
99
+ }
100
+ ],
101
+ total: 1
102
+ }
103
+
104
+ export const mockedWishListProducts = {
105
+ limit: 7,
106
+ data: [
107
+ {
108
+ currency: 'GBP',
109
+ id: 'P0150M',
110
+ imageGroups: [
111
+ {
112
+ images: [
113
+ {
114
+ alt: 'Upright Case (33L - 3.7Kg), , large',
115
+ disBaseLink:
116
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw7e542522/images/large/P0150_001.jpg',
117
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw7e542522/images/large/P0150_001.jpg',
118
+ title: 'Upright Case (33L - 3.7Kg), '
119
+ }
120
+ ],
121
+ viewType: 'large'
122
+ },
123
+ {
124
+ images: [
125
+ {
126
+ alt: 'Upright Case (33L - 3.7Kg), , medium',
127
+ disBaseLink:
128
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw9261a750/images/medium/P0150_001.jpg',
129
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw9261a750/images/medium/P0150_001.jpg',
130
+ title: 'Upright Case (33L - 3.7Kg), '
131
+ }
132
+ ],
133
+ viewType: 'medium'
134
+ },
135
+ {
136
+ images: [
137
+ {
138
+ alt: 'Upright Case (33L - 3.7Kg), , small',
139
+ disBaseLink:
140
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw01bfd69a/images/small/P0150_001.jpg',
141
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw01bfd69a/images/small/P0150_001.jpg',
142
+ title: 'Upright Case (33L - 3.7Kg), '
143
+ }
144
+ ],
145
+ viewType: 'small'
146
+ }
147
+ ],
148
+ inventory: {
149
+ ats: 2,
150
+ backorderable: false,
151
+ id: 'inventory_m',
152
+ orderable: true,
153
+ preorderable: false,
154
+ stockLevel: 2
155
+ },
156
+ longDescription:
157
+ '1682 ballistic nylon and genuine leather inserts |Pull-out metallic handle for wheeling|Top and side handles|Cabin size for convenient travelling|TSA lock for security',
158
+ minOrderQuantity: 1,
159
+ name: 'Upright Case (33L - 3.7Kg)',
160
+ pageDescription:
161
+ 'This practical case is perfect for business – with no need to check in as luggage due to its cabin size dimensions – or for any no-fuss travel.',
162
+ pageKeywords:
163
+ 'Commerce Cloud, P0150, T10 150 Upright 50, General Accessories, Accessories, Packs and Gear',
164
+ pageTitle: 'Commerce Cloud - Upright Case (33L - 3.7Kg)',
165
+ price: 63.99,
166
+ pricePerUnit: 63.99,
167
+ primaryCategoryId: 'mens-accessories-luggage',
168
+ shortDescription:
169
+ 'This practical and functional case is perfect for business – with no need to check in as luggage due to its cabin size dimensions – or for any convenient no-fuss travel any time any where. You can pull along for comfort or carry by the handle, and with plenty of space inside and a large front pocket with additional zippered pocket, there’s plenty of useful and compact storage.',
170
+ slugUrl:
171
+ 'https://zzrf-001.dx.commercecloud.salesforce.com/s/RefArchGlobal/upright-case-33l-3.7kg/P0150M.html?lang=default',
172
+ stepQuantity: 1,
173
+ type: {
174
+ item: true
175
+ },
176
+ c_styleNumber: 'P0150',
177
+ c_tabDescription:
178
+ 'This practical and functional case is perfect for business – with no need to check in as luggage due to its cabin size dimensions – or for any convenient no-fuss travel any time any where. You can pull along for comfort or carry by the handle, and with plenty of space inside and a large front pocket with additional zippered pocket, there’s plenty of useful and compact storage.',
179
+ c_tabDetails:
180
+ '1682 ballistic nylon and genuine leather inserts |Pull-out metallic handle for wheeling|Top and side handles|Cabin size for convenient travelling|TSA lock for security'
181
+ },
182
+ {
183
+ currency: 'GBP',
184
+ id: 'fall-lookM',
185
+ imageGroups: [
186
+ {
187
+ images: [
188
+ {
189
+ alt: 'Fall Look, , large',
190
+ disBaseLink:
191
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwa54c4e5d/images/large/PG.10241411.JJZ01XX.PZ.jpg',
192
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwa54c4e5d/images/large/PG.10241411.JJZ01XX.PZ.jpg',
193
+ title: 'Fall Look, '
194
+ }
195
+ ],
196
+ viewType: 'large'
197
+ },
198
+ {
199
+ images: [
200
+ {
201
+ alt: 'Fall Look, , medium',
202
+ disBaseLink:
203
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbb906a14/images/medium/PG.10241411.JJZ01XX.PZ.jpg',
204
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbb906a14/images/medium/PG.10241411.JJZ01XX.PZ.jpg',
205
+ title: 'Fall Look, '
206
+ }
207
+ ],
208
+ viewType: 'medium'
209
+ },
210
+ {
211
+ images: [
212
+ {
213
+ alt: 'Fall Look, , small',
214
+ disBaseLink:
215
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw5539afa2/images/small/PG.10241411.JJZ01XX.PZ.jpg',
216
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw5539afa2/images/small/PG.10241411.JJZ01XX.PZ.jpg',
217
+ title: 'Fall Look, '
218
+ }
219
+ ],
220
+ viewType: 'small'
221
+ }
222
+ ],
223
+ longDescription: 'Fall Look',
224
+ minOrderQuantity: 1,
225
+ name: 'Fall Look',
226
+ price: 23.04,
227
+ priceMax: 56.96,
228
+ pricePerUnit: 23.04,
229
+ pricePerUnitMax: 56.96,
230
+ primaryCategoryId: 'womens-outfits',
231
+ shortDescription: 'Fall Look',
232
+ slugUrl:
233
+ 'https://zzrf-001.dx.commercecloud.salesforce.com/s/RefArchGlobal/womens/clothing/outfits/fall-lookM.html?lang=default',
234
+ stepQuantity: 1,
235
+ type: {
236
+ set: true
237
+ }
238
+ },
239
+ {
240
+ currency: 'GBP',
241
+ id: 'Spring-look-2M',
242
+ imageGroups: [
243
+ {
244
+ images: [
245
+ {
246
+ alt: 'Spring Has Sprung, , large',
247
+ disBaseLink:
248
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwdbf2acb6/images/large/PG.10236198.JJ3KRXX.PZ.jpg',
249
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwdbf2acb6/images/large/PG.10236198.JJ3KRXX.PZ.jpg',
250
+ title: 'Spring Has Sprung, '
251
+ }
252
+ ],
253
+ viewType: 'large'
254
+ },
255
+ {
256
+ images: [
257
+ {
258
+ alt: 'Spring Has Sprung, , medium',
259
+ disBaseLink:
260
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwfc2b10cb/images/medium/PG.10236198.JJ3KRXX.PZ.jpg',
261
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwfc2b10cb/images/medium/PG.10236198.JJ3KRXX.PZ.jpg',
262
+ title: 'Spring Has Sprung, '
263
+ }
264
+ ],
265
+ viewType: 'medium'
266
+ },
267
+ {
268
+ images: [
269
+ {
270
+ alt: 'Spring Has Sprung, , small',
271
+ disBaseLink:
272
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbbb4da09/images/small/PG.10236198.JJ3KRXX.BZ.jpg',
273
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbbb4da09/images/small/PG.10236198.JJ3KRXX.BZ.jpg',
274
+ title: 'Spring Has Sprung, '
275
+ }
276
+ ],
277
+ viewType: 'small'
278
+ }
279
+ ],
280
+ longDescription: '<p>Top<br />\r\nJeans<br />\r\nNecklace<br />\r\nShoes</p>',
281
+ minOrderQuantity: 1,
282
+ name: 'Spring Has Sprung',
283
+ price: 24.96,
284
+ priceMax: 70.4,
285
+ pricePerUnit: 24.96,
286
+ pricePerUnitMax: 70.4,
287
+ primaryCategoryId: 'womens-outfits',
288
+ shortDescription: 'Cool styles for Spring',
289
+ slugUrl:
290
+ 'https://zzrf-001.dx.commercecloud.salesforce.com/s/RefArchGlobal/womens/clothing/outfits/Spring-look-2M.html?lang=default',
291
+ stepQuantity: 1,
292
+ type: {
293
+ set: true
294
+ }
295
+ },
296
+ {
297
+ currency: 'GBP',
298
+ id: '25518009M',
299
+ imageGroups: [
300
+ {
301
+ images: [
302
+ {
303
+ alt: 'Extend Tab Straight Leg Pant, , large',
304
+ disBaseLink:
305
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbde9a921/images/large/PG.10211049.JJ9LMXX.PZ.jpg',
306
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbde9a921/images/large/PG.10211049.JJ9LMXX.PZ.jpg',
307
+ title: 'Extend Tab Straight Leg Pant, '
308
+ },
309
+ {
310
+ alt: 'Extend Tab Straight Leg Pant, , large',
311
+ disBaseLink:
312
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw3b2c7f13/images/large/PG.10211049.JJ9LMXX.BZ.jpg',
313
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw3b2c7f13/images/large/PG.10211049.JJ9LMXX.BZ.jpg',
314
+ title: 'Extend Tab Straight Leg Pant, '
315
+ }
316
+ ],
317
+ viewType: 'large'
318
+ },
319
+ {
320
+ images: [
321
+ {
322
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, large',
323
+ disBaseLink:
324
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbde9a921/images/large/PG.10211049.JJ9LMXX.PZ.jpg',
325
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbde9a921/images/large/PG.10211049.JJ9LMXX.PZ.jpg',
326
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
327
+ },
328
+ {
329
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, large',
330
+ disBaseLink:
331
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw3b2c7f13/images/large/PG.10211049.JJ9LMXX.BZ.jpg',
332
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw3b2c7f13/images/large/PG.10211049.JJ9LMXX.BZ.jpg',
333
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
334
+ }
335
+ ],
336
+ variationAttributes: [
337
+ {
338
+ id: 'color',
339
+ values: [
340
+ {
341
+ value: 'JJ9LMXX'
342
+ }
343
+ ]
344
+ }
345
+ ],
346
+ viewType: 'large'
347
+ },
348
+ {
349
+ images: [
350
+ {
351
+ alt: 'Extend Tab Straight Leg Pant, , medium',
352
+ disBaseLink:
353
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf852acb0/images/medium/PG.10211049.JJ9LMXX.PZ.jpg',
354
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf852acb0/images/medium/PG.10211049.JJ9LMXX.PZ.jpg',
355
+ title: 'Extend Tab Straight Leg Pant, '
356
+ },
357
+ {
358
+ alt: 'Extend Tab Straight Leg Pant, , medium',
359
+ disBaseLink:
360
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw28eac377/images/medium/PG.10211049.JJ9LMXX.BZ.jpg',
361
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw28eac377/images/medium/PG.10211049.JJ9LMXX.BZ.jpg',
362
+ title: 'Extend Tab Straight Leg Pant, '
363
+ }
364
+ ],
365
+ viewType: 'medium'
366
+ },
367
+ {
368
+ images: [
369
+ {
370
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, medium',
371
+ disBaseLink:
372
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf852acb0/images/medium/PG.10211049.JJ9LMXX.PZ.jpg',
373
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf852acb0/images/medium/PG.10211049.JJ9LMXX.PZ.jpg',
374
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
375
+ },
376
+ {
377
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, medium',
378
+ disBaseLink:
379
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw28eac377/images/medium/PG.10211049.JJ9LMXX.BZ.jpg',
380
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw28eac377/images/medium/PG.10211049.JJ9LMXX.BZ.jpg',
381
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
382
+ }
383
+ ],
384
+ variationAttributes: [
385
+ {
386
+ id: 'color',
387
+ values: [
388
+ {
389
+ value: 'JJ9LMXX'
390
+ }
391
+ ]
392
+ }
393
+ ],
394
+ viewType: 'medium'
395
+ },
396
+ {
397
+ images: [
398
+ {
399
+ alt: 'Extend Tab Straight Leg Pant, , small',
400
+ disBaseLink:
401
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf5169852/images/small/PG.10211049.JJ9LMXX.PZ.jpg',
402
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf5169852/images/small/PG.10211049.JJ9LMXX.PZ.jpg',
403
+ title: 'Extend Tab Straight Leg Pant, '
404
+ },
405
+ {
406
+ alt: 'Extend Tab Straight Leg Pant, , small',
407
+ disBaseLink:
408
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw08ed3309/images/small/PG.10211049.JJ9LMXX.BZ.jpg',
409
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw08ed3309/images/small/PG.10211049.JJ9LMXX.BZ.jpg',
410
+ title: 'Extend Tab Straight Leg Pant, '
411
+ }
412
+ ],
413
+ viewType: 'small'
414
+ },
415
+ {
416
+ images: [
417
+ {
418
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, small',
419
+ disBaseLink:
420
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf5169852/images/small/PG.10211049.JJ9LMXX.PZ.jpg',
421
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf5169852/images/small/PG.10211049.JJ9LMXX.PZ.jpg',
422
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
423
+ },
424
+ {
425
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, small',
426
+ disBaseLink:
427
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw08ed3309/images/small/PG.10211049.JJ9LMXX.BZ.jpg',
428
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw08ed3309/images/small/PG.10211049.JJ9LMXX.BZ.jpg',
429
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
430
+ }
431
+ ],
432
+ variationAttributes: [
433
+ {
434
+ id: 'color',
435
+ values: [
436
+ {
437
+ value: 'JJ9LMXX'
438
+ }
439
+ ]
440
+ }
441
+ ],
442
+ viewType: 'small'
443
+ },
444
+ {
445
+ images: [
446
+ {
447
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, swatch',
448
+ disBaseLink:
449
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw5314a78e/images/swatch/PG.10211049.JJ9LMXX.CP.jpg',
450
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw5314a78e/images/swatch/PG.10211049.JJ9LMXX.CP.jpg',
451
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
452
+ }
453
+ ],
454
+ variationAttributes: [
455
+ {
456
+ id: 'color',
457
+ values: [
458
+ {
459
+ value: 'JJ9LMXX'
460
+ }
461
+ ]
462
+ }
463
+ ],
464
+ viewType: 'swatch'
465
+ }
466
+ ],
467
+ inventory: {
468
+ ats: 700,
469
+ backorderable: false,
470
+ id: 'inventory_m',
471
+ orderable: true,
472
+ preorderable: false,
473
+ stockLevel: 700
474
+ },
475
+ longDescription:
476
+ 'Classically designed, this bootleg jean is perfect to pair with a great Commerce Cloud Store top.',
477
+ master: {
478
+ masterId: '25518009M',
479
+ orderable: true,
480
+ price: 28.15
481
+ },
482
+ minOrderQuantity: 1,
483
+ name: 'Extend Tab Straight Leg Pant',
484
+ pageDescription:
485
+ 'Classically designed, this bootleg jean is perfect to pair with a great Commerce Cloud Store top.',
486
+ pageTitle: 'Extend Tab Straight Leg Pant',
487
+ price: 28.15,
488
+ pricePerUnit: 28.15,
489
+ primaryCategoryId: 'womens-clothing-bottoms',
490
+ shortDescription:
491
+ 'Classically designed, this bootleg jean is perfect to pair with a great Commerce Cloud Store top.',
492
+ slugUrl:
493
+ 'https://zzrf-001.dx.commercecloud.salesforce.com/s/RefArchGlobal/extend-tab-straight-leg-pant/25518009M.html?lang=default',
494
+ stepQuantity: 1,
495
+ type: {
496
+ master: true
497
+ },
498
+ validFrom: {
499
+ default: '2010-10-21T04:00:00.000Z'
500
+ },
501
+ variants: [
502
+ {
503
+ orderable: true,
504
+ price: 28.15,
505
+ productId: '701642819431M',
506
+ variationValues: {
507
+ color: 'JJ9LMXX',
508
+ size: '016'
509
+ }
510
+ },
511
+ {
512
+ orderable: true,
513
+ price: 28.15,
514
+ productId: '701642819400M',
515
+ variationValues: {
516
+ color: 'JJ9LMXX',
517
+ size: '010'
518
+ }
519
+ },
520
+ {
521
+ orderable: true,
522
+ price: 28.15,
523
+ productId: '701642819462M',
524
+ variationValues: {
525
+ color: 'JJ9LMXX',
526
+ size: '008'
527
+ }
528
+ },
529
+ {
530
+ orderable: true,
531
+ price: 28.15,
532
+ productId: '701642819417M',
533
+ variationValues: {
534
+ color: 'JJ9LMXX',
535
+ size: '012'
536
+ }
537
+ },
538
+ {
539
+ orderable: true,
540
+ price: 28.15,
541
+ productId: '701642819424M',
542
+ variationValues: {
543
+ color: 'JJ9LMXX',
544
+ size: '014'
545
+ }
546
+ },
547
+ {
548
+ orderable: true,
549
+ price: 28.15,
550
+ productId: '701642819448M',
551
+ variationValues: {
552
+ color: 'JJ9LMXX',
553
+ size: '004'
554
+ }
555
+ },
556
+ {
557
+ orderable: true,
558
+ price: 28.15,
559
+ productId: '701642819455M',
560
+ variationValues: {
561
+ color: 'JJ9LMXX',
562
+ size: '006'
563
+ }
564
+ }
565
+ ],
566
+ variationAttributes: [
567
+ {
568
+ id: 'color',
569
+ name: 'Color',
570
+ values: [
571
+ {
572
+ name: 'Marine Wash',
573
+ orderable: true,
574
+ value: 'JJ9LMXX'
575
+ }
576
+ ]
577
+ },
578
+ {
579
+ id: 'size',
580
+ name: 'Size',
581
+ values: [
582
+ {
583
+ name: '4',
584
+ orderable: true,
585
+ value: '004'
586
+ },
587
+ {
588
+ name: '6',
589
+ orderable: true,
590
+ value: '006'
591
+ },
592
+ {
593
+ name: '8',
594
+ orderable: true,
595
+ value: '008'
596
+ },
597
+ {
598
+ name: '10',
599
+ orderable: true,
600
+ value: '010'
601
+ },
602
+ {
603
+ name: '12',
604
+ orderable: true,
605
+ value: '012'
606
+ },
607
+ {
608
+ name: '14',
609
+ orderable: true,
610
+ value: '014'
611
+ },
612
+ {
613
+ name: '16',
614
+ orderable: true,
615
+ value: '016'
616
+ }
617
+ ]
618
+ }
619
+ ],
620
+ c_isNewtest: true
621
+ },
622
+ {
623
+ currency: 'GBP',
624
+ id: 'P0048M',
625
+ imageGroups: [
626
+ {
627
+ images: [
628
+ {
629
+ alt: 'Laptop Briefcase with wheels (37L), , large',
630
+ disBaseLink:
631
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw7cb2d401/images/large/P0048_001.jpg',
632
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw7cb2d401/images/large/P0048_001.jpg',
633
+ title: 'Laptop Briefcase with wheels (37L), '
634
+ }
635
+ ],
636
+ viewType: 'large'
637
+ },
638
+ {
639
+ images: [
640
+ {
641
+ alt: 'Laptop Briefcase with wheels (37L), , medium',
642
+ disBaseLink:
643
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwdeace89e/images/medium/P0048_001.jpg',
644
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwdeace89e/images/medium/P0048_001.jpg',
645
+ title: 'Laptop Briefcase with wheels (37L), '
646
+ }
647
+ ],
648
+ viewType: 'medium'
649
+ },
650
+ {
651
+ images: [
652
+ {
653
+ alt: 'Laptop Briefcase with wheels (37L), , small',
654
+ disBaseLink:
655
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw0dd2ff5d/images/small/P0048_001.jpg',
656
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw0dd2ff5d/images/small/P0048_001.jpg',
657
+ title: 'Laptop Briefcase with wheels (37L), '
658
+ }
659
+ ],
660
+ viewType: 'small'
661
+ }
662
+ ],
663
+ inventory: {
664
+ ats: 10,
665
+ backorderable: true,
666
+ id: 'inventory_m',
667
+ inStockDate: '2011-08-17T00:00:00.000Z',
668
+ orderable: true,
669
+ preorderable: false,
670
+ stockLevel: 0
671
+ },
672
+ longDescription:
673
+ '1682 ballistic nylon and genuine leather inserts| Spacious main storage compartment for documents and binders|Removable, padded laptop sleeve with D-rings for carrying with shoulder strap|Change handle system and cantilever wheels|Zip pull in gunmetal with black rubber insert Leather “comfort” insert detailed handle|Internal storage pockets for CD-Rom and peripherals|Real leather inserts',
674
+ minOrderQuantity: 1,
675
+ name: 'Laptop Briefcase with wheels (37L)',
676
+ pageDescription:
677
+ 'Perfect for business travel, this briefcase is ultra practical with plenty of space for your laptop and all its extras.',
678
+ pageKeywords:
679
+ 'Commerce Cloud, P0048, Packs and Gear Laptop Briefcase with Long Sleeve, Black, Wheelie Bag, Computer Bag, Cases, Luggage',
680
+ pageTitle: 'Commerce Cloud - Laptop Briefcase with wheels (37L)',
681
+ price: 63.99,
682
+ pricePerUnit: 63.99,
683
+ primaryCategoryId: 'mens-accessories-luggage',
684
+ shortDescription:
685
+ 'Perfect for business travel, this briefcase is ultra practical with plenty of space for your laptop and all its extras, as well as storage for documents, paperwork and all your essential items. The wheeled system allows you to travel comfortably with your work and when you reach your destination, you can remove the laptop compartment and carry over your shoulder to meetings. It’s the business.',
686
+ slugUrl:
687
+ 'https://zzrf-001.dx.commercecloud.salesforce.com/s/RefArchGlobal/laptop-briefcasewheels-37l/P0048M.html?lang=default',
688
+ stepQuantity: 1,
689
+ type: {
690
+ item: true
691
+ },
692
+ c_styleNumber: 'P0048',
693
+ c_tabDescription:
694
+ 'Perfect for business travel, this briefcase is ultra practical with plenty of space for your laptop and all its extras, as well as storage for documents, paperwork and all your essential items. The wheeled system allows you to travel comfortably with your work and when you reach your destination, you can remove the laptop compartment and carry over your shoulder to meetings. It’s the business.',
695
+ c_tabDetails:
696
+ '1682 ballistic nylon and genuine leather inserts| Spacious main storage compartment for documents and binders|Removable, padded laptop sleeve with D-rings for carrying with shoulder strap|Change handle system and cantilever wheels|Zip pull in gunmetal with black rubber insert Leather “comfort” insert detailed handle|Internal storage pockets for CD-Rom and peripherals|Real leather inserts'
697
+ },
698
+ {
699
+ currency: 'GBP',
700
+ id: '25565826M',
701
+ imageGroups: [
702
+ {
703
+ images: [
704
+ {
705
+ alt: 'Scoop Neck Tee With Applique, , large',
706
+ disBaseLink:
707
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwdbf2acb6/images/large/PG.10236198.JJ3KRXX.PZ.jpg',
708
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwdbf2acb6/images/large/PG.10236198.JJ3KRXX.PZ.jpg',
709
+ title: 'Scoop Neck Tee With Applique, '
710
+ },
711
+ {
712
+ alt: 'Scoop Neck Tee With Applique, , large',
713
+ disBaseLink:
714
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw74cc6310/images/large/PG.10236198.JJ3KRXX.BZ.jpg',
715
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw74cc6310/images/large/PG.10236198.JJ3KRXX.BZ.jpg',
716
+ title: 'Scoop Neck Tee With Applique, '
717
+ }
718
+ ],
719
+ viewType: 'large'
720
+ },
721
+ {
722
+ images: [
723
+ {
724
+ alt: 'Scoop Neck Tee With Applique, seagrass, large',
725
+ disBaseLink:
726
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwdbf2acb6/images/large/PG.10236198.JJ3KRXX.PZ.jpg',
727
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwdbf2acb6/images/large/PG.10236198.JJ3KRXX.PZ.jpg',
728
+ title: 'Scoop Neck Tee With Applique, seagrass'
729
+ },
730
+ {
731
+ alt: 'Scoop Neck Tee With Applique, seagrass, large',
732
+ disBaseLink:
733
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw74cc6310/images/large/PG.10236198.JJ3KRXX.BZ.jpg',
734
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw74cc6310/images/large/PG.10236198.JJ3KRXX.BZ.jpg',
735
+ title: 'Scoop Neck Tee With Applique, seagrass'
736
+ }
737
+ ],
738
+ variationAttributes: [
739
+ {
740
+ id: 'color',
741
+ values: [
742
+ {
743
+ value: 'JJ3KRXX'
744
+ }
745
+ ]
746
+ }
747
+ ],
748
+ viewType: 'large'
749
+ },
750
+ {
751
+ images: [
752
+ {
753
+ alt: 'Scoop Neck Tee With Applique, Blue, large',
754
+ disBaseLink:
755
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwab758c62/images/large/PG.10236198.JJGG3XX.PZ.jpg',
756
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwab758c62/images/large/PG.10236198.JJGG3XX.PZ.jpg',
757
+ title: 'Scoop Neck Tee With Applique, Blue'
758
+ },
759
+ {
760
+ alt: 'Scoop Neck Tee With Applique, Blue, large',
761
+ disBaseLink:
762
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwa0ae8bbb/images/large/PG.10236198.JJGG3XX.BZ.jpg',
763
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwa0ae8bbb/images/large/PG.10236198.JJGG3XX.BZ.jpg',
764
+ title: 'Scoop Neck Tee With Applique, Blue'
765
+ }
766
+ ],
767
+ variationAttributes: [
768
+ {
769
+ id: 'color',
770
+ values: [
771
+ {
772
+ value: 'JJGG3XX'
773
+ }
774
+ ]
775
+ }
776
+ ],
777
+ viewType: 'large'
778
+ },
779
+ {
780
+ images: [
781
+ {
782
+ alt: 'Scoop Neck Tee With Applique, , medium',
783
+ disBaseLink:
784
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwfc2b10cb/images/medium/PG.10236198.JJ3KRXX.PZ.jpg',
785
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwfc2b10cb/images/medium/PG.10236198.JJ3KRXX.PZ.jpg',
786
+ title: 'Scoop Neck Tee With Applique, '
787
+ },
788
+ {
789
+ alt: 'Scoop Neck Tee With Applique, , medium',
790
+ disBaseLink:
791
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwb8ca1480/images/medium/PG.10236198.JJ3KRXX.BZ.jpg',
792
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwb8ca1480/images/medium/PG.10236198.JJ3KRXX.BZ.jpg',
793
+ title: 'Scoop Neck Tee With Applique, '
794
+ }
795
+ ],
796
+ viewType: 'medium'
797
+ },
798
+ {
799
+ images: [
800
+ {
801
+ alt: 'Scoop Neck Tee With Applique, seagrass, medium',
802
+ disBaseLink:
803
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwfc2b10cb/images/medium/PG.10236198.JJ3KRXX.PZ.jpg',
804
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwfc2b10cb/images/medium/PG.10236198.JJ3KRXX.PZ.jpg',
805
+ title: 'Scoop Neck Tee With Applique, seagrass'
806
+ },
807
+ {
808
+ alt: 'Scoop Neck Tee With Applique, seagrass, medium',
809
+ disBaseLink:
810
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwb8ca1480/images/medium/PG.10236198.JJ3KRXX.BZ.jpg',
811
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwb8ca1480/images/medium/PG.10236198.JJ3KRXX.BZ.jpg',
812
+ title: 'Scoop Neck Tee With Applique, seagrass'
813
+ }
814
+ ],
815
+ variationAttributes: [
816
+ {
817
+ id: 'color',
818
+ values: [
819
+ {
820
+ value: 'JJ3KRXX'
821
+ }
822
+ ]
823
+ }
824
+ ],
825
+ viewType: 'medium'
826
+ },
827
+ {
828
+ images: [
829
+ {
830
+ alt: 'Scoop Neck Tee With Applique, Blue, medium',
831
+ disBaseLink:
832
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw2584fdaa/images/medium/PG.10236198.JJGG3XX.PZ.jpg',
833
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw2584fdaa/images/medium/PG.10236198.JJGG3XX.PZ.jpg',
834
+ title: 'Scoop Neck Tee With Applique, Blue'
835
+ },
836
+ {
837
+ alt: 'Scoop Neck Tee With Applique, Blue, medium',
838
+ disBaseLink:
839
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw2915b5fc/images/medium/PG.10236198.JJGG3XX.BZ.jpg',
840
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw2915b5fc/images/medium/PG.10236198.JJGG3XX.BZ.jpg',
841
+ title: 'Scoop Neck Tee With Applique, Blue'
842
+ }
843
+ ],
844
+ variationAttributes: [
845
+ {
846
+ id: 'color',
847
+ values: [
848
+ {
849
+ value: 'JJGG3XX'
850
+ }
851
+ ]
852
+ }
853
+ ],
854
+ viewType: 'medium'
855
+ },
856
+ {
857
+ images: [
858
+ {
859
+ alt: 'Scoop Neck Tee With Applique, , small',
860
+ disBaseLink:
861
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw384b69b6/images/small/PG.10236198.JJ3KRXX.PZ.jpg',
862
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw384b69b6/images/small/PG.10236198.JJ3KRXX.PZ.jpg',
863
+ title: 'Scoop Neck Tee With Applique, '
864
+ },
865
+ {
866
+ alt: 'Scoop Neck Tee With Applique, , small',
867
+ disBaseLink:
868
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbbb4da09/images/small/PG.10236198.JJ3KRXX.BZ.jpg',
869
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbbb4da09/images/small/PG.10236198.JJ3KRXX.BZ.jpg',
870
+ title: 'Scoop Neck Tee With Applique, '
871
+ }
872
+ ],
873
+ viewType: 'small'
874
+ },
875
+ {
876
+ images: [
877
+ {
878
+ alt: 'Scoop Neck Tee With Applique, seagrass, small',
879
+ disBaseLink:
880
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw384b69b6/images/small/PG.10236198.JJ3KRXX.PZ.jpg',
881
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw384b69b6/images/small/PG.10236198.JJ3KRXX.PZ.jpg',
882
+ title: 'Scoop Neck Tee With Applique, seagrass'
883
+ },
884
+ {
885
+ alt: 'Scoop Neck Tee With Applique, seagrass, small',
886
+ disBaseLink:
887
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbbb4da09/images/small/PG.10236198.JJ3KRXX.BZ.jpg',
888
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbbb4da09/images/small/PG.10236198.JJ3KRXX.BZ.jpg',
889
+ title: 'Scoop Neck Tee With Applique, seagrass'
890
+ }
891
+ ],
892
+ variationAttributes: [
893
+ {
894
+ id: 'color',
895
+ values: [
896
+ {
897
+ value: 'JJ3KRXX'
898
+ }
899
+ ]
900
+ }
901
+ ],
902
+ viewType: 'small'
903
+ },
904
+ {
905
+ images: [
906
+ {
907
+ alt: 'Scoop Neck Tee With Applique, Blue, small',
908
+ disBaseLink:
909
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf19ea495/images/small/PG.10236198.JJGG3XX.PZ.jpg',
910
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf19ea495/images/small/PG.10236198.JJGG3XX.PZ.jpg',
911
+ title: 'Scoop Neck Tee With Applique, Blue'
912
+ },
913
+ {
914
+ alt: 'Scoop Neck Tee With Applique, Blue, small',
915
+ disBaseLink:
916
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwd7712389/images/small/PG.10236198.JJGG3XX.BZ.jpg',
917
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwd7712389/images/small/PG.10236198.JJGG3XX.BZ.jpg',
918
+ title: 'Scoop Neck Tee With Applique, Blue'
919
+ }
920
+ ],
921
+ variationAttributes: [
922
+ {
923
+ id: 'color',
924
+ values: [
925
+ {
926
+ value: 'JJGG3XX'
927
+ }
928
+ ]
929
+ }
930
+ ],
931
+ viewType: 'small'
932
+ },
933
+ {
934
+ images: [
935
+ {
936
+ alt: 'Scoop Neck Tee With Applique, seagrass, swatch',
937
+ disBaseLink:
938
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw9502cf77/images/swatch/PG.10236198.JJ3KRXX.CP.jpg',
939
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw9502cf77/images/swatch/PG.10236198.JJ3KRXX.CP.jpg',
940
+ title: 'Scoop Neck Tee With Applique, seagrass'
941
+ }
942
+ ],
943
+ variationAttributes: [
944
+ {
945
+ id: 'color',
946
+ values: [
947
+ {
948
+ value: 'JJ3KRXX'
949
+ }
950
+ ]
951
+ }
952
+ ],
953
+ viewType: 'swatch'
954
+ },
955
+ {
956
+ images: [
957
+ {
958
+ alt: 'Scoop Neck Tee With Applique, Blue, swatch',
959
+ disBaseLink:
960
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw4671d198/images/swatch/PG.10236198.JJGG3XX.CP.jpg',
961
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw4671d198/images/swatch/PG.10236198.JJGG3XX.CP.jpg',
962
+ title: 'Scoop Neck Tee With Applique, Blue'
963
+ }
964
+ ],
965
+ variationAttributes: [
966
+ {
967
+ id: 'color',
968
+ values: [
969
+ {
970
+ value: 'JJGG3XX'
971
+ }
972
+ ]
973
+ }
974
+ ],
975
+ viewType: 'swatch'
976
+ }
977
+ ],
978
+ inventory: {
979
+ ats: 799,
980
+ backorderable: false,
981
+ id: 'inventory_m',
982
+ orderable: true,
983
+ preorderable: false,
984
+ stockLevel: 799
985
+ },
986
+ longDescription: 'We love this scoop neck tee with applique. Perfect for weekend wear.',
987
+ master: {
988
+ masterId: '25565826M',
989
+ orderable: true,
990
+ price: 24.96
991
+ },
992
+ minOrderQuantity: 1,
993
+ name: 'Scoop Neck Tee With Applique',
994
+ pageDescription: 'We love this scoop neck tee with applique. Perfect for weekend wear.',
995
+ pageTitle: 'Scoop Neck Tee With Applique',
996
+ price: 24.96,
997
+ pricePerUnit: 24.96,
998
+ primaryCategoryId: 'womens-clothing-tops',
999
+ productPromotions: [
1000
+ {
1001
+ calloutMsg: 'Buy one Long Center Seam Skirt and get 2 tops',
1002
+ promotionId: 'ChoiceOfBonusProdect-ProductLevel-ruleBased'
1003
+ },
1004
+ {
1005
+ calloutMsg: '$50 Fixed Products Amount Above 100',
1006
+ promotionId: '$50FixedProductsAmountAbove100'
1007
+ },
1008
+ {
1009
+ calloutMsg: 'Bonus Product for Order Amounts Above 250',
1010
+ promotionId: 'BonusProductOnOrderOfAmountABove250'
1011
+ }
1012
+ ],
1013
+ shortDescription:
1014
+ 'We love this scoop neck tee with applique. Perfect for weekend wear.',
1015
+ slugUrl:
1016
+ 'https://zzrf-001.dx.commercecloud.salesforce.com/s/RefArchGlobal/scoop-neck-tee-with-applique/25565826M.html?lang=default',
1017
+ stepQuantity: 1,
1018
+ type: {
1019
+ master: true
1020
+ },
1021
+ validFrom: {
1022
+ default: '2011-02-04T05:00:00.000Z'
1023
+ },
1024
+ variants: [
1025
+ {
1026
+ orderable: true,
1027
+ price: 24.96,
1028
+ productId: '701644059262M',
1029
+ variationValues: {
1030
+ color: 'JJGG3XX',
1031
+ size: '9SM'
1032
+ }
1033
+ },
1034
+ {
1035
+ orderable: true,
1036
+ price: 24.96,
1037
+ productId: '701644059224M',
1038
+ variationValues: {
1039
+ color: 'JJ3KRXX',
1040
+ size: '9LG'
1041
+ }
1042
+ },
1043
+ {
1044
+ orderable: true,
1045
+ price: 24.96,
1046
+ productId: '701644059248M',
1047
+ variationValues: {
1048
+ color: 'JJ3KRXX',
1049
+ size: '9SM'
1050
+ }
1051
+ },
1052
+ {
1053
+ orderable: true,
1054
+ price: 24.96,
1055
+ productId: '701644059255M',
1056
+ variationValues: {
1057
+ color: 'JJ3KRXX',
1058
+ size: '9XL'
1059
+ }
1060
+ },
1061
+ {
1062
+ orderable: true,
1063
+ price: 24.96,
1064
+ productId: '701644059286M',
1065
+ variationValues: {
1066
+ color: 'JJGG3XX',
1067
+ size: '9LG'
1068
+ }
1069
+ },
1070
+ {
1071
+ orderable: true,
1072
+ price: 24.96,
1073
+ productId: '701644059293M',
1074
+ variationValues: {
1075
+ color: 'JJGG3XX',
1076
+ size: '9XL'
1077
+ }
1078
+ },
1079
+ {
1080
+ orderable: true,
1081
+ price: 24.96,
1082
+ productId: '701644059231M',
1083
+ variationValues: {
1084
+ color: 'JJ3KRXX',
1085
+ size: '9MD'
1086
+ }
1087
+ },
1088
+ {
1089
+ orderable: true,
1090
+ price: 24.96,
1091
+ productId: '701644059279M',
1092
+ variationValues: {
1093
+ color: 'JJGG3XX',
1094
+ size: '9MD'
1095
+ }
1096
+ }
1097
+ ],
1098
+ variationAttributes: [
1099
+ {
1100
+ id: 'color',
1101
+ name: 'Color',
1102
+ values: [
1103
+ {
1104
+ name: 'Blue',
1105
+ orderable: true,
1106
+ value: 'JJGG3XX'
1107
+ },
1108
+ {
1109
+ name: 'seagrass',
1110
+ orderable: true,
1111
+ value: 'JJ3KRXX'
1112
+ }
1113
+ ]
1114
+ },
1115
+ {
1116
+ id: 'size',
1117
+ name: 'Size',
1118
+ values: [
1119
+ {
1120
+ name: 'S',
1121
+ orderable: true,
1122
+ value: '9SM'
1123
+ },
1124
+ {
1125
+ name: 'M',
1126
+ orderable: true,
1127
+ value: '9MD'
1128
+ },
1129
+ {
1130
+ name: 'L',
1131
+ orderable: true,
1132
+ value: '9LG'
1133
+ },
1134
+ {
1135
+ name: 'XL',
1136
+ orderable: true,
1137
+ value: '9XL'
1138
+ }
1139
+ ]
1140
+ }
1141
+ ]
1142
+ },
1143
+ {
1144
+ currency: 'GBP',
1145
+ id: '701642819462M',
1146
+ imageGroups: [
1147
+ {
1148
+ images: [
1149
+ {
1150
+ alt: 'Extend Tab Straight Leg Pant, , large',
1151
+ disBaseLink:
1152
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbde9a921/images/large/PG.10211049.JJ9LMXX.PZ.jpg',
1153
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbde9a921/images/large/PG.10211049.JJ9LMXX.PZ.jpg',
1154
+ title: 'Extend Tab Straight Leg Pant, '
1155
+ },
1156
+ {
1157
+ alt: 'Extend Tab Straight Leg Pant, , large',
1158
+ disBaseLink:
1159
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw3b2c7f13/images/large/PG.10211049.JJ9LMXX.BZ.jpg',
1160
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw3b2c7f13/images/large/PG.10211049.JJ9LMXX.BZ.jpg',
1161
+ title: 'Extend Tab Straight Leg Pant, '
1162
+ }
1163
+ ],
1164
+ viewType: 'large'
1165
+ },
1166
+ {
1167
+ images: [
1168
+ {
1169
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, large',
1170
+ disBaseLink:
1171
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbde9a921/images/large/PG.10211049.JJ9LMXX.PZ.jpg',
1172
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwbde9a921/images/large/PG.10211049.JJ9LMXX.PZ.jpg',
1173
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
1174
+ },
1175
+ {
1176
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, large',
1177
+ disBaseLink:
1178
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw3b2c7f13/images/large/PG.10211049.JJ9LMXX.BZ.jpg',
1179
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw3b2c7f13/images/large/PG.10211049.JJ9LMXX.BZ.jpg',
1180
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
1181
+ }
1182
+ ],
1183
+ variationAttributes: [
1184
+ {
1185
+ id: 'color',
1186
+ values: [
1187
+ {
1188
+ value: 'JJ9LMXX'
1189
+ }
1190
+ ]
1191
+ }
1192
+ ],
1193
+ viewType: 'large'
1194
+ },
1195
+ {
1196
+ images: [
1197
+ {
1198
+ alt: 'Extend Tab Straight Leg Pant, , medium',
1199
+ disBaseLink:
1200
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf852acb0/images/medium/PG.10211049.JJ9LMXX.PZ.jpg',
1201
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf852acb0/images/medium/PG.10211049.JJ9LMXX.PZ.jpg',
1202
+ title: 'Extend Tab Straight Leg Pant, '
1203
+ },
1204
+ {
1205
+ alt: 'Extend Tab Straight Leg Pant, , medium',
1206
+ disBaseLink:
1207
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw28eac377/images/medium/PG.10211049.JJ9LMXX.BZ.jpg',
1208
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw28eac377/images/medium/PG.10211049.JJ9LMXX.BZ.jpg',
1209
+ title: 'Extend Tab Straight Leg Pant, '
1210
+ }
1211
+ ],
1212
+ viewType: 'medium'
1213
+ },
1214
+ {
1215
+ images: [
1216
+ {
1217
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, medium',
1218
+ disBaseLink:
1219
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf852acb0/images/medium/PG.10211049.JJ9LMXX.PZ.jpg',
1220
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf852acb0/images/medium/PG.10211049.JJ9LMXX.PZ.jpg',
1221
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
1222
+ },
1223
+ {
1224
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, medium',
1225
+ disBaseLink:
1226
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw28eac377/images/medium/PG.10211049.JJ9LMXX.BZ.jpg',
1227
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw28eac377/images/medium/PG.10211049.JJ9LMXX.BZ.jpg',
1228
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
1229
+ }
1230
+ ],
1231
+ variationAttributes: [
1232
+ {
1233
+ id: 'color',
1234
+ values: [
1235
+ {
1236
+ value: 'JJ9LMXX'
1237
+ }
1238
+ ]
1239
+ }
1240
+ ],
1241
+ viewType: 'medium'
1242
+ },
1243
+ {
1244
+ images: [
1245
+ {
1246
+ alt: 'Extend Tab Straight Leg Pant, , small',
1247
+ disBaseLink:
1248
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf5169852/images/small/PG.10211049.JJ9LMXX.PZ.jpg',
1249
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf5169852/images/small/PG.10211049.JJ9LMXX.PZ.jpg',
1250
+ title: 'Extend Tab Straight Leg Pant, '
1251
+ },
1252
+ {
1253
+ alt: 'Extend Tab Straight Leg Pant, , small',
1254
+ disBaseLink:
1255
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw08ed3309/images/small/PG.10211049.JJ9LMXX.BZ.jpg',
1256
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw08ed3309/images/small/PG.10211049.JJ9LMXX.BZ.jpg',
1257
+ title: 'Extend Tab Straight Leg Pant, '
1258
+ }
1259
+ ],
1260
+ viewType: 'small'
1261
+ },
1262
+ {
1263
+ images: [
1264
+ {
1265
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, small',
1266
+ disBaseLink:
1267
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf5169852/images/small/PG.10211049.JJ9LMXX.PZ.jpg',
1268
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dwf5169852/images/small/PG.10211049.JJ9LMXX.PZ.jpg',
1269
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
1270
+ },
1271
+ {
1272
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, small',
1273
+ disBaseLink:
1274
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw08ed3309/images/small/PG.10211049.JJ9LMXX.BZ.jpg',
1275
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw08ed3309/images/small/PG.10211049.JJ9LMXX.BZ.jpg',
1276
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
1277
+ }
1278
+ ],
1279
+ variationAttributes: [
1280
+ {
1281
+ id: 'color',
1282
+ values: [
1283
+ {
1284
+ value: 'JJ9LMXX'
1285
+ }
1286
+ ]
1287
+ }
1288
+ ],
1289
+ viewType: 'small'
1290
+ },
1291
+ {
1292
+ images: [
1293
+ {
1294
+ alt: 'Extend Tab Straight Leg Pant, Marine Wash, swatch',
1295
+ disBaseLink:
1296
+ 'https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZRF_001/on/demandware.static/-/Sites-apparel-m-catalog/default/dw5314a78e/images/swatch/PG.10211049.JJ9LMXX.CP.jpg',
1297
+ link: 'https://zzrf-001.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-m-catalog/default/dw5314a78e/images/swatch/PG.10211049.JJ9LMXX.CP.jpg',
1298
+ title: 'Extend Tab Straight Leg Pant, Marine Wash'
1299
+ }
1300
+ ],
1301
+ variationAttributes: [
1302
+ {
1303
+ id: 'color',
1304
+ values: [
1305
+ {
1306
+ value: 'JJ9LMXX'
1307
+ }
1308
+ ]
1309
+ }
1310
+ ],
1311
+ viewType: 'swatch'
1312
+ }
1313
+ ],
1314
+ inventory: {
1315
+ ats: 100,
1316
+ backorderable: false,
1317
+ id: 'inventory_m',
1318
+ orderable: true,
1319
+ preorderable: false,
1320
+ stockLevel: 100
1321
+ },
1322
+ longDescription:
1323
+ 'Classically designed, this bootleg jean is perfect to pair with a great Commerce Cloud Store top.',
1324
+ master: {
1325
+ masterId: '25518009M',
1326
+ orderable: true,
1327
+ price: 28.15
1328
+ },
1329
+ minOrderQuantity: 1,
1330
+ name: 'Extend Tab Straight Leg Pant',
1331
+ pageDescription:
1332
+ 'Classically designed, this bootleg jean is perfect to pair with a great Commerce Cloud Store top.',
1333
+ pageTitle: 'Extend Tab Straight Leg Pant',
1334
+ price: 28.15,
1335
+ pricePerUnit: 28.15,
1336
+ shortDescription:
1337
+ 'Classically designed, this bootleg jean is perfect to pair with a great Commerce Cloud Store top.',
1338
+ slugUrl:
1339
+ 'https://zzrf-001.dx.commercecloud.salesforce.com/s/RefArchGlobal/extend-tab-straight-leg-pant/701642819462M.html?lang=default',
1340
+ stepQuantity: 1,
1341
+ type: {
1342
+ variant: true
1343
+ },
1344
+ unitMeasure: '',
1345
+ unitQuantity: 0,
1346
+ upc: '701642819462',
1347
+ validFrom: {
1348
+ default: '2010-10-21T04:00:00.000Z'
1349
+ },
1350
+ variants: [
1351
+ {
1352
+ orderable: true,
1353
+ price: 28.15,
1354
+ productId: '701642819431M',
1355
+ variationValues: {
1356
+ color: 'JJ9LMXX',
1357
+ size: '016'
1358
+ }
1359
+ },
1360
+ {
1361
+ orderable: true,
1362
+ price: 28.15,
1363
+ productId: '701642819400M',
1364
+ variationValues: {
1365
+ color: 'JJ9LMXX',
1366
+ size: '010'
1367
+ }
1368
+ },
1369
+ {
1370
+ orderable: true,
1371
+ price: 28.15,
1372
+ productId: '701642819462M',
1373
+ variationValues: {
1374
+ color: 'JJ9LMXX',
1375
+ size: '008'
1376
+ }
1377
+ },
1378
+ {
1379
+ orderable: true,
1380
+ price: 28.15,
1381
+ productId: '701642819417M',
1382
+ variationValues: {
1383
+ color: 'JJ9LMXX',
1384
+ size: '012'
1385
+ }
1386
+ },
1387
+ {
1388
+ orderable: true,
1389
+ price: 28.15,
1390
+ productId: '701642819424M',
1391
+ variationValues: {
1392
+ color: 'JJ9LMXX',
1393
+ size: '014'
1394
+ }
1395
+ },
1396
+ {
1397
+ orderable: true,
1398
+ price: 28.15,
1399
+ productId: '701642819448M',
1400
+ variationValues: {
1401
+ color: 'JJ9LMXX',
1402
+ size: '004'
1403
+ }
1404
+ },
1405
+ {
1406
+ orderable: true,
1407
+ price: 28.15,
1408
+ productId: '701642819455M',
1409
+ variationValues: {
1410
+ color: 'JJ9LMXX',
1411
+ size: '006'
1412
+ }
1413
+ }
1414
+ ],
1415
+ variationAttributes: [
1416
+ {
1417
+ id: 'color',
1418
+ name: 'Color',
1419
+ values: [
1420
+ {
1421
+ name: 'Marine Wash',
1422
+ orderable: true,
1423
+ value: 'JJ9LMXX'
1424
+ }
1425
+ ]
1426
+ },
1427
+ {
1428
+ id: 'size',
1429
+ name: 'Size',
1430
+ values: [
1431
+ {
1432
+ name: '4',
1433
+ orderable: true,
1434
+ value: '004'
1435
+ },
1436
+ {
1437
+ name: '6',
1438
+ orderable: true,
1439
+ value: '006'
1440
+ },
1441
+ {
1442
+ name: '8',
1443
+ orderable: true,
1444
+ value: '008'
1445
+ },
1446
+ {
1447
+ name: '10',
1448
+ orderable: true,
1449
+ value: '010'
1450
+ },
1451
+ {
1452
+ name: '12',
1453
+ orderable: true,
1454
+ value: '012'
1455
+ },
1456
+ {
1457
+ name: '14',
1458
+ orderable: true,
1459
+ value: '014'
1460
+ },
1461
+ {
1462
+ name: '16',
1463
+ orderable: true,
1464
+ value: '016'
1465
+ }
1466
+ ]
1467
+ }
1468
+ ],
1469
+ variationValues: {
1470
+ color: 'JJ9LMXX',
1471
+ size: '008'
1472
+ },
1473
+ c_color: 'JJ9LMXX',
1474
+ c_isNewtest: true,
1475
+ c_refinementColor: 'blue',
1476
+ c_size: '008',
1477
+ c_width: 'Z'
1478
+ }
1479
+ ],
1480
+ total: 7
1481
+ }