@configuratorware/configurator-frontendgui 1.27.3-beta.1 → 1.27.3-beta.5

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 (458) hide show
  1. package/App/Constant.js +73 -0
  2. package/App/Error/DevelopmentErrorPage/index.js +74 -0
  3. package/App/Error/ErrorBoundary.js +98 -0
  4. package/App/Error/ProductionErrorPage/Style.scss +47 -0
  5. package/App/Error/ProductionErrorPage/index.js +43 -0
  6. package/App/Error/ProductionErrorPage/index.story.js +13 -0
  7. package/App/Error/ProductionErrorPage/res/error_gears.png +0 -0
  8. package/App/Frame.js +95 -0
  9. package/App/Modules/Creator/Components/ConfigurationvariantItem/Styles.scss +33 -0
  10. package/App/Modules/Creator/Components/ConfigurationvariantItem/index.js +118 -0
  11. package/App/Modules/Creator/Components/ConfigurationvariantSelection/Styles.scss +47 -0
  12. package/App/Modules/Creator/Components/ConfigurationvariantSelection/index.js +130 -0
  13. package/App/Modules/Creator/Components/CustomTitleEditor/Styles.scss +43 -0
  14. package/App/Modules/Creator/Components/CustomTitleEditor/index.js +144 -0
  15. package/App/Modules/Creator/Components/ExternalVisualization/index.js +140 -0
  16. package/App/Modules/Creator/Components/FastConfiguration/SelectableRow.js +128 -0
  17. package/App/Modules/Creator/Components/FastConfiguration/Styles.scss +53 -0
  18. package/App/Modules/Creator/Components/FastConfiguration/index.js +280 -0
  19. package/App/Modules/Creator/Components/FastConfigurationRow/Styles.scss +45 -0
  20. package/App/Modules/Creator/Components/FastConfigurationRow/index.js +78 -0
  21. package/App/Modules/Creator/Components/FastConfigurationSelect/Styles.scss +35 -0
  22. package/App/Modules/Creator/Components/FastConfigurationSelect/index.js +251 -0
  23. package/App/Modules/Creator/Components/FormattedNumber/index.js +45 -0
  24. package/App/Modules/Creator/Components/FormattedPrice/index.js +57 -0
  25. package/App/Modules/Creator/Components/FullScreenView/FullScreenView.js +104 -0
  26. package/App/Modules/Creator/Components/Incompatibility/OptionRule/index.js +182 -0
  27. package/App/Modules/Creator/Components/Incompatibility/RuleComponent.js +88 -0
  28. package/App/Modules/Creator/Components/Incompatibility/index.js +251 -0
  29. package/App/Modules/Creator/Components/InvalidConfigurationNotice/index.js +164 -0
  30. package/App/Modules/Creator/Components/LoginForm/Styles.scss +9 -0
  31. package/App/Modules/Creator/Components/LoginForm/index.js +129 -0
  32. package/App/Modules/Creator/Components/Option/index.js +545 -0
  33. package/App/Modules/Creator/Components/Option/index.story.js +154 -0
  34. package/App/Modules/Creator/Components/OptionAmount/index.js +236 -0
  35. package/App/Modules/Creator/Components/OptionGroup/index.js +55 -0
  36. package/App/Modules/Creator/Components/Optiondetail/ZoomImage/index.js +173 -0
  37. package/App/Modules/Creator/Components/Optiondetail/index.js +497 -0
  38. package/App/Modules/Creator/Components/Optiondetail/index.story.js +117 -0
  39. package/App/Modules/Creator/Components/OptionsList/index.js +193 -0
  40. package/App/Modules/Creator/Components/Price/Styles.scss +3 -0
  41. package/App/Modules/Creator/Components/Price/index.js +79 -0
  42. package/App/Modules/Creator/Components/ProductPart/index.js +185 -0
  43. package/App/Modules/Creator/Components/ProductPart/index.story.js +88 -0
  44. package/App/Modules/Creator/Components/ProductPartsList/index.js +150 -0
  45. package/App/Modules/Creator/Components/ProductPartsList/index.story.js +101 -0
  46. package/App/Modules/Creator/Components/SavedConfiguration/Styles.scss +19 -0
  47. package/App/Modules/Creator/Components/SavedConfiguration/index.js +82 -0
  48. package/App/Modules/Creator/Components/ShareConfiguration/Styles.scss +23 -0
  49. package/App/Modules/Creator/Components/ShareConfiguration/index.js +224 -0
  50. package/App/Modules/Creator/Components/StockInformation/index.js +93 -0
  51. package/App/Modules/Creator/Components/StoreConfigurationForm/Styles.scss +5 -0
  52. package/App/Modules/Creator/Components/StoreConfigurationForm/index.js +123 -0
  53. package/App/Modules/Creator/Components/Tools/Styles.scss +44 -0
  54. package/App/Modules/Creator/Components/Tools/index.js +102 -0
  55. package/App/Modules/Creator/Components/ValidationResult/Styles.scss +45 -0
  56. package/App/Modules/Creator/Components/ValidationResult/index.js +165 -0
  57. package/App/Modules/Creator/Components/index.js +84 -0
  58. package/App/Modules/Creator/Containers/AmountPrice/index.js +26 -0
  59. package/App/Modules/Creator/Containers/ConfigurationvariantSelection/index.js +60 -0
  60. package/App/Modules/Creator/Containers/CustomTitleEditor/index.js +52 -0
  61. package/App/Modules/Creator/Containers/FastConfiguration/index.js +62 -0
  62. package/App/Modules/Creator/Containers/FormattedPrice/index.js +31 -0
  63. package/App/Modules/Creator/Containers/Incompatibility/index.js +40 -0
  64. package/App/Modules/Creator/Containers/InvalidConfigurationNotice/index.js +89 -0
  65. package/App/Modules/Creator/Containers/LoadingOverlay/index.js +26 -0
  66. package/App/Modules/Creator/Containers/Optiondetail/index.js +48 -0
  67. package/App/Modules/Creator/Containers/OptionsList/index.js +49 -0
  68. package/App/Modules/Creator/Containers/ProductPart/index.js +26 -0
  69. package/App/Modules/Creator/Containers/ProductPartsList/index.js +49 -0
  70. package/App/Modules/Creator/Containers/SavedConfigurationContainer/index.js +25 -0
  71. package/App/Modules/Creator/Containers/ShareConfiguration/index.js +42 -0
  72. package/App/Modules/Creator/Containers/StockInformation/index.js +33 -0
  73. package/App/Modules/Creator/Containers/Tools/index.js +44 -0
  74. package/App/Modules/Creator/Containers/ValidationResult/index.js +34 -0
  75. package/App/Modules/Creator/Containers/index.js +175 -0
  76. package/App/Modules/Creator/CreatorScreen.js +307 -0
  77. package/App/Modules/Creator/Layouts/DefaultLayout.js +260 -0
  78. package/App/Modules/Creator/Styles.scss +216 -0
  79. package/App/Modules/Designer/Components/AddGalleryImage/index.js +234 -0
  80. package/App/Modules/Designer/Components/AddGalleryImage/index.story.js +94 -0
  81. package/App/Modules/Designer/Components/AddGalleryImage/index.test.js +151 -0
  82. package/App/Modules/Designer/Components/AddVisualElement/Styles.scss +0 -0
  83. package/App/Modules/Designer/Components/AddVisualElement/index.js +278 -0
  84. package/App/Modules/Designer/Components/AddVisualElement/index.story.js +24 -0
  85. package/App/Modules/Designer/Components/AddVisualElement/index.test.js +47 -0
  86. package/App/Modules/Designer/Components/CloseDesignEditor/index.js +130 -0
  87. package/App/Modules/Designer/Components/CloseGraphicsEditorButton/index.js +54 -0
  88. package/App/Modules/Designer/Components/ColorPalettes/ColorPalettesSearch.js +175 -0
  89. package/App/Modules/Designer/Components/ColorPalettes/index.js +814 -0
  90. package/App/Modules/Designer/Components/ColorPalettes/index.story.js +158 -0
  91. package/App/Modules/Designer/Components/ColorPalettes/index.test.js +150 -0
  92. package/App/Modules/Designer/Components/DesignAreaControlbox/Styles.scss +0 -0
  93. package/App/Modules/Designer/Components/DesignAreaControlbox/index.js +460 -0
  94. package/App/Modules/Designer/Components/DesignAreaControlbox/index.story.js +272 -0
  95. package/App/Modules/Designer/Components/DesignAreaControlbox/index.test.js +164 -0
  96. package/App/Modules/Designer/Components/DesignerSelectionToolbox/CustomFontOverlay.js +162 -0
  97. package/App/Modules/Designer/Components/DesignerSelectionToolbox/DesignerSelectionToolbox.js +425 -0
  98. package/App/Modules/Designer/Components/DesignerSelectionToolbox/fontItemUtils.js +48 -0
  99. package/App/Modules/Designer/Components/Dialog/index.js +125 -0
  100. package/App/Modules/Designer/Components/EditDesignButton/index.js +128 -0
  101. package/App/Modules/Designer/Components/FeedbackNotice/index.js +110 -0
  102. package/App/Modules/Designer/Components/FeedbackNotice/index.test.js +16 -0
  103. package/App/Modules/Designer/Components/FullScreenView/FullScreenView.js +63 -0
  104. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.dev.js +32 -0
  105. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.js +430 -0
  106. package/App/Modules/Designer/Components/ImageColorize/index.js +636 -0
  107. package/App/Modules/Designer/Components/ImageColorize/index.story.js +73 -0
  108. package/App/Modules/Designer/Components/ImageControlbox/index.js +302 -0
  109. package/App/Modules/Designer/Components/ImageEditDialog/ImageThumbnail.js +171 -0
  110. package/App/Modules/Designer/Components/ImageEditDialog/ImageUpload.js +478 -0
  111. package/App/Modules/Designer/Components/ImageEditDialog/index.js +716 -0
  112. package/App/Modules/Designer/Components/ImageEditDialog/res/baseline_colorize_black_24dp.png +0 -0
  113. package/App/Modules/Designer/Components/ImageEditDialog/res/checkers_tile.png +0 -0
  114. package/App/Modules/Designer/Components/ImageLibraryFilter/index.js +179 -0
  115. package/App/Modules/Designer/Components/ImageLibraryThumbnail/Styles.scss +14 -0
  116. package/App/Modules/Designer/Components/ImageLibraryThumbnail/index.js +165 -0
  117. package/App/Modules/Designer/Components/ObjectTools/index.js +146 -0
  118. package/App/Modules/Designer/Components/Select/index.js +171 -0
  119. package/App/Modules/Designer/Components/TextControlbox/TextFormatIcon.js +48 -0
  120. package/App/Modules/Designer/Components/TextControlbox/index.js +656 -0
  121. package/App/Modules/Designer/Components/TextControlbox/index.story.js +109 -0
  122. package/App/Modules/Designer/Components/TextControlbox/index.test.js +172 -0
  123. package/App/Modules/Designer/Containers/AddGalleryImage.js +90 -0
  124. package/App/Modules/Designer/Containers/AddVisualElement.js +166 -0
  125. package/App/Modules/Designer/Containers/CloseDesignEditor.js +32 -0
  126. package/App/Modules/Designer/Containers/CloseGraphicsEditorButton.js +32 -0
  127. package/App/Modules/Designer/Containers/ColorPalettes.js +145 -0
  128. package/App/Modules/Designer/Containers/DesignAreaControlbox.js +54 -0
  129. package/App/Modules/Designer/Containers/Designer.js +37 -0
  130. package/App/Modules/Designer/Containers/DesignerSelectionToolbox.js +116 -0
  131. package/App/Modules/Designer/Containers/EditDesignButton.js +35 -0
  132. package/App/Modules/Designer/Containers/ImageEditDialog.js +1130 -0
  133. package/App/Modules/Designer/Designer.js +231 -0
  134. package/App/Modules/Designer/DesignerScreen.js +233 -0
  135. package/App/Modules/Designer/Layouts/DefaultLayout.js +196 -0
  136. package/App/Modules/Designer/Layouts/Mobile/TwoSideBottomBar.js +50 -0
  137. package/App/Modules/Designer/Layouts/PopupAreaProvider.js +186 -0
  138. package/App/Modules/Designer/Utils/FontFaceRepository.js +82 -0
  139. package/App/Modules/Designer/Utils/ImageEditUtils.js +104 -0
  140. package/App/Modules/Designer/Utils/Transformers.js +164 -0
  141. package/App/Modules/Designer/setupDesigner.js +182 -0
  142. package/App/Modules/Designer/withActiveCanvas.js +136 -0
  143. package/App/Modules/Visualization/AlignTargetContainer.js +55 -0
  144. package/App/Modules/Visualization/CreatorAlignTarget.js +41 -0
  145. package/App/Modules/Visualization/DefaultVisualizationProvider.js +105 -0
  146. package/App/Modules/Visualization/DesignerAlignTarget.js +45 -0
  147. package/App/Modules/Visualization/Utils/getFirstDataURLFromScreenshotsObj.js +20 -0
  148. package/App/Reducers/Actions.js +297 -0
  149. package/App/Reducers/ConfigurationMode/Actions.js +21 -0
  150. package/App/Reducers/ConfigurationMode/Reducer.js +80 -0
  151. package/App/Reducers/ConfigurationMode/Selectors.js +84 -0
  152. package/App/Reducers/Configurator/Actions.js +1417 -0
  153. package/App/Reducers/Configurator/AttributeSelectors.js +32 -0
  154. package/App/Reducers/Configurator/Modifiers.js +35 -0
  155. package/App/Reducers/Configurator/Reducer.js +639 -0
  156. package/App/Reducers/Configurator/Selectors.js +242 -0
  157. package/App/Reducers/Confirm/Actions.js +84 -0
  158. package/App/Reducers/Confirm/Reducer.js +30 -0
  159. package/App/Reducers/DesignArea/Actions.js +76 -0
  160. package/App/Reducers/DesignArea/DesignElementSelectors.js +114 -0
  161. package/App/Reducers/DesignArea/MaskSelectors.js +101 -0
  162. package/App/Reducers/DesignArea/Reducer.js +150 -0
  163. package/App/Reducers/DesignArea/Selectors.js +1314 -0
  164. package/App/Reducers/DesignArea/Transformers.js +333 -0
  165. package/App/Reducers/DesignData/Actions.js +232 -0
  166. package/App/Reducers/DesignData/Modifiers.js +328 -0
  167. package/App/Reducers/DesignData/Reducer.js +189 -0
  168. package/App/Reducers/DesignData/Selectors.js +94 -0
  169. package/App/Reducers/DesignData/Transformers.js +27 -0
  170. package/App/Reducers/DesignView/Actions.js +19 -0
  171. package/App/Reducers/DesignView/Reducer.js +165 -0
  172. package/App/Reducers/DesignView/Selectors.js +130 -0
  173. package/App/Reducers/DesignView/Transformers.js +32 -0
  174. package/App/Reducers/Device/Actions.js +16 -0
  175. package/App/Reducers/Device/Reducer.js +51 -0
  176. package/App/Reducers/Fonts/Actions.js +137 -0
  177. package/App/Reducers/Fonts/Reducer.js +39 -0
  178. package/App/Reducers/Fonts/Selectors.js +98 -0
  179. package/App/Reducers/GeneralActions.js +16 -0
  180. package/App/Reducers/ImageGallery/Actions.js +336 -0
  181. package/App/Reducers/ImageGallery/Modifiers.js +67 -0
  182. package/App/Reducers/ImageGallery/Reducer.js +320 -0
  183. package/App/Reducers/ImageGallery/Selectors.js +206 -0
  184. package/App/Reducers/Reducer.js +107 -0
  185. package/App/Reducers/UI/Actions.js +191 -0
  186. package/App/Reducers/UI/Reducer.js +98 -0
  187. package/App/Reducers/UI/Selectors.js +32 -0
  188. package/App/Reducers.js +48 -0
  189. package/App/Routing.js +168 -0
  190. package/App/Screens/Configurator/CalculationWidgetScreen.js +84 -0
  191. package/App/Screens/Configurator/Components/AmountSelection/Styles.scss +17 -0
  192. package/App/Screens/Configurator/Components/AmountSelection/index.js +170 -0
  193. package/App/Screens/Configurator/Components/AmountSelection/index.story.js +36 -0
  194. package/App/Screens/Configurator/Components/CalculationWidget/index.js +652 -0
  195. package/App/Screens/Configurator/Components/CalculationWidget/index.story.js +154 -0
  196. package/App/Screens/Configurator/Components/CalculationWidget/index.test.js +142 -0
  197. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/ConfigurationModeSwitch.js +82 -0
  198. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/index.js +15 -0
  199. package/App/Screens/Configurator/Components/Confirm/Styles.scss +0 -0
  200. package/App/Screens/Configurator/Components/Confirm/index.js +105 -0
  201. package/App/Screens/Configurator/Components/DesignApproval/index.js +76 -0
  202. package/App/Screens/Configurator/Components/DesignApproval/index.story.js +27 -0
  203. package/App/Screens/Configurator/Components/DesignApproval/index.test.js +31 -0
  204. package/App/Screens/Configurator/Components/Error/index.js +106 -0
  205. package/App/Screens/Configurator/Components/FallbackVisualization/FallbackVisualization.js +96 -0
  206. package/App/Screens/Configurator/Components/FileUpload/FileUploadBase.js +1 -0
  207. package/App/Screens/Configurator/Components/FullScreenView/index.js +303 -0
  208. package/App/Screens/Configurator/Components/FullScreenView/index.test.js +28 -0
  209. package/App/Screens/Configurator/Components/ImageLoader/ImageLoader.js +96 -0
  210. package/App/Screens/Configurator/Components/LandscapeInformation/index.js +75 -0
  211. package/App/Screens/Configurator/Components/NoVisualization/NoVisualization.js +35 -0
  212. package/App/Screens/Configurator/Components/PreviewPortal/index.js +246 -0
  213. package/App/Screens/Configurator/Components/Styles.scss +1 -0
  214. package/App/Screens/Configurator/Components/Thumbnail/index.js +394 -0
  215. package/App/Screens/Configurator/Components/Thumbnail/index.test.js +50 -0
  216. package/App/Screens/Configurator/Components/TotalPrice/TotalPrice.js +57 -0
  217. package/App/Screens/Configurator/Containers/AmountPrice.js +84 -0
  218. package/App/Screens/Configurator/Containers/CalculationWidget.js +278 -0
  219. package/App/Screens/Configurator/Containers/ConfigurationModeSwitch.js +81 -0
  220. package/App/Screens/Configurator/Containers/Confirm.js +37 -0
  221. package/App/Screens/Configurator/Containers/DesignApproval.js +129 -0
  222. package/App/Screens/Configurator/Containers/FallbackVisualization.js +32 -0
  223. package/App/Screens/Configurator/Containers/FullScreenView.js +46 -0
  224. package/App/Screens/Configurator/Containers/Thumbnail.js +41 -0
  225. package/App/Screens/Configurator/Containers/Visualization.js +13 -0
  226. package/App/Screens/Configurator/DesignerUI.js +215 -0
  227. package/App/Screens/Configurator/DynamicComponents.js +40 -0
  228. package/App/Screens/Configurator/Screen.js +236 -0
  229. package/App/Screens/Configurator/ScreenPropTypes.js +45 -0
  230. package/App/Screens/Configurator/ThemeProvider.js +298 -0
  231. package/App/Screens/DesignerProductPreview/Constants.js +12 -0
  232. package/App/Screens/DesignerProductPreview/DesignerProductPreviewManager.js +554 -0
  233. package/App/Screens/DesignerProductPreview/Screen.js +407 -0
  234. package/App/Screens.js +42 -0
  235. package/App/ServiceLocator.js +309 -0
  236. package/App/Services/AdminareaCommunicationService.js +149 -0
  237. package/App/Services/AnalyticsService.js +403 -0
  238. package/App/Services/ConfiguratorService.js +1122 -0
  239. package/App/Services/DesignDataService.js +3249 -0
  240. package/App/Services/DesignerService.js +496 -0
  241. package/App/Services/InteractionService.js +782 -0
  242. package/App/Services/UIService.js +129 -0
  243. package/App/Services/VisualizationService.js +842 -0
  244. package/App/Shared/Components/AcceptDesign/index.js +166 -0
  245. package/App/Shared/Components/AddToBasket/index.js +194 -0
  246. package/App/Shared/Components/AddToBasket/index.story.js +47 -0
  247. package/App/Shared/Components/AlertDialog/index.js +138 -0
  248. package/App/Shared/Components/AmountInput/Styles.scss +6 -0
  249. package/App/Shared/Components/AmountInput/index.js +296 -0
  250. package/App/Shared/Components/AmountInput/index.story.js +29 -0
  251. package/App/Shared/Components/AmountPrice/index.js +925 -0
  252. package/App/Shared/Components/AmountPrice/index.story.js +112 -0
  253. package/App/Shared/Components/AmountPrice/index.test.js +125 -0
  254. package/App/Shared/Components/Analytics/AnalyticsWrapper.js +49 -0
  255. package/App/Shared/Components/BulkNames/index.js +319 -0
  256. package/App/Shared/Components/CallToAction/index.js +220 -0
  257. package/App/Shared/Components/Header/Header.js +150 -0
  258. package/App/Shared/Components/Header/index.js +15 -0
  259. package/App/Shared/Components/Header/index.story.js +143 -0
  260. package/App/Shared/Components/InformationTag/InformationTag.js +155 -0
  261. package/App/Shared/Components/LicenseNotice/LicenseNotice.js +148 -0
  262. package/App/Shared/Components/LicenseNotice/index.js +15 -0
  263. package/App/Shared/Components/LoadConfiguration/index.js +218 -0
  264. package/App/Shared/Components/MessageBox/index.js +84 -0
  265. package/App/Shared/Components/MessageBox/index.story.js +49 -0
  266. package/App/Shared/Components/Notification/index.js +105 -0
  267. package/App/Shared/Components/Notification/index.story.js +55 -0
  268. package/App/Shared/Components/PdfDownload/index.js +150 -0
  269. package/App/Shared/Components/PlusMinusInput/index.js +118 -0
  270. package/App/Shared/Components/PriceList/index.js +237 -0
  271. package/App/Shared/Components/PriceList/index.story.js +114 -0
  272. package/App/Shared/Components/PriceOverview/index.js +177 -0
  273. package/App/Shared/Components/PriceOverview/index.story.js +215 -0
  274. package/App/Shared/Components/ProductVariant/Image.js +75 -0
  275. package/App/Shared/Components/ProductVariant/Styles.scss +11 -0
  276. package/App/Shared/Components/ProductVariant/index.js +477 -0
  277. package/App/Shared/Components/ProductVariant/index.story.js +283 -0
  278. package/App/Shared/Components/Progress/Progress.js +59 -0
  279. package/App/Shared/Components/ReceiveOfferForm/index.js +432 -0
  280. package/App/Shared/Components/ReceiveOfferForm/index.story.js +32 -0
  281. package/App/Shared/Components/ReceiveOfferForm/index.test.js +36 -0
  282. package/App/Shared/Components/SaveConfiguration/index.js +286 -0
  283. package/App/Shared/Components/SendEmail/index.js +103 -0
  284. package/App/Shared/Components/Stepper/index.js +136 -0
  285. package/App/Shared/Components/Stepper/index.story.js +38 -0
  286. package/App/Shared/Components/ToolbarList/index.js +231 -0
  287. package/App/Shared/Components/ToolbarList/index.story.js +33 -0
  288. package/App/Shared/Components/VariantChooser/index.js +270 -0
  289. package/App/Shared/Components/VariantChooser/index.story.js +100 -0
  290. package/App/Shared/Containers/AlertMessages.js +37 -0
  291. package/App/Shared/Containers/AmountPrice/AmountPriceAdminareaWrapper.js +40 -0
  292. package/App/Shared/Containers/AmountPrice/index.js +284 -0
  293. package/App/Shared/Containers/BulkNames.js +310 -0
  294. package/App/Shared/Containers/Error.js +37 -0
  295. package/App/Shared/Containers/GlobalLoader.js +25 -0
  296. package/App/Shared/Containers/Header/index.js +178 -0
  297. package/App/Shared/Containers/LicenseNotice/LicenseNotice.js +26 -0
  298. package/App/Shared/Containers/LicenseNotice/index.js +15 -0
  299. package/App/Shared/Containers/LoadConfiguration/LoadConfiguration.js +146 -0
  300. package/App/Shared/Containers/LoadConfiguration/index.js +15 -0
  301. package/App/Shared/Containers/PdfDownload/index.js +39 -0
  302. package/App/Shared/Containers/ProductVariant/ProductVariant.js +339 -0
  303. package/App/Shared/Containers/ProductVariant/index.js +15 -0
  304. package/App/Shared/Containers/SaveConfiguration.js +49 -0
  305. package/App/Shared/Containers/SendEmail/SendEmail.js +45 -0
  306. package/App/Shared/Containers/SendEmail/index.js +15 -0
  307. package/App/Shared/Providers/DefaultCanvasProvider.js +86 -0
  308. package/App/Storage.js +17 -0
  309. package/App/Store.js +87 -0
  310. package/App/Styles.scss +0 -0
  311. package/App/Translations.js +88 -0
  312. package/App/Utils/createMessageInterface.js +52 -0
  313. package/App/Utils/customClassName.js +12 -0
  314. package/App/Utils/getContrastText.js +27 -0
  315. package/App/Utils/getImageUrl.js +32 -0
  316. package/App/Variables.scss +84 -0
  317. package/App/configuration.js +421 -0
  318. package/App/index.js +52 -0
  319. package/App/initServices.js +67 -0
  320. package/App/setup.js +22 -0
  321. package/App/versionInfo.js +8 -0
  322. package/Framework/Api.js +178 -0
  323. package/Framework/ComponentContainer.js +165 -0
  324. package/Framework/Components/Carousel/Styles.scss +85 -0
  325. package/Framework/Components/Carousel/index.js +322 -0
  326. package/Framework/Components/Dialog/Style.scss +79 -0
  327. package/Framework/Components/Dialog/index.js +721 -0
  328. package/Framework/Components/DialogSelect/Styles.scss +53 -0
  329. package/Framework/Components/DialogSelect/index.js +331 -0
  330. package/Framework/Components/Input/index.js +147 -0
  331. package/Framework/Components/LoadingOverlay/Styles.scss +37 -0
  332. package/Framework/Components/LoadingOverlay/index.js +33 -0
  333. package/Framework/Components/Markdown/index.js +62 -0
  334. package/Framework/Components/Mobile/index.js +33 -0
  335. package/Framework/CustomError.js +51 -0
  336. package/Framework/Helpers/TransitionDetect.js +116 -0
  337. package/Framework/Helpers/isLandscapeMobile.js +14 -0
  338. package/Framework/Helpers/isMobileDevice.js +17 -0
  339. package/Framework/Helpers/isMobileSize.js +13 -0
  340. package/Framework/Mixins.scss +235 -0
  341. package/Framework/Services/AbstractAdminareaCommunicationService.js +48 -0
  342. package/Framework/Services/AbstractAsyncService.js +44 -0
  343. package/Framework/Services/AbstractConfiguratorService.js +47 -0
  344. package/Framework/Services/AbstractInteractionService.js +50 -0
  345. package/Framework/Services/AbstractStoreService.js +42 -0
  346. package/Framework/Services/AbstractUIService.js +53 -0
  347. package/Framework/Services/AbstractVisualizationService.js +47 -0
  348. package/Framework/Services/AsyncService.js +93 -0
  349. package/Framework/Services/StoreService.js +237 -0
  350. package/Framework/Variables.scss +22 -0
  351. package/Framework/bindDecorator.js +173 -0
  352. package/Framework/i18n.js +383 -0
  353. package/README.md +5 -26
  354. package/Resources/Icons/MaterialUI/Icons/AddCircle.js +13 -0
  355. package/Resources/Icons/MaterialUI/Icons/RemoveCircle.js +13 -0
  356. package/Resources/Icons/MaterialUI/fontFace.scss +37 -0
  357. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.eot +0 -0
  358. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.svg +2373 -0
  359. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.ttf +0 -0
  360. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff +0 -0
  361. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff2 +0 -0
  362. package/Resources/Icons/fonts/ionicons.eot +0 -0
  363. package/Resources/Icons/fonts/ionicons.svg +2230 -0
  364. package/Resources/Icons/fonts/ionicons.ttf +0 -0
  365. package/Resources/Icons/fonts/ionicons.woff +0 -0
  366. package/Resources/Icons/ionicons.scss +1489 -0
  367. package/Resources/Icons/ioniconsExtend.scss +1469 -0
  368. package/Resources/Icons/v4/fontFace.scss +11 -0
  369. package/Resources/Icons/v4/fonts/ionicons.eot +0 -0
  370. package/Resources/Icons/v4/fonts/ionicons.svg +2090 -0
  371. package/Resources/Icons/v4/fonts/ionicons.ttf +0 -0
  372. package/Resources/Icons/v4/fonts/ionicons.woff +0 -0
  373. package/Resources/Icons/v4/fonts/ionicons.woff2 +0 -0
  374. package/Resources/Icons/v4/icons.scss +15 -0
  375. package/Resources/Icons/v4/iconsExtend.scss +7 -0
  376. package/Resources/Images/designer_placeholder_logo.svg +1 -0
  377. package/Resources/Masks/circle.svg +4 -0
  378. package/Shared/Components/CustomDialog.js +132 -0
  379. package/Shared/Components/CustomDialogSelect.js +161 -0
  380. package/Shared/Components/MainButton.js +81 -0
  381. package/Shared/ErrorTypes/DeferredError.js +51 -0
  382. package/Shared/HOCs/ResizeDetect/ResizeDetect.dev.js +60 -0
  383. package/Shared/HOCs/ResizeDetect/ResizeDetect.js +217 -0
  384. package/Shared/HOCs/getDisplayName.js +10 -0
  385. package/Shared/HOCs/withFixedChangeHandler.js +46 -0
  386. package/Shared/PropTypes/ReactComponent.js +13 -0
  387. package/Shared/Styles/absoluteCenter.js +17 -0
  388. package/Utils/Array/isIdentical.js +38 -0
  389. package/Utils/Async/AsyncManager.js +128 -0
  390. package/Utils/Async/Deferred.js +146 -0
  391. package/Utils/Async/ObjectLock.js +38 -0
  392. package/Utils/Decorators/Observable.js +130 -0
  393. package/Utils/Dev/HOCs/withFilePicker.js +101 -0
  394. package/Utils/Dev/isDev.js +21 -0
  395. package/Utils/Events/pointerEvent.js +199 -0
  396. package/Utils/Events/preventEventDoubling.js +23 -0
  397. package/Utils/Function/cached.js +64 -0
  398. package/Utils/Function/createDebounceManager.js +77 -0
  399. package/Utils/Function/createSelector.js +62 -0
  400. package/Utils/Function/memoize.js +46 -0
  401. package/Utils/Function/sendMessage.js +22 -0
  402. package/Utils/Helper/createSelectionRangeMemo.js +45 -0
  403. package/Utils/Immutable/set.js +81 -0
  404. package/Utils/Math/conversions.js +13 -0
  405. package/Utils/Math/isPositiveNumber.js +12 -0
  406. package/Utils/Redux/createActionWithGlobalState.js +23 -0
  407. package/Utils/Styles/combineMediaQueries.js +24 -0
  408. package/Utils/Styles/createCheckerBoardBackground.js +22 -0
  409. package/Utils/Test/CallOrderChecker.js +29 -0
  410. package/Utils/Test/createStoreProvider.js +33 -0
  411. package/Utils/Test/formDataToJSON.js +20 -0
  412. package/Utils/Test/mountWithState.js +40 -0
  413. package/index.js +8 -0
  414. package/package.json +20 -102
  415. package/scripts/cpPublic.js +3 -3
  416. package/scripts/getDefaultWebpackConfig.js +11 -10
  417. package/src/App/Error/ProductionErrorPage/Style.scss +1 -1
  418. package/src/App/Modules/Creator/Components/Option/index.js +1 -0
  419. package/src/App/Modules/Creator/Components/Option/index.test.js +1 -1
  420. package/src/App/Modules/Creator/Components/OptionAmount/index.test.js +1 -1
  421. package/src/App/Modules/Creator/Components/ProductPart/index.js +1 -0
  422. package/src/App/Modules/Creator/Components/ProductPart/index.test.js +1 -1
  423. package/src/App/Modules/Designer/Components/AddGalleryImage/index.story.js +1 -1
  424. package/src/App/Modules/Designer/Components/ColorPalettes/index.test.jsx +1 -1
  425. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.test.jsx +1 -1
  426. package/src/App/Modules/Designer/Components/TextControlbox/index.test.jsx +1 -1
  427. package/src/App/Reducers/Configurator/Actions.js +13 -3
  428. package/src/App/Reducers/DesignArea/Selectors.js +9 -7
  429. package/src/App/Reducers/DesignView/Actions.js +1 -2
  430. package/src/App/Reducers/DesignView/Reducer.js +2 -10
  431. package/src/App/Reducers/DesignView/__mocks__/designerViewData.js +0 -1
  432. package/src/App/Reducers/DesignView/__tests__/Reducer.test.js +0 -22
  433. package/src/App/Reducers/ImageGallery/Actions.js +1 -1
  434. package/src/App/Reducers/UI/Actions.js +8 -0
  435. package/src/App/Reducers/UI/Reducer.js +3 -1
  436. package/src/App/Screens/Configurator/Components/CalculationWidget/index.test.jsx +1 -1
  437. package/src/App/Screens/Configurator/Components/DesignApproval/index.test.jsx +1 -1
  438. package/src/App/Screens/Configurator/Components/FullScreenView/index.test.jsx +1 -1
  439. package/src/App/Screens/Configurator/Containers/AmountPrice.js +1 -1
  440. package/src/App/Screens/Configurator/Containers/Confirm.js +1 -1
  441. package/src/App/Screens/Configurator/Screen.js +1 -1
  442. package/src/App/Screens/Configurator/ThemeProvider.js +1 -0
  443. package/src/App/Services/__tests__/DesignDataService.selectViewForComponent.test.js +0 -53
  444. package/src/App/Shared/Containers/AlertMessages.js +1 -1
  445. package/src/App/Shared/Containers/AmountPrice/index.test.js +1 -1
  446. package/src/App/Shared/Containers/Error.js +1 -1
  447. package/src/App/Shared/Containers/SaveConfiguration.js +1 -1
  448. package/src/App/Translations.js +1 -1
  449. package/src/Framework/Components/Carousel/index.js +29 -8
  450. package/src/Framework/i18n.js +2 -3
  451. package/babel.config.js +0 -46
  452. package/public/ConfigurationMessagingDemo.html +0 -55
  453. package/scripts/cpPath.js +0 -135
  454. package/scripts/moveLibToPackageRoot.js +0 -40
  455. package/scripts/rmDir.js +0 -29
  456. package/scripts/updateLocalPackages.js +0 -68
  457. package/scripts/utils/process.js +0 -19
  458. package/tsconfig.json +0 -22
