@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
@@ -1,107 +1,64 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; 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); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.reversePointTransform = exports["default"] = void 0;
9
-
10
7
  var _get = _interopRequireDefault(require("lodash/get"));
11
-
12
8
  var _find = _interopRequireDefault(require("lodash/find"));
13
-
14
9
  var _flow = _interopRequireDefault(require("lodash/flow"));
15
-
16
10
  var _Constants = require("redhotmagma-visualization/Constants");
17
-
18
11
  var _visualizationAdapterCreator = require("redhotmagma-visualization/visualizationAdapterCreator");
19
-
20
12
  var _AbstractVisualizationService = _interopRequireDefault(require("../../Framework/Services/AbstractVisualizationService"));
21
-
22
13
  var _i18n = require("../../Framework/i18n");
23
-
24
14
  var _ServiceLocator = require("../ServiceLocator");
25
-
26
15
  var _configuration = require("../configuration");
27
-
28
16
  var _Selectors = require("../Reducers/DesignArea/Selectors");
29
-
30
17
  var _Selectors2 = require("../Reducers/Configurator/Selectors");
31
-
32
18
  var _sendMessage = _interopRequireDefault(require("../../Utils/Function/sendMessage"));
33
-
34
19
  var _Observable = _interopRequireDefault(require("../../Utils/Decorators/Observable"));
35
-
36
20
  var _NoVisualization = require("../Screens/Configurator/Components/NoVisualization/NoVisualization");
37
-
38
21
  var _Selectors3 = require("../Reducers/DesignView/Selectors");
39
-
40
22
  var _Selectors4 = require("../Reducers/ConfigurationMode/Selectors");
41
-
42
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
43
-
24
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
44
25
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
45
-
46
26
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
47
-
48
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
49
-
27
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
28
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
50
29
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
51
-
52
30
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
53
-
54
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
55
-
56
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
57
-
31
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
58
33
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
59
-
60
- 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); } }
61
-
62
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
63
-
64
- 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); }
65
-
66
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
67
-
34
+ 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, _toPropertyKey(descriptor.key), descriptor); } }
35
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
36
+ 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 } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
37
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
68
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
69
-
70
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
71
-
39
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
72
40
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
73
-
74
41
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
75
-
76
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
77
-
78
- 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; }
79
-
42
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
43
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
44
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
45
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
80
46
  var EventTypes = {
81
47
  ComponentChange: 'VisualizationService/ComponentChange',
82
48
  VisualizationUpdate: 'VisualizationService/VisualizationUpdate'
83
49
  };
84
-
85
- var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
50
+ var VisualizationService = exports["default"] = /*#__PURE__*/function (_AbstractVisualizatio) {
86
51
  _inherits(VisualizationService, _AbstractVisualizatio);
87
-
88
52
  var _super = _createSuper(VisualizationService);
89
-
90
53
  function VisualizationService() {
91
54
  var _this;
92
-
93
55
  _classCallCheck(this, VisualizationService);
94
-
95
56
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
96
57
  args[_key] = arguments[_key];
97
58
  }
98
-
99
59
  _this = _super.call.apply(_super, [this].concat(args));
100
-
101
60
  _defineProperty(_assertThisInitialized(_this), "observable", new _Observable["default"](_assertThisInitialized(_this)));
102
-
103
61
  _defineProperty(_assertThisInitialized(_this), "host", (0, _configuration.getConf)('network.host'));
104
-
105
62
  _defineProperty(_assertThisInitialized(_this), "adapterConfig", function () {
106
63
  var cfg = (0, _visualizationAdapterCreator.createAdapterConfig)({
107
64
  host: _this.host
@@ -112,91 +69,83 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
112
69
  '3dVariant': {
113
70
  basePath: "".concat(_this.host, "/content/3D")
114
71
  }
115
- }); // mapping for backward compatibility
116
-
72
+ });
73
+ // mapping for backward compatibility
117
74
  return _objectSpread(_objectSpread({}, cfg), {}, {
118
75
  '3d': cfg['3dVariant'],
119
76
  '2d': cfg['2dVariant'],
120
77
  layer: cfg['2dLayer']
121
78
  });
122
79
  }());
123
-
80
+ /**
81
+ * Reference of the visualization instance
82
+ * @type {null|object}
83
+ * @private
84
+ */
124
85
  _defineProperty(_assertThisInitialized(_this), "_component", null);
125
-
86
+ /**
87
+ * Function to release the camera movement restrictions
88
+ * @type {null|function}
89
+ * @private
90
+ */
126
91
  _defineProperty(_assertThisInitialized(_this), "_removeRestrictedUserMovementZoomHandler", null);
127
-
128
92
  return _this;
129
93
  }
