@configuratorware/configurator-frontendgui 1.41.1 → 1.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. package/App/Constant.js +2 -3
  2. package/App/Error/DevelopmentErrorPage/index.js +4 -19
  3. package/App/Error/ErrorBoundary.js +13 -43
  4. package/App/Error/ProductionErrorPage/index.js +2 -11
  5. package/App/Error/ProductionErrorPage/index.story.js +0 -4
  6. package/App/Frame.js +10 -43
  7. package/App/Modules/Creator/Components/ConfigurationvariantItem/index.js +15 -58
  8. package/App/Modules/Creator/Components/ConfigurationvariantSelection/index.js +20 -60
  9. package/App/Modules/Creator/Components/CustomTitleEditor/index.js +15 -64
  10. package/App/Modules/Creator/Components/ExternalVisualization/index.js +19 -47
  11. package/App/Modules/Creator/Components/FastConfiguration/SelectableRow.js +10 -37
  12. package/App/Modules/Creator/Components/FastConfiguration/index.js +37 -101
  13. package/App/Modules/Creator/Components/FastConfigurationRow/index.js +12 -38
  14. package/App/Modules/Creator/Components/FastConfigurationSelect/index.js +29 -85
  15. package/App/Modules/Creator/Components/FormattedNumber/index.js +1 -17
  16. package/App/Modules/Creator/Components/FormattedPrice/index.js +1 -19
  17. package/App/Modules/Creator/Components/FullScreenView/FullScreenView.js +17 -36
  18. package/App/Modules/Creator/Components/Incompatibility/OptionExclusionRule/index.js +24 -61
  19. package/App/Modules/Creator/Components/Incompatibility/OptionRule/index.js +24 -60
  20. package/App/Modules/Creator/Components/Incompatibility/RuleComponent.js +12 -45
  21. package/App/Modules/Creator/Components/Incompatibility/index.js +28 -89
  22. package/App/Modules/Creator/Components/InvalidConfigurationNotice/index.js +14 -53
  23. package/App/Modules/Creator/Components/LoginForm/index.js +14 -52
  24. package/App/Modules/Creator/Components/Option/index.js +53 -155
  25. package/App/Modules/Creator/Components/Option/index.story.js +6 -17
  26. package/App/Modules/Creator/Components/OptionAmount/index.js +33 -74
  27. package/App/Modules/Creator/Components/OptionGroup/index.js +10 -23
  28. package/App/Modules/Creator/Components/Optiondetail/ZoomImage/index.js +26 -68
  29. package/App/Modules/Creator/Components/Optiondetail/index.js +44 -129
  30. package/App/Modules/Creator/Components/Optiondetail/index.story.js +11 -72
  31. package/App/Modules/Creator/Components/Optiondetail/index.test.mocks.js +56 -0
  32. package/App/Modules/Creator/Components/OptionsList/index.js +31 -81
  33. package/App/Modules/Creator/Components/Price/index.js +12 -40
  34. package/App/Modules/Creator/Components/ProductPart/index.js +14 -46
  35. package/App/Modules/Creator/Components/ProductPart/index.story.js +6 -17
  36. package/App/Modules/Creator/Components/ProductPartsList/index.js +25 -68
  37. package/App/Modules/Creator/Components/ProductPartsList/index.story.js +6 -21
  38. package/App/Modules/Creator/Components/SavedConfiguration/index.js +13 -45
  39. package/App/Modules/Creator/Components/ShareConfiguration/index.js +31 -90
  40. package/App/Modules/Creator/Components/StockInformation/index.js +13 -44
  41. package/App/Modules/Creator/Components/StoreConfigurationForm/index.js +15 -52
  42. package/App/Modules/Creator/Components/Tools/index.js +11 -45
  43. package/App/Modules/Creator/Components/ValidationResult/index.js +16 -62
  44. package/App/Modules/Creator/Components/index.js +2 -29
  45. package/App/Modules/Creator/Containers/AmountPrice/index.js +3 -12
  46. package/App/Modules/Creator/Containers/ConfigurationvariantSelection/index.js +5 -19
  47. package/App/Modules/Creator/Containers/CustomTitleEditor/index.js +4 -19
  48. package/App/Modules/Creator/Containers/FastConfiguration/index.js +6 -20
  49. package/App/Modules/Creator/Containers/FormattedPrice/index.js +4 -13
  50. package/App/Modules/Creator/Containers/Incompatibility/index.js +2 -12
  51. package/App/Modules/Creator/Containers/InvalidConfigurationNotice/index.js +8 -31
  52. package/App/Modules/Creator/Containers/LoadingOverlay/index.js +2 -9
  53. package/App/Modules/Creator/Containers/Optiondetail/index.js +7 -18
  54. package/App/Modules/Creator/Containers/OptionsList/index.js +3 -15
  55. package/App/Modules/Creator/Containers/ProductPart/index.js +1 -9
  56. package/App/Modules/Creator/Containers/ProductPartsList/index.js +3 -16
  57. package/App/Modules/Creator/Containers/SavedConfigurationContainer/index.js +1 -8
  58. package/App/Modules/Creator/Containers/ShareConfiguration/index.js +2 -10
  59. package/App/Modules/Creator/Containers/StockInformation/index.js +2 -10
  60. package/App/Modules/Creator/Containers/Tools/index.js +1 -10
  61. package/App/Modules/Creator/Containers/ValidationResult/index.js +2 -10
  62. package/App/Modules/Creator/Containers/index.js +42 -64
  63. package/App/Modules/Creator/CreatorScreen.js +45 -121
  64. package/App/Modules/Creator/Layouts/DefaultLayout.js +21 -50
  65. package/App/Modules/Designer/Components/AddGalleryImage/index.js +31 -92
  66. package/App/Modules/Designer/Components/AddGalleryImage/index.story.js +9 -22
  67. package/App/Modules/Designer/Components/AddGalleryImage/index.test.js +13 -35
  68. package/App/Modules/Designer/Components/AddVisualElement/index.js +30 -86
  69. package/App/Modules/Designer/Components/AddVisualElement/index.story.js +0 -5
  70. package/App/Modules/Designer/Components/AddVisualElement/index.test.js +12 -15
  71. package/App/Modules/Designer/Components/CloseDesignEditor/index.js +18 -51
  72. package/App/Modules/Designer/Components/CloseGraphicsEditorButton/index.js +7 -17
  73. package/App/Modules/Designer/Components/ColorPalettes/ColorPalettesSearch.js +20 -57
  74. package/App/Modules/Designer/Components/ColorPalettes/index.js +62 -178
  75. package/App/Modules/Designer/Components/ColorPalettes/index.story.js +0 -8
  76. package/App/Modules/Designer/Components/ColorPalettes/index.test.js +7 -11
  77. package/App/Modules/Designer/Components/DesignAreaControlbox/index.js +35 -108
  78. package/App/Modules/Designer/Components/DesignAreaControlbox/index.story.js +0 -8
  79. package/App/Modules/Designer/Components/DesignAreaControlbox/index.test.js +15 -23
  80. package/App/Modules/Designer/Components/DesignerSelectionToolbox/CustomFontOverlay.js +18 -51
  81. package/App/Modules/Designer/Components/DesignerSelectionToolbox/DesignerSelectionToolbox.js +53 -150
  82. package/App/Modules/Designer/Components/DesignerSelectionToolbox/fontItemUtils.js +10 -20
  83. package/App/Modules/Designer/Components/Dialog/index.js +21 -63
  84. package/App/Modules/Designer/Components/EditDesignButton/index.js +20 -43
  85. package/App/Modules/Designer/Components/FeedbackNotice/index.js +17 -53
  86. package/App/Modules/Designer/Components/FeedbackNotice/index.test.js +0 -4
  87. package/App/Modules/Designer/Components/FullScreenView/FullScreenView.js +6 -14
  88. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.dev.js +5 -14
  89. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.js +42 -137
  90. package/App/Modules/Designer/Components/ImageColorize/index.js +54 -177
  91. package/App/Modules/Designer/Components/ImageColorize/index.story.js +2 -6
  92. package/App/Modules/Designer/Components/ImageControlbox/index.js +27 -90
  93. package/App/Modules/Designer/Components/ImageEditDialog/ImageThumbnail.js +26 -71
  94. package/App/Modules/Designer/Components/ImageEditDialog/ImageUpload.js +138 -170
  95. package/App/Modules/Designer/Components/ImageEditDialog/index.js +55 -168
  96. package/App/Modules/Designer/Components/ImageLibraryFilter/index.js +20 -61
  97. package/App/Modules/Designer/Components/ImageLibraryThumbnail/index.js +24 -66
  98. package/App/Modules/Designer/Components/ObjectTools/index.js +18 -56
  99. package/App/Modules/Designer/Components/Select/index.js +21 -65
  100. package/App/Modules/Designer/Components/TextControlbox/TextFormatIcon.js +5 -20
  101. package/App/Modules/Designer/Components/TextControlbox/index.js +58 -176
  102. package/App/Modules/Designer/Components/TextControlbox/index.story.js +0 -10
  103. package/App/Modules/Designer/Components/TextControlbox/index.test.js +34 -41
  104. package/App/Modules/Designer/Containers/AddGalleryImage.js +8 -24
  105. package/App/Modules/Designer/Containers/AddVisualElement.js +28 -87
  106. package/App/Modules/Designer/Containers/CloseDesignEditor.js +1 -10
  107. package/App/Modules/Designer/Containers/CloseGraphicsEditorButton.js +1 -10
  108. package/App/Modules/Designer/Containers/ColorPalettes.js +22 -61
  109. package/App/Modules/Designer/Containers/DesignAreaControlbox.js +5 -17
  110. package/App/Modules/Designer/Containers/Designer.js +1 -10
  111. package/App/Modules/Designer/Containers/DesignerSelectionToolbox.js +7 -30
  112. package/App/Modules/Designer/Containers/EditDesignButton.js +1 -11
  113. package/App/Modules/Designer/Containers/ImageEditDialog.js +400 -658
  114. package/App/Modules/Designer/Designer.js +28 -84
  115. package/App/Modules/Designer/DesignerScreen.js +45 -100
  116. package/App/Modules/Designer/DesignerUI.js +31 -87
  117. package/App/Modules/Designer/Layouts/DefaultLayout.js +20 -45
  118. package/App/Modules/Designer/Layouts/Mobile/TwoSideBottomBar.js +4 -16
  119. package/App/Modules/Designer/Layouts/PopupAreaProvider.js +20 -67
  120. package/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +5 -23
  121. package/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +19 -52
  122. package/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +9 -25
  123. package/App/Modules/Designer/Utils/FontFaceRepository.js +8 -30
  124. package/App/Modules/Designer/Utils/ImageEditUtils.js +14 -38
  125. package/App/Modules/Designer/Utils/SvgFixers.js +8 -26
  126. package/App/Modules/Designer/Utils/Transformers.js +54 -112
  127. package/App/Modules/Designer/setupDesigner.js +50 -72
  128. package/App/Modules/Designer/withActiveCanvas.js +22 -70
  129. package/App/Modules/Visualization/AlignTargetContainer.js +8 -19
  130. package/App/Modules/Visualization/CreatorAlignTarget.js +9 -20
  131. package/App/Modules/Visualization/DefaultVisualizationProvider.js +18 -50
  132. package/App/Modules/Visualization/DesignerAlignTarget.js +7 -13
  133. package/App/Modules/Visualization/Utils/getFirstDataURLFromScreenshotsObj.js +0 -3
  134. package/App/Reducers/Actions.js +81 -145
  135. package/App/Reducers/ConfigurationMode/Actions.js +4 -9
  136. package/App/Reducers/ConfigurationMode/Reducer.js +6 -23
  137. package/App/Reducers/ConfigurationMode/Selectors.js +22 -41
  138. package/App/Reducers/Configurator/Actions.js +386 -760
  139. package/App/Reducers/Configurator/AttributeSelectors.js +5 -17
  140. package/App/Reducers/Configurator/Modifiers.js +8 -15
  141. package/App/Reducers/Configurator/Reducer.js +107 -202
  142. package/App/Reducers/Configurator/Selectors.js +46 -119
  143. package/App/Reducers/Confirm/Actions.js +28 -49
  144. package/App/Reducers/Confirm/Reducer.js +1 -9
  145. package/App/Reducers/DesignArea/Actions.js +8 -29
  146. package/App/Reducers/DesignArea/DesignElementSelectors.js +18 -41
  147. package/App/Reducers/DesignArea/MaskSelectors.js +12 -35
  148. package/App/Reducers/DesignArea/Reducer.js +8 -40
  149. package/App/Reducers/DesignArea/Selectors.js +148 -413
  150. package/App/Reducers/DesignArea/Transformers.js +22 -87
  151. package/App/Reducers/DesignData/Actions.js +31 -93
  152. package/App/Reducers/DesignData/Modifiers.js +34 -114
  153. package/App/Reducers/DesignData/Reducer.js +9 -38
  154. package/App/Reducers/DesignData/Selectors.js +17 -50
  155. package/App/Reducers/DesignData/Transformers.js +2 -6
  156. package/App/Reducers/DesignView/Actions.js +3 -7
  157. package/App/Reducers/DesignView/Reducer.js +13 -47
  158. package/App/Reducers/DesignView/Selectors.js +17 -49
  159. package/App/Reducers/DesignView/Transformers.js +0 -3
  160. package/App/Reducers/Device/Actions.js +3 -7
  161. package/App/Reducers/Device/Reducer.js +9 -16
  162. package/App/Reducers/Fonts/Actions.js +12 -45
  163. package/App/Reducers/Fonts/Reducer.js +2 -11
  164. package/App/Reducers/Fonts/Selectors.js +9 -25
  165. package/App/Reducers/GeneralActions.js +3 -7
  166. package/App/Reducers/ImageGallery/Actions.js +97 -189
  167. package/App/Reducers/ImageGallery/Modifiers.js +13 -24
  168. package/App/Reducers/ImageGallery/Reducer.js +29 -98
  169. package/App/Reducers/ImageGallery/Selectors.js +21 -79
  170. package/App/Reducers/Reducer.js +10 -26
  171. package/App/Reducers/UI/Actions.js +73 -113
  172. package/App/Reducers/UI/Reducer.js +17 -26
  173. package/App/Reducers/UI/Selectors.js +3 -12
  174. package/App/Reducers.js +7 -21
  175. package/App/Routing.js +30 -107
  176. package/App/Screens/Configurator/CalculationWidgetScreen.js +10 -39
  177. package/App/Screens/Configurator/Components/AmountSelection/index.js +25 -77
  178. package/App/Screens/Configurator/Components/AmountSelection/index.story.js +0 -8
  179. package/App/Screens/Configurator/Components/CalculationWidget/index.js +53 -154
  180. package/App/Screens/Configurator/Components/CalculationWidget/index.story.js +6 -19
  181. package/App/Screens/Configurator/Components/CalculationWidget/index.test.js +39 -38
  182. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/ConfigurationModeSwitch.js +7 -30
  183. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/index.js +0 -2
  184. package/App/Screens/Configurator/Components/Confirm/index.js +13 -50
  185. package/App/Screens/Configurator/Components/Error/index.js +11 -48
  186. package/App/Screens/Configurator/Components/FallbackVisualization/FallbackVisualization.js +13 -25
  187. package/App/Screens/Configurator/Components/FullScreenView/index.js +37 -116
  188. package/App/Screens/Configurator/Components/FullScreenView/index.test.js +1 -4
  189. package/App/Screens/Configurator/Components/ImageLoader/ImageLoader.js +11 -42
  190. package/App/Screens/Configurator/Components/ItemTile/ItemTile.js +89 -33
  191. package/App/Screens/Configurator/Components/LandscapeInformation/index.js +3 -19
  192. package/App/Screens/Configurator/Components/NoVisualization/NoVisualization.js +3 -11
  193. package/App/Screens/Configurator/Components/PreviewPortal/index.js +29 -81
  194. package/App/Screens/Configurator/Components/Thumbnail/index.js +36 -102
  195. package/App/Screens/Configurator/Components/Thumbnail/index.test.js +0 -4
  196. package/App/Screens/Configurator/Components/TotalPrice/TotalPrice.js +9 -24
  197. package/App/Screens/Configurator/Containers/AmountPrice.js +12 -36
  198. package/App/Screens/Configurator/Containers/CalculationWidget.js +24 -85
  199. package/App/Screens/Configurator/Containers/ConfigurationModeSwitch.js +22 -43
  200. package/App/Screens/Configurator/Containers/Confirm.js +1 -10
  201. package/App/Screens/Configurator/Containers/FallbackVisualization.js +1 -11
  202. package/App/Screens/Configurator/Containers/FullScreenView.js +1 -14
  203. package/App/Screens/Configurator/Containers/Thumbnail.js +1 -13
  204. package/App/Screens/Configurator/Containers/Visualization.js +1 -5
  205. package/App/Screens/Configurator/DynamicComponents.js +8 -22
  206. package/App/Screens/Configurator/Screen.js +31 -70
  207. package/App/Screens/Configurator/ScreenPropTypes.js +2 -6
  208. package/App/Screens/Configurator/ThemeProvider.js +8 -42
  209. package/App/Screens/DesignerProductPreview/Constants.js +4 -7
  210. package/App/Screens/DesignerProductPreview/DesignerProductPreviewManager.js +204 -289
  211. package/App/Screens/DesignerProductPreview/Screen.js +58 -139
  212. package/App/Screens/ItemOverview.js +156 -191
  213. package/App/Screens.js +12 -20
  214. package/App/ServiceLocator.js +26 -51
  215. package/App/Services/AdminareaCommunicationService.js +33 -69
  216. package/App/Services/AnalyticsService.js +13 -40
  217. package/App/Services/ConfiguratorService.js +381 -567
  218. package/App/Services/DesignDataService.js +1448 -2001
  219. package/App/Services/DesignerService.js +290 -350
  220. package/App/Services/InteractionService.js +349 -502
  221. package/App/Services/UIService.js +12 -39
  222. package/App/Services/VisualizationService.js +246 -336
  223. package/App/Shared/Components/AcceptDesign/index.js +27 -70
  224. package/App/Shared/Components/AcceptPrivacy/index.js +21 -58
  225. package/App/Shared/Components/AddToBasket/index.js +31 -81
  226. package/App/Shared/Components/AddToBasket/index.story.js +0 -9
  227. package/App/Shared/Components/AlertDialog/index.js +15 -57
  228. package/App/Shared/Components/AmountInput/index.js +34 -107
  229. package/App/Shared/Components/AmountInput/index.story.js +0 -6
  230. package/App/Shared/Components/AmountPrice/index.js +220 -382
  231. package/App/Shared/Components/AmountPrice/index.story.js +1 -10
  232. package/App/Shared/Components/AmountPrice/index.test.js +6 -12
  233. package/App/Shared/Components/Analytics/AnalyticsWrapper.js +9 -21
  234. package/App/Shared/Components/BulkNames/index.js +28 -92
  235. package/App/Shared/Components/CallToAction/index.js +18 -42
  236. package/App/Shared/Components/ConfigurationOverview/index.js +14 -47
  237. package/App/Shared/Components/Header/Header.js +18 -46
  238. package/App/Shared/Components/Header/index.js +0 -2
  239. package/App/Shared/Components/Header/index.story.js +0 -13
  240. package/App/Shared/Components/InformationTag/InformationTag.js +20 -55
  241. package/App/Shared/Components/LicenseNotice/LicenseNotice.js +20 -54
  242. package/App/Shared/Components/LicenseNotice/index.js +0 -2
  243. package/App/Shared/Components/LoadConfiguration/index.js +47 -82
  244. package/App/Shared/Components/MessageBox/index.js +2 -19
  245. package/App/Shared/Components/MessageBox/index.story.js +0 -7
  246. package/App/Shared/Components/Notification/index.js +18 -53
  247. package/App/Shared/Components/Notification/index.story.js +0 -4
  248. package/App/Shared/Components/PdfDownload/index.js +19 -59
  249. package/App/Shared/Components/PlusMinusInput/index.js +13 -37
  250. package/App/Shared/Components/PriceList/index.js +27 -78
  251. package/App/Shared/Components/PriceList/index.story.js +6 -15
  252. package/App/Shared/Components/PriceOverview/index.js +29 -74
  253. package/App/Shared/Components/PriceOverview/index.story.js +1 -18
  254. package/App/Shared/Components/ProductVariant/Image.js +13 -35
  255. package/App/Shared/Components/ProductVariant/index.js +34 -123
  256. package/App/Shared/Components/ProductVariant/index.story.js +9 -22
  257. package/App/Shared/Components/Progress/Progress.js +6 -15
  258. package/App/Shared/Components/ReceiveOfferForm/index.js +26 -80
  259. package/App/Shared/Components/ReceiveOfferForm/index.story.js +0 -6
  260. package/App/Shared/Components/ReceiveOfferForm/index.test.js +1 -6
  261. package/App/Shared/Components/SaveConfiguration/index.js +26 -83
  262. package/App/Shared/Components/SendEmail/index.js +8 -30
  263. package/App/Shared/Components/Stepper/index.js +19 -56
  264. package/App/Shared/Components/Stepper/index.story.js +0 -5
  265. package/App/Shared/Components/ToolbarList/index.js +23 -69
  266. package/App/Shared/Components/ToolbarList/index.story.js +0 -4
  267. package/App/Shared/Components/VariantChooser/index.js +25 -68
  268. package/App/Shared/Components/VariantChooser/index.story.js +0 -13
  269. package/App/Shared/Containers/AlertMessages.js +1 -11
  270. package/App/Shared/Containers/AmountPrice/AmountPriceAdminareaWrapper.js +4 -17
  271. package/App/Shared/Containers/AmountPrice/index.js +29 -74
  272. package/App/Shared/Containers/BulkNames.js +26 -117
  273. package/App/Shared/Containers/Error.js +1 -11
  274. package/App/Shared/Containers/GlobalLoader.js +1 -9
  275. package/App/Shared/Containers/Header/index.js +22 -57
  276. package/App/Shared/Containers/LicenseNotice/LicenseNotice.js +2 -9
  277. package/App/Shared/Containers/LicenseNotice/index.js +0 -2
  278. package/App/Shared/Containers/LoadConfiguration/LoadConfiguration.js +36 -79
  279. package/App/Shared/Containers/LoadConfiguration/index.js +0 -2
  280. package/App/Shared/Containers/PdfDownload/index.js +2 -11
  281. package/App/Shared/Containers/ProductVariant/ProductVariant.js +59 -144
  282. package/App/Shared/Containers/ProductVariant/index.js +0 -2
  283. package/App/Shared/Containers/SaveConfiguration.js +3 -14
  284. package/App/Shared/Containers/SendEmail/SendEmail.js +3 -15
  285. package/App/Shared/Containers/SendEmail/index.js +0 -2
  286. package/App/Shared/Providers/DefaultCanvasProvider.js +5 -25
  287. package/App/Storage.js +3 -7
  288. package/App/Store.js +17 -38
  289. package/App/Translations.js +29 -43
  290. package/App/Utils/Request/lazyFetch.js +29 -45
  291. package/App/Utils/Request/pathParams.js +2 -7
  292. package/App/Utils/createMessageInterface.js +10 -21
  293. package/App/Utils/customClassName.js +0 -2
  294. package/App/Utils/getContrastText.js +5 -7
  295. package/App/Utils/getImageUrl.js +0 -8
  296. package/App/configuration.js +74 -104
  297. package/App/index.js +7 -29
  298. package/App/initServices.js +9 -32
  299. package/App/setup.js +2 -6
  300. package/Framework/Api.js +19 -41
  301. package/Framework/ComponentContainer.js +28 -76
  302. package/Framework/Components/Carousel/index.js +40 -104
  303. package/Framework/Components/Dialog/index.js +101 -237
  304. package/Framework/Components/DialogSelect/index.js +38 -132
  305. package/Framework/Components/Input/index.js +16 -58
  306. package/Framework/Components/LoadingOverlay/index.js +1 -12
  307. package/Framework/Components/Markdown/index.js +5 -26
  308. package/Framework/Components/Mobile/index.js +5 -13
  309. package/Framework/CustomError.js +13 -29
  310. package/Framework/Helpers/TransitionDetect.js +10 -29
  311. package/Framework/Helpers/isLandscapeMobile.js +0 -3
  312. package/Framework/Helpers/isMobileDevice.js +3 -8
  313. package/Framework/Helpers/isMobileSize.js +1 -4
  314. package/Framework/Services/AbstractAdminareaCommunicationService.js +8 -15
  315. package/Framework/Services/AbstractAsyncService.js +7 -14
  316. package/Framework/Services/AbstractConfiguratorService.js +9 -15
  317. package/Framework/Services/AbstractInteractionService.js +7 -14
  318. package/Framework/Services/AbstractStoreService.js +9 -15
  319. package/Framework/Services/AbstractUIService.js +7 -14
  320. package/Framework/Services/AbstractVisualizationService.js +7 -14
  321. package/Framework/Services/AsyncService.js +11 -33
  322. package/Framework/Services/StoreService.js +43 -92
  323. package/Framework/bindDecorator.js +24 -54
  324. package/Framework/i18n.js +57 -142
  325. package/Resources/Icons/MaterialUI/Icons/AddCircle.js +1 -5
  326. package/Resources/Icons/MaterialUI/Icons/RemoveCircle.js +1 -5
  327. package/Shared/Components/CustomDialog.js +21 -36
  328. package/Shared/Components/CustomDialogSelect.js +17 -47
  329. package/Shared/Components/MainButton.js +14 -33
  330. package/Shared/ErrorTypes/DeferredError.js +13 -31
  331. package/Shared/HOCs/ResizeDetect/ResizeDetect.dev.js +9 -18
  332. package/Shared/HOCs/ResizeDetect/ResizeDetect.js +28 -87
  333. package/Shared/HOCs/getDisplayName.js +0 -1
  334. package/Shared/HOCs/withFixedChangeHandler.js +11 -25
  335. package/Shared/PropTypes/ReactComponent.js +1 -5
  336. package/Shared/Styles/absoluteCenter.js +2 -5
  337. package/Utils/Array/isIdentical.js +3 -12
  338. package/Utils/Async/AsyncManager.js +51 -75
  339. package/Utils/Async/Deferred.js +12 -40
  340. package/Utils/Async/ObjectLock.js +3 -7
  341. package/Utils/Decorators/Observable.js +17 -34
  342. package/Utils/Dev/HOCs/withFilePicker.js +13 -41
  343. package/Utils/Dev/isDev.js +0 -2
  344. package/Utils/Events/pointerEvent.js +14 -47
  345. package/Utils/Events/preventEventDoubling.js +2 -7
  346. package/Utils/Function/cached.js +1 -9
  347. package/Utils/Function/createDebounceManager.js +3 -18
  348. package/Utils/Function/createSelector.js +7 -18
  349. package/Utils/Function/memoize.js +3 -12
  350. package/Utils/Function/sendMessage.js +3 -8
  351. package/Utils/Helper/createSelectionRangeMemo.js +4 -12
  352. package/Utils/Immutable/set.js +12 -35
  353. package/Utils/Math/conversions.js +2 -5
  354. package/Utils/Math/isPositiveNumber.js +2 -5
  355. package/Utils/Redux/createActionWithGlobalState.js +8 -11
  356. package/Utils/Styles/combineMediaQueries.js +2 -6
  357. package/Utils/Styles/createCheckerBoardBackground.js +5 -6
  358. package/Utils/Test/CallOrderChecker.js +0 -3
  359. package/Utils/Test/createStoreProvider.js +1 -7
  360. package/Utils/Test/formDataToJSON.js +0 -1
  361. package/Utils/Test/mountWithState.js +3 -9
  362. package/index.js +2 -2
  363. package/package.json +36 -33
  364. package/public/translations/de_DE.json +3 -27
  365. package/public/translations/en_GB.json +2 -26
  366. package/scripts/getDefaultWebpackConfig.js +21 -13
  367. package/src/App/Error/ProductionErrorPage/index.js +1 -1
  368. package/src/App/Modules/Creator/Components/ConfigurationvariantItem/index.js +3 -4
  369. package/src/App/Modules/Creator/Components/ConfigurationvariantSelection/index.js +2 -1
  370. package/src/App/Modules/Creator/Components/FastConfiguration/SelectableRow.js +1 -1
  371. package/src/App/Modules/Creator/Components/FastConfiguration/index.js +6 -5
  372. package/src/App/Modules/Creator/Components/FastConfigurationSelect/index.js +8 -6
  373. package/src/App/Modules/Creator/Components/FullScreenView/FullScreenView.js +3 -1
  374. package/src/App/Modules/Creator/Components/Incompatibility/OptionExclusionRule/index.js +2 -2
  375. package/src/App/Modules/Creator/Components/Incompatibility/OptionRule/index.js +2 -2
  376. package/src/App/Modules/Creator/Components/Incompatibility/index.js +2 -2
  377. package/src/App/Modules/Creator/Components/InvalidConfigurationNotice/index.js +1 -1
  378. package/src/App/Modules/Creator/Components/Option/__snapshots__/index.test.js.snap +0 -13
  379. package/src/App/Modules/Creator/Components/Option/index.js +9 -6
  380. package/src/App/Modules/Creator/Components/Option/index.test.js +1 -1
  381. package/src/App/Modules/Creator/Components/OptionAmount/index.js +2 -1
  382. package/src/App/Modules/Creator/Components/OptionAmount/index.test.js +1 -1
  383. package/src/App/Modules/Creator/Components/Optiondetail/ZoomImage/index.js +1 -1
  384. package/src/App/Modules/Creator/Components/Optiondetail/index.js +9 -7
  385. package/src/App/Modules/Creator/Components/Optiondetail/index.story.js +1 -48
  386. package/src/App/Modules/Creator/Components/Optiondetail/index.test.js +1 -1
  387. package/src/App/Modules/Creator/Components/Optiondetail/index.test.mocks.js +49 -0
  388. package/src/App/Modules/Creator/Components/OptionsList/index.js +3 -2
  389. package/src/App/Modules/Creator/Components/ProductPart/index.test.js +1 -1
  390. package/src/App/Modules/Creator/Components/ProductPartsList/index.js +1 -1
  391. package/src/App/Modules/Creator/Components/SavedConfiguration/index.js +3 -3
  392. package/src/App/Modules/Creator/Components/StoreConfigurationForm/index.js +2 -2
  393. package/src/App/Modules/Creator/Containers/CustomTitleEditor/index.js +1 -1
  394. package/src/App/Modules/Creator/Containers/FastConfiguration/index.js +1 -1
  395. package/src/App/Modules/Creator/Containers/FormattedPrice/index.js +1 -1
  396. package/src/App/Modules/Creator/Containers/InvalidConfigurationNotice/index.js +1 -1
  397. package/src/App/Modules/Creator/Containers/Optiondetail/index.js +1 -1
  398. package/src/App/Modules/Designer/Components/AddGalleryImage/__snapshots__/index.test.jsx.snap +0 -8
  399. package/src/App/Modules/Designer/Components/AddGalleryImage/index.js +4 -4
  400. package/src/App/Modules/Designer/Components/AddGalleryImage/index.test.jsx +0 -27
  401. package/src/App/Modules/Designer/Components/AddVisualElement/index.js +6 -6
  402. package/src/App/Modules/Designer/Components/AddVisualElement/index.test.jsx +3 -2
  403. package/src/App/Modules/Designer/Components/CloseDesignEditor/index.js +3 -3
  404. package/src/App/Modules/Designer/Components/ColorPalettes/ColorPalettesSearch.js +6 -6
  405. package/src/App/Modules/Designer/Components/ColorPalettes/index.js +14 -14
  406. package/src/App/Modules/Designer/Components/ColorPalettes/index.test.jsx +1 -1
  407. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.js +8 -8
  408. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.test.jsx +1 -1
  409. package/src/App/Modules/Designer/Components/DesignerSelectionToolbox/CustomFontOverlay.js +5 -5
  410. package/src/App/Modules/Designer/Components/DesignerSelectionToolbox/DesignerSelectionToolbox.js +2 -2
  411. package/src/App/Modules/Designer/Components/Dialog/index.js +1 -1
  412. package/src/App/Modules/Designer/Components/EditDesignButton/index.js +3 -2
  413. package/src/App/Modules/Designer/Components/FeedbackNotice/index.js +3 -3
  414. package/src/App/Modules/Designer/Components/ImageColorize/index.js +1 -1
  415. package/src/App/Modules/Designer/Components/ImageControlbox/index.js +6 -6
  416. package/src/App/Modules/Designer/Components/ImageEditDialog/ImageUpload.js +32 -6
  417. package/src/App/Modules/Designer/Components/ImageEditDialog/index.js +16 -12
  418. package/src/App/Modules/Designer/Components/ImageLibraryFilter/index.js +6 -6
  419. package/src/App/Modules/Designer/Components/ImageLibraryThumbnail/index.js +11 -7
  420. package/src/App/Modules/Designer/Components/ObjectTools/index.js +2 -2
  421. package/src/App/Modules/Designer/Components/Select/index.js +3 -3
  422. package/src/App/Modules/Designer/Components/TextControlbox/TextFormatIcon.js +1 -1
  423. package/src/App/Modules/Designer/Components/TextControlbox/index.js +11 -11
  424. package/src/App/Modules/Designer/Components/TextControlbox/index.test.jsx +3 -2
  425. package/src/App/Modules/Designer/Containers/AddGalleryImage.js +1 -1
  426. package/src/App/Modules/Designer/Designer.js +1 -1
  427. package/src/App/Modules/Designer/DesignerUI.js +7 -2
  428. package/src/App/Modules/Designer/Layouts/Mobile/TwoSideBottomBar.js +1 -1
  429. package/src/App/Modules/Designer/Layouts/PopupAreaProvider.js +1 -1
  430. package/src/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +1 -1
  431. package/src/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +1 -1
  432. package/src/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +1 -1
  433. package/src/App/Modules/Designer/setupDesigner.js +22 -19
  434. package/src/App/Modules/Visualization/AlignTargetContainer.js +1 -1
  435. package/src/App/Modules/Visualization/CreatorAlignTarget.js +1 -1
  436. package/src/App/Modules/Visualization/DefaultVisualizationProvider.js +7 -2
  437. package/src/App/Modules/Visualization/DesignerAlignTarget.js +1 -1
  438. package/src/App/Reducers/Actions.js +5 -5
  439. package/src/App/Reducers/ConfigurationMode/Selectors.js +6 -0
  440. package/src/App/Reducers/Configurator/Actions.js +8 -1
  441. package/src/App/Reducers/Configurator/Reducer.js +27 -21
  442. package/src/App/Reducers/Configurator/Selectors.js +4 -1
  443. package/src/App/Reducers/DesignArea/Selectors.js +10 -0
  444. package/src/App/Reducers/Reducer.js +4 -3
  445. package/src/App/Reducers/UI/Actions.js +15 -1
  446. package/src/App/Reducers/UI/Reducer.js +20 -0
  447. package/src/App/Routing.js +12 -29
  448. package/src/App/Screens/Configurator/CalculationWidgetScreen.js +1 -4
  449. package/src/App/Screens/Configurator/Components/AmountSelection/index.js +4 -4
  450. package/src/App/Screens/Configurator/Components/CalculationWidget/index.js +3 -3
  451. package/src/App/Screens/Configurator/Components/CalculationWidget/index.test.jsx +5 -2
  452. package/src/App/Screens/Configurator/Components/ConfigurationModeSwitch/ConfigurationModeSwitch.js +1 -1
  453. package/src/App/Screens/Configurator/Components/FallbackVisualization/FallbackVisualization.js +1 -1
  454. package/src/App/Screens/Configurator/Components/FullScreenView/index.js +4 -4
  455. package/src/App/Screens/Configurator/Components/ItemTile/ItemTile.js +55 -17
  456. package/src/App/Screens/Configurator/Components/LandscapeInformation/index.js +1 -1
  457. package/src/App/Screens/Configurator/Components/NoVisualization/NoVisualization.js +1 -1
  458. package/src/App/Screens/Configurator/Components/PreviewPortal/index.js +7 -5
  459. package/src/App/Screens/Configurator/Components/Thumbnail/index.js +5 -4
  460. package/src/App/Screens/Configurator/Components/TotalPrice/TotalPrice.js +3 -3
  461. package/src/App/Screens/Configurator/Containers/AmountPrice.js +1 -1
  462. package/src/App/Screens/Configurator/Containers/__tests__/CalculationWidget.test.js +4 -1
  463. package/src/App/Screens/Configurator/Screen.js +13 -5
  464. package/src/App/Screens/Configurator/__tests__/Screen.test.js +6 -0
  465. package/src/App/Screens/DesignerProductPreview/Screen.js +2 -3
  466. package/src/App/Screens/DesignerProductPreview/__tests__/__snapshots__/Screen.test.js.snap +11 -11
  467. package/src/App/Screens/ItemOverview.js +74 -57
  468. package/src/App/Screens.js +1 -1
  469. package/src/App/Services/AnalyticsService.js +2 -1
  470. package/src/App/Services/DesignDataService.js +53 -7
  471. package/src/App/Services/DesignerService.js +22 -13
  472. package/src/App/Services/UIService.js +1 -1
  473. package/src/App/Services/VisualizationService.js +41 -2
  474. package/src/App/Services/__tests__/DesignDataService.test.js +1 -0
  475. package/src/App/Shared/Components/AcceptDesign/index.js +7 -6
  476. package/src/App/Shared/Components/AcceptPrivacy/index.js +4 -3
  477. package/src/App/Shared/Components/AddToBasket/index.js +4 -4
  478. package/src/App/Shared/Components/AmountInput/index.js +1 -1
  479. package/src/App/Shared/Components/AmountPrice/__snapshots__/index.test.jsx.snap +0 -125
  480. package/src/App/Shared/Components/AmountPrice/index.js +40 -17
  481. package/src/App/Shared/Components/AmountPrice/index.test.jsx +1 -1
  482. package/src/App/Shared/Components/Analytics/AnalyticsWrapper.test.js +2 -1
  483. package/src/App/Shared/Components/BulkNames/index.js +3 -3
  484. package/src/App/Shared/Components/CallToAction/__snapshots__/index.test.js.snap +4 -4
  485. package/src/App/Shared/Components/CallToAction/index.js +3 -3
  486. package/src/App/Shared/Components/CallToAction/index.test.js +1 -1
  487. package/src/App/Shared/Components/ConfigurationOverview/index.js +1 -1
  488. package/src/App/Shared/Components/Header/Header.js +3 -3
  489. package/src/App/Shared/Components/InformationTag/InformationTag.js +4 -2
  490. package/src/App/Shared/Components/LicenseNotice/LicenseNotice.js +3 -1
  491. package/src/App/Shared/Components/LoadConfiguration/index.js +27 -13
  492. package/src/App/Shared/Components/Notification/index.js +3 -3
  493. package/src/App/Shared/Components/PdfDownload/index.js +3 -3
  494. package/src/App/Shared/Components/PlusMinusInput/index.js +4 -4
  495. package/src/App/Shared/Components/PriceList/index.js +9 -9
  496. package/src/App/Shared/Components/PriceList/index.test.js +2 -2
  497. package/src/App/Shared/Components/PriceOverview/index.js +4 -4
  498. package/src/App/Shared/Components/PriceOverview/index.story.js +1 -1
  499. package/src/App/Shared/Components/ProductVariant/Image.js +1 -1
  500. package/src/App/Shared/Components/ProductVariant/index.js +5 -5
  501. package/src/App/Shared/Components/Progress/Progress.js +3 -3
  502. package/src/App/Shared/Components/ReceiveOfferForm/index.js +4 -4
  503. package/src/App/Shared/Components/SaveConfiguration/index.js +3 -3
  504. package/src/App/Shared/Components/SendEmail/index.js +3 -3
  505. package/src/App/Shared/Components/Stepper/index.js +4 -4
  506. package/src/App/Shared/Components/ToolbarList/index.js +6 -6
  507. package/src/App/Shared/Components/VariantChooser/index.js +7 -7
  508. package/src/App/Shared/Containers/AmountPrice/index.js +7 -1
  509. package/src/App/Shared/Containers/SaveConfiguration.js +1 -1
  510. package/src/App/Utils/Request/lazyFetch.js +2 -3
  511. package/src/App/configuration.js +20 -15
  512. package/src/App/index.js +2 -2
  513. package/src/Framework/Api.js +3 -3
  514. package/src/Framework/Components/Carousel/index.js +2 -2
  515. package/src/Framework/Components/Dialog/index.js +13 -10
  516. package/src/Framework/Components/DialogSelect/index.js +6 -5
  517. package/src/Framework/i18n.js +15 -8
  518. package/src/Shared/Components/CustomDialog.js +2 -1
  519. package/src/Shared/Components/CustomDialogSelect.js +2 -2
  520. package/src/Shared/Components/MainButton.js +2 -2
  521. package/src/Shared/Components/__tests__/index.test.jsx +6 -1
  522. package/src/Shared/HOCs/ResizeDetect/ResizeDetect.dev.js +1 -1
  523. package/src/Utils/Decorators/Observable.js +1 -0
  524. package/src/Utils/Test/mountWithState.js +1 -1
  525. package/App/Modules/Designer/Components/ImageEditDialog/res/checkers_tile.png +0 -0
  526. package/src/App/Modules/Designer/Components/ImageEditDialog/res/checkers_tile.png +0 -0
