@configuratorware/configurator-frontendgui 1.28.0-beta.2 → 1.28.2

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 (452) 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 +3 -3
  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.test.js +1 -1
  14. package/src/App/Modules/Creator/Components/OptionAmount/index.test.js +1 -1
  15. package/src/App/Modules/Creator/Components/Optiondetail/index.js +7 -3
  16. package/src/App/Modules/Creator/Components/ProductPart/index.test.js +1 -1
  17. package/src/App/Modules/Designer/Components/AddGalleryImage/index.story.js +1 -1
  18. package/src/App/Modules/Designer/Components/ColorPalettes/index.test.jsx +1 -1
  19. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.test.jsx +1 -1
  20. package/src/App/Modules/Designer/Components/TextControlbox/index.test.jsx +1 -1
  21. package/src/App/Reducers/DesignView/Actions.js +2 -1
  22. package/src/App/Reducers/DesignView/Reducer.js +10 -2
  23. package/src/App/Reducers/DesignView/__mocks__/designerViewData.js +1 -0
  24. package/src/App/Reducers/DesignView/__tests__/Reducer.test.js +22 -0
  25. package/src/App/Reducers/ImageGallery/Actions.js +1 -1
  26. package/src/App/Screens/Configurator/Components/CalculationWidget/index.test.jsx +1 -1
  27. package/src/App/Screens/Configurator/Components/DesignApproval/index.test.jsx +1 -1
  28. package/src/App/Screens/Configurator/Components/FullScreenView/index.test.jsx +1 -1
  29. package/src/App/Screens/Configurator/Containers/AmountPrice.js +1 -1
  30. package/src/App/Screens/Configurator/Containers/Confirm.js +1 -1
  31. package/src/App/Screens/Configurator/Screen.js +1 -1
  32. package/src/App/Services/__tests__/DesignDataService.selectViewForComponent.test.js +53 -0
  33. package/src/App/Shared/Containers/AlertMessages.js +1 -1
  34. package/src/App/Shared/Containers/AmountPrice/index.test.js +1 -1
  35. package/src/App/Shared/Containers/Error.js +1 -1
  36. package/src/App/Shared/Containers/SaveConfiguration.js +1 -1
  37. package/src/App/Translations.js +1 -1
  38. package/src/Framework/i18n.js +3 -2
  39. package/src/Shared/Components/CustomDialog.js +1 -0
  40. package/tsconfig.json +22 -0
  41. package/App/Constant.js +0 -73
  42. package/App/Error/DevelopmentErrorPage/index.js +0 -74
  43. package/App/Error/ErrorBoundary.js +0 -98
  44. package/App/Error/ProductionErrorPage/Style.scss +0 -47
  45. package/App/Error/ProductionErrorPage/index.js +0 -43
  46. package/App/Error/ProductionErrorPage/index.story.js +0 -13
  47. package/App/Error/ProductionErrorPage/res/error_gears.png +0 -0
  48. package/App/Frame.js +0 -95
  49. package/App/Modules/Creator/Components/ConfigurationvariantItem/Styles.scss +0 -33
  50. package/App/Modules/Creator/Components/ConfigurationvariantItem/index.js +0 -118
  51. package/App/Modules/Creator/Components/ConfigurationvariantSelection/Styles.scss +0 -47
  52. package/App/Modules/Creator/Components/ConfigurationvariantSelection/index.js +0 -130
  53. package/App/Modules/Creator/Components/CustomTitleEditor/Styles.scss +0 -43
  54. package/App/Modules/Creator/Components/CustomTitleEditor/index.js +0 -144
  55. package/App/Modules/Creator/Components/ExternalVisualization/index.js +0 -140
  56. package/App/Modules/Creator/Components/FastConfiguration/SelectableRow.js +0 -128
  57. package/App/Modules/Creator/Components/FastConfiguration/Styles.scss +0 -53
  58. package/App/Modules/Creator/Components/FastConfiguration/index.js +0 -280
  59. package/App/Modules/Creator/Components/FastConfigurationRow/Styles.scss +0 -45
  60. package/App/Modules/Creator/Components/FastConfigurationRow/index.js +0 -78
  61. package/App/Modules/Creator/Components/FastConfigurationSelect/Styles.scss +0 -35
  62. package/App/Modules/Creator/Components/FastConfigurationSelect/index.js +0 -251
  63. package/App/Modules/Creator/Components/FormattedNumber/index.js +0 -45
  64. package/App/Modules/Creator/Components/FormattedPrice/index.js +0 -57
  65. package/App/Modules/Creator/Components/FullScreenView/FullScreenView.js +0 -104
  66. package/App/Modules/Creator/Components/Incompatibility/OptionRule/index.js +0 -182
  67. package/App/Modules/Creator/Components/Incompatibility/RuleComponent.js +0 -88
  68. package/App/Modules/Creator/Components/Incompatibility/index.js +0 -251
  69. package/App/Modules/Creator/Components/InvalidConfigurationNotice/index.js +0 -164
  70. package/App/Modules/Creator/Components/LoginForm/Styles.scss +0 -9
  71. package/App/Modules/Creator/Components/LoginForm/index.js +0 -129
  72. package/App/Modules/Creator/Components/Option/index.js +0 -545
  73. package/App/Modules/Creator/Components/Option/index.story.js +0 -154
  74. package/App/Modules/Creator/Components/OptionAmount/index.js +0 -236
  75. package/App/Modules/Creator/Components/OptionGroup/index.js +0 -55
  76. package/App/Modules/Creator/Components/Optiondetail/ZoomImage/index.js +0 -173
  77. package/App/Modules/Creator/Components/Optiondetail/index.js +0 -497
  78. package/App/Modules/Creator/Components/Optiondetail/index.story.js +0 -117
  79. package/App/Modules/Creator/Components/OptionsList/index.js +0 -193
  80. package/App/Modules/Creator/Components/Price/Styles.scss +0 -3
  81. package/App/Modules/Creator/Components/Price/index.js +0 -79
  82. package/App/Modules/Creator/Components/ProductPart/index.js +0 -185
  83. package/App/Modules/Creator/Components/ProductPart/index.story.js +0 -88
  84. package/App/Modules/Creator/Components/ProductPartsList/index.js +0 -150
  85. package/App/Modules/Creator/Components/ProductPartsList/index.story.js +0 -101
  86. package/App/Modules/Creator/Components/SavedConfiguration/Styles.scss +0 -19
  87. package/App/Modules/Creator/Components/SavedConfiguration/index.js +0 -82
  88. package/App/Modules/Creator/Components/ShareConfiguration/Styles.scss +0 -23
  89. package/App/Modules/Creator/Components/ShareConfiguration/index.js +0 -224
  90. package/App/Modules/Creator/Components/StockInformation/index.js +0 -93
  91. package/App/Modules/Creator/Components/StoreConfigurationForm/Styles.scss +0 -5
  92. package/App/Modules/Creator/Components/StoreConfigurationForm/index.js +0 -123
  93. package/App/Modules/Creator/Components/Tools/Styles.scss +0 -44
  94. package/App/Modules/Creator/Components/Tools/index.js +0 -102
  95. package/App/Modules/Creator/Components/ValidationResult/Styles.scss +0 -45
  96. package/App/Modules/Creator/Components/ValidationResult/index.js +0 -165
  97. package/App/Modules/Creator/Components/index.js +0 -84
  98. package/App/Modules/Creator/Containers/AmountPrice/index.js +0 -26
  99. package/App/Modules/Creator/Containers/ConfigurationvariantSelection/index.js +0 -60
  100. package/App/Modules/Creator/Containers/CustomTitleEditor/index.js +0 -52
  101. package/App/Modules/Creator/Containers/FastConfiguration/index.js +0 -62
  102. package/App/Modules/Creator/Containers/FormattedPrice/index.js +0 -31
  103. package/App/Modules/Creator/Containers/Incompatibility/index.js +0 -40
  104. package/App/Modules/Creator/Containers/InvalidConfigurationNotice/index.js +0 -89
  105. package/App/Modules/Creator/Containers/LoadingOverlay/index.js +0 -26
  106. package/App/Modules/Creator/Containers/Optiondetail/index.js +0 -48
  107. package/App/Modules/Creator/Containers/OptionsList/index.js +0 -49
  108. package/App/Modules/Creator/Containers/ProductPart/index.js +0 -26
  109. package/App/Modules/Creator/Containers/ProductPartsList/index.js +0 -49
  110. package/App/Modules/Creator/Containers/SavedConfigurationContainer/index.js +0 -25
  111. package/App/Modules/Creator/Containers/ShareConfiguration/index.js +0 -42
  112. package/App/Modules/Creator/Containers/StockInformation/index.js +0 -33
  113. package/App/Modules/Creator/Containers/Tools/index.js +0 -44
  114. package/App/Modules/Creator/Containers/ValidationResult/index.js +0 -34
  115. package/App/Modules/Creator/Containers/index.js +0 -175
  116. package/App/Modules/Creator/CreatorScreen.js +0 -307
  117. package/App/Modules/Creator/Layouts/DefaultLayout.js +0 -260
  118. package/App/Modules/Creator/Styles.scss +0 -216
  119. package/App/Modules/Designer/Components/AddGalleryImage/index.js +0 -234
  120. package/App/Modules/Designer/Components/AddGalleryImage/index.story.js +0 -94
  121. package/App/Modules/Designer/Components/AddGalleryImage/index.test.js +0 -151
  122. package/App/Modules/Designer/Components/AddVisualElement/Styles.scss +0 -0
  123. package/App/Modules/Designer/Components/AddVisualElement/index.js +0 -278
  124. package/App/Modules/Designer/Components/AddVisualElement/index.story.js +0 -24
  125. package/App/Modules/Designer/Components/AddVisualElement/index.test.js +0 -47
  126. package/App/Modules/Designer/Components/CloseDesignEditor/index.js +0 -130
  127. package/App/Modules/Designer/Components/CloseGraphicsEditorButton/index.js +0 -54
  128. package/App/Modules/Designer/Components/ColorPalettes/ColorPalettesSearch.js +0 -175
  129. package/App/Modules/Designer/Components/ColorPalettes/index.js +0 -814
  130. package/App/Modules/Designer/Components/ColorPalettes/index.story.js +0 -158
  131. package/App/Modules/Designer/Components/ColorPalettes/index.test.js +0 -150
  132. package/App/Modules/Designer/Components/DesignAreaControlbox/Styles.scss +0 -0
  133. package/App/Modules/Designer/Components/DesignAreaControlbox/index.js +0 -460
  134. package/App/Modules/Designer/Components/DesignAreaControlbox/index.story.js +0 -272
  135. package/App/Modules/Designer/Components/DesignAreaControlbox/index.test.js +0 -164
  136. package/App/Modules/Designer/Components/DesignerSelectionToolbox/CustomFontOverlay.js +0 -162
  137. package/App/Modules/Designer/Components/DesignerSelectionToolbox/DesignerSelectionToolbox.js +0 -425
  138. package/App/Modules/Designer/Components/DesignerSelectionToolbox/fontItemUtils.js +0 -48
  139. package/App/Modules/Designer/Components/Dialog/index.js +0 -125
  140. package/App/Modules/Designer/Components/EditDesignButton/index.js +0 -128
  141. package/App/Modules/Designer/Components/FeedbackNotice/index.js +0 -110
  142. package/App/Modules/Designer/Components/FeedbackNotice/index.test.js +0 -16
  143. package/App/Modules/Designer/Components/FullScreenView/FullScreenView.js +0 -63
  144. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.dev.js +0 -32
  145. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.js +0 -430
  146. package/App/Modules/Designer/Components/ImageColorize/index.js +0 -636
  147. package/App/Modules/Designer/Components/ImageColorize/index.story.js +0 -73
  148. package/App/Modules/Designer/Components/ImageControlbox/index.js +0 -302
  149. package/App/Modules/Designer/Components/ImageEditDialog/ImageThumbnail.js +0 -171
  150. package/App/Modules/Designer/Components/ImageEditDialog/ImageUpload.js +0 -478
  151. package/App/Modules/Designer/Components/ImageEditDialog/index.js +0 -716
  152. package/App/Modules/Designer/Components/ImageEditDialog/res/baseline_colorize_black_24dp.png +0 -0
  153. package/App/Modules/Designer/Components/ImageEditDialog/res/checkers_tile.png +0 -0
  154. package/App/Modules/Designer/Components/ImageLibraryFilter/index.js +0 -179
  155. package/App/Modules/Designer/Components/ImageLibraryThumbnail/Styles.scss +0 -14
  156. package/App/Modules/Designer/Components/ImageLibraryThumbnail/index.js +0 -165
  157. package/App/Modules/Designer/Components/ObjectTools/index.js +0 -146
  158. package/App/Modules/Designer/Components/Select/index.js +0 -171
  159. package/App/Modules/Designer/Components/TextControlbox/TextFormatIcon.js +0 -48
  160. package/App/Modules/Designer/Components/TextControlbox/index.js +0 -656
  161. package/App/Modules/Designer/Components/TextControlbox/index.story.js +0 -109
  162. package/App/Modules/Designer/Components/TextControlbox/index.test.js +0 -172
  163. package/App/Modules/Designer/Containers/AddGalleryImage.js +0 -90
  164. package/App/Modules/Designer/Containers/AddVisualElement.js +0 -166
  165. package/App/Modules/Designer/Containers/CloseDesignEditor.js +0 -32
  166. package/App/Modules/Designer/Containers/CloseGraphicsEditorButton.js +0 -32
  167. package/App/Modules/Designer/Containers/ColorPalettes.js +0 -145
  168. package/App/Modules/Designer/Containers/DesignAreaControlbox.js +0 -54
  169. package/App/Modules/Designer/Containers/Designer.js +0 -37
  170. package/App/Modules/Designer/Containers/DesignerSelectionToolbox.js +0 -116
  171. package/App/Modules/Designer/Containers/EditDesignButton.js +0 -35
  172. package/App/Modules/Designer/Containers/ImageEditDialog.js +0 -1130
  173. package/App/Modules/Designer/Designer.js +0 -231
  174. package/App/Modules/Designer/DesignerScreen.js +0 -233
  175. package/App/Modules/Designer/Layouts/DefaultLayout.js +0 -196
  176. package/App/Modules/Designer/Layouts/Mobile/TwoSideBottomBar.js +0 -50
  177. package/App/Modules/Designer/Layouts/PopupAreaProvider.js +0 -186
  178. package/App/Modules/Designer/Utils/FontFaceRepository.js +0 -82
  179. package/App/Modules/Designer/Utils/ImageEditUtils.js +0 -104
  180. package/App/Modules/Designer/Utils/Transformers.js +0 -164
  181. package/App/Modules/Designer/setupDesigner.js +0 -182
  182. package/App/Modules/Designer/withActiveCanvas.js +0 -136
  183. package/App/Modules/Visualization/AlignTargetContainer.js +0 -55
  184. package/App/Modules/Visualization/CreatorAlignTarget.js +0 -41
  185. package/App/Modules/Visualization/DefaultVisualizationProvider.js +0 -105
  186. package/App/Modules/Visualization/DesignerAlignTarget.js +0 -45
  187. package/App/Modules/Visualization/Utils/getFirstDataURLFromScreenshotsObj.js +0 -20
  188. package/App/Reducers/Actions.js +0 -297
  189. package/App/Reducers/ConfigurationMode/Actions.js +0 -21
  190. package/App/Reducers/ConfigurationMode/Reducer.js +0 -80
  191. package/App/Reducers/ConfigurationMode/Selectors.js +0 -84
  192. package/App/Reducers/Configurator/Actions.js +0 -1417
  193. package/App/Reducers/Configurator/AttributeSelectors.js +0 -32
  194. package/App/Reducers/Configurator/Modifiers.js +0 -35
  195. package/App/Reducers/Configurator/Reducer.js +0 -639
  196. package/App/Reducers/Configurator/Selectors.js +0 -242
  197. package/App/Reducers/Confirm/Actions.js +0 -84
  198. package/App/Reducers/Confirm/Reducer.js +0 -30
  199. package/App/Reducers/DesignArea/Actions.js +0 -76
  200. package/App/Reducers/DesignArea/DesignElementSelectors.js +0 -114
  201. package/App/Reducers/DesignArea/MaskSelectors.js +0 -101
  202. package/App/Reducers/DesignArea/Reducer.js +0 -150
  203. package/App/Reducers/DesignArea/Selectors.js +0 -1304
  204. package/App/Reducers/DesignArea/Transformers.js +0 -333
  205. package/App/Reducers/DesignData/Actions.js +0 -232
  206. package/App/Reducers/DesignData/Modifiers.js +0 -328
  207. package/App/Reducers/DesignData/Reducer.js +0 -189
  208. package/App/Reducers/DesignData/Selectors.js +0 -94
  209. package/App/Reducers/DesignData/Transformers.js +0 -27
  210. package/App/Reducers/DesignView/Actions.js +0 -19
  211. package/App/Reducers/DesignView/Reducer.js +0 -165
  212. package/App/Reducers/DesignView/Selectors.js +0 -130
  213. package/App/Reducers/DesignView/Transformers.js +0 -32
  214. package/App/Reducers/Device/Actions.js +0 -16
  215. package/App/Reducers/Device/Reducer.js +0 -51
  216. package/App/Reducers/Fonts/Actions.js +0 -137
  217. package/App/Reducers/Fonts/Reducer.js +0 -39
  218. package/App/Reducers/Fonts/Selectors.js +0 -98
  219. package/App/Reducers/GeneralActions.js +0 -16
  220. package/App/Reducers/ImageGallery/Actions.js +0 -336
  221. package/App/Reducers/ImageGallery/Modifiers.js +0 -67
  222. package/App/Reducers/ImageGallery/Reducer.js +0 -320
  223. package/App/Reducers/ImageGallery/Selectors.js +0 -206
  224. package/App/Reducers/Reducer.js +0 -107
  225. package/App/Reducers/UI/Actions.js +0 -191
  226. package/App/Reducers/UI/Reducer.js +0 -98
  227. package/App/Reducers/UI/Selectors.js +0 -32
  228. package/App/Reducers.js +0 -48
  229. package/App/Routing.js +0 -168
  230. package/App/Screens/Configurator/CalculationWidgetScreen.js +0 -84
  231. package/App/Screens/Configurator/Components/AmountSelection/Styles.scss +0 -17
  232. package/App/Screens/Configurator/Components/AmountSelection/index.js +0 -170
  233. package/App/Screens/Configurator/Components/AmountSelection/index.story.js +0 -36
  234. package/App/Screens/Configurator/Components/CalculationWidget/index.js +0 -652
  235. package/App/Screens/Configurator/Components/CalculationWidget/index.story.js +0 -154
  236. package/App/Screens/Configurator/Components/CalculationWidget/index.test.js +0 -142
  237. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/ConfigurationModeSwitch.js +0 -82
  238. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/index.js +0 -15
  239. package/App/Screens/Configurator/Components/Confirm/Styles.scss +0 -0
  240. package/App/Screens/Configurator/Components/Confirm/index.js +0 -105
  241. package/App/Screens/Configurator/Components/DesignApproval/index.js +0 -76
  242. package/App/Screens/Configurator/Components/DesignApproval/index.story.js +0 -27
  243. package/App/Screens/Configurator/Components/DesignApproval/index.test.js +0 -31
  244. package/App/Screens/Configurator/Components/Error/index.js +0 -106
  245. package/App/Screens/Configurator/Components/FallbackVisualization/FallbackVisualization.js +0 -96
  246. package/App/Screens/Configurator/Components/FileUpload/FileUploadBase.js +0 -1
  247. package/App/Screens/Configurator/Components/FullScreenView/index.js +0 -303
  248. package/App/Screens/Configurator/Components/FullScreenView/index.test.js +0 -28
  249. package/App/Screens/Configurator/Components/ImageLoader/ImageLoader.js +0 -96
  250. package/App/Screens/Configurator/Components/LandscapeInformation/index.js +0 -75
  251. package/App/Screens/Configurator/Components/NoVisualization/NoVisualization.js +0 -35
  252. package/App/Screens/Configurator/Components/PreviewPortal/index.js +0 -246
  253. package/App/Screens/Configurator/Components/Styles.scss +0 -1
  254. package/App/Screens/Configurator/Components/Thumbnail/index.js +0 -394
  255. package/App/Screens/Configurator/Components/Thumbnail/index.test.js +0 -50
  256. package/App/Screens/Configurator/Components/TotalPrice/TotalPrice.js +0 -57
  257. package/App/Screens/Configurator/Containers/AmountPrice.js +0 -84
  258. package/App/Screens/Configurator/Containers/CalculationWidget.js +0 -278
  259. package/App/Screens/Configurator/Containers/ConfigurationModeSwitch.js +0 -81
  260. package/App/Screens/Configurator/Containers/Confirm.js +0 -37
  261. package/App/Screens/Configurator/Containers/DesignApproval.js +0 -129
  262. package/App/Screens/Configurator/Containers/FallbackVisualization.js +0 -32
  263. package/App/Screens/Configurator/Containers/FullScreenView.js +0 -46
  264. package/App/Screens/Configurator/Containers/Thumbnail.js +0 -41
  265. package/App/Screens/Configurator/Containers/Visualization.js +0 -13
  266. package/App/Screens/Configurator/DesignerUI.js +0 -215
  267. package/App/Screens/Configurator/DynamicComponents.js +0 -40
  268. package/App/Screens/Configurator/Screen.js +0 -236
  269. package/App/Screens/Configurator/ScreenPropTypes.js +0 -45
  270. package/App/Screens/Configurator/ThemeProvider.js +0 -298
  271. package/App/Screens/DesignerProductPreview/Constants.js +0 -12
  272. package/App/Screens/DesignerProductPreview/DesignerProductPreviewManager.js +0 -554
  273. package/App/Screens/DesignerProductPreview/Screen.js +0 -407
  274. package/App/Screens.js +0 -42
  275. package/App/ServiceLocator.js +0 -309
  276. package/App/Services/AdminareaCommunicationService.js +0 -149
  277. package/App/Services/AnalyticsService.js +0 -403
  278. package/App/Services/ConfiguratorService.js +0 -1122
  279. package/App/Services/DesignDataService.js +0 -3249
  280. package/App/Services/DesignerService.js +0 -496
  281. package/App/Services/InteractionService.js +0 -782
  282. package/App/Services/UIService.js +0 -129
  283. package/App/Services/VisualizationService.js +0 -842
  284. package/App/Shared/Components/AcceptDesign/index.js +0 -166
  285. package/App/Shared/Components/AddToBasket/index.js +0 -194
  286. package/App/Shared/Components/AddToBasket/index.story.js +0 -47
  287. package/App/Shared/Components/AlertDialog/index.js +0 -138
  288. package/App/Shared/Components/AmountInput/Styles.scss +0 -6
  289. package/App/Shared/Components/AmountInput/index.js +0 -296
  290. package/App/Shared/Components/AmountInput/index.story.js +0 -29
  291. package/App/Shared/Components/AmountPrice/index.js +0 -925
  292. package/App/Shared/Components/AmountPrice/index.story.js +0 -112
  293. package/App/Shared/Components/AmountPrice/index.test.js +0 -125
  294. package/App/Shared/Components/Analytics/AnalyticsWrapper.js +0 -49
  295. package/App/Shared/Components/BulkNames/index.js +0 -319
  296. package/App/Shared/Components/CallToAction/index.js +0 -220
  297. package/App/Shared/Components/Header/Header.js +0 -150
  298. package/App/Shared/Components/Header/index.js +0 -15
  299. package/App/Shared/Components/Header/index.story.js +0 -143
  300. package/App/Shared/Components/InformationTag/InformationTag.js +0 -155
  301. package/App/Shared/Components/LicenseNotice/LicenseNotice.js +0 -148
  302. package/App/Shared/Components/LicenseNotice/index.js +0 -15
  303. package/App/Shared/Components/LoadConfiguration/index.js +0 -218
  304. package/App/Shared/Components/MessageBox/index.js +0 -84
  305. package/App/Shared/Components/MessageBox/index.story.js +0 -49
  306. package/App/Shared/Components/Notification/index.js +0 -105
  307. package/App/Shared/Components/Notification/index.story.js +0 -55
  308. package/App/Shared/Components/PdfDownload/index.js +0 -150
  309. package/App/Shared/Components/PlusMinusInput/index.js +0 -118
  310. package/App/Shared/Components/PriceList/index.js +0 -237
  311. package/App/Shared/Components/PriceList/index.story.js +0 -114
  312. package/App/Shared/Components/PriceOverview/index.js +0 -177
  313. package/App/Shared/Components/PriceOverview/index.story.js +0 -215
  314. package/App/Shared/Components/ProductVariant/Image.js +0 -75
  315. package/App/Shared/Components/ProductVariant/Styles.scss +0 -11
  316. package/App/Shared/Components/ProductVariant/index.js +0 -477
  317. package/App/Shared/Components/ProductVariant/index.story.js +0 -283
  318. package/App/Shared/Components/Progress/Progress.js +0 -59
  319. package/App/Shared/Components/ReceiveOfferForm/index.js +0 -432
  320. package/App/Shared/Components/ReceiveOfferForm/index.story.js +0 -32
  321. package/App/Shared/Components/ReceiveOfferForm/index.test.js +0 -36
  322. package/App/Shared/Components/SaveConfiguration/index.js +0 -286
  323. package/App/Shared/Components/SendEmail/index.js +0 -103
  324. package/App/Shared/Components/Stepper/index.js +0 -136
  325. package/App/Shared/Components/Stepper/index.story.js +0 -38
  326. package/App/Shared/Components/ToolbarList/index.js +0 -231
  327. package/App/Shared/Components/ToolbarList/index.story.js +0 -33
  328. package/App/Shared/Components/VariantChooser/index.js +0 -270
  329. package/App/Shared/Components/VariantChooser/index.story.js +0 -100
  330. package/App/Shared/Containers/AlertMessages.js +0 -37
  331. package/App/Shared/Containers/AmountPrice/AmountPriceAdminareaWrapper.js +0 -40
  332. package/App/Shared/Containers/AmountPrice/index.js +0 -284
  333. package/App/Shared/Containers/BulkNames.js +0 -310
  334. package/App/Shared/Containers/Error.js +0 -37
  335. package/App/Shared/Containers/GlobalLoader.js +0 -25
  336. package/App/Shared/Containers/Header/index.js +0 -178
  337. package/App/Shared/Containers/LicenseNotice/LicenseNotice.js +0 -26
  338. package/App/Shared/Containers/LicenseNotice/index.js +0 -15
  339. package/App/Shared/Containers/LoadConfiguration/LoadConfiguration.js +0 -146
  340. package/App/Shared/Containers/LoadConfiguration/index.js +0 -15
  341. package/App/Shared/Containers/PdfDownload/index.js +0 -39
  342. package/App/Shared/Containers/ProductVariant/ProductVariant.js +0 -339
  343. package/App/Shared/Containers/ProductVariant/index.js +0 -15
  344. package/App/Shared/Containers/SaveConfiguration.js +0 -49
  345. package/App/Shared/Containers/SendEmail/SendEmail.js +0 -45
  346. package/App/Shared/Containers/SendEmail/index.js +0 -15
  347. package/App/Shared/Providers/DefaultCanvasProvider.js +0 -86
  348. package/App/Storage.js +0 -17
  349. package/App/Store.js +0 -87
  350. package/App/Styles.scss +0 -0
  351. package/App/Translations.js +0 -88
  352. package/App/Utils/createMessageInterface.js +0 -52
  353. package/App/Utils/customClassName.js +0 -12
  354. package/App/Utils/getContrastText.js +0 -27
  355. package/App/Utils/getImageUrl.js +0 -32
  356. package/App/Variables.scss +0 -84
  357. package/App/configuration.js +0 -419
  358. package/App/index.js +0 -52
  359. package/App/initServices.js +0 -67
  360. package/App/setup.js +0 -22
  361. package/App/versionInfo.js +0 -8
  362. package/Framework/Api.js +0 -178
  363. package/Framework/ComponentContainer.js +0 -165
  364. package/Framework/Components/Carousel/Styles.scss +0 -85
  365. package/Framework/Components/Carousel/index.js +0 -322
  366. package/Framework/Components/Dialog/Style.scss +0 -79
  367. package/Framework/Components/Dialog/index.js +0 -721
  368. package/Framework/Components/DialogSelect/Styles.scss +0 -53
  369. package/Framework/Components/DialogSelect/index.js +0 -331
  370. package/Framework/Components/Input/index.js +0 -147
  371. package/Framework/Components/LoadingOverlay/Styles.scss +0 -37
  372. package/Framework/Components/LoadingOverlay/index.js +0 -33
  373. package/Framework/Components/Markdown/index.js +0 -62
  374. package/Framework/Components/Mobile/index.js +0 -33
  375. package/Framework/CustomError.js +0 -51
  376. package/Framework/Helpers/TransitionDetect.js +0 -116
  377. package/Framework/Helpers/isLandscapeMobile.js +0 -14
  378. package/Framework/Helpers/isMobileDevice.js +0 -17
  379. package/Framework/Helpers/isMobileSize.js +0 -13
  380. package/Framework/Mixins.scss +0 -235
  381. package/Framework/Services/AbstractAdminareaCommunicationService.js +0 -48
  382. package/Framework/Services/AbstractAsyncService.js +0 -44
  383. package/Framework/Services/AbstractConfiguratorService.js +0 -47
  384. package/Framework/Services/AbstractInteractionService.js +0 -50
  385. package/Framework/Services/AbstractStoreService.js +0 -42
  386. package/Framework/Services/AbstractUIService.js +0 -53
  387. package/Framework/Services/AbstractVisualizationService.js +0 -47
  388. package/Framework/Services/AsyncService.js +0 -93
  389. package/Framework/Services/StoreService.js +0 -237
  390. package/Framework/Variables.scss +0 -22
  391. package/Framework/bindDecorator.js +0 -173
  392. package/Framework/i18n.js +0 -382
  393. package/Resources/Icons/MaterialUI/Icons/AddCircle.js +0 -13
  394. package/Resources/Icons/MaterialUI/Icons/RemoveCircle.js +0 -13
  395. package/Resources/Icons/MaterialUI/fontFace.scss +0 -37
  396. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.eot +0 -0
  397. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.svg +0 -2373
  398. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.ttf +0 -0
  399. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff +0 -0
  400. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff2 +0 -0
  401. package/Resources/Icons/fonts/ionicons.eot +0 -0
  402. package/Resources/Icons/fonts/ionicons.svg +0 -2230
  403. package/Resources/Icons/fonts/ionicons.ttf +0 -0
  404. package/Resources/Icons/fonts/ionicons.woff +0 -0
  405. package/Resources/Icons/ionicons.scss +0 -1489
  406. package/Resources/Icons/ioniconsExtend.scss +0 -1469
  407. package/Resources/Icons/v4/fontFace.scss +0 -11
  408. package/Resources/Icons/v4/fonts/ionicons.eot +0 -0
  409. package/Resources/Icons/v4/fonts/ionicons.svg +0 -2090
  410. package/Resources/Icons/v4/fonts/ionicons.ttf +0 -0
  411. package/Resources/Icons/v4/fonts/ionicons.woff +0 -0
  412. package/Resources/Icons/v4/fonts/ionicons.woff2 +0 -0
  413. package/Resources/Icons/v4/icons.scss +0 -15
  414. package/Resources/Icons/v4/iconsExtend.scss +0 -7
  415. package/Resources/Images/designer_placeholder_logo.svg +0 -1
  416. package/Resources/Masks/circle.svg +0 -4
  417. package/Shared/Components/CustomDialog.js +0 -132
  418. package/Shared/Components/CustomDialogSelect.js +0 -161
  419. package/Shared/Components/MainButton.js +0 -81
  420. package/Shared/ErrorTypes/DeferredError.js +0 -51
  421. package/Shared/HOCs/ResizeDetect/ResizeDetect.dev.js +0 -60
  422. package/Shared/HOCs/ResizeDetect/ResizeDetect.js +0 -217
  423. package/Shared/HOCs/getDisplayName.js +0 -10
  424. package/Shared/HOCs/withFixedChangeHandler.js +0 -46
  425. package/Shared/PropTypes/ReactComponent.js +0 -13
  426. package/Shared/Styles/absoluteCenter.js +0 -17
  427. package/Utils/Array/isIdentical.js +0 -38
  428. package/Utils/Async/AsyncManager.js +0 -128
  429. package/Utils/Async/Deferred.js +0 -145
  430. package/Utils/Async/ObjectLock.js +0 -38
  431. package/Utils/Decorators/Observable.js +0 -130
  432. package/Utils/Dev/HOCs/withFilePicker.js +0 -101
  433. package/Utils/Dev/isDev.js +0 -21
  434. package/Utils/Events/pointerEvent.js +0 -199
  435. package/Utils/Events/preventEventDoubling.js +0 -23
  436. package/Utils/Function/cached.js +0 -64
  437. package/Utils/Function/createDebounceManager.js +0 -77
  438. package/Utils/Function/createSelector.js +0 -62
  439. package/Utils/Function/memoize.js +0 -46
  440. package/Utils/Function/sendMessage.js +0 -22
  441. package/Utils/Helper/createSelectionRangeMemo.js +0 -45
  442. package/Utils/Immutable/set.js +0 -81
  443. package/Utils/Math/conversions.js +0 -13
  444. package/Utils/Math/isPositiveNumber.js +0 -12
  445. package/Utils/Redux/createActionWithGlobalState.js +0 -23
  446. package/Utils/Styles/combineMediaQueries.js +0 -24
  447. package/Utils/Styles/createCheckerBoardBackground.js +0 -22
  448. package/Utils/Test/CallOrderChecker.js +0 -29
  449. package/Utils/Test/createStoreProvider.js +0 -33
  450. package/Utils/Test/formDataToJSON.js +0 -20
  451. package/Utils/Test/mountWithState.js +0 -40
  452. 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.28.0-beta.2",
3
+ "version": "1.28.2",
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.28.0-beta.2",
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.28.0-beta.2",
43
- "redhotmagma-visualization": "1.28.0-beta.2",
44
- "redux": "^4.1.0",
66
+ "redhotmagma-graphics-editor": "1.28.2",
67
+ "redhotmagma-visualization": "1.28.2",
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
+ });
@@ -23,8 +23,8 @@
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);