130
-
131
94
  _createClass(VisualizationService, [{
132
95
  key: "init",
133
96
  value: function init() {
134
97
  var _this2 = this;
135
-
136
98
  // skip initialization if the widget mode is active
137
99
  if (window.location.pathname.replace(/^\/([^/]*).*$/, '$1') === 'widget') {
138
100
  return;
139
101
  }
140
-
141
102
  _ServiceLocator.Services.store.observeStore(_Selectors2.getCurrentVisualizationSettings, function (target) {
142
103
  target !== 'fallback' && _this2.setComponent((0, _visualizationAdapterCreator.createVisualizationAdapter)(_this2.adapterConfig, target || 'default'));
143
104
  });
144
-
145
105
  _ServiceLocator.Services.store.observeStore((0, _flow["default"])(_Selectors2.getConfigurator, _Selectors2.getItem, function (_ref) {
146
106
  var parentItemIdentifier = _ref.parentItemIdentifier;
147
107
  return parentItemIdentifier;
148
108
  }), function (itemIdentifier) {
149
109
  (0, _sendMessage["default"])(_this2.getComponent(), 'updateItemPath', itemIdentifier);
150
110
  });
151
-
152
111
  _ServiceLocator.Services.store.observeStore((0, _flow["default"])(_Selectors2.getConfigurator, _Selectors2.getSelectedVariantIdentifier), function (variantIdentifier) {
153
112
  (0, _sendMessage["default"])(_this2.getComponent(), 'updateMaterialVariantPath', variantIdentifier);
154
113
  });
155
-
156
114
  _ServiceLocator.Services.store.observeStore(_Selectors.getSelectedDesignArea, this.designAreaChangeHandler.bind(this));
157
-
158
115
  _ServiceLocator.Services.store.observeStore(function (state) {
159
116
  return state.designView.selectedDesignView;
160
117
  }, function () {
161
118
  _this2.designViewChangeHandler((0, _Selectors3.getCurrentDesignView)(_ServiceLocator.Services.store.state));
162
119
  });
163
-
164
120
  _ServiceLocator.Services.store.observeStore(_Selectors4.getSelectedConfigurationMode, this.configurationModeChangeHandler.bind(this));
165
121
  }
166
122
  }, {
167
123
  key: "configurationModeChangeHandler",
168
124
  value: function configurationModeChangeHandler(mode) {
169
125
  _ServiceLocator.Services.designData.clearDesignAreaSelection();
170
-
171
126
  this.initDesignAreaInteraction(mode);
172
127
  }
173
128
  }, {
174
129
  key: "updateDesignAreaList",
175
130
  value: function () {
176
- var _updateDesignAreaList = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(designAreaList) {
177
- return regeneratorRuntime.wrap(function _callee$(_context) {
178
- while (1) {
179
- switch (_context.prev = _context.next) {
180
- case 0:
181
- _context.next = 2;
182
- return (0, _sendMessage["default"])(this.getComponent(), 'updateDesignAreaList', designAreaList);
183
-
184
- case 2:
185
- _context.next = 4;
186
- return this.designViewChangeHandler((0, _Selectors3.getCurrentDesignView)(_ServiceLocator.Services.store.state));
187
-
188
- case 4:
189
- case "end":
190
- return _context.stop();
191
- }
131
+ var _updateDesignAreaList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(designAreaList) {
132
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
133
+ while (1) switch (_context.prev = _context.next) {
134
+ case 0:
135
+ _context.next = 2;
136
+ return (0, _sendMessage["default"])(this.getComponent(), 'updateDesignAreaList', designAreaList);
137
+ case 2:
138
+ _context.next = 4;
139
+ return this.designViewChangeHandler((0, _Selectors3.getCurrentDesignView)(_ServiceLocator.Services.store.state));
140
+ case 4:
141
+ case "end":
142
+ return _context.stop();
192
143
  }
193
144
  }, _callee, this);
194
145
  }));
195
-
196
146
  function updateDesignAreaList(_x) {
197
147
  return _updateDesignAreaList.apply(this, arguments);
198
148
  }
199
-
200
149
  return updateDesignAreaList;
201
150
  }()
202
151
  }, {
@@ -237,121 +186,112 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
237
186
  }, {
238
187
  key: "designAreaChangeHandler",
239
188
  value: function () {
240
- var _designAreaChangeHandler = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
189
+ var _designAreaChangeHandler = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
241
190
  var designArea, visualization, state, modeCheck, viewName;
242
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
243
- while (1) {
244
- switch (_context2.prev = _context2.next) {
245
- case 0:
246
- designArea = (0, _Selectors.getSelectedDesignArea)(_ServiceLocator.Services.store.state);
247
- visualization = this.getComponent();
248
- this.setActiveDesignArea(designArea);
249
- state = _ServiceLocator.Services.store.state;
250
- modeCheck = (0, _Selectors2.visualizationModeCheck)(state);
251
-
252
- if (!modeCheck.is3D()) {
253
- _context2.next = 11;
254
- break;
255
- }
256
-
257
- viewName = (0, _Selectors.getSelectedViewName)(designArea);
258
- _context2.next = 9;
259
- return (0, _sendMessage["default"])(visualization, 'jumpToView', viewName);
260
-
261
- case 9:
262
- _context2.next = 14;
191
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
192
+ while (1) switch (_context2.prev = _context2.next) {
193
+ case 0:
194
+ designArea = (0, _Selectors.getSelectedDesignArea)(_ServiceLocator.Services.store.state);
195
+ visualization = this.getComponent();
196
+ this.setActiveDesignArea(designArea);
197
+ state = _ServiceLocator.Services.store.state;
198
+ modeCheck = (0, _Selectors2.visualizationModeCheck)(state);
199
+ if (!modeCheck.is3D()) {
200
+ _context2.next = 11;
263
201
  break;
264
-
265
- case 11:
266
- if (!(modeCheck.is2D() && designArea.identifier)) {
267
- _context2.next = 14;
268
- break;
269
- }
270
-
202
+ }
203
+ viewName = (0, _Selectors.getSelectedViewName)(designArea);
204
+ _context2.next = 9;
205
+ return (0, _sendMessage["default"])(visualization, 'jumpToView', viewName);
206
+ case 9:
207
+ _context2.next = 14;
208
+ break;
209
+ case 11:
210
+ if (!(modeCheck.is2D() && designArea.identifier)) {
271
211
  _context2.next = 14;
272
- return (0, _sendMessage["default"])(visualization, 'jumpToArea', designArea.identifier);
273
-
274
- case 14:
275
- // make sure every state update and change event is triggered before updating the visualization
276
- // root case: get the canvas data with cleared selection
277
- setTimeout(function () {
278
- return _ServiceLocator.Services.designData.updateVisualization();
279
- });
280
-
281
- case 15:
282
- case "end":
283
- return _context2.stop();
284
- }
212
+ break;
213
+ }
214
+ _context2.next = 14;
215
+ return (0, _sendMessage["default"])(visualization, 'jumpToArea', designArea.identifier);
216
+ case 14:
217
+ // make sure every state update and change event is triggered before updating the visualization
218
+ // root case: get the canvas data with cleared selection
219
+ setTimeout(function () {
220
+ return _ServiceLocator.Services.designData.updateVisualization();
221
+ });
222
+ case 15:
223
+ case "end":
224
+ return _context2.stop();
285
225
  }
286
226
  }, _callee2, this);
287
227
  }));
