@configuratorware/configurator-frontendgui 1.28.0-beta.1 → 1.28.1

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