@configuratorware/configurator-frontendgui 1.27.3-beta.8 → 1.27.6

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 (460) hide show
  1. package/README.md +26 -5
  2. package/babel.config.js +46 -0
  3. package/package.json +102 -20
  4. package/public/ConfigurationMessagingDemo.html +55 -0
  5. package/scripts/cpPath.js +135 -0
  6. package/scripts/cpPublic.js +4 -4
  7. package/scripts/getDefaultWebpackConfig.js +10 -11
  8. package/scripts/moveLibToPackageRoot.js +40 -0
  9. package/scripts/rmDir.js +29 -0
  10. package/scripts/updateLocalPackages.js +68 -0
  11. package/scripts/utils/process.js +19 -0
  12. package/src/App/Error/ProductionErrorPage/Style.scss +1 -1
  13. package/src/App/Modules/Creator/Components/Option/index.js +0 -1
  14. package/src/App/Modules/Creator/Components/Option/index.test.js +1 -1
  15. package/src/App/Modules/Creator/Components/OptionAmount/index.test.js +1 -1
  16. package/src/App/Modules/Creator/Components/Optiondetail/index.js +7 -3
  17. package/src/App/Modules/Creator/Components/ProductPart/index.js +0 -1
  18. package/src/App/Modules/Creator/Components/ProductPart/index.test.js +1 -1
  19. package/src/App/Modules/Designer/Components/AddGalleryImage/index.story.js +1 -1
  20. package/src/App/Modules/Designer/Components/ColorPalettes/index.test.jsx +1 -1
  21. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.test.jsx +1 -1
  22. package/src/App/Modules/Designer/Components/TextControlbox/index.test.jsx +1 -1
  23. package/src/App/Reducers/Configurator/Actions.js +3 -13
  24. package/src/App/Reducers/DesignArea/Selectors.js +7 -9
  25. package/src/App/Reducers/DesignView/Actions.js +2 -1
  26. package/src/App/Reducers/DesignView/Reducer.js +10 -2
  27. package/src/App/Reducers/DesignView/__mocks__/designerViewData.js +1 -0
  28. package/src/App/Reducers/DesignView/__tests__/Reducer.test.js +22 -0
  29. package/src/App/Reducers/ImageGallery/Actions.js +1 -1
  30. package/src/App/Reducers/UI/Actions.js +0 -8
  31. package/src/App/Reducers/UI/Reducer.js +1 -3
  32. package/src/App/Screens/Configurator/Components/CalculationWidget/index.test.jsx +1 -1
  33. package/src/App/Screens/Configurator/Components/DesignApproval/index.test.jsx +1 -1
  34. package/src/App/Screens/Configurator/Components/FullScreenView/index.test.jsx +1 -1
  35. package/src/App/Screens/Configurator/Containers/AmountPrice.js +1 -1
  36. package/src/App/Screens/Configurator/Containers/Confirm.js +1 -1
  37. package/src/App/Screens/Configurator/Screen.js +1 -1
  38. package/src/App/Screens/Configurator/ThemeProvider.js +0 -1
  39. package/src/App/Services/__tests__/DesignDataService.selectViewForComponent.test.js +53 -0
  40. package/src/App/Shared/Containers/AlertMessages.js +1 -1
  41. package/src/App/Shared/Containers/AmountPrice/index.test.js +1 -1
  42. package/src/App/Shared/Containers/Error.js +1 -1
  43. package/src/App/Shared/Containers/SaveConfiguration.js +1 -1
  44. package/src/App/Translations.js +1 -1
  45. package/src/Framework/Components/Carousel/index.js +8 -29
  46. package/src/Framework/i18n.js +3 -2
  47. package/src/Shared/Components/CustomDialog.js +11 -5
  48. package/tsconfig.json +22 -0
  49. package/App/Constant.js +0 -73
  50. package/App/Error/DevelopmentErrorPage/index.js +0 -74
  51. package/App/Error/ErrorBoundary.js +0 -98
  52. package/App/Error/ProductionErrorPage/Style.scss +0 -47
  53. package/App/Error/ProductionErrorPage/index.js +0 -43
  54. package/App/Error/ProductionErrorPage/index.story.js +0 -13
  55. package/App/Error/ProductionErrorPage/res/error_gears.png +0 -0
  56. package/App/Frame.js +0 -95
  57. package/App/Modules/Creator/Components/ConfigurationvariantItem/Styles.scss +0 -33
  58. package/App/Modules/Creator/Components/ConfigurationvariantItem/index.js +0 -118
  59. package/App/Modules/Creator/Components/ConfigurationvariantSelection/Styles.scss +0 -47
  60. package/App/Modules/Creator/Components/ConfigurationvariantSelection/index.js +0 -130
  61. package/App/Modules/Creator/Components/CustomTitleEditor/Styles.scss +0 -43
  62. package/App/Modules/Creator/Components/CustomTitleEditor/index.js +0 -144
  63. package/App/Modules/Creator/Components/ExternalVisualization/index.js +0 -140
  64. package/App/Modules/Creator/Components/FastConfiguration/SelectableRow.js +0 -128
  65. package/App/Modules/Creator/Components/FastConfiguration/Styles.scss +0 -53
  66. package/App/Modules/Creator/Components/FastConfiguration/index.js +0 -280
  67. package/App/Modules/Creator/Components/FastConfigurationRow/Styles.scss +0 -45
  68. package/App/Modules/Creator/Components/FastConfigurationRow/index.js +0 -78
  69. package/App/Modules/Creator/Components/FastConfigurationSelect/Styles.scss +0 -35
  70. package/App/Modules/Creator/Components/FastConfigurationSelect/index.js +0 -251
  71. package/App/Modules/Creator/Components/FormattedNumber/index.js +0 -45
  72. package/App/Modules/Creator/Components/FormattedPrice/index.js +0 -57
  73. package/App/Modules/Creator/Components/FullScreenView/FullScreenView.js +0 -104
  74. package/App/Modules/Creator/Components/Incompatibility/OptionRule/index.js +0 -182
  75. package/App/Modules/Creator/Components/Incompatibility/RuleComponent.js +0 -88
  76. package/App/Modules/Creator/Components/Incompatibility/index.js +0 -251
  77. package/App/Modules/Creator/Components/InvalidConfigurationNotice/index.js +0 -164
  78. package/App/Modules/Creator/Components/LoginForm/Styles.scss +0 -9
  79. package/App/Modules/Creator/Components/LoginForm/index.js +0 -129
  80. package/App/Modules/Creator/Components/Option/index.js +0 -545
  81. package/App/Modules/Creator/Components/Option/index.story.js +0 -154
  82. package/App/Modules/Creator/Components/OptionAmount/index.js +0 -236
  83. package/App/Modules/Creator/Components/OptionGroup/index.js +0 -55
  84. package/App/Modules/Creator/Components/Optiondetail/ZoomImage/index.js +0 -173
  85. package/App/Modules/Creator/Components/Optiondetail/index.js +0 -497
  86. package/App/Modules/Creator/Components/Optiondetail/index.story.js +0 -117
  87. package/App/Modules/Creator/Components/OptionsList/index.js +0 -193
  88. package/App/Modules/Creator/Components/Price/Styles.scss +0 -3
  89. package/App/Modules/Creator/Components/Price/index.js +0 -79
  90. package/App/Modules/Creator/Components/ProductPart/index.js +0 -185
  91. package/App/Modules/Creator/Components/ProductPart/index.story.js +0 -88
  92. package/App/Modules/Creator/Components/ProductPartsList/index.js +0 -150
  93. package/App/Modules/Creator/Components/ProductPartsList/index.story.js +0 -101
  94. package/App/Modules/Creator/Components/SavedConfiguration/Styles.scss +0 -19
  95. package/App/Modules/Creator/Components/SavedConfiguration/index.js +0 -82
  96. package/App/Modules/Creator/Components/ShareConfiguration/Styles.scss +0 -23
  97. package/App/Modules/Creator/Components/ShareConfiguration/index.js +0 -224
  98. package/App/Modules/Creator/Components/StockInformation/index.js +0 -93
  99. package/App/Modules/Creator/Components/StoreConfigurationForm/Styles.scss +0 -5
  100. package/App/Modules/Creator/Components/StoreConfigurationForm/index.js +0 -123
  101. package/App/Modules/Creator/Components/Tools/Styles.scss +0 -44
  102. package/App/Modules/Creator/Components/Tools/index.js +0 -102
  103. package/App/Modules/Creator/Components/ValidationResult/Styles.scss +0 -45
  104. package/App/Modules/Creator/Components/ValidationResult/index.js +0 -165
  105. package/App/Modules/Creator/Components/index.js +0 -84
  106. package/App/Modules/Creator/Containers/AmountPrice/index.js +0 -26
  107. package/App/Modules/Creator/Containers/ConfigurationvariantSelection/index.js +0 -60
  108. package/App/Modules/Creator/Containers/CustomTitleEditor/index.js +0 -52
  109. package/App/Modules/Creator/Containers/FastConfiguration/index.js +0 -62
  110. package/App/Modules/Creator/Containers/FormattedPrice/index.js +0 -31
  111. package/App/Modules/Creator/Containers/Incompatibility/index.js +0 -40
  112. package/App/Modules/Creator/Containers/InvalidConfigurationNotice/index.js +0 -89
  113. package/App/Modules/Creator/Containers/LoadingOverlay/index.js +0 -26
  114. package/App/Modules/Creator/Containers/Optiondetail/index.js +0 -48
  115. package/App/Modules/Creator/Containers/OptionsList/index.js +0 -49
  116. package/App/Modules/Creator/Containers/ProductPart/index.js +0 -26
  117. package/App/Modules/Creator/Containers/ProductPartsList/index.js +0 -49
  118. package/App/Modules/Creator/Containers/SavedConfigurationContainer/index.js +0 -25
  119. package/App/Modules/Creator/Containers/ShareConfiguration/index.js +0 -42
  120. package/App/Modules/Creator/Containers/StockInformation/index.js +0 -33
  121. package/App/Modules/Creator/Containers/Tools/index.js +0 -44
  122. package/App/Modules/Creator/Containers/ValidationResult/index.js +0 -34
  123. package/App/Modules/Creator/Containers/index.js +0 -175
  124. package/App/Modules/Creator/CreatorScreen.js +0 -307
  125. package/App/Modules/Creator/Layouts/DefaultLayout.js +0 -260
  126. package/App/Modules/Creator/Styles.scss +0 -216
  127. package/App/Modules/Designer/Components/AddGalleryImage/index.js +0 -234
  128. package/App/Modules/Designer/Components/AddGalleryImage/index.story.js +0 -94
  129. package/App/Modules/Designer/Components/AddGalleryImage/index.test.js +0 -151
  130. package/App/Modules/Designer/Components/AddVisualElement/Styles.scss +0 -0
  131. package/App/Modules/Designer/Components/AddVisualElement/index.js +0 -278
  132. package/App/Modules/Designer/Components/AddVisualElement/index.story.js +0 -24
  133. package/App/Modules/Designer/Components/AddVisualElement/index.test.js +0 -47
  134. package/App/Modules/Designer/Components/CloseDesignEditor/index.js +0 -130
  135. package/App/Modules/Designer/Components/CloseGraphicsEditorButton/index.js +0 -54
  136. package/App/Modules/Designer/Components/ColorPalettes/ColorPalettesSearch.js +0 -175
  137. package/App/Modules/Designer/Components/ColorPalettes/index.js +0 -814
  138. package/App/Modules/Designer/Components/ColorPalettes/index.story.js +0 -158
  139. package/App/Modules/Designer/Components/ColorPalettes/index.test.js +0 -150
  140. package/App/Modules/Designer/Components/DesignAreaControlbox/Styles.scss +0 -0
  141. package/App/Modules/Designer/Components/DesignAreaControlbox/index.js +0 -460
  142. package/App/Modules/Designer/Components/DesignAreaControlbox/index.story.js +0 -272
  143. package/App/Modules/Designer/Components/DesignAreaControlbox/index.test.js +0 -164
  144. package/App/Modules/Designer/Components/DesignerSelectionToolbox/CustomFontOverlay.js +0 -162
  145. package/App/Modules/Designer/Components/DesignerSelectionToolbox/DesignerSelectionToolbox.js +0 -425
  146. package/App/Modules/Designer/Components/DesignerSelectionToolbox/fontItemUtils.js +0 -48
  147. package/App/Modules/Designer/Components/Dialog/index.js +0 -125
  148. package/App/Modules/Designer/Components/EditDesignButton/index.js +0 -128
  149. package/App/Modules/Designer/Components/FeedbackNotice/index.js +0 -110
  150. package/App/Modules/Designer/Components/FeedbackNotice/index.test.js +0 -16
  151. package/App/Modules/Designer/Components/FullScreenView/FullScreenView.js +0 -63
  152. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.dev.js +0 -32
  153. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.js +0 -430
  154. package/App/Modules/Designer/Components/ImageColorize/index.js +0 -636
  155. package/App/Modules/Designer/Components/ImageColorize/index.story.js +0 -73
  156. package/App/Modules/Designer/Components/ImageControlbox/index.js +0 -302
  157. package/App/Modules/Designer/Components/ImageEditDialog/ImageThumbnail.js +0 -171
  158. package/App/Modules/Designer/Components/ImageEditDialog/ImageUpload.js +0 -478
  159. package/App/Modules/Designer/Components/ImageEditDialog/index.js +0 -716
  160. package/App/Modules/Designer/Components/ImageEditDialog/res/baseline_colorize_black_24dp.png +0 -0
  161. package/App/Modules/Designer/Components/ImageEditDialog/res/checkers_tile.png +0 -0
  162. package/App/Modules/Designer/Components/ImageLibraryFilter/index.js +0 -179
  163. package/App/Modules/Designer/Components/ImageLibraryThumbnail/Styles.scss +0 -14
  164. package/App/Modules/Designer/Components/ImageLibraryThumbnail/index.js +0 -165
  165. package/App/Modules/Designer/Components/ObjectTools/index.js +0 -146
  166. package/App/Modules/Designer/Components/Select/index.js +0 -171
  167. package/App/Modules/Designer/Components/TextControlbox/TextFormatIcon.js +0 -48
  168. package/App/Modules/Designer/Components/TextControlbox/index.js +0 -656
  169. package/App/Modules/Designer/Components/TextControlbox/index.story.js +0 -109
  170. package/App/Modules/Designer/Components/TextControlbox/index.test.js +0 -172
  171. package/App/Modules/Designer/Containers/AddGalleryImage.js +0 -90
  172. package/App/Modules/Designer/Containers/AddVisualElement.js +0 -166
  173. package/App/Modules/Designer/Containers/CloseDesignEditor.js +0 -32
  174. package/App/Modules/Designer/Containers/CloseGraphicsEditorButton.js +0 -32
  175. package/App/Modules/Designer/Containers/ColorPalettes.js +0 -145
  176. package/App/Modules/Designer/Containers/DesignAreaControlbox.js +0 -54
  177. package/App/Modules/Designer/Containers/Designer.js +0 -37
  178. package/App/Modules/Designer/Containers/DesignerSelectionToolbox.js +0 -116
  179. package/App/Modules/Designer/Containers/EditDesignButton.js +0 -35
  180. package/App/Modules/Designer/Containers/ImageEditDialog.js +0 -1130
  181. package/App/Modules/Designer/Designer.js +0 -231
  182. package/App/Modules/Designer/DesignerScreen.js +0 -233
  183. package/App/Modules/Designer/Layouts/DefaultLayout.js +0 -196
  184. package/App/Modules/Designer/Layouts/Mobile/TwoSideBottomBar.js +0 -50
  185. package/App/Modules/Designer/Layouts/PopupAreaProvider.js +0 -186
  186. package/App/Modules/Designer/Utils/FontFaceRepository.js +0 -82
  187. package/App/Modules/Designer/Utils/ImageEditUtils.js +0 -104
  188. package/App/Modules/Designer/Utils/Transformers.js +0 -164
  189. package/App/Modules/Designer/setupDesigner.js +0 -182
  190. package/App/Modules/Designer/withActiveCanvas.js +0 -136
  191. package/App/Modules/Visualization/AlignTargetContainer.js +0 -55
  192. package/App/Modules/Visualization/CreatorAlignTarget.js +0 -41
  193. package/App/Modules/Visualization/DefaultVisualizationProvider.js +0 -105
  194. package/App/Modules/Visualization/DesignerAlignTarget.js +0 -45
  195. package/App/Modules/Visualization/Utils/getFirstDataURLFromScreenshotsObj.js +0 -20
  196. package/App/Reducers/Actions.js +0 -297
  197. package/App/Reducers/ConfigurationMode/Actions.js +0 -21
  198. package/App/Reducers/ConfigurationMode/Reducer.js +0 -80
  199. package/App/Reducers/ConfigurationMode/Selectors.js +0 -84
  200. package/App/Reducers/Configurator/Actions.js +0 -1417
  201. package/App/Reducers/Configurator/AttributeSelectors.js +0 -32
  202. package/App/Reducers/Configurator/Modifiers.js +0 -35
  203. package/App/Reducers/Configurator/Reducer.js +0 -639
  204. package/App/Reducers/Configurator/Selectors.js +0 -242
  205. package/App/Reducers/Confirm/Actions.js +0 -84
  206. package/App/Reducers/Confirm/Reducer.js +0 -30
  207. package/App/Reducers/DesignArea/Actions.js +0 -76
  208. package/App/Reducers/DesignArea/DesignElementSelectors.js +0 -114
  209. package/App/Reducers/DesignArea/MaskSelectors.js +0 -101
  210. package/App/Reducers/DesignArea/Reducer.js +0 -150
  211. package/App/Reducers/DesignArea/Selectors.js +0 -1314
  212. package/App/Reducers/DesignArea/Transformers.js +0 -333
  213. package/App/Reducers/DesignData/Actions.js +0 -232
  214. package/App/Reducers/DesignData/Modifiers.js +0 -328
  215. package/App/Reducers/DesignData/Reducer.js +0 -189
  216. package/App/Reducers/DesignData/Selectors.js +0 -94
  217. package/App/Reducers/DesignData/Transformers.js +0 -27
  218. package/App/Reducers/DesignView/Actions.js +0 -19
  219. package/App/Reducers/DesignView/Reducer.js +0 -165
  220. package/App/Reducers/DesignView/Selectors.js +0 -130
  221. package/App/Reducers/DesignView/Transformers.js +0 -32
  222. package/App/Reducers/Device/Actions.js +0 -16
  223. package/App/Reducers/Device/Reducer.js +0 -51
  224. package/App/Reducers/Fonts/Actions.js +0 -137
  225. package/App/Reducers/Fonts/Reducer.js +0 -39
  226. package/App/Reducers/Fonts/Selectors.js +0 -98
  227. package/App/Reducers/GeneralActions.js +0 -16
  228. package/App/Reducers/ImageGallery/Actions.js +0 -336
  229. package/App/Reducers/ImageGallery/Modifiers.js +0 -67
  230. package/App/Reducers/ImageGallery/Reducer.js +0 -320
  231. package/App/Reducers/ImageGallery/Selectors.js +0 -206
  232. package/App/Reducers/Reducer.js +0 -107
  233. package/App/Reducers/UI/Actions.js +0 -191
  234. package/App/Reducers/UI/Reducer.js +0 -98
  235. package/App/Reducers/UI/Selectors.js +0 -32
  236. package/App/Reducers.js +0 -48
  237. package/App/Routing.js +0 -168
  238. package/App/Screens/Configurator/CalculationWidgetScreen.js +0 -84
  239. package/App/Screens/Configurator/Components/AmountSelection/Styles.scss +0 -17
  240. package/App/Screens/Configurator/Components/AmountSelection/index.js +0 -170
  241. package/App/Screens/Configurator/Components/AmountSelection/index.story.js +0 -36
  242. package/App/Screens/Configurator/Components/CalculationWidget/index.js +0 -652
  243. package/App/Screens/Configurator/Components/CalculationWidget/index.story.js +0 -154
  244. package/App/Screens/Configurator/Components/CalculationWidget/index.test.js +0 -142
  245. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/ConfigurationModeSwitch.js +0 -82
  246. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/index.js +0 -15
  247. package/App/Screens/Configurator/Components/Confirm/Styles.scss +0 -0
  248. package/App/Screens/Configurator/Components/Confirm/index.js +0 -105
  249. package/App/Screens/Configurator/Components/DesignApproval/index.js +0 -76
  250. package/App/Screens/Configurator/Components/DesignApproval/index.story.js +0 -27
  251. package/App/Screens/Configurator/Components/DesignApproval/index.test.js +0 -31
  252. package/App/Screens/Configurator/Components/Error/index.js +0 -106
  253. package/App/Screens/Configurator/Components/FallbackVisualization/FallbackVisualization.js +0 -96
  254. package/App/Screens/Configurator/Components/FileUpload/FileUploadBase.js +0 -1
  255. package/App/Screens/Configurator/Components/FullScreenView/index.js +0 -303
  256. package/App/Screens/Configurator/Components/FullScreenView/index.test.js +0 -28
  257. package/App/Screens/Configurator/Components/ImageLoader/ImageLoader.js +0 -96
  258. package/App/Screens/Configurator/Components/LandscapeInformation/index.js +0 -75
  259. package/App/Screens/Configurator/Components/NoVisualization/NoVisualization.js +0 -35
  260. package/App/Screens/Configurator/Components/PreviewPortal/index.js +0 -246
  261. package/App/Screens/Configurator/Components/Styles.scss +0 -1
  262. package/App/Screens/Configurator/Components/Thumbnail/index.js +0 -394
  263. package/App/Screens/Configurator/Components/Thumbnail/index.test.js +0 -50
  264. package/App/Screens/Configurator/Components/TotalPrice/TotalPrice.js +0 -57
  265. package/App/Screens/Configurator/Containers/AmountPrice.js +0 -84
  266. package/App/Screens/Configurator/Containers/CalculationWidget.js +0 -278
  267. package/App/Screens/Configurator/Containers/ConfigurationModeSwitch.js +0 -81
  268. package/App/Screens/Configurator/Containers/Confirm.js +0 -37
  269. package/App/Screens/Configurator/Containers/DesignApproval.js +0 -129
  270. package/App/Screens/Configurator/Containers/FallbackVisualization.js +0 -32
  271. package/App/Screens/Configurator/Containers/FullScreenView.js +0 -46
  272. package/App/Screens/Configurator/Containers/Thumbnail.js +0 -41
  273. package/App/Screens/Configurator/Containers/Visualization.js +0 -13
  274. package/App/Screens/Configurator/DesignerUI.js +0 -215
  275. package/App/Screens/Configurator/DynamicComponents.js +0 -40
  276. package/App/Screens/Configurator/Screen.js +0 -236
  277. package/App/Screens/Configurator/ScreenPropTypes.js +0 -45
  278. package/App/Screens/Configurator/ThemeProvider.js +0 -298
  279. package/App/Screens/DesignerProductPreview/Constants.js +0 -12
  280. package/App/Screens/DesignerProductPreview/DesignerProductPreviewManager.js +0 -554
  281. package/App/Screens/DesignerProductPreview/Screen.js +0 -407
  282. package/App/Screens.js +0 -42
  283. package/App/ServiceLocator.js +0 -309
  284. package/App/Services/AdminareaCommunicationService.js +0 -149
  285. package/App/Services/AnalyticsService.js +0 -403
  286. package/App/Services/ConfiguratorService.js +0 -1122
  287. package/App/Services/DesignDataService.js +0 -3249
  288. package/App/Services/DesignerService.js +0 -496
  289. package/App/Services/InteractionService.js +0 -782
  290. package/App/Services/UIService.js +0 -129
  291. package/App/Services/VisualizationService.js +0 -842
  292. package/App/Shared/Components/AcceptDesign/index.js +0 -166
  293. package/App/Shared/Components/AddToBasket/index.js +0 -194
  294. package/App/Shared/Components/AddToBasket/index.story.js +0 -47
  295. package/App/Shared/Components/AlertDialog/index.js +0 -138
  296. package/App/Shared/Components/AmountInput/Styles.scss +0 -6
  297. package/App/Shared/Components/AmountInput/index.js +0 -296
  298. package/App/Shared/Components/AmountInput/index.story.js +0 -29
  299. package/App/Shared/Components/AmountPrice/index.js +0 -925
  300. package/App/Shared/Components/AmountPrice/index.story.js +0 -112
  301. package/App/Shared/Components/AmountPrice/index.test.js +0 -125
  302. package/App/Shared/Components/Analytics/AnalyticsWrapper.js +0 -49
  303. package/App/Shared/Components/BulkNames/index.js +0 -319
  304. package/App/Shared/Components/CallToAction/index.js +0 -220
  305. package/App/Shared/Components/Header/Header.js +0 -150
  306. package/App/Shared/Components/Header/index.js +0 -15
  307. package/App/Shared/Components/Header/index.story.js +0 -143
  308. package/App/Shared/Components/InformationTag/InformationTag.js +0 -155
  309. package/App/Shared/Components/LicenseNotice/LicenseNotice.js +0 -148
  310. package/App/Shared/Components/LicenseNotice/index.js +0 -15
  311. package/App/Shared/Components/LoadConfiguration/index.js +0 -218
  312. package/App/Shared/Components/MessageBox/index.js +0 -84
  313. package/App/Shared/Components/MessageBox/index.story.js +0 -49
  314. package/App/Shared/Components/Notification/index.js +0 -105
  315. package/App/Shared/Components/Notification/index.story.js +0 -55
  316. package/App/Shared/Components/PdfDownload/index.js +0 -150
  317. package/App/Shared/Components/PlusMinusInput/index.js +0 -118
  318. package/App/Shared/Components/PriceList/index.js +0 -237
  319. package/App/Shared/Components/PriceList/index.story.js +0 -114
  320. package/App/Shared/Components/PriceOverview/index.js +0 -177
  321. package/App/Shared/Components/PriceOverview/index.story.js +0 -215
  322. package/App/Shared/Components/ProductVariant/Image.js +0 -75
  323. package/App/Shared/Components/ProductVariant/Styles.scss +0 -11
  324. package/App/Shared/Components/ProductVariant/index.js +0 -477
  325. package/App/Shared/Components/ProductVariant/index.story.js +0 -283
  326. package/App/Shared/Components/Progress/Progress.js +0 -59
  327. package/App/Shared/Components/ReceiveOfferForm/index.js +0 -432
  328. package/App/Shared/Components/ReceiveOfferForm/index.story.js +0 -32
  329. package/App/Shared/Components/ReceiveOfferForm/index.test.js +0 -36
  330. package/App/Shared/Components/SaveConfiguration/index.js +0 -286
  331. package/App/Shared/Components/SendEmail/index.js +0 -103
  332. package/App/Shared/Components/Stepper/index.js +0 -136
  333. package/App/Shared/Components/Stepper/index.story.js +0 -38
  334. package/App/Shared/Components/ToolbarList/index.js +0 -231
  335. package/App/Shared/Components/ToolbarList/index.story.js +0 -33
  336. package/App/Shared/Components/VariantChooser/index.js +0 -270
  337. package/App/Shared/Components/VariantChooser/index.story.js +0 -100
  338. package/App/Shared/Containers/AlertMessages.js +0 -37
  339. package/App/Shared/Containers/AmountPrice/AmountPriceAdminareaWrapper.js +0 -40
  340. package/App/Shared/Containers/AmountPrice/index.js +0 -284
  341. package/App/Shared/Containers/BulkNames.js +0 -310
  342. package/App/Shared/Containers/Error.js +0 -37
  343. package/App/Shared/Containers/GlobalLoader.js +0 -25
  344. package/App/Shared/Containers/Header/index.js +0 -178
  345. package/App/Shared/Containers/LicenseNotice/LicenseNotice.js +0 -26
  346. package/App/Shared/Containers/LicenseNotice/index.js +0 -15
  347. package/App/Shared/Containers/LoadConfiguration/LoadConfiguration.js +0 -146
  348. package/App/Shared/Containers/LoadConfiguration/index.js +0 -15
  349. package/App/Shared/Containers/PdfDownload/index.js +0 -39
  350. package/App/Shared/Containers/ProductVariant/ProductVariant.js +0 -339
  351. package/App/Shared/Containers/ProductVariant/index.js +0 -15
  352. package/App/Shared/Containers/SaveConfiguration.js +0 -49
  353. package/App/Shared/Containers/SendEmail/SendEmail.js +0 -45
  354. package/App/Shared/Containers/SendEmail/index.js +0 -15
  355. package/App/Shared/Providers/DefaultCanvasProvider.js +0 -86
  356. package/App/Storage.js +0 -17
  357. package/App/Store.js +0 -87
  358. package/App/Styles.scss +0 -0
  359. package/App/Translations.js +0 -88
  360. package/App/Utils/createMessageInterface.js +0 -52
  361. package/App/Utils/customClassName.js +0 -12
  362. package/App/Utils/getContrastText.js +0 -27
  363. package/App/Utils/getImageUrl.js +0 -32
  364. package/App/Variables.scss +0 -84
  365. package/App/configuration.js +0 -421
  366. package/App/index.js +0 -52
  367. package/App/initServices.js +0 -67
  368. package/App/setup.js +0 -22
  369. package/App/versionInfo.js +0 -8
  370. package/Framework/Api.js +0 -178
  371. package/Framework/ComponentContainer.js +0 -165
  372. package/Framework/Components/Carousel/Styles.scss +0 -85
  373. package/Framework/Components/Carousel/index.js +0 -322
  374. package/Framework/Components/Dialog/Style.scss +0 -79
  375. package/Framework/Components/Dialog/index.js +0 -721
  376. package/Framework/Components/DialogSelect/Styles.scss +0 -53
  377. package/Framework/Components/DialogSelect/index.js +0 -331
  378. package/Framework/Components/Input/index.js +0 -147
  379. package/Framework/Components/LoadingOverlay/Styles.scss +0 -37
  380. package/Framework/Components/LoadingOverlay/index.js +0 -33
  381. package/Framework/Components/Markdown/index.js +0 -62
  382. package/Framework/Components/Mobile/index.js +0 -33
  383. package/Framework/CustomError.js +0 -51
  384. package/Framework/Helpers/TransitionDetect.js +0 -116
  385. package/Framework/Helpers/isLandscapeMobile.js +0 -14
  386. package/Framework/Helpers/isMobileDevice.js +0 -17
  387. package/Framework/Helpers/isMobileSize.js +0 -13
  388. package/Framework/Mixins.scss +0 -235
  389. package/Framework/Services/AbstractAdminareaCommunicationService.js +0 -48
  390. package/Framework/Services/AbstractAsyncService.js +0 -44
  391. package/Framework/Services/AbstractConfiguratorService.js +0 -47
  392. package/Framework/Services/AbstractInteractionService.js +0 -50
  393. package/Framework/Services/AbstractStoreService.js +0 -42
  394. package/Framework/Services/AbstractUIService.js +0 -53
  395. package/Framework/Services/AbstractVisualizationService.js +0 -47
  396. package/Framework/Services/AsyncService.js +0 -93
  397. package/Framework/Services/StoreService.js +0 -237
  398. package/Framework/Variables.scss +0 -22
  399. package/Framework/bindDecorator.js +0 -173
  400. package/Framework/i18n.js +0 -383
  401. package/Resources/Icons/MaterialUI/Icons/AddCircle.js +0 -13
  402. package/Resources/Icons/MaterialUI/Icons/RemoveCircle.js +0 -13
  403. package/Resources/Icons/MaterialUI/fontFace.scss +0 -37
  404. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.eot +0 -0
  405. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.svg +0 -2373
  406. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.ttf +0 -0
  407. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff +0 -0
  408. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff2 +0 -0
  409. package/Resources/Icons/fonts/ionicons.eot +0 -0
  410. package/Resources/Icons/fonts/ionicons.svg +0 -2230
  411. package/Resources/Icons/fonts/ionicons.ttf +0 -0
  412. package/Resources/Icons/fonts/ionicons.woff +0 -0
  413. package/Resources/Icons/ionicons.scss +0 -1489
  414. package/Resources/Icons/ioniconsExtend.scss +0 -1469
  415. package/Resources/Icons/v4/fontFace.scss +0 -11
  416. package/Resources/Icons/v4/fonts/ionicons.eot +0 -0
  417. package/Resources/Icons/v4/fonts/ionicons.svg +0 -2090
  418. package/Resources/Icons/v4/fonts/ionicons.ttf +0 -0
  419. package/Resources/Icons/v4/fonts/ionicons.woff +0 -0
  420. package/Resources/Icons/v4/fonts/ionicons.woff2 +0 -0
  421. package/Resources/Icons/v4/icons.scss +0 -15
  422. package/Resources/Icons/v4/iconsExtend.scss +0 -7
  423. package/Resources/Images/designer_placeholder_logo.svg +0 -1
  424. package/Resources/Masks/circle.svg +0 -4
  425. package/Shared/Components/CustomDialog.js +0 -132
  426. package/Shared/Components/CustomDialogSelect.js +0 -161
  427. package/Shared/Components/MainButton.js +0 -81
  428. package/Shared/ErrorTypes/DeferredError.js +0 -51
  429. package/Shared/HOCs/ResizeDetect/ResizeDetect.dev.js +0 -60
  430. package/Shared/HOCs/ResizeDetect/ResizeDetect.js +0 -217
  431. package/Shared/HOCs/getDisplayName.js +0 -10
  432. package/Shared/HOCs/withFixedChangeHandler.js +0 -46
  433. package/Shared/PropTypes/ReactComponent.js +0 -13
  434. package/Shared/Styles/absoluteCenter.js +0 -17
  435. package/Utils/Array/isIdentical.js +0 -38
  436. package/Utils/Async/AsyncManager.js +0 -128
  437. package/Utils/Async/Deferred.js +0 -146
  438. package/Utils/Async/ObjectLock.js +0 -38
  439. package/Utils/Decorators/Observable.js +0 -130
  440. package/Utils/Dev/HOCs/withFilePicker.js +0 -101
  441. package/Utils/Dev/isDev.js +0 -21
  442. package/Utils/Events/pointerEvent.js +0 -199
  443. package/Utils/Events/preventEventDoubling.js +0 -23
  444. package/Utils/Function/cached.js +0 -64
  445. package/Utils/Function/createDebounceManager.js +0 -77
  446. package/Utils/Function/createSelector.js +0 -62
  447. package/Utils/Function/memoize.js +0 -46
  448. package/Utils/Function/sendMessage.js +0 -22
  449. package/Utils/Helper/createSelectionRangeMemo.js +0 -45
  450. package/Utils/Immutable/set.js +0 -81
  451. package/Utils/Math/conversions.js +0 -13
  452. package/Utils/Math/isPositiveNumber.js +0 -12
  453. package/Utils/Redux/createActionWithGlobalState.js +0 -23
  454. package/Utils/Styles/combineMediaQueries.js +0 -24
  455. package/Utils/Styles/createCheckerBoardBackground.js +0 -22
  456. package/Utils/Test/CallOrderChecker.js +0 -29
  457. package/Utils/Test/createStoreProvider.js +0 -33
  458. package/Utils/Test/formDataToJSON.js +0 -20
  459. package/Utils/Test/mountWithState.js +0 -40
  460. package/index.js +0 -8
