@salesforce/retail-react-app 1.0.0 → 1.1.0-dev.1

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 (249) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/app/components/_app/index.jsx +6 -2
  3. package/app/components/_app-config/index.jsx +1 -1
  4. package/app/components/_app-config/index.test.js +3 -1
  5. package/app/components/_error/index.jsx +9 -1
  6. package/app/components/action-card/index.jsx +1 -1
  7. package/app/components/address-display/index.jsx +1 -1
  8. package/app/components/basic-tile/index.jsx +7 -1
  9. package/app/components/breadcrumb/index.jsx +1 -1
  10. package/app/components/confirmation-modal/index.jsx +1 -1
  11. package/app/components/confirmation-modal/index.test.js +1 -1
  12. package/app/components/drawer-menu/index.jsx +1 -1
  13. package/app/components/dynamic-image/index.jsx +1 -1
  14. package/app/components/field/index.jsx +1 -1
  15. package/app/components/footer/index.jsx +2 -2
  16. package/app/components/forms/address-fields.jsx +6 -1
  17. package/app/components/forms/credit-card-fields.jsx +9 -1
  18. package/app/components/forms/form-action-buttons.jsx +1 -1
  19. package/app/components/forms/login-fields.jsx +1 -1
  20. package/app/components/forms/password-requirements.jsx +1 -1
  21. package/app/components/forms/post-checkout-registration-fields.jsx +1 -1
  22. package/app/components/forms/profile-fields.jsx +1 -1
  23. package/app/components/forms/promo-code-fields.jsx +1 -1
  24. package/app/components/forms/registration-fields.jsx +1 -1
  25. package/app/components/forms/reset-password-fields.jsx +1 -1
  26. package/app/components/forms/update-password-fields.jsx +6 -1
  27. package/app/components/header/index.jsx +1 -1
  28. package/app/components/header/index.test.js +4 -2
  29. package/app/components/hero/index.jsx +7 -1
  30. package/app/components/icons/index.jsx +1 -1
  31. package/app/components/image-gallery/index.jsx +1 -1
  32. package/app/components/item-variant/item-attributes.jsx +1 -1
  33. package/app/components/item-variant/item-image.jsx +1 -1
  34. package/app/components/item-variant/item-price.jsx +1 -1
  35. package/app/components/link/index.jsx +1 -1
  36. package/app/components/links-list/index.jsx +8 -1
  37. package/app/components/links-list/index.test.js +4 -1
  38. package/app/components/list-menu/index.jsx +1 -1
  39. package/app/components/loading-spinner/index.jsx +1 -1
  40. package/app/components/locale-selector/index.jsx +1 -1
  41. package/app/components/login/index.jsx +7 -1
  42. package/app/components/nested-accordion/index.jsx +1 -1
  43. package/app/components/offline-banner/index.jsx +1 -1
  44. package/app/components/offline-boundary/index.jsx +1 -1
  45. package/app/components/order-summary/index.jsx +9 -1
  46. package/app/components/page-action-placeholder/index.jsx +1 -1
  47. package/app/components/pagination/index.jsx +1 -1
  48. package/app/components/product-item/index.jsx +1 -1
  49. package/app/components/product-scroller/index.jsx +8 -1
  50. package/app/components/product-tile/index.jsx +1 -1
  51. package/app/components/product-view/index.jsx +17 -4
  52. package/app/components/product-view/index.test.js +26 -1
  53. package/app/components/product-view-modal/index.jsx +7 -1
  54. package/app/components/product-view-modal/index.test.js +1 -1
  55. package/app/components/promo-code/index.jsx +1 -1
  56. package/app/components/promo-popover/index.jsx +1 -1
  57. package/app/components/quantity-picker/index.jsx +6 -1
  58. package/app/components/radio-card/index.jsx +1 -1
  59. package/app/components/recommended-products/index.jsx +1 -1
  60. package/app/components/register/index.jsx +7 -1
  61. package/app/components/reset-password/index.jsx +1 -1
  62. package/app/components/responsive/index.jsx +1 -1
  63. package/app/components/search/index.jsx +1 -1
  64. package/app/components/search/partials/recent-searches.jsx +1 -1
  65. package/app/components/search/partials/search-suggestions.jsx +1 -1
  66. package/app/components/search/partials/suggestions.jsx +1 -1
  67. package/app/components/section/index.jsx +7 -1
  68. package/app/components/shared/theme/index.jsx +10 -0
  69. package/app/components/shared/ui/Accordion/index.jsx +8 -0
  70. package/app/components/shared/ui/AccordionButton/index.jsx +8 -0
  71. package/app/components/shared/ui/AccordionIcon/index.jsx +8 -0
  72. package/app/components/shared/ui/AccordionItem/index.jsx +8 -0
  73. package/app/components/shared/ui/AccordionPanel/index.jsx +8 -0
  74. package/app/components/shared/ui/Alert/index.jsx +8 -0
  75. package/app/components/shared/ui/AlertDialog/index.jsx +8 -0
  76. package/app/components/shared/ui/AlertDialogBody/index.jsx +8 -0
  77. package/app/components/shared/ui/AlertDialogContent/index.jsx +8 -0
  78. package/app/components/shared/ui/AlertDialogFooter/index.jsx +8 -0
  79. package/app/components/shared/ui/AlertDialogHeader/index.jsx +8 -0
  80. package/app/components/shared/ui/AlertDialogOverlay/index.jsx +8 -0
  81. package/app/components/shared/ui/AlertIcon/index.jsx +8 -0
  82. package/app/components/shared/ui/AlertTitle/index.jsx +8 -0
  83. package/app/components/shared/ui/AspectRatio/index.jsx +8 -0
  84. package/app/components/shared/ui/Badge/index.jsx +8 -0
  85. package/app/components/shared/ui/Box/index.jsx +8 -0
  86. package/app/components/shared/ui/Breadcrumb/index.jsx +8 -0
  87. package/app/components/shared/ui/BreadcrumbItem/index.jsx +8 -0
  88. package/app/components/shared/ui/BreadcrumbLink/index.jsx +8 -0
  89. package/app/components/shared/ui/Button/index.jsx +8 -0
  90. package/app/components/shared/ui/ButtonGroup/index.jsx +8 -0
  91. package/app/components/shared/ui/Center/index.jsx +8 -0
  92. package/app/components/shared/ui/ChakraProvider/index.jsx +8 -0
  93. package/app/components/shared/ui/Checkbox/index.jsx +8 -0
  94. package/app/components/shared/ui/CloseButton/index.jsx +8 -0
  95. package/app/components/shared/ui/Container/index.jsx +8 -0
  96. package/app/components/shared/ui/Divider/index.jsx +8 -0
  97. package/app/components/shared/ui/Drawer/index.jsx +8 -0
  98. package/app/components/shared/ui/DrawerBody/index.jsx +8 -0
  99. package/app/components/shared/ui/DrawerCloseButton/index.jsx +8 -0
  100. package/app/components/shared/ui/DrawerContent/index.jsx +8 -0
  101. package/app/components/shared/ui/DrawerFooter/index.jsx +8 -0
  102. package/app/components/shared/ui/DrawerHeader/index.jsx +8 -0
  103. package/app/components/shared/ui/DrawerOverlay/index.jsx +8 -0
  104. package/app/components/shared/ui/Fade/index.jsx +8 -0
  105. package/app/components/shared/ui/Flex/index.jsx +8 -0
  106. package/app/components/shared/ui/FormControl/index.jsx +8 -0
  107. package/app/components/shared/ui/FormErrorMessage/index.jsx +8 -0
  108. package/app/components/shared/ui/FormLabel/index.jsx +8 -0
  109. package/app/components/shared/ui/Grid/index.jsx +8 -0
  110. package/app/components/shared/ui/GridItem/index.jsx +8 -0
  111. package/app/components/shared/ui/HStack/index.jsx +8 -0
  112. package/app/components/shared/ui/Heading/index.jsx +8 -0
  113. package/app/components/shared/ui/Icon/index.jsx +8 -0
  114. package/app/components/shared/ui/IconButton/index.jsx +8 -0
  115. package/app/components/shared/ui/Image/index.jsx +8 -0
  116. package/app/components/shared/ui/Img/index.jsx +8 -0
  117. package/app/components/shared/ui/Input/index.jsx +8 -0
  118. package/app/components/shared/ui/InputGroup/index.jsx +8 -0
  119. package/app/components/shared/ui/InputLeftElement/index.jsx +8 -0
  120. package/app/components/shared/ui/InputRightElement/index.jsx +8 -0
  121. package/app/components/shared/ui/Link/index.jsx +8 -0
  122. package/app/components/shared/ui/List/index.jsx +8 -0
  123. package/app/components/shared/ui/ListItem/index.jsx +8 -0
  124. package/app/components/shared/ui/Modal/index.jsx +8 -0
  125. package/app/components/shared/ui/ModalBody/index.jsx +8 -0
  126. package/app/components/shared/ui/ModalCloseButton/index.jsx +8 -0
  127. package/app/components/shared/ui/ModalContent/index.jsx +8 -0
  128. package/app/components/shared/ui/ModalFooter/index.jsx +8 -0
  129. package/app/components/shared/ui/ModalHeader/index.jsx +8 -0
  130. package/app/components/shared/ui/ModalOverlay/index.jsx +8 -0
  131. package/app/components/shared/ui/Popover/index.jsx +8 -0
  132. package/app/components/shared/ui/PopoverArrow/index.jsx +8 -0
  133. package/app/components/shared/ui/PopoverBody/index.jsx +8 -0
  134. package/app/components/shared/ui/PopoverCloseButton/index.jsx +8 -0
  135. package/app/components/shared/ui/PopoverContent/index.jsx +8 -0
  136. package/app/components/shared/ui/PopoverFooter/index.jsx +8 -0
  137. package/app/components/shared/ui/PopoverHeader/index.jsx +8 -0
  138. package/app/components/shared/ui/PopoverTrigger/index.jsx +8 -0
  139. package/app/components/shared/ui/Portal/index.jsx +8 -0
  140. package/app/components/shared/ui/Radio/index.jsx +8 -0
  141. package/app/components/shared/ui/RadioGroup/index.jsx +8 -0
  142. package/app/components/shared/ui/Select/index.jsx +8 -0
  143. package/app/components/shared/ui/SimpleGrid/index.jsx +8 -0
  144. package/app/components/shared/ui/Skeleton/index.jsx +8 -0
  145. package/app/components/shared/ui/Spacer/index.jsx +8 -0
  146. package/app/components/shared/ui/Spinner/index.jsx +8 -0
  147. package/app/components/shared/ui/Stack/index.jsx +8 -0
  148. package/app/components/shared/ui/StackDivider/index.jsx +8 -0
  149. package/app/components/shared/ui/StylesProvider/index.jsx +8 -0
  150. package/app/components/shared/ui/Text/index.jsx +8 -0
  151. package/app/components/shared/ui/Tooltip/index.jsx +8 -0
  152. package/app/components/shared/ui/VStack/index.jsx +8 -0
  153. package/app/components/shared/ui/Wrap/index.jsx +8 -0
  154. package/app/components/shared/ui/WrapItem/index.jsx +8 -0
  155. package/app/components/shared/ui/createStylesContext/index.jsx +8 -0
  156. package/app/components/shared/ui/extendTheme/index.jsx +8 -0
  157. package/app/components/shared/ui/index.jsx +107 -0
  158. package/app/components/shared/ui/useBreakpoint/index.jsx +8 -0
  159. package/app/components/shared/ui/useBreakpointValue/index.jsx +8 -0
  160. package/app/components/shared/ui/useDisclosure/index.jsx +8 -0
  161. package/app/components/shared/ui/useMediaQuery/index.jsx +8 -0
  162. package/app/components/shared/ui/useMultiStyleConfig/index.jsx +8 -0
  163. package/app/components/shared/ui/useNumberInput/index.jsx +8 -0
  164. package/app/components/shared/ui/useRadio/index.jsx +8 -0
  165. package/app/components/shared/ui/useRadioGroup/index.jsx +8 -0
  166. package/app/components/shared/ui/useStyleConfig/index.jsx +8 -0
  167. package/app/components/shared/ui/useStyles/index.jsx +8 -0
  168. package/app/components/shared/ui/useTheme/index.jsx +8 -0
  169. package/app/components/shared/ui/useToast/index.jsx +8 -0
  170. package/app/components/shared/util/SkipNavContent/index.jsx +8 -0
  171. package/app/components/shared/util/SkipNavLink/index.jsx +8 -0
  172. package/app/components/shared/util/index.jsx +9 -0
  173. package/app/components/social-icons/index.jsx +1 -1
  174. package/app/components/swatch-group/index.jsx +6 -1
  175. package/app/components/swatch-group/index.test.js +1 -1
  176. package/app/components/swatch-group/swatch.jsx +6 -1
  177. package/app/components/toggle-card/index.jsx +7 -1
  178. package/app/components/with-registration/index.test.js +1 -1
  179. package/app/hooks/use-add-to-cart-modal.js +1 -1
  180. package/app/hooks/use-auth-modal.js +1 -1
  181. package/app/hooks/use-current-basket.js +3 -6
  182. package/app/hooks/use-toast.js +1 -1
  183. package/app/hooks/use-toast.test.js +1 -1
  184. package/app/page-designer/README.md +2 -2
  185. package/app/page-designer/assets/image-tile/index.jsx +1 -1
  186. package/app/page-designer/assets/image-with-text/index.jsx +6 -1
  187. package/app/page-designer/layouts/carousel/index.jsx +1 -1
  188. package/app/page-designer/layouts/mobileGrid1r1c/index.jsx +1 -1
  189. package/app/page-designer/layouts/mobileGrid2r1c/index.jsx +1 -1
  190. package/app/page-designer/layouts/mobileGrid2r2c/index.jsx +1 -1
  191. package/app/page-designer/layouts/mobileGrid2r3c/index.jsx +1 -1
  192. package/app/page-designer/layouts/mobileGrid3r1c/index.jsx +1 -1
  193. package/app/page-designer/layouts/mobileGrid3r2c/index.jsx +1 -1
  194. package/app/pages/account/addresses.jsx +1 -1
  195. package/app/pages/account/index.jsx +1 -1
  196. package/app/pages/account/order-detail.jsx +1 -1
  197. package/app/pages/account/order-history.jsx +1 -1
  198. package/app/pages/account/profile.jsx +1 -1
  199. package/app/pages/account/wishlist/index.jsx +1 -1
  200. package/app/pages/account/wishlist/partials/wishlist-primary-action.jsx +1 -1
  201. package/app/pages/account/wishlist/partials/wishlist-secondary-button-group.jsx +5 -1
  202. package/app/pages/cart/index.jsx +9 -1
  203. package/app/pages/cart/partials/cart-cta.jsx +1 -1
  204. package/app/pages/cart/partials/cart-secondary-button-group.jsx +1 -1
  205. package/app/pages/cart/partials/cart-skeleton.jsx +1 -1
  206. package/app/pages/cart/partials/cart-title.jsx +1 -1
  207. package/app/pages/cart/partials/empty-cart.jsx +7 -1
  208. package/app/pages/checkout/confirmation.jsx +1 -1
  209. package/app/pages/checkout/index.jsx +10 -1
  210. package/app/pages/checkout/index.test.js +10 -0
  211. package/app/pages/checkout/partials/cc-radio-group.jsx +9 -1
  212. package/app/pages/checkout/partials/checkout-footer.jsx +1 -1
  213. package/app/pages/checkout/partials/checkout-header.jsx +7 -1
  214. package/app/pages/checkout/partials/checkout-skeleton.jsx +8 -1
  215. package/app/pages/checkout/partials/contact-info.jsx +8 -2
  216. package/app/pages/checkout/partials/payment-form.jsx +9 -1
  217. package/app/pages/checkout/partials/payment.jsx +10 -1
  218. package/app/pages/checkout/partials/shipping-address-selection.jsx +8 -1
  219. package/app/pages/checkout/partials/shipping-options.jsx +10 -1
  220. package/app/pages/home/index.jsx +1 -1
  221. package/app/pages/login/index.jsx +1 -1
  222. package/app/pages/page-not-found/index.jsx +8 -1
  223. package/app/pages/product-detail/index.jsx +8 -1
  224. package/app/pages/product-detail/index.mock.js +14 -0
  225. package/app/pages/product-detail/index.test.js +69 -6
  226. package/app/pages/product-detail/partials/information-accordion.jsx +1 -1
  227. package/app/pages/product-list/index.jsx +1 -1
  228. package/app/pages/product-list/partials/checkbox-refinements.jsx +1 -1
  229. package/app/pages/product-list/partials/color-refinements.jsx +9 -1
  230. package/app/pages/product-list/partials/empty-results.jsx +7 -1
  231. package/app/pages/product-list/partials/link-refinements.jsx +1 -1
  232. package/app/pages/product-list/partials/page-header.jsx +1 -1
  233. package/app/pages/product-list/partials/radio-refinements.jsx +7 -1
  234. package/app/pages/product-list/partials/refinements.jsx +1 -1
  235. package/app/pages/product-list/partials/selected-refinements.jsx +1 -1
  236. package/app/pages/product-list/partials/size-refinements.jsx +6 -1
  237. package/app/pages/registration/index.jsx +1 -1
  238. package/app/pages/reset-password/index.jsx +7 -1
  239. package/app/routes.jsx +1 -1
  240. package/app/ssr.js +9 -8
  241. package/app/theme/components/project/_app.js +1 -1
  242. package/app/theme/index.js +1 -1
  243. package/app/utils/responsive-image.js +1 -1
  244. package/app/utils/test-utils.js +1 -1
  245. package/config/default.js +1 -1
  246. package/config/mocks/default.js +1 -1
  247. package/jest-setup.js +3 -2
  248. package/jsconfig.json +1 -1
  249. package/package.json +6 -6
