@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,21 +1,323 @@
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 ActionListener from"./index";import{ACTION_TYPE_SET_VISIBILITY,ACTION_TYPE_SET_VALUE,ACTION_TYPE_TRANSFORM,ACTION_SET_VALUE_COPY_FROM,ACTION_RULE_TYPE_ONE_OF}from"./constants";jest.mock('@shopgate/pwa-core/helpers',function(){return{logger:{error:function error(){}}};});/**
1
+ import ActionListener from "./index";
2
+ import { ACTION_TYPE_SET_VISIBILITY, ACTION_TYPE_SET_VALUE, ACTION_TYPE_TRANSFORM, ACTION_SET_VALUE_COPY_FROM, ACTION_RULE_TYPE_ONE_OF } from "./constants";
3
+ jest.mock('@shopgate/pwa-core/helpers', () => ({
4
+ logger: {
5
+ error: () => {}
6
+ }
7
+ }));
8
+
9
+ /**
2
10
  * Mock for provinces
3
11
  * @returns {{ST: string}}
4
- */var mockGetProvincesList=function mockGetProvincesList(){return{ST:'State',DF:'Default-State'};};describe('ActionListener',function(){describe('createSetVisibilityHandler',function(){it('should handle visibility changes correctly',function(){// -------------------------------------------------------------------------------------------
5
- var element={id:'province'};var action={type:ACTION_TYPE_SET_VISIBILITY,rules:[{context:'country',type:ACTION_RULE_TYPE_ONE_OF,data:['US']}]};var actionListener=new ActionListener(mockGetProvincesList,{});var handler=actionListener.createSetVisibilityHandler(element,action);var nextState;var expected;// Perform "make visible" test
6
- nextState={formData:{country:'US'}};expected={formData:{country:'US'},elementVisibility:{province:true}};expect(handler({},nextState)).toEqual(expected);// Perform "make invisible" test
7
- nextState={formData:{country:''}};expected={formData:{country:''},elementVisibility:{province:false}};expect(handler({},nextState)).toEqual(expected);});it('should handle call follow up changes correctly when visibility changed',function(){// -------------------------------------------------------------------------------------------
8
- var element={id:'province'};var action={type:ACTION_TYPE_SET_VISIBILITY,rules:[{context:'country',type:ACTION_RULE_TYPE_ONE_OF,data:['US']}]};var actionListener=new ActionListener(mockGetProvincesList,{});var handleVisibility=actionListener.createSetVisibilityHandler(element,action);// Province element is supposed to be hidden and therefore the follow up
9
- var followUpHandler=jest.fn();actionListener.register('province',followUpHandler);var prevState={formData:{province:'to be changed'}};var nextStateBeforeVisibilityChange={formData:{country:'',province:'to be changed'}};var nextStateAfterVisibilityChange={elementVisibility:{province:false},formData:{country:''}};handleVisibility(prevState,nextStateBeforeVisibilityChange);expect(followUpHandler).toHaveBeenCalledWith(prevState,nextStateAfterVisibilityChange);});});describe('updateProvinceElementHandler',function(){it('should select the first province in the list, when country changes and no default is '+'available',function(){// -------------------------------------------------------------------------------------------
10
- var element={id:'province',required:true};var action={type:'update',rules:[{context:'country'}]};var actionListener=new ActionListener(mockGetProvincesList,{});var handler=actionListener.createUpdateProvinceElementHandler(element,action);var prevState={formData:{province:''}};var nextState={formData:{country:'US'}};// eslint-disable-next-line extra-rules/no-single-line-objects
11
- var expected={formData:{country:'US',province:'ST'}};expect(handler(prevState,nextState)).toEqual(expected);});it('should select the default province in the list on country changes when a match with '+'default is available',function(){// -------------------------------------------------------------------------------------------
12
- var provinceElement={id:'province',"default":'DF',required:true};var countryElement={id:'country',"default":'US'};var action={type:'update',rules:[{context:countryElement.id}]};var prevState={};var nextState={formData:_defineProperty({},countryElement.id,countryElement["default"])};var expected={formData:_defineProperty(_defineProperty({},provinceElement.id,provinceElement["default"]),countryElement.id,countryElement["default"])};// Defaults matches the same object structure as 'formData'
13
- var actionListener=new ActionListener(mockGetProvincesList,expected.formData);var handler=actionListener.createUpdateProvinceElementHandler(provinceElement,action);// Expects the handler to take over the defaults in this test
14
- expect(handler(prevState,nextState)).toEqual(expected);});});describe('setValueHandler',function(){it('should create copy the referenced element value into the current element',function(){// -------------------------------------------------------------------------------------------
15
- var element={id:'street2'};var action={type:ACTION_TYPE_SET_VALUE,params:{type:ACTION_SET_VALUE_COPY_FROM,value:'street'}};var actionListener=new ActionListener(mockGetProvincesList,{});var handler=actionListener.createSetValueHandler(element,action);// eslint-disable-next-line extra-rules/no-single-line-objects
16
- var prevState={formData:{street:'',street2:''}};// eslint-disable-next-line extra-rules/no-single-line-objects
17
- var nextState={formData:{street:'Street 1',street2:''}};// eslint-disable-next-line extra-rules/no-single-line-objects
18
- var expected={formData:{street:'Street 1',street2:'Street 1'}};expect(handler(prevState,nextState)).toEqual(expected);});});describe('transformHandler',function(){it('should apply the transformHandler correctly for "String" operations',function(){// -------------------------------------------------------------------------------------------
19
- var element={id:'street'};var action={type:ACTION_TYPE_TRANSFORM,params:{type:'toUpperCase'}};var actionListener=new ActionListener(mockGetProvincesList,{});var handler=actionListener.createTransformHandler(element,action);var prevState={formData:{street:''}};var nextState={formData:{street:'Street'}};var expected={formData:{street:'STREET'}};expect(handler(prevState,nextState)).toEqual(expected);});it('should apply the transformHandler correctly for "Boolean" operations',function(){// -------------------------------------------------------------------------------------------
20
- var element={id:'boolTest'};var action={type:ACTION_TYPE_TRANSFORM,params:{type:'toString'}};var actionListener=new ActionListener(mockGetProvincesList,{});var handler=actionListener.createTransformHandler(element,action);var prevState={formData:{boolTest:true}};var nextState={formData:{boolTest:true}};var expected={formData:{boolTest:'true'}};expect(handler(prevState,nextState)).toEqual(expected);});it('should apply the transformHandler correctly for "Number" operations',function(){// -------------------------------------------------------------------------------------------
21
- var element={id:'numberTest'};var action={type:ACTION_TYPE_TRANSFORM,params:{type:'isInteger'}};var actionListener=new ActionListener(mockGetProvincesList,{});var handler=actionListener.createTransformHandler(element,action);var prevState={formData:{numberTest:7.88}};var nextState={formData:{numberTest:7.88}};var expected={formData:{numberTest:false}};expect(handler(prevState,nextState)).toEqual(expected);});});});
12
+ */
13
+ const mockGetProvincesList = () => ({
14
+ ST: 'State',
15
+ DF: 'Default-State'
16
+ });
17
+ describe('ActionListener', () => {
18
+ describe('createSetVisibilityHandler', () => {
19
+ it('should handle visibility changes correctly', () => {
20
+ // -------------------------------------------------------------------------------------------
21
+
22
+ const element = {
23
+ id: 'province'
24
+ };
25
+ const action = {
26
+ type: ACTION_TYPE_SET_VISIBILITY,
27
+ rules: [{
28
+ context: 'country',
29
+ type: ACTION_RULE_TYPE_ONE_OF,
30
+ data: ['US']
31
+ }]
32
+ };
33
+ const actionListener = new ActionListener(mockGetProvincesList, {});
34
+ const handler = actionListener.createSetVisibilityHandler(element, action);
35
+ let nextState;
36
+ let expected;
37
+
38
+ // Perform "make visible" test
39
+ nextState = {
40
+ formData: {
41
+ country: 'US'
42
+ }
43
+ };
44
+ expected = {
45
+ formData: {
46
+ country: 'US'
47
+ },
48
+ elementVisibility: {
49
+ province: true
50
+ }
51
+ };
52
+ expect(handler({}, nextState)).toEqual(expected);
53
+
54
+ // Perform "make invisible" test
55
+ nextState = {
56
+ formData: {
57
+ country: ''
58
+ }
59
+ };
60
+ expected = {
61
+ formData: {
62
+ country: ''
63
+ },
64
+ elementVisibility: {
65
+ province: false
66
+ }
67
+ };
68
+ expect(handler({}, nextState)).toEqual(expected);
69
+ });
70
+ it('should handle call follow up changes correctly when visibility changed', () => {
71
+ // -------------------------------------------------------------------------------------------
72
+
73
+ const element = {
74
+ id: 'province'
75
+ };
76
+ const action = {
77
+ type: ACTION_TYPE_SET_VISIBILITY,
78
+ rules: [{
79
+ context: 'country',
80
+ type: ACTION_RULE_TYPE_ONE_OF,
81
+ data: ['US']
82
+ }]
83
+ };
84
+ const actionListener = new ActionListener(mockGetProvincesList, {});
85
+ const handleVisibility = actionListener.createSetVisibilityHandler(element, action);
86
+
87
+ // Province element is supposed to be hidden and therefore the follow up
88
+ const followUpHandler = jest.fn();
89
+ actionListener.register('province', followUpHandler);
90
+ const prevState = {
91
+ formData: {
92
+ province: 'to be changed'
93
+ }
94
+ };
95
+ const nextStateBeforeVisibilityChange = {
96
+ formData: {
97
+ country: '',
98
+ province: 'to be changed'
99
+ }
100
+ };
101
+ const nextStateAfterVisibilityChange = {
102
+ elementVisibility: {
103
+ province: false
104
+ },
105
+ formData: {
106
+ country: ''
107
+ }
108
+ };
109
+ handleVisibility(prevState, nextStateBeforeVisibilityChange);
110
+ expect(followUpHandler).toHaveBeenCalledWith(prevState, nextStateAfterVisibilityChange);
111
+ });
112
+ });
113
+ describe('updateProvinceElementHandler', () => {
114
+ it('should select the first province in the list, when country changes and no default is ' + 'available', () => {
115
+ // -------------------------------------------------------------------------------------------
116
+
117
+ const element = {
118
+ id: 'province',
119
+ required: true
120
+ };
121
+ const action = {
122
+ type: 'update',
123
+ rules: [{
124
+ context: 'country'
125
+ }]
126
+ };
127
+ const actionListener = new ActionListener(mockGetProvincesList, {});
128
+ const handler = actionListener.createUpdateProvinceElementHandler(element, action);
129
+ const prevState = {
130
+ formData: {
131
+ province: ''
132
+ }
133
+ };
134
+ const nextState = {
135
+ formData: {
136
+ country: 'US'
137
+ }
138
+ };
139
+ // eslint-disable-next-line extra-rules/no-single-line-objects
140
+ const expected = {
141
+ formData: {
142
+ country: 'US',
143
+ province: 'ST'
144
+ }
145
+ };
146
+ expect(handler(prevState, nextState)).toEqual(expected);
147
+ });
148
+ it('should select the default province in the list on country changes when a match with ' + 'default is available', () => {
149
+ // -------------------------------------------------------------------------------------------
150
+
151
+ const provinceElement = {
152
+ id: 'province',
153
+ default: 'DF',
154
+ required: true
155
+ };
156
+ const countryElement = {
157
+ id: 'country',
158
+ default: 'US'
159
+ };
160
+ const action = {
161
+ type: 'update',
162
+ rules: [{
163
+ context: countryElement.id
164
+ }]
165
+ };
166
+ const prevState = {};
167
+ const nextState = {
168
+ formData: {
169
+ [countryElement.id]: countryElement.default
170
+ }
171
+ };
172
+ const expected = {
173
+ formData: {
174
+ [provinceElement.id]: provinceElement.default,
175
+ [countryElement.id]: countryElement.default
176
+ }
177
+ };
178
+
179
+ // Defaults matches the same object structure as 'formData'
180
+ const actionListener = new ActionListener(mockGetProvincesList, expected.formData);
181
+ const handler = actionListener.createUpdateProvinceElementHandler(provinceElement, action);
182
+
183
+ // Expects the handler to take over the defaults in this test
184
+ expect(handler(prevState, nextState)).toEqual(expected);
185
+ });
186
+ });
187
+ describe('setValueHandler', () => {
188
+ it('should create copy the referenced element value into the current element', () => {
189
+ // -------------------------------------------------------------------------------------------
190
+
191
+ const element = {
192
+ id: 'street2'
193
+ };
194
+ const action = {
195
+ type: ACTION_TYPE_SET_VALUE,
196
+ params: {
197
+ type: ACTION_SET_VALUE_COPY_FROM,
198
+ value: 'street'
199
+ }
200
+ };
201
+ const actionListener = new ActionListener(mockGetProvincesList, {});
202
+ const handler = actionListener.createSetValueHandler(element, action);
203
+
204
+ // eslint-disable-next-line extra-rules/no-single-line-objects
205
+ const prevState = {
206
+ formData: {
207
+ street: '',
208
+ street2: ''
209
+ }
210
+ };
211
+ // eslint-disable-next-line extra-rules/no-single-line-objects
212
+ const nextState = {
213
+ formData: {
214
+ street: 'Street 1',
215
+ street2: ''
216
+ }
217
+ };
218
+ // eslint-disable-next-line extra-rules/no-single-line-objects
219
+ const expected = {
220
+ formData: {
221
+ street: 'Street 1',
222
+ street2: 'Street 1'
223
+ }
224
+ };
225
+ expect(handler(prevState, nextState)).toEqual(expected);
226
+ });
227
+ });
228
+ describe('transformHandler', () => {
229
+ it('should apply the transformHandler correctly for "String" operations', () => {
230
+ // -------------------------------------------------------------------------------------------
231
+
232
+ const element = {
233
+ id: 'street'
234
+ };
235
+ const action = {
236
+ type: ACTION_TYPE_TRANSFORM,
237
+ params: {
238
+ type: 'toUpperCase'
239
+ }
240
+ };
241
+ const actionListener = new ActionListener(mockGetProvincesList, {});
242
+ const handler = actionListener.createTransformHandler(element, action);
243
+ const prevState = {
244
+ formData: {
245
+ street: ''
246
+ }
247
+ };
248
+ const nextState = {
249
+ formData: {
250
+ street: 'Street'
251
+ }
252
+ };
253
+ const expected = {
254
+ formData: {
255
+ street: 'STREET'
256
+ }
257
+ };
258
+ expect(handler(prevState, nextState)).toEqual(expected);
259
+ });
260
+ it('should apply the transformHandler correctly for "Boolean" operations', () => {
261
+ // -------------------------------------------------------------------------------------------
262
+
263
+ const element = {
264
+ id: 'boolTest'
265
+ };
266
+ const action = {
267
+ type: ACTION_TYPE_TRANSFORM,
268
+ params: {
269
+ type: 'toString'
270
+ }
271
+ };
272
+ const actionListener = new ActionListener(mockGetProvincesList, {});
273
+ const handler = actionListener.createTransformHandler(element, action);
274
+ const prevState = {
275
+ formData: {
276
+ boolTest: true
277
+ }
278
+ };
279
+ const nextState = {
280
+ formData: {
281
+ boolTest: true
282
+ }
283
+ };
284
+ const expected = {
285
+ formData: {
286
+ boolTest: 'true'
287
+ }
288
+ };
289
+ expect(handler(prevState, nextState)).toEqual(expected);
290
+ });
291
+ it('should apply the transformHandler correctly for "Number" operations', () => {
292
+ // -------------------------------------------------------------------------------------------
293
+
294
+ const element = {
295
+ id: 'numberTest'
296
+ };
297
+ const action = {
298
+ type: ACTION_TYPE_TRANSFORM,
299
+ params: {
300
+ type: 'isInteger'
301
+ }
302
+ };
303
+ const actionListener = new ActionListener(mockGetProvincesList, {});
304
+ const handler = actionListener.createTransformHandler(element, action);
305
+ const prevState = {
306
+ formData: {
307
+ numberTest: 7.88
308
+ }
309
+ };
310
+ const nextState = {
311
+ formData: {
312
+ numberTest: 7.88
313
+ }
314
+ };
315
+ const expected = {
316
+ formData: {
317
+ numberTest: false
318
+ }
319
+ };
320
+ expect(handler(prevState, nextState)).toEqual(expected);
321
+ });
322
+ });
323
+ });
@@ -1,7 +1,39 @@
1
- function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}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,{PureComponent}from'react';import PropTypes from'prop-types';import Checkbox from"../../Checkbox";/**
1
+ import React, { PureComponent } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Checkbox from "../../Checkbox";
4
+
5
+ /**
2
6
  * Takes an element and renders it, if the type matches
3
7
  * @param {Object} element The data of the element to be rendered
4
8
  * @returns {JSX}
5
- */var CheckboxElement=/*#__PURE__*/function(_PureComponent){function CheckboxElement(){_classCallCheck(this,CheckboxElement);return _callSuper(this,CheckboxElement,arguments);}_inherits(CheckboxElement,_PureComponent);return _createClass(CheckboxElement,[{key:"render",value:/**
9
+ */
10
+ class CheckboxElement extends PureComponent {
11
+ /**
6
12
  * @returns {JSX}
7
- */function render(){var _this$props=this.props,element=_this$props.element,style=_this$props.style,errorText=_this$props.errorText,value=_this$props.value,name=_this$props.name;return React.createElement(Checkbox,{name:name,errorText:errorText,checked:value,className:style.fields,label:element.label,onChange:element.handleChange,translateErrorText:false});}}]);}(PureComponent);_defineProperty(CheckboxElement,"defaultProps",{value:false,style:{fields:''}});export default CheckboxElement;
13
+ */
14
+ render() {
15
+ const {
16
+ element,
17
+ style,
18
+ errorText,
19
+ value,
20
+ name
21
+ } = this.props;
22
+ return /*#__PURE__*/React.createElement(Checkbox, {
23
+ name: name,
24
+ errorText: errorText,
25
+ checked: value,
26
+ className: style.fields,
27
+ label: element.label,
28
+ onChange: element.handleChange,
29
+ translateErrorText: false
30
+ });
31
+ }
32
+ }
33
+ CheckboxElement.defaultProps = {
34
+ value: false,
35
+ style: {
36
+ fields: ''
37
+ }
38
+ };
39
+ export default CheckboxElement;
@@ -1,7 +1,44 @@
1
- function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}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,{PureComponent}from'react';import PropTypes from'prop-types';import Select from"../../Select";/**
1
+ import React, { PureComponent } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Select from "../../Select";
4
+
5
+ /**
2
6
  * React component that takes the element and additional data and renders a select box
3
7
  * with a list of countries to select from.
4
8
  * @returns {JSX}
5
- */var CountryElement=/*#__PURE__*/function(_PureComponent){function CountryElement(){_classCallCheck(this,CountryElement);return _callSuper(this,CountryElement,arguments);}_inherits(CountryElement,_PureComponent);return _createClass(CountryElement,[{key:"render",value:/**
9
+ */
10
+ class CountryElement extends PureComponent {
11
+ /**
6
12
  * @returns {JSX}
7
- */function render(){var _this$props=this.props,countryList=_this$props.countryList,element=_this$props.element,errorText=_this$props.errorText,name=_this$props.name,style=_this$props.style,value=_this$props.value;return React.createElement(Select,{name:name,className:style.fields,label:element.label,placeholder:element.placeholder,value:value,options:countryList,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false});}}]);}(PureComponent);_defineProperty(CountryElement,"defaultProps",{countryList:{},value:'',style:{fields:''}});export default CountryElement;
13
+ */
14
+ render() {
15
+ const {
16
+ countryList,
17
+ element,
18
+ errorText,
19
+ name,
20
+ style,
21
+ value
22
+ } = this.props;
23
+ return /*#__PURE__*/React.createElement(Select, {
24
+ name: name,
25
+ className: style.fields,
26
+ label: element.label,
27
+ placeholder: element.placeholder,
28
+ value: value,
29
+ options: countryList,
30
+ onChange: element.handleChange,
31
+ errorText: errorText,
32
+ isControlled: true,
33
+ translateErrorText: false
34
+ });
35
+ }
36
+ }
37
+ CountryElement.defaultProps = {
38
+ countryList: {},
39
+ value: '',
40
+ style: {
41
+ fields: ''
42
+ }
43
+ };
44
+ export default CountryElement;
@@ -1,7 +1,44 @@
1
- function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}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,{PureComponent}from'react';import PropTypes from'prop-types';import Select from"../../Select";/**
1
+ import React, { PureComponent } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Select from "../../Select";
4
+
5
+ /**
2
6
  * React component that takes the element and additional data and renders a select box
3
7
  * with a list of provinces to select from.
4
8
  * @returns {JSX}
5
- */var ProvinceElement=/*#__PURE__*/function(_PureComponent){function ProvinceElement(){_classCallCheck(this,ProvinceElement);return _callSuper(this,ProvinceElement,arguments);}_inherits(ProvinceElement,_PureComponent);return _createClass(ProvinceElement,[{key:"render",value:/**
9
+ */
10
+ class ProvinceElement extends PureComponent {
11
+ /**
6
12
  * @returns {JSX}
7
- */function render(){var _this$props=this.props,provincesList=_this$props.provincesList,element=_this$props.element,errorText=_this$props.errorText,name=_this$props.name,style=_this$props.style,value=_this$props.value;return React.createElement(Select,{name:name,className:style.fields,label:element.label,placeholder:element.placeholder,value:value,options:provincesList,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false});}}]);}(PureComponent);_defineProperty(ProvinceElement,"defaultProps",{provincesList:{},value:'',style:{fields:''}});export default ProvinceElement;
13
+ */
14
+ render() {
15
+ const {
16
+ provincesList,
17
+ element,
18
+ errorText,
19
+ name,
20
+ style,
21
+ value
22
+ } = this.props;
23
+ return /*#__PURE__*/React.createElement(Select, {
24
+ name: name,
25
+ className: style.fields,
26
+ label: element.label,
27
+ placeholder: element.placeholder,
28
+ value: value,
29
+ options: provincesList,
30
+ onChange: element.handleChange,
31
+ errorText: errorText,
32
+ isControlled: true,
33
+ translateErrorText: false
34
+ });
35
+ }
36
+ }
37
+ ProvinceElement.defaultProps = {
38
+ provincesList: {},
39
+ value: '',
40
+ style: {
41
+ fields: ''
42
+ }
43
+ };
44
+ export default ProvinceElement;
@@ -1,7 +1,45 @@
1
- function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}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,{PureComponent}from'react';import PropTypes from'prop-types';import RadioGroup from"../../RadioGroup";import RadioItem from"../../RadioGroup/components/Item";/**
1
+ import React, { PureComponent } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import RadioGroup from "../../RadioGroup";
4
+ import RadioItem from "../../RadioGroup/components/Item";
5
+
6
+ /**
2
7
  * React component that takes the element and additional data and renders a radio group
3
8
  * with a list of radio items.
4
9
  * @returns {JSX}
5
- */var RadioElement=/*#__PURE__*/function(_PureComponent){function RadioElement(){_classCallCheck(this,RadioElement);return _callSuper(this,RadioElement,arguments);}_inherits(RadioElement,_PureComponent);return _createClass(RadioElement,[{key:"render",value:/**
10
+ */
11
+ class RadioElement extends PureComponent {
12
+ /**
6
13
  * @returns {JSX}
7
- */function render(){var _this$props=this.props,element=_this$props.element,errorText=_this$props.errorText,name=_this$props.name,style=_this$props.style,value=_this$props.value;return React.createElement(RadioGroup,{name:name,className:style.fields,label:element.label,value:value,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false},Object.keys(element.options).map(function(itemName){return React.createElement(RadioItem,{key:itemName,name:itemName,label:element.options[itemName]});}));}}]);}(PureComponent);_defineProperty(RadioElement,"defaultProps",{value:'',style:{fields:''}});export default RadioElement;
14
+ */
15
+ render() {
16
+ const {
17
+ element,
18
+ errorText,
19
+ name,
20
+ style,
21
+ value
22
+ } = this.props;
23
+ return /*#__PURE__*/React.createElement(RadioGroup, {
24
+ name: name,
25
+ className: style.fields,
26
+ label: element.label,
27
+ value: value,
28
+ onChange: element.handleChange,
29
+ errorText: errorText,
30
+ isControlled: true,
31
+ translateErrorText: false
32
+ }, Object.keys(element.options).map(itemName => /*#__PURE__*/React.createElement(RadioItem, {
33
+ key: itemName,
34
+ name: itemName,
35
+ label: element.options[itemName]
36
+ })));
37
+ }
38
+ }
39
+ RadioElement.defaultProps = {
40
+ value: '',
41
+ style: {
42
+ fields: ''
43
+ }
44
+ };
45
+ export default RadioElement;
@@ -1,6 +1,42 @@
1
- function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}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,{PureComponent,Fragment}from'react';import PropTypes from'prop-types';import Chevron from"../../../icons/CheckIcon";import Select from"../../Select";/**
1
+ import React, { PureComponent, Fragment } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Chevron from "../../../icons/CheckIcon";
4
+ import Select from "../../Select";
5
+
6
+ /**
2
7
  * React component that takes the element and additional data and renders a configured select box.
3
8
  * @returns {JSX}
4
- */var SelectElement=/*#__PURE__*/function(_PureComponent){function SelectElement(){_classCallCheck(this,SelectElement);return _callSuper(this,SelectElement,arguments);}_inherits(SelectElement,_PureComponent);return _createClass(SelectElement,[{key:"render",value:/**
9
+ */
10
+ class SelectElement extends PureComponent {
11
+ /**
5
12
  * @returns {JSX}
6
- */function render(){var _this$props=this.props,element=_this$props.element,errorText=_this$props.errorText,name=_this$props.name,style=_this$props.style,value=_this$props.value;return React.createElement(Fragment,null,React.createElement(Select,{name:name,className:style.fields,label:element.label,placeholder:element.placeholder,value:value,options:element.options,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false}),React.createElement(Chevron,null));}}]);}(PureComponent);_defineProperty(SelectElement,"defaultProps",{value:'',style:{fields:''}});export default SelectElement;
13
+ */
14
+ render() {
15
+ const {
16
+ element,
17
+ errorText,
18
+ name,
19
+ style,
20
+ value
21
+ } = this.props;
22
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Select, {
23
+ name: name,
24
+ className: style.fields,
25
+ label: element.label,
26
+ placeholder: element.placeholder,
27
+ value: value,
28
+ options: element.options,
29
+ onChange: element.handleChange,
30
+ errorText: errorText,
31
+ isControlled: true,
32
+ translateErrorText: false
33
+ }), /*#__PURE__*/React.createElement(Chevron, null));
34
+ }
35
+ }
36
+ SelectElement.defaultProps = {
37
+ value: '',
38
+ style: {
39
+ fields: ''
40
+ }
41
+ };
42
+ export default SelectElement;