@@ -2,12 +2,12 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import clsx from 'clsx';
4
4
  import { withStyles } from '@material-ui/core/styles';
5
- import Grid from '@material-ui/core/Grid/Grid';
6
- import Card from '@material-ui/core/Card/Card';
7
- import CardContent from '@material-ui/core/CardContent/CardContent';
8
- import Button from '@material-ui/core/Button/Button';
9
- import Icon from '@material-ui/core/Icon/Icon';
10
- import withWidth from '@material-ui/core/withWidth/withWidth';
5
+ import Grid from '@material-ui/core/Grid';
6
+ import Card from '@material-ui/core/Card';
7
+ import CardContent from '@material-ui/core/CardContent';
8
+ import Button from '@material-ui/core/Button';
9
+ import Icon from '@material-ui/core/Icon';
10
+ import withWidth from '@material-ui/core/withWidth';
11
11
  import { t } from 'Framework/i18n';
12
12
  import AnalyticsWrapper from 'App/Shared/Components/Analytics/AnalyticsWrapper';
13
13
  import CallToAction from 'App/Shared/Components/CallToAction';
@@ -1,7 +1,8 @@
1
1
  /* eslint-env jest */
2
2
  import React from 'react';
3
- import { noop } from 'lodash';
4
- import { render, mount } from 'enzyme';
3
+ import noop from 'lodash/noop';
4
+ import mount from 'enzyme/mount';
5
+ import render from 'enzyme/render';
5
6
  import AddVisualElement from './index';