288
-
289
228
  function designAreaChangeHandler() {
290
229
  return _designAreaChangeHandler.apply(this, arguments);
291
230
  }
292
-
293
231
  return designAreaChangeHandler;
294
232
  }()
233
+ }, {
234
+ key: "getViewChangedPromise",
235
+ value: function getViewChangedPromise() {
236
+ return this._viewChangedPromise;
237
+ }
295
238
  }, {
296
239
  key: "designViewChangeHandler",
297
240
  value: function () {
298
- var _designViewChangeHandler = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(designView) {
241
+ var _designViewChangeHandler = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(designView) {
299
242
  var visualization;
300
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
301
- while (1) {
302
- switch (_context3.prev = _context3.next) {
303
- case 0:
304
- // applies only for 2D mode (in 3D there is only one design view)
305
- visualization = this.getComponent();
306
- _context3.next = 3;
307
- return (0, _sendMessage["default"])(visualization, 'setView', designView);
308
-
309
- case 3:
310
- case "end":
311
- return _context3.stop();
312
- }
243
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
244
+ while (1) switch (_context3.prev = _context3.next) {
245
+ case 0:
246
+ if (designView) {
247
+ _context3.next = 2;
248
+ break;
249
+ }
250
+ return _context3.abrupt("return");
251
+ case 2:
252
+ visualization = this.getComponent();
253
+ this._viewChangedPromise = (0, _sendMessage["default"])(visualization, 'setView', designView);
254
+ _context3.next = 6;
255
+ return this._viewChangedPromise;
256
+ case 6:
257
+ case "end":
258
+ return _context3.stop();
313
259
  }
314
260
  }, _callee3, this);
315
261
  }));
316
-
317
262
  function designViewChangeHandler(_x2) {
318
263
  return _designViewChangeHandler.apply(this, arguments);
319
264
  }
320
-
321
265
  return designViewChangeHandler;
322
266
  }()
