@configuratorware/configurator-frontendgui 1.28.1 → 1.29.0

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 (473) 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 +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 +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/Optiondetail/index.js +7 -3
  424. package/src/App/Modules/Creator/Components/ProductPart/index.test.js +1 -1
  425. package/src/App/Modules/Designer/Components/AddGalleryImage/index.story.js +1 -1
  426. package/src/App/Modules/Designer/Components/ColorPalettes/index.test.jsx +1 -1
  427. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.js +21 -4
  428. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.test.jsx +1 -1
  429. package/src/App/Modules/Designer/Components/TextControlbox/index.test.jsx +1 -1
  430. package/src/App/Modules/Designer/Containers/Designer.js +1 -1
  431. package/src/App/Modules/Designer/DesignerScreen.js +32 -8
  432. package/src/App/{Screens/Configurator → Modules/Designer}/DesignerUI.js +42 -26
  433. package/src/App/Modules/Designer/Layouts/DefaultLayout.js +35 -1
  434. package/src/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +18 -0
  435. package/src/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +54 -0
  436. package/src/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +38 -0
  437. package/src/App/Reducers/DesignView/Actions.js +1 -2
  438. package/src/App/Reducers/DesignView/Reducer.js +2 -10
  439. package/src/App/Reducers/DesignView/__mocks__/designerViewData.js +0 -1
  440. package/src/App/Reducers/DesignView/__tests__/Reducer.test.js +0 -22
  441. package/src/App/Reducers/ImageGallery/Actions.js +1 -1
  442. package/src/App/Screens/Configurator/Components/CalculationWidget/index.test.jsx +1 -1
  443. package/src/App/Screens/Configurator/Components/DesignApproval/index.test.jsx +1 -1
  444. package/src/App/Screens/Configurator/Components/FullScreenView/index.js +3 -2
  445. package/src/App/Screens/Configurator/Components/FullScreenView/index.test.jsx +1 -1
  446. package/src/App/Screens/Configurator/Components/PreviewPortal/index.js +7 -3
  447. package/src/App/Screens/Configurator/Containers/AmountPrice.js +1 -1
  448. package/src/App/Screens/Configurator/Containers/Confirm.js +1 -1
  449. package/src/App/Screens/Configurator/Containers/FullScreenView.js +1 -0
  450. package/src/App/Screens/Configurator/Containers/__tests__/Designer.test.js +1 -1
  451. package/src/App/Screens/Configurator/Screen.js +4 -2
  452. package/src/App/Screens/Configurator/__tests__/Screen.test.js +3 -0
  453. package/src/App/Services/ConfiguratorService.js +25 -4
  454. package/src/App/Services/InteractionService.js +2 -1
  455. package/src/App/Services/VisualizationService.js +3 -0
  456. package/src/App/Services/__tests__/DesignDataService.selectViewForComponent.test.js +0 -53
  457. package/src/App/Shared/Containers/AlertMessages.js +1 -1
  458. package/src/App/Shared/Containers/AmountPrice/index.test.js +1 -1
  459. package/src/App/Shared/Containers/Error.js +1 -1
  460. package/src/App/Shared/Containers/SaveConfiguration.js +1 -1
  461. package/src/App/Translations.js +1 -1
  462. package/src/App/Utils/createMessageInterface.js +10 -0
  463. package/src/App/configuration.js +3 -0
  464. package/src/Framework/i18n.js +2 -3
  465. package/src/Shared/Components/CustomDialog.js +1 -0
  466. package/babel.config.js +0 -46
  467. package/public/ConfigurationMessagingDemo.html +0 -55
  468. package/scripts/cpPath.js +0 -135
  469. package/scripts/moveLibToPackageRoot.js +0 -40
  470. package/scripts/rmDir.js +0 -29
  471. package/scripts/updateLocalPackages.js +0 -68
  472. package/scripts/utils/process.js +0 -19
  473. package/tsconfig.json +0 -22