@@ -1,5 +1,5 @@
1
1
  import containerConnect from 'Framework/ComponentContainer';
2
- import Confirm from '../Components/Confirm/index';
2
+ import Confirm from '../Components/Confirm';
3
3
  import { hideConfirm } from '../../../Reducers/Confirm/Actions';
4
4
 
5
5
  const mapStateToProps = ({ confirm }) => {
@@ -11,7 +11,7 @@ import * as uiActions from 'App/Reducers/UI/Actions';
11
11
  import Error from '../../Shared/Containers/Error';
12
12
  import ErrorPage from '../../Error/ProductionErrorPage';
13
13
  import AlertMessages from 'App/Shared/Containers/AlertMessages';
14
- import LandscapeInformation from '../Configurator/Components/LandscapeInformation';
14
+ import LandscapeInformation from './Components/LandscapeInformation';
15
15
  import Confirm from './Containers/Confirm';
16
16
  import SaveConfiguration from 'App/Shared/Containers/SaveConfiguration';
17
17
  import SendEmail from 'App/Shared/Containers/SendEmail';
@@ -84,6 +84,7 @@ const defaultTheme = {
84
84
  lighter: '#C4C4C4',
85
85
  },
86
86
  },
87
+ tapHighlightColor: 'transparent',
87
88
  overrides: {
88
89
  MuiFormLabel: {
89
90
  root: {
@@ -178,57 +178,4 @@ describe('DesignDataService.selectViewForComponent', () => {
178
178
 
179
179
  expect(srv.selectDesignView).toHaveBeenCalledWith('front_view', { saveLast: false });
180
180
  });
181
-
182
- it('calls selectDesignView with the identifier of lastSelectedDesignView if no creatorView is referenced by the selected component', () => {
183
- const componentWithNoCreatorView = {
184
- identifier: 'id1',
185
- title: 'title1',
186
- creatorView: null,
187
- };
188
-
189
- ServiceLocator.provide(
190
- new (class StoreService {
191
- static serviceName = 'StoreService';
192
- state = {
193
- designArea: {
194
- filteredDesignAreas: mockDesignAreas,
195
- selectedDesignArea: {},
196
- },
197
- designView: {
198
- designViews: [
199
- { identifier: 'front_view' },
200
- { identifier: 'side_view' },
201
- { identifier: 'top_view' },
202
- ],
203
- selectedDesignView: {
204
- identifier: 'side_view',
205
- },
206
- lastSelectedDesignView: {
207
- identifier: 'top_view',
208
- },
209
- },
210
- configurator: {
211
- configuration: {
212
- optionclassifications: [
213
- componentWithNoCreatorView,
214
- {
215
- identifier: 'id2',
216
- title: 'title2',
217
- creatorView: { identifier: 'side_view' },
218
- },
219
- ],
220
- },
221
- },
222
- };
223
- dispatch = v => v;
224
- })()
225
- );
226
- const srv = new DesignDataService();
227
-
228
- srv.selectDesignView = jest.fn();
229
-
230
- srv.selectViewForComponent(componentWithNoCreatorView);
231
-
232
- expect(srv.selectDesignView).toHaveBeenCalledWith('top_view', { saveLast: false });
233
- });
234
181
  });
@@ -1,5 +1,5 @@
1
1
  import { containerConnect } from 'Framework/ComponentContainer';
2
- import AlertDialog from '../Components/AlertDialog/index';
2
+ import AlertDialog from '../Components/AlertDialog';
3
3
  import { Services } from 'App/ServiceLocator';
4
4
  import { t } from 'Framework/i18n';
5
5
 
@@ -2,7 +2,7 @@ import AmountPrice, {
2
2
  createAmountPropsFromState,
3
3
  createPricePropsFromState,
4
4
  showProductVariantsForItem,
5
- } from '../AmountPrice';
5
+ } from './index';
6
6
  import mountWithState from 'Utils/Test/mountWithState';