@@ -10,7 +10,17 @@ import PropTypes from 'prop-types'
10
10
  import {useHistory, useLocation} from 'react-router-dom'
11
11
  import {useIntl} from 'react-intl'
12
12
 
13
- import {Flex, Heading, Button, Skeleton, Box, Text, VStack, Fade, useTheme} from '@chakra-ui/react'
13
+ import {
14
+ Flex,
15
+ Heading,
16
+ Button,
17
+ Skeleton,
18
+ Box,
19
+ Text,
20
+ VStack,
21
+ Fade,
22
+ useTheme
23
+ } from '@salesforce/retail-react-app/app/components/shared/ui'
14
24
  import {useDerivedProduct} from '@salesforce/retail-react-app/app/hooks'
15
25
  import {useAddToCartModalContext} from '@salesforce/retail-react-app/app/hooks/use-add-to-cart-modal'
16
26
 
@@ -93,6 +103,7 @@ const ProductView = forwardRef(
93
103
  updateWishlist,
94
104
  isProductLoading,
95
105
  isProductPartOfSet = false,
106
+ isBasketLoading = false,
96
107
  onVariantSelected = () => {},
97
108
  validateOrderability = (variant, quantity, stockLevel) =>
98
109
  !isProductLoading && variant?.orderable && quantity > 0 && quantity <= stockLevel
@@ -220,7 +231,8 @@ const ProductView = forwardRef(
220
231
  <Button
221
232
  key="cart-button"
222
233
  onClick={handleCartItem}
223
- disabled={showInventoryMessage}
234
+ disabled={isBasketLoading || showInventoryMessage}
235
+ isLoading={isBasketLoading}
224
236
  width="100%"
225
237
  variant="solid"
226
238
  marginBottom={4}
@@ -287,7 +299,7 @@ const ProductView = forwardRef(
287
299
  <Box display={['block', 'block', 'block', 'none']}>
288
300
  <ProductViewHeader
289
301
  name={product?.name}
290
- price={product?.price}
302
+ price={product?.pricePerUnit || product?.price}
291
303
  productType={product?.type}
292
304
  currency={product?.currency}
293
305
  category={category}
@@ -326,7 +338,7 @@ const ProductView = forwardRef(
326
338
  <Box display={['none', 'none', 'none', 'block']}>
327
339
  <ProductViewHeader
328
340
  name={product?.name}
329
- price={product?.price}
341
+ price={product?.pricePerUnit || product?.price}
330
342
  productType={product?.type}
331
343
  currency={product?.currency}
332
344
  category={category}
@@ -524,6 +536,7 @@ ProductView.propTypes = {
524
536
  isProductPartOfSet: PropTypes.bool,
525
537
  category: PropTypes.array,
526
538
  isProductLoading: PropTypes.bool,
539
+ isBasketLoading: PropTypes.bool,
527
540
  isWishlistLoading: PropTypes.bool,
528
541
  addToCart: PropTypes.func,
529
542
  addToWishlist: PropTypes.func,
@@ -29,7 +29,8 @@ MockComponent.propTypes = {
29
29
  product: PropTypes.object,
30
30
  addToCart: PropTypes.func,
31
31
  addToWishlist: PropTypes.func,
32
- updateWishlist: PropTypes.func
32
+ updateWishlist: PropTypes.func,
33
+ isBasketLoading: PropTypes.bool
33
34
  }
34
35
 
35
36
  // Set up and clean up
@@ -222,3 +223,27 @@ test('onVariantSelected callback is called after successfully selected a variant
222
223
  expect(onVariantSelected).toHaveBeenCalledTimes(1)
223
224
  })
224
225
  })
226
+
227
+ describe('add to cart button loading tests', () => {
228
+ test('add to cart button is disabled if isBasketLoading is true', async () => {
229
+ renderWithProviders(
230
+ <MockComponent
231
+ product={mockProductDetail}
232
+ addToCart={() => {}}
233
+ isBasketLoading={true}
234
+ />
235
+ )
236
+ expect(screen.getByRole('button', {name: /add to cart/i})).toBeDisabled()
237
+ })
238
+
239
+ test('add to cart button is enabled if isBasketLoading is false', async () => {
240
+ renderWithProviders(
241
+ <MockComponent
242
+ product={mockProductDetail}
243
+ addToCart={() => {}}
244
+ isBasketLoading={false}
245
+ />
246
+ )
247
+ expect(screen.getByRole('button', {name: /add to cart/i})).toBeEnabled()
248
+ })
249
+ })
@@ -7,7 +7,13 @@
7
7
 
8
8
  import React from 'react'
9
9
  import PropTypes from 'prop-types'
10
- import {Modal, ModalBody, ModalCloseButton, ModalContent, ModalOverlay} from '@chakra-ui/react'
10
+ import {
11
+ Modal,
12
+ ModalBody,
13
+ ModalCloseButton,
14
+ ModalContent,
15
+ ModalOverlay
16
+ } from '@salesforce/retail-react-app/app/components/shared/ui'
11
17
  import ProductView from '@salesforce/retail-react-app/app/components/product-view'
12
18
  import {useProductViewModal} from '@salesforce/retail-react-app/app/hooks/use-product-view-modal'
13
19
 
@@ -10,7 +10,7 @@ import PropTypes from 'prop-types'
10
10
  import ProductViewModal from '@salesforce/retail-react-app/app/components/product-view-modal/index'
11
11
  import {renderWithProviders} from '@salesforce/retail-react-app/app/utils/test-utils'
12
12
  import {fireEvent, screen} from '@testing-library/react'
13
- import {useDisclosure} from '@chakra-ui/react'
13
+ import {useDisclosure} from '@salesforce/retail-react-app/app/components/shared/ui'
14
14
  import mockProductDetail from '@salesforce/retail-react-app/app/mocks/variant-750518699578M'
15
15
  import {prependHandlersToServer} from '@salesforce/retail-react-app/jest-setup'
16
16
 
@@ -15,7 +15,7 @@ import {
15
15
  AccordionItem,
16
16
  AccordionPanel,
17
17
  useToast
18
- } from '@chakra-ui/react'
18
+ } from '@salesforce/retail-react-app/app/components/shared/ui'
19
19
  import {useForm} from 'react-hook-form'
20
20
  import {ChevronDownIcon, ChevronUpIcon} from '@salesforce/retail-react-app/app/components/icons'
21
21
  import PromoCodeFields from '@salesforce/retail-react-app/app/components/forms/promo-code-fields'
@@ -18,7 +18,7 @@ import {
18
18
  PopoverTrigger,
19
19
  Portal,
20
20
  Text
21
- } from '@chakra-ui/react'
21
+ } from '@salesforce/retail-react-app/app/components/shared/ui'
22
22
  import {InfoIcon} from '@salesforce/retail-react-app/app/components/icons'