@@ -0,0 +1,106 @@
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["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
13
+
14
+ var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
15
+
16
+ var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
17
+
18
+ var _DialogContentText = _interopRequireDefault(require("@material-ui/core/DialogContentText"));
19
+
20
+ var _i18n = require("../../../../../Framework/i18n");
21
+
22
+ require("./Styles.scss");
23
+
24
+ var _CustomDialog = _interopRequireDefault(require("../../../../../Shared/Components/CustomDialog"));
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
+
30
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31
+
32
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
33
+
34
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
35
+
36
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
37
+
38
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
39
+
40
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
41
+
42
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
43
+
44
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
45
+
46
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
+
48
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
49
+
50
+ 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; }
51
+
52
+ var Error = /*#__PURE__*/function (_React$Component) {
53
+ _inherits(Error, _React$Component);
54
+
55
+ var _super = _createSuper(Error);
56
+
57
+ function Error() {
58
+ var _this;
59
+
60
+ _classCallCheck(this, Error);
61
+
62
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
63
+ args[_key] = arguments[_key];
64
+ }
65
+
66
+ _this = _super.call.apply(_super, [this].concat(args));
67
+
68
+ _defineProperty(_assertThisInitialized(_this), "handleClose", function () {
69
+ _this.props.dismissError();
70
+ });
71
+
72
+ return _this;
73
+ }
74
+
75
+ _createClass(Error, [{
76
+ key: "render",
77
+ value: function render() {
78
+ var message = this.props.message;
79
+ return message && /*#__PURE__*/_react["default"].createElement(_CustomDialog["default"], {
80
+ open: true,
81
+ onClose: this.handleClose,
82
+ "aria-labelledby": "alert-dialog-title",
83
+ "aria-describedby": "alert-dialog-description",
84
+ dialogTitle: (0, _i18n.t)('errorDialogTitle')
85
+ }, /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], {
86
+ id: "alert-dialog-description",
87
+ dangerouslySetInnerHTML: {
88
+ __html: message
89
+ }
90
+ })), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
91
+ onClick: this.handleClose,
92
+ color: "primary"
93
+ }, (0, _i18n.t)('okButtonLabel'))));
94
+ }
95
+ }]);
96
+
97
+ return Error;
98
+ }(_react["default"].Component);
99
+
100
+ _defineProperty(Error, "propTypes", {
101
+ dismissError: _propTypes["default"].func,
102
+ message: _propTypes["default"].object
103
+ });
104
+
105
+ var _default = Error;
106
+ exports["default"] = _default;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FallbackVisualization = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _withStyles = _interopRequireDefault(require("@material-ui/core/styles/withStyles"));
13
+
14
+ var _i18n = require("../../../../../Framework/i18n");
15
+
16
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
17
+
18
+ var _ImageLoader = require("../ImageLoader/ImageLoader");
19
+
20
+ var _absoluteCenter = require("../../../../../Shared/Styles/absoluteCenter");
21
+
22
+ var _ReactComponent = _interopRequireDefault(require("../../../../../Shared/PropTypes/ReactComponent"));
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ var styles = function styles() {
33
+ return {
34
+ root: {
35
+ flex: 1,
36
+ display: 'flex',
37
+ flexDirection: 'row',
38
+ '@media (max-aspect-ratio: 10/9)': {
39
+ flexDirection: 'column'
40
+ }
41
+ },
42
+ imageWrapper: {
43
+ flex: '1',
44
+ flexWrap: 'wrap',
45
+ maxHeight: '100%',
46
+ position: 'relative',
47
+ '& > img': _objectSpread({
48
+ maxWidth: '100%',
49
+ maxHeight: '100%'
50
+ }, (0, _absoluteCenter.absoluteCenter)())
51
+ },
52
+ contentWrapper: {
53
+ flex: 1,
54
+ display: 'flex'
55
+ },
56
+ fallbackText: _objectSpread({}, (0, _absoluteCenter.absoluteCenter)())
57
+ };
58
+ };
59
+
60
+ var FallbackVisualization = (0, _withStyles["default"])(styles, {
61
+ name: 'FallbackVisualization'
62
+ })(function (_ref) {
63
+ var imageSrc = _ref.imageSrc,
64
+ classes = _ref.classes,
65
+ fallbackMode = _ref.fallbackMode,
66
+ children = _ref.children,
67
+ showContent = _ref.showContent,
68
+ ProgressComponent = _ref.ProgressComponent;
69
+ return fallbackMode ? /*#__PURE__*/_react["default"].createElement("div", {
70
+ className: classes.root
71
+ }, imageSrc && /*#__PURE__*/_react["default"].createElement("div", {
72
+ className: classes.imageWrapper
73
+ }, /*#__PURE__*/_react["default"].createElement(_ImageLoader.ImageLoader, {
74
+ src: imageSrc,
75
+ ProgressComponent: ProgressComponent,
76
+ fallbackElement: /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
77
+ variant: "body1",
78
+ className: classes.fallbackText
79
+ }, (0, _i18n.T)('visualization.errors.visualizationNotPossible'))
80
+ })), showContent && /*#__PURE__*/_react["default"].createElement("div", {
81
+ className: classes.contentWrapper
82
+ }, children)) : children;
83
+ });
84
+ exports.FallbackVisualization = FallbackVisualization;
85
+ FallbackVisualization.propTypes = {
86
+ imageSrc: _propTypes["default"].string.isRequired,
87
+ fallbackMode: _propTypes["default"].bool.isRequired,
88
+ showContent: _propTypes["default"].bool,
89
+ ProgressComponent: _ReactComponent["default"]
90
+ };
91
+ FallbackVisualization.defaultProps = {
92
+ showContent: true,
93
+ ProgressComponent: function ProgressComponent() {
94
+ return null;
95
+ }
96
+ };
@@ -0,0 +1,304 @@
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["default"] = exports.PreviewButton = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _clsx = _interopRequireDefault(require("clsx"));
15
+
16
+ var _styles = require("@material-ui/core/styles");
17
+
18
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button/Button"));
19
+
20
+ var _Icon = _interopRequireDefault(require("@material-ui/core/Icon/Icon"));
21
+
22
+ var _Grid = _interopRequireDefault(require("@material-ui/core/Grid/Grid"));
23
+
24
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
25
+
26
+ var _withWidth = _interopRequireWildcard(require("@material-ui/core/withWidth/withWidth"));
27
+
28
+ var _i18n = require("../../../../../Framework/i18n");
29
+
30
+ var _AnalyticsWrapper = _interopRequireDefault(require("../../../../Shared/Components/Analytics/AnalyticsWrapper"));
31
+
32
+ var _customClassName = _interopRequireDefault(require("../../../../Utils/customClassName"));
33
+
34
+ var _Thumbnail = _interopRequireDefault(require("../../Containers/Thumbnail"));
35
+
36
+ var _PreviewPortal = _interopRequireDefault(require("../PreviewPortal"));
37
+
38
+ var _excluded = ["width", "areAllDesignAreasEmpty"];
39
+
40
+ 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); }
41
+
42
+ 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; }
43
+
44
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
45
+
46
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
47
+
48
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
49
+
50
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
51
+
52
+ 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; }
53
+
54
+ 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; }
55
+
56
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
57
+
58
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
59
+
60
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
61
+
62
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
63
+
64
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
65
+
66
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
67
+
68
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
69
+
70
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
71
+
72
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
73
+
74
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
75
+
76
+ 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; }
77
+
78
+ var styles = function styles(theme) {
79
+ var _button, _thumbnailGrid, _buttonView;
80
+
81
+ return {
82
+ viewsContainer: {
83
+ position: 'absolute',
84
+ bottom: 0
85
+ },
86
+ fullScreenWrapper: {
87
+ display: 'flex;',
88
+ justifyContent: 'center'
89
+ },
90
+ button: (_button = {
91
+ textTransform: 'none',
92
+ left: 'calc(50%)',
93
+ zIndex: 2,
94
+ transform: 'translate(-50%, 0)',
95
+ pointerEvents: 'all'
96
+ }, _defineProperty(_button, theme.breakpoints.down('sm'), {
97
+ zIndex: 5
98
+ }), _defineProperty(_button, '@media (min-aspect-ratio: 13/9) and (min-height: 280px) and (max-width: 825px)', {
99
+ display: 'none'
100
+ }), _button),
101
+ buttonBottom: {},
102
+ buttonTop: {},
103
+ buttonIcon: {
104
+ paddingRight: 8,
105
+ position: 'relative',
106
+ top: -1
107
+ },
108
+ thumbnailGrid: (_thumbnailGrid = {}, _defineProperty(_thumbnailGrid, theme.breakpoints.between('xs', 'md'), {
109
+ width: 'calc(100% - 360px)',
110
+ // subtract with right toolbar width
111
+ maxWidth: 'calc(100% - 360px)'
112
+ }), _defineProperty(_thumbnailGrid, theme.breakpoints.up('md'), {
113
+ position: 'absolute',
114
+ bottom: 0,
115
+ left: 'calc(50% - 175px)',
116
+ // subtract half of the right sidebar width
117
+ width: 453,
118
+ // 2 x 24 (arrow width) + 425 (carousel width)
119
+ transform: 'translateX(-50%)'
120
+ }), _defineProperty(_thumbnailGrid, theme.breakpoints.down('xs'), {
121
+ width: '100%',
122
+ maxWidth: '100%',
123
+ bottom: '-40px'
124
+ }), _thumbnailGrid),
125
+ buttonView: (_buttonView = {
126
+ textTransform: 'none',
127
+ bottom: 35,
128
+ position: 'absolute',
129
+ left: 'calc(50% - 200px)'
130
+ }, _defineProperty(_buttonView, theme.breakpoints.down('xs'), {
131
+ left: 'calc(50% - 75px)',
132
+ bottom: 0,
133
+ height: 56
134
+ }), _defineProperty(_buttonView, '@media (min-aspect-ratio: 13/9) and (min-height: 280px) and (max-width: 825px)', {
135
+ display: 'none'
136
+ }), _buttonView)
137
+ };
138
+ };
139
+
140
+ var PreviewButton = function PreviewButton(_ref) {
141
+ var classes = _ref.classes,
142
+ bottom = _ref.bottom,
143
+ top = _ref.top,
144
+ onClick = _ref.onClick;
145
+ return /*#__PURE__*/_react["default"].createElement(_AnalyticsWrapper["default"], {
146
+ targetId: "preview_open"
147
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
148
+ component: "div",
149
+ className: (0, _clsx["default"])(classes.button, bottom && classes.buttonBottom, top && classes.buttonTop, (0, _customClassName["default"])('preview-button')),
150
+ onClick: onClick
151
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
152
+ className: classes.buttonIcon
153
+ }, "remove_red_eye"), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
154
+ className: "text"
155
+ }, (0, _i18n.t)('configurator.previewButton'))));
156
+ };
157
+
158
+ exports.PreviewButton = PreviewButton;
159
+ PreviewButton.propTypes = {
160
+ classes: _propTypes["default"].object.isRequired,
161
+ onClick: _propTypes["default"].func.isRequired,
162
+ bottom: _propTypes["default"].bool,
163
+ top: _propTypes["default"].bool
164
+ };
165
+
166
+ var FullScreenView = /*#__PURE__*/function (_React$Component) {
167
+ _inherits(FullScreenView, _React$Component);
168
+
169
+ var _super = _createSuper(FullScreenView);
170
+
171
+ function FullScreenView() {
172
+ var _this;
173
+
174
+ _classCallCheck(this, FullScreenView);
175
+
176
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
177
+ args[_key] = arguments[_key];
178
+ }
179
+
180
+ _this = _super.call.apply(_super, [this].concat(args));
181
+
182
+ _defineProperty(_assertThisInitialized(_this), "state", {
183
+ previewOpen: false
184
+ });
185
+
186
+ _defineProperty(_assertThisInitialized(_this), "openPreview", function () {
187
+ _this.setState({
188
+ previewOpen: true
189
+ }, function () {
190
+ return _this.props.handleOpenPreview();
191
+ });
192
+ });
193
+
194
+ _defineProperty(_assertThisInitialized(_this), "closePreview", function () {
195
+ _this.setState({
196
+ previewOpen: false
197
+ }, function () {
198
+ return _this.props.handleClosePreview();
199
+ });
200
+ });
201
+
202
+ return _this;
203
+ }
204
+
205
+ _createClass(FullScreenView, [{
206
+ key: "render",
207
+ value: function render() {
208
+ var previewOpen = this.state.previewOpen;
209
+ var _this$props = this.props,
210
+ hasItems = _this$props.hasItems,
211
+ classes = _this$props.classes,
212
+ children = _this$props.children,
213
+ showPreviewButton = _this$props.showPreviewButton,
214
+ showDesignViewList = _this$props.showDesignViewList,
215
+ width = _this$props.width,
216
+ dialogStyle = _this$props.dialogStyle,
217
+ renderTopPreviewButton = _this$props.renderTopPreviewButton,
218
+ ThumbnailComponent = _this$props.ThumbnailComponent,
219
+ thumbnailProps = _this$props.thumbnailProps,
220
+ thumbnailDotMode = _this$props.thumbnailDotMode,
221
+ renderButtonOnTop = _this$props.renderButtonOnTop;
222
+ var topPreviewButton = renderTopPreviewButton(_objectSpread(_objectSpread({}, this.props), {}, {
223
+ onClick: this.openPreview
224
+ }));
225
+ return previewOpen ? /*#__PURE__*/_react["default"].createElement("div", {
226
+ className: classes.fullScreenWrapper
227
+ }, /*#__PURE__*/_react["default"].createElement(_PreviewPortal["default"], {
228
+ closePreviewMode: this.closePreview,
229
+ thumbnailClick: this.handleViewChange,
230
+ previewOpen: previewOpen,
231
+ hasItems: hasItems,
232
+ dialogStyle: dialogStyle
233
+ }, children)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, topPreviewButton, children, showDesignViewList ? /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
234
+ container: true,
235
+ direction: "column",
236
+ justifyContent: "space-between",
237
+ className: (0, _clsx["default"])(classes.viewsContainer, (0, _customClassName["default"])('views'))
238
+ }, showPreviewButton && /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
239
+ item: true,
240
+ xs: 12,
241
+ sm: 12,
242
+ md: 8,
243
+ className: (0, _clsx["default"])(classes.thumbnailGrid, thumbnailDotMode || (0, _withWidth.isWidthDown)('md', width) ? 'dots-container' : 'image-container')
244
+ }, renderButtonOnTop ? /*#__PURE__*/_react["default"].createElement(ThumbnailComponent, thumbnailProps) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(ThumbnailComponent, thumbnailProps), !topPreviewButton && /*#__PURE__*/_react["default"].createElement(PreviewButton, _extends({}, this.props, {
245
+ bottom: true,
246
+ onClick: this.openPreview
247
+ }))))) : !topPreviewButton && showPreviewButton && width !== 'xs' && /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
248
+ container: true,
249
+ direction: "column",
250
+ justifyContent: "space-between",
251
+ alignItems: "center"
252
+ }, /*#__PURE__*/_react["default"].createElement(PreviewButton, _extends({}, this.props, {
253
+ onClick: this.openPreview,
254
+ classes: {
255
+ button: classes.buttonView,
256
+ buttonIcon: classes.buttonIcon
257
+ }
258
+ }))));
259
+ }
260
+ }]);
261
+
262
+ return FullScreenView;
263
+ }(_react["default"].Component);
264
+
265
+ _defineProperty(FullScreenView, "propTypes", {
266
+ handleOpenPreview: _propTypes["default"].func,
267
+ handleClosePreview: _propTypes["default"].func,
268
+ hasItems: _propTypes["default"].bool,
269
+ classes: _propTypes["default"].object,
270
+ children: _propTypes["default"].any,
271
+ showPreviewButton: _propTypes["default"].bool,
272
+ showDesignViewList: _propTypes["default"].bool,
273
+ width: _propTypes["default"].string,
274
+ dialogStyle: _propTypes["default"].string,
275
+ areAllDesignAreasEmpty: _propTypes["default"].bool,
276
+ renderTopPreviewButton: _propTypes["default"].func,
277
+ ThumbnailComponent: _propTypes["default"].elementType,
278
+ thumbnailProps: _propTypes["default"].object,
279
+ thumbnailDotMode: _propTypes["default"].bool,
280
+ renderButtonOnTop: _propTypes["default"].bool
281
+ });
282
+
283
+ _defineProperty(FullScreenView, "defaultProps", {
284
+ showPreviewButton: true,
285
+ renderTopPreviewButton: function renderTopPreviewButton(_ref2) {
286
+ var width = _ref2.width,
287
+ areAllDesignAreasEmpty = _ref2.areAllDesignAreasEmpty,
288
+ props = _objectWithoutProperties(_ref2, _excluded);
289
+
290
+ return (0, _withWidth.isWidthDown)('sm', width) && !areAllDesignAreasEmpty && /*#__PURE__*/_react["default"].createElement(PreviewButton, _extends({}, props, {
291
+ top: true
292
+ }));
293
+ },
294
+ ThumbnailComponent: _Thumbnail["default"],
295
+ renderButtonOnTop: false
296
+ });
297
+
298
+ var _default = (0, _withWidth["default"])({
299
+ initialWidth: 'lg'
300
+ })((0, _styles.withStyles)(styles, {
301
+ name: 'FullScreenView'
302
+ })(FullScreenView));
303
+
304
+ exports["default"] = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _index = _interopRequireDefault(require("./index"));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+
11
+ /* eslint-env jest */
12
+ describe('Screens/Configurator/Components/FullScreenView', function () {
13
+ it('renders correctly', function () {
14
+ var tree = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], null));
15
+ expect(tree).toMatchSnapshot();
16
+ });
17
+ it('the rendered component contains the custom-css-views and custom-css-preview-button classes', function () {
18
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
19
+ showDesignViewList: true,
20
+ showPreviewButton: true,
21
+ ThumbnailComponent: function ThumbnailComponent() {
22
+ return null;
23
+ }
24
+ }));
25
+ expect(wrapper.find('div.custom-css-views')).toHaveLength(1);
26
+ expect(wrapper.find('div.custom-css-preview-button')).toHaveLength(1);
27
+ });
28
+ });
@@ -0,0 +1,96 @@
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.ImageLoader = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _ReactComponent = _interopRequireDefault(require("../../../../../Shared/PropTypes/ReactComponent"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
+
26
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
+
28
+ 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); }
29
+
30
+ 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; }
31
+
32
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
33
+
34
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
+
36
+ var states = {
37
+ Loading: 'loading',
38
+ Loaded: 'loaded',
39
+ Error: 'error'
40
+ };
41
+
42
+ var isLoading = function isLoading(state) {
43
+ return state === states.Loading;
44
+ };
45
+
46
+ var isError = function isError(state) {
47
+ return state === states.Error;
48
+ };
49
+
50
+ var initialState = states.Loading;
51
+
52
+ var ImageLoader = function ImageLoader(_ref) {
53
+ var src = _ref.src,
54
+ fallbackElement = _ref.fallbackElement,
55
+ ProgressComponent = _ref.ProgressComponent,
56
+ imgProps = _ref.imgProps;
57
+
58
+ var _useState = (0, _react.useState)(initialState),
59
+ _useState2 = _slicedToArray(_useState, 2),
60
+ loadState = _useState2[0],
61
+ setLoadState = _useState2[1];
62
+
63
+ (0, _react.useEffect)(function () {
64
+ setLoadState(initialState);
65
+ }, [src]);
66
+
67
+ if (isError(loadState) && fallbackElement) {
68
+ return fallbackElement;
69
+ }
70
+
71
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("img", _extends({
72
+ src: src,
73
+ onError: function onError() {
74
+ return setLoadState(states.Error);
75
+ },
76
+ onLoad: function onLoad() {
77
+ return setLoadState(states.Loaded);
78
+ },
79
+ alt: src
80
+ }, imgProps)), ProgressComponent && /*#__PURE__*/_react["default"].createElement(ProgressComponent, {
81
+ loading: isLoading(loadState)
82
+ }));
83
+ };
84
+
85
+ exports.ImageLoader = ImageLoader;
86
+ ImageLoader.defaultProps = {
87
+ fallbackElement: null,
88
+ ProgressComponent: null,
89
+ imgProps: null
90
+ };
91
+ ImageLoader.propTypes = {
92
+ src: _propTypes["default"].string.isRequired,
93
+ ProgressComponent: _ReactComponent["default"],
94
+ fallbackElement: _propTypes["default"].element,
95
+ imgProps: _propTypes["default"].object
96
+ };