@shopgate/pwa-ui-shared 7.30.0-alpha.6 → 7.30.0-alpha.8

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 (266) hide show
  1. package/AccordionContainer/index.js +39 -5
  2. package/AccordionContainer/spec.js +25 -2
  3. package/ActionButton/index.js +63 -7
  4. package/ActionButton/spec.js +59 -2
  5. package/ActionButton/style.js +22 -1
  6. package/AddToCartButton/index.js +184 -27
  7. package/AddToCartButton/mock.js +18 -4
  8. package/AddToCartButton/spec.js +51 -2
  9. package/AddToCartButton/style.js +127 -11
  10. package/Availability/index.js +34 -2
  11. package/Availability/spec.js +41 -1
  12. package/Availability/style.js +19 -1
  13. package/Button/index.js +76 -5
  14. package/Button/spec.js +33 -1
  15. package/Button/style.js +130 -21
  16. package/ButtonLink/connector.js +11 -2
  17. package/ButtonLink/index.js +44 -6
  18. package/ButtonLink/spec.js +23 -1
  19. package/Card/index.js +19 -2
  20. package/Card/style.js +11 -1
  21. package/CardList/components/Item/index.js +26 -2
  22. package/CardList/components/Item/style.js +7 -1
  23. package/CardList/index.js +34 -3
  24. package/CartTotalLine/components/Amount/index.js +28 -2
  25. package/CartTotalLine/components/Amount/style.js +8 -1
  26. package/CartTotalLine/components/Hint/index.js +23 -2
  27. package/CartTotalLine/components/Hint/style.js +12 -1
  28. package/CartTotalLine/components/Label/index.js +36 -2
  29. package/CartTotalLine/components/Label/style.js +17 -1
  30. package/CartTotalLine/components/Spacer/index.js +16 -2
  31. package/CartTotalLine/index.js +39 -2
  32. package/CartTotalLine/style.js +31 -1
  33. package/Checkbox/index.js +31 -2
  34. package/Checkbox/style.js +18 -1
  35. package/Chip/index.js +61 -2
  36. package/Chip/spec.js +24 -1
  37. package/Chip/style.js +71 -3
  38. package/ContextMenu/ContextMenu.hooks.js +6 -2
  39. package/ContextMenu/ContextMenuProvider.context.js +9 -3
  40. package/ContextMenu/ContextMenuProvider.js +21 -2
  41. package/ContextMenu/components/Item/index.js +67 -5
  42. package/ContextMenu/components/Item/style.js +32 -3
  43. package/ContextMenu/components/Position/index.js +61 -10
  44. package/ContextMenu/components/Position/style.js +11 -1
  45. package/ContextMenu/index.js +124 -3
  46. package/ContextMenu/spec.js +101 -2
  47. package/ContextMenu/style.js +45 -1
  48. package/Dialog/components/BasicDialog/index.js +5 -1
  49. package/Dialog/components/HtmlContentDialog/index.js +22 -2
  50. package/Dialog/components/HtmlContentDialog/spec.js +59 -1
  51. package/Dialog/components/PipelineErrorDialog/index.js +114 -25
  52. package/Dialog/components/PipelineErrorDialog/spec.js +92 -12
  53. package/Dialog/components/TextMessageDialog/index.js +28 -2
  54. package/Dialog/components/TextMessageDialog/spec.js +59 -1
  55. package/Dialog/components/VariantSelectModal/connector.js +11 -2
  56. package/Dialog/components/VariantSelectModal/index.js +65 -6
  57. package/Dialog/components/VariantSelectModal/spec.js +51 -2
  58. package/Dialog/constants.js +6 -1
  59. package/Dialog/index.js +114 -7
  60. package/Dialog/spec.js +81 -3
  61. package/DiscountBadge/index.js +30 -2
  62. package/DiscountBadge/spec.js +19 -1
  63. package/DiscountBadge/style.js +34 -2
  64. package/FavoritesButton/connector.js +18 -3
  65. package/FavoritesButton/index.js +118 -15
  66. package/FavoritesButton/mock.js +50 -4
  67. package/FavoritesButton/spec.js +120 -2
  68. package/FavoritesButton/style.js +26 -1
  69. package/Form/Builder/builders/buildCountryList.js +40 -6
  70. package/Form/Builder/builders/buildFormDefaults.js +35 -6
  71. package/Form/Builder/builders/buildFormElements.js +68 -10
  72. package/Form/Builder/builders/buildProvinceList.js +19 -2
  73. package/Form/Builder/builders/buildValidationErrorList.js +7 -2
  74. package/Form/Builder/classes/ActionListener/constants.js +22 -2
  75. package/Form/Builder/classes/ActionListener/index.js +441 -93
  76. package/Form/Builder/classes/ActionListener/spec.js +321 -19
  77. package/Form/Builder/components/CheckboxElement.js +35 -3
  78. package/Form/Builder/components/CountryElement.js +40 -3
  79. package/Form/Builder/components/ProvinceElement.js +40 -3
  80. package/Form/Builder/components/RadioElement.js +41 -3
  81. package/Form/Builder/components/SelectElement.js +39 -3
  82. package/Form/Builder/components/TextElement.js +49 -4
  83. package/Form/Builder/elementTypes.js +11 -1
  84. package/Form/Builder/index.js +298 -52
  85. package/Form/Builder/iso-3166-2.js +4943 -1
  86. package/Form/Builder/spec.js +300 -16
  87. package/Form/Checkbox/index.js +66 -4
  88. package/Form/Checkbox/style.js +25 -2
  89. package/Form/InfoField/index.js +50 -2
  90. package/Form/InfoField/spec.js +9 -1
  91. package/Form/InfoField/style.js +11 -1
  92. package/Form/Password/index.js +51 -6
  93. package/Form/Password/spec.js +34 -1
  94. package/Form/Password/style.js +11 -1
  95. package/Form/RadioGroup/components/Item/index.js +59 -3
  96. package/Form/RadioGroup/components/Item/style.js +32 -2
  97. package/Form/RadioGroup/index.js +101 -9
  98. package/Form/RadioGroup/spec.js +83 -3
  99. package/Form/RadioGroup/style.js +18 -2
  100. package/Form/Select/index.js +158 -10
  101. package/Form/Select/spec.js +36 -5
  102. package/Form/Select/style.js +27 -1
  103. package/Form/SelectContextChoices/index.js +77 -3
  104. package/Form/SelectContextChoices/spec.js +33 -4
  105. package/Form/SelectContextChoices/style.js +23 -1
  106. package/Form/TextField/index.js +92 -8
  107. package/Form/TextField/spec.js +110 -1
  108. package/Form/TextField/style.js +66 -8
  109. package/Form/index.js +54 -13
  110. package/FormElement/components/ErrorText/index.js +31 -2
  111. package/FormElement/components/ErrorText/style.js +13 -1
  112. package/FormElement/components/Label/index.js +35 -2
  113. package/FormElement/components/Label/style.js +76 -8
  114. package/FormElement/components/Placeholder/index.js +26 -2
  115. package/FormElement/components/Placeholder/style.js +48 -6
  116. package/FormElement/components/Underline/index.js +18 -2
  117. package/FormElement/components/Underline/style.js +51 -4
  118. package/FormElement/index.js +91 -6
  119. package/FormElement/spec.js +67 -2
  120. package/FormElement/style.js +13 -2
  121. package/Glow/index.js +90 -7
  122. package/Glow/spec.js +9 -1
  123. package/Glow/style.js +18 -1
  124. package/IndicatorCircle/index.js +33 -3
  125. package/IndicatorCircle/spec.js +28 -1
  126. package/IndicatorCircle/style.js +57 -3
  127. package/LoadingIndicator/index.js +29 -2
  128. package/LoadingIndicator/style.js +20 -1
  129. package/Manufacturer/index.js +20 -2
  130. package/Manufacturer/style.js +5 -1
  131. package/MessageBar/index.js +36 -2
  132. package/MessageBar/spec.js +79 -1
  133. package/MessageBar/style.js +38 -1
  134. package/NoResults/components/Icon/index.js +130 -2
  135. package/NoResults/components/Icon/style.js +17 -1
  136. package/NoResults/index.js +46 -2
  137. package/NoResults/style.js +31 -1
  138. package/Placeholder/index.js +25 -3
  139. package/Placeholder/style.js +11 -1
  140. package/PlaceholderLabel/index.js +27 -2
  141. package/PlaceholderLabel/spec.js +19 -1
  142. package/PlaceholderLabel/style.js +12 -1
  143. package/PlaceholderParagraph/index.js +36 -2
  144. package/PlaceholderParagraph/spec.js +19 -1
  145. package/Price/index.js +88 -7
  146. package/Price/style.js +22 -1
  147. package/PriceInfo/index.js +20 -2
  148. package/PriceInfo/style.js +5 -1
  149. package/PriceStriked/index.js +83 -12
  150. package/PriceStriked/style.js +33 -3
  151. package/ProductProperties/index.js +32 -2
  152. package/ProgressBar/index.js +101 -13
  153. package/ProgressBar/spec.js +13 -1
  154. package/ProgressBar/style.js +83 -2
  155. package/RadioButton/index.js +18 -2
  156. package/RadioButton/spec.js +21 -1
  157. package/RadioButton/style.js +21 -1
  158. package/RatingNumber/index.js +29 -2
  159. package/RatingStars/constants.js +2 -1
  160. package/RatingStars/index.js +130 -12
  161. package/RatingStars/spec.js +90 -3
  162. package/RatingStars/style.js +51 -2
  163. package/Ripple/components/RippleAnimation/index.js +88 -6
  164. package/Ripple/index.js +218 -40
  165. package/Ripple/style.js +18 -1
  166. package/RippleButton/index.js +52 -5
  167. package/RippleButton/spec.js +45 -1
  168. package/ScannerOverlay/components/CameraOverlay/index.js +13 -2
  169. package/ScannerOverlay/components/CameraOverlay/style.js +41 -1
  170. package/ScannerOverlay/components/ScannerBar/components/FlashlightButton/index.js +34 -2
  171. package/ScannerOverlay/components/ScannerBar/components/FlashlightButton/style.js +28 -1
  172. package/ScannerOverlay/components/ScannerBar/components/ScannerInstructions/index.js +11 -2
  173. package/ScannerOverlay/components/ScannerBar/index.js +31 -2
  174. package/ScannerOverlay/components/ScannerBar/style.js +20 -1
  175. package/ScannerOverlay/index.js +47 -7
  176. package/Sheet/components/Header/components/SearchBar/index.js +46 -2
  177. package/Sheet/components/Header/components/SearchBar/spec.js +21 -3
  178. package/Sheet/components/Header/components/SearchBar/style.js +47 -1
  179. package/Sheet/components/Header/index.js +75 -7
  180. package/Sheet/components/Header/spec.js +14 -1
  181. package/Sheet/components/Header/style.js +50 -1
  182. package/Sheet/index.js +170 -17
  183. package/Sheet/spec.js +85 -5
  184. package/Sheet/style.js +143 -2
  185. package/TaxDisclaimer/index.js +34 -4
  186. package/TaxDisclaimer/spec.js +31 -3
  187. package/TaxDisclaimer/style.js +9 -1
  188. package/TextField/components/ErrorText/index.js +33 -2
  189. package/TextField/components/ErrorText/style.js +25 -3
  190. package/TextField/components/FormElement/index.js +19 -2
  191. package/TextField/components/FormElement/style.js +32 -4
  192. package/TextField/components/Hint/index.js +21 -2
  193. package/TextField/components/Hint/style.js +40 -5
  194. package/TextField/components/Label/index.js +32 -3
  195. package/TextField/components/Label/style.js +68 -8
  196. package/TextField/components/Underline/index.js +19 -2
  197. package/TextField/components/Underline/style.js +51 -4
  198. package/TextField/index.js +189 -27
  199. package/TextField/spec.js +128 -3
  200. package/TextField/style.js +34 -4
  201. package/ToggleIcon/index.js +58 -8
  202. package/ToggleIcon/spec.js +35 -1
  203. package/icons/AccountBoxIcon.js +11 -2
  204. package/icons/AddMoreIcon.js +11 -2
  205. package/icons/ArrowDropIcon.js +11 -2
  206. package/icons/ArrowIcon.js +21 -2
  207. package/icons/BarcodeScannerIcon.js +11 -2
  208. package/icons/BoxIcon.js +11 -2
  209. package/icons/BrowseIcon.js +11 -2
  210. package/icons/BurgerIcon.js +11 -2
  211. package/icons/CalendarIcon.js +15 -3
  212. package/icons/CartCouponIcon.js +72 -2
  213. package/icons/CartIcon.js +11 -2
  214. package/icons/CartPlusIcon.js +11 -2
  215. package/icons/CheckIcon.js +11 -2
  216. package/icons/CheckedIcon.js +11 -2
  217. package/icons/ChevronIcon.js +11 -2
  218. package/icons/CreditCardIcon.js +11 -2
  219. package/icons/CrossIcon.js +11 -2
  220. package/icons/DescriptionIcon.js +11 -2
  221. package/icons/FilterIcon.js +11 -2
  222. package/icons/FlashDisabledIcon.js +11 -2
  223. package/icons/FlashEnabledIcon.js +11 -2
  224. package/icons/GridIcon.js +11 -2
  225. package/icons/HeartIcon.js +11 -2
  226. package/icons/HeartOutlineIcon.js +11 -2
  227. package/icons/HeartPlusIcon.js +12 -2
  228. package/icons/HeartPlusOutlineIcon.js +12 -2
  229. package/icons/HomeIcon.js +11 -2
  230. package/icons/InfoIcon.js +11 -2
  231. package/icons/InfoOutlineIcon.js +11 -2
  232. package/icons/ListIcon.js +11 -2
  233. package/icons/LocalShippingIcon.js +11 -2
  234. package/icons/LocationIcon.js +13 -3
  235. package/icons/LocatorIcon.js +11 -2
  236. package/icons/LockIcon.js +11 -2
  237. package/icons/LogoutIcon.js +11 -2
  238. package/icons/MagnifierIcon.js +11 -2
  239. package/icons/MapMarkerIcon.js +24 -3
  240. package/icons/MoreIcon.js +11 -2
  241. package/icons/MoreVertIcon.js +11 -2
  242. package/icons/NotificationIcon.js +14 -3
  243. package/icons/PersonIcon.js +12 -2
  244. package/icons/PhoneIcon.js +13 -3
  245. package/icons/PlaceholderIcon.js +11 -2
  246. package/icons/RadioCheckedIcon.js +11 -2
  247. package/icons/RadioUncheckedIcon.js +11 -2
  248. package/icons/SecurityIcon.js +11 -2
  249. package/icons/ShippingMethodIcon.js +18 -3
  250. package/icons/ShoppingCartIcon.js +11 -2
  251. package/icons/SortIcon.js +11 -2
  252. package/icons/StarHalfIcon.js +18 -2
  253. package/icons/StarIcon.js +18 -2
  254. package/icons/StarOutlineIcon.js +11 -2
  255. package/icons/StopIcon.js +11 -2
  256. package/icons/TickIcon.js +11 -2
  257. package/icons/TimeIcon.js +14 -3
  258. package/icons/TrashIcon.js +11 -2
  259. package/icons/TrashOutlineIcon.js +12 -2
  260. package/icons/UncheckedIcon.js +11 -2
  261. package/icons/ViewListIcon.js +11 -2
  262. package/icons/VisibilityIcon.js +11 -2
  263. package/icons/VisibilityOffIcon.js +11 -2
  264. package/icons/WarningIcon.js +11 -2
  265. package/index.js +13 -1
  266. package/package.json +5 -5