323
267
  }, {
324
268
  key: "setComponent",
325
269
  value: function setComponent(component) {
326
270
  var _this3 = this;
327
-
328
271
  if (!component) {
329
272
  throw new Error('Component must be provided!');
330
273
  }
331
-
332
274
  (0, _sendMessage["default"])(this._component, 'dispose');
333
275
  this._component = component;
334
-
335
276
  if ((0, _Selectors2.isDesignerProductPreviewMode)()) {
336
277
  (0, _sendMessage["default"])(component, 'init');
337
278
  (0, _sendMessage["default"])(component, 'setSize', {
338
279
  width: 10,
339
280
  height: 10
340
281
  });
341
- } // add listener to the three adapter to catch intersections with the pointer
342
-
282
+ }
343
283
 
284
+ // add listener to the three adapter to catch intersections with the pointer
344
285
  component.observable.on(_Constants.EventTypes.Intersection, function (evt) {
345
286
  if (_ServiceLocator.Services.designData.handleCloseIfNeeded()) {
346
287
  // if it performed any actions, just return
347
288
  return;
348
- } // get the texture data from the intersection
349
-
350
-
351
- var getTextureHit = evt.data.getTextureHit; // so we can test if a design area was clicked
289
+ }
352
290
 
291
+ // get the texture data from the intersection
292
+ var getTextureHit = evt.data.getTextureHit;
293
+ // so we can test if a design area was clicked
353
294
  var area = _this3.testTextureIntersection(getTextureHit());
354
-
355
295
  if (area) {
356
296
  // the design area change already invokes the jumpToView function
357
297
  _ServiceLocator.Services.designData.selectDesignArea(area.identifier);
@@ -359,32 +299,30 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
359
299
  // clear the selection if the click did not hit the area
360
300
  _ServiceLocator.Services.designData.clearDesignAreaSelection();
361
301
  }
362
- }); // add click-away listener too, so the design area selection can be cleared
302
+ });
363
303
 
304
+ // add click-away listener too, so the design area selection can be cleared
364
305
  component.observable.on(_Constants.EventTypes.ClickAway, function () {
365
306
  _ServiceLocator.Services.designData.handleCloseIfNeeded();
366
- }); // the design areas should be redrawn when the material is updated
307
+ });
308
+ this.addAreaHoverHandler(component);
367
309
 
310
+ // the design areas should be redrawn when the material is updated
368
311
  component.observable.on(_Constants.EventTypes.MaterialUpdated, /*#__PURE__*/function () {
369
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(updateEventObject) {
370
- return regeneratorRuntime.wrap(function _callee4$(_context4) {
371
- while (1) {
372
- switch (_context4.prev = _context4.next) {
373
- case 0:
374
- _context4.next = 2;
375
- return _ServiceLocator.Services.designData.updateVisualization(updateEventObject);
376
-
377
- case 2:
378
- _this3.observable.dispatch(EventTypes.VisualizationUpdate, updateEventObject);
379
-
380
- case 3:
381
- case "end":
382
- return _context4.stop();
383
- }
312
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(updateEventObject) {
313
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
314
+ while (1) switch (_context4.prev = _context4.next) {
315
+ case 0:
316
+ _context4.next = 2;
317
+ return _ServiceLocator.Services.designData.updateVisualization(updateEventObject);
318
+ case 2:
319
+ _this3.observable.dispatch(EventTypes.VisualizationUpdate, updateEventObject);
320
+ case 3:
321
+ case "end":
322
+ return _context4.stop();
384
323
  }
385
324
  }, _callee4);
386
325
  }));
387
-
388
326
  return function (_x3) {
389
327
  return _ref2.apply(this, arguments);
390
328
  };
@@ -400,37 +338,31 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
400
338
  });
401
339
  component.observable.on(_Constants.EventTypes.Error, function () {
402
340
  _ServiceLocator.Services.ui.reportError((0, _i18n.t)('visualization.errors.visualizationNotPossible'));
403
- }); // in dev mode expose the three object to the window
341
+ });
404
342
 
343
+ // in dev mode expose the three object to the window
405
344
  if (!(0, _configuration.isProduction)()) {
406
345
  window.visualization = component;
407
346
  }
408
-
409
347
  if (component.getScreenshots) {
410
348
  this.registerScreenshotsGetter(component.getScreenshots.bind(component));
411
349
  }
412
-
413
350
  if (component.setView) {
414
351
  component.setView(_ServiceLocator.Services.store.state.designView.selectedDesignView);
415
352
  }
416
-
417
353
  if (component.update) {
418
354
  this.registerUpdateFunction(component.update.bind(component));
419
355
  this.update((0, _Selectors2.getConfiguration)(_ServiceLocator.Services.configurator.state));
420
356
  }
421
-
422
357
  if (component.getDrawingContext) {
423
358
  this.registerTextureUpdateFunction(this.drawDesignAreasOnTexture.bind(this));
424
359
  }
