@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,1417 @@
1
+ {
2
+ "account.accordion.button.my_account": {
3
+ "defaultMessage": "My Account"
4
+ },
5
+ "account.heading.my_account": {
6
+ "defaultMessage": "My Account"
7
+ },
8
+ "account.logout_button.button.log_out": {
9
+ "defaultMessage": "Log Out"
10
+ },
11
+ "account_addresses.badge.default": {
12
+ "defaultMessage": "Default"
13
+ },
14
+ "account_addresses.button.add_address": {
15
+ "defaultMessage": "Add Address"
16
+ },
17
+ "account_addresses.info.address_removed": {
18
+ "defaultMessage": "Address removed"
19
+ },
20
+ "account_addresses.info.address_updated": {
21
+ "defaultMessage": "Address updated"
22
+ },
23
+ "account_addresses.info.new_address_saved": {
24
+ "defaultMessage": "New address saved"
25
+ },
26
+ "account_addresses.page_action_placeholder.button.add_address": {
27
+ "defaultMessage": "Add Address"
28
+ },
29
+ "account_addresses.page_action_placeholder.heading.no_saved_addresses": {
30
+ "defaultMessage": "No Saved Addresses"
31
+ },
32
+ "account_addresses.page_action_placeholder.message.add_new_address": {
33
+ "defaultMessage": "Add a new address method for faster checkout."
34
+ },
35
+ "account_addresses.title.addresses": {
36
+ "defaultMessage": "Addresses"
37
+ },
38
+ "account_detail.title.account_details": {
39
+ "defaultMessage": "Account Details"
40
+ },
41
+ "account_order_detail.heading.billing_address": {
42
+ "defaultMessage": "Billing Address"
43
+ },
44
+ "account_order_detail.heading.num_of_items": {
45
+ "defaultMessage": "{count} items"
46
+ },
47
+ "account_order_detail.heading.payment_method": {
48
+ "defaultMessage": "Payment Method"
49
+ },
50
+ "account_order_detail.heading.shipping_address": {
51
+ "defaultMessage": "Shipping Address"
52
+ },
53
+ "account_order_detail.heading.shipping_method": {
54
+ "defaultMessage": "Shipping Method"
55
+ },
56
+ "account_order_detail.label.order_number": {
57
+ "defaultMessage": "Order Number: {orderNumber}"
58
+ },
59
+ "account_order_detail.label.ordered_date": {
60
+ "defaultMessage": "Ordered: {date}"
61
+ },
62
+ "account_order_detail.label.pending_tracking_number": {
63
+ "defaultMessage": "Pending"
64
+ },
65
+ "account_order_detail.label.tracking_number": {
66
+ "defaultMessage": "Tracking Number"
67
+ },
68
+ "account_order_detail.link.back_to_history": {
69
+ "defaultMessage": "Back to Order History"
70
+ },
71
+ "account_order_detail.shipping_status.not_shipped": {
72
+ "defaultMessage": "Not shipped"
73
+ },
74
+ "account_order_detail.shipping_status.part_shipped": {
75
+ "defaultMessage": "Partially shipped"
76
+ },
77
+ "account_order_detail.shipping_status.shipped": {
78
+ "defaultMessage": "Shipped"
79
+ },
80
+ "account_order_detail.title.order_details": {
81
+ "defaultMessage": "Order Details"
82
+ },
83
+ "account_order_history.button.continue_shopping": {
84
+ "defaultMessage": "Continue Shopping"
85
+ },
86
+ "account_order_history.description.once_you_place_order": {
87
+ "defaultMessage": "Once you place an order the details will show up here."
88
+ },
89
+ "account_order_history.heading.no_order_yet": {
90
+ "defaultMessage": "You haven't placed an order yet."
91
+ },
92
+ "account_order_history.label.num_of_items": {
93
+ "defaultMessage": "{count} items",
94
+ "description": "Number of items in order"
95
+ },
96
+ "account_order_history.label.order_number": {
97
+ "defaultMessage": "Order Number: {orderNumber}"
98
+ },
99
+ "account_order_history.label.ordered_date": {
100
+ "defaultMessage": "Ordered: {date}"
101
+ },
102
+ "account_order_history.label.shipped_to": {
103
+ "defaultMessage": "Shipped to: {name}"
104
+ },
105
+ "account_order_history.link.view_details": {
106
+ "defaultMessage": "View details"
107
+ },
108
+ "account_order_history.title.order_history": {
109
+ "defaultMessage": "Order History"
110
+ },
111
+ "account_wishlist.button.continue_shopping": {
112
+ "defaultMessage": "Continue Shopping"
113
+ },
114
+ "account_wishlist.description.continue_shopping": {
115
+ "defaultMessage": "Continue shopping and add items to your wishlist."
116
+ },
117
+ "account_wishlist.heading.no_wishlist": {
118
+ "defaultMessage": "No Wishlist Items"
119
+ },
120
+ "account_wishlist.title.wishlist": {
121
+ "defaultMessage": "Wishlist"
122
+ },
123
+ "action_card.action.edit": {
124
+ "defaultMessage": "Edit"
125
+ },
126
+ "action_card.action.remove": {
127
+ "defaultMessage": "Remove"
128
+ },
129
+ "add_to_cart_modal.info.added_to_cart": {
130
+ "defaultMessage": "{quantity} {quantity, plural, one {item} other {items}} added to cart"
131
+ },
132
+ "add_to_cart_modal.label.cart_subtotal": {
133
+ "defaultMessage": "Cart Subtotal ({itemAccumulatedCount} item)"
134
+ },
135
+ "add_to_cart_modal.label.quantity": {
136
+ "defaultMessage": "Qty"
137
+ },
138
+ "add_to_cart_modal.link.checkout": {
139
+ "defaultMessage": "Proceed to Checkout"
140
+ },
141
+ "add_to_cart_modal.link.view_cart": {
142
+ "defaultMessage": "View Cart"
143
+ },
144
+ "add_to_cart_modal.recommended_products.title.might_also_like": {
145
+ "defaultMessage": "You Might Also Like"
146
+ },
147
+ "auth_modal.description.now_signed_in": {
148
+ "defaultMessage": "You're now signed in."
149
+ },
150
+ "auth_modal.error.incorrect_email_or_password": {
151
+ "defaultMessage": "Something's not right with your email or password. Try again."
152
+ },
153
+ "auth_modal.info.welcome_user": {
154
+ "defaultMessage": "Welcome {name},"
155
+ },
156
+ "auth_modal.password_reset_success.button.back_to_sign_in": {
157
+ "defaultMessage": "Back to Sign In"
158
+ },
159
+ "auth_modal.password_reset_success.info.will_email_shortly": {
160
+ "defaultMessage": "You will receive an email at <b>{email}</b> with a link to reset your password shortly."
161
+ },
162
+ "auth_modal.password_reset_success.title.password_reset": {
163
+ "defaultMessage": "Password Reset"
164
+ },
165
+ "cart.info.removed_from_cart": {
166
+ "defaultMessage": "Item removed from cart"
167
+ },
168
+ "cart.recommended_products.title.may_also_like": {
169
+ "defaultMessage": "You May Also Like"
170
+ },
171
+ "cart.recommended_products.title.recently_viewed": {
172
+ "defaultMessage": "Recently Viewed"
173
+ },
174
+ "cart_cta.link.checkout": {
175
+ "defaultMessage": "Proceed to Checkout"
176
+ },
177
+ "cart_secondary_button_group.action.added_to_wishlist": {
178
+ "defaultMessage": "Add to Wishlist"
179
+ },
180
+ "cart_secondary_button_group.action.edit": {
181
+ "defaultMessage": "Edit"
182
+ },
183
+ "cart_secondary_button_group.action.remove": {
184
+ "defaultMessage": "Remove"
185
+ },
186
+ "cart_secondary_button_group.label.this_is_gift": {
187
+ "defaultMessage": "This is a gift."
188
+ },
189
+ "cart_secondary_button_group.link_learn_more": {
190
+ "defaultMessage": "Learn More"
191
+ },
192
+ "cart_skeleton.heading.order_summary": {
193
+ "defaultMessage": "Order Summary"
194
+ },
195
+ "cart_skeleton.title.cart": {
196
+ "defaultMessage": "Cart"
197
+ },
198
+ "cart_title.title.cart_num_of_items": {
199
+ "defaultMessage": "Cart ({itemCount, plural, =0 {0 items} one {# item} other {# items}})"
200
+ },
201
+ "cc_radio_group.action.remove": {
202
+ "defaultMessage": "Remove"
203
+ },
204
+ "cc_radio_group.button.add_new_card": {
205
+ "defaultMessage": "Add New Card"
206
+ },
207
+ "checkout.button.place_order": {
208
+ "defaultMessage": "Place Order"
209
+ },
210
+ "checkout.message.generic_error": {
211
+ "defaultMessage": "An unexpected error occurred during checkout."
212
+ },
213
+ "checkout_confirmation.button.create_account": {
214
+ "defaultMessage": "Create Account"
215
+ },
216
+ "checkout_confirmation.heading.billing_address": {
217
+ "defaultMessage": "Billing Address"
218
+ },
219
+ "checkout_confirmation.heading.create_account": {
220
+ "defaultMessage": "Create an account for faster checkout"
221
+ },
222
+ "checkout_confirmation.heading.credit_card": {
223
+ "defaultMessage": "Credit Card"
224
+ },
225
+ "checkout_confirmation.heading.delivery_details": {
226
+ "defaultMessage": "Delivery Details"
227
+ },
228
+ "checkout_confirmation.heading.order_summary": {
229
+ "defaultMessage": "Order Summary"
230
+ },
231
+ "checkout_confirmation.heading.payment_details": {
232
+ "defaultMessage": "Payment Details"
233
+ },
234
+ "checkout_confirmation.heading.shipping_address": {
235
+ "defaultMessage": "Shipping Address"
236
+ },
237
+ "checkout_confirmation.heading.shipping_method": {
238
+ "defaultMessage": "Shipping Method"
239
+ },
240
+ "checkout_confirmation.heading.thank_you_for_order": {
241
+ "defaultMessage": "Thank you for your order!"
242
+ },
243
+ "checkout_confirmation.label.free": {
244
+ "defaultMessage": "Free"
245
+ },
246
+ "checkout_confirmation.label.order_number": {
247
+ "defaultMessage": "Order Number"
248
+ },
249
+ "checkout_confirmation.label.order_total": {
250
+ "defaultMessage": "Order Total"
251
+ },
252
+ "checkout_confirmation.label.promo_applied": {
253
+ "defaultMessage": "Promotion applied"
254
+ },
255
+ "checkout_confirmation.label.shipping": {
256
+ "defaultMessage": "Shipping"
257
+ },
258
+ "checkout_confirmation.label.subtotal": {
259
+ "defaultMessage": "Subtotal"
260
+ },
261
+ "checkout_confirmation.label.tax": {
262
+ "defaultMessage": "Tax"
263
+ },
264
+ "checkout_confirmation.link.continue_shopping": {
265
+ "defaultMessage": "Continue Shopping"
266
+ },
267
+ "checkout_confirmation.link.login": {
268
+ "defaultMessage": "Log in here"
269
+ },
270
+ "checkout_confirmation.message.already_has_account": {
271
+ "defaultMessage": "This email already has an account."
272
+ },
273
+ "checkout_confirmation.message.num_of_items_in_order": {
274
+ "defaultMessage": "{itemCount, plural, =0 {0 items} one {# item} other {# items}}",
275
+ "description": "# item(s) in order"
276
+ },
277
+ "checkout_confirmation.message.will_email_shortly": {
278
+ "defaultMessage": "We will send an email to <b>{email}</b> with your confirmation number and receipt shortly."
279
+ },
280
+ "checkout_footer.link.privacy_policy": {
281
+ "defaultMessage": "Privacy Policy"
282
+ },
283
+ "checkout_footer.link.returns_exchanges": {
284
+ "defaultMessage": "Returns & Exchanges"
285
+ },
286
+ "checkout_footer.link.shipping": {
287
+ "defaultMessage": "Shipping"
288
+ },
289
+ "checkout_footer.link.site_map": {
290
+ "defaultMessage": "Site Map"
291
+ },
292
+ "checkout_footer.link.terms_conditions": {
293
+ "defaultMessage": "Terms & Conditions"
294
+ },
295
+ "checkout_footer.message.copyright": {
296
+ "defaultMessage": "Salesforce or its affiliates. All rights reserved. This is a demo store only. Orders made WILL NOT be processed."
297
+ },
298
+ "checkout_header.link.cart": {
299
+ "defaultMessage": "Back to cart"
300
+ },
301
+ "checkout_payment.action.remove": {
302
+ "defaultMessage": "Remove"
303
+ },
304
+ "checkout_payment.button.review_order": {
305
+ "defaultMessage": "Review Order"
306
+ },
307
+ "checkout_payment.heading.billing_address": {
308
+ "defaultMessage": "Billing Address"
309
+ },
310
+ "checkout_payment.heading.credit_card": {
311
+ "defaultMessage": "Credit Card"
312
+ },
313
+ "checkout_payment.label.same_as_shipping": {
314
+ "defaultMessage": "Same as shipping address"
315
+ },
316
+ "checkout_payment.title.payment": {
317
+ "defaultMessage": "Payment"
318
+ },
319
+ "confirmation_modal.default.action.no": {
320
+ "defaultMessage": "No"
321
+ },
322
+ "confirmation_modal.default.action.yes": {
323
+ "defaultMessage": "Yes"
324
+ },
325
+ "confirmation_modal.default.message.you_want_to_continue": {
326
+ "defaultMessage": "Are you sure you want to continue?"
327
+ },
328
+ "confirmation_modal.default.title.confirm_action": {
329
+ "defaultMessage": "Confirm Action"
330
+ },
331
+ "confirmation_modal.remove_cart_item.action.no": {
332
+ "defaultMessage": "No, keep item"
333
+ },
334
+ "confirmation_modal.remove_cart_item.action.yes": {
335
+ "defaultMessage": "Yes, remove item"
336
+ },
337
+ "confirmation_modal.remove_cart_item.message.sure_to_remove": {
338
+ "defaultMessage": "Are you sure you want to remove this item from your cart?"
339
+ },
340
+ "confirmation_modal.remove_cart_item.title.confirm_remove": {
341
+ "defaultMessage": "Confirm Remove Item"
342
+ },
343
+ "confirmation_modal.remove_wishlist_item.action.no": {
344
+ "defaultMessage": "No, keep item"
345
+ },
346
+ "confirmation_modal.remove_wishlist_item.action.yes": {
347
+ "defaultMessage": "Yes, remove item"
348
+ },
349
+ "confirmation_modal.remove_wishlist_item.message.sure_to_remove": {
350
+ "defaultMessage": "Are you sure you want to remove this item from your wishlist?"
351
+ },
352
+ "confirmation_modal.remove_wishlist_item.title.confirm_remove": {
353
+ "defaultMessage": "Confirm Remove Item"
354
+ },
355
+ "contact_info.action.sign_out": {
356
+ "defaultMessage": "Sign Out"
357
+ },
358
+ "contact_info.button.already_have_account": {
359
+ "defaultMessage": "Already have an account? Log in"
360
+ },
361
+ "contact_info.button.checkout_as_guest": {
362
+ "defaultMessage": "Checkout as Guest"
363
+ },
364
+ "contact_info.button.login": {
365
+ "defaultMessage": "Log In"
366
+ },
367
+ "contact_info.error.incorrect_username_or_password": {
368
+ "defaultMessage": "Incorrect username or password, please try again."
369
+ },
370
+ "contact_info.link.forgot_password": {
371
+ "defaultMessage": "Forgot password?"
372
+ },
373
+ "contact_info.title.contact_info": {
374
+ "defaultMessage": "Contact Info"
375
+ },
376
+ "credit_card_fields.tool_tip.security_code": {
377
+ "defaultMessage": "This 3-digit code can be found on the back of your card.",
378
+ "description": "Generic credit card security code help text"
379
+ },
380
+ "credit_card_fields.tool_tip.security_code.american_express": {
381
+ "defaultMessage": "This 4-digit code can be found on the front of your card.",
382
+ "description": "American Express security code help text"
383
+ },
384
+ "drawer_menu.button.account_details": {
385
+ "defaultMessage": "Account Details"
386
+ },
387
+ "drawer_menu.button.addresses": {
388
+ "defaultMessage": "Addresses"
389
+ },
390
+ "drawer_menu.button.log_out": {
391
+ "defaultMessage": "Log Out"
392
+ },
393
+ "drawer_menu.button.my_account": {
394
+ "defaultMessage": "My Account"
395
+ },
396
+ "drawer_menu.button.order_history": {
397
+ "defaultMessage": "Order History"
398
+ },
399
+ "drawer_menu.link.about_us": {
400
+ "defaultMessage": "About Us"
401
+ },
402
+ "drawer_menu.link.customer_support": {
403
+ "defaultMessage": "Customer Support"
404
+ },
405
+ "drawer_menu.link.customer_support.contact_us": {
406
+ "defaultMessage": "Contact Us"
407
+ },
408
+ "drawer_menu.link.customer_support.shipping_and_returns": {
409
+ "defaultMessage": "Shipping & Returns"
410
+ },
411
+ "drawer_menu.link.our_company": {
412
+ "defaultMessage": "Our Company"
413
+ },
414
+ "drawer_menu.link.privacy_and_security": {
415
+ "defaultMessage": "Privacy & Security"
416
+ },
417
+ "drawer_menu.link.privacy_policy": {
418
+ "defaultMessage": "Privacy Policy"
419
+ },
420
+ "drawer_menu.link.shop_all": {
421
+ "defaultMessage": "Shop All"
422
+ },
423
+ "drawer_menu.link.sign_in": {
424
+ "defaultMessage": "Sign In"
425
+ },
426
+ "drawer_menu.link.site_map": {
427
+ "defaultMessage": "Site Map"
428
+ },
429
+ "drawer_menu.link.store_locator": {
430
+ "defaultMessage": "Store Locator"
431
+ },
432
+ "drawer_menu.link.terms_and_conditions": {
433
+ "defaultMessage": "Terms & Conditions"
434
+ },
435
+ "empty_cart.description.empty_cart": {
436
+ "defaultMessage": "Your cart is empty."
437
+ },
438
+ "empty_cart.link.continue_shopping": {
439
+ "defaultMessage": "Continue Shopping"
440
+ },
441
+ "empty_cart.link.sign_in": {
442
+ "defaultMessage": "Sign In"
443
+ },
444
+ "empty_cart.message.continue_shopping": {
445
+ "defaultMessage": "Continue shopping to add items to your cart."
446
+ },
447
+ "empty_cart.message.sign_in_or_continue_shopping": {
448
+ "defaultMessage": "Sign in to retrieve your saved items or continue shopping."
449
+ },
450
+ "empty_search_results.info.cant_find_anything_for_category": {
451
+ "defaultMessage": "We couldn’t find anything for {category}. Try searching for a product or {link}."
452
+ },
453
+ "empty_search_results.info.cant_find_anything_for_query": {
454
+ "defaultMessage": "We couldn’t find anything for \"{searchQuery}\"."
455
+ },
456
+ "empty_search_results.info.double_check_spelling": {
457
+ "defaultMessage": "Double-check your spelling and try again or {link}."
458
+ },
459
+ "empty_search_results.link.contact_us": {
460
+ "defaultMessage": "Contact Us"
461
+ },
462
+ "empty_search_results.recommended_products.title.most_viewed": {
463
+ "defaultMessage": "Most Viewed"
464
+ },
465
+ "empty_search_results.recommended_products.title.top_sellers": {
466
+ "defaultMessage": "Top Sellers"
467
+ },
468
+ "footer.column.account": {
469
+ "defaultMessage": "Account"
470
+ },
471
+ "footer.column.customer_support": {
472
+ "defaultMessage": "Customer Support"
473
+ },
474
+ "footer.column.our_company": {
475
+ "defaultMessage": "Our Company"
476
+ },
477
+ "footer.link.about_us": {
478
+ "defaultMessage": "About Us"
479
+ },
480
+ "footer.link.contact_us": {
481
+ "defaultMessage": "Contact Us"
482
+ },
483
+ "footer.link.order_status": {
484
+ "defaultMessage": "Order Status"
485
+ },
486
+ "footer.link.privacy_policy": {
487
+ "defaultMessage": "Privacy Policy"
488
+ },
489
+ "footer.link.shipping": {
490
+ "defaultMessage": "Shipping"
491
+ },
492
+ "footer.link.signin_create_account": {
493
+ "defaultMessage": "Sign in or create account"
494
+ },
495
+ "footer.link.site_map": {
496
+ "defaultMessage": "Site Map"
497
+ },
498
+ "footer.link.store_locator": {
499
+ "defaultMessage": "Store Locator"
500
+ },
501
+ "footer.link.terms_conditions": {
502
+ "defaultMessage": "Terms & Conditions"
503
+ },
504
+ "footer.message.copyright": {
505
+ "defaultMessage": "Salesforce or its affiliates. All rights reserved. This is a demo store only. Orders made WILL NOT be processed."
506
+ },
507
+ "footer.subscribe.button.sign_up": {
508
+ "defaultMessage": "Sign Up"
509
+ },
510
+ "footer.subscribe.description.sign_up": {
511
+ "defaultMessage": "Sign up to stay in the loop about the hottest deals"
512
+ },
513
+ "footer.subscribe.heading.first_to_know": {
514
+ "defaultMessage": "Be the first to know"
515
+ },
516
+ "form_action_buttons.button.cancel": {
517
+ "defaultMessage": "Cancel"
518
+ },
519
+ "form_action_buttons.button.save": {
520
+ "defaultMessage": "Save"
521
+ },
522
+ "global.account.link.account_details": {
523
+ "defaultMessage": "Account Details"
524
+ },
525
+ "global.account.link.addresses": {
526
+ "defaultMessage": "Addresses"
527
+ },
528
+ "global.account.link.order_history": {
529
+ "defaultMessage": "Order History"
530
+ },
531
+ "global.account.link.wishlist": {
532
+ "defaultMessage": "Wishlist"
533
+ },
534
+ "global.error.something_went_wrong": {
535
+ "defaultMessage": "Something went wrong. Try again!"
536
+ },
537
+ "global.info.added_to_wishlist": {
538
+ "defaultMessage": "{quantity} {quantity, plural, one {item} other {items}} added to wishlist"
539
+ },
540
+ "global.info.removed_from_wishlist": {
541
+ "defaultMessage": "Item removed from wishlist"
542
+ },
543
+ "global.link.added_to_wishlist.view_wishlist": {
544
+ "defaultMessage": "View"
545
+ },
546
+ "header.button.assistive_msg.logo": {
547
+ "defaultMessage": "Logo"
548
+ },
549
+ "header.button.assistive_msg.menu": {
550
+ "defaultMessage": "Menu"
551
+ },
552
+ "header.button.assistive_msg.my_account": {
553
+ "defaultMessage": "My account"
554
+ },
555
+ "header.button.assistive_msg.my_cart": {
556
+ "defaultMessage": "My cart"
557
+ },
558
+ "header.button.assistive_msg.wishlist": {
559
+ "defaultMessage": "Wishlist"
560
+ },
561
+ "header.field.placeholder.search_for_products": {
562
+ "defaultMessage": "Search for products..."
563
+ },
564
+ "header.popover.action.log_out": {
565
+ "defaultMessage": "Log out"
566
+ },
567
+ "header.popover.title.my_account": {
568
+ "defaultMessage": "My Account"
569
+ },
570
+ "home.description.features": {
571
+ "defaultMessage": "Out-of-the-box features so that you focus only on adding enhancements."
572
+ },
573
+ "home.description.here_to_help": {
574
+ "defaultMessage": "Contact our support staff."
575
+ },
576
+ "home.description.here_to_help_line_2": {
577
+ "defaultMessage": "They will get you to the right place."
578
+ },
579
+ "home.description.shop_products": {
580
+ "defaultMessage": "This section contains content from the catalog. {docLink} on how to replace it.",
581
+ "description": "{docLink} is a html button that links the user to https://sfdc.co/business-manager-manage-catalogs"
582
+ },
583
+ "home.features.description.cart_checkout": {
584
+ "defaultMessage": "Ecommerce best practice for a shopper's cart and checkout experience."
585
+ },
586
+ "home.features.description.components": {
587
+ "defaultMessage": "Built using Chakra UI, a simple, modular and accessible React component library."
588
+ },
589
+ "home.features.description.einstein_recommendations": {
590
+ "defaultMessage": "Deliver the next best product or offer to every shopper through product recommendations."
591
+ },
592
+ "home.features.description.my_account": {
593
+ "defaultMessage": "Shoppers can manage account information such as their profile, addresses, payments and orders."
594
+ },
595
+ "home.features.description.shopper_login": {
596
+ "defaultMessage": "Enable shoppers to easily log in with a more personalized shopping experience."
597
+ },
598
+ "home.features.description.wishlist": {
599
+ "defaultMessage": "Registered shoppers can add product items to their wishlist from purchasing later."
600
+ },
601
+ "home.features.heading.cart_checkout": {
602
+ "defaultMessage": "Cart & Checkout"
603
+ },
604
+ "home.features.heading.components": {
605
+ "defaultMessage": "Components & Design Kit"
606
+ },
607
+ "home.features.heading.einstein_recommendations": {
608
+ "defaultMessage": "Einstein Recommendations"
609
+ },
610
+ "home.features.heading.my_account": {
611
+ "defaultMessage": "My Account"
612
+ },
613
+ "home.features.heading.shopper_login": {
614
+ "defaultMessage": "Shopper Login and API Access Service"
615
+ },
616
+ "home.features.heading.wishlist": {
617
+ "defaultMessage": "Wishlist"
618
+ },
619
+ "home.heading.features": {
620
+ "defaultMessage": "Features"
621
+ },
622
+ "home.heading.here_to_help": {
623
+ "defaultMessage": "We're here to help"
624
+ },
625
+ "home.heading.shop_products": {
626
+ "defaultMessage": "Shop Products"
627
+ },
628
+ "home.hero_features.link.design_kit": {
629
+ "defaultMessage": "Create with the Figma PWA Design Kit"
630
+ },
631
+ "home.hero_features.link.on_github": {
632
+ "defaultMessage": "Download on Github"
633
+ },
634
+ "home.hero_features.link.on_managed_runtime": {
635
+ "defaultMessage": "Deploy on Managed Runtime"
636
+ },
637
+ "home.link.contact_us": {
638
+ "defaultMessage": "Contact Us"
639
+ },
640
+ "home.link.get_started": {
641
+ "defaultMessage": "Get started"
642
+ },
643
+ "home.link.read_docs": {
644
+ "defaultMessage": "Read docs"
645
+ },
646
+ "home.title.react_starter_store": {
647
+ "defaultMessage": "The React PWA Starter Store for Retail"
648
+ },
649
+ "item_attributes.label.promotions": {
650
+ "defaultMessage": "Promotions"
651
+ },
652
+ "item_attributes.label.quantity": {
653
+ "defaultMessage": "Quantity: {quantity}"
654
+ },
655
+ "item_image.label.sale": {
656
+ "defaultMessage": "Sale",
657
+ "description": "A sale badge placed on top of a product image"
658
+ },
659
+ "item_price.label.starting_at": {
660
+ "defaultMessage": "Starting at"
661
+ },
662
+ "lCPCxk": {
663
+ "defaultMessage": "Please select all your options above"
664
+ },
665
+ "locale_text.message.ar-SA": {
666
+ "defaultMessage": "Arabic (Saudi Arabia)"
667
+ },
668
+ "locale_text.message.bn-BD": {
669
+ "defaultMessage": "Bangla (Bangladesh)"
670
+ },
671
+ "locale_text.message.bn-IN": {
672
+ "defaultMessage": "Bangla (India)"
673
+ },
674
+ "locale_text.message.cs-CZ": {
675
+ "defaultMessage": "Czech (Czech Republic)"
676
+ },
677
+ "locale_text.message.da-DK": {
678
+ "defaultMessage": "Danish (Denmark)"
679
+ },
680
+ "locale_text.message.de-AT": {
681
+ "defaultMessage": "German (Austria)"
682
+ },
683
+ "locale_text.message.de-CH": {
684
+ "defaultMessage": "German (Switzerland)"
685
+ },
686
+ "locale_text.message.de-DE": {
687
+ "defaultMessage": "German (Germany)"
688
+ },
689
+ "locale_text.message.el-GR": {
690
+ "defaultMessage": "Greek (Greece)"
691
+ },
692
+ "locale_text.message.en-AU": {
693
+ "defaultMessage": "English (Australia)"
694
+ },
695
+ "locale_text.message.en-CA": {
696
+ "defaultMessage": "English (Canada)"
697
+ },
698
+ "locale_text.message.en-GB": {
699
+ "defaultMessage": "English (United Kingdom)"
700
+ },
701
+ "locale_text.message.en-IE": {
702
+ "defaultMessage": "English (Ireland)"
703
+ },
704
+ "locale_text.message.en-IN": {
705
+ "defaultMessage": "English (India)"
706
+ },
707
+ "locale_text.message.en-NZ": {
708
+ "defaultMessage": "English (New Zealand)"
709
+ },
710
+ "locale_text.message.en-US": {
711
+ "defaultMessage": "English (United States)"
712
+ },
713
+ "locale_text.message.en-ZA": {
714
+ "defaultMessage": "English (South Africa)"
715
+ },
716
+ "locale_text.message.es-AR": {
717
+ "defaultMessage": "Spanish (Argentina)"
718
+ },
719
+ "locale_text.message.es-CL": {
720
+ "defaultMessage": "Spanish (Chile)"
721
+ },
722
+ "locale_text.message.es-CO": {
723
+ "defaultMessage": "Spanish (Columbia)"
724
+ },
725
+ "locale_text.message.es-ES": {
726
+ "defaultMessage": "Spanish (Spain)"
727
+ },
728
+ "locale_text.message.es-MX": {
729
+ "defaultMessage": "Spanish (Mexico)"
730
+ },
731
+ "locale_text.message.es-US": {
732
+ "defaultMessage": "Spanish (United States)"
733
+ },
734
+ "locale_text.message.fi-FI": {
735
+ "defaultMessage": "Finnish (Finland)"
736
+ },
737
+ "locale_text.message.fr-BE": {
738
+ "defaultMessage": "French (Belgium)"
739
+ },
740
+ "locale_text.message.fr-CA": {
741
+ "defaultMessage": "French (Canada)"
742
+ },
743
+ "locale_text.message.fr-CH": {
744
+ "defaultMessage": "French (Switzerland)"
745
+ },
746
+ "locale_text.message.fr-FR": {
747
+ "defaultMessage": "French (France)"
748
+ },
749
+ "locale_text.message.he-IL": {
750
+ "defaultMessage": "Hebrew (Israel)"
751
+ },
752
+ "locale_text.message.hi-IN": {
753
+ "defaultMessage": "Hindi (India)"
754
+ },
755
+ "locale_text.message.hu-HU": {
756
+ "defaultMessage": "Hungarian (Hungary)"
757
+ },
758
+ "locale_text.message.id-ID": {
759
+ "defaultMessage": "Indonesian (Indonesia)"
760
+ },
761
+ "locale_text.message.it-CH": {
762
+ "defaultMessage": "Italian (Switzerland)"
763
+ },
764
+ "locale_text.message.it-IT": {
765
+ "defaultMessage": "Italian (Italy)"
766
+ },
767
+ "locale_text.message.ja-JP": {
768
+ "defaultMessage": "Japanese (Japan)"
769
+ },
770
+ "locale_text.message.ko-KR": {
771
+ "defaultMessage": "Korean (Republic of Korea)"
772
+ },
773
+ "locale_text.message.nl-BE": {
774
+ "defaultMessage": "Dutch (Belgium)"
775
+ },
776
+ "locale_text.message.nl-NL": {
777
+ "defaultMessage": "Dutch (The Netherlands)"
778
+ },
779
+ "locale_text.message.no-NO": {
780
+ "defaultMessage": "Norwegian (Norway)"
781
+ },
782
+ "locale_text.message.pl-PL": {
783
+ "defaultMessage": "Polish (Poland)"
784
+ },
785
+ "locale_text.message.pt-BR": {
786
+ "defaultMessage": "Portuguese (Brazil)"
787
+ },
788
+ "locale_text.message.pt-PT": {
789
+ "defaultMessage": "Portuguese (Portugal)"
790
+ },
791
+ "locale_text.message.ro-RO": {
792
+ "defaultMessage": "Romanian (Romania)"
793
+ },
794
+ "locale_text.message.ru-RU": {
795
+ "defaultMessage": "Russian (Russian Federation)"
796
+ },
797
+ "locale_text.message.sk-SK": {
798
+ "defaultMessage": "Slovak (Slovakia)"
799
+ },
800
+ "locale_text.message.sv-SE": {
801
+ "defaultMessage": "Swedish (Sweden)"
802
+ },
803
+ "locale_text.message.ta-IN": {
804
+ "defaultMessage": "Tamil (India)"
805
+ },
806
+ "locale_text.message.ta-LK": {
807
+ "defaultMessage": "Tamil (Sri Lanka)"
808
+ },
809
+ "locale_text.message.th-TH": {
810
+ "defaultMessage": "Thai (Thailand)"
811
+ },
812
+ "locale_text.message.tr-TR": {
813
+ "defaultMessage": "Turkish (Turkey)"
814
+ },
815
+ "locale_text.message.zh-CN": {
816
+ "defaultMessage": "Chinese (China)"
817
+ },
818
+ "locale_text.message.zh-HK": {
819
+ "defaultMessage": "Chinese (Hong Kong)"
820
+ },
821
+ "locale_text.message.zh-TW": {
822
+ "defaultMessage": "Chinese (Taiwan)"
823
+ },
824
+ "login_form.action.create_account": {
825
+ "defaultMessage": "Create account"
826
+ },
827
+ "login_form.button.sign_in": {
828
+ "defaultMessage": "Sign In"
829
+ },
830
+ "login_form.link.forgot_password": {
831
+ "defaultMessage": "Forgot password?"
832
+ },
833
+ "login_form.message.dont_have_account": {
834
+ "defaultMessage": "Don't have an account?"
835
+ },
836
+ "login_form.message.welcome_back": {
837
+ "defaultMessage": "Welcome Back"
838
+ },
839
+ "login_page.error.incorrect_username_or_password": {
840
+ "defaultMessage": "Incorrect username or password, please try again."
841
+ },
842
+ "offline_banner.description.browsing_offline_mode": {
843
+ "defaultMessage": "You're currently browsing in offline mode"
844
+ },
845
+ "order_summary.action.remove_promo": {
846
+ "defaultMessage": "Remove"
847
+ },
848
+ "order_summary.cart_items.action.num_of_items_in_cart": {
849
+ "defaultMessage": "{itemCount, plural, =0 {0 items} one {# item} other {# items}} in cart",
850
+ "description": "clicking it would expand/show the items in cart"
851
+ },
852
+ "order_summary.cart_items.link.edit_cart": {
853
+ "defaultMessage": "Edit cart"
854
+ },
855
+ "order_summary.heading.order_summary": {
856
+ "defaultMessage": "Order Summary"
857
+ },
858
+ "order_summary.label.estimated_total": {
859
+ "defaultMessage": "Estimated Total"
860
+ },
861
+ "order_summary.label.free": {
862
+ "defaultMessage": "Free"
863
+ },
864
+ "order_summary.label.order_total": {
865
+ "defaultMessage": "Order Total"
866
+ },
867
+ "order_summary.label.promo_applied": {
868
+ "defaultMessage": "Promotion applied"
869
+ },
870
+ "order_summary.label.promotions_applied": {
871
+ "defaultMessage": "Promotions applied"
872
+ },
873
+ "order_summary.label.shipping": {
874
+ "defaultMessage": "Shipping"
875
+ },
876
+ "order_summary.label.subtotal": {
877
+ "defaultMessage": "Subtotal"
878
+ },
879
+ "order_summary.label.tax": {
880
+ "defaultMessage": "Tax"
881
+ },
882
+ "page_not_found.action.go_back": {
883
+ "defaultMessage": "Back to previous page"
884
+ },
885
+ "page_not_found.link.homepage": {
886
+ "defaultMessage": "Go to home page"
887
+ },
888
+ "page_not_found.message.suggestion_to_try": {
889
+ "defaultMessage": "Please try retyping the address, going back to the previous page, or going to the home page."
890
+ },
891
+ "page_not_found.title.page_cant_be_found": {
892
+ "defaultMessage": "The page you're looking for can't be found."
893
+ },
894
+ "pagination.field.num_of_pages": {
895
+ "defaultMessage": "of {numOfPages}"
896
+ },
897
+ "pagination.link.next": {
898
+ "defaultMessage": "Next"
899
+ },
900
+ "pagination.link.prev": {
901
+ "defaultMessage": "Prev"
902
+ },
903
+ "password_card.info.password_updated": {
904
+ "defaultMessage": "Password updated"
905
+ },
906
+ "password_card.label.password": {
907
+ "defaultMessage": "Password"
908
+ },
909
+ "password_card.title.password": {
910
+ "defaultMessage": "Password"
911
+ },
912
+ "password_requirements.error.eight_letter_minimum": {
913
+ "defaultMessage": "8 characters minimum",
914
+ "description": "Password requirement"
915
+ },
916
+ "password_requirements.error.one_lowercase_letter": {
917
+ "defaultMessage": "1 lowercase letter",
918
+ "description": "Password requirement"
919
+ },
920
+ "password_requirements.error.one_number": {
921
+ "defaultMessage": "1 number",
922
+ "description": "Password requirement"
923
+ },
924
+ "password_requirements.error.one_special_character": {
925
+ "defaultMessage": "1 special character (example: , S ! % #)",
926
+ "description": "Password requirement"
927
+ },
928
+ "password_requirements.error.one_uppercase_letter": {
929
+ "defaultMessage": "1 uppercase letter",
930
+ "description": "Password requirement"
931
+ },
932
+ "payment_selection.heading.credit_card": {
933
+ "defaultMessage": "Credit Card"
934
+ },
935
+ "payment_selection.tooltip.secure_payment": {
936
+ "defaultMessage": "This is a secure SSL encrypted payment."
937
+ },
938
+ "price_per_item.label.each": {
939
+ "defaultMessage": "ea",
940
+ "description": "Abbreviated 'each', follows price per item, like $10/ea"
941
+ },
942
+ "product_detail.accordion.button.product_detail": {
943
+ "defaultMessage": "Product Detail"
944
+ },
945
+ "product_detail.accordion.button.questions": {
946
+ "defaultMessage": "Questions"
947
+ },
948
+ "product_detail.accordion.button.reviews": {
949
+ "defaultMessage": "Reviews"
950
+ },
951
+ "product_detail.accordion.button.size_fit": {
952
+ "defaultMessage": "Size & Fit"
953
+ },
954
+ "product_detail.accordion.message.coming_soon": {
955
+ "defaultMessage": "Coming Soon"
956
+ },
957
+ "product_detail.recommended_products.title.complete_set": {
958
+ "defaultMessage": "Complete the Set"
959
+ },
960
+ "product_detail.recommended_products.title.might_also_like": {
961
+ "defaultMessage": "You might also like"
962
+ },
963
+ "product_detail.recommended_products.title.recently_viewed": {
964
+ "defaultMessage": "Recently Viewed"
965
+ },
966
+ "product_item.label.quantity": {
967
+ "defaultMessage": "Quantity:"
968
+ },
969
+ "product_list.button.filter": {
970
+ "defaultMessage": "Filter"
971
+ },
972
+ "product_list.button.sort_by": {
973
+ "defaultMessage": "Sort By: {sortOption}"
974
+ },
975
+ "product_list.drawer.title.sort_by": {
976
+ "defaultMessage": "Sort By"
977
+ },
978
+ "product_list.modal.button.clear_filters": {
979
+ "defaultMessage": "Clear Filters"
980
+ },
981
+ "product_list.modal.button.view_items": {
982
+ "defaultMessage": "View {prroductCount} items"
983
+ },
984
+ "product_list.modal.title.filter": {
985
+ "defaultMessage": "Filter"
986
+ },
987
+ "product_list.select.sort_by": {
988
+ "defaultMessage": "Sort By: {sortOption}"
989
+ },
990
+ "product_tile.assistive_msg.wishlist": {
991
+ "defaultMessage": "Wishlist"
992
+ },
993
+ "product_tile.label.starting_at_price": {
994
+ "defaultMessage": "Starting at"
995
+ },
996
+ "product_view.button.add_set_to_cart": {
997
+ "defaultMessage": "Add Set to Cart"
998
+ },
999
+ "product_view.button.add_set_to_wishlist": {
1000
+ "defaultMessage": "Add Set to Wishlist"
1001
+ },
1002
+ "product_view.button.add_to_cart": {
1003
+ "defaultMessage": "Add to Cart"
1004
+ },
1005
+ "product_view.button.add_to_wishlist": {
1006
+ "defaultMessage": "Add to Wishlist"
1007
+ },
1008
+ "product_view.button.update": {
1009
+ "defaultMessage": "Update"
1010
+ },
1011
+ "product_view.label.quantity": {
1012
+ "defaultMessage": "Quantity"
1013
+ },
1014
+ "product_view.label.starting_at_price": {
1015
+ "defaultMessage": "Starting at"
1016
+ },
1017
+ "product_view.link.full_details": {
1018
+ "defaultMessage": "See full details"
1019
+ },
1020
+ "profile_card.info.profile_updated": {
1021
+ "defaultMessage": "Profile updated"
1022
+ },
1023
+ "profile_card.label.email": {
1024
+ "defaultMessage": "Email"
1025
+ },
1026
+ "profile_card.label.full_name": {
1027
+ "defaultMessage": "Full Name"
1028
+ },
1029
+ "profile_card.label.phone": {
1030
+ "defaultMessage": "Phone Number"
1031
+ },
1032
+ "profile_card.message.not_provided": {
1033
+ "defaultMessage": "Not provided"
1034
+ },
1035
+ "profile_card.title.my_profile": {
1036
+ "defaultMessage": "My Profile"
1037
+ },
1038
+ "promo_code_fields.button.apply": {
1039
+ "defaultMessage": "Apply"
1040
+ },
1041
+ "promo_popover.heading.promo_applied": {
1042
+ "defaultMessage": "Promotions Applied"
1043
+ },
1044
+ "promocode.accordion.button.have_promocode": {
1045
+ "defaultMessage": "Do you have a promo code?"
1046
+ },
1047
+ "recent_searches.action.clear_searches": {
1048
+ "defaultMessage": "Clear recent searches"
1049
+ },
1050
+ "recent_searches.heading.recent_searches": {
1051
+ "defaultMessage": "Recent Searches"
1052
+ },
1053
+ "register_form.action.sign_in": {
1054
+ "defaultMessage": "Sign in"
1055
+ },
1056
+ "register_form.button.create_account": {
1057
+ "defaultMessage": "Create Account"
1058
+ },
1059
+ "register_form.heading.lets_get_started": {
1060
+ "defaultMessage": "Let's get started!"
1061
+ },
1062
+ "register_form.message.agree_to_policy_terms": {
1063
+ "defaultMessage": "By creating an account, you agree to Salesforce <policy>Privacy Policy</policy> and <terms>Terms & Conditions</terms>"
1064
+ },
1065
+ "register_form.message.already_have_account": {
1066
+ "defaultMessage": "Already have an account?"
1067
+ },
1068
+ "register_form.message.create_an_account": {
1069
+ "defaultMessage": "Create an account and get first access to the very best products, inspiration and community."
1070
+ },
1071
+ "reset_password.button.back_to_sign_in": {
1072
+ "defaultMessage": "Back to Sign In"
1073
+ },
1074
+ "reset_password.info.receive_email_shortly": {
1075
+ "defaultMessage": "You will receive an email at <b>{email}</b> with a link to reset your password shortly."
1076
+ },
1077
+ "reset_password.title.password_reset": {
1078
+ "defaultMessage": "Password Reset"
1079
+ },
1080
+ "reset_password_form.action.sign_in": {
1081
+ "defaultMessage": "Sign in"
1082
+ },
1083
+ "reset_password_form.button.reset_password": {
1084
+ "defaultMessage": "Reset Password"
1085
+ },
1086
+ "reset_password_form.message.enter_your_email": {
1087
+ "defaultMessage": "Enter your email to receive instructions on how to reset your password"
1088
+ },
1089
+ "reset_password_form.message.return_to_sign_in": {
1090
+ "defaultMessage": "Or return to",
1091
+ "description": "Precedes link to return to sign in"
1092
+ },
1093
+ "reset_password_form.title.reset_password": {
1094
+ "defaultMessage": "Reset Password"
1095
+ },
1096
+ "search.action.cancel": {
1097
+ "defaultMessage": "Cancel"
1098
+ },
1099
+ "selected_refinements.action.clear_all": {
1100
+ "defaultMessage": "Clear All"
1101
+ },
1102
+ "shipping_address.button.continue_to_shipping": {
1103
+ "defaultMessage": "Continue to Shipping Method"
1104
+ },
1105
+ "shipping_address.title.shipping_address": {
1106
+ "defaultMessage": "Shipping Address"
1107
+ },
1108
+ "shipping_address_edit_form.button.save_and_continue": {
1109
+ "defaultMessage": "Save & Continue to Shipping Method"
1110
+ },
1111
+ "shipping_address_form.heading.edit_address": {
1112
+ "defaultMessage": "Edit Address"
1113
+ },
1114
+ "shipping_address_form.heading.new_address": {
1115
+ "defaultMessage": "Add New Address"
1116
+ },
1117
+ "shipping_address_selection.button.add_address": {
1118
+ "defaultMessage": "Add New Address"
1119
+ },
1120
+ "shipping_address_selection.button.submit": {
1121
+ "defaultMessage": "Submit"
1122
+ },
1123
+ "shipping_address_selection.title.add_address": {
1124
+ "defaultMessage": "Add New Address"
1125
+ },
1126
+ "shipping_address_selection.title.edit_shipping": {
1127
+ "defaultMessage": "Edit Shipping Address"
1128
+ },
1129
+ "shipping_options.action.send_as_a_gift": {
1130
+ "defaultMessage": "Do you want to send this as a gift?"
1131
+ },
1132
+ "shipping_options.button.continue_to_payment": {
1133
+ "defaultMessage": "Continue to Payment"
1134
+ },
1135
+ "shipping_options.title.shipping_gift_options": {
1136
+ "defaultMessage": "Shipping & Gift Options"
1137
+ },
1138
+ "signout_confirmation_dialog.button.cancel": {
1139
+ "defaultMessage": "Cancel"
1140
+ },
1141
+ "signout_confirmation_dialog.button.sign_out": {
1142
+ "defaultMessage": "Sign Out"
1143
+ },
1144
+ "signout_confirmation_dialog.heading.sign_out": {
1145
+ "defaultMessage": "Sign Out"
1146
+ },
1147
+ "signout_confirmation_dialog.message.sure_to_sign_out": {
1148
+ "defaultMessage": "Are you sure you want to sign out? You will need to sign back in to proceed with your current order."
1149
+ },
1150
+ "toggle_card.action.edit": {
1151
+ "defaultMessage": "Edit"
1152
+ },
1153
+ "update_password_fields.button.forgot_password": {
1154
+ "defaultMessage": "Forgot Password?"
1155
+ },
1156
+ "use_address_fields.error.please_enter_first_name": {
1157
+ "defaultMessage": "Please enter your first name."
1158
+ },
1159
+ "use_address_fields.error.please_enter_last_name": {
1160
+ "defaultMessage": "Please enter your last name."
1161
+ },
1162
+ "use_address_fields.error.please_enter_phone_number": {
1163
+ "defaultMessage": "Please enter your phone number."
1164
+ },
1165
+ "use_address_fields.error.please_enter_your_postal_or_zip": {
1166
+ "defaultMessage": "Please enter your {postalOrZip}."
1167
+ },
1168
+ "use_address_fields.error.please_select_your_address": {
1169
+ "defaultMessage": "Please enter your address."
1170
+ },
1171
+ "use_address_fields.error.please_select_your_city": {
1172
+ "defaultMessage": "Please enter your city."
1173
+ },
1174
+ "use_address_fields.error.please_select_your_country": {
1175
+ "defaultMessage": "Please select your country."
1176
+ },
1177
+ "use_address_fields.error.please_select_your_state_or_province": {
1178
+ "defaultMessage": "Please select your {stateOrProvince}."
1179
+ },
1180
+ "use_address_fields.error.required": {
1181
+ "defaultMessage": "Required"
1182
+ },
1183
+ "use_address_fields.error.state_code_invalid": {
1184
+ "defaultMessage": "Please enter 2-letter state/province."
1185
+ },
1186
+ "use_address_fields.label.address": {
1187
+ "defaultMessage": "Address"
1188
+ },
1189
+ "use_address_fields.label.city": {
1190
+ "defaultMessage": "City"
1191
+ },
1192
+ "use_address_fields.label.country": {
1193
+ "defaultMessage": "Country"
1194
+ },
1195
+ "use_address_fields.label.first_name": {
1196
+ "defaultMessage": "First Name"
1197
+ },
1198
+ "use_address_fields.label.last_name": {
1199
+ "defaultMessage": "Last Name"
1200
+ },
1201
+ "use_address_fields.label.phone": {
1202
+ "defaultMessage": "Phone"
1203
+ },
1204
+ "use_address_fields.label.postal_code": {
1205
+ "defaultMessage": "Postal Code"
1206
+ },
1207
+ "use_address_fields.label.preferred": {
1208
+ "defaultMessage": "Set as default"
1209
+ },
1210
+ "use_address_fields.label.province": {
1211
+ "defaultMessage": "Province"
1212
+ },
1213
+ "use_address_fields.label.state": {
1214
+ "defaultMessage": "State"
1215
+ },
1216
+ "use_address_fields.label.zipCode": {
1217
+ "defaultMessage": "Zip Code"
1218
+ },
1219
+ "use_credit_card_fields.error.required": {
1220
+ "defaultMessage": "Required"
1221
+ },
1222
+ "use_credit_card_fields.error.required_card_number": {
1223
+ "defaultMessage": "Please enter your card number."
1224
+ },
1225
+ "use_credit_card_fields.error.required_expiry": {
1226
+ "defaultMessage": "Please enter your expiration date."
1227
+ },
1228
+ "use_credit_card_fields.error.required_name": {
1229
+ "defaultMessage": "Please enter your name as shown on your card."
1230
+ },
1231
+ "use_credit_card_fields.error.required_security_code": {
1232
+ "defaultMessage": "Please enter your security code."
1233
+ },
1234
+ "use_credit_card_fields.error.valid_card_number": {
1235
+ "defaultMessage": "Please enter a valid card number."
1236
+ },
1237
+ "use_credit_card_fields.error.valid_date": {
1238
+ "defaultMessage": "Please enter a valid date."
1239
+ },
1240
+ "use_credit_card_fields.error.valid_name": {
1241
+ "defaultMessage": "Please enter a valid name."
1242
+ },
1243
+ "use_credit_card_fields.error.valid_security_code": {
1244
+ "defaultMessage": "Please enter a valid security code."
1245
+ },
1246
+ "use_credit_card_fields.label.card_number": {
1247
+ "defaultMessage": "Card Number"
1248
+ },
1249
+ "use_credit_card_fields.label.card_type": {
1250
+ "defaultMessage": "Card Type"
1251
+ },
1252
+ "use_credit_card_fields.label.expiry": {
1253
+ "defaultMessage": "Expiration Date"
1254
+ },
1255
+ "use_credit_card_fields.label.name": {
1256
+ "defaultMessage": "Name on Card"
1257
+ },
1258
+ "use_credit_card_fields.label.security_code": {
1259
+ "defaultMessage": "Security Code"
1260
+ },
1261
+ "use_login_fields.error.required_email": {
1262
+ "defaultMessage": "Please enter your email address."
1263
+ },
1264
+ "use_login_fields.error.required_password": {
1265
+ "defaultMessage": "Please enter your password."
1266
+ },
1267
+ "use_login_fields.label.email": {
1268
+ "defaultMessage": "Email"
1269
+ },
1270
+ "use_login_fields.label.password": {
1271
+ "defaultMessage": "Password"
1272
+ },
1273
+ "use_product.message.inventory_remaining": {
1274
+ "defaultMessage": "Only {stockLevel} left!"
1275
+ },
1276
+ "use_product.message.out_of_stock": {
1277
+ "defaultMessage": "Out of stock"
1278
+ },
1279
+ "use_profile_fields.error.required_email": {
1280
+ "defaultMessage": "Please enter a valid email address."
1281
+ },
1282
+ "use_profile_fields.error.required_first_name": {
1283
+ "defaultMessage": "Please enter your first name."
1284
+ },
1285
+ "use_profile_fields.error.required_last_name": {
1286
+ "defaultMessage": "Please enter your last name."
1287
+ },
1288
+ "use_profile_fields.error.required_phone": {
1289
+ "defaultMessage": "Please enter your phone number."
1290
+ },
1291
+ "use_profile_fields.label.email": {
1292
+ "defaultMessage": "Email"
1293
+ },
1294
+ "use_profile_fields.label.first_name": {
1295
+ "defaultMessage": "First Name"
1296
+ },
1297
+ "use_profile_fields.label.last_name": {
1298
+ "defaultMessage": "Last Name"
1299
+ },
1300
+ "use_profile_fields.label.phone": {
1301
+ "defaultMessage": "Phone Number"
1302
+ },
1303
+ "use_promo_code_fields.error.required_promo_code": {
1304
+ "defaultMessage": "Please provide a valid promo code."
1305
+ },
1306
+ "use_promo_code_fields.label.promo_code": {
1307
+ "defaultMessage": "Promo Code"
1308
+ },
1309
+ "use_promocode.error.check_the_code": {
1310
+ "defaultMessage": "Check the code and try again, it may already be applied or the promo has expired."
1311
+ },
1312
+ "use_promocode.info.promo_applied": {
1313
+ "defaultMessage": "Promotion applied"
1314
+ },
1315
+ "use_promocode.info.promo_removed": {
1316
+ "defaultMessage": "Promotion removed"
1317
+ },
1318
+ "use_registration_fields.error.contain_number": {
1319
+ "defaultMessage": "Password must contain at least one number."
1320
+ },
1321
+ "use_registration_fields.error.lowercase_letter": {
1322
+ "defaultMessage": "Password must contain at least one lowercase letter."
1323
+ },
1324
+ "use_registration_fields.error.minimum_characters": {
1325
+ "defaultMessage": "Password must contain at least 8 characters."
1326
+ },
1327
+ "use_registration_fields.error.required_email": {
1328
+ "defaultMessage": "Please enter a valid email address."
1329
+ },
1330
+ "use_registration_fields.error.required_first_name": {
1331
+ "defaultMessage": "Please enter your first name."
1332
+ },
1333
+ "use_registration_fields.error.required_last_name": {
1334
+ "defaultMessage": "Please enter your last name."
1335
+ },
1336
+ "use_registration_fields.error.required_password": {
1337
+ "defaultMessage": "Please create a password."
1338
+ },
1339
+ "use_registration_fields.error.special_character": {
1340
+ "defaultMessage": "Password must contain at least one special character."
1341
+ },
1342
+ "use_registration_fields.error.uppercase_letter": {
1343
+ "defaultMessage": "Password must contain at least one uppercase letter."
1344
+ },
1345
+ "use_registration_fields.label.email": {
1346
+ "defaultMessage": "Email"
1347
+ },
1348
+ "use_registration_fields.label.first_name": {
1349
+ "defaultMessage": "First Name"
1350
+ },
1351
+ "use_registration_fields.label.last_name": {
1352
+ "defaultMessage": "Last Name"
1353
+ },
1354
+ "use_registration_fields.label.password": {
1355
+ "defaultMessage": "Password"
1356
+ },
1357
+ "use_registration_fields.label.sign_up_to_emails": {
1358
+ "defaultMessage": "Sign me up for Salesforce emails (you can unsubscribe at any time)"
1359
+ },
1360
+ "use_reset_password_fields.error.required_email": {
1361
+ "defaultMessage": "Please enter a valid email address."
1362
+ },
1363
+ "use_reset_password_fields.label.email": {
1364
+ "defaultMessage": "Email"
1365
+ },
1366
+ "use_update_password_fields.error.contain_number": {
1367
+ "defaultMessage": "Password must contain at least one number."
1368
+ },
1369
+ "use_update_password_fields.error.lowercase_letter": {
1370
+ "defaultMessage": "Password must contain at least one lowercase letter."
1371
+ },
1372
+ "use_update_password_fields.error.minimum_characters": {
1373
+ "defaultMessage": "Password must contain at least 8 characters."
1374
+ },
1375
+ "use_update_password_fields.error.required_new_password": {
1376
+ "defaultMessage": "Please provide a new password."
1377
+ },
1378
+ "use_update_password_fields.error.required_password": {
1379
+ "defaultMessage": "Please enter your password."
1380
+ },
1381
+ "use_update_password_fields.error.special_character": {
1382
+ "defaultMessage": "Password must contain at least one special character."
1383
+ },
1384
+ "use_update_password_fields.error.uppercase_letter": {
1385
+ "defaultMessage": "Password must contain at least one uppercase letter."
1386
+ },
1387
+ "use_update_password_fields.label.current_password": {
1388
+ "defaultMessage": "Current Password"
1389
+ },
1390
+ "use_update_password_fields.label.new_password": {
1391
+ "defaultMessage": "New Password"
1392
+ },
1393
+ "wishlist_primary_action.button.add_set_to_cart": {
1394
+ "defaultMessage": "Add Set to Cart"
1395
+ },
1396
+ "wishlist_primary_action.button.add_to_cart": {
1397
+ "defaultMessage": "Add to Cart"
1398
+ },
1399
+ "wishlist_primary_action.button.view_full_details": {
1400
+ "defaultMessage": "View Full Details"
1401
+ },
1402
+ "wishlist_primary_action.button.view_options": {
1403
+ "defaultMessage": "View Options"
1404
+ },
1405
+ "wishlist_primary_action.info.added_to_cart": {
1406
+ "defaultMessage": "{quantity} {quantity, plural, one {item} other {items}} added to cart"
1407
+ },
1408
+ "wishlist_secondary_button_group.action.remove": {
1409
+ "defaultMessage": "Remove"
1410
+ },
1411
+ "wishlist_secondary_button_group.info.item_removed": {
1412
+ "defaultMessage": "Item removed from wishlist"
1413
+ },
1414
+ "with_registration.info.please_sign_in": {
1415
+ "defaultMessage": "Please sign in to continue!"
1416
+ }
1417
+ }