@@ -1,9 +1,39 @@
1
- import React from'react';import PropTypes from'prop-types';import{themeConfig}from'@shopgate/pwa-common/helpers/config';import styles from"./style";/**
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { themeConfig } from '@shopgate/pwa-common/helpers/config';
4
+ import styles from "./style";
5
+
6
+ /**
2
7
  * The circle indicator component.
3
8
  * @param {Object} props The component props.
4
9
  * @param {Object} props.size Width and height of the circle.
5
10
  * @param {Object} props.color Color of the circle.
6
11
  * @param {Object} props.strokeWidth Stroke width of the circle.
7
- * @param {bool} props.paused Animation should be paused.
12
+ * @param {boolean} props.paused Animation should be paused.
8
13
  * @returns {JSX}
9
- */var IndicatorCircle=function IndicatorCircle(_ref){var size=_ref.size,color=_ref.color,strokeWidth=_ref.strokeWidth,paused=_ref.paused;return React.createElement("svg",{className:"".concat(styles.spinner(paused)," ui-shared__indicator-circle"),viewBox:"25 25 50 50",width:size,height:size,xmlns:"http://www.w3.org/2000/svg","data-test-id":"loadingIndicator"},React.createElement("circle",{className:styles.circle(color,strokeWidth,paused),cx:"50",cy:"50",r:"20"}));};IndicatorCircle.defaultProps={color:"var(--color-secondary, ".concat(themeConfig.colors.accent,")"),paused:false,size:themeConfig.variables.loadingIndicator.size,strokeWidth:themeConfig.variables.loadingIndicator.strokeWidth};export default IndicatorCircle;
14
+ */
15
+ const IndicatorCircle = ({
16
+ size,
17
+ color,
18
+ strokeWidth,
19
+ paused
20
+ }) => /*#__PURE__*/React.createElement("svg", {
21
+ className: `${styles.spinner(paused)} ui-shared__indicator-circle`,
22
+ viewBox: "25 25 50 50",
23
+ width: size,
24
+ height: size,
25
+ xmlns: "http://www.w3.org/2000/svg",
26
+ "data-test-id": "loadingIndicator"
27
+ }, /*#__PURE__*/React.createElement("circle", {
28
+ className: styles.circle(color, strokeWidth, paused),
29
+ cx: "50",
30
+ cy: "50",
31
+ r: "20"
32
+ }));
33
+ IndicatorCircle.defaultProps = {
34
+ color: `var(--color-secondary, ${themeConfig.colors.accent})`,
35
+ paused: false,
36
+ size: themeConfig.variables.loadingIndicator.size,
37
+ strokeWidth: themeConfig.variables.loadingIndicator.strokeWidth
38
+ };
39
+ export default IndicatorCircle;
@@ -1 +1,28 @@
1
- import React from'react';import{shallow,mount}from'enzyme';import IndicatorCircle from"./index";import styles from"./style";describe('<IndicatorCircle />',function(){it('should apply the given size',function(){var wrapper=shallow(React.createElement(IndicatorCircle,{size:32}));expect(wrapper).toMatchSnapshot();var svg=wrapper.find('svg');expect(svg.props().width).toBe(32);expect(svg.props().height).toBe(32);});it('should apply the given color',function(){var wrapper=mount(React.createElement(IndicatorCircle,{size:32,color:"#fff",strokeWidth:4}));expect(wrapper).toMatchSnapshot();var correctCssClass=styles.circle('#fff',4,false);var wrongCssClass=styles.circle('#000',0);var circleHtml=wrapper.find('circle');expect(circleHtml.html().indexOf(correctCssClass)).toBeGreaterThanOrEqual(0);expect(circleHtml.html().indexOf(wrongCssClass)).toBe(-1);});});
1
+ import React from 'react';
2
+ import { shallow, mount } from 'enzyme';
3
+ import IndicatorCircle from "./index";
4
+ import styles from "./style";
5
+ describe('<IndicatorCircle />', () => {
6
+ it('should apply the given size', () => {
7
+ const wrapper = shallow(/*#__PURE__*/React.createElement(IndicatorCircle, {
8
+ size: 32
9
+ }));
10
+ expect(wrapper).toMatchSnapshot();
11
+ const svg = wrapper.find('svg');
12
+ expect(svg.props().width).toBe(32);
13
+ expect(svg.props().height).toBe(32);
14
+ });
15
+ it('should apply the given color', () => {
16
+ const wrapper = mount(/*#__PURE__*/React.createElement(IndicatorCircle, {
17
+ size: 32,
18
+ color: "#fff",
19
+ strokeWidth: 4
20
+ }));
21
+ expect(wrapper).toMatchSnapshot();
22
+ const correctCssClass = styles.circle('#fff', 4, false);
23
+ const wrongCssClass = styles.circle('#000', 0);
24
+ const circleHtml = wrapper.find('circle');
25
+ expect(circleHtml.html().indexOf(correctCssClass)).toBeGreaterThanOrEqual(0);
26
+ expect(circleHtml.html().indexOf(wrongCssClass)).toBe(-1);
27
+ });
28
+ });
@@ -1,11 +1,65 @@
1
- import{css}from'glamor';var rotate=css.keyframes({'100%':{transform:'rotate(360deg)'}});/**
1
+ import { css } from 'glamor';
2
+ const rotate = css.keyframes({
3
+ '100%': {
4
+ transform: 'rotate(360deg)'
5
+ }
6
+ });
7
+
8
+ /**
2
9
  * Styles for spinner.
3
10
  * @param {boolean} paused Animation should be paused.
4
11
  * @returns {string}
5
- */var spinner=function spinner(paused){var styles={margin:'auto',transformOrigin:'center center',maxWidth:'100%',maxHeight:'100%'};if(!paused){styles.animation="".concat(rotate," 1.6s linear infinite");}return css(styles).toString();};var dash=css.keyframes({'0%':{strokeDasharray:'1, 200',strokeDashoffset:'0'},'50%':{strokeDasharray:'89, 200',strokeDashoffset:'-35px'},'100%':{strokeDasharray:'89, 200',strokeDashoffset:'-124px'}});/**
12
+ */
13
+ const spinner = paused => {
14
+ const styles = {
15
+ margin: 'auto',
16
+ transformOrigin: 'center center',
17
+ maxWidth: '100%',
18
+ maxHeight: '100%'
19
+ };
20
+ if (!paused) {
21
+ styles.animation = `${rotate} 1.6s linear infinite`;
22
+ }
23
+ return css(styles).toString();
24
+ };
25
+ const dash = css.keyframes({
26
+ '0%': {
27
+ strokeDasharray: '1, 200',
28
+ strokeDashoffset: '0'
29
+ },
30
+ '50%': {
31
+ strokeDasharray: '89, 200',
32
+ strokeDashoffset: '-35px'
33
+ },
34
+ '100%': {
35
+ strokeDasharray: '89, 200',
36
+ strokeDashoffset: '-124px'
37
+ }
38
+ });
39
+
40
+ /**
6
41
  * Styles for the rotating circle.
7
42
  * @param {string} color The color of the circle. Default color is "accent".
8
43
  * @param {string} strokeWidth The stroke width of the circle.
9
44
  * @param {boolean} paused Animation should be paused.
10
45
  * @return {string} CSS class name.
11
- */var circle=function circle(color,strokeWidth,paused){var styles={fill:'none',stroke:color,strokeDasharray:'1, 200',strokeDashoffset:0,strokeLinecap:'round',strokeMiterlimit:10,strokeWidth:strokeWidth};if(!paused){styles.animation="".concat(dash," 1.2s ease-in-out infinite");}return css(styles).toString();};export default{spinner:spinner,circle:circle};
46
+ */
47
+ const circle = (color, strokeWidth, paused) => {
48
+ const styles = {
49
+ fill: 'none',
50
+ stroke: color,
51
+ strokeDasharray: '1, 200',
52
+ strokeDashoffset: 0,
53
+ strokeLinecap: 'round',
54
+ strokeMiterlimit: 10,
55
+ strokeWidth
56
+ };
57
+ if (!paused) {
58
+ styles.animation = `${dash} 1.2s ease-in-out infinite`;
59
+ }
60
+ return css(styles).toString();
61
+ };
62
+ export default {
63
+ spinner,
64
+ circle
65
+ };
@@ -1,4 +1,31 @@
1
- function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React from'react';import PropTypes from'prop-types';import classNames from'classnames';import{themeConfig}from'@shopgate/engage';import IndicatorCircle from"../IndicatorCircle";import{container,imgContainer}from"./style";var _themeConfig$variable=themeConfig.variables.loadingIndicator,_themeConfig$variable2=_themeConfig$variable===void 0?{}:_themeConfig$variable,loadingImageSrc=_themeConfig$variable2.imgSrc;/**
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import classNames from 'classnames';
4
+ import { themeConfig } from '@shopgate/engage';
5
+ import IndicatorCircle from "../IndicatorCircle";
6
+ import { container, imgContainer } from "./style";
7
+ const {
8
+ loadingIndicator: {
9
+ imgSrc: loadingImageSrc
10
+ } = {}
11
+ } = themeConfig.variables;
12
+
13
+ /**
2
14
  * Renders a loading indicator.
3
15
  * @returns {JSX}
4
- */var LoadingIndicator=function LoadingIndicator(_ref){var className=_ref.className;return React.createElement("div",{className:classNames(className,_defineProperty(_defineProperty({},container,!loadingImageSrc),imgContainer,!!loadingImageSrc),'loading-indicator','ui-shared__loading-indicator')},loadingImageSrc?React.createElement("img",{src:loadingImageSrc,alt:""}):React.createElement(IndicatorCircle,null));};LoadingIndicator.defaultProps={className:null};export default LoadingIndicator;
16
+ */
17
+ const LoadingIndicator = ({
18
+ className
19
+ }) => /*#__PURE__*/React.createElement("div", {
20
+ className: classNames(className, {
21
+ [container]: !loadingImageSrc,
22
+ [imgContainer]: !!loadingImageSrc
23
+ }, 'loading-indicator', 'ui-shared__loading-indicator')
24
+ }, loadingImageSrc ? /*#__PURE__*/React.createElement("img", {
25
+ src: loadingImageSrc,
26
+ alt: ""
27
+ }) : /*#__PURE__*/React.createElement(IndicatorCircle, null));
28
+ LoadingIndicator.defaultProps = {
29
+ className: null
30
+ };
31
+ export default LoadingIndicator;
@@ -1 +1,20 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors;export var container=css({display:'block',padding:'1em',textAlign:'center',fontSize:'1.5em',color:"var(--color-secondary, ".concat(colors.accent,")")});export var imgContainer=css({display:'flex',justifyContent:'center',' img':{maxWidth:'50vw',maxHeight:'50vh'}});
1
+ import { css } from 'glamor';
2
+ import { themeConfig } from '@shopgate/pwa-common/helpers/config';
3
+ const {
4
+ colors
5
+ } = themeConfig;
6
+ export const container = css({
7
+ display: 'block',
8
+ padding: '1em',
9
+ textAlign: 'center',
10
+ fontSize: '1.5em',
11
+ color: `var(--color-secondary, ${colors.accent})`
12
+ });
13
+ export const imgContainer = css({
14
+ display: 'flex',
15
+ justifyContent: 'center',
16
+ ' img': {
17
+ maxWidth: '50vw',
18
+ maxHeight: '50vh'
19
+ }
20
+ });
@@ -1,7 +1,25 @@
1
- import React from'react';import PropTypes from'prop-types';import styles from"./style";/**
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import styles from "./style";
4
+
5
+ /**
2
6
  * The manufacturer component.
3
7
  * @param {Object} props The component props.
4
8
  * @param {string} props.text The manufacturer name.
5
9
  * @param {string} [props.className] CSS classes.
6
10
  * @return {JSX}
7
- */var Manufacturer=function Manufacturer(_ref){var className=_ref.className,text=_ref.text;return React.createElement("div",{className:"".concat(styles," ").concat(className," ui-shared__manufacturer")},React.createElement("span",{dangerouslySetInnerHTML:{__html:text}}));};Manufacturer.defaultProps={className:''};export default Manufacturer;
11
+ */
12
+ const Manufacturer = ({
13
+ className,
14
+ text
15
+ }) => /*#__PURE__*/React.createElement("div", {
16
+ className: `${styles} ${className} ui-shared__manufacturer`
17
+ }, /*#__PURE__*/React.createElement("span", {
18
+ dangerouslySetInnerHTML: {
19
+ __html: text
20
+ }
21
+ }));
22
+ Manufacturer.defaultProps = {
23
+ className: ''
24
+ };
25
+ export default Manufacturer;
@@ -1 +1,5 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';export default css({color:"var(--color-primary, ".concat(themeConfig.colors.primary,")")}).toString();
1
+ import { css } from 'glamor';
2
+ import { themeConfig } from '@shopgate/pwa-common/helpers/config';
3
+ export default css({
4
+ color: `var(--color-primary, ${themeConfig.colors.primary})`
5
+ }).toString();
@@ -1,8 +1,42 @@
1
- import React,{memo}from'react';import classnames from'classnames';import PropTypes from'prop-types';import{i18n}from'@shopgate/engage/core';import styles from"./style";/**
1
+ import React, { memo } from 'react';
2
+ import classnames from 'classnames';
3
+ import PropTypes from 'prop-types';
4
+ import { i18n } from '@shopgate/engage/core';
5
+ import styles from "./style";
6
+
7
+ /**
2
8
  * The MessageBar component.
3
9
  * @param {Object} props The component props.
4
10
  * @param {Array} props.messages The message content.
5
11
  * @param {Object} props.classNames Styling.
6
12
  * @returns {JSX}
7
13
  * @deprecated Please import from `@shopgate/engage/components` instead.
8
- */var MessageBar=memo(function(_ref){var messages=_ref.messages,classNames=_ref.classNames;return React.createElement("div",{className:classnames(styles.container,classNames.container,'ui-shared__message-bar'),role:messages.length>0?'alert':null},messages.map(function(item){var _item$type=item.type,type=_item$type===void 0?'info':_item$type,message=item.message,_item$messageParams=item.messageParams,messageParams=_item$messageParams===void 0?null:_item$messageParams,translated=item.translated;var messageOutput=!translated?i18n.text(message,messageParams):message;return React.createElement("div",{key:"".concat(type,"-").concat(message),className:classnames(classNames.message,styles[type])},React.createElement("span",{"aria-hidden":true},messageOutput));}));});MessageBar.defaultProps={classNames:{container:null,message:null}};export default MessageBar;
14
+ */
15
+ const MessageBar = /*#__PURE__*/memo(({
16
+ messages,
17
+ classNames
18
+ }) => /*#__PURE__*/React.createElement("div", {
19
+ className: classnames(styles.container, classNames.container, 'ui-shared__message-bar'),
20
+ role: messages.length > 0 ? 'alert' : null
21
+ }, messages.map(item => {
22
+ const {
23
+ type = 'info',
24
+ message,
25
+ messageParams = null,
26
+ translated
27
+ } = item;
28
+ const messageOutput = !translated ? i18n.text(message, messageParams) : message;
29
+ return /*#__PURE__*/React.createElement("div", {
30
+ key: `${type}-${message}`,
31
+ className: classnames(classNames.message, styles[type])
32
+ }, /*#__PURE__*/React.createElement("span", {
33
+ "aria-hidden": true
34
+ }, messageOutput));
35
+ })));
36
+ MessageBar.defaultProps = {
37
+ classNames: {
38
+ container: null,
39
+ message: null
40
+ }
41
+ };
42
+ export default MessageBar;
@@ -1 +1,79 @@
1
- import React from'react';import{mount}from'enzyme';import MessageBar from"./index";var MESSAGE1='This is some information';var MESSAGE2='This is an error that happened here.';var MESSAGE3='This is just a warning. Nothing to freak out about.';var MESSAGE4='Normal pre-translated message.';var MESSAGE5='Normal pre-translated message two.';var MESSAGE6='some.translation.string';var MESSAGE7='Message with messageParams';describe('<MessageBar />',function(){describe('General rendering',function(){it('should be empty if no messages have been set',function(){var wrapper=mount(React.createElement(MessageBar,{messages:[]}));expect(wrapper).toMatchSnapshot();});it('should render a message as info if type is missing',function(){var wrapper=mount(React.createElement(MessageBar,{messages:[{message:'something'}]}));expect(wrapper).toMatchSnapshot();});});describe('Multiple messages rendering',function(){it('should render messages without frontend translation',function(){var wrapper=mount(React.createElement(MessageBar,{messages:[{type:'info',message:MESSAGE1},{type:'error',message:MESSAGE2},{type:'warning',message:MESSAGE3},{message:MESSAGE4,translated:null},{message:MESSAGE5,translated:true}]}));expect(wrapper).toMatchSnapshot();});it('should translate and render all given messages',function(){var wrapper=mount(React.createElement(MessageBar,{messages:[{message:MESSAGE6,translated:false},{message:MESSAGE7,messageParams:{myCustomParam1:'-> TEST-VALUE #1 <-',myCustomParam2:'-> TEST-VALUE #2 <-'},translated:false}]}));expect(wrapper).toMatchSnapshot();});it('should render with custom classNames',function(){var wrapper=mount(React.createElement(MessageBar,{messages:[{message:MESSAGE1}],classNames:{container:'cls-container',message:'cls-message'}}));expect(wrapper).toMatchSnapshot();});});});
1
+ import React from 'react';
2
+ import { mount } from 'enzyme';
3
+ import MessageBar from "./index";
4
+ const MESSAGE1 = 'This is some information';
5
+ const MESSAGE2 = 'This is an error that happened here.';
6
+ const MESSAGE3 = 'This is just a warning. Nothing to freak out about.';
7
+ const MESSAGE4 = 'Normal pre-translated message.';
8
+ const MESSAGE5 = 'Normal pre-translated message two.';
9
+ const MESSAGE6 = 'some.translation.string';
10
+ const MESSAGE7 = 'Message with messageParams';
11
+ describe('<MessageBar />', () => {
12
+ describe('General rendering', () => {
13
+ it('should be empty if no messages have been set', () => {
14
+ const wrapper = mount(/*#__PURE__*/React.createElement(MessageBar, {
15
+ messages: []
16
+ }));
17
+ expect(wrapper).toMatchSnapshot();
18
+ });
19
+ it('should render a message as info if type is missing', () => {
20
+ const wrapper = mount(/*#__PURE__*/React.createElement(MessageBar, {
21
+ messages: [{
22
+ message: 'something'
23
+ }]
24
+ }));
25
+ expect(wrapper).toMatchSnapshot();
26
+ });
27
+ });
28
+ describe('Multiple messages rendering', () => {
29
+ it('should render messages without frontend translation', () => {
30
+ const wrapper = mount(/*#__PURE__*/React.createElement(MessageBar, {
31
+ messages: [{
32
+ type: 'info',
33
+ message: MESSAGE1
34
+ }, {
35
+ type: 'error',
36
+ message: MESSAGE2
37
+ }, {
38
+ type: 'warning',
39
+ message: MESSAGE3
40
+ }, {
41
+ message: MESSAGE4,
42
+ translated: null
43
+ }, {
44
+ message: MESSAGE5,
45
+ translated: true
46
+ }]
47
+ }));
48
+ expect(wrapper).toMatchSnapshot();
49
+ });
50
+ it('should translate and render all given messages', () => {
51
+ const wrapper = mount(/*#__PURE__*/React.createElement(MessageBar, {
52
+ messages: [{
53
+ message: MESSAGE6,
54
+ translated: false
55
+ }, {
56
+ message: MESSAGE7,
57
+ messageParams: {
58
+ myCustomParam1: '-> TEST-VALUE #1 <-',
59
+ myCustomParam2: '-> TEST-VALUE #2 <-'
60
+ },
61
+ translated: false
62
+ }]
63
+ }));
64
+ expect(wrapper).toMatchSnapshot();
65
+ });
66
+ it('should render with custom classNames', () => {
67
+ const wrapper = mount(/*#__PURE__*/React.createElement(MessageBar, {
68
+ messages: [{
69
+ message: MESSAGE1
70
+ }],
71
+ classNames: {
72
+ container: 'cls-container',
73
+ message: 'cls-message'
74
+ }
75
+ }));
76
+ expect(wrapper).toMatchSnapshot();
77
+ });
78
+ });
79
+ });
@@ -1 +1,38 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors,variables=themeConfig.variables;var container=css({background:colors.background,display:'flex',flexDirection:'column',flexShrink:0}).toString();var messageBase={padding:"".concat(variables.gap.small,"px ").concat(variables.gap.big,"px"),fontSize:'0.875rem',fontWeight:500,':not(:last-child)':{marginBottom:variables.gap.small*0.5}};var info=css(messageBase,{background:"var(--color-secondary, ".concat(colors.accent,")"),color:"var(--color-secondary-contrast, ".concat(colors.accentContrast,")")}).toString();var error=css(messageBase,{background:colors.error,color:colors.light}).toString();var warning=css(messageBase,{background:colors.warning,color:colors.light}).toString();export default{container:container,info:info,error:error,warning:warning};
1
+ import { css } from 'glamor';
2
+ import { themeConfig } from '@shopgate/pwa-common/helpers/config';
3
+ const {
4
+ colors,
5
+ variables
6
+ } = themeConfig;
7
+ const container = css({
8
+ background: colors.background,
9
+ display: 'flex',
10
+ flexDirection: 'column',
11
+ flexShrink: 0
12
+ }).toString();
13
+ const messageBase = {
14
+ padding: `${variables.gap.small}px ${variables.gap.big}px`,
15
+ fontSize: '0.875rem',
16
+ fontWeight: 500,
17
+ ':not(:last-child)': {
18
+ marginBottom: variables.gap.small * 0.5
19
+ }
20
+ };
21
+ const info = css(messageBase, {
22
+ background: `var(--color-secondary, ${colors.accent})`,
23
+ color: `var(--color-secondary-contrast, ${colors.accentContrast})`
24
+ }).toString();
25
+ const error = css(messageBase, {
26
+ background: colors.error,
27
+ color: colors.light
28
+ }).toString();
29
+ const warning = css(messageBase, {
30
+ background: colors.warning,
31
+ color: colors.light
32
+ }).toString();
33
+ export default {
34
+ container,
35
+ info,
36
+ error,
37
+ warning
38
+ };
@@ -1,5 +1,133 @@
1
- import React,{useMemo}from'react';import PropTypes from'prop-types';import CryptoJs from'crypto-js';import styles from"./style";/**
1
+ import React, { useMemo } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import CryptoJs from 'crypto-js';
4
+ import styles from "./style";
5
+
6
+ /**
2
7
  * The no search results icon component.
3
8
  * @param {Object} props Props of the component
4
9
  * @returns {JSX}
5
- */var NoResultIcon=function NoResultIcon(props){var filterId=useMemo(function(){var prefix='no-search-results-shadow';var hash=CryptoJs.MD5("".concat(prefix,"-").concat(Date.now()+Math.random())).toString();return"".concat(prefix,"-").concat(hash);},[]);return React.createElement("svg",{className:props.className,viewBox:"-2698 6977 216 216",xmlns:"http://www.w3.org/2000/svg"},React.createElement("defs",null,React.createElement("filter",{id:filterId,height:"130%"},React.createElement("feGaussianBlur",{"in":"SourceAlpha",stdDeviation:"3"}),React.createElement("feOffset",{dx:"2",dy:"2",result:"offsetblur"}),React.createElement("feComponentTransfer",null,React.createElement("feFuncA",{type:"linear",slope:"0.1"})),React.createElement("feMerge",null,React.createElement("feMergeNode",null),React.createElement("feMergeNode",{"in":"SourceGraphic"})))),React.createElement("g",{transform:"translate(-2770 6819)"},React.createElement("g",{transform:"translate(0 46)"},React.createElement("circle",{className:styles.background,cx:"104",cy:"104",r:"104",transform:"translate(76 116)"})),React.createElement("g",{transform:"translate(-4 42)"},React.createElement("circle",{className:styles.background,cx:"108",cy:"108",r:"108",transform:"translate(76 116)"})),React.createElement("g",null,React.createElement("circle",{className:styles.circle,cx:"104",cy:"104",r:"104",transform:"translate(76 162)"}),React.createElement("circle",{className:styles.circle,cx:"92",cy:"92",r:"92",transform:"translate(88 174)"}),React.createElement("circle",{className:styles.circle,cx:"80",cy:"80",r:"80",transform:"translate(100 186)"})),React.createElement("g",{name:"cloud",filter:"url(#".concat(filterId,")"),transform:"translate(83.6 235.124)"},React.createElement("g",{transform:"matrix(1, 0, 0, 1, 2686.4, -7054.12)"},React.createElement("path",{className:styles.background,d:"M90.216,116.652a24.732,24.732,0,0,1-20.61-10.992,13.394,13.394,0,0,1-7.263-1.374,20,20,0,0,1-7.655,1.767,20.473,20.473,0,0,1-18.255-10.6,20.009,20.009,0,0,1-6.478.981A23.584,23.584,0,0,1,6.4,73.076c0-10.6,6.085-19.236,15.507-22.181V50.11A13.07,13.07,0,0,1,34.862,37.155a13.905,13.905,0,0,1,2.748.2A18.6,18.6,0,0,1,52.724,29.7,19.248,19.248,0,0,1,65.876,35,14.4,14.4,0,0,1,75.1,31.659a13.191,13.191,0,0,1,6.281,1.963,24.851,24.851,0,0,1,40.239,1.767,21.962,21.962,0,0,1,20.61,5.3c.393-.2.589-.393.981-.589a16.9,16.9,0,0,1,7.459-1.963,15.491,15.491,0,0,1,15.311,13.937A22.951,22.951,0,0,1,181.49,64.439c2.944,6.478,2.355,13.544-1.57,20.218a21.266,21.266,0,0,1-18.059,10.011h-.2c-4.122,0-7.459-.785-10.207-2.552a13.109,13.109,0,0,1-7.263.393,24.871,24.871,0,0,1-15.311,15.114,24.1,24.1,0,0,1-18.451-.981A25.762,25.762,0,0,1,90.216,116.652Z",transform:"translate(-2686.4 7054.12)"}))),React.createElement("g",{name:"magnifier",filter:"url(#".concat(filterId,")")},React.createElement("g",{transform:"matrix(1, 0, 0, 1, 2770, -6819)"},React.createElement("rect",{className:styles.magnifier,width:"13.003",height:"3.855",transform:"matrix(0.53, 0.85, -0.85, 0.53, -2613.92, 7029.38)"})),React.createElement("g",{transform:"matrix(1, 0, 0, 1, 2770, -6819)"},React.createElement("rect",{className:styles.magnifier,width:"3.855",height:"13.003",transform:"translate(-2566.07 7029.56) rotate(37.01)"})),React.createElement("g",{transform:"matrix(1, 0, 0, 1, 2770, -6819)"},React.createElement("rect",{className:styles.magnifier,width:"3.856",height:"13.002",transform:"translate(-2592.67 7023)"})),React.createElement("circle",{className:styles.background,cx:"34",cy:"34",r:"34",transform:"translate(147 223)"}),React.createElement("g",{transform:"translate(136 -7)"},React.createElement("g",{transform:"translate(10.699 229.942)"},React.createElement("g",{transform:"translate(0 0)"},React.createElement("g",{transform:"matrix(1, 0, 0, 1, 2623.3, -7041.94)"},React.createElement("path",{className:styles.magnifier,d:"M83.335,33.853a34.228,34.228,0,1,0-1.494,49.8l4.482,4.482L84.63,89.829a1.926,1.926,0,0,0,0,2.789l17.032,16.932a1.926,1.926,0,0,0,2.789,0l5.677-5.677a1.926,1.926,0,0,0,0-2.789L93.1,84.152a1.926,1.926,0,0,0-2.789,0l-1.1,1.1-4.482-4.482A34.352,34.352,0,0,0,83.335,33.853Zm22.51,68.625-2.789,2.789L88.912,91.124,91.7,88.335ZM37.718,79.47a30.214,30.214,0,1,1,42.729,0A30.3,30.3,0,0,1,37.718,79.47Z",transform:"translate(-2648.22 7018.1)"})),React.createElement("path",{className:styles.magnifier,d:"M111.291,55.583a1.972,1.972,0,1,0,2.789-2.789,28.585,28.585,0,0,0-40.338-.1,1.972,1.972,0,0,0,2.789,2.789A24.557,24.557,0,0,1,111.291,55.583Z",transform:"translate(-59.748 -38.701)"})))))));};NoResultIcon.defaultProps={className:''};export default NoResultIcon;
10
+ */
11
+ const NoResultIcon = props => {
12
+ const filterId = useMemo(() => {
13
+ const prefix = 'no-search-results-shadow';
14
+ const hash = CryptoJs.MD5(`${prefix}-${Date.now() + Math.random()}`).toString();
15
+ return `${prefix}-${hash}`;
16
+ }, []);
17
+ return /*#__PURE__*/React.createElement("svg", {
18
+ className: props.className,
19
+ viewBox: "-2698 6977 216 216",
20
+ xmlns: "http://www.w3.org/2000/svg"
21
+ }, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("filter", {
22
+ id: filterId,
23
+ height: "130%"
24
+ }, /*#__PURE__*/React.createElement("feGaussianBlur", {
25
+ in: "SourceAlpha",
26
+ stdDeviation: "3"
27
+ }), /*#__PURE__*/React.createElement("feOffset", {
28
+ dx: "2",
29
+ dy: "2",
30
+ result: "offsetblur"
31
+ }), /*#__PURE__*/React.createElement("feComponentTransfer", null, /*#__PURE__*/React.createElement("feFuncA", {
32
+ type: "linear",
33
+ slope: "0.1"
34
+ })), /*#__PURE__*/React.createElement("feMerge", null, /*#__PURE__*/React.createElement("feMergeNode", null), /*#__PURE__*/React.createElement("feMergeNode", {
35
+ in: "SourceGraphic"
36
+ })))), /*#__PURE__*/React.createElement("g", {
37
+ transform: "translate(-2770 6819)"
38
+ }, /*#__PURE__*/React.createElement("g", {
39
+ transform: "translate(0 46)"
40
+ }, /*#__PURE__*/React.createElement("circle", {
41
+ className: styles.background,
42
+ cx: "104",
43
+ cy: "104",
44
+ r: "104",
45
+ transform: "translate(76 116)"
46
+ })), /*#__PURE__*/React.createElement("g", {
47
+ transform: "translate(-4 42)"
48
+ }, /*#__PURE__*/React.createElement("circle", {
49
+ className: styles.background,
50
+ cx: "108",
51
+ cy: "108",
52
+ r: "108",
53
+ transform: "translate(76 116)"
54
+ })), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("circle", {
55
+ className: styles.circle,
56
+ cx: "104",
57
+ cy: "104",
58
+ r: "104",
59
+ transform: "translate(76 162)"
60
+ }), /*#__PURE__*/React.createElement("circle", {
61
+ className: styles.circle,
62
+ cx: "92",
63
+ cy: "92",
64
+ r: "92",
65
+ transform: "translate(88 174)"
66
+ }), /*#__PURE__*/React.createElement("circle", {
67
+ className: styles.circle,
68
+ cx: "80",
69
+ cy: "80",
70
+ r: "80",
71
+ transform: "translate(100 186)"
72
+ })), /*#__PURE__*/React.createElement("g", {
73
+ name: "cloud",
74
+ filter: `url(#${filterId})`,
75
+ transform: "translate(83.6 235.124)"
76
+ }, /*#__PURE__*/React.createElement("g", {
77
+ transform: "matrix(1, 0, 0, 1, 2686.4, -7054.12)"
78
+ }, /*#__PURE__*/React.createElement("path", {
79
+ className: styles.background,
80
+ d: "M90.216,116.652a24.732,24.732,0,0,1-20.61-10.992,13.394,13.394,0,0,1-7.263-1.374,20,20,0,0,1-7.655,1.767,20.473,20.473,0,0,1-18.255-10.6,20.009,20.009,0,0,1-6.478.981A23.584,23.584,0,0,1,6.4,73.076c0-10.6,6.085-19.236,15.507-22.181V50.11A13.07,13.07,0,0,1,34.862,37.155a13.905,13.905,0,0,1,2.748.2A18.6,18.6,0,0,1,52.724,29.7,19.248,19.248,0,0,1,65.876,35,14.4,14.4,0,0,1,75.1,31.659a13.191,13.191,0,0,1,6.281,1.963,24.851,24.851,0,0,1,40.239,1.767,21.962,21.962,0,0,1,20.61,5.3c.393-.2.589-.393.981-.589a16.9,16.9,0,0,1,7.459-1.963,15.491,15.491,0,0,1,15.311,13.937A22.951,22.951,0,0,1,181.49,64.439c2.944,6.478,2.355,13.544-1.57,20.218a21.266,21.266,0,0,1-18.059,10.011h-.2c-4.122,0-7.459-.785-10.207-2.552a13.109,13.109,0,0,1-7.263.393,24.871,24.871,0,0,1-15.311,15.114,24.1,24.1,0,0,1-18.451-.981A25.762,25.762,0,0,1,90.216,116.652Z",
81
+ transform: "translate(-2686.4 7054.12)"
82
+ }))), /*#__PURE__*/React.createElement("g", {
83
+ name: "magnifier",
84
+ filter: `url(#${filterId})`
85
+ }, /*#__PURE__*/React.createElement("g", {
86
+ transform: "matrix(1, 0, 0, 1, 2770, -6819)"
87
+ }, /*#__PURE__*/React.createElement("rect", {
88
+ className: styles.magnifier,
89
+ width: "13.003",
90
+ height: "3.855",
91
+ transform: "matrix(0.53, 0.85, -0.85, 0.53, -2613.92, 7029.38)"
92
+ })), /*#__PURE__*/React.createElement("g", {
93
+ transform: "matrix(1, 0, 0, 1, 2770, -6819)"
94
+ }, /*#__PURE__*/React.createElement("rect", {
95
+ className: styles.magnifier,
96
+ width: "3.855",
97
+ height: "13.003",
98
+ transform: "translate(-2566.07 7029.56) rotate(37.01)"
99
+ })), /*#__PURE__*/React.createElement("g", {
100
+ transform: "matrix(1, 0, 0, 1, 2770, -6819)"
101
+ }, /*#__PURE__*/React.createElement("rect", {
102
+ className: styles.magnifier,
103
+ width: "3.856",
104
+ height: "13.002",
105
+ transform: "translate(-2592.67 7023)"
106
+ })), /*#__PURE__*/React.createElement("circle", {
107
+ className: styles.background,
108
+ cx: "34",
109
+ cy: "34",
110
+ r: "34",
111
+ transform: "translate(147 223)"
112
+ }), /*#__PURE__*/React.createElement("g", {
113
+ transform: "translate(136 -7)"
114
+ }, /*#__PURE__*/React.createElement("g", {
115
+ transform: "translate(10.699 229.942)"
116
+ }, /*#__PURE__*/React.createElement("g", {
117
+ transform: "translate(0 0)"
118
+ }, /*#__PURE__*/React.createElement("g", {
119
+ transform: "matrix(1, 0, 0, 1, 2623.3, -7041.94)"
120
+ }, /*#__PURE__*/React.createElement("path", {
121
+ className: styles.magnifier,
122
+ d: "M83.335,33.853a34.228,34.228,0,1,0-1.494,49.8l4.482,4.482L84.63,89.829a1.926,1.926,0,0,0,0,2.789l17.032,16.932a1.926,1.926,0,0,0,2.789,0l5.677-5.677a1.926,1.926,0,0,0,0-2.789L93.1,84.152a1.926,1.926,0,0,0-2.789,0l-1.1,1.1-4.482-4.482A34.352,34.352,0,0,0,83.335,33.853Zm22.51,68.625-2.789,2.789L88.912,91.124,91.7,88.335ZM37.718,79.47a30.214,30.214,0,1,1,42.729,0A30.3,30.3,0,0,1,37.718,79.47Z",
123
+ transform: "translate(-2648.22 7018.1)"
124
+ })), /*#__PURE__*/React.createElement("path", {
125
+ className: styles.magnifier,
126
+ d: "M111.291,55.583a1.972,1.972,0,1,0,2.789-2.789,28.585,28.585,0,0,0-40.338-.1,1.972,1.972,0,0,0,2.789,2.789A24.557,24.557,0,0,1,111.291,55.583Z",
127
+ transform: "translate(-59.748 -38.701)"
128
+ })))))));
129
+ };
130
+ NoResultIcon.defaultProps = {
131
+ className: ''
132
+ };
133
+ export default NoResultIcon;
@@ -1 +1,17 @@
1
- import{css}from'glamor';import{themeColors}from'@shopgate/pwa-common/helpers/config';var magnifier=css({fill:'currentColor'}).toString();var background=css({fill:themeColors.light}).toString();var circle=css({fill:'currentColor',opacity:0.065}).toString();export default{magnifier:magnifier,background:background,circle:circle};
1
+ import { css } from 'glamor';
2
+ import { themeColors } from '@shopgate/pwa-common/helpers/config';
3
+ const magnifier = css({
4
+ fill: 'currentColor'
5
+ }).toString();
6
+ const background = css({
7
+ fill: themeColors.light
8
+ }).toString();
9
+ const circle = css({
10
+ fill: 'currentColor',
11
+ opacity: 0.065
12
+ }).toString();
13
+ export default {
14
+ magnifier,
15
+ background,
16
+ circle
17
+ };
@@ -1,5 +1,49 @@
1
- import React,{useMemo}from'react';import PropTypes from'prop-types';import classNames from'classnames';import I18n from'@shopgate/pwa-common/components/I18n';import{themeConfig}from'@shopgate/pwa-common/helpers/config';import{svgToDataUrl}from'@shopgate/engage/core';import Icon from"./components/Icon";import styles from"./style";var _ref=themeConfig||{},_ref$svgImages=_ref.svgImages,svgImages=_ref$svgImages===void 0?{}:_ref$svgImages;var _ref2=svgImages||{},_ref2$noResultsImage=_ref2.noResultsImage,noResultsImage=_ref2$noResultsImage===void 0?'':_ref2$noResultsImage;/**
1
+ import React, { useMemo } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import classNames from 'classnames';
4
+ import I18n from '@shopgate/pwa-common/components/I18n';
5
+ import { themeConfig } from '@shopgate/pwa-common/helpers/config';
6
+ import { svgToDataUrl } from '@shopgate/engage/core';
7
+ import Icon from "./components/Icon";
8
+ import styles from "./style";
9
+ const {
10
+ svgImages = {}
11
+ } = themeConfig || {};
12
+ const {
13
+ noResultsImage = ''
14
+ } = svgImages || {};
15
+
16
+ /**
2
17
  * The NoResults component.
3
18
  * @param {Object} props The component props.
4
19
  * @returns {JSX.Element}
5
- */var NoResults=function NoResults(props){var imageSRC=useMemo(function(){return svgToDataUrl(noResultsImage);},[]);return React.createElement("div",{className:classNames(styles.wrapper,props.className,' ui-shared__no-results'),"data-test-id":"noResults"},React.createElement("div",{className:classNames(styles.icon,'no-results__image')},noResultsImage?React.createElement("img",{src:imageSRC,alt:""}):React.createElement(Icon,null)),React.createElement("div",{role:"alert","aria-atomic":"true"},React.createElement("div",{className:styles.headline},React.createElement(I18n.Text,{string:props.headlineText,params:props})),React.createElement("div",{className:styles.text},React.createElement(I18n.Text,{string:props.bodyText,params:props}))));};NoResults.defaultProps={className:null};export default NoResults;
20
+ */
21
+ const NoResults = props => {
22
+ const imageSRC = useMemo(() => svgToDataUrl(noResultsImage), []);
23
+ return /*#__PURE__*/React.createElement("div", {
24
+ className: classNames(styles.wrapper, props.className, ' ui-shared__no-results'),
25
+ "data-test-id": "noResults"
26
+ }, /*#__PURE__*/React.createElement("div", {
27
+ className: classNames(styles.icon, 'no-results__image')
28
+ }, noResultsImage ? /*#__PURE__*/React.createElement("img", {
29
+ src: imageSRC,
30
+ alt: ""
31
+ }) : /*#__PURE__*/React.createElement(Icon, null)), /*#__PURE__*/React.createElement("div", {
32
+ role: "alert",
33
+ "aria-atomic": "true"
34
+ }, /*#__PURE__*/React.createElement("div", {
35
+ className: styles.headline
36
+ }, /*#__PURE__*/React.createElement(I18n.Text, {
37
+ string: props.headlineText,
38
+ params: props
39
+ })), /*#__PURE__*/React.createElement("div", {
40
+ className: styles.text
41
+ }, /*#__PURE__*/React.createElement(I18n.Text, {
42
+ string: props.bodyText,
43
+ params: props
44
+ }))));
45
+ };
46
+ NoResults.defaultProps = {
47
+ className: null
48
+ };
49
+ export default NoResults;