425
-
426
360
  if (component.toggleCameraLock) {
427
361
  this.registerCameraLockFunction(component.toggleCameraLock.bind(component));
428
362
  }
429
-
430
363
  if (component.toggleHitTest) {
431
364
  this.registerToggleHitTestFunction(component.toggleHitTest.bind(component));
432
365
  }
433
-
434
366
  var isAdminMode = (0, _configuration.getConf)('adminMode');
435
367
  (0, _sendMessage["default"])(component, 'clearViewIfEmpty', !!isAdminMode);
436
368
  var state = _ServiceLocator.Services.store.state;
@@ -445,6 +377,37 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
445
377
  });
446
378
  return this;
447
379
  }
380
+ }, {
381
+ key: "addAreaHoverHandler",
382
+ value: function addAreaHoverHandler(component) {
383
+ var _this4 = this;
384
+ var isAreaHovered = false;
385
+ var toggleAreaHovered = function toggleAreaHovered(isHovered) {
386
+ if (isAreaHovered !== isHovered && component !== null && component !== void 0 && component.getContainer) {
387
+ isAreaHovered = isHovered;
388
+ component.getContainer().style.cursor = isAreaHovered ? 'pointer' : '';
389
+ }
390
+ };
391
+ component.observable.on(_Constants.EventTypes.HoverIn, function (evt) {
392
+ // get the texture data from the intersection
393
+ var getTextureHit = evt.data.getTextureHit;
394
+ // so we can test if a design area was clicked
395
+ var area = _this4.testTextureIntersection(getTextureHit());
396
+ toggleAreaHovered(!!area);
397
+ });
398
+ component.observable.on(_Constants.EventTypes.HoverOut, function () {
399
+ toggleAreaHovered(false);
400
+ });
401
+ }
402
+ }, {
403
+ key: "disposeComponent",
404
+ value: function disposeComponent() {
405
+ (0, _sendMessage["default"])(this._component, 'dispose');
406
+ this._component = null;
407
+ this.observable.dispatch(EventTypes.ComponentChange, {
408
+ component: null
409
+ });
410
+ }
448
411
  }, {
449
412
  key: "getComponent",
450
413
  value: function getComponent() {
@@ -453,7 +416,7 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
453
416
  }, {
454
417
  key: "registerComponentChangeListener",
455
418
  value: function registerComponentChangeListener(fn) {
456
- this.observable.on(EventTypes.ComponentChange, fn);
419
+ return this.observable.on(EventTypes.ComponentChange, fn);
457
420
  }
458
421
  }, {
459
422
  key: "registerVisualizationUpdateListener",
@@ -469,19 +432,17 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
469
432
  // save it for later if there is no update function registered yet
470
433
  this._configuration = configuration;
471
434
  }
472
-
473
435
  return this;
474
436
  }
475
437
  }, {
476
438
  key: "registerUpdateFunction",
477
439
  value: function registerUpdateFunction(onUpdateFn) {
478
- this._onUpdateFn = onUpdateFn; // call the update method if there was already a call for it
479
-
440
+ this._onUpdateFn = onUpdateFn;
441
+ // call the update method if there was already a call for it
480
442
  if (this._configuration) {
481
443
  this.update(this._configuration);
482
444
  delete this._configuration;
483
445
  }
484
-
485
446
  return this;
486
447
  }
487
448
  }, {
@@ -496,62 +457,54 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
496
457
  this._toggleHitTest = toggleHitTest;
497
458
  return this;
498
459
  }
460
+
499
461
  /**
500
462
  * Register the getScreenshots function in the service so it can be proxied to others via this instance
501
463
  * @param {function} getScreenshotsFn
502
464
  */
