@magento/venia-pwa-live-search 1.0.0-alpha6

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 (202) hide show
  1. package/package.json +31 -0
  2. package/postcss.config.js +3 -0
  3. package/src/api/fragments.js +193 -0
  4. package/src/api/graphql.js +26 -0
  5. package/src/api/mutations.js +94 -0
  6. package/src/api/queries.js +225 -0
  7. package/src/api/search.js +222 -0
  8. package/src/components/AddToCartButton/AddToCartButton.jsx +32 -0
  9. package/src/components/AddToCartButton/AddToCartButton.stories.mdx +14 -0
  10. package/src/components/AddToCartButton/index.js +10 -0
  11. package/src/components/Alert/Alert.jsx +155 -0
  12. package/src/components/Alert/index.js +11 -0
  13. package/src/components/Breadcrumbs/Breadcrumbs.jsx +34 -0
  14. package/src/components/Breadcrumbs/MockPages.js +14 -0
  15. package/src/components/Breadcrumbs/index.js +11 -0
  16. package/src/components/ButtonShimmer/ButtonShimmer.css +32 -0
  17. package/src/components/ButtonShimmer/ButtonShimmer.jsx +23 -0
  18. package/src/components/ButtonShimmer/index.js +11 -0
  19. package/src/components/CategoryFilters/CategoryFilters.jsx +59 -0
  20. package/src/components/CategoryFilters/index.js +10 -0
  21. package/src/components/Facets/Facets.jsx +50 -0
  22. package/src/components/Facets/Range/RangeFacet.js +20 -0
  23. package/src/components/Facets/Scalar/ScalarFacet.js +29 -0
  24. package/src/components/Facets/SelectedFilters.js +80 -0
  25. package/src/components/Facets/format.js +52 -0
  26. package/src/components/Facets/index.js +14 -0
  27. package/src/components/Facets/mocks.js +119 -0
  28. package/src/components/FacetsShimmer/FacetsShimmer.css +49 -0
  29. package/src/components/FacetsShimmer/FacetsShimmer.jsx +25 -0
  30. package/src/components/FacetsShimmer/index.js +11 -0
  31. package/src/components/FilterButton/FilterButton.jsx +40 -0
  32. package/src/components/FilterButton/index.js +11 -0
  33. package/src/components/ImageCarousel/Image.jsx +34 -0
  34. package/src/components/ImageCarousel/ImageCarousel.jsx +103 -0
  35. package/src/components/ImageCarousel/index.js +11 -0
  36. package/src/components/InputButtonGroup/InputButtonGroup.jsx +120 -0
  37. package/src/components/InputButtonGroup/index.js +11 -0
  38. package/src/components/LabelledInput/LabelledInput.jsx +51 -0
  39. package/src/components/LabelledInput/index.js +11 -0
  40. package/src/components/Loading/Loading.jsx +32 -0
  41. package/src/components/Loading/index.js +11 -0
  42. package/src/components/NoResults/NoResults.jsx +55 -0
  43. package/src/components/NoResults/index.js +11 -0
  44. package/src/components/Pagination/Pagination.jsx +105 -0
  45. package/src/components/Pagination/index.js +10 -0
  46. package/src/components/PerPagePicker/PerPagePicker.jsx +114 -0
  47. package/src/components/PerPagePicker/index.js +11 -0
  48. package/src/components/Pill/Pill.jsx +34 -0
  49. package/src/components/Pill/index.js +11 -0
  50. package/src/components/Pill/mock.js +23 -0
  51. package/src/components/ProductCardShimmer/ProductCardShimmer.css +72 -0
  52. package/src/components/ProductCardShimmer/ProductCardShimmer.jsx +28 -0
  53. package/src/components/ProductCardShimmer/index.js +11 -0
  54. package/src/components/ProductItem/MockData.js +508 -0
  55. package/src/components/ProductItem/ProductItem.css +84 -0
  56. package/src/components/ProductItem/ProductItem.jsx +347 -0
  57. package/src/components/ProductItem/ProductPrice.jsx +181 -0
  58. package/src/components/ProductItem/index.js +11 -0
  59. package/src/components/ProductList/MockData.js +190 -0
  60. package/src/components/ProductList/ProductList.jsx +127 -0
  61. package/src/components/ProductList/index.js +11 -0
  62. package/src/components/ProductList/product-list.css +18 -0
  63. package/src/components/SearchBar/SearchBar.jsx +33 -0
  64. package/src/components/SearchBar/index.js +11 -0
  65. package/src/components/Shimmer/Shimmer.css +82 -0
  66. package/src/components/Shimmer/Shimmer.jsx +66 -0
  67. package/src/components/Shimmer/index.js +11 -0
  68. package/src/components/Slider/Slider.css +61 -0
  69. package/src/components/Slider/Slider.jsx +103 -0
  70. package/src/components/Slider/index.jsx +11 -0
  71. package/src/components/SliderDoubleControl/SliderDoubleControl.css +83 -0
  72. package/src/components/SliderDoubleControl/SliderDoubleControl.jsx +220 -0
  73. package/src/components/SliderDoubleControl/index.js +11 -0
  74. package/src/components/SortDropdown/SortDropdown.jsx +126 -0
  75. package/src/components/SortDropdown/index.js +11 -0
  76. package/src/components/SwatchButton/SwatchButton.jsx +72 -0
  77. package/src/components/SwatchButton/index.js +11 -0
  78. package/src/components/SwatchButtonGroup/SwatchButtonGroup.jsx +86 -0
  79. package/src/components/SwatchButtonGroup/index.js +11 -0
  80. package/src/components/ViewSwitcher/ViewSwitcher.jsx +46 -0
  81. package/src/components/ViewSwitcher/index.js +11 -0
  82. package/src/components/WishlistButton/WishlistButton.jsx +67 -0
  83. package/src/components/WishlistButton/index.js +11 -0
  84. package/src/containers/App.jsx +145 -0
  85. package/src/containers/LiveSearchPLPLoader.jsx +24 -0
  86. package/src/containers/LiveSearchPopoverLoader.jsx +190 -0
  87. package/src/containers/LiveSearchSRLPLoader.jsx +24 -0
  88. package/src/containers/ProductListingPage.jsx +66 -0
  89. package/src/containers/ProductsContainer.jsx +145 -0
  90. package/src/containers/ProductsHeader.jsx +123 -0
  91. package/src/context/attributeMetadata.js +63 -0
  92. package/src/context/cart.js +97 -0
  93. package/src/context/displayChange.js +90 -0
  94. package/src/context/events.js +160 -0
  95. package/src/context/index.js +19 -0
  96. package/src/context/products.jsx +336 -0
  97. package/src/context/resultsModifierContext.js +35 -0
  98. package/src/context/search.jsx +127 -0
  99. package/src/context/store.jsx +93 -0
  100. package/src/context/translation.jsx +125 -0
  101. package/src/context/widgetConfig.jsx +120 -0
  102. package/src/context/wishlist.jsx +97 -0
  103. package/src/hooks/eventing/useEventListener.js +13 -0
  104. package/src/hooks/eventing/useLocation.js +21 -0
  105. package/src/hooks/eventing/useMagentoExtensionContext.js +28 -0
  106. package/src/hooks/eventing/usePageView.js +36 -0
  107. package/src/hooks/eventing/useShopperContext.js +33 -0
  108. package/src/hooks/eventing/useStorefrontInstanceContext.js +46 -0
  109. package/src/hooks/eventing/useViewedOffsets.js +74 -0
  110. package/src/hooks/useAccessibleDropdown.js +148 -0
  111. package/src/hooks/useLiveSearchPLPConfig.js +112 -0
  112. package/src/hooks/useLiveSearchPopoverConfig.js +83 -0
  113. package/src/hooks/useLiveSearchSRLPConfig.js +97 -0
  114. package/src/hooks/usePagination.js +83 -0
  115. package/src/hooks/useRangeFacet.js +62 -0
  116. package/src/hooks/useScalarFacet.js +61 -0
  117. package/src/hooks/useSliderFacet.js +43 -0
  118. package/src/i18n/Sorani.js +60 -0
  119. package/src/i18n/ar_AE.js +60 -0
  120. package/src/i18n/bg_BG.js +60 -0
  121. package/src/i18n/bn_IN.js +60 -0
  122. package/src/i18n/ca_ES.js +60 -0
  123. package/src/i18n/cs_CZ.js +60 -0
  124. package/src/i18n/da_DK.js +60 -0
  125. package/src/i18n/de_DE.js +60 -0
  126. package/src/i18n/el_GR.js +60 -0
  127. package/src/i18n/en_GA.js +60 -0
  128. package/src/i18n/en_GB.js +60 -0
  129. package/src/i18n/en_US.js +70 -0
  130. package/src/i18n/es_ES.js +60 -0
  131. package/src/i18n/et_EE.js +60 -0
  132. package/src/i18n/eu_ES.js +60 -0
  133. package/src/i18n/fa_IR.js +60 -0
  134. package/src/i18n/fi_FI.js +60 -0
  135. package/src/i18n/fr_FR.js +60 -0
  136. package/src/i18n/gl_ES.js +60 -0
  137. package/src/i18n/hi_IN.js +60 -0
  138. package/src/i18n/hu_HU.js +60 -0
  139. package/src/i18n/hy_AM.js +60 -0
  140. package/src/i18n/id_ID.js +60 -0
  141. package/src/i18n/index.js +89 -0
  142. package/src/i18n/it_IT.js +60 -0
  143. package/src/i18n/ja_JP.js +60 -0
  144. package/src/i18n/ko_KR.js +60 -0
  145. package/src/i18n/lt_LT.js +60 -0
  146. package/src/i18n/lv_LV.js +60 -0
  147. package/src/i18n/nb_NO.js +60 -0
  148. package/src/i18n/nl_NL.js +60 -0
  149. package/src/i18n/pt_BR.js +60 -0
  150. package/src/i18n/pt_PT.js +60 -0
  151. package/src/i18n/ro_RO.js +60 -0
  152. package/src/i18n/ru_RU.js +60 -0
  153. package/src/i18n/sv_SE.js +60 -0
  154. package/src/i18n/th_TH.js +60 -0
  155. package/src/i18n/tr_TR.js +60 -0
  156. package/src/i18n/zh_Hans_CN.js +60 -0
  157. package/src/i18n/zh_Hant_TW.js +60 -0
  158. package/src/icons/NoImage.svg +1 -0
  159. package/src/icons/adjustments.svg +3 -0
  160. package/src/icons/cart.svg +3 -0
  161. package/src/icons/checkmark.svg +3 -0
  162. package/src/icons/chevron.svg +3 -0
  163. package/src/icons/emptyHeart.svg +3 -0
  164. package/src/icons/error.svg +3 -0
  165. package/src/icons/filledHeart.svg +3 -0
  166. package/src/icons/filter.svg +29 -0
  167. package/src/icons/gridView.svg +11 -0
  168. package/src/icons/info.svg +3 -0
  169. package/src/icons/listView.svg +5 -0
  170. package/src/icons/loading.svg +6 -0
  171. package/src/icons/plus.svg +4 -0
  172. package/src/icons/sort.svg +18 -0
  173. package/src/icons/warning.svg +3 -0
  174. package/src/icons/x.svg +3 -0
  175. package/src/index.jsx +65 -0
  176. package/src/queries/customerGroupCode.gql.js +10 -0
  177. package/src/queries/eventing/getMagentoExtensionContext.gql.js +13 -0
  178. package/src/queries/eventing/getPageType.gql.js +14 -0
  179. package/src/queries/eventing/getStorefrontContext.gql.js +27 -0
  180. package/src/queries/index.js +3 -0
  181. package/src/queries/liveSearchPlpConfigs.gql.js +30 -0
  182. package/src/queries/liveSearchPopoverConfigs.gql.js +28 -0
  183. package/src/styles/autocomplete.module.css +56 -0
  184. package/src/styles/index.css +1638 -0
  185. package/src/styles/searchBar.module.css +119 -0
  186. package/src/styles/tokens.css +99 -0
  187. package/src/targets/intercept.js +21 -0
  188. package/src/utils/constants.js +26 -0
  189. package/src/utils/decodeHtmlString.js +13 -0
  190. package/src/utils/dom.js +14 -0
  191. package/src/utils/eventing/getCookie.js +9 -0
  192. package/src/utils/eventing/usePageTypeFromUrl.js +26 -0
  193. package/src/utils/getProductImage.js +94 -0
  194. package/src/utils/getProductPrice.js +83 -0
  195. package/src/utils/getUserViewHistory.js +27 -0
  196. package/src/utils/handleUrlFilters.js +164 -0
  197. package/src/utils/htmlStringDecode.js +13 -0
  198. package/src/utils/modifyResults.js +164 -0
  199. package/src/utils/sort.js +95 -0
  200. package/src/utils/useIntersectionObserver.js +27 -0
  201. package/src/utils/validateStoreDetails.js +39 -0
  202. package/src/wrappers/wrapUseApp.js +28 -0