6
7
 
7
8
  jest.mock('App/Shared/Components/CallToAction', () => {
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { withStyles } from '@material-ui/core/styles';
3
3
  import { t } from 'Framework/i18n';
4
- import Grid from '@material-ui/core/Grid/Grid';
5
- import Button from '@material-ui/core/Button/Button';
6
- import { Icon } from '@material-ui/core';
4
+ import Grid from '@material-ui/core/Grid';
5
+ import Button from '@material-ui/core/Button';
6
+ import Icon from '@material-ui/core/Icon';
7
7
  import PropTypes from 'prop-types';
8
8
 
9
9
  const styles = theme => ({
@@ -1,14 +1,14 @@
1
1
  import React, { useState } from 'react';
2
- import Icon from '@material-ui/core/Icon/Icon';
3
- import InputAdornment from '@material-ui/core/InputAdornment/InputAdornment';
2
+ import Icon from '@material-ui/core/Icon';
3
+ import InputAdornment from '@material-ui/core/InputAdornment';
4
4
  import SearchIcon from '@material-ui/icons/Search';
5
5
  import RefreshIcon from '@material-ui/icons/Refresh';
6
6
  import PropTypes from 'prop-types';
7
- import Typography from '@material-ui/core/Typography/Typography';
7
+ import Typography from '@material-ui/core/Typography';
8
8
  import { t } from 'Framework/i18n';
9
- import IconButton from '@material-ui/core/IconButton/IconButton';
10
- import TextField from '@material-ui/core/TextField/TextField';
11
- import withStyles from '@material-ui/core/styles/withStyles';
9
+ import IconButton from '@material-ui/core/IconButton';
10
+ import TextField from '@material-ui/core/TextField';
11
+ import { withStyles } from '@material-ui/core/styles';
12
12
  import { isWidthDown } from '@material-ui/core/withWidth';
13
13
 
14
14
  const styles = theme => ({
@@ -4,20 +4,20 @@ import isFunction from 'lodash/isFunction';
4
4
  import upperFirst from 'lodash/upperFirst';
5
5
  import uniqBy from 'lodash/uniqBy';
6
6
  import { withStyles } from '@material-ui/core/styles';
7
- import Grid from '@material-ui/core/Grid/Grid';
8
- import Card from '@material-ui/core/Card/Card';
9
- import CardContent from '@material-ui/core/CardContent/CardContent';
10
- import Select from '@material-ui/core/Select/Select';
11
- import Input from '@material-ui/core/Input/Input';
12
- import MenuItem from '@material-ui/core/MenuItem/MenuItem';
13
- import ListItemText from '@material-ui/core/ListItemText/ListItemText';
14
- import FormControl from '@material-ui/core/FormControl/FormControl';
15
- import Typography from '@material-ui/core/Typography/Typography';
16
- import TextField from '@material-ui/core/TextField/TextField';
17
- import Icon from '@material-ui/core/Icon/Icon';
18
- import FormControlLabel from '@material-ui/core/FormControlLabel/FormControlLabel';
19
- import Switch from '@material-ui/core/Switch/Switch';
20
- import CardActions from '@material-ui/core/CardActions/CardActions';
7
+ import Grid from '@material-ui/core/Grid';
8
+ import Card from '@material-ui/core/Card';
9
+ import CardContent from '@material-ui/core/CardContent';
10
+ import Select from '@material-ui/core/Select';
11
+ import Input from '@material-ui/core/Input';
12
+ import MenuItem from '@material-ui/core/MenuItem';
13
+ import ListItemText from '@material-ui/core/ListItemText';
14
+ import FormControl from '@material-ui/core/FormControl';
15
+ import Typography from '@material-ui/core/Typography';
16
+ import TextField from '@material-ui/core/TextField';
17
+ import Icon from '@material-ui/core/Icon';
18
+ import FormControlLabel from '@material-ui/core/FormControlLabel';
19
+ import Switch from '@material-ui/core/Switch';
20
+ import CardActions from '@material-ui/core/CardActions';
21
21
  import SearchIcon from '@material-ui/icons/Search';
22
22
  import withWidth, { isWidthDown } from '@material-ui/core/withWidth';
23
23
  import { t } from 'Framework/i18n';
@@ -1,6 +1,6 @@
1
1
  /* eslint-env jest */
2
2
  import React from 'react';
3
- import { noop } from 'lodash';
3
+ import noop from 'lodash/noop';
4
4
  import { mount, render } from 'enzyme';
5
5
  import ColorPalettes from './index';
6
6
 
@@ -2,17 +2,17 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import clsx from 'clsx';
4
4
  import { withStyles } from '@material-ui/core/styles';
5
- import Card from '@material-ui/core/Card/Card';
6
- import CardContent from '@material-ui/core/CardContent/CardContent';
7
- import Typography from '@material-ui/core/Typography/Typography';
8
- import Grid from '@material-ui/core/Grid/Grid';
9
- import MenuItem from '@material-ui/core/MenuItem/MenuItem';
10
- import TextField from '@material-ui/core/TextField/TextField';
5
+ import Card from '@material-ui/core/Card';
6
+ import CardContent from '@material-ui/core/CardContent';
7
+ import Typography from '@material-ui/core/Typography';
8
+ import Grid from '@material-ui/core/Grid';
9
+ import MenuItem from '@material-ui/core/MenuItem';
10
+ import TextField from '@material-ui/core/TextField';
11
11
  import CheckCircle from '@material-ui/icons/CheckCircle';
12
12
  import Error from '@material-ui/icons/Error';
13
- import Icon from '@material-ui/core/Icon/Icon';
13
+ import Icon from '@material-ui/core/Icon';
14
14
  import Modal from '@material-ui/core/Modal';
15
- import withWidth from '@material-ui/core/withWidth/withWidth';
15
+ import withWidth from '@material-ui/core/withWidth';
16
16
  import { t, translationExists } from 'Framework/i18n';
17
17
  import AnalyticsWrapper from 'App/Shared/Components/Analytics/AnalyticsWrapper';
18
18
  import InformationTag from 'App/Shared/Components/InformationTag/InformationTag';
@@ -1,6 +1,6 @@
1
1
  /* eslint-env jest */
2
2
  import React from 'react';
3
- import { noop } from 'lodash';
3
+ import noop from 'lodash/noop';
4
4
  import { mount, render } from 'enzyme';
5
5
  import DesignAreaControlbox from './index';
6
6
  import MenuItem from '@material-ui/core/MenuItem';
@@ -1,13 +1,13 @@
1
1
  import CustomDialog from 'Shared/Components/CustomDialog';
2
2
  import { t } from 'Framework/i18n';
3
- import DialogContent from '@material-ui/core/DialogContent/DialogContent';
4
- import TextField from '@material-ui/core/TextField/TextField';
5
- import Typography from '@material-ui/core/Typography/Typography';
6
- import DialogActions from '@material-ui/core/DialogActions/DialogActions';
3
+ import DialogContent from '@material-ui/core/DialogContent';
4
+ import TextField from '@material-ui/core/TextField';
5
+ import Typography from '@material-ui/core/Typography';
6
+ import DialogActions from '@material-ui/core/DialogActions';
7
7
  import MainButton from 'Shared/Components/MainButton';
8
8
  import React, { useState } from 'react';
9
9
  import PropTypes from 'prop-types';
10
- import makeStyles from '@material-ui/core/styles/makeStyles';
10
+ import { makeStyles } from '@material-ui/core/styles';
11
11
 
12
12
  const useStyles = makeStyles(
13
13
  theme => {
@@ -2,8 +2,8 @@ import React, { useRef, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import isEmpty from 'lodash/isEmpty';
4
4
  import cloneDeep from 'lodash/cloneDeep';
5
- import withStyles from '@material-ui/core/styles/withStyles';
6
- import withWidth from '@material-ui/core/withWidth/withWidth';
5
+ import { withStyles } from '@material-ui/core/styles';
6
+ import withWidth from '@material-ui/core/withWidth';
7
7
  import SelectionToolbox from 'redhotmagma-graphics-editor/Components/SelectionToolbox/SelectionToolbox';
8
8
  import ReactComponent from 'Shared/PropTypes/ReactComponent';
9
9
  import TextControlbox from '../TextControlbox';
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import { withStyles } from '@material-ui/core/styles';
4
4
  import DialogTitle from '@material-ui/core/DialogTitle';
5
5
  import Dialog from '@material-ui/core/Dialog';
6
- import Icon from '@material-ui/core/Icon/Icon';
6
+ import Icon from '@material-ui/core/Icon';
7
7
 
8
8
  const styles = theme => ({
9
9
  DialogIcon: {
@@ -1,8 +1,9 @@
1
1
  import React, { useState } from 'react';
2
2
  import clsx from 'clsx';
3
3
  import { withStyles } from '@material-ui/core/styles';
4
- import withWidth, { isWidthDown } from '@material-ui/core/withWidth/withWidth';
5
- import { Button, Icon } from '@material-ui/core';
4
+ import withWidth, { isWidthDown } from '@material-ui/core/withWidth';
5
+ import Button from '@material-ui/core/Button';
6
+ import Icon from '@material-ui/core/Icon';
6
7
 
7
8
  import { t } from 'Framework/i18n';
8
9
  import MainButton from 'Shared/Components/MainButton';
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { withStyles } from '@material-ui/core/styles';
3
3
  import PropTypes from 'prop-types';
4
- import Grid from '@material-ui/core/Grid/Grid';
5
- import Typography from '@material-ui/core/Typography/Typography';
6
- import Icon from '@material-ui/core/Icon/Icon';
4
+ import Grid from '@material-ui/core/Grid';
5
+ import Typography from '@material-ui/core/Typography';
6
+ import Icon from '@material-ui/core/Icon';
7
7
 
8
8
  const styles = {
9
9
  FeedbackNoticeRootWrapper: {
@@ -16,7 +16,7 @@ import Dialog from '@material-ui/core/Dialog';
16
16
  import Button from '@material-ui/core/Button';
17
17
  import FormatPaint from '@material-ui/icons/FormatPaint';
18
18
  import MenuItem from '@material-ui/core/MenuItem';
19
- import withWidth, { isWidthDown } from '@material-ui/core/withWidth/withWidth';
19
+ import withWidth, { isWidthDown } from '@material-ui/core/withWidth';
20
20
  import { t, T } from 'Framework/i18n';
21
21
  import { createColorData, isValidHex, parseColorData } from 'App/Reducers/DesignArea/Selectors';
22
22
  import AnalyticsWrapper from 'App/Shared/Components/Analytics/AnalyticsWrapper';
@@ -3,14 +3,14 @@ import PropTypes from 'prop-types';
3
3
  import clsx from 'clsx';
4
4
  import { withStyles } from '@material-ui/core/styles';
5
5
  import withWidth from '@material-ui/core/withWidth';
6
- import Card from '@material-ui/core/Card/Card';
7
- import CardContent from '@material-ui/core/CardContent/CardContent';
8
- import Grid from '@material-ui/core/Grid/Grid';
9
- import Typography from '@material-ui/core/Typography/Typography';
6
+ import Card from '@material-ui/core/Card';
7
+ import CardContent from '@material-ui/core/CardContent';
8
+ import Grid from '@material-ui/core/Grid';
9
+ import Typography from '@material-ui/core/Typography';
10
10
  import CheckCircle from '@material-ui/icons/CheckCircle';
11
11
  import Info from '@material-ui/icons/Info';
12
- import Button from '@material-ui/core/Button/Button';
13
- import Icon from '@material-ui/core/Icon/Icon';
12
+ import Button from '@material-ui/core/Button';
13
+ import Icon from '@material-ui/core/Icon';
14
14
  import DialogActions from '@material-ui/core/DialogActions';
15
15
  import DialogContent from '@material-ui/core/DialogContent';
16
16
  import DialogContentText from '@material-ui/core/DialogContentText';
@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
3
3
  import { t } from 'Framework/i18n';
4
4
  import FileDrop from 'react-file-drop';
5
5
  import { withStyles } from '@material-ui/core/styles';
6
- import Typography from '@material-ui/core/Typography/Typography';
7
- import FormControlLabel from '@material-ui/core/FormControlLabel/FormControlLabel';
6
+ import Typography from '@material-ui/core/Typography';
7
+ import FormControlLabel from '@material-ui/core/FormControlLabel';
8
8
  import ImageIcon from '@material-ui/icons/Image';
9
9
  import CheckCircleIcon from '@material-ui/icons/CheckCircle';
10
10
  import ErrorIcon from '@material-ui/icons/Error';
@@ -14,8 +14,9 @@ import FormGroup from '@material-ui/core/FormGroup';
14
14
  import Button from '@material-ui/core/Button';
15
15
  import MainButton from 'Shared/Components/MainButton';
16
16
  import { Services } from 'App/ServiceLocator';
17
- import withWidth, { isWidthDown } from '@material-ui/core/withWidth/withWidth';
17
+ import withWidth, { isWidthDown } from '@material-ui/core/withWidth';
18
18
  import { getConf } from '../../../../configuration';
19
+ import { calculateImageBrightness } from '../../../../Services/DesignDataService';
19
20
 
20
21
  const styles = theme => ({
21
22
  imagePreview: {
@@ -157,6 +158,15 @@ const styles = theme => ({
157
158
  width: '100%',
158
159
  alignSelf: 'center',
159
160
  },
161
+ checkerBackground: {
162
+ backgroundImage:
163
+ 'linear-gradient(45deg, #F0F0F0 25%, transparent 25%), ' +
164
+ 'linear-gradient(-45deg, #F0F0F0 25%, transparent 25%), ' +
165
+ 'linear-gradient(45deg, transparent 75%, #F0F0F0 75%), ' +
166
+ 'linear-gradient(-45deg, transparent 75%, #F0F0F0 75%)',
167
+ backgroundSize: '20px 20px',
168
+ backgroundPosition: '0 0, 0 10px, 10px -10px, -10px 0px',
169
+ },
160
170
  });
161
171
 
162
172
  class ImageEditDialog extends React.Component {
@@ -191,6 +201,10 @@ class ImageEditDialog extends React.Component {
191
201
 
192
202
  handleDrop = files => this.updateFile(files[0]);
193
203
 
204
+ handleUpload = async image => {
205
+ return await calculateImageBrightness(image);
206
+ };
207
+
194
208
  updateFile = file => {
195
209
  if (!file) {
196
210
  return;
@@ -225,8 +239,13 @@ class ImageEditDialog extends React.Component {
225
239
  const isRenderable = renderableFormats.indexOf(extension) !== -1;
226
240
  if (isRenderable && file.type && file.type.match('image.*')) {
227
241
  const reader = new FileReader();
228
- reader.onload = e => {
229
- this.setState({ imageData: e.target.result });
242
+ reader.onload = async e => {
243
+ let image = new Image();
244
+ image.onload = async () => {
245
+ image = await this.handleUpload(image);
246
+ this.setState({ imageData: image });
247
+ };
248
+ image.src = e.target.result;
230
249
  };
231
250
  reader.readAsDataURL(file);
232
251
  }
@@ -331,7 +350,14 @@ class ImageEditDialog extends React.Component {
331
350
  )}
332
351
  {selectedFile !== null && (
333
352
  <React.Fragment>
334
- {imageData && <img className={classes.imagePreview} src={imageData} />}
353
+ {imageData && (
354
+ <img
355
+ className={`${classes.imagePreview} ${
356
+ imageData.isBright ? classes.checkerBackground : ''
357
+ }`}
358
+ src={imageData.src}
359
+ />
360
+ )}
335
361
  {error === null ? (
336
362
  <div className={classes.uploadTextIconContainer}>
337
363
  <CheckCircleIcon
@@ -1,17 +1,17 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { t } from 'Framework/i18n';
4
- import withWidth, { isWidthDown } from '@material-ui/core/withWidth/withWidth';
4
+ import withWidth, { isWidthDown } from '@material-ui/core/withWidth';
5
5
  import { withStyles } from '@material-ui/core/styles';
6
- import Typography from '@material-ui/core/Typography/Typography';
7
- import Grid from '@material-ui/core/Grid/Grid';
8
- import RadioGroup from '@material-ui/core/RadioGroup/RadioGroup';
9
- import FormControlLabel from '@material-ui/core/FormControlLabel/FormControlLabel';
10
- import Radio from '@material-ui/core/Radio/Radio';
11
- import FormControl from '@material-ui/core/FormControl/FormControl';
12
- import Icon from '@material-ui/core/Icon/Icon';
13
- import DialogActions from '@material-ui/core/DialogActions/DialogActions';
14
- import DialogContent from '@material-ui/core/DialogContent/DialogContent';
6
+ import Typography from '@material-ui/core/Typography';
7
+ import Grid from '@material-ui/core/Grid';
8
+ import RadioGroup from '@material-ui/core/RadioGroup';
9
+ import FormControlLabel from '@material-ui/core/FormControlLabel';
10
+ import Radio from '@material-ui/core/Radio';
11
+ import FormControl from '@material-ui/core/FormControl';
12
+ import Icon from '@material-ui/core/Icon';
13
+ import DialogActions from '@material-ui/core/DialogActions';
14
+ import DialogContent from '@material-ui/core/DialogContent';
15
15
  import Tabs from '@material-ui/core/Tabs';
16
16
  import Tab from '@material-ui/core/Tab';
17
17
  import LoopIcon from '@material-ui/icons/Loop';
@@ -31,7 +31,6 @@ import Dialog from '../Dialog';
31
31
  import ColorPicker from '../ImageColorPicker/ImageColorPicker';
32
32
  import ImageThumbnail from './ImageThumbnail';
33
33
  import colorizeIcon from './res/baseline_colorize_black_24dp.png';
34
- import checkers from './res/checkers_tile.png';
35
34
  import { isOriginalVector } from '../../Utils/Transformers';
36
35
 
37
36
  const styles = theme => ({
@@ -186,7 +185,12 @@ const styles = theme => ({
186
185
  previewImageWrapper: {
187
186
  backgroundSize: '24px 24px',
188
187
  marginBottom: 82,
189
- background: `#bebebe url(${checkers})`,
188
+ backgroundImage:
189
+ 'linear-gradient(45deg, #F0F0F0 25%, transparent 25%), ' +
190
+ 'linear-gradient(-45deg, #F0F0F0 25%, transparent 25%), ' +
191
+ 'linear-gradient(45deg, transparent 75%, #F0F0F0 75%), ' +
192
+ 'linear-gradient(-45deg, transparent 75%, #F0F0F0 75%)',
193
+ backgroundPosition: '0 0, 0 10px, 10px -10px, -10px 0px',
190
194
  display: 'flex',
191
195
  height: 360,
192
196
  width: 450,
@@ -2,12 +2,12 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { withStyles } from '@material-ui/core/styles';
4
4
  import { t } from 'Framework/i18n';
5
- import { isFunction } from 'lodash';
6
- import Checkbox from '@material-ui/core/Checkbox/Checkbox';
7
- import FormControlLabel from '@material-ui/core/FormControlLabel/FormControlLabel';
8
- import Icon from '@material-ui/core/Icon/Icon';
9
- import Button from '@material-ui/core/Button/Button';
10
- import Popover from '@material-ui/core/Popover/Popover';
5
+ import isFunction from 'lodash/isFunction';
6
+ import Checkbox from '@material-ui/core/Checkbox';
7
+ import FormControlLabel from '@material-ui/core/FormControlLabel';
8
+ import Icon from '@material-ui/core/Icon';
9
+ import Button from '@material-ui/core/Button';
10
+ import Popover from '@material-ui/core/Popover';
11
11
 
12
12
  const styles = () => ({
13
13
  ImageLibraryCheckboxRoot: {
@@ -5,7 +5,7 @@ import { Scrollbars } from 'react-custom-scrollbars';
5
5
  import { preventEventDoubling } from 'Utils/Events/preventEventDoubling';
6
6
  import AnalyticsWrapper from 'App/Shared/Components/Analytics/AnalyticsWrapper';
7
7
  import './Styles.scss';
8
- import Typography from '@material-ui/core/Typography/Typography';
8
+ import Typography from '@material-ui/core/Typography';
9
9
 
10
10
  const styles = () => ({
11
11
  imageLibraryThumbnail: {
@@ -15,6 +15,14 @@ const styles = () => ({
15
15
  marginBottom: 10,
16
16
  marginRight: 10,
17
17
 
18
+ backgroundImage:
19
+ 'linear-gradient(45deg, #F0F0F0 25%, transparent 25%), ' +
20
+ 'linear-gradient(-45deg, #F0F0F0 25%, transparent 25%), ' +
21
+ 'linear-gradient(45deg, transparent 75%, #F0F0F0 75%), ' +
22
+ 'linear-gradient(-45deg, transparent 75%, #F0F0F0 75%)',
23
+ backgroundSize: '20px 20px',
24
+ backgroundPosition: '0 0, 0 10px, 10px -10px, -10px 0px',
25
+
18
26
  '&:hover': {
19
27
  cursor: 'pointer',
20
28
  },
@@ -60,12 +68,8 @@ const ImageThumbnail = withStyles(styles, { name: 'ImageThumbnail' })(
60
68
  }
61
69
  src={typeof motive === 'object' ? motive.url : motive}
62
70
  alt={typeof motive === 'object' ? motive.title : motive}
63
- onClick={() => onSelect(motive)}
64
- style={{
65
- background:
66
- motive.thumbnail && motive.thumbnail.isThumbnailBright
67
- ? '#c4c4c4'
68
- : 'transparent',
71
+ onClick={() => {
72
+ onSelect(motive);
69
73
  }}
70
74
  />
71
75
  </AnalyticsWrapper>
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { withStyles } from '@material-ui/core/styles';
4
4
  import withWidth from '@material-ui/core/withWidth';
5
- import Button from '@material-ui/core/Button/Button';
6
- import Icon from '@material-ui/core/Icon/Icon';
5
+ import Button from '@material-ui/core/Button';
6
+ import Icon from '@material-ui/core/Icon';
7
7
  import Tooltip from '@material-ui/core/Tooltip';
8
8
  import { t } from 'Framework/i18n';
9
9
  import AnalyticsWrapper from 'App/Shared/Components/Analytics/AnalyticsWrapper';
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { withStyles } from '@material-ui/core/styles';
3
3
  import PropTypes from 'prop-types';
4
- import FormControl from '@material-ui/core/FormControl/FormControl';
5
- import Select from '@material-ui/core/Select/Select';
6
- import Input from '@material-ui/core/Input/Input';
4
+ import FormControl from '@material-ui/core/FormControl';
5
+ import Select from '@material-ui/core/Select';
6
+ import Input from '@material-ui/core/Input';
7
7
  import clsx from 'clsx';
8
8
 
9
9
  const styles = theme => ({
@@ -1,4 +1,4 @@
1
- import SvgIcon from '@material-ui/core/SvgIcon/SvgIcon';
1
+ import SvgIcon from '@material-ui/core/SvgIcon';
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
 
@@ -4,18 +4,18 @@ import clsx from 'clsx';
4
4
  import get from 'lodash/get';
5
5
  import { withStyles } from '@material-ui/core/styles';
6
6
  import withWidth from '@material-ui/core/withWidth';
7
- import grey from '@material-ui/core/colors/grey';
8
- import Card from '@material-ui/core/Card/Card';
9
- import CardContent from '@material-ui/core/CardContent/CardContent';
10
- import Typography from '@material-ui/core/Typography/Typography';
11
- import Grid from '@material-ui/core/Grid/Grid';
12
- import MenuItem from '@material-ui/core/MenuItem/MenuItem';
13
- import TextField from '@material-ui/core/TextField/TextField';
14
- import Button from '@material-ui/core/Button/Button';
15
- import Icon from '@material-ui/core/Icon/Icon';
7
+ import { grey } from '@material-ui/core/colors';
8
+ import Card from '@material-ui/core/Card';
9
+ import CardContent from '@material-ui/core/CardContent';
10
+ import Typography from '@material-ui/core/Typography';
11
+ import Grid from '@material-ui/core/Grid';
12
+ import MenuItem from '@material-ui/core/MenuItem';
13
+ import TextField from '@material-ui/core/TextField';
14
+ import Button from '@material-ui/core/Button';
15
+ import Icon from '@material-ui/core/Icon';
16
16
  import Tooltip from '@material-ui/core/Tooltip';
17
- import FormControlLabel from '@material-ui/core/FormControlLabel/FormControlLabel';
18
- import Switch from '@material-ui/core/Switch/Switch';
17
+ import FormControlLabel from '@material-ui/core/FormControlLabel';
18
+ import Switch from '@material-ui/core/Switch';
19
19
  import { t, translationExists } from 'Framework/i18n';
20
20
  import AnalyticsWrapper from 'App/Shared/Components/Analytics/AnalyticsWrapper';
21
21
  import InformationTag from 'App/Shared/Components/InformationTag/InformationTag';
@@ -1,7 +1,8 @@
1
1
  /* eslint-env jest */
2
2
  import React from 'react';
3
- import { noop } from 'lodash';
4
- import { mount, render } from 'enzyme';
3
+ import noop from 'lodash/noop';
4
+ import mount from 'enzyme/mount';
5
+ import render from 'enzyme/render';
5
6
  import MenuItem from '@material-ui/core/MenuItem';
6
7
  import TextControlbox from './index';
7
8
  import ServiceLocator from 'App/ServiceLocator';
@@ -1,4 +1,4 @@
1
- import withWidth from '@material-ui/core/withWidth/withWidth';
1
+ import withWidth from '@material-ui/core/withWidth';
2
2
  import { containerConnect } from 'Framework/ComponentContainer';
3
3
  import createSelector from 'Utils/Function/createSelector';
4
4
  import findIndex from 'lodash/findIndex';
@@ -1,6 +1,6 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import withStyles from '@material-ui/core/styles/withStyles';
3
+ import { withStyles } from '@material-ui/core/styles';
4
4
 
5
5
  import Editor from 'redhotmagma-graphics-editor/Components/Editor/Editor';
6
6
  import DefaultEditorContainer from 'redhotmagma-graphics-editor/Components/Editor/EditorContainer';
@@ -9,7 +9,7 @@ import IconScale from '@material-ui/icons/UnfoldMore';
9
9
 
10
10
  import Designer from './Designer';
11
11
  import AddVisualElement from './Containers/AddVisualElement';
12
- import withWidth, { isWidthUp } from '@material-ui/core/withWidth/withWidth';
12
+ import withWidth, { isWidthUp } from '@material-ui/core/withWidth';
13
13
 
14
14
  import { getConf } from 'App/configuration';
15
15
  import PropTypes from 'prop-types';
@@ -129,11 +129,16 @@ const renderAngleLabel = angleLabel => {
129
129
  return <AngleLabel angleLabel={angleLabel} />;
130
130
  };
131
131
 
132
+ const ChildrenOnlyFragment = ({ children }) => <>{children}</>;
133
+ ChildrenOnlyFragment.propTypes = {
134
+ children: PropTypes.node,
135
+ };
136
+
132
137
  const renderInlineToolbox = ({ visualizationOverlayMode }) => ({ components: { InlineToolbox } }) => (
133
138
  <InlineToolbox
134
139
  renderToolboxButton={renderInlineToolButton}
135
140
  renderAngleLabel={renderAngleLabel}
136
- ContainerComponent={visualizationOverlayMode ? InlineToolboxPortal : React.Fragment}
141
+ ContainerComponent={visualizationOverlayMode ? InlineToolboxPortal : ChildrenOnlyFragment}
137
142
  />
138
143
  );
139
144
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import makeStyles from '@material-ui/core/styles/makeStyles';
3
+ import { makeStyles } from '@material-ui/core/styles';
4
4
  import Grid from '@material-ui/core/Grid';
5
5
 
6
6
  const useStyles = makeStyles(
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import ReactDOM from 'react-dom';
3
- import withStyles from '@material-ui/core/styles/withStyles';
3
+ import { withStyles } from '@material-ui/core/styles';
4
4
  import withWidth, { isWidthDown } from '@material-ui/core/withWidth';
5
5
  import PropTypes from 'prop-types';
6
6
 
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Services } from 'App/ServiceLocator';
4
- import { withStyles } from '@material-ui/core';
4
+ import { withStyles } from '@material-ui/core/styles';
5
5
 
6
6
  const styles = () => ({
7
7
  root: { position: 'absolute', height: '100%', width: '100%' },
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useLayoutEffect, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Portal from '@material-ui/core/Portal';
4
- import { withStyles } from '@material-ui/core';
4
+ import { withStyles } from '@material-ui/core/styles';
5
5
 
6
6
  const styles = {
7
7
  root: {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Portal from '@material-ui/core/Portal';
4
- import { withStyles } from '@material-ui/core';
4
+ import { withStyles } from '@material-ui/core/styles';
5
5
 
6
6
  const styles = theme => ({
7
7
  root: {