package/README.md CHANGED
@@ -1,17 +1,38 @@
1
1
  # configurator-frontendgui
2
2
 
3
3
  ## Setup for Development
4
- 1. Follow the "preparation", "install" and "start development" steps in frontend/README.md
5
- 1. Open the core app in the browser: http://localhost:3001/identifier:softshell_designer_2d
4
+ 1. Install NodeJs `> 8.x`
5
+ 1. `npm install` - when using NodeJs `>= 13.x`: `npm install --legacy-peer-deps`
6
+ 1. `npm start`
7
+ 1. Open http://localhost:3001/identifier:softshell_designer_2d
6
8
  1. 'hostsByNodeEnv.development' in src/App/configuration.js is configurable
7
9
  thus allowing to use e.g. your local api
8
10
 
11
+
9
12
  ## Ready to build the artifacts
10
- - run `pnpm build` from project scope (does not build workspace dependencies automatically)
11
- - or run `pnpm build` from workspace root
13
+ 1. `npm install` - when using NodeJs `>= 13.x`: `npm install --legacy-peer-deps`
14
+ 1. `npm run build`
15
+ 1. `npm run build`
12
16
 
13
17
  ## Start storybook in project
14
- 1. `pnpm run storybook`
18
+ 1. `npm run storybook`
15
19
  1. `storybook starts on http://localhost:9001/`