@@ -0,0 +1,72 @@
1
+ .ds-sdk-product-item--shimmer {
2
+ margin: 0.625rem auto;
3
+ box-shadow: rgba(149, 157, 165, 0.2) 0px 0.5rem 1.5rem;
4
+ padding: 1.25rem;
5
+ width: 22rem;
6
+ }
7
+
8
+ @keyframes placeholderShimmer {
9
+ 0% {
10
+ background-position: calc(-100vw + 40px);
11
+ }
12
+ 100% {
13
+ background-position: calc(100vw - 40px);
14
+ }
15
+ }
16
+
17
+ .shimmer-animation-card {
18
+ background-color: #f6f7f8;
19
+ background-image: linear-gradient(
20
+ to right,
21
+ #f6f7f8 0%,
22
+ #edeef1 20%,
23
+ #f6f7f8 40%,
24
+ #f6f7f8 100%
25
+ );
26
+ background-repeat: no-repeat;
27
+ background-size: 100vw 4rem;
28
+ animation-duration: 1s;
29
+ animation-fill-mode: forwards;
30
+ animation-iteration-count: infinite;
31
+ animation-name: placeholderShimmer;
32
+ animation-timing-function: linear;
33
+ }
34
+
35
+ .ds-sdk-product-item__banner {
36
+ height: 22rem;
37
+ background-size: 100vw 22rem;
38
+ border-radius: 0.3125rem;
39
+ margin-bottom: 0.75rem;
40
+ }
41
+
42
+ .ds-sdk-product-item__header {
43
+ display: flex;
44
+ justify-content: space-between;
45
+ margin-bottom: 0.3125rem;
46
+ }
47
+
48
+ .ds-sdk-product-item__title {
49
+ height: 2.5rem;
50
+ flex: 0 0 auto;
51
+ width: 5vw;
52
+ }
53
+
54
+ .ds-sdk-product-item__list {
55
+ height: 2rem;
56
+ width: 6vw;
57
+ margin-bottom: 0.3125rem;
58
+ }
59
+
60
+ .ds-sdk-product-item__list:last-child {
61
+ margin-bottom: 0;
62
+ }
63
+
64
+ .ds-sdk-product-item__info {
65
+ height: 2rem;
66
+ width: 7vw;
67
+ margin-bottom: 0.3125rem;
68
+ }
69
+
70
+ .ds-sdk-product-item__info:last-child {
71
+ margin-bottom: 0;
72
+ }
@@ -0,0 +1,28 @@
1
+ /*
2
+ Copyright 2024 Adobe
3
+ All Rights Reserved.
4
+
5
+ NOTICE: Adobe permits you to use, modify, and distribute this file in
6
+ accordance with the terms of the Adobe license agreement accompanying
7
+ it.
8
+ */
9
+
10
+ import React from 'react';
11
+ import './ProductCardShimmer.css';
12
+
13
+ export const ProductCardShimmer = () => {
14
+ return (
15
+ <div className="ds-sdk-product-item ds-sdk-product-item--shimmer">
16
+ <div className="ds-sdk-product-item__banner shimmer-animation-card" />
17
+ <div className="ds-sdk-product-item__content">
18
+ <div className="ds-sdk-product-item__header">
19
+ <div className="ds-sdk-product-item__title shimmer-animation-card" />
20
+ </div>
21
+ <div className="ds-sdk-product-item__list shimmer-animation-card" />
22
+ <div className="ds-sdk-product-item__info shimmer-animation-card" />
23
+ </div>
24
+ </div>
25
+ );
26
+ };
27
+
28
+ export default ProductCardShimmer;
@@ -0,0 +1,11 @@
1
+ /*
2
+ Copyright 2024 Adobe
3
+ All Rights Reserved.
4
+
5
+ NOTICE: Adobe permits you to use, modify, and distribute this file in
6
+ accordance with the terms of the Adobe license agreement accompanying
7
+ it.
8
+ */
9
+
10
+ export * from './ProductCardShimmer';
11
+ export { default } from './ProductCardShimmer';
@@ -0,0 +1,508 @@
1
+ /*
2
+ Copyright 2024 Adobe
3
+ All Rights Reserved.
4
+
5
+ NOTICE: Adobe permits you to use, modify, and distribute this file in
6
+ accordance with the terms of the Adobe license agreement accompanying
7
+ it.
8
+ */
9
+
10
+ export const sampleProductNoImage = {
11
+ product: {
12
+ __typename: 'SimpleProduct',
13
+ id: 21,
14
+ uid: '21',
15
+ name: 'Sprite Foam Yoga Brick',
16
+ sku: '24-WG084',
17
+ description: {
18
+ html:
19
+ '<p>Our top-selling yoga prop, the 4-inch, high-quality Sprite Foam Yoga Brick is popular among yoga novices and studio professionals alike. An essential yoga accessory, the yoga brick is a critical tool for finding balance and alignment in many common yoga poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul> '
20
+ },
21
+ short_description: null,
22
+ attribute_set_id: null,
23
+ meta_title: null,
24
+ meta_keyword: null,
25
+ meta_description: null,
26
+ image: null,
27
+ small_image: null,
28
+ thumbnail: null,
29
+ new_from_date: null,
30
+ new_to_date: null,
31
+ created_at: null,
32
+ updated_at: null,
33
+ price_range: {
34
+ minimum_price: {
35
+ fixed_product_taxes: null,
36
+ regular_price: { value: 8, currency: 'USD' },
37
+ final_price: { value: 5, currency: 'USD' },
38
+ discount: null
39
+ },
40
+ maximum_price: {
41
+ fixed_product_taxes: null,
42
+ regular_price: { value: 5, currency: 'USD' },
43
+ final_price: { value: 5, currency: 'USD' },
44
+ discount: null
45
+ }
46
+ },
47
+ gift_message_available: null,
48
+ canonical_url:
49
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/sprite-foam-yoga-brick.html',
50
+ media_gallery: null,
51
+ custom_attributes: null,
52
+ add_to_cart_allowed: null
53
+ },
54
+ productView: {
55
+ __typename: 'SimpleProduct',
56
+ id: 21,
57
+ uid: '21',
58
+ name: 'Sprite Foam Yoga Brick',
59
+ sku: '24-WG084',
60
+ description: {
61
+ html:
62
+ '<p>Our top-selling yoga prop, the 4-inch, high-quality Sprite Foam Yoga Brick is popular among yoga novices and studio professionals alike. An essential yoga accessory, the yoga brick is a critical tool for finding balance and alignment in many common yoga poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul> '
63
+ },
64
+ short_description: null,
65
+ attribute_set_id: null,
66
+ meta_title: null,
67
+ meta_keyword: null,
68
+ meta_description: null,
69
+ images: null,
70
+ new_from_date: null,
71
+ new_to_date: null,
72
+ created_at: null,
73
+ updated_at: null,
74
+ price: {
75
+ final: {
76
+ amount: {
77
+ value: 5,
78
+ currency: 'USD'
79
+ },
80
+ adjustments: null
81
+ },
82
+ regular: {
83
+ amount: {
84
+ value: 5,
85
+ currency: 'USD'
86
+ },
87
+ adjustments: null
88
+ }
89
+ },
90
+ priceRange: {
91
+ maximum: {
92
+ final: {
93
+ amount: {
94
+ value: 5,
95
+ currency: 'USD'
96
+ },
97
+ adjustments: null
98
+ },
99
+ regular: {
100
+ amount: {
101
+ value: 5,
102
+ currency: 'USD'
103
+ },
104
+ adjustments: null
105
+ }
106
+ },
107
+ minimum: {
108
+ final: {
109
+ amount: {
110
+ value: 5,
111
+ currency: 'USD'
112
+ },
113
+ adjustments: null
114
+ },
115
+ regular: {
116
+ amount: {
117
+ value: 8,
118
+ currency: 'USD'
119
+ },
120
+ adjustments: null
121
+ }
122
+ }
123
+ },
124
+ gift_message_available: null,
125
+ url:
126
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/sprite-foam-yoga-brick.html',
127
+ urlKey: 'sprite-foam-yoga-brick',
128
+ media_gallery: null,
129
+ custom_attributes: null,
130
+ add_to_cart_allowed: null,
131
+ options: null
132
+ },
133
+ highlights: [
134
+ {
135
+ attribute: 'name',
136
+ value: 'Sprite Foam <em>Yoga</em> Brick',
137
+ matched_words: []
138
+ },
139
+ {
140
+ attribute: 'description',
141
+ value:
142
+ '<p>Our top-selling <em>yoga</em> prop, the 4-inch, high-quality Sprite Foam <em>Yoga</em> Brick is popular among <em>yoga</em> novices and studio professionals alike. An essential <em>yoga</em> accessory, the <em>yoga</em> brick is a critical tool for finding balance and alignment in many common <em>yoga</em> poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul>',
143
+ matched_words: []
144
+ }
145
+ ]
146
+ };
147
+
148
+ export const sampleProductDiscounted = {
149
+ product: {
150
+ __typename: 'SimpleProduct',
151
+ id: 21,
152
+ uid: '21',
153
+ name: 'Sprite Foam Yoga Brick',
154
+ sku: '24-WG084',
155
+ description: {
156
+ html:
157
+ '<p>Our top-selling yoga prop, the 4-inch, high-quality Sprite Foam Yoga Brick is popular among yoga novices and studio professionals alike. An essential yoga accessory, the yoga brick is a critical tool for finding balance and alignment in many common yoga poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul> '
158
+ },
159
+ short_description: null,
160
+ attribute_set_id: null,
161
+ meta_title: null,
162
+ meta_keyword: null,
163
+ meta_description: null,
164
+ image: {
165
+ url:
166
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
167
+ label: null,
168
+ position: null,
169
+ disabled: null
170
+ },
171
+ small_image: {
172
+ url:
173
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
174
+ label: null,
175
+ position: null,
176
+ disabled: null
177
+ },
178
+ thumbnail: {
179
+ url:
180
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
181
+ label: null,
182
+ position: null,
183
+ disabled: null
184
+ },
185
+ new_from_date: null,
186
+ new_to_date: null,
187
+ created_at: null,
188
+ updated_at: null,
189
+ price_range: {
190
+ minimum_price: {
191
+ fixed_product_taxes: null,
192
+ regular_price: { value: 8, currency: 'USD' },
193
+ final_price: { value: 5, currency: 'USD' },
194
+ discount: null
195
+ },
196
+ maximum_price: {
197
+ fixed_product_taxes: null,
198
+ regular_price: { value: 5, currency: 'USD' },
199
+ final_price: { value: 5, currency: 'USD' },
200
+ discount: null
201
+ }
202
+ },
203
+ gift_message_available: null,
204
+ canonical_url:
205
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/sprite-foam-yoga-brick.html',
206
+ media_gallery: null,
207
+ custom_attributes: null,
208
+ add_to_cart_allowed: null
209
+ },
210
+ productView: {
211
+ __typename: 'SimpleProduct',
212
+ id: 21,
213
+ uid: '21',
214
+ name: 'Sprite Foam Yoga Brick',
215
+ sku: '24-WG084',
216
+ description: {
217
+ html:
218
+ '<p>Our top-selling yoga prop, the 4-inch, high-quality Sprite Foam Yoga Brick is popular among yoga novices and studio professionals alike. An essential yoga accessory, the yoga brick is a critical tool for finding balance and alignment in many common yoga poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul> '
219
+ },
220
+ short_description: null,
221
+ attribute_set_id: null,
222
+ meta_title: null,
223
+ meta_keyword: null,
224
+ meta_description: null,
225
+ images: [
226
+ {
227
+ url:
228
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
229
+ label: null,
230
+ position: null,
231
+ disabled: null,
232
+ roles: ['thumbnail']
233
+ },
234
+ {
235
+ url:
236
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
237
+ label: null,
238
+ position: null,
239
+ disabled: null,
240
+ roles: ['thumbnail']
241
+ },
242
+ {
243
+ url:
244
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
245
+ label: null,
246
+ position: null,
247
+ disabled: null,
248
+ roles: ['thumbnail']
249
+ }
250
+ ],
251
+ new_from_date: null,
252
+ new_to_date: null,
253
+ created_at: null,
254
+ updated_at: null,
255
+ price: {
256
+ final: {
257
+ amount: {
258
+ value: 5,
259
+ currency: 'USD'
260
+ },
261
+ adjustments: null
262
+ },
263
+ regular: {
264
+ amount: {
265
+ value: 5,
266
+ currency: 'USD'
267
+ },
268
+ adjustments: null
269
+ }
270
+ },
271
+ priceRange: {
272
+ maximum: {
273
+ final: {
274
+ amount: {
275
+ value: 5,
276
+ currency: 'USD'
277
+ },
278
+ adjustments: null
279
+ },
280
+ regular: {
281
+ amount: {
282
+ value: 5,
283
+ currency: 'USD'
284
+ },
285
+ adjustments: null
286
+ }
287
+ },
288
+ minimum: {
289
+ final: {
290
+ amount: {
291
+ value: 5,
292
+ currency: 'USD'
293
+ },
294
+ adjustments: null
295
+ },
296
+ regular: {
297
+ amount: {
298
+ value: 8,
299
+ currency: 'USD'
300
+ },
301
+ adjustments: null
302
+ }
303
+ }
304
+ },
305
+ gift_message_available: null,
306
+ url:
307
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/sprite-foam-yoga-brick.html',
308
+ urlKey: 'sprite-foam-yoga-brick',
309
+ media_gallery: null,
310
+ custom_attributes: null,
311
+ add_to_cart_allowed: null,
312
+ options: null
313
+ },
314
+ highlights: [
315
+ {
316
+ attribute: 'name',
317
+ value: 'Sprite Foam <em>Yoga</em> Brick',
318
+ matched_words: []
319
+ },
320
+ {
321
+ attribute: 'description',
322
+ value:
323
+ '<p>Our top-selling <em>yoga</em> prop, the 4-inch, high-quality Sprite Foam <em>Yoga</em> Brick is popular among <em>yoga</em> novices and studio professionals alike. An essential <em>yoga</em> accessory, the <em>yoga</em> brick is a critical tool for finding balance and alignment in many common <em>yoga</em> poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul>',
324
+ matched_words: []
325
+ }
326
+ ]
327
+ };
328
+
329
+ export const sampleProductNotDiscounted = {
330
+ product: {
331
+ __typename: 'SimpleProduct',
332
+ id: 21,
333
+ uid: '21',
334
+ name: 'Sprite Foam Yoga Brick',
335
+ sku: '24-WG084',
336
+ description: {
337
+ html:
338
+ '<p>Our top-selling yoga prop, the 4-inch, high-quality Sprite Foam Yoga Brick is popular among yoga novices and studio professionals alike. An essential yoga accessory, the yoga brick is a critical tool for finding balance and alignment in many common yoga poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul> '
339
+ },
340
+ short_description: null,
341
+ attribute_set_id: null,
342
+ meta_title: null,
343
+ meta_keyword: null,
344
+ meta_description: null,
345
+ image: {
346
+ url:
347
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
348
+ label: null,
349
+ position: null,
350
+ disabled: null
351
+ },
352
+ small_image: {
353
+ url:
354
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
355
+ label: null,
356
+ position: null,
357
+ disabled: null
358
+ },
359
+ thumbnail: {
360
+ url:
361
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
362
+ label: null,
363
+ position: null,
364
+ disabled: null
365
+ },
366
+ new_from_date: null,
367
+ new_to_date: null,
368
+ created_at: null,
369
+ updated_at: null,
370
+ price_range: {
371
+ minimum_price: {
372
+ fixed_product_taxes: null,
373
+ regular_price: { value: 5, currency: 'USD' },
374
+ final_price: { value: 5, currency: 'USD' },
375
+ discount: null
376
+ },
377
+ maximum_price: {
378
+ fixed_product_taxes: null,
379
+ regular_price: { value: 8, currency: 'USD' },
380
+ final_price: { value: 8, currency: 'USD' },
381
+ discount: null
382
+ }
383
+ },
384
+ gift_message_available: null,
385
+ canonical_url:
386
+ '//master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/sprite-foam-yoga-brick.html',
387
+ media_gallery: null,
388
+ custom_attributes: null,
389
+ add_to_cart_allowed: null
390
+ },
391
+ productView: {
392
+ __typename: 'SimpleProduct',
393
+ id: 21,
394
+ uid: '21',
395
+ name: 'Sprite Foam Yoga Brick',
396
+ sku: '24-WG084',
397
+ description: {
398
+ html:
399
+ '<p>Our top-selling yoga prop, the 4-inch, high-quality Sprite Foam Yoga Brick is popular among yoga novices and studio professionals alike. An essential yoga accessory, the yoga brick is a critical tool for finding balance and alignment in many common yoga poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul> '
400
+ },
401
+ short_description: null,
402
+ attribute_set_id: null,
403
+ meta_title: null,
404
+ meta_keyword: null,
405
+ meta_description: null,
406
+ images: [
407
+ {
408
+ url:
409
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
410
+ label: null,
411
+ position: null,
412
+ disabled: null,
413
+ roles: ['thumbnail']
414
+ },
415
+ {
416
+ url:
417
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
418
+ label: null,
419
+ position: null,
420
+ disabled: null,
421
+ roles: ['thumbnail']
422
+ },
423
+ {
424
+ url:
425
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/media/catalog/product/l/u/luma-yoga-brick.jpg',
426
+ label: null,
427
+ position: null,
428
+ disabled: null,
429
+ roles: ['thumbnail']
430
+ }
431
+ ],
432
+ new_from_date: null,
433
+ new_to_date: null,
434
+ created_at: null,
435
+ updated_at: null,
436
+ price: {
437
+ final: {
438
+ amount: {
439
+ value: 5,
440
+ currency: 'USD'
441
+ },
442
+ adjustments: null
443
+ },
444
+ regular: {
445
+ amount: {
446
+ value: 5,
447
+ currency: 'USD'
448
+ },
449
+ adjustments: null
450
+ }
451
+ },
452
+ priceRange: {
453
+ maximum: {
454
+ final: {
455
+ amount: {
456
+ value: 8,
457
+ currency: 'USD'
458
+ },
459
+ adjustments: null
460
+ },
461
+ regular: {
462
+ amount: {
463
+ value: 8,
464
+ currency: 'USD'
465
+ },
466
+ adjustments: null
467
+ }
468
+ },
469
+ minimum: {
470
+ final: {
471
+ amount: {
472
+ value: 5,
473
+ currency: 'USD'
474
+ },
475
+ adjustments: null
476
+ },
477
+ regular: {
478
+ amount: {
479
+ value: 8,
480
+ currency: 'USD'
481
+ },
482
+ adjustments: null
483
+ }
484
+ }
485
+ },
486
+ gift_message_available: null,
487
+ url:
488
+ 'http://master-7rqtwti-eragxvhtzr4am.us-4.magentosite.cloud/sprite-foam-yoga-brick.html',
489
+ urlKey: 'sprite-foam-yoga-brick',
490
+ media_gallery: null,
491
+ custom_attributes: null,
492
+ add_to_cart_allowed: null,
493
+ options: null
494
+ },
495
+ highlights: [
496
+ {
497
+ attribute: 'name',
498
+ value: 'Sprite Foam <em>Yoga</em> Brick',
499
+ matched_words: []
500
+ },
501
+ {
502
+ attribute: 'description',
503
+ value:
504
+ '<p>Our top-selling <em>yoga</em> prop, the 4-inch, high-quality Sprite Foam <em>Yoga</em> Brick is popular among <em>yoga</em> novices and studio professionals alike. An essential <em>yoga</em> accessory, the <em>yoga</em> brick is a critical tool for finding balance and alignment in many common <em>yoga</em> poses. Choose from 5 color options.</p>\n<ul>\n<li>Standard Large Size: 4" x 6" x 9".\n<li>Beveled edges for ideal contour grip.\n<li>Durable and soft, scratch-proof foam.\n<li>Individually wrapped.\n<li>Ten color choices.\n</ul>',
505
+ matched_words: []
506
+ }
507
+ ]
508
+ };