23
23
  import {FormattedMessage} from 'react-intl'
24
24
 
@@ -6,7 +6,12 @@
6
6
  */
7
7
 
8
8
  import React from 'react'
9
- import {Button, HStack, Input, useNumberInput} from '@chakra-ui/react'
9
+ import {
10
+ Button,
11
+ HStack,
12
+ Input,
13
+ useNumberInput
14
+ } from '@salesforce/retail-react-app/app/components/shared/ui'
10
15
 
11
16
  /**
12
17
  * This is the mobile implementation of the Chakra NumberInput. This simple component essentially
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import React from 'react'
8
8
  import PropTypes from 'prop-types'
9
- import {Box, useRadio, useRadioGroup} from '@chakra-ui/react'
9
+ import {Box, useRadio, useRadioGroup} from '@salesforce/retail-react-app/app/components/shared/ui'
10
10
  import {CheckIcon} from '@salesforce/retail-react-app/app/components/icons'
11
11
 
12
12
  const RadioCardGroupContext = React.createContext()
@@ -8,7 +8,7 @@
8
8
  import React, {useEffect, useRef, useState} from 'react'
9
9
  import PropTypes from 'prop-types'
10
10
  import {useIntl} from 'react-intl'
11
- import {Button} from '@chakra-ui/react'
11
+ import {Button} from '@salesforce/retail-react-app/app/components/shared/ui'
12
12
  import ProductScroller from '@salesforce/retail-react-app/app/components/product-scroller'
13
13
  import useEinstein from '@salesforce/retail-react-app/app/hooks/use-einstein'
14
14
  import {useCurrentCustomer} from '@salesforce/retail-react-app/app/hooks/use-current-customer'
@@ -8,7 +8,13 @@
8
8
  import React, {Fragment} from 'react'
9
9
  import PropTypes from 'prop-types'
10
10
  import {FormattedMessage} from 'react-intl'
11
- import {Alert, Button, Stack, Text, Link as ChakraLink} from '@chakra-ui/react'
11
+ import {
12
+ Alert,
13
+ Button,
14
+ Stack,
15
+ Text,
16
+ Link as ChakraLink
17
+ } from '@salesforce/retail-react-app/app/components/shared/ui'
12
18
  import {AlertIcon, BrandLogo} from '@salesforce/retail-react-app/app/components/icons'
13
19
  import {noop} from '@salesforce/retail-react-app/app/utils/utils'
14
20
  import RegistrationFields from '@salesforce/retail-react-app/app/components/forms/registration-fields'
@@ -8,7 +8,7 @@
8
8
  import React, {Fragment} from 'react'
9
9
  import PropTypes from 'prop-types'
10
10
  import {FormattedMessage} from 'react-intl'
11
- import {Alert, Button, Stack, Text} from '@chakra-ui/react'
11
+ import {Alert, Button, Stack, Text} from '@salesforce/retail-react-app/app/components/shared/ui'
12
12
  import {AlertIcon, BrandLogo} from '@salesforce/retail-react-app/app/components/icons'
13
13
  import {noop} from '@salesforce/retail-react-app/app/utils/utils'
14
14
  import ResetPasswordFields from '@salesforce/retail-react-app/app/components/forms/reset-password-fields'
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import React from 'react'
8
8
  import PropTypes from 'prop-types'
9
- import {Box} from '@chakra-ui/react'
9
+ import {Box} from '@salesforce/retail-react-app/app/components/shared/ui'
10
10
 
11
11
  /**
12
12
  * Render the children in the DOM but visually hide them on desktop
@@ -18,7 +18,7 @@ import {
18
18
  Flex,
19
19
  HStack,
20
20
  Spinner
21
- } from '@chakra-ui/react'
21
+ } from '@salesforce/retail-react-app/app/components/shared/ui'
22
22
  import SearchSuggestions from '@salesforce/retail-react-app/app/components/search/partials/search-suggestions'
23
23
  import {SearchIcon} from '@salesforce/retail-react-app/app/components/icons'
24
24
  import {
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import React from 'react'
8
8
  import PropTypes from 'prop-types'
9
- import {Text, Button, Box} from '@chakra-ui/react'
9
+ import {Text, Button, Box} from '@salesforce/retail-react-app/app/components/shared/ui'
10
10
 
11
11
  import {clearSessionJSONItem} from '@salesforce/retail-react-app/app/utils/utils'
12
12
  import {RECENT_SEARCH_KEY} from '@salesforce/retail-react-app/app/constants'
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import React, {Fragment} from 'react'
8
8
  import PropTypes from 'prop-types'
9
- import {Stack} from '@chakra-ui/react'
9
+ import {Stack} from '@salesforce/retail-react-app/app/components/shared/ui'
10
10
  import RecentSearches from '@salesforce/retail-react-app/app/components/search/partials/recent-searches'
11
11
  import Suggestions from '@salesforce/retail-react-app/app/components/search/partials/suggestions'
12
12
 
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import React from 'react'
8
8
  import PropTypes from 'prop-types'
9
- import {Text, Button, Stack, Box} from '@chakra-ui/react'
9
+ import {Text, Button, Stack, Box} from '@salesforce/retail-react-app/app/components/shared/ui'
10
10
 
11
11
  const Suggestions = ({suggestions, closeAndNavigate}) => {
12
12
  if (!suggestions) {
@@ -7,7 +7,13 @@
7
7
 
8
8
  import React from 'react'
9
9
  import PropTypes from 'prop-types'
10
- import {Box, Heading, Stack, Text, Container} from '@chakra-ui/react'
10
+ import {
11
+ Box,
12
+ Heading,
13
+ Stack,
14
+ Text,
15
+ Container
16
+ } from '@salesforce/retail-react-app/app/components/shared/ui'
11
17
 
12
18
  /**
13
19
  * Section component used on content pages like home page.
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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
+ import {theme} from '@chakra-ui/theme'
9
+
10
+ export default theme
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Accordion} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AccordionButton} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AccordionIcon} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AccordionItem} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AccordionPanel} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Alert} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AlertDialog} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AlertDialogBody} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AlertDialogContent} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AlertDialogFooter} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AlertDialogHeader} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AlertDialogOverlay} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AlertIcon} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AlertTitle} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {AspectRatio} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Badge} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Box} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Breadcrumb} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {BreadcrumbItem} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {BreadcrumbLink} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Button} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {ButtonGroup} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Center} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {ChakraProvider} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Checkbox} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {CloseButton} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Container} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Divider} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {Drawer} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {DrawerBody} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {DrawerCloseButton} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {DrawerContent} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {DrawerFooter} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {DrawerHeader} from '@chakra-ui/react'
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023, salesforce.com, 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 {DrawerOverlay} from '@chakra-ui/react'