7
7
  import ServiceLocator from 'App/ServiceLocator';
8
8
 
@@ -1,5 +1,5 @@
1
1
  import { containerConnect } from 'Framework/ComponentContainer';
2
- import AlertDialog from '../Components/AlertDialog/index';
2
+ import AlertDialog from '../Components/AlertDialog';
3
3
  import { Services } from 'App/ServiceLocator';
4
4
  import { t } from 'Framework/i18n';
5
5
 
@@ -1,7 +1,7 @@
1
1
  import CircularProgress from '@material-ui/core/CircularProgress/CircularProgress';
2
2
  import containerConnect from 'Framework/ComponentContainer';
3
3
  import { Services } from 'App/ServiceLocator';
4
- import SaveConfiguration from '../Components/SaveConfiguration/index';
4
+ import SaveConfiguration from '../Components/SaveConfiguration';
5
5
  import { getShareUrl } from '../../Reducers/Configurator/Selectors';
6
6
 
7
7
  const mapStateToProps = ({ ui, configurator }) => ({
@@ -1,5 +1,5 @@
1
1
  import { use } from 'Framework/i18n';
2
- import { isProduction } from '../App/configuration';
2
+ import { isProduction } from './configuration';
3
3
  export async function initLanguage(lang) {
4
4
  // ensure that the filename always has an underscore and no dash
5
5
  const fileKey = lang.replace('-', '_');
@@ -4,6 +4,14 @@ import _ from 'lodash';
4
4
 
5
5
  import './Styles.scss';
6
6
  import PropTypes from 'prop-types';
7
+ import clsx from 'clsx';
8
+ import { withStyles } from '@material-ui/core/styles';
9
+
10
+ const styles = theme => ({
11
+ carousel: {
12
+ tapHighlightColor: theme.tapHighlightColor,
13
+ },
14
+ });
7
15
 
8
16
  class Carousel extends React.Component {
9
17
  static propTypes = {
@@ -131,18 +139,18 @@ class Carousel extends React.Component {
131
139
  }
132
140
  };
133
141
 
134
- swiped = (e, deltaX, deltaY) => {
142
+ swiped = e => {
135
143
  // if it's vertical deltaY should be the bigger
136
- if (this.props.vertical && Math.abs(deltaY) >= Math.abs(deltaX)) {
137
- if (deltaY > 0) {
144
+ if (this.props.vertical && Math.abs(e.deltaY) >= Math.abs(e.deltaX)) {
145
+ if (e.deltaY > 0) {
138
146
  this.next();
139
147
  } else {
140
148
  this.prev();
141
149
  }
142
150
  }
143
151
  // if it's not vertical deltaX should be the bigger
144
- else if (!this.props.vertical && Math.abs(deltaX) >= Math.abs(deltaY)) {
145
- if (deltaX > 0) {
152
+ else if (!this.props.vertical && Math.abs(e.deltaX) >= Math.abs(e.deltaY)) {
153
+ if (e.deltaX > 0) {
146
154
  this.next();
147
155
  } else {
148
156
  this.prev();
@@ -169,6 +177,7 @@ class Carousel extends React.Component {
169
177
  nextActive,
170
178
  showArrows,
171
179
  } = this.state;
180
+ const { classes } = this.props;
172
181
  const className = [
173
182
  'carousel-wrapper',
174
183
  this.props.className,
@@ -181,7 +190,13 @@ class Carousel extends React.Component {
181
190
  return (
182
191
  <div className={className} ref="container">
183
192
  <div className={'carousel'} ref="carousel" style={style}>
184
- {showArrows && <div className={prevClassName} ref="prev" onClick={this.prev} />}
193
+ {showArrows && (
194
+ <div
195
+ className={clsx(classes.carousel, prevClassName)}
196
+ ref="prev"
197
+ onClick={this.prev}
198
+ />
199
+ )}
185
200
  <Swipeable
186
201
  className={'carousel-frame'}
187
202
  trackMouse={true}
@@ -198,11 +213,17 @@ class Carousel extends React.Component {
198
213
  })}
199
214
  </div>
200
215
  </Swipeable>
201
- {showArrows && <div className={nextClassName} ref="next" onClick={this.next} />}
216
+ {showArrows && (
217
+ <div
218
+ className={clsx(classes.carousel, nextClassName)}
219
+ ref="next"
220
+ onClick={this.next}
221
+ />
222
+ )}
202
223
  </div>
203
224
  </div>
204
225
  );
205
226
  }
206
227
  }
207
228
 
208
- export default Carousel;
229
+ export default withStyles(styles, { name: 'Carousel' })(Carousel);
@@ -3,7 +3,6 @@ import React, { Component } from 'react';
3
3
  import ReactDOMServer from 'react-dom/server';
4
4
  import { connect } from 'react-redux';
5
5
  import _ from 'lodash';
6
- import * as reactI18nify from 'react-i18nify';
7
6
  import Hyphen from 'react-hyphen';
8
7
  import { getConf } from '../App/configuration';
9
8
 
@@ -231,10 +230,10 @@ export function translateComponent(ComponentToTranslate, mapStateToProps, mapDis
231
230
  export const t = I18n.t.bind(I18n);
232
231
 
233
232
  export function useTranslationWithoutStore() {
234
- reactI18nify.I18n.setTranslationsGetter(function() {
233
+ I18n.setTranslationsGetter(function() {
235
234
  return translations;
236
235
  });
237
- reactI18nify.I18n.setLocaleGetter(function() {
236
+ I18n.setLocaleGetter(function() {
238
237
  return 'en-GB';
239
238
  });
240
239
  }
package/babel.config.js DELETED
@@ -1,46 +0,0 @@
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
- };
@@ -1,55 +0,0 @@
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>
package/scripts/cpPath.js DELETED
@@ -1,135 +0,0 @@
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
- });
@@ -1,40 +0,0 @@
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
- }
package/scripts/rmDir.js DELETED
@@ -1,29 +0,0 @@
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);
@@ -1,68 +0,0 @@
1
- /* eslint no-console: 0 */
2
-
3
- /**
4
- * A tool to copy local modifications of local packages (graphics editor and visualization component)
5
- * over to the node_modules of this project in order to test them in the integrated environment.
6
- * This script is made only for development purposes, does not replace the package version update in package.json.
7
- *
8
- * It uses the configuration file localPackages.json (should be placed in the project root)
9
- * Example for localPackages.json:
10
- * {
11
- * "visualization": { // alias of the package
12
- * "path": "../visualization_component", // location in the local file system, relative to the project path
13
- * "name": "redhotmagma-visualization" // name of the package in package.json
14
- * },
15
- * ...
16
- * }
17
- * Usage of the script:
18
- * node .\scripts\updateLocalPackages.js // update all local dependencies listed in localPackages.json
19
- * node .\scripts\updateLocalPackages.js visualization // update only a single package identified by its alias
20
- *
21
- * @author boda@redhotmagma.de (2019.09.24)
22
- */
23
-
24
- const { resolve } = require('path');
25
- const { cpDirDeep } = require('./utils/fileSystem');
26
-
27
- const _alias = process.argv[2];
28
-
29
- try {
30
- let items = require('../localPackages.json');
31
- if (_alias && _alias.length) {
32
- const selectedItem = items[_alias];
33
- if (!selectedItem) {
34
- console.log('Package not found:', _alias);
35
- console.log('Available packages:');
36
- console.table(items);
37
- process.exit(0);
38
- } else {
39
- items = { [_alias]: selectedItem };
40
- }
41
- }
42
- // eslint-disable-next-line no-unused-vars
43
- for (let [alias, { path, name }] of Object.entries(items)) {
44
- console.log(`Updating package: ${name} -> ${path}`);
45
- updatePackage({ name, path });
46
- }
47
- } catch (e) {
48
- console.error(e);
49
- }
50
-
51
- function updatePackage(options = {}) {
52
- const { name, path, buildScript = 'npm run package', libDir = 'lib' } = options;
53
- const cwd = process.cwd();
54
- const projectPath = resolve(cwd, path);
55
- const packagePath = resolve(cwd, 'node_modules', name);
56
- try {
57
- const { exec } = require('child_process');
58
- const childProcess = exec(buildScript, { cwd: projectPath });
59
- childProcess.stdout.pipe(process.stdout);
60
- childProcess.stderr.pipe(process.stderr);
61
- childProcess.on('close', code => {
62
- console.log(`child process exited with code ${code}`);
63
- cpDirDeep(resolve(projectPath, libDir), packagePath);
64
- });
65
- } catch (e) {
66
- console.error(e);
67
- }
68
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * These utils are made to simplify querying process information for the node scripts.
3
- *
4
- * @author boda@redhotmagma.de
5
- */
6
-
7
- /**
8
- * Checks if the current installation process is a dependency installation
9
- * @return {boolean}
10
- */
11
- function isDependency() {
12
- // if the path of the initial directory contains 'node_modules', it's probably installed as a dependency
13
- const { INIT_CWD } = process.env;
14
- return INIT_CWD.indexOf('node_modules') !== -1;
15
- }
16
-
17
- module.exports = {
18
- isDependency,
19
- };
package/tsconfig.json DELETED
@@ -1,22 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- // Target latest version of ECMAScript.
4
- "target": "esnext",
5
- // Search under node_modules for non-relative imports.
6
- "moduleResolution": "node",
7
- // Process & infer types from .js files.
8
- "allowJs": true,
9
- // Don't emit; allow Babel to transform files.
10
- "noEmit": true,
11
- // Enable strictest settings like strictNullChecks & noImplicitAny.
12
- "strict": true,
13
- // Disallow features that require cross-file information for emit.
14
- "isolatedModules": true,
15
- // Import non-ES modules as default imports.
16
- "esModuleInterop": true
17
- },
18
- "include": [
19
- "./src",
20
- "./node_modules/redhotmagma-graphics-editor"
21
- ]
22
- }