503
-
504
465
  }, {
505
466
  key: "registerScreenshotsGetter",
506
467
  value: function registerScreenshotsGetter(getScreenshotsFn) {
507
468
  this._getScreenshotsFn = getScreenshotsFn;
508
469
  return this;
509
470
  }
471
+
510
472
  /**
511
473
  * Calls the registered getScreenshot function or returns a resolved Promise
512
474
  * @param {object} options The options object forwarded the getScreenshot function
513
475
  * @returns {*}
514
476
  */
515
-
516
477
  }, {
517
478
  key: "getScreenshots",
518
479
  value: function () {
519
- var _getScreenshots = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
480
+ var _getScreenshots = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
520
481
  var options,
521
- screenshots,
522
- _args5 = arguments;
523
- return regeneratorRuntime.wrap(function _callee5$(_context5) {
524
- while (1) {
525
- switch (_context5.prev = _context5.next) {
526
- case 0:
527
- options = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
528
- screenshots = null;
529
-
530
- if (!this._getScreenshotsFn) {
531
- _context5.next = 5;
532
- break;
533
- }
534
-
482
+ screenshots,
483
+ _args5 = arguments;
484
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
485
+ while (1) switch (_context5.prev = _context5.next) {
486
+ case 0:
487
+ options = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
488
+ screenshots = null;
489
+ if (!this._getScreenshotsFn) {
535
490
  _context5.next = 5;
536
- return this._getScreenshotsFn(function (result) {
537
- screenshots = result;
538
- }, options);
539
-
540
- case 5:
541
- return _context5.abrupt("return", screenshots);
542
-
543
- case 6:
544
- case "end":
545
- return _context5.stop();
546
- }
491
+ break;
492
+ }
493
+ _context5.next = 5;
494
+ return this._getScreenshotsFn(function (result) {
495
+ screenshots = result;
496
+ }, options);
497
+ case 5:
498
+ return _context5.abrupt("return", screenshots);
499
+ case 6:
500
+ case "end":
501
+ return _context5.stop();
547
502
  }
548
503
  }, _callee5, this);
549
504
  }));
550
-
551
505
  function getScreenshots() {
552
506
  return _getScreenshots.apply(this, arguments);
553
507
  }
554
-
555
508
  return getScreenshots;
556
509
  }()
557
510
  }, {
@@ -559,117 +512,98 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
559
512
  value: function abortScreenshotting() {
560
513
  return (0, _sendMessage["default"])(this.getComponent(), 'abortScreenshotting');
561
514
  }
515
+
562
516
  /**
563
517
  * Register a callback for the updateTexture method
564
518
  * If there was already a texture update call it triggers the callback immediately with the latest argument.
565
519
  * @param {function} onUpdateFn
566
520
  * @returns {VisualizationService}
567
521
  */
568
-
569
522
  }, {
570
523
  key: "registerTextureUpdateFunction",
571
524
  value: function registerTextureUpdateFunction(onUpdateFn) {
572
- this._onTextureUpdateFn = onUpdateFn; // call the update method if there was already a call for it
573
-
525
+ this._onTextureUpdateFn = onUpdateFn;
526
+ // call the update method if there was already a call for it
574
527
  if (this._textureUpdateRequest) {
575
528
  this.updateTexture(this._textureUpdateRequest);
576
529
  delete this._textureUpdateRequest;
577
530
  }
578
-
579
531
  return this;
580
532
  }
533
+
581
534
  /**
582
535
  * Calls the previously registered texture update function, if there is any
583
536
  * Otherwise it stores the argument internally, so it can be used in the registerTextureUpdateFunction method.
584
537
  * @param {*} textureUpdateInfo
585
538
  */
586
-
587
539
  }, {
588
540
  key: "updateTexture",
589
541
  value: function () {
590
- var _updateTexture = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
542
+ var _updateTexture = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
591
543
  var textureUpdateInfo,
592
- _args6 = arguments;
593
- return regeneratorRuntime.wrap(function _callee6$(_context6) {
594
- while (1) {
595
- switch (_context6.prev = _context6.next) {
596
- case 0:
597
- textureUpdateInfo = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {};
598
-
599
- if (!this._onTextureUpdateFn) {
600
- _context6.next = 6;
601
- break;
602
- }
603
-
604
- _context6.next = 4;
605
- return this._onTextureUpdateFn(textureUpdateInfo);
606
-
607
- case 4:
608
- _context6.next = 7;
544
+ _args6 = arguments;
545
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
546
+ while (1) switch (_context6.prev = _context6.next) {
547
+ case 0:
548
+ textureUpdateInfo = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {};
549
+ if (!this._onTextureUpdateFn) {
550
+ _context6.next = 6;
609
551
  break;
610
-
611
- case 6:
612
- // save it for later if there is no update function registered yet
613
- this._textureUpdateRequest = textureUpdateInfo;
614
-
615
- case 7:
616
- case "end":
617
- return _context6.stop();
618
- }
552
+ }
553
+ _context6.next = 4;
554
+ return this._onTextureUpdateFn(textureUpdateInfo);
555
+ case 4:
556
+ _context6.next = 7;
557
+ break;
558
+ case 6:
559
+ // save it for later if there is no update function registered yet
560
+ this._textureUpdateRequest = textureUpdateInfo;
561
+ case 7:
562
+ case "end":
563
+ return _context6.stop();
619
564
  }
620
565
  }, _callee6, this);
621
566
  }));
622
-
623
567
  function updateTexture() {
624
568
  return _updateTexture.apply(this, arguments);
625
569
  }
626
-
627
570
  return updateTexture;
628
571
  }()