16
20
 
21
+ ## Structuring package.json
22
+ - dependencies section
23
+ - contains several packages that are normally dev dependencies, but they are needed to compile the package when
24
+ it's installed as a dependency in the client projects
25
+ (see the [Usage as a dependency](#usage-as-a-dependency) section)
26
+ - **important:** if you add any package that's being used in the packaging process, it should be listed here
27
+ (see the "package" scripts in [package.json](package.json))
28
+ - devDependencies section
29
+ - all the packages that are needed for the development and deployment process listed here
30
+ - **important:** the packages that are needed for the packaging process should go into the dependencies section
31
+ because this is the only way to get them installed before running the install script in the owner project
32
+ - peerDependencies section
33
+ - list of all the packages that are needed for the development and deployment process of the client projects
34
+ that use this package as a dependency
35
+ - **important:** currently this list is minimal, it does not tell what to use for testing or linting,
36
+ since the client project may contain only configuration data without any additional custom implementation
37
+
17
38
  ## [Guidelines for automated testing](docs/TestingGuidelines.md)
@@ -0,0 +1,46 @@
1
+ module.exports = function(api) {
2
+ const presets = [
3
+ '@babel/preset-env',
4
+ '@babel/preset-typescript',
5
+ '@babel/preset-react', // Transpile React components to JavaScript
6
+ ];
7
+
8
+ const plugins = [
9
+ ['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
10
+ '@babel/plugin-proposal-class-properties',
11
+ '@babel/plugin-syntax-dynamic-import',
12
+
13
+ [
14
+ require.resolve('babel-plugin-module-resolver'),
15
+ {
16
+ root: ['./src'],
17
+ },
18
+ ],
19
+ ];
20
+
21
+ const ignore = [];
22
+
23
+ if (api.env('development')) {
24
+ plugins.push('react-hot-loader/babel'); // Enables React code to work with HMR.
25
+ api.cache(true);
26
+ } else if (api.env('production')) {
27
+ ignore.push(
28
+ '**/__tests__', // ignore the whole test directory
29
+ '**/*.test.js', // ignore test files only
30
+ '**/__mocks__'
31
+ );
32
+ api.cache(false);
33
+ } else if (api.env('test')) {
34
+ // makes possible to import ES modules (by transforming them to CommonJS)
35
+ // in node's current LTS version (12.x) ES modules are only experimental,
36
+ // for the current status check https://nodejs.org/docs/latest/api/esm.html#esm_modules_ecmascript_modules
37
+ plugins.push(['@babel/plugin-transform-modules-commonjs', { allowTopLevelThis: true }]);
38
+ api.cache(true);
39
+ }
40
+
41
+ return {
42
+ presets,
43
+ plugins,
44
+ ignore,
45
+ };
46
+ };
package/package.json CHANGED
@@ -1,20 +1,44 @@
1
1
  {
2
2
  "name": "@configuratorware/configurator-frontendgui",
3
- "version": "1.27.3-beta.8",
3
+ "version": "1.27.6",
4
4
  "license": "UNLICENSED",
5
5
  "private": false,
6
- "main": "./index.js",
6
+ "main": "./lib/index.js",
7
+ "files": [
8
+ "App",
9
+ "Framework",
10
+ "Resources",
11
+ "src",
12
+ "scripts",
13
+ "babel.config.js",
14
+ "tsconfig.json",
15
+ "public/translations",
16
+ "public/favicon.ico",
17
+ "public/invoke.js",
18
+ "public/DesignerPreviewWidgetDemo.html",
19
+ "public/ConfigurationMessagingDemo.html"
20
+ ],
7
21
  "dependencies": {
22
+ "@babel/cli": "^7.13.14",
23
+ "@babel/core": "^7.13.14",
24
+ "@babel/plugin-proposal-class-properties": "^7.13.0",
25
+ "@babel/plugin-proposal-decorators": "^7.13.5",
26
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
27
+ "@babel/plugin-transform-modules-commonjs": "^7.13.8",
8
28
  "@babel/polyfill": "^7.12.1",
9
- "@configuratorware/scripts": "1.27.3-beta.8",
29
+ "@babel/preset-env": "^7.13.12",
30
+ "@babel/preset-react": "^7.13.13",
31
+ "@babel/preset-typescript": "^7.13.0",
10
32
  "@hot-loader/react-dom": "^17.0.1",
11
- "@material-ui/core": "^4.12.2",
33
+ "@material-ui/core": "^4.11.3",
12
34
  "@material-ui/icons": "^4.11.2",
13
- "@material-ui/lab": "^4.0.0-alpha.60",
35
+ "@material-ui/lab": "^4.0.0-alpha.57",
14
36
  "@tweenjs/tween.js": "^17.6.0",
15
37
  "axios": "^0.21.1",
38
+ "babel-plugin-module-resolver": "^4.1.0",
16
39
  "clsx": "^1.1.1",
17
40
  "console-polyfill": "^0.3.0",
41
+ "cross-env": "^7.0.3",
18
42
  "css-element-queries": "^1.2.3",
19
43
  "fontfaceobserver": "^2.1.0",
20
44
  "hyphenated-de": "^1.2.0",
@@ -32,34 +56,73 @@
32
56
  "react-file-drop": "^0.2.8",
33
57
  "react-hot-loader": "^4.13.0",
34
58
  "react-hyphen": "^1.4.0",
35
- "react-intersection-observer": "^8.32.0",
36
- "react-redux": "^7.2.4",
59
+ "react-intersection-observer": "^8.31.0",
60
+ "react-redux": "^7.2.3",
37
61
  "react-redux-i18n": "^1.9.3",
38
62
  "react-router": "^5.2.0",
39
63
  "react-router-dom": "^5.2.0",
40
64
  "react-swipeable": "^5.5.1",
41
65
  "react-zoom-pan-pinch": "^2.1.3",
42
- "redhotmagma-graphics-editor": "1.27.3-beta.8",
43
- "redhotmagma-visualization": "1.27.3-beta.8",
44
- "redux": "^4.1.0",
66
+ "redhotmagma-graphics-editor": "1.27.6",
67
+ "redhotmagma-visualization": "1.27.6",
68
+ "redux": "^4.0.5",
45
69
  "redux-logger": "^3.0.6",
46
70
  "redux-persist": "^5.10.0",
47
71
  "redux-thunk": "^2.3.0",
72
+ "rimraf": "^3.0.2",
48
73
  "showdown": "^1.9.1",
49
74
  "storage-factory": "^0.2.0",
50
75
  "typeface-roboto": "^1.1.13",
51
76
  "url-search-params-polyfill": "^8.1.1",
52
77
  "uuid": "^3.4.0"
53
78
  },
54
- "peerDependencies": {
55
- "@babel/plugin-proposal-class-properties": "^7.13.0",
56
- "@babel/plugin-proposal-decorators": "^7.13.5",
57
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
58
- "@babel/preset-env": "^7.13.12",
59
- "@babel/preset-react": "^7.13.13",
60
- "@babel/preset-typescript": "^7.13.0",
79
+ "devDependencies": {
80
+ "@sambego/storybook-state": "^2.0.1",
81
+ "@storybook/addon-actions": "^6.2.1",
82
+ "@storybook/addon-essentials": "^6.2.1",
83
+ "@storybook/addon-links": "^6.2.1",
84
+ "@storybook/builder-webpack5": "^6.2.1",
85
+ "@storybook/react": "^6.2.1",
86
+ "@types/jest": "^26.0.22",
87
+ "@types/lodash": "^4.14.168",
88
+ "babel-eslint": "^10.1.0",
89
+ "babel-jest": "^26.6.3",
61
90
  "babel-loader": "^8.2.2",
62
- "babel-plugin-module-resolver": "^4.1.0",
91
+ "css-loader": "^5.2.0",
92
+ "enzyme": "^3.11.0",
93
+ "enzyme-adapter-react-16": "^1.15.6",
94
+ "eslint": "^5.16.0",
95
+ "eslint-config-prettier": "^4.3.0",
96
+ "eslint-plugin-import": "^2.22.1",
97
+ "eslint-plugin-prettier": "^3.3.1",
98
+ "eslint-plugin-react": "^7.23.1",
99
+ "eslint-plugin-react-hooks": "^2.5.1",
100
+ "file-loader": "^6.2.0",
101
+ "html-webpack-plugin": "^5.3.1",
102
+ "husky": "^3.1.0",
103
+ "jest": "^26.6.3",
104
+ "jest-environment-enzyme": "^7.1.2",
105
+ "jest-enzyme": "^7.1.2",
106
+ "jsdom": "^16.5.2",
107
+ "lint-staged": "^9.5.0",
108
+ "mini-css-extract-plugin": "^1.4.0",
109
+ "node-sass": "^5.0.0",
110
+ "optimize-css-assets-webpack-plugin": "^5.0.4",
111
+ "prettier": "^1.19.1",
112
+ "redux-mock-store": "^1.5.4",
113
+ "resolve-url-loader": "^3.1.2",
114
+ "sass-loader": "^11.0.1",
115
+ "sinon": "^10.0.0",
116
+ "style-loader": "^2.0.0",
117
+ "terser-webpack-plugin": "^5.1.1",
118
+ "ts-jest": "^26.5.4",
119
+ "url-loader": "^4.1.1",
120
+ "webpack": "^5.28.0",
121
+ "webpack-bundle-analyzer": "^4.4.0",
122
+ "webpack-cli": "^4.6.0",
123
+ "webpack-dev-server": "^3.11.2"
124
+ },
125
+ "peerDependencies": {
63
126
  "css-loader": "^5.2.0",
64
127
  "file-loader": "^6.2.0",
65
128
  "mini-css-extract-plugin": "^1.4.0",
@@ -74,7 +137,26 @@
74
137
  "webpack-dev-server": "^3.11.2"
75
138
  },
76
139
  "scripts": {
140
+ "start": "webpack serve --port 3001 --host 0.0.0.0",
141
+ "start:dev": "webpack-dev-server --port 3333 --config dev/webpack.config.js",
142
+ "build": "webpack --config webpack.production.config.js",
143
+ "package": "npm run package:clean && npm run package:compile && npm run package:copy && npm run package:after",
144
+ "package:clean": "rimraf ./lib",
145
+ "package:compile": "cross-env NODE_ENV=production babel ./src --out-dir ./lib --extensions .ts,.tsx,.js,.jsx",
146
+ "package:copy": "node ./scripts/cpPath.js ./src ./lib \"\\.(scss|eot|svg|ttf|woff|woff2|png)$\"",
147
+ "package:install-packages": "node ./packages/install.js",
148
+ "package:after": "node ./scripts/moveLibToPackageRoot.js",
77
149
  "copy-public": "node ./scripts/cpPublic.js",
78
- "install": "npm run copy-public"
150
+ "install": "npm run package && npm run copy-public",
151
+ "build:test": "npm run build && http-server -P http://localhost:10030",
152
+ "build:profile": "webpack --config webpack.production.config.js --profile --json > stats.json",
153
+ "storybook": "start-storybook -p 6006",
154
+ "test": "jest",
155
+ "test:dev": "jest --watch",
156
+ "analyze": "npm run build:profile && webpack-bundle-analyzer stats.json ./public",
157
+ "lint": "eslint ./ --ext .js,.jsx",
158
+ "lint-ci": "eslint ./ --ext .js,.jsx -c .eslintrc.ci.json --quiet",
159
+ "lint-fix": "eslint ./ --ext .js,.jsx --fix",
160
+ "build-storybook": "build-storybook"
79
161
  }
80
- }
162
+ }
@@ -0,0 +1,55 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <style>
5
+ html, body {
6
+ margin: 0;
7
+ display: flex;
8
+ }
9
+ </style>
10
+ <meta charset="UTF-8">
11
+ <title>Test for configurator messaging</title>
12
+ </head>
13
+ <body>
14
+ <script>
15
+ window.addEventListener('message', (event) => {
16
+ const data = event.data;
17
+ console.log('message posted from the embedded page', data);
18
+
19
+ const method = data.method;
20
+ const code = data.code;
21
+
22
+ switch (method) {
23
+ case 'configurationsaved': {
24
+ console.log('the user clicked the save button in the top right corner, and received the following code: ' + code);
25
+ // do other actions here
26
+ break;
27
+ }
28
+ case 'addtocart': {
29
+ console.log('the user clicked the "add to cart" button in the bottom right corner, and received the following code: ' + code);
30
+ // do other actions here
31
+ break;
32
+ }
33
+ default: {
34
+ console.log('unhandled or unknown method: ' + method);
35
+ }
36
+ }
37
+ });
38
+
39
+ function onButtonClicked() {
40
+ const options = document.getElementById('input_switch_options').value;
41
+ if (options) {
42
+ document.getElementById('configurator_page').contentWindow.postMessage({type: 'switch_options', options });
43
+ }
44
+ }
45
+ </script>
46
+ <iframe src="/identifier:softshell_creatordesigner_2d" id="configurator_page" style="width: 80vw; height: 100vh; border: 0;"></iframe>
47
+ <div style="width: 20vw; height: 100vh;">
48
+
49
+ <textarea type="text" style="width: 17vw; height: 40vw; margin: 1vw" id="input_switch_options">
50
+ [{"identifier":"softshell_body","selectedoptions":[{"identifier":"softshell_navy","amount":1}]},{"identifier":"softshell_hood","selectedoptions":[{"identifier":"softshell_lime"}]}]
51
+ </textarea>
52
+ <button style="margin-left: 6vw" onclick="onButtonClicked()">Switch Options</button>
53
+ </div>
54
+ </body>
55
+ </html>
@@ -0,0 +1,135 @@
1
+ /* eslint no-console: 0 */
2
+
3
+ /**
4
+ * This script is made to copy specific files with their folder structure
5
+ *
6
+ * usage: node ./scripts/cpPath.js src dst [filterRegExp]
7
+ *
8
+ * @author boda@redhotmagma.de
9
+ */
10
+
11
+ const fs = require('fs');
12
+ const path = require('path');
13
+
14
+ const { mkDirDeep, walkDir } = require('./utils/fileSystem');
15
+
16
+ let src = null;
17
+ let dst = null;
18
+ let reg = null;
19
+
20
+ process.argv.forEach(function(val, index) {
21
+ switch (index) {
22
+ case 2:
23
+ src = val;
24
+ break;
25
+ case 3:
26
+ dst = val;
27
+ break;
28
+ case 4:
29
+ reg = new RegExp(val);
30
+ }
31
+ });
32
+
33
+ if (!src || !fs.existsSync(src)) {
34
+ throw new Error('src must be an existing directory');
35
+ }
36
+ if (!dst || !fs.existsSync(dst)) {
37
+ throw new Error('dst must be an existing directory');
38
+ }
39
+
40
+ function copyWithParent(src, dst) {
41
+ if (typeof dst === 'function') {
42
+ dst = dst(src);
43
+ }
44
+ mkDirDeep(dst.replace(/[/\\][^/\\]+$/, ''));
45
+ console.log(src + ' -> ' + dst);
46
+ const fileExt = src.replace(/.+\.([\w]+)$/, '$1');
47
+ switch (fileExt) {
48
+ case 'scss':
49
+ fs.readFile(src, 'utf8', function read(err, data) {
50
+ if (err) {
51
+ throw err;
52
+ }
53
+ const modifiedContent = prepareSassFile(src, data);
54
+ fs.writeFile(dst, modifiedContent, 'utf8', function write(err) {
55
+ if (err) {
56
+ throw err;
57
+ }
58
+ });
59
+ });
60
+ break;
61
+ default:
62
+ fs.createReadStream(src).pipe(fs.createWriteStream(dst));
63
+ }
64
+ }
65
+
66
+ function prepareSassFile(relativeSrc, content) {
67
+ const src = path.resolve(relativeSrc).replace(/\\/g, '/');
68
+ if (!content || !content.match) {
69
+ console.log('Strange file: ' + src);
70
+ return content;
71
+ }
72
+ const replaceImports = content.match(/@import ['"][^.~].+/g);
73
+ let output = content;
74
+ if (replaceImports) {
75
+ console.log('Resolving imports in sass file: ' + src);
76
+ const pathUp =
77
+ '..' +
78
+ src
79
+ .match(/src\/.+/)[0]
80
+ .match(/\//g)
81
+ .splice(1)
82
+ .join('..');
83
+ for (let i in replaceImports) {
84
+ const pathToImport = replaceImports[i].replace(/@import ['"][/]?([^'"]+).*/, '$1');
85
+ const resolverPath = pathUp + pathToImport;
86
+
87
+ const srcPathDir = src.replace(/\/[^/]+$/, '/');
88
+ const relativeImportPath = srcPathDir + pathToImport;
89
+ const rootImportPath = srcPathDir + resolverPath;
90
+
91
+ let resolveRootImport = false;
92
+ try {
93
+ fs.accessSync(relativeImportPath);
94
+ } catch (err) {
95
+ try {
96
+ fs.accessSync(relativeImportPath + '.scss');
97
+ } catch (err) {
98
+ try {
99
+ fs.accessSync(rootImportPath);
100
+ resolveRootImport = true;
101
+ } catch (err) {
102
+ try {
103
+ fs.accessSync(rootImportPath + '.scss');
104
+ resolveRootImport = true;
105
+ } catch (err) {
106
+ throw 'Cannot resolve import path: ' + replaceImports[i] + ' in ' + src;
107
+ }
108
+ }
109
+ }
110
+ }
111
+ if (resolveRootImport) {
112
+ console.log(' ' + pathToImport + ' -> ' + resolverPath);
113
+ const resolvedImport = replaceImports[i].replace(
114
+ /(@import ['"])[^'"]+(.*)/,
115
+ '$1' + resolverPath + '$2'
116
+ );
117
+ output = output.replace(replaceImports[i], resolvedImport);
118
+ }
119
+ }
120
+ }
121
+ return output;
122
+ }
123
+
124
+ console.log(
125
+ '\x1b[37m\x1b[42m%s\x1b[0m',
126
+ 'Copying files from ' + src + ' to ' + dst + (reg ? ' with filter: ' + reg : ' without filter')
127
+ );
128
+
129
+ walkDir(src, function(f) {
130
+ if (reg === null || (reg && reg.test(f))) {
131
+ copyWithParent(f, function(path) {
132
+ return dst + path.replace(src, '');
133
+ });
134
+ }
135
+ });
@@ -16,15 +16,15 @@
16
16
  *
17
17
  * Runs only when installing this package as a dependency in client projects
18
18
  *
19
- * usage: node ./scripts/cpPublic.js
19
+ * usage: node ./scripts/cpTranslations.js
20
20
  *
21
21
  * @author boda@redhotmagma.de
22
22
  */
23
23
 
24
24
  const path = require('path');
25
25
 
26
- const { cpDirDeep, testMatchers } = require('@configuratorware/scripts/utils/fileSystem');
27
- const { isDependency } = require('@configuratorware/scripts/utils/process');
26
+ const { cpDirDeep, testMatchers } = require('./utils/fileSystem');
27
+ const { isDependency } = require('./utils/process');
28
28
 
29
29
  // keep existing files listed below
30
30
  const test = testMatchers.keepIfExists(/favicon\.ico$/);
@@ -38,5 +38,5 @@ if (isDependency()) {
38
38
  const src = path.resolve(__dirname, '../public');
39
39
  const dst = path.resolve(__dirname, '../../../../public');
40
40
 
41
- cpDirDeep(src, dst, { testFn: test });
41
+ cpDirDeep(src, dst, test);
42
42
  }
@@ -6,7 +6,7 @@ const path = require('path');
6
6
  const webpack = require('webpack');
7
7
  const fs = require('fs');
8
8
 
9
- const { version } = require('../package.json');
9
+ const version = require('../package.json').version;
10
10
 
11
11
  function getConfig(mode, dirname) {
12
12
  try {
@@ -84,8 +84,7 @@ function getConfig(mode, dirname) {
84
84
  'process.env.FRONTENDGUI_VERSION': JSON.stringify(version),
85
85
  });
86
86
 
87
- return {
88
- ...commonConfig,
87
+ return Object.assign({}, commonConfig, {
89
88
  mode: 'development',
90
89
  cache: true,
91
90
  devtool: 'eval-cheap-module-source-map',
@@ -133,21 +132,20 @@ function getConfig(mode, dirname) {
133
132
  },
134
133
  plugins: [env, new webpack.HotModuleReplacementPlugin()],
135
134
  resolve: Object.assign({}, commonConfig.resolve, {
136
- ...commonConfig.resolve,
137
135
  alias: {
138
- ...commonConfig.resolve.alias,
139
- 'react-dom': path.resolve(dirname, 'node_modules/@hot-loader/react-dom'),
136
+ 'react-dom': '@hot-loader/react-dom',
140
137
  },
141
138
  }),
142
139
  optimization: {
143
140
  moduleIds: 'named',
144
141
  },
145
- };
142
+ });
146
143
  }
147
144
 
148
145
  case 'prod': {
149
146
  const TerserPlugin = require('terser-webpack-plugin');
150
147
  const MiniCssExtractPlugin = require('mini-css-extract-plugin');
148
+ const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
151
149
 
152
150
  const env = new webpack.DefinePlugin({
153
151
  'process.env.NODE_ENV': JSON.stringify('production'),
@@ -158,6 +156,8 @@ function getConfig(mode, dirname) {
158
156
  filename: 'bundle.css',
159
157
  });
160
158
 
159
+ const optimizeCss = new OptimizeCSSAssetsPlugin({});
160
+
161
161
  const minimizer = new TerserPlugin({
162
162
  parallel: true,
163
163
  terserOptions: {
@@ -167,8 +167,7 @@ function getConfig(mode, dirname) {
167
167
  },
168
168
  });
169
169
 
170
- return {
171
- ...commonConfig,
170
+ return Object.assign({}, commonConfig, {
172
171
  mode: 'production',
173
172
  devtool: 'source-map',
174
173
  devServer: {
@@ -205,11 +204,11 @@ function getConfig(mode, dirname) {
205
204
  },
206
205
  ].concat(commonRules),
207
206
  },
208
- plugins: [env, extractSass],
207
+ plugins: [env, extractSass, optimizeCss],
209
208
  optimization: {
210
209
  minimizer: [minimizer],
211
210
  },
212
- };
211
+ });
213
212
  }
214
213
  }
215
214
  } catch (e) {
@@ -0,0 +1,40 @@
1
+ /* eslint no-console: 0 */
2
+
3
+ /**
4
+ * This script is made to copy the compiled source from lib to the root folder
5
+ *
6
+ * Runs only when installing this package as a dependency in client projects
7
+ *
8
+ * usage: node ./scripts/moveLibToPackageRoot.js
9
+ *
10
+ * @author boda@redhotmagma.de
11
+ */
12
+
13
+ const fs = require('fs');
14
+ const path = require('path');
15
+ const rimraf = require('rimraf');
16
+
17
+ const { isDependency } = require('./utils/process');
18
+ const { walkDir } = require('./utils/fileSystem');
19
+
20
+ if (isDependency()) {
21
+ console.log('\x1b[37m\x1b[42m%s\x1b[0m', 'Moving content of lib into the root package directory');
22
+
23
+ const src = path.resolve('./lib');
24
+ const dst = path.resolve('./');
25
+ walkDir(src, function(file) {
26
+ const relativePath = file.replace(src, '');
27
+ const tp = path.resolve(dst + relativePath);
28
+ if (fs.statSync(file).isFile()) {
29
+ fs.createReadStream(file).pipe(fs.createWriteStream(tp));
30
+ } else {
31
+ fs.mkdirSync(tp);
32
+ }
33
+ });
34
+
35
+ rimraf(src, function(err) {
36
+ if (err) {
37
+ console.log('Error occured while clearing the directory: ' + src, err);
38
+ }
39
+ });
40
+ }
@@ -0,0 +1,29 @@
1
+ /* eslint no-console: 0 */
2
+
3
+ const fs = require('fs');
4
+
5
+ let dir = process.argv[2];
6
+
7
+ if (!dir) {
8
+ throw new Error('src must be an existing directory');
9
+ }
10
+
11
+ function rmDir(dirPath) {
12
+ try {
13
+ const files = fs.readdirSync(dirPath);
14
+ if (files.length > 0) {
15
+ for (let f of files) {
16
+ const filePath = dirPath + '/' + f;
17
+ if (fs.statSync(filePath).isFile()) fs.unlinkSync(filePath);
18
+ else rmDir(filePath);
19
+ }
20
+ }
21
+ fs.rmdirSync(dirPath);
22
+ } catch (e) {
23
+ return;
24
+ }
25
+ }
26
+
27
+ console.log('\x1b[32m%s\x1b[0m', 'Removing dir: ' + dir);
28
+
29
+ rmDir(dir);