@configuratorware/configurator-frontendgui 1.28.3 → 1.29.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 (475) 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 +499 -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 +187 -0
  43. package/App/Modules/Creator/Components/ProductPart/index.story.js +88 -0
  44. package/App/Modules/Creator/Components/ProductPartsList/index.js +153 -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 +50 -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 +467 -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 +255 -0
  135. package/App/Modules/Designer/DesignerUI.js +241 -0
  136. package/App/Modules/Designer/Layouts/DefaultLayout.js +221 -0
  137. package/App/Modules/Designer/Layouts/Mobile/TwoSideBottomBar.js +50 -0
  138. package/App/Modules/Designer/Layouts/PopupAreaProvider.js +186 -0
  139. package/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +53 -0
  140. package/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +106 -0
  141. package/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +64 -0
  142. package/App/Modules/Designer/Utils/FontFaceRepository.js +82 -0
  143. package/App/Modules/Designer/Utils/ImageEditUtils.js +104 -0
  144. package/App/Modules/Designer/Utils/Transformers.js +164 -0
  145. package/App/Modules/Designer/setupDesigner.js +182 -0
  146. package/App/Modules/Designer/withActiveCanvas.js +136 -0
  147. package/App/Modules/Visualization/AlignTargetContainer.js +55 -0
  148. package/App/Modules/Visualization/CreatorAlignTarget.js +41 -0
  149. package/App/Modules/Visualization/DefaultVisualizationProvider.js +105 -0
  150. package/App/Modules/Visualization/DesignerAlignTarget.js +45 -0
  151. package/App/Modules/Visualization/Utils/getFirstDataURLFromScreenshotsObj.js +20 -0
  152. package/App/Reducers/Actions.js +297 -0
  153. package/App/Reducers/ConfigurationMode/Actions.js +21 -0
  154. package/App/Reducers/ConfigurationMode/Reducer.js +80 -0
  155. package/App/Reducers/ConfigurationMode/Selectors.js +84 -0
  156. package/App/Reducers/Configurator/Actions.js +1417 -0
  157. package/App/Reducers/Configurator/AttributeSelectors.js +32 -0
  158. package/App/Reducers/Configurator/Modifiers.js +35 -0
  159. package/App/Reducers/Configurator/Reducer.js +639 -0
  160. package/App/Reducers/Configurator/Selectors.js +242 -0
  161. package/App/Reducers/Confirm/Actions.js +84 -0
  162. package/App/Reducers/Confirm/Reducer.js +30 -0
  163. package/App/Reducers/DesignArea/Actions.js +76 -0
  164. package/App/Reducers/DesignArea/DesignElementSelectors.js +114 -0
  165. package/App/Reducers/DesignArea/MaskSelectors.js +101 -0
  166. package/App/Reducers/DesignArea/Reducer.js +150 -0
  167. package/App/Reducers/DesignArea/Selectors.js +1304 -0
  168. package/App/Reducers/DesignArea/Transformers.js +333 -0
  169. package/App/Reducers/DesignData/Actions.js +232 -0
  170. package/App/Reducers/DesignData/Modifiers.js +328 -0
  171. package/App/Reducers/DesignData/Reducer.js +189 -0
  172. package/App/Reducers/DesignData/Selectors.js +94 -0
  173. package/App/Reducers/DesignData/Transformers.js +27 -0
  174. package/App/Reducers/DesignView/Actions.js +19 -0
  175. package/App/Reducers/DesignView/Reducer.js +165 -0
  176. package/App/Reducers/DesignView/Selectors.js +130 -0
  177. package/App/Reducers/DesignView/Transformers.js +32 -0
  178. package/App/Reducers/Device/Actions.js +16 -0
  179. package/App/Reducers/Device/Reducer.js +51 -0
  180. package/App/Reducers/Fonts/Actions.js +137 -0
  181. package/App/Reducers/Fonts/Reducer.js +39 -0
  182. package/App/Reducers/Fonts/Selectors.js +98 -0
  183. package/App/Reducers/GeneralActions.js +16 -0
  184. package/App/Reducers/ImageGallery/Actions.js +336 -0
  185. package/App/Reducers/ImageGallery/Modifiers.js +67 -0
  186. package/App/Reducers/ImageGallery/Reducer.js +320 -0
  187. package/App/Reducers/ImageGallery/Selectors.js +206 -0
  188. package/App/Reducers/Reducer.js +107 -0
  189. package/App/Reducers/UI/Actions.js +191 -0
  190. package/App/Reducers/UI/Reducer.js +98 -0
  191. package/App/Reducers/UI/Selectors.js +32 -0
  192. package/App/Reducers.js +48 -0
  193. package/App/Routing.js +168 -0
  194. package/App/Screens/Configurator/CalculationWidgetScreen.js +84 -0
  195. package/App/Screens/Configurator/Components/AmountSelection/Styles.scss +17 -0
  196. package/App/Screens/Configurator/Components/AmountSelection/index.js +170 -0
  197. package/App/Screens/Configurator/Components/AmountSelection/index.story.js +36 -0
  198. package/App/Screens/Configurator/Components/CalculationWidget/index.js +652 -0
  199. package/App/Screens/Configurator/Components/CalculationWidget/index.story.js +154 -0
  200. package/App/Screens/Configurator/Components/CalculationWidget/index.test.js +142 -0
  201. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/ConfigurationModeSwitch.js +82 -0
  202. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/index.js +15 -0
  203. package/App/Screens/Configurator/Components/Confirm/Styles.scss +0 -0
  204. package/App/Screens/Configurator/Components/Confirm/index.js +105 -0
  205. package/App/Screens/Configurator/Components/DesignApproval/index.js +76 -0
  206. package/App/Screens/Configurator/Components/DesignApproval/index.story.js +27 -0
  207. package/App/Screens/Configurator/Components/DesignApproval/index.test.js +31 -0
  208. package/App/Screens/Configurator/Components/Error/index.js +106 -0
  209. package/App/Screens/Configurator/Components/FallbackVisualization/FallbackVisualization.js +96 -0
  210. package/App/Screens/Configurator/Components/FileUpload/FileUploadBase.js +1 -0
  211. package/App/Screens/Configurator/Components/FullScreenView/index.js +304 -0
  212. package/App/Screens/Configurator/Components/FullScreenView/index.test.js +28 -0
  213. package/App/Screens/Configurator/Components/ImageLoader/ImageLoader.js +96 -0
  214. package/App/Screens/Configurator/Components/LandscapeInformation/index.js +75 -0
  215. package/App/Screens/Configurator/Components/NoVisualization/NoVisualization.js +35 -0
  216. package/App/Screens/Configurator/Components/PreviewPortal/index.js +249 -0
  217. package/App/Screens/Configurator/Components/Styles.scss +1 -0
  218. package/App/Screens/Configurator/Components/Thumbnail/index.js +394 -0
  219. package/App/Screens/Configurator/Components/Thumbnail/index.test.js +50 -0
  220. package/App/Screens/Configurator/Components/TotalPrice/TotalPrice.js +57 -0
  221. package/App/Screens/Configurator/Containers/AmountPrice.js +84 -0
  222. package/App/Screens/Configurator/Containers/CalculationWidget.js +278 -0
  223. package/App/Screens/Configurator/Containers/ConfigurationModeSwitch.js +81 -0
  224. package/App/Screens/Configurator/Containers/Confirm.js +37 -0
  225. package/App/Screens/Configurator/Containers/DesignApproval.js +129 -0
  226. package/App/Screens/Configurator/Containers/FallbackVisualization.js +32 -0
  227. package/App/Screens/Configurator/Containers/FullScreenView.js +47 -0
  228. package/App/Screens/Configurator/Containers/Thumbnail.js +41 -0
  229. package/App/Screens/Configurator/Containers/Visualization.js +13 -0
  230. package/App/Screens/Configurator/DynamicComponents.js +40 -0
  231. package/App/Screens/Configurator/Screen.js +238 -0
  232. package/App/Screens/Configurator/ScreenPropTypes.js +45 -0
  233. package/App/Screens/Configurator/ThemeProvider.js +298 -0
  234. package/App/Screens/DesignerProductPreview/Constants.js +12 -0
  235. package/App/Screens/DesignerProductPreview/DesignerProductPreviewManager.js +554 -0
  236. package/App/Screens/DesignerProductPreview/Screen.js +407 -0
  237. package/App/Screens.js +42 -0
  238. package/App/ServiceLocator.js +309 -0
  239. package/App/Services/AdminareaCommunicationService.js +149 -0
  240. package/App/Services/AnalyticsService.js +403 -0
  241. package/App/Services/ConfiguratorService.js +1166 -0
  242. package/App/Services/DesignDataService.js +3249 -0
  243. package/App/Services/DesignerService.js +496 -0
  244. package/App/Services/InteractionService.js +784 -0
  245. package/App/Services/UIService.js +129 -0
  246. package/App/Services/VisualizationService.js +844 -0
  247. package/App/Shared/Components/AcceptDesign/index.js +166 -0
  248. package/App/Shared/Components/AddToBasket/index.js +194 -0
  249. package/App/Shared/Components/AddToBasket/index.story.js +47 -0
  250. package/App/Shared/Components/AlertDialog/index.js +138 -0
  251. package/App/Shared/Components/AmountInput/Styles.scss +6 -0
  252. package/App/Shared/Components/AmountInput/index.js +296 -0
  253. package/App/Shared/Components/AmountInput/index.story.js +29 -0
  254. package/App/Shared/Components/AmountPrice/index.js +925 -0
  255. package/App/Shared/Components/AmountPrice/index.story.js +112 -0
  256. package/App/Shared/Components/AmountPrice/index.test.js +125 -0
  257. package/App/Shared/Components/Analytics/AnalyticsWrapper.js +49 -0
  258. package/App/Shared/Components/BulkNames/index.js +319 -0
  259. package/App/Shared/Components/CallToAction/index.js +220 -0
  260. package/App/Shared/Components/Header/Header.js +150 -0
  261. package/App/Shared/Components/Header/index.js +15 -0
  262. package/App/Shared/Components/Header/index.story.js +143 -0
  263. package/App/Shared/Components/InformationTag/InformationTag.js +155 -0
  264. package/App/Shared/Components/LicenseNotice/LicenseNotice.js +148 -0
  265. package/App/Shared/Components/LicenseNotice/index.js +15 -0
  266. package/App/Shared/Components/LoadConfiguration/index.js +218 -0
  267. package/App/Shared/Components/MessageBox/index.js +84 -0
  268. package/App/Shared/Components/MessageBox/index.story.js +49 -0
  269. package/App/Shared/Components/Notification/index.js +105 -0
  270. package/App/Shared/Components/Notification/index.story.js +55 -0
  271. package/App/Shared/Components/PdfDownload/index.js +150 -0
  272. package/App/Shared/Components/PlusMinusInput/index.js +118 -0
  273. package/App/Shared/Components/PriceList/index.js +237 -0
  274. package/App/Shared/Components/PriceList/index.story.js +114 -0
  275. package/App/Shared/Components/PriceOverview/index.js +177 -0
  276. package/App/Shared/Components/PriceOverview/index.story.js +215 -0
  277. package/App/Shared/Components/ProductVariant/Image.js +75 -0
  278. package/App/Shared/Components/ProductVariant/Styles.scss +11 -0
  279. package/App/Shared/Components/ProductVariant/index.js +477 -0
  280. package/App/Shared/Components/ProductVariant/index.story.js +283 -0
  281. package/App/Shared/Components/Progress/Progress.js +59 -0
  282. package/App/Shared/Components/ReceiveOfferForm/index.js +432 -0
  283. package/App/Shared/Components/ReceiveOfferForm/index.story.js +32 -0
  284. package/App/Shared/Components/ReceiveOfferForm/index.test.js +36 -0
  285. package/App/Shared/Components/SaveConfiguration/index.js +286 -0
  286. package/App/Shared/Components/SendEmail/index.js +103 -0
  287. package/App/Shared/Components/Stepper/index.js +136 -0
  288. package/App/Shared/Components/Stepper/index.story.js +38 -0
  289. package/App/Shared/Components/ToolbarList/index.js +231 -0
  290. package/App/Shared/Components/ToolbarList/index.story.js +33 -0
  291. package/App/Shared/Components/VariantChooser/index.js +270 -0
  292. package/App/Shared/Components/VariantChooser/index.story.js +100 -0
  293. package/App/Shared/Containers/AlertMessages.js +37 -0
  294. package/App/Shared/Containers/AmountPrice/AmountPriceAdminareaWrapper.js +40 -0
  295. package/App/Shared/Containers/AmountPrice/index.js +284 -0
  296. package/App/Shared/Containers/BulkNames.js +310 -0
  297. package/App/Shared/Containers/Error.js +37 -0
  298. package/App/Shared/Containers/GlobalLoader.js +25 -0
  299. package/App/Shared/Containers/Header/index.js +178 -0
  300. package/App/Shared/Containers/LicenseNotice/LicenseNotice.js +26 -0
  301. package/App/Shared/Containers/LicenseNotice/index.js +15 -0
  302. package/App/Shared/Containers/LoadConfiguration/LoadConfiguration.js +146 -0
  303. package/App/Shared/Containers/LoadConfiguration/index.js +15 -0
  304. package/App/Shared/Containers/PdfDownload/index.js +39 -0
  305. package/App/Shared/Containers/ProductVariant/ProductVariant.js +339 -0
  306. package/App/Shared/Containers/ProductVariant/index.js +15 -0
  307. package/App/Shared/Containers/SaveConfiguration.js +49 -0
  308. package/App/Shared/Containers/SendEmail/SendEmail.js +45 -0
  309. package/App/Shared/Containers/SendEmail/index.js +15 -0
  310. package/App/Shared/Providers/DefaultCanvasProvider.js +86 -0
  311. package/App/Storage.js +17 -0
  312. package/App/Store.js +87 -0
  313. package/App/Styles.scss +0 -0
  314. package/App/Translations.js +88 -0
  315. package/App/Utils/createMessageInterface.js +65 -0
  316. package/App/Utils/customClassName.js +12 -0
  317. package/App/Utils/getContrastText.js +27 -0
  318. package/App/Utils/getImageUrl.js +32 -0
  319. package/App/Variables.scss +84 -0
  320. package/App/configuration.js +421 -0
  321. package/App/index.js +52 -0
  322. package/App/initServices.js +67 -0
  323. package/App/setup.js +22 -0
  324. package/App/versionInfo.js +8 -0
  325. package/Framework/Api.js +178 -0
  326. package/Framework/ComponentContainer.js +165 -0
  327. package/Framework/Components/Carousel/Styles.scss +85 -0
  328. package/Framework/Components/Carousel/index.js +322 -0
  329. package/Framework/Components/Dialog/Style.scss +79 -0
  330. package/Framework/Components/Dialog/index.js +721 -0
  331. package/Framework/Components/DialogSelect/Styles.scss +53 -0
  332. package/Framework/Components/DialogSelect/index.js +331 -0
  333. package/Framework/Components/Input/index.js +147 -0
  334. package/Framework/Components/LoadingOverlay/Styles.scss +37 -0
  335. package/Framework/Components/LoadingOverlay/index.js +33 -0
  336. package/Framework/Components/Markdown/index.js +62 -0
  337. package/Framework/Components/Mobile/index.js +33 -0
  338. package/Framework/CustomError.js +51 -0
  339. package/Framework/Helpers/TransitionDetect.js +116 -0
  340. package/Framework/Helpers/isLandscapeMobile.js +14 -0
  341. package/Framework/Helpers/isMobileDevice.js +17 -0
  342. package/Framework/Helpers/isMobileSize.js +13 -0
  343. package/Framework/Mixins.scss +235 -0
  344. package/Framework/Services/AbstractAdminareaCommunicationService.js +48 -0
  345. package/Framework/Services/AbstractAsyncService.js +44 -0
  346. package/Framework/Services/AbstractConfiguratorService.js +47 -0
  347. package/Framework/Services/AbstractInteractionService.js +50 -0
  348. package/Framework/Services/AbstractStoreService.js +42 -0
  349. package/Framework/Services/AbstractUIService.js +53 -0
  350. package/Framework/Services/AbstractVisualizationService.js +47 -0
  351. package/Framework/Services/AsyncService.js +93 -0
  352. package/Framework/Services/StoreService.js +237 -0
  353. package/Framework/Variables.scss +22 -0
  354. package/Framework/bindDecorator.js +173 -0
  355. package/Framework/i18n.js +382 -0
  356. package/README.md +5 -26
  357. package/Resources/Icons/MaterialUI/Icons/AddCircle.js +13 -0
  358. package/Resources/Icons/MaterialUI/Icons/RemoveCircle.js +13 -0
  359. package/Resources/Icons/MaterialUI/fontFace.scss +37 -0
  360. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.eot +0 -0
  361. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.svg +2373 -0
  362. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.ttf +0 -0
  363. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff +0 -0
  364. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff2 +0 -0
  365. package/Resources/Icons/fonts/ionicons.eot +0 -0
  366. package/Resources/Icons/fonts/ionicons.svg +2230 -0
  367. package/Resources/Icons/fonts/ionicons.ttf +0 -0
  368. package/Resources/Icons/fonts/ionicons.woff +0 -0
  369. package/Resources/Icons/ionicons.scss +1489 -0
  370. package/Resources/Icons/ioniconsExtend.scss +1469 -0
  371. package/Resources/Icons/v4/fontFace.scss +11 -0
  372. package/Resources/Icons/v4/fonts/ionicons.eot +0 -0
  373. package/Resources/Icons/v4/fonts/ionicons.svg +2090 -0
  374. package/Resources/Icons/v4/fonts/ionicons.ttf +0 -0
  375. package/Resources/Icons/v4/fonts/ionicons.woff +0 -0
  376. package/Resources/Icons/v4/fonts/ionicons.woff2 +0 -0
  377. package/Resources/Icons/v4/icons.scss +15 -0
  378. package/Resources/Icons/v4/iconsExtend.scss +7 -0
  379. package/Resources/Images/designer_placeholder_logo.svg +1 -0
  380. package/Resources/Masks/circle.svg +4 -0
  381. package/Shared/Components/CustomDialog.js +133 -0
  382. package/Shared/Components/CustomDialogSelect.js +161 -0
  383. package/Shared/Components/MainButton.js +81 -0
  384. package/Shared/ErrorTypes/DeferredError.js +51 -0
  385. package/Shared/HOCs/ResizeDetect/ResizeDetect.dev.js +60 -0
  386. package/Shared/HOCs/ResizeDetect/ResizeDetect.js +217 -0
  387. package/Shared/HOCs/getDisplayName.js +10 -0
  388. package/Shared/HOCs/withFixedChangeHandler.js +46 -0
  389. package/Shared/PropTypes/ReactComponent.js +13 -0
  390. package/Shared/Styles/absoluteCenter.js +17 -0
  391. package/Utils/Array/isIdentical.js +38 -0
  392. package/Utils/Async/AsyncManager.js +128 -0
  393. package/Utils/Async/Deferred.js +145 -0
  394. package/Utils/Async/ObjectLock.js +38 -0
  395. package/Utils/Decorators/Observable.js +130 -0
  396. package/Utils/Dev/HOCs/withFilePicker.js +101 -0
  397. package/Utils/Dev/isDev.js +21 -0
  398. package/Utils/Events/pointerEvent.js +199 -0
  399. package/Utils/Events/preventEventDoubling.js +23 -0
  400. package/Utils/Function/cached.js +64 -0
  401. package/Utils/Function/createDebounceManager.js +77 -0
  402. package/Utils/Function/createSelector.js +62 -0
  403. package/Utils/Function/memoize.js +46 -0
  404. package/Utils/Function/sendMessage.js +22 -0
  405. package/Utils/Helper/createSelectionRangeMemo.js +45 -0
  406. package/Utils/Immutable/set.js +81 -0
  407. package/Utils/Math/conversions.js +13 -0
  408. package/Utils/Math/isPositiveNumber.js +12 -0
  409. package/Utils/Redux/createActionWithGlobalState.js +23 -0
  410. package/Utils/Styles/combineMediaQueries.js +24 -0
  411. package/Utils/Styles/createCheckerBoardBackground.js +22 -0
  412. package/Utils/Test/CallOrderChecker.js +29 -0
  413. package/Utils/Test/createStoreProvider.js +33 -0
  414. package/Utils/Test/formDataToJSON.js +20 -0
  415. package/Utils/Test/mountWithState.js +40 -0
  416. package/index.js +8 -0
  417. package/package.json +22 -103
  418. package/scripts/cpPublic.js +3 -3
  419. package/scripts/getDefaultWebpackConfig.js +11 -10
  420. package/src/App/Error/ProductionErrorPage/Style.scss +1 -1
  421. package/src/App/Modules/Creator/Components/Option/index.test.js +1 -1
  422. package/src/App/Modules/Creator/Components/OptionAmount/index.test.js +1 -1
  423. package/src/App/Modules/Creator/Components/ProductPart/__snapshots__/index.test.js.snap +33 -10
  424. package/src/App/Modules/Creator/Components/ProductPart/index.js +5 -1
  425. package/src/App/Modules/Creator/Components/ProductPart/index.test.js +14 -1
  426. package/src/App/Modules/Creator/Components/ProductPartsList/index.js +3 -0
  427. package/src/App/Modules/Creator/Containers/ProductPartsList/index.js +1 -0
  428. package/src/App/Modules/Designer/Components/AddGalleryImage/index.story.js +1 -1
  429. package/src/App/Modules/Designer/Components/ColorPalettes/index.test.jsx +1 -1
  430. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.js +21 -4
  431. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.test.jsx +1 -1
  432. package/src/App/Modules/Designer/Components/TextControlbox/index.test.jsx +1 -1
  433. package/src/App/Modules/Designer/Containers/Designer.js +1 -1
  434. package/src/App/Modules/Designer/DesignerScreen.js +32 -8
  435. package/src/App/{Screens/Configurator → Modules/Designer}/DesignerUI.js +42 -26
  436. package/src/App/Modules/Designer/Layouts/DefaultLayout.js +35 -1
  437. package/src/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +18 -0
  438. package/src/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +54 -0
  439. package/src/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +38 -0
  440. package/src/App/Reducers/DesignView/Actions.js +1 -2
  441. package/src/App/Reducers/DesignView/Reducer.js +2 -10
  442. package/src/App/Reducers/DesignView/__mocks__/designerViewData.js +0 -1
  443. package/src/App/Reducers/DesignView/__tests__/Reducer.test.js +0 -22
  444. package/src/App/Reducers/ImageGallery/Actions.js +1 -1
  445. package/src/App/Screens/Configurator/Components/CalculationWidget/index.test.jsx +1 -1
  446. package/src/App/Screens/Configurator/Components/DesignApproval/index.test.jsx +1 -1
  447. package/src/App/Screens/Configurator/Components/FullScreenView/index.js +3 -2
  448. package/src/App/Screens/Configurator/Components/FullScreenView/index.test.jsx +1 -1
  449. package/src/App/Screens/Configurator/Components/PreviewPortal/index.js +7 -3
  450. package/src/App/Screens/Configurator/Containers/AmountPrice.js +1 -1
  451. package/src/App/Screens/Configurator/Containers/Confirm.js +1 -1
  452. package/src/App/Screens/Configurator/Containers/FullScreenView.js +1 -0
  453. package/src/App/Screens/Configurator/Containers/__tests__/Designer.test.js +1 -1
  454. package/src/App/Screens/Configurator/Screen.js +4 -2
  455. package/src/App/Screens/Configurator/__tests__/Screen.test.js +3 -0
  456. package/src/App/Services/ConfiguratorService.js +25 -4
  457. package/src/App/Services/InteractionService.js +2 -1
  458. package/src/App/Services/VisualizationService.js +3 -0
  459. package/src/App/Services/__tests__/DesignDataService.selectViewForComponent.test.js +0 -53
  460. package/src/App/Shared/Containers/AlertMessages.js +1 -1
  461. package/src/App/Shared/Containers/AmountPrice/index.test.js +1 -1
  462. package/src/App/Shared/Containers/Error.js +1 -1
  463. package/src/App/Shared/Containers/SaveConfiguration.js +1 -1
  464. package/src/App/Translations.js +1 -1
  465. package/src/App/Utils/createMessageInterface.js +10 -0
  466. package/src/App/configuration.js +3 -0
  467. package/src/Framework/i18n.js +2 -3
  468. package/babel.config.js +0 -46
  469. package/public/ConfigurationMessagingDemo.html +0 -55
  470. package/scripts/cpPath.js +0 -135
  471. package/scripts/moveLibToPackageRoot.js +0 -40
  472. package/scripts/rmDir.js +0 -29
  473. package/scripts/updateLocalPackages.js +0 -68
  474. package/scripts/utils/process.js +0 -19
  475. package/tsconfig.json +0 -22
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.imageGalleryReducer = imageGalleryReducer;
9
+ exports["default"] = void 0;
10
+
11
+ var _findIndex = _interopRequireDefault(require("lodash/findIndex"));
12
+
13
+ var _find = _interopRequireDefault(require("lodash/find"));
14
+
15
+ var _get = _interopRequireDefault(require("lodash/get"));
16
+
17
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
18
+
19
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
20
+
21
+ var _Modifiers = require("./Modifiers");
22
+
23
+ var actionTypes = _interopRequireWildcard(require("./Actions"));
24
+
25
+ var _Modifiers2 = require("../DesignData/Modifiers");
26
+
27
+ var _Selectors = require("./Selectors");
28
+
29
+ var _configuration = require("../../configuration");
30
+
31
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
+
33
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
+
35
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
36
+
37
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
38
+
39
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
40
+
41
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
42
+
43
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
44
+
45
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
46
+
47
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
48
+
49
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
50
+
51
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
52
+
53
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
54
+
55
+ var updateDerivedImageDataProps = function updateDerivedImageDataProps(imageData) {
56
+ var _imageData$operations = imageData.operations,
57
+ operations = _imageData$operations === void 0 ? {} : _imageData$operations;
58
+ imageData.imageColorsWereEdited = !!operations.vectorizeOriginalColorsMap && !(0, _isEqual["default"])(operations.vectorizeColorsMap, operations.vectorizeOriginalColorsMap);
59
+ var prevColorPreviewEnabled = imageData.colorPreviewEnabled;
60
+ imageData.colorPreviewEnabled = imageData.colorPreviewRequired || !!Object.keys(operations.vectorizeOriginalColorsMap || {}).length && (0, _Modifiers2.isOneColorAboveThreshold)(operations.vectorizeColorsMap, operations.vectorizeOriginalColorsMap);
61
+
62
+ if (!imageData.colorPreviewEnabled) {
63
+ imageData.displayColorPreview = false;
64
+ } else if (!prevColorPreviewEnabled) {
65
+ imageData.displayColorPreview = (0, _configuration.getConf)('autoPreviewVectorization', true);
66
+ }
67
+
68
+ return imageData;
69
+ };
70
+
71
+ var initialState = {
72
+ gallery: [],
73
+ tags: [],
74
+ selectedTag: null,
75
+ selectedTags: [],
76
+ userImages: [],
77
+ selectedImage: null,
78
+ lastErrorCode: null,
79
+ mode: null
80
+ };
81
+
82
+ function imageGalleryReducer() {
83
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
84
+ var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
85
+
86
+ switch (action.type) {
87
+ case actionTypes.RECEIVE_GALLERY:
88
+ return _objectSpread(_objectSpread({}, state), {}, {
89
+ gallery: action.data
90
+ });
91
+
92
+ case actionTypes.RECEIVE_GALLERY_TAGS:
93
+ return _objectSpread(_objectSpread({}, state), {}, {
94
+ tags: action.data
95
+ });
96
+
97
+ case actionTypes.SELECT_GALLERY_TAG:
98
+ return _objectSpread(_objectSpread({}, state), {}, {
99
+ selectedTag: action.tag
100
+ });
101
+
102
+ case actionTypes.SELECT_GALLERY_TAGS:
103
+ {
104
+ return _objectSpread(_objectSpread({}, state), {}, {
105
+ selectedTags: action.tags
106
+ });
107
+ }
108
+
109
+ case actionTypes.RECEIVE_IMAGE_UPLOAD_DATA:
110
+ {
111
+ var statusCode = (0, _get["default"])(action, 'response.status');
112
+
113
+ if (statusCode && statusCode !== 200) {
114
+ return _objectSpread(_objectSpread({}, state), {}, {
115
+ lastErrorCode: (0, _get["default"])(action, 'data.code', 'unknown_server_error')
116
+ });
117
+ }
118
+
119
+ var imageData = _objectSpread(_objectSpread({}, action.imageData), action.data);
120
+
121
+ var userImages = state.userImages;
122
+ var userImage = (0, _find["default"])(userImages, {
123
+ identifier: imageData.identifier
124
+ }) || state.selectedImage;
125
+
126
+ if (userImage) {
127
+ imageData.identifier = userImage.identifier;
128
+
129
+ if (userImage.originalFileName === imageData.originalFileName) {
130
+ imageData.displayColorPreview = userImage.displayColorPreview;
131
+
132
+ if (!imageData.operations) {
133
+ imageData.operations = (0, _cloneDeep["default"])(userImage.operations);
134
+ }
135
+ }
136
+ }
137
+
138
+ if (!imageData.identifier || action.createCopy) {
139
+ imageData.identifier = (0, _Modifiers.generateImageId)();
140
+ }
141
+
142
+ updateDerivedImageDataProps(imageData);
143
+
144
+ if (action.createCopy && action.immediateCommit) {
145
+ userImages = [].concat(state.userImages);
146
+ userImages.push(imageData);
147
+ }
148
+
149
+ return _objectSpread(_objectSpread({}, state), {}, {
150
+ userImages: userImages,
151
+ selectedImage: imageData,
152
+ lastErrorCode: null // clear the error code if succeeded
153
+
154
+ });
155
+ }
156
+
157
+ case actionTypes.COMMIT_CHANGES:
158
+ {
159
+ var count = action.imageUsageInfo.count,
160
+ compatibilityInfoHash = action.compatibilityInfoHash;
161
+ var selectedImage = state.selectedImage,
162
+ mode = state.mode;
163
+
164
+ var _userImages = [].concat(state.userImages);
165
+
166
+ var identifier = selectedImage.identifier,
167
+ fileName = selectedImage.fileName,
168
+ operations = selectedImage.operations;
169
+ var currentImage = mode === actionTypes.ImageGalleryModes.add ? (0, _find["default"])(_userImages, {
170
+ fileName: fileName,
171
+ operations: operations,
172
+ compatibilityInfoHash: compatibilityInfoHash
173
+ }) // try to find an existing one with the same options
174
+ : count === 1 // if it's the only image, find it by identifier
175
+ ? (0, _find["default"])(_userImages, {
176
+ identifier: identifier
177
+ }) : (0, _find["default"])(_userImages, {
178
+ identifier: identifier,
179
+ operations: operations,
180
+ compatibilityInfoHash: compatibilityInfoHash
181
+ }) || null;
182
+
183
+ if (currentImage) {
184
+ if (mode === actionTypes.ImageGalleryModes.add) {
185
+ return _objectSpread(_objectSpread({}, state), {}, {
186
+ selectedImage: currentImage
187
+ });
188
+ } else {
189
+ Object.assign(currentImage, selectedImage);
190
+ return _objectSpread(_objectSpread({}, state), {}, {
191
+ userImages: _userImages
192
+ });
193
+ }
194
+ }
195
+
196
+ var newImage = _objectSpread(_objectSpread({}, selectedImage), {}, {
197
+ compatibilityInfoHash: compatibilityInfoHash,
198
+ operations: operations || {},
199
+ identifier: (0, _Modifiers.generateImageId)()
200
+ });
201
+
202
+ _userImages.push(newImage);
203
+
204
+ return _objectSpread(_objectSpread({}, state), {}, {
205
+ userImages: _userImages,
206
+ selectedImage: newImage
207
+ });
208
+ }
209
+
210
+ case actionTypes.SET_MODE:
211
+ {
212
+ var _mode = action.mode;
213
+ return _objectSpread(_objectSpread({}, state), {}, {
214
+ mode: _mode
215
+ });
216
+ }
217
+
218
+ case actionTypes.SET_SELECTED_IMAGE:
219
+ {
220
+ var _imageData = action.imageData,
221
+ _fileName = action.fileName,
222
+ _identifier = action.identifier;
223
+
224
+ var _selectedImage = _imageData && updateDerivedImageDataProps(_imageData) || _identifier && (0, _find["default"])(state.userImages, {
225
+ identifier: _identifier
226
+ }) || _fileName && (0, _find["default"])(state.userImages, {
227
+ fileName: _fileName
228
+ }) || null;
229
+
230
+ return _objectSpread(_objectSpread({}, state), {}, {
231
+ selectedImage: _selectedImage
232
+ });
233
+ }
234
+
235
+ case actionTypes.ADD_IMAGES_FROM_DESIGN_AREA:
236
+ {
237
+ return action.data ? _objectSpread(_objectSpread({}, state), {}, {
238
+ userImages: [].concat(_toConsumableArray(state.userImages), _toConsumableArray(action.data))
239
+ }) : state;
240
+ }
241
+
242
+ case actionTypes.UPDATE_IMAGE:
243
+ {
244
+ var _userImages2 = state.userImages;
245
+ var designAreas = action.imageUsageInfo.designAreas,
246
+ imageDataPatch = action.imageDataPatch;
247
+
248
+ var _currentImage = state.selectedImage && state.selectedImage.identifier === action.identifier ? state.selectedImage : (0, _find["default"])(_userImages2, {
249
+ identifier: action.identifier
250
+ });
251
+
252
+ var image = _objectSpread(_objectSpread({}, _currentImage), imageDataPatch); // create new identifier if it's used by multiple areas
253
+ // avoiding unwanted modification of other occurrences
254
+
255
+
256
+ if (designAreas > 1 && (0, _Selectors.isHardModified)(_currentImage, image)) {
257
+ image.identifier = (0, _Modifiers.generateImageId)();
258
+ }
259
+
260
+ updateDerivedImageDataProps(image);
261
+
262
+ var result = _objectSpread({}, state);
263
+
264
+ result.selectedImage = image; // in 'immediate commit' mode the image is directly updated or added
265
+ // so the extra COMMIT_CHANGES action does not have to be performed
266
+
267
+ if (action.immediateCommit) {
268
+ result.userImages = _toConsumableArray(_userImages2);
269
+ var idx = (0, _findIndex["default"])(_userImages2, {
270
+ identifier: image.identifier
271
+ });
272
+
273
+ if (idx !== -1) {
274
+ result.userImages[idx] = image;
275
+ } else {
276
+ result.userImages.push(image);
277
+ }
278
+ }
279
+
280
+ return result;
281
+ }
282
+
283
+ case actionTypes.ADD_GALLERY_IMAGE_TO_USER_IMAGES:
284
+ {
285
+ var imageUrl = action.imageUrl,
286
+ thumbUrl = action.thumbUrl,
287
+ _fileName2 = action.fileName,
288
+ vectorizeColorsMap = action.vectorizeColorsMap,
289
+ _compatibilityInfoHash = action.compatibilityInfoHash;
290
+
291
+ var _image = (0, _Modifiers.createSVGImageData)({
292
+ imageUrl: imageUrl,
293
+ thumbUrl: thumbUrl,
294
+ fileName: _fileName2,
295
+ operations: {
296
+ vectorizeColorsMap: vectorizeColorsMap
297
+ }
298
+ });
299
+
300
+ return _objectSpread(_objectSpread({}, state), {}, {
301
+ selectedImage: _objectSpread(_objectSpread({}, _image), {}, {
302
+ compatibilityInfoHash: _compatibilityInfoHash
303
+ })
304
+ });
305
+ }
306
+
307
+ case actionTypes.DISMISS_ERROR:
308
+ {
309
+ return _objectSpread(_objectSpread({}, state), {}, {
310
+ lastErrorCode: null
311
+ });
312
+ }
313
+
314
+ default:
315
+ return state;
316
+ }
317
+ }
318
+
319
+ var _default = imageGalleryReducer;
320
+ exports["default"] = _default;
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isColorPreviewCompatible = exports.isHardModified = exports.showVectorizeImageQuality = exports.isVectorFormat = exports.isColorMappingCompatible = exports.isImageReadyToBeAdded = exports.isImageCompatible = exports.isAddMode = exports.isEditMode = exports.getImageUsageInfo = exports.getUserImagesByDesignArea = exports.getUserImage = exports.isEditableVectorImage = exports.getPreviewUrlFromImageData = void 0;
7
+
8
+ var _get = _interopRequireDefault(require("lodash/get"));
9
+
10
+ var _find = _interopRequireDefault(require("lodash/find"));
11
+
12
+ var _flatten = _interopRequireDefault(require("lodash/flatten"));
13
+
14
+ var _configuration = require("../../configuration");
15
+
16
+ var _Selectors = require("../Configurator/Selectors");
17
+
18
+ var _Reducer = require("../DesignData/Reducer");
19
+
20
+ var _Actions = require("./Actions");
21
+
22
+ var _Selectors2 = require("../DesignArea/Selectors");
23
+
24
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
+
28
+ var getPreviewUrlFromImageData = function getPreviewUrlFromImageData(preview) {
29
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
30
+
31
+ if (/^data:image/.test(preview.url)) {
32
+ return preview.url;
33
+ }
34
+
35
+ var _options$host = options.host,
36
+ host = _options$host === void 0 ? (0, _configuration.getConf)('network.host', '') : _options$host;
37
+ return "".concat(host).concat(preview.url);
38
+ };
39
+
40
+ exports.getPreviewUrlFromImageData = getPreviewUrlFromImageData;
41
+
42
+ var isEditableVectorImage = function isEditableVectorImage(preview) {
43
+ return preview && preview.url && (/.svg$/.test(preview.url) || /^data:image\/svg\+xml/.test(preview.url));
44
+ };
45
+
46
+ exports.isEditableVectorImage = isEditableVectorImage;
47
+
48
+ var getUserImage = function getUserImage(state, identifier) {
49
+ var userImages = (0, _get["default"])(state, 'imageGallery.userImages', []);
50
+ return (0, _find["default"])(userImages, {
51
+ identifier: identifier
52
+ });
53
+ };
54
+
55
+ exports.getUserImage = getUserImage;
56
+
57
+ var getUserImagesByDesignArea = function getUserImagesByDesignArea(configuratorState) {
58
+ var configuration = (0, _Selectors.getConfiguration)(configuratorState);
59
+ var designData = (0, _get["default"])(configuration, 'designdata');
60
+
61
+ if (!designData) {
62
+ return null;
63
+ }
64
+
65
+ return (0, _flatten["default"])(Object.values(designData) // merge the objects into one array
66
+ .filter(function (dd) {
67
+ return !!dd.canvasData;
68
+ }) // get the areas with existing canvas data
69
+ .map(function (data) {
70
+ return data.canvasData.objects;
71
+ })) // get the objects array from the areas
72
+ .filter(function (o) {
73
+ return o.type === 'Image';
74
+ }) // filter the images
75
+ .map(function (object) {
76
+ return object.imageData;
77
+ }) // get the imageData objects from the images
78
+ .filter(function (imageData, idx, arr) {
79
+ return !imageData.isPlaceHolderImage && // placeholders are not needed in the list
80
+ // uniq by identifier
81
+ imageData === arr.find(function (_ref) {
82
+ var identifier = _ref.identifier;
83
+ return identifier === imageData.identifier;
84
+ });
85
+ });
86
+ };
87
+
88
+ exports.getUserImagesByDesignArea = getUserImagesByDesignArea;
89
+
90
+ var getImageUsageInfo = function getImageUsageInfo(state, imageIdentifier) {
91
+ if (!imageIdentifier) {
92
+ imageIdentifier = (0, _get["default"])(state.imageGallery.selectedImage, 'identifier');
93
+ }
94
+
95
+ if (!imageIdentifier) {
96
+ return {
97
+ count: 0,
98
+ designAreas: 0
99
+ };
100
+ }
101
+
102
+ return Object.values((0, _Reducer.getDesignData)((0, _Selectors.getConfigurator)(state))).reduce(function (_ref2, _ref3) {
103
+ var count = _ref2.count,
104
+ designAreas = _ref2.designAreas;
105
+ var canvasData = _ref3.canvasData;
106
+ var countPerArea = canvasData && canvasData.objects ? canvasData.objects.filter(function (_ref4) {
107
+ var imageData = _ref4.imageData;
108
+ return imageData && imageData.identifier === imageIdentifier;
109
+ }).length : 0;
110
+ return {
111
+ designAreas: designAreas + (countPerArea ? 1 : 0),
112
+ count: count + countPerArea
113
+ };
114
+ }, {
115
+ count: 0,
116
+ designAreas: 0
117
+ });
118
+ };
119
+
120
+ exports.getImageUsageInfo = getImageUsageInfo;
121
+
122
+ var isEditMode = function isEditMode(state) {
123
+ return (0, _get["default"])(state, 'imageGallery.mode') === _Actions.ImageGalleryModes.edit;
124
+ };
125
+
126
+ exports.isEditMode = isEditMode;
127
+
128
+ var isAddMode = function isAddMode(state) {
129
+ return (0, _get["default"])(state, 'imageGallery.mode') === _Actions.ImageGalleryModes.add;
130
+ };
131
+
132
+ exports.isAddMode = isAddMode;
133
+
134
+ var isImageCompatible = function isImageCompatible(state, imageData) {
135
+ return (0, _Selectors2.areHashesCompatible)(imageData.compatibilityInfoHash, (0, _Selectors2.getCurrentCompatibilityInfoHash)(state));
136
+ };
137
+
138
+ exports.isImageCompatible = isImageCompatible;
139
+
140
+ var isImageReadyToBeAdded = function isImageReadyToBeAdded(state, imageData) {
141
+ return Boolean(imageData && isAddMode(state) && isImageCompatible(state, imageData) && getImageUsageInfo(state, imageData.identifier).count > 0 // make sure it's already added (add it one more time)
142
+ );
143
+ };
144
+
145
+ exports.isImageReadyToBeAdded = isImageReadyToBeAdded;
146
+
147
+ var isColorMappingCompatible = function isColorMappingCompatible(colorPalettes, vectorizeColorsMap) {
148
+ if (!colorPalettes) {
149
+ return false;
150
+ }
151
+
152
+ var colors = Object.values(vectorizeColorsMap);
153
+ return !colors.length || !colors.map(function (_ref5) {
154
+ var identifier = _ref5.identifier;
155
+ return JSON.parse(identifier).palette;
156
+ }).some(function (identifier) {
157
+ return !(0, _find["default"])(colorPalettes, {
158
+ identifier: identifier
159
+ });
160
+ });
161
+ };
162
+
163
+ exports.isColorMappingCompatible = isColorMappingCompatible;
164
+
165
+ var isVectorFormat = function isVectorFormat(extension) {
166
+ return /^(eps|pdf|ai|svg)$/i.test(extension);
167
+ };
168
+
169
+ exports.isVectorFormat = isVectorFormat;
170
+
171
+ var showVectorizeImageQuality = function showVectorizeImageQuality(imageToAnalyse) {
172
+ var minimumPixelAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
173
+
174
+ if (imageToAnalyse) {
175
+ var pixelsInTheImage = (0, _get["default"])(imageToAnalyse, 'original.width', 0) * (0, _get["default"])(imageToAnalyse, 'original.height', 0);
176
+ var hasFormatSVG = (0, _get["default"])(imageToAnalyse, 'original.format', '').toLowerCase() === 'svg';
177
+ var pixelsOfReference = minimumPixelAmount || (0, _configuration.getConf)('vectorizeImageQuality');
178
+ return !hasFormatSVG && pixelsInTheImage < pixelsOfReference;
179
+ }
180
+
181
+ return false;
182
+ };
183
+
184
+ exports.showVectorizeImageQuality = showVectorizeImageQuality;
185
+
186
+ var isHardModified = function isHardModified(originalImageData, newImageData) {
187
+ return ['operations', 'compatibilityInfoHash'].some(function (prop) {
188
+ return !(0, _isEqual["default"])(originalImageData[prop], newImageData[prop]);
189
+ });
190
+ };
191
+
192
+ exports.isHardModified = isHardModified;
193
+
194
+ var isColorPreviewCompatible = function isColorPreviewCompatible(state, image, designProductionMethodIdentifier) {
195
+ if (!image) {
196
+ image = state.imageGallery.selectedImage;
197
+ }
198
+
199
+ var designProductionMethod = designProductionMethodIdentifier ? (0, _Selectors2.getDesignProductionMethodByIdentifier)(state, designProductionMethodIdentifier) : (0, _Selectors2.getSelectedDesignProductionMethod)(state);
200
+ var colorPreviewRequired = (0, _Selectors2.designProductionMethodHasEmbroideryVisualizationEffect)(designProductionMethod);
201
+ var displayColorPreview = image && (!!image.gallery || !!image.displayColorPreview); // do not let the user to add a raster image if the production method is embroidery
202
+
203
+ return !colorPreviewRequired || displayColorPreview || false;
204
+ };
205
+
206
+ exports.isColorPreviewCompatible = isColorPreviewCompatible;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = apiReducer;
7
+
8
+ var _lodash = _interopRequireDefault(require("lodash"));
9
+
10
+ var _Actions = require("./Actions");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
+
18
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+
20
+ var initialState = {
21
+ sources: {},
22
+ isFetching: false
23
+ };
24
+
25
+ function getSourceState(action) {
26
+ switch (action.type) {
27
+ case _Actions.REQUEST_DATA:
28
+ return {
29
+ isFetching: true,
30
+ source: action.source
31
+ };
32
+
33
+ case _Actions.POST_DATA:
34
+ return {
35
+ isFetching: true,
36
+ isPosted: true,
37
+ postData: action.data,
38
+ source: action.source
39
+ };
40
+
41
+ case _Actions.NETWORK_ERROR:
42
+ return {
43
+ isFetching: false,
44
+ error: action.error,
45
+ source: action.source
46
+ };
47
+
48
+ case _Actions.REQUEST_ERROR:
49
+ return {
50
+ isFetching: false,
51
+ error: action.error,
52
+ source: action.source
53
+ };
54
+
55
+ case _Actions.RECEIVE_DATA:
56
+ return {
57
+ isFetching: false,
58
+ data: action.data,
59
+ source: action.source
60
+ };
61
+
62
+ case _Actions.CANCEL_REQUEST:
63
+ return {
64
+ isFetching: false,
65
+ isCancelled: true,
66
+ source: action.source
67
+ };
68
+ }
69
+ }
70
+
71
+ function apiReducer() {
72
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
73
+ var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
74
+
75
+ switch (action.type) {
76
+ case _Actions.REQUEST_DATA:
77
+ case _Actions.POST_DATA:
78
+ case _Actions.NETWORK_ERROR:
79
+ case _Actions.RECEIVE_DATA:
80
+ case _Actions.CANCEL_REQUEST:
81
+ case _Actions.REQUEST_ERROR:
82
+ {
83
+ var sourceState = getSourceState(action);
84
+
85
+ var sources = _objectSpread({}, state.sources);
86
+
87
+ var key = _lodash["default"].isObject(action.source) ? action.source.url : action.source;
88
+
89
+ if (sourceState.isFetching) {
90
+ sources[key] = sourceState;
91
+ } else {
92
+ // remove when fetching finished... maybe it saves a bit of memory
93
+ delete sources[key];
94
+ }
95
+
96
+ return _objectSpread(_objectSpread({}, state), {}, {
97
+ sources: sources,
98
+ isFetching: _lodash["default"].reduce(sources, function (result, value) {
99
+ return result || value.isFetching;
100
+ }, false)
101
+ });
102
+ }
103
+
104
+ default:
105
+ return state;
106
+ }
107
+ }