629
572
  }, {
630
573
  key: "drawDesignAreasOnTexture",
631
574
  value: function () {
632
- var _drawDesignAreasOnTexture = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(_ref3) {
575
+ var _drawDesignAreasOnTexture = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref3) {
633
576
  var drawingFunction, updateEventObject, getDrawingContext;
634
- return regeneratorRuntime.wrap(function _callee7$(_context7) {
635
- while (1) {
636
- switch (_context7.prev = _context7.next) {
637
- case 0:
638
- drawingFunction = _ref3.drawingFunction, updateEventObject = _ref3.updateEventObject;
639
- _context7.prev = 1;
640
- getDrawingContext = this._component.getDrawingContext.bind(this._component);
641
- _context7.t0 = drawingFunction;
642
-
643
- if (!_context7.t0) {
644
- _context7.next = 7;
645
- break;
646
- }
647
-
577
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
578
+ while (1) switch (_context7.prev = _context7.next) {
579
+ case 0:
580
+ drawingFunction = _ref3.drawingFunction, updateEventObject = _ref3.updateEventObject;
581
+ _context7.prev = 1;
582
+ getDrawingContext = this._component.getDrawingContext.bind(this._component);
583
+ _context7.t0 = drawingFunction;
584
+ if (!_context7.t0) {
648
585
  _context7.next = 7;
649
- return drawingFunction(getDrawingContext, updateEventObject);
650
-
651
- case 7:
652
- _context7.next = 12;
653
586
  break;
654
-
655
- case 9:
656
- _context7.prev = 9;
657
- _context7.t1 = _context7["catch"](1);
658
- // eslint-disable-next-line no-console
659
- console.log('Skipping texture update: drawing context is not available.');
660
-
661
- case 12:
662
- case "end":
663
- return _context7.stop();
664
- }
587
+ }
588
+ _context7.next = 7;
589
+ return drawingFunction(getDrawingContext, updateEventObject);
590
+ case 7:
591
+ _context7.next = 12;
592
+ break;
593
+ case 9:
594
+ _context7.prev = 9;
595
+ _context7.t1 = _context7["catch"](1);
596
+ // eslint-disable-next-line no-console
597
+ console.log('Skipping texture update: drawing context is not available.');
598
+ case 12:
599
+ case "end":
600
+ return _context7.stop();
665
601
  }
666
602
  }, _callee7, this, [[1, 9]]);
667
603
  }));
668
-
669
604
  function drawDesignAreasOnTexture(_x4) {
670
605
  return _drawDesignAreasOnTexture.apply(this, arguments);
671
606
  }
672
-
673
607
  return drawDesignAreasOnTexture;
674
608
  }()
675
609
  }, {
@@ -689,27 +623,20 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
689
623
  }, {
690
624
  key: "restrictUserMovement",
691
625
  value: function restrictUserMovement() {
692
- var _this4 = this;
693
-
626
+ var _this5 = this;
694
627
  var component = this.getComponent();
695
-
696
628
  var zoomHandler = function zoomHandler(_ref4) {
697
629
  var direction = _ref4.data.direction;
698
-
699
630
  if (direction === 'out') {
700
- _this4._removeRestrictedUserMovementZoomHandler && _this4._removeRestrictedUserMovementZoomHandler();
701
-
631
+ _this5._removeRestrictedUserMovementZoomHandler && _this5._removeRestrictedUserMovementZoomHandler();
702
632
  _ServiceLocator.Services.designData.clearDesignAreaSelection();
703
633
  }
704
634
  };
705
-
706
635
  component.observable.on(_Constants.EventTypes.Zoomed, zoomHandler);
707
-
708
636
  this._removeRestrictedUserMovementZoomHandler = function () {
709
637
  component.observable.off(_Constants.EventTypes.Zoomed, zoomHandler);
710
- _this4._removeRestrictedUserMovementZoomHandler = null;
638
+ _this5._removeRestrictedUserMovementZoomHandler = null;
711
639
  };
712
-
713
640
  (0, _sendMessage["default"])(component, 'restrictUserMovement');
714
641
  }
715
642
  }, {
@@ -735,9 +662,9 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
735
662
  key: "enableDesignAreaInteraction",
736
663
  value: function enableDesignAreaInteraction(enable) {
737
664
  _ServiceLocator.Services.designData.toggleHighlight(enable);
738
-
739
665
  _ServiceLocator.Services.visualization.toggleHitTest(enable);
740
666
  }
667
+
741
668
  /**
742
669
  * Tests if the point from the given texture intersection point is inside of a design area
743
670
  * @param textureIntersectionData
@@ -745,56 +672,48 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
745
672
  * @see Three.getTextureHit
746
673
  * @returns {*} The design area that contains the given point if any, false otherwise
747
674
  */
748
-
749
675
  }, {
750
676
  key: "testTextureIntersection",
751
677
  value: function testTextureIntersection(textureIntersectionData) {
752
678
  if (textureIntersectionData) {
753
679
  var x = textureIntersectionData.x,
754
- y = textureIntersectionData.y,
755
- designAreaIdentifier = textureIntersectionData.designAreaIdentifier,
756
- currentView = textureIntersectionData.currentView;
680
+ y = textureIntersectionData.y,
681
+ designAreaIdentifier = textureIntersectionData.designAreaIdentifier,
682
+ currentView = textureIntersectionData.currentView;
683
+ var designAreas = _ServiceLocator.Services.designData.getDesignAreas();
757
684
 
758
- var designAreas = _ServiceLocator.Services.designData.getDesignAreas(); // If the designAreaIdentifier is provided just try to find it in the list.
685
+ // If the designAreaIdentifier is provided just try to find it in the list.
759
686
  // This can be used in any visualization adapter that maps different materials (with own texture) to
760
687
  // each design areas. Currently it is being used in the Three2D adapter.
761
-
762
-
763
688
  if (designAreaIdentifier !== undefined) {
764
689
  var designAreaSource = (0, _get["default"])(currentView, 'designAreas') || designAreas;
765
690
  var foundArea = (0, _find["default"])(designAreaSource, {
766
691
  identifier: designAreaIdentifier
767
692
  }) || false;
768
-
769
693
  if (foundArea && foundArea.position && Object.keys(foundArea.position).length > 0) {
770
694
  designAreas = [foundArea];
771
695
  } else {
772
696
  return foundArea;
773
697
  }
774
- } // Otherwise it can be treated as a single texture that contains all the areas combined into one.
698
+ }
699
+ // Otherwise it can be treated as a single texture that contains all the areas combined into one.
775
700
  // In this case the visualization adapter cannot give a hint about the clicked area,
776
701
  // therefore we have to find it by checking the intersection point falls into any of the area ranges.
777
-
778
-
779
702
  var _iterator = _createForOfIteratorHelper(designAreas),
780
- _step;
781
-
703
+ _step;
782
704
  try {
783
705
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
784
706
  var area = _step.value;
785
707
  var _area$position = area.position,
786
- aWidth = _area$position.width,
787
- aHeight = _area$position.height;
788
-
708
+ aWidth = _area$position.width,
709
+ aHeight = _area$position.height;
789
710
  var _reversePointTransfor = reversePointTransform(area.position, x, y),
790
- tX = _reversePointTransfor.x,
791
- tY = _reversePointTransfor.y;
792
-
711
+ tX = _reversePointTransfor.x,
712
+ tY = _reversePointTransfor.y;
793
713
  var left = -aWidth / 2;
794
714
  var right = left + +aWidth;
795
715
  var top = -aHeight / 2;
796
716
  var bottom = top + +aHeight;
797
-
798
717
  if (tX >= left && tX <= right && tY >= top && tY <= bottom) {
799
718
  return area;
800
719
  }
@@ -805,11 +724,9 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
805
724
  _iterator.f();
806
725
  }
807
726
  }
808
-
809
727
  return false;
810
728
  }
811
729
  }]);
812
-
813
730
  return VisualizationService;
814
731
  }(_AbstractVisualizationService["default"]);
815
732
  /**
@@ -822,20 +739,15 @@ var VisualizationService = /*#__PURE__*/function (_AbstractVisualizatio) {
822
739
  * @param y
823
740
  * @returns {{x: number, y: number}}
824
741
  */
825
-
826
-
827
- exports["default"] = VisualizationService;
828
-
829
- var reversePointTransform = function reversePointTransform(object, x, y) {
742
+ var reversePointTransform = exports.reversePointTransform = function reversePointTransform(object, x, y) {
830
743
  var _x$y$angle$object = _objectSpread({
831
- x: 0,
832
- y: 0,
833
- angle: 0
834
- }, object),
835
- cx = _x$y$angle$object.x,
836
- cy = _x$y$angle$object.y,
837
- angle = _x$y$angle$object.angle;
838
-
744
+ x: 0,
745
+ y: 0,
746
+ angle: 0
747
+ }, object),
748
+ cx = _x$y$angle$object.x,
749
+ cy = _x$y$angle$object.y,
750
+ angle = _x$y$angle$object.angle;
839
751
  var ox = x - cx;
840
752
  var oy = y - cy;
841
753
  var cosAi = Math.cos(-angle);
@@ -844,6 +756,4 @@ var reversePointTransform = function reversePointTransform(object, x, y) {
844
756
  x: ox * cosAi - oy * sinAi,
845
757
  y: oy * cosAi + ox * sinAi
846
758
  };
847
- };
848
-
849
- exports.reversePointTransform = reversePointTransform;
759
+ };