@configuratorware/configurator-frontendgui 1.28.6 → 1.29.3

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 (482) 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/OptionExclusionRule/index.js +186 -0
  27. package/App/Modules/Creator/Components/Incompatibility/OptionRule/index.js +182 -0
  28. package/App/Modules/Creator/Components/Incompatibility/RuleComponent.js +88 -0
  29. package/App/Modules/Creator/Components/Incompatibility/index.js +253 -0
  30. package/App/Modules/Creator/Components/InvalidConfigurationNotice/index.js +164 -0
  31. package/App/Modules/Creator/Components/LoginForm/Styles.scss +9 -0
  32. package/App/Modules/Creator/Components/LoginForm/index.js +129 -0
  33. package/App/Modules/Creator/Components/Option/index.js +545 -0
  34. package/App/Modules/Creator/Components/Option/index.story.js +154 -0
  35. package/App/Modules/Creator/Components/OptionAmount/index.js +236 -0
  36. package/App/Modules/Creator/Components/OptionGroup/index.js +55 -0
  37. package/App/Modules/Creator/Components/Optiondetail/ZoomImage/index.js +173 -0
  38. package/App/Modules/Creator/Components/Optiondetail/index.js +499 -0
  39. package/App/Modules/Creator/Components/Optiondetail/index.story.js +117 -0
  40. package/App/Modules/Creator/Components/OptionsList/index.js +193 -0
  41. package/App/Modules/Creator/Components/Price/Styles.scss +3 -0
  42. package/App/Modules/Creator/Components/Price/index.js +79 -0
  43. package/App/Modules/Creator/Components/ProductPart/index.js +187 -0
  44. package/App/Modules/Creator/Components/ProductPart/index.story.js +88 -0
  45. package/App/Modules/Creator/Components/ProductPartsList/index.js +153 -0
  46. package/App/Modules/Creator/Components/ProductPartsList/index.story.js +101 -0
  47. package/App/Modules/Creator/Components/SavedConfiguration/Styles.scss +19 -0
  48. package/App/Modules/Creator/Components/SavedConfiguration/index.js +82 -0
  49. package/App/Modules/Creator/Components/ShareConfiguration/Styles.scss +23 -0
  50. package/App/Modules/Creator/Components/ShareConfiguration/index.js +224 -0
  51. package/App/Modules/Creator/Components/StockInformation/index.js +93 -0
  52. package/App/Modules/Creator/Components/StoreConfigurationForm/Styles.scss +5 -0
  53. package/App/Modules/Creator/Components/StoreConfigurationForm/index.js +123 -0
  54. package/App/Modules/Creator/Components/Tools/Styles.scss +44 -0
  55. package/App/Modules/Creator/Components/Tools/index.js +102 -0
  56. package/App/Modules/Creator/Components/ValidationResult/Styles.scss +45 -0
  57. package/App/Modules/Creator/Components/ValidationResult/index.js +165 -0
  58. package/App/Modules/Creator/Components/index.js +84 -0
  59. package/App/Modules/Creator/Containers/AmountPrice/index.js +26 -0
  60. package/App/Modules/Creator/Containers/ConfigurationvariantSelection/index.js +60 -0
  61. package/App/Modules/Creator/Containers/CustomTitleEditor/index.js +52 -0
  62. package/App/Modules/Creator/Containers/FastConfiguration/index.js +62 -0
  63. package/App/Modules/Creator/Containers/FormattedPrice/index.js +31 -0
  64. package/App/Modules/Creator/Containers/Incompatibility/index.js +40 -0
  65. package/App/Modules/Creator/Containers/InvalidConfigurationNotice/index.js +89 -0
  66. package/App/Modules/Creator/Containers/LoadingOverlay/index.js +26 -0
  67. package/App/Modules/Creator/Containers/Optiondetail/index.js +48 -0
  68. package/App/Modules/Creator/Containers/OptionsList/index.js +49 -0
  69. package/App/Modules/Creator/Containers/ProductPart/index.js +26 -0
  70. package/App/Modules/Creator/Containers/ProductPartsList/index.js +50 -0
  71. package/App/Modules/Creator/Containers/SavedConfigurationContainer/index.js +25 -0
  72. package/App/Modules/Creator/Containers/ShareConfiguration/index.js +42 -0
  73. package/App/Modules/Creator/Containers/StockInformation/index.js +33 -0
  74. package/App/Modules/Creator/Containers/Tools/index.js +44 -0
  75. package/App/Modules/Creator/Containers/ValidationResult/index.js +34 -0
  76. package/App/Modules/Creator/Containers/index.js +175 -0
  77. package/App/Modules/Creator/CreatorScreen.js +307 -0
  78. package/App/Modules/Creator/Layouts/DefaultLayout.js +260 -0
  79. package/App/Modules/Creator/Styles.scss +216 -0
  80. package/App/Modules/Designer/Components/AddGalleryImage/index.js +234 -0
  81. package/App/Modules/Designer/Components/AddGalleryImage/index.story.js +94 -0
  82. package/App/Modules/Designer/Components/AddGalleryImage/index.test.js +151 -0
  83. package/App/Modules/Designer/Components/AddVisualElement/Styles.scss +0 -0
  84. package/App/Modules/Designer/Components/AddVisualElement/index.js +278 -0
  85. package/App/Modules/Designer/Components/AddVisualElement/index.story.js +24 -0
  86. package/App/Modules/Designer/Components/AddVisualElement/index.test.js +47 -0
  87. package/App/Modules/Designer/Components/CloseDesignEditor/index.js +130 -0
  88. package/App/Modules/Designer/Components/CloseGraphicsEditorButton/index.js +54 -0
  89. package/App/Modules/Designer/Components/ColorPalettes/ColorPalettesSearch.js +175 -0
  90. package/App/Modules/Designer/Components/ColorPalettes/index.js +814 -0
  91. package/App/Modules/Designer/Components/ColorPalettes/index.story.js +158 -0
  92. package/App/Modules/Designer/Components/ColorPalettes/index.test.js +150 -0
  93. package/App/Modules/Designer/Components/DesignAreaControlbox/Styles.scss +0 -0
  94. package/App/Modules/Designer/Components/DesignAreaControlbox/index.js +467 -0
  95. package/App/Modules/Designer/Components/DesignAreaControlbox/index.story.js +272 -0
  96. package/App/Modules/Designer/Components/DesignAreaControlbox/index.test.js +164 -0
  97. package/App/Modules/Designer/Components/DesignerSelectionToolbox/CustomFontOverlay.js +162 -0
  98. package/App/Modules/Designer/Components/DesignerSelectionToolbox/DesignerSelectionToolbox.js +425 -0
  99. package/App/Modules/Designer/Components/DesignerSelectionToolbox/fontItemUtils.js +48 -0
  100. package/App/Modules/Designer/Components/Dialog/index.js +125 -0
  101. package/App/Modules/Designer/Components/EditDesignButton/index.js +128 -0
  102. package/App/Modules/Designer/Components/FeedbackNotice/index.js +110 -0
  103. package/App/Modules/Designer/Components/FeedbackNotice/index.test.js +16 -0
  104. package/App/Modules/Designer/Components/FullScreenView/FullScreenView.js +63 -0
  105. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.dev.js +32 -0
  106. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.js +430 -0
  107. package/App/Modules/Designer/Components/ImageColorize/index.js +636 -0
  108. package/App/Modules/Designer/Components/ImageColorize/index.story.js +73 -0
  109. package/App/Modules/Designer/Components/ImageControlbox/index.js +302 -0
  110. package/App/Modules/Designer/Components/ImageEditDialog/ImageThumbnail.js +171 -0
  111. package/App/Modules/Designer/Components/ImageEditDialog/ImageUpload.js +478 -0
  112. package/App/Modules/Designer/Components/ImageEditDialog/index.js +716 -0
  113. package/App/Modules/Designer/Components/ImageEditDialog/res/baseline_colorize_black_24dp.png +0 -0
  114. package/App/Modules/Designer/Components/ImageEditDialog/res/checkers_tile.png +0 -0
  115. package/App/Modules/Designer/Components/ImageLibraryFilter/index.js +179 -0
  116. package/App/Modules/Designer/Components/ImageLibraryThumbnail/Styles.scss +14 -0
  117. package/App/Modules/Designer/Components/ImageLibraryThumbnail/index.js +165 -0
  118. package/App/Modules/Designer/Components/ObjectTools/index.js +146 -0
  119. package/App/Modules/Designer/Components/Select/index.js +171 -0
  120. package/App/Modules/Designer/Components/TextControlbox/TextFormatIcon.js +48 -0
  121. package/App/Modules/Designer/Components/TextControlbox/index.js +656 -0
  122. package/App/Modules/Designer/Components/TextControlbox/index.story.js +109 -0
  123. package/App/Modules/Designer/Components/TextControlbox/index.test.js +172 -0
  124. package/App/Modules/Designer/Containers/AddGalleryImage.js +90 -0
  125. package/App/Modules/Designer/Containers/AddVisualElement.js +166 -0
  126. package/App/Modules/Designer/Containers/CloseDesignEditor.js +32 -0
  127. package/App/Modules/Designer/Containers/CloseGraphicsEditorButton.js +32 -0
  128. package/App/Modules/Designer/Containers/ColorPalettes.js +145 -0
  129. package/App/Modules/Designer/Containers/DesignAreaControlbox.js +54 -0
  130. package/App/Modules/Designer/Containers/Designer.js +37 -0
  131. package/App/Modules/Designer/Containers/DesignerSelectionToolbox.js +116 -0
  132. package/App/Modules/Designer/Containers/EditDesignButton.js +35 -0
  133. package/App/Modules/Designer/Containers/ImageEditDialog.js +1130 -0
  134. package/App/Modules/Designer/Designer.js +231 -0
  135. package/App/Modules/Designer/DesignerScreen.js +255 -0
  136. package/App/Modules/Designer/DesignerUI.js +241 -0
  137. package/App/Modules/Designer/Layouts/DefaultLayout.js +221 -0
  138. package/App/Modules/Designer/Layouts/Mobile/TwoSideBottomBar.js +50 -0
  139. package/App/Modules/Designer/Layouts/PopupAreaProvider.js +186 -0
  140. package/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +53 -0
  141. package/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +106 -0
  142. package/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +64 -0
  143. package/App/Modules/Designer/Utils/FontFaceRepository.js +82 -0
  144. package/App/Modules/Designer/Utils/ImageEditUtils.js +104 -0
  145. package/App/Modules/Designer/Utils/Transformers.js +164 -0
  146. package/App/Modules/Designer/setupDesigner.js +182 -0
  147. package/App/Modules/Designer/withActiveCanvas.js +136 -0
  148. package/App/Modules/Visualization/AlignTargetContainer.js +55 -0
  149. package/App/Modules/Visualization/CreatorAlignTarget.js +41 -0
  150. package/App/Modules/Visualization/DefaultVisualizationProvider.js +105 -0
  151. package/App/Modules/Visualization/DesignerAlignTarget.js +45 -0
  152. package/App/Modules/Visualization/Utils/getFirstDataURLFromScreenshotsObj.js +20 -0
  153. package/App/Reducers/Actions.js +297 -0
  154. package/App/Reducers/ConfigurationMode/Actions.js +21 -0
  155. package/App/Reducers/ConfigurationMode/Reducer.js +80 -0
  156. package/App/Reducers/ConfigurationMode/Selectors.js +84 -0
  157. package/App/Reducers/Configurator/Actions.js +1417 -0
  158. package/App/Reducers/Configurator/AttributeSelectors.js +32 -0
  159. package/App/Reducers/Configurator/Modifiers.js +35 -0
  160. package/App/Reducers/Configurator/Reducer.js +639 -0
  161. package/App/Reducers/Configurator/Selectors.js +242 -0
  162. package/App/Reducers/Confirm/Actions.js +84 -0
  163. package/App/Reducers/Confirm/Reducer.js +30 -0
  164. package/App/Reducers/DesignArea/Actions.js +76 -0
  165. package/App/Reducers/DesignArea/DesignElementSelectors.js +114 -0
  166. package/App/Reducers/DesignArea/MaskSelectors.js +101 -0
  167. package/App/Reducers/DesignArea/Reducer.js +150 -0
  168. package/App/Reducers/DesignArea/Selectors.js +1304 -0
  169. package/App/Reducers/DesignArea/Transformers.js +333 -0
  170. package/App/Reducers/DesignData/Actions.js +232 -0
  171. package/App/Reducers/DesignData/Modifiers.js +328 -0
  172. package/App/Reducers/DesignData/Reducer.js +189 -0
  173. package/App/Reducers/DesignData/Selectors.js +94 -0
  174. package/App/Reducers/DesignData/Transformers.js +27 -0
  175. package/App/Reducers/DesignView/Actions.js +19 -0
  176. package/App/Reducers/DesignView/Reducer.js +165 -0
  177. package/App/Reducers/DesignView/Selectors.js +130 -0
  178. package/App/Reducers/DesignView/Transformers.js +32 -0
  179. package/App/Reducers/Device/Actions.js +16 -0
  180. package/App/Reducers/Device/Reducer.js +51 -0
  181. package/App/Reducers/Fonts/Actions.js +137 -0
  182. package/App/Reducers/Fonts/Reducer.js +39 -0
  183. package/App/Reducers/Fonts/Selectors.js +98 -0
  184. package/App/Reducers/GeneralActions.js +16 -0
  185. package/App/Reducers/ImageGallery/Actions.js +336 -0
  186. package/App/Reducers/ImageGallery/Modifiers.js +67 -0
  187. package/App/Reducers/ImageGallery/Reducer.js +320 -0
  188. package/App/Reducers/ImageGallery/Selectors.js +206 -0
  189. package/App/Reducers/Reducer.js +107 -0
  190. package/App/Reducers/UI/Actions.js +191 -0
  191. package/App/Reducers/UI/Reducer.js +98 -0
  192. package/App/Reducers/UI/Selectors.js +32 -0
  193. package/App/Reducers.js +48 -0
  194. package/App/Routing.js +168 -0
  195. package/App/Screens/Configurator/CalculationWidgetScreen.js +84 -0
  196. package/App/Screens/Configurator/Components/AmountSelection/Styles.scss +17 -0
  197. package/App/Screens/Configurator/Components/AmountSelection/index.js +170 -0
  198. package/App/Screens/Configurator/Components/AmountSelection/index.story.js +36 -0
  199. package/App/Screens/Configurator/Components/CalculationWidget/index.js +652 -0
  200. package/App/Screens/Configurator/Components/CalculationWidget/index.story.js +154 -0
  201. package/App/Screens/Configurator/Components/CalculationWidget/index.test.js +142 -0
  202. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/ConfigurationModeSwitch.js +82 -0
  203. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/index.js +15 -0
  204. package/App/Screens/Configurator/Components/Confirm/Styles.scss +0 -0
  205. package/App/Screens/Configurator/Components/Confirm/index.js +105 -0
  206. package/App/Screens/Configurator/Components/DesignApproval/index.js +76 -0
  207. package/App/Screens/Configurator/Components/DesignApproval/index.story.js +27 -0
  208. package/App/Screens/Configurator/Components/DesignApproval/index.test.js +31 -0
  209. package/App/Screens/Configurator/Components/Error/index.js +106 -0
  210. package/App/Screens/Configurator/Components/FallbackVisualization/FallbackVisualization.js +96 -0
  211. package/App/Screens/Configurator/Components/FileUpload/FileUploadBase.js +1 -0
  212. package/App/Screens/Configurator/Components/FullScreenView/index.js +304 -0
  213. package/App/Screens/Configurator/Components/FullScreenView/index.test.js +28 -0
  214. package/App/Screens/Configurator/Components/ImageLoader/ImageLoader.js +96 -0
  215. package/App/Screens/Configurator/Components/LandscapeInformation/index.js +75 -0
  216. package/App/Screens/Configurator/Components/NoVisualization/NoVisualization.js +35 -0
  217. package/App/Screens/Configurator/Components/PreviewPortal/index.js +249 -0
  218. package/App/Screens/Configurator/Components/Styles.scss +1 -0
  219. package/App/Screens/Configurator/Components/Thumbnail/index.js +394 -0
  220. package/App/Screens/Configurator/Components/Thumbnail/index.test.js +50 -0
  221. package/App/Screens/Configurator/Components/TotalPrice/TotalPrice.js +57 -0
  222. package/App/Screens/Configurator/Containers/AmountPrice.js +84 -0
  223. package/App/Screens/Configurator/Containers/CalculationWidget.js +278 -0
  224. package/App/Screens/Configurator/Containers/ConfigurationModeSwitch.js +81 -0
  225. package/App/Screens/Configurator/Containers/Confirm.js +37 -0
  226. package/App/Screens/Configurator/Containers/DesignApproval.js +129 -0
  227. package/App/Screens/Configurator/Containers/FallbackVisualization.js +32 -0
  228. package/App/Screens/Configurator/Containers/FullScreenView.js +47 -0
  229. package/App/Screens/Configurator/Containers/Thumbnail.js +41 -0
  230. package/App/Screens/Configurator/Containers/Visualization.js +13 -0
  231. package/App/Screens/Configurator/DynamicComponents.js +40 -0
  232. package/App/Screens/Configurator/Screen.js +238 -0
  233. package/App/Screens/Configurator/ScreenPropTypes.js +45 -0
  234. package/App/Screens/Configurator/ThemeProvider.js +298 -0
  235. package/App/Screens/DesignerProductPreview/Constants.js +12 -0
  236. package/App/Screens/DesignerProductPreview/DesignerProductPreviewManager.js +554 -0
  237. package/App/Screens/DesignerProductPreview/Screen.js +407 -0
  238. package/App/Screens.js +42 -0
  239. package/App/ServiceLocator.js +309 -0
  240. package/App/Services/AdminareaCommunicationService.js +149 -0
  241. package/App/Services/AnalyticsService.js +403 -0
  242. package/App/Services/ConfiguratorService.js +1166 -0
  243. package/App/Services/DesignDataService.js +3249 -0
  244. package/App/Services/DesignerService.js +496 -0
  245. package/App/Services/InteractionService.js +784 -0
  246. package/App/Services/UIService.js +129 -0
  247. package/App/Services/VisualizationService.js +844 -0
  248. package/App/Shared/Components/AcceptDesign/index.js +166 -0
  249. package/App/Shared/Components/AddToBasket/index.js +194 -0
  250. package/App/Shared/Components/AddToBasket/index.story.js +47 -0
  251. package/App/Shared/Components/AlertDialog/index.js +138 -0
  252. package/App/Shared/Components/AmountInput/Styles.scss +6 -0
  253. package/App/Shared/Components/AmountInput/index.js +296 -0
  254. package/App/Shared/Components/AmountInput/index.story.js +29 -0
  255. package/App/Shared/Components/AmountPrice/index.js +925 -0
  256. package/App/Shared/Components/AmountPrice/index.story.js +112 -0
  257. package/App/Shared/Components/AmountPrice/index.test.js +125 -0
  258. package/App/Shared/Components/Analytics/AnalyticsWrapper.js +49 -0
  259. package/App/Shared/Components/BulkNames/index.js +319 -0
  260. package/App/Shared/Components/CallToAction/index.js +220 -0
  261. package/App/Shared/Components/Header/Header.js +150 -0
  262. package/App/Shared/Components/Header/index.js +15 -0
  263. package/App/Shared/Components/Header/index.story.js +143 -0
  264. package/App/Shared/Components/InformationTag/InformationTag.js +155 -0
  265. package/App/Shared/Components/LicenseNotice/LicenseNotice.js +148 -0
  266. package/App/Shared/Components/LicenseNotice/index.js +15 -0
  267. package/App/Shared/Components/LoadConfiguration/index.js +218 -0
  268. package/App/Shared/Components/MessageBox/index.js +84 -0
  269. package/App/Shared/Components/MessageBox/index.story.js +49 -0
  270. package/App/Shared/Components/Notification/index.js +105 -0
  271. package/App/Shared/Components/Notification/index.story.js +55 -0
  272. package/App/Shared/Components/PdfDownload/index.js +150 -0
  273. package/App/Shared/Components/PlusMinusInput/index.js +118 -0
  274. package/App/Shared/Components/PriceList/index.js +237 -0
  275. package/App/Shared/Components/PriceList/index.story.js +114 -0
  276. package/App/Shared/Components/PriceOverview/index.js +177 -0
  277. package/App/Shared/Components/PriceOverview/index.story.js +215 -0
  278. package/App/Shared/Components/ProductVariant/Image.js +75 -0
  279. package/App/Shared/Components/ProductVariant/Styles.scss +11 -0
  280. package/App/Shared/Components/ProductVariant/index.js +477 -0
  281. package/App/Shared/Components/ProductVariant/index.story.js +283 -0
  282. package/App/Shared/Components/Progress/Progress.js +59 -0
  283. package/App/Shared/Components/ReceiveOfferForm/index.js +432 -0
  284. package/App/Shared/Components/ReceiveOfferForm/index.story.js +32 -0
  285. package/App/Shared/Components/ReceiveOfferForm/index.test.js +36 -0
  286. package/App/Shared/Components/SaveConfiguration/index.js +286 -0
  287. package/App/Shared/Components/SendEmail/index.js +103 -0
  288. package/App/Shared/Components/Stepper/index.js +136 -0
  289. package/App/Shared/Components/Stepper/index.story.js +38 -0
  290. package/App/Shared/Components/ToolbarList/index.js +231 -0
  291. package/App/Shared/Components/ToolbarList/index.story.js +33 -0
  292. package/App/Shared/Components/VariantChooser/index.js +270 -0
  293. package/App/Shared/Components/VariantChooser/index.story.js +100 -0
  294. package/App/Shared/Containers/AlertMessages.js +37 -0
  295. package/App/Shared/Containers/AmountPrice/AmountPriceAdminareaWrapper.js +40 -0
  296. package/App/Shared/Containers/AmountPrice/index.js +284 -0
  297. package/App/Shared/Containers/BulkNames.js +310 -0
  298. package/App/Shared/Containers/Error.js +37 -0
  299. package/App/Shared/Containers/GlobalLoader.js +25 -0
  300. package/App/Shared/Containers/Header/index.js +178 -0
  301. package/App/Shared/Containers/LicenseNotice/LicenseNotice.js +26 -0
  302. package/App/Shared/Containers/LicenseNotice/index.js +15 -0
  303. package/App/Shared/Containers/LoadConfiguration/LoadConfiguration.js +146 -0
  304. package/App/Shared/Containers/LoadConfiguration/index.js +15 -0
  305. package/App/Shared/Containers/PdfDownload/index.js +39 -0
  306. package/App/Shared/Containers/ProductVariant/ProductVariant.js +339 -0
  307. package/App/Shared/Containers/ProductVariant/index.js +15 -0
  308. package/App/Shared/Containers/SaveConfiguration.js +49 -0
  309. package/App/Shared/Containers/SendEmail/SendEmail.js +45 -0
  310. package/App/Shared/Containers/SendEmail/index.js +15 -0
  311. package/App/Shared/Providers/DefaultCanvasProvider.js +86 -0
  312. package/App/Storage.js +17 -0
  313. package/App/Store.js +87 -0
  314. package/App/Styles.scss +0 -0
  315. package/App/Translations.js +88 -0
  316. package/App/Utils/createMessageInterface.js +65 -0
  317. package/App/Utils/customClassName.js +12 -0
  318. package/App/Utils/getContrastText.js +27 -0
  319. package/App/Utils/getImageUrl.js +32 -0
  320. package/App/Variables.scss +84 -0
  321. package/App/configuration.js +421 -0
  322. package/App/index.js +52 -0
  323. package/App/initServices.js +67 -0
  324. package/App/setup.js +22 -0
  325. package/App/versionInfo.js +8 -0
  326. package/Framework/Api.js +178 -0
  327. package/Framework/ComponentContainer.js +165 -0
  328. package/Framework/Components/Carousel/Styles.scss +85 -0
  329. package/Framework/Components/Carousel/index.js +322 -0
  330. package/Framework/Components/Dialog/Style.scss +79 -0
  331. package/Framework/Components/Dialog/index.js +721 -0
  332. package/Framework/Components/DialogSelect/Styles.scss +53 -0
  333. package/Framework/Components/DialogSelect/index.js +331 -0
  334. package/Framework/Components/Input/index.js +147 -0
  335. package/Framework/Components/LoadingOverlay/Styles.scss +37 -0
  336. package/Framework/Components/LoadingOverlay/index.js +33 -0
  337. package/Framework/Components/Markdown/index.js +62 -0
  338. package/Framework/Components/Mobile/index.js +33 -0
  339. package/Framework/CustomError.js +51 -0
  340. package/Framework/Helpers/TransitionDetect.js +116 -0
  341. package/Framework/Helpers/isLandscapeMobile.js +14 -0
  342. package/Framework/Helpers/isMobileDevice.js +17 -0
  343. package/Framework/Helpers/isMobileSize.js +13 -0
  344. package/Framework/Mixins.scss +235 -0
  345. package/Framework/Services/AbstractAdminareaCommunicationService.js +48 -0
  346. package/Framework/Services/AbstractAsyncService.js +44 -0
  347. package/Framework/Services/AbstractConfiguratorService.js +47 -0
  348. package/Framework/Services/AbstractInteractionService.js +50 -0
  349. package/Framework/Services/AbstractStoreService.js +42 -0
  350. package/Framework/Services/AbstractUIService.js +53 -0
  351. package/Framework/Services/AbstractVisualizationService.js +47 -0
  352. package/Framework/Services/AsyncService.js +93 -0
  353. package/Framework/Services/StoreService.js +237 -0
  354. package/Framework/Variables.scss +22 -0
  355. package/Framework/bindDecorator.js +173 -0
  356. package/Framework/i18n.js +382 -0
  357. package/README.md +5 -26
  358. package/Resources/Icons/MaterialUI/Icons/AddCircle.js +13 -0
  359. package/Resources/Icons/MaterialUI/Icons/RemoveCircle.js +13 -0
  360. package/Resources/Icons/MaterialUI/fontFace.scss +37 -0
  361. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.eot +0 -0
  362. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.svg +2373 -0
  363. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.ttf +0 -0
  364. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff +0 -0
  365. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff2 +0 -0
  366. package/Resources/Icons/fonts/ionicons.eot +0 -0
  367. package/Resources/Icons/fonts/ionicons.svg +2230 -0
  368. package/Resources/Icons/fonts/ionicons.ttf +0 -0
  369. package/Resources/Icons/fonts/ionicons.woff +0 -0
  370. package/Resources/Icons/ionicons.scss +1489 -0
  371. package/Resources/Icons/ioniconsExtend.scss +1469 -0
  372. package/Resources/Icons/v4/fontFace.scss +11 -0
  373. package/Resources/Icons/v4/fonts/ionicons.eot +0 -0
  374. package/Resources/Icons/v4/fonts/ionicons.svg +2090 -0
  375. package/Resources/Icons/v4/fonts/ionicons.ttf +0 -0
  376. package/Resources/Icons/v4/fonts/ionicons.woff +0 -0
  377. package/Resources/Icons/v4/fonts/ionicons.woff2 +0 -0
  378. package/Resources/Icons/v4/icons.scss +15 -0
  379. package/Resources/Icons/v4/iconsExtend.scss +7 -0
  380. package/Resources/Images/designer_placeholder_logo.svg +1 -0
  381. package/Resources/Masks/circle.svg +4 -0
  382. package/Shared/Components/CustomDialog.js +133 -0
  383. package/Shared/Components/CustomDialogSelect.js +161 -0
  384. package/Shared/Components/MainButton.js +81 -0
  385. package/Shared/ErrorTypes/DeferredError.js +51 -0
  386. package/Shared/HOCs/ResizeDetect/ResizeDetect.dev.js +60 -0
  387. package/Shared/HOCs/ResizeDetect/ResizeDetect.js +217 -0
  388. package/Shared/HOCs/getDisplayName.js +10 -0
  389. package/Shared/HOCs/withFixedChangeHandler.js +46 -0
  390. package/Shared/PropTypes/ReactComponent.js +13 -0
  391. package/Shared/Styles/absoluteCenter.js +17 -0
  392. package/Utils/Array/isIdentical.js +38 -0
  393. package/Utils/Async/AsyncManager.js +128 -0
  394. package/Utils/Async/Deferred.js +145 -0
  395. package/Utils/Async/ObjectLock.js +38 -0
  396. package/Utils/Decorators/Observable.js +130 -0
  397. package/Utils/Dev/HOCs/withFilePicker.js +101 -0
  398. package/Utils/Dev/isDev.js +21 -0
  399. package/Utils/Events/pointerEvent.js +199 -0
  400. package/Utils/Events/preventEventDoubling.js +23 -0
  401. package/Utils/Function/cached.js +64 -0
  402. package/Utils/Function/createDebounceManager.js +77 -0
  403. package/Utils/Function/createSelector.js +62 -0
  404. package/Utils/Function/memoize.js +46 -0
  405. package/Utils/Function/sendMessage.js +22 -0
  406. package/Utils/Helper/createSelectionRangeMemo.js +45 -0
  407. package/Utils/Immutable/set.js +81 -0
  408. package/Utils/Math/conversions.js +13 -0
  409. package/Utils/Math/isPositiveNumber.js +12 -0
  410. package/Utils/Redux/createActionWithGlobalState.js +23 -0
  411. package/Utils/Styles/combineMediaQueries.js +24 -0
  412. package/Utils/Styles/createCheckerBoardBackground.js +22 -0
  413. package/Utils/Test/CallOrderChecker.js +29 -0
  414. package/Utils/Test/createStoreProvider.js +33 -0
  415. package/Utils/Test/formDataToJSON.js +20 -0
  416. package/Utils/Test/mountWithState.js +40 -0
  417. package/index.js +8 -0
  418. package/package.json +22 -103
  419. package/public/translations/de_DE.json +3 -0
  420. package/public/translations/en_GB.json +3 -0
  421. package/scripts/cpPublic.js +3 -3
  422. package/scripts/getDefaultWebpackConfig.js +11 -10
  423. package/src/App/Error/ProductionErrorPage/Style.scss +1 -1
  424. package/src/App/Modules/Creator/Components/Incompatibility/OptionExclusionRule/index.js +116 -0
  425. package/src/App/Modules/Creator/Components/Incompatibility/index.js +2 -1
  426. package/src/App/Modules/Creator/Components/Option/index.test.js +1 -1
  427. package/src/App/Modules/Creator/Components/OptionAmount/index.test.js +1 -1
  428. package/src/App/Modules/Creator/Components/ProductPart/__snapshots__/index.test.js.snap +33 -10
  429. package/src/App/Modules/Creator/Components/ProductPart/index.js +5 -1
  430. package/src/App/Modules/Creator/Components/ProductPart/index.test.js +14 -1
  431. package/src/App/Modules/Creator/Components/ProductPartsList/index.js +3 -0
  432. package/src/App/Modules/Creator/Containers/ProductPartsList/index.js +1 -0
  433. package/src/App/Modules/Designer/Components/AddGalleryImage/index.story.js +1 -1
  434. package/src/App/Modules/Designer/Components/ColorPalettes/index.test.jsx +1 -1
  435. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.js +21 -4
  436. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.test.jsx +1 -1
  437. package/src/App/Modules/Designer/Components/TextControlbox/index.test.jsx +1 -1
  438. package/src/App/Modules/Designer/Containers/Designer.js +1 -1
  439. package/src/App/Modules/Designer/DesignerScreen.js +32 -8
  440. package/src/App/{Screens/Configurator → Modules/Designer}/DesignerUI.js +42 -26
  441. package/src/App/Modules/Designer/Layouts/DefaultLayout.js +35 -1
  442. package/src/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +18 -0
  443. package/src/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +54 -0
  444. package/src/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +38 -0
  445. package/src/App/Reducers/DesignView/Actions.js +1 -2
  446. package/src/App/Reducers/DesignView/Reducer.js +2 -10
  447. package/src/App/Reducers/DesignView/__mocks__/designerViewData.js +0 -1
  448. package/src/App/Reducers/DesignView/__tests__/Reducer.test.js +0 -22
  449. package/src/App/Reducers/ImageGallery/Actions.js +1 -1
  450. package/src/App/Screens/Configurator/Components/CalculationWidget/__snapshots__/index.test.jsx.snap +4 -4
  451. package/src/App/Screens/Configurator/Components/CalculationWidget/index.test.jsx +1 -1
  452. package/src/App/Screens/Configurator/Components/DesignApproval/index.test.jsx +1 -1
  453. package/src/App/Screens/Configurator/Components/FullScreenView/__snapshots__/index.test.jsx.snap +1 -1
  454. package/src/App/Screens/Configurator/Components/FullScreenView/index.js +3 -2
  455. package/src/App/Screens/Configurator/Components/FullScreenView/index.test.jsx +1 -1
  456. package/src/App/Screens/Configurator/Components/PreviewPortal/index.js +7 -3
  457. package/src/App/Screens/Configurator/Containers/AmountPrice.js +1 -1
  458. package/src/App/Screens/Configurator/Containers/Confirm.js +1 -1
  459. package/src/App/Screens/Configurator/Containers/FullScreenView.js +1 -0
  460. package/src/App/Screens/Configurator/Containers/__tests__/Designer.test.js +1 -1
  461. package/src/App/Screens/Configurator/Screen.js +3 -1
  462. package/src/App/Screens/DesignerProductPreview/__tests__/__snapshots__/Screen.test.js.snap +1 -1
  463. package/src/App/Services/ConfiguratorService.js +25 -4
  464. package/src/App/Services/InteractionService.js +2 -1
  465. package/src/App/Services/VisualizationService.js +3 -0
  466. package/src/App/Services/__tests__/DesignDataService.selectViewForComponent.test.js +0 -53
  467. package/src/App/Shared/Containers/AlertMessages.js +1 -1
  468. package/src/App/Shared/Containers/AmountPrice/index.test.js +1 -1
  469. package/src/App/Shared/Containers/Error.js +1 -1
  470. package/src/App/Shared/Containers/SaveConfiguration.js +1 -1
  471. package/src/App/Translations.js +1 -1
  472. package/src/App/Utils/createMessageInterface.js +10 -0
  473. package/src/App/configuration.js +3 -0
  474. package/src/Framework/i18n.js +2 -3
  475. package/babel.config.js +0 -46
  476. package/public/ConfigurationMessagingDemo.html +0 -55
  477. package/scripts/cpPath.js +0 -135
  478. package/scripts/moveLibToPackageRoot.js +0 -40
  479. package/scripts/rmDir.js +0 -29
  480. package/scripts/updateLocalPackages.js +0 -68
  481. package/scripts/utils/process.js +0 -19
  482. package/tsconfig.json +0 -22
@@ -0,0 +1,721 @@
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 _lodash = _interopRequireDefault(require("lodash"));
13
+
14
+ var _i18n = require("../../i18n");
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ require("./Style.scss");
19
+
20
+ var _core = require("@material-ui/core");
21
+
22
+ var _excluded = ["contentOverflow"];
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35
+
36
+ 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); } }
37
+
38
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
39
+
40
+ 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); }
41
+
42
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
43
+
44
+ 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); }; }
45
+
46
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
47
+
48
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
49
+
50
+ 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; } }
51
+
52
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
53
+
54
+ 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; }
55
+
56
+ var whichTransitionEvent = function whichTransitionEvent() {
57
+ var t;
58
+ var el = document.createElement('fakeelement');
59
+ var transitions = {
60
+ transition: 'transitionend',
61
+ OTransition: 'oTransitionEnd',
62
+ MozTransition: 'transitionend',
63
+ WebkitTransition: 'webkitTransitionEnd'
64
+ };
65
+
66
+ for (t in transitions) {
67
+ if (el.style[t] !== undefined) {
68
+ return transitions[t];
69
+ }
70
+ }
71
+ };
72
+
73
+ var transitionEvent = whichTransitionEvent();
74
+
75
+ var Dialog = /*#__PURE__*/function (_React$Component) {
76
+ _inherits(Dialog, _React$Component);
77
+
78
+ var _super = _createSuper(Dialog);
79
+
80
+ function Dialog(_props) {
81
+ var _this;
82
+
83
+ _classCallCheck(this, Dialog);
84
+
85
+ _this = _super.call(this, _props);
86
+
87
+ _defineProperty(_assertThisInitialized(_this), "getParent", function () {
88
+ return _this.props.parent || _this.dialogContainer.current && _this.dialogContainer.current.parentElement || document.body.firstElementChild;
89
+ });
90
+
91
+ _defineProperty(_assertThisInitialized(_this), "onContentImageLoaded", function (event) {
92
+ // recalculating position when images are loaded
93
+ if (event.target.tagName === 'IMG') {
94
+ _this.imageLoaded = true;
95
+ _this.shouldUpdate = true;
96
+
97
+ _this.forceUpdate();
98
+ }
99
+ });
100
+
101
+ _defineProperty(_assertThisInitialized(_this), "onContentImageError", function (event) {
102
+ // recalculating position when images are loaded
103
+ if (event.target.tagName === 'IMG') {
104
+ _this.imageLoaded = false;
105
+ _this.shouldUpdate = true;
106
+
107
+ _this.forceUpdate();
108
+ }
109
+ });
110
+
111
+ _defineProperty(_assertThisInitialized(_this), "calculatePosition", function (props) {
112
+ var _ref = props || _this.props,
113
+ width = _ref.width,
114
+ height = _ref.height,
115
+ relativePosition = _ref.relativePosition,
116
+ show = _ref.show,
117
+ fixToLeft = _ref.fixToLeft,
118
+ relativeOffset = _ref.relativeOffset;
119
+
120
+ var relativeTo = _this.lastRelativeElement;
121
+
122
+ var parent = _this.getParent();
123
+
124
+ if (relativeTo === 'parent') {
125
+ relativeTo = parent;
126
+ }
127
+
128
+ var _assertThisInitialize = _assertThisInitialized(_this),
129
+ dialogContent = _assertThisInitialize.dialogContent,
130
+ dialogTitleBar = _assertThisInitialize.dialogTitleBar,
131
+ dialog = _assertThisInitialize.dialog;
132
+
133
+ var dialogStyle = typeof window.getComputedStyle === 'undefined' ? dialog.current.currentStyle : window.getComputedStyle(dialog.current); // read the inner content height
134
+
135
+ var contentHeight;
136
+ var maxContentHeight;
137
+
138
+ if (!height) {
139
+ if (dialogContent.current && dialogTitleBar.current) {
140
+ contentHeight = dialogContent.current.scrollHeight;
141
+
142
+ var contentHeightAdds = _this.calculateHeightAdds(dialogContent.current);
143
+
144
+ height = contentHeight + contentHeightAdds + dialogTitleBar.current.offsetHeight; // add horizontal padding and border of the dialog element
145
+
146
+ var paddingAndBorder = (parseInt(dialogStyle.paddingTop) || 0) + (parseInt(dialogStyle.paddingBottom) || 0) + (parseInt(dialogStyle.borderTop) || 0) + (parseInt(dialogStyle.borderBottom) || 0);
147
+ height += paddingAndBorder;
148
+ maxContentHeight = (/%$/.test(dialogStyle.maxHeight) ? parent.clientHeight * parseInt(dialogStyle.maxHeight) / 100 : parseInt(dialogStyle.maxHeight)) - dialogTitleBar.current.offsetHeight;
149
+
150
+ if (!_lodash["default"].isNumber(maxContentHeight)) {
151
+ // fallback to parents height
152
+ maxContentHeight = parent.clientHeight;
153
+ }
154
+ } else {
155
+ height = dialog.current && Math.max(dialog.current.scrollHeight, dialog.current.clientHeight);
156
+ }
157
+ }
158
+
159
+ if (width === 'adjust' && relativeTo) {
160
+ width = relativeTo.offsetWidth;
161
+ }
162
+
163
+ if (!width) {
164
+ width = dialog.current && Math.max(dialog.current.scrollWidth, dialog.current.offsetWidth);
165
+ }
166
+
167
+ var element = relativeTo,
168
+ top = 0,
169
+ left = 0,
170
+ bottom,
171
+ contentOverflow = _this.position.contentOverflow || false;
172
+
173
+ if (element) {
174
+ do {
175
+ top += element.offsetTop || 0;
176
+ left += element.offsetLeft || 0; // fix scroll offset
177
+
178
+ var scrollElement = element;
179
+
180
+ do {
181
+ top -= scrollElement.scrollTop || 0;
182
+ left -= scrollElement.scrollLeft || 0;
183
+ scrollElement = scrollElement.parentElement;
184
+ } while (scrollElement && scrollElement !== element.offsetParent);
185
+
186
+ element = element.offsetParent;
187
+ } while (element && element !== parent);
188
+ } // set max width
189
+
190
+
191
+ if (width > parent.clientWidth) {
192
+ width = parent.clientWidth;
193
+ } // set max height
194
+
195
+
196
+ if (height > parent.clientHeight) {
197
+ height = parent.clientHeight;
198
+ } // set content overflow
199
+
200
+
201
+ if (dialogContent.current) {
202
+ contentOverflow = contentHeight > maxContentHeight;
203
+ }
204
+
205
+ if (!!relativeTo && relativePosition[0]) {
206
+ var x = relativePosition[0]; // x = [0:<dialogPositionX>,1:<basePositionX>]
207
+ // cx: horizontal base value, relative position to the element
208
+
209
+ var cx = 0;
210
+
211
+ switch (x[1]) {
212
+ case 'left':
213
+ cx = left;
214
+ break;
215
+
216
+ case 'right':
217
+ cx = left + relativeTo.offsetWidth;
218
+ break;
219
+
220
+ case 'center':
221
+ cx = left + relativeTo.offsetWidth / 2;
222
+ break;
223
+ } // dialog positioning to cx
224
+
225
+
226
+ switch (x[0]) {
227
+ case 'left':
228
+ left = cx;
229
+ break;
230
+
231
+ case 'right':
232
+ left = cx - width;
233
+ break;
234
+
235
+ case 'center':
236
+ left = cx - Math.round(width / 2);
237
+ break;
238
+ }
239
+
240
+ var y = relativePosition[1]; // y = [0:<dialogPositionY>,1:<basePositionY>]
241
+ // cy: vertical base value, relative position to the element
242
+
243
+ var cy = 0;
244
+
245
+ switch (y[1]) {
246
+ case 'top':
247
+ cy = top;
248
+ break;
249
+
250
+ case 'bottom':
251
+ cy = top + relativeTo.offsetHeight;
252
+ break;
253
+
254
+ case 'center':
255
+ cy = top + relativeTo.offsetHeight / 2;
256
+ break;
257
+ } // dialog positioning to cy
258
+
259
+
260
+ switch (y[0]) {
261
+ case 'top':
262
+ top = cy;
263
+ break;
264
+
265
+ case 'bottom':
266
+ top = cy - height;
267
+ bottom = parent.clientHeight - cy;
268
+
269
+ if (bottom + height > parent.clientHeight) {
270
+ var margins = parseInt(dialogStyle.marginBottom) + parseInt(dialogStyle.marginTop);
271
+ height = parent.clientHeight - bottom - margins;
272
+ }
273
+
274
+ break;
275
+
276
+ case 'center':
277
+ top = cy - Math.round(height / 2);
278
+ break;
279
+ }
280
+
281
+ if (relativeOffset) {
282
+ top += +relativeOffset.top;
283
+ left += +relativeOffset.left;
284
+ }
285
+ }
286
+
287
+ left += _this.offset.left;
288
+ top += _this.offset.top; // correct left
289
+
290
+ if (left + width > parent.clientWidth) {
291
+ left = parent.clientWidth - width;
292
+ }
293
+
294
+ if (left < 0) {
295
+ left = 0;
296
+ } // correct top
297
+
298
+
299
+ if (top + height > parent.clientHeight) {
300
+ top = parent.clientHeight - height;
301
+ }
302
+
303
+ if (top < 0) {
304
+ top = 0;
305
+ } // set height and overflow if needed
306
+
307
+
308
+ if (bottom) {
309
+ // set max height
310
+ if (bottom + height > parent.clientHeight) {
311
+ height = parent.clientHeight - bottom;
312
+ contentOverflow = true;
313
+ }
314
+ }
315
+
316
+ var position = relativeTo ? {
317
+ top: bottom ? 'auto' : top,
318
+ left: fixToLeft ? undefined : left,
319
+ bottom: bottom || 'auto'
320
+ } : {};
321
+
322
+ if (!show) {
323
+ return _objectSpread(_objectSpread({}, position), {}, {
324
+ width: width,
325
+ height: height,
326
+ opacity: 0
327
+ });
328
+ }
329
+
330
+ return _objectSpread(_objectSpread({}, position), {}, {
331
+ width: width,
332
+ height: height,
333
+ opacity: !!width && !!height ? 1 : 0,
334
+ contentOverflow: 'contentOverflow' in _this.props ? _this.props.contentOverflow : contentOverflow,
335
+ contentHeight: contentHeight
336
+ });
337
+ });
338
+
339
+ _defineProperty(_assertThisInitialized(_this), "onCloseClick", function (e) {
340
+ e.stopPropagation();
341
+ _this.props.onClose && _this.props.onClose();
342
+ });
343
+
344
+ _defineProperty(_assertThisInitialized(_this), "stopEvent", function (e) {
345
+ return e.stopPropagation();
346
+ });
347
+
348
+ _defineProperty(_assertThisInitialized(_this), "moveStart", function (e) {
349
+ if (e.target === _this.dialogClose.current) {
350
+ return;
351
+ }
352
+
353
+ e.preventDefault();
354
+
355
+ var pp = _this.getPointerPosition(e);
356
+
357
+ _this.startPosition = {
358
+ x: pp.x - _this.offset.left,
359
+ y: pp.y - _this.offset.top
360
+ };
361
+ _this.dialog.current.style.transition = 'none';
362
+
363
+ if ('ontouchstart' in window) {
364
+ window.addEventListener('touchmove', _this.moveHandler);
365
+ }
366
+
367
+ window.addEventListener('mousemove', _this.moveHandler);
368
+ });
369
+
370
+ _defineProperty(_assertThisInitialized(_this), "moveHandler", function (e) {
371
+ var pp = _this.getPointerPosition(e);
372
+
373
+ var lastLeft = _this.offset.left;
374
+ var lastTop = _this.offset.top;
375
+ _this.offset.left = pp.x - _this.startPosition.x;
376
+ _this.offset.top = pp.y - _this.startPosition.y;
377
+
378
+ var position = _this.calculatePosition();
379
+
380
+ if (position.top === _this.position.top) {
381
+ _this.offset.top = lastTop;
382
+ }
383
+
384
+ if (position.left === _this.position.left) {
385
+ _this.offset.left = lastLeft;
386
+ }
387
+
388
+ _this.dialog.current.style.left = position.left + 'px';
389
+ _this.dialog.current.style.top = position.top + 'px';
390
+ _this.position = position;
391
+ });
392
+
393
+ _defineProperty(_assertThisInitialized(_this), "moveEnd", function (e) {
394
+ if (e.target === _this.dialogClose.current) {
395
+ return;
396
+ }
397
+
398
+ e.preventDefault();
399
+
400
+ if ('ontouchstart' in window) {
401
+ window.removeEventListener('touchmove', _this.moveHandler);
402
+ }
403
+
404
+ window.removeEventListener('mousemove', _this.moveHandler);
405
+ _this.dialog.current.style.transition = '';
406
+ });
407
+
408
+ _this.position = {};
409
+ _this.zIndex = Dialog.zIndex += 2;
410
+ _this.imageLoaded = false;
411
+ _this.lastRelativeElement = null;
412
+ _this.offset = {
413
+ top: 0,
414
+ left: 0
415
+ };
416
+ _this.dialogContainer = /*#__PURE__*/_react["default"].createRef();
417
+ _this.dialogClose = /*#__PURE__*/_react["default"].createRef();
418
+ _this.dialogTitleBar = /*#__PURE__*/_react["default"].createRef();
419
+ _this.dialog = /*#__PURE__*/_react["default"].createRef();
420
+ _this.dialogOverlay = /*#__PURE__*/_react["default"].createRef();
421
+ _this.dialogContent = /*#__PURE__*/_react["default"].createRef();
422
+ return _this;
423
+ }
424
+
425
+ _createClass(Dialog, [{
426
+ key: "componentDidUpdate",
427
+ value: function componentDidUpdate() {
428
+ if (this.shouldUpdate) {
429
+ this.shouldUpdate = false;
430
+ var position = this.calculatePosition(); // check the position after rendering
431
+
432
+ if (!_lodash["default"].isEqual(position, this.position)) {
433
+ // rerender if not correct
434
+ this.position = position;
435
+ this.forceUpdate();
436
+ } else {
437
+ // if no change no update needed
438
+ this.shouldUpdate = false;
439
+ }
440
+ }
441
+ }
442
+ }, {
443
+ key: "componentWillReceiveProps",
444
+ value: function componentWillReceiveProps(props) {
445
+ var shouldRecalculate = this.props.show ^ props.show; // was or will be shown
446
+
447
+ if (!_lodash["default"].isEqual(props, this.props) && props.show) {
448
+ if (!this.props.show) {
449
+ this.zIndex = Dialog.zIndex += 2;
450
+ }
451
+
452
+ var relativeElement = _lodash["default"].isFunction(props.relativeTo) ? props.relativeTo() : props.relativeTo;
453
+
454
+ if (relativeElement && relativeElement !== this.lastRelativeElement) {
455
+ this.lastRelativeElement = relativeElement;
456
+ shouldRecalculate = true;
457
+ }
458
+
459
+ if (props.refValue !== this.props.refValue || props.children !== this.props.children) {
460
+ shouldRecalculate = true;
461
+ }
462
+ }
463
+
464
+ if (shouldRecalculate) {
465
+ this.position = this.calculatePosition(props);
466
+ }
467
+ }
468
+ }, {
469
+ key: "componentDidMount",
470
+ value: function componentDidMount() {
471
+ var _this2 = this;
472
+
473
+ var _this$props = this.props,
474
+ relativeTo = _this$props.relativeTo,
475
+ show = _this$props.show;
476
+ var relativeElement = _lodash["default"].isFunction(relativeTo) ? relativeTo() : relativeTo;
477
+
478
+ if (relativeElement && show) {
479
+ this.lastRelativeElement = relativeElement;
480
+ }
481
+
482
+ this.position = this.calculatePosition();
483
+ this.forceUpdate();
484
+ this.dialog.current.addEventListener(transitionEvent, function (evt) {
485
+ if (evt.target === _this2.dialog.current) {
486
+ // check the position after rendering
487
+ var position = _this2.calculatePosition(); // check the position after rendering
488
+
489
+
490
+ if (!_lodash["default"].isEqual(position, _this2.position)) {
491
+ // rerender if not correct
492
+ _this2.position = position;
493
+
494
+ _this2.forceUpdate();
495
+ }
496
+ }
497
+ });
498
+
499
+ if ('MutationObserver' in window) {
500
+ var updateIfPositionChanged = function updateIfPositionChanged() {
501
+ var position = _this2.calculatePosition(); // check the position after rendering
502
+
503
+
504
+ if (!_lodash["default"].isEqual(position, _this2.position)) {
505
+ // rerender if not correct
506
+ _this2.position = position;
507
+
508
+ _this2.forceUpdate();
509
+ }
510
+ };
511
+
512
+ var updateDebounced = _lodash["default"].debounce(updateIfPositionChanged, 50); // create an observer instance
513
+
514
+
515
+ this.observer = new MutationObserver(function (mutations) {
516
+ mutations.forEach(function (mutation) {
517
+ switch (mutation.type) {
518
+ case 'childList':
519
+ Array.prototype.forEach.call(mutation.target.children, function (child) {
520
+ if (child.tagName === 'IMG') {
521
+ child.removeEventListener('load', _this2.onContentImageLoaded, false);
522
+ child.addEventListener('load', _this2.onContentImageLoaded, false);
523
+ child.removeEventListener('error', _this2.onContentImageError, false);
524
+ child.addEventListener('error', _this2.onContentImageError, false);
525
+ }
526
+ });
527
+ break;
528
+ }
529
+
530
+ updateDebounced();
531
+ });
532
+ });
533
+ var config = {
534
+ attributes: true,
535
+ childList: true,
536
+ characterData: true,
537
+ subtree: true
538
+ };
539
+ this.observer.observe(this.dialog.current, config);
540
+ }
541
+
542
+ if (this.props.movable) {
543
+ this.initMoving();
544
+ }
545
+ }
546
+ }, {
547
+ key: "componentWillUnmount",
548
+ value: function componentWillUnmount() {
549
+ this.dialog.current && this.dialog.current.removeEventListener('load', this.onContentImageLoaded, true);
550
+ this.observer && this.observer.disconnect();
551
+ }
552
+ }, {
553
+ key: "calculateHeightAdds",
554
+ value: function calculateHeightAdds(element) {
555
+ var compstyle = typeof window.getComputedStyle === 'undefined' ? element.currentStyle : window.getComputedStyle(element);
556
+ var marginTop = parseInt(compstyle.marginTop);
557
+ var marginBottom = parseInt(compstyle.marginBottom);
558
+ var borderTopWidth = parseInt(compstyle.borderTopWidth);
559
+ var borderBottomWidth = parseInt(compstyle.borderBottomWidth);
560
+ return (isNaN(marginTop) ? 0 : marginTop) + (isNaN(marginBottom) ? 0 : marginBottom) + (isNaN(borderTopWidth) ? 0 : borderTopWidth) + (isNaN(borderBottomWidth) ? 0 : borderBottomWidth);
561
+ }
562
+ }, {
563
+ key: "calculateVerticalPaddings",
564
+ value: function calculateVerticalPaddings(element) {
565
+ var compstyle = typeof window.getComputedStyle === 'undefined' ? element.currentStyle : window.getComputedStyle(element);
566
+ var paddingTop = parseInt(compstyle.paddingTop);
567
+ var paddingBottom = parseInt(compstyle.paddingBottom);
568
+ return (isNaN(paddingTop) ? 0 : paddingTop) + (isNaN(paddingBottom) ? 0 : paddingBottom);
569
+ }
570
+ }, {
571
+ key: "calculateHeight",
572
+ value: function calculateHeight(element) {
573
+ return element.offsetHeight + this.calculateHeightAdds(element);
574
+ }
575
+ }, {
576
+ key: "getPointerPosition",
577
+ value: function getPointerPosition(e) {
578
+ var x = 0;
579
+ var y = 0;
580
+
581
+ if (e.touches !== undefined) {
582
+ x = e.touches[0].clientX;
583
+ y = e.touches[0].clientY;
584
+ } else {
585
+ x = e.clientX;
586
+ y = e.clientY;
587
+ }
588
+
589
+ return {
590
+ x: x,
591
+ y: y
592
+ };
593
+ }
594
+ }, {
595
+ key: "initMoving",
596
+ value: function initMoving() {
597
+ if ('ontouchstart' in window) {
598
+ this.dialogTitleBar.current.addEventListener('touchstart', this.moveStart);
599
+ this.dialogTitleBar.current.addEventListener('touchend', this.moveEnd);
600
+ }
601
+
602
+ this.dialogTitleBar.current.addEventListener('mousedown', this.moveStart);
603
+ this.dialogTitleBar.current.addEventListener('mouseup', this.moveEnd); //window.addEventListener('resize', this.detectOrientation);
604
+ }
605
+ /*detectOrientation = () => {
606
+ let orientation = 'landscape';
607
+ if (window.matchMedia("(orientation: portrait)").matches) {
608
+ orientation = 'portrait';
609
+ }
610
+ if (this.orientation !== orientation) {
611
+ this.orientation = orientation;
612
+ }
613
+ };*/
614
+
615
+ }, {
616
+ key: "render",
617
+ value: function render() {
618
+ var _this$props2 = this.props,
619
+ show = _this$props2.show,
620
+ title = _this$props2.title,
621
+ children = _this$props2.children,
622
+ overlay = _this$props2.overlay,
623
+ overlayClassName = _this$props2.overlayClassName,
624
+ className = _this$props2.className,
625
+ animation = _this$props2.animation,
626
+ onClose = _this$props2.onClose;
627
+ var zIndex = this.zIndex,
628
+ onCloseClick = this.onCloseClick,
629
+ dialog = this.dialog,
630
+ dialogContainer = this.dialogContainer,
631
+ dialogClose = this.dialogClose,
632
+ dialogTitleBar = this.dialogTitleBar,
633
+ dialogContent = this.dialogContent,
634
+ dialogOverlay = this.dialogOverlay;
635
+
636
+ var _this$position = _objectSpread({}, this.position),
637
+ contentOverflow = _this$position.contentOverflow,
638
+ position = _objectWithoutProperties(_this$position, _excluded);
639
+
640
+ var display = show ? 'block' : 'none';
641
+ var imageClass = this.imageLoaded ? 'with-image' : '';
642
+ var containerClassName = ['dialog-container', animation, imageClass, className || ''].join(' ');
643
+ return /*#__PURE__*/_react["default"].createElement("div", {
644
+ className: containerClassName,
645
+ style: {
646
+ display: display
647
+ },
648
+ ref: dialogContainer,
649
+ onClick: onCloseClick
650
+ }, overlay && /*#__PURE__*/_react["default"].createElement("div", {
651
+ ref: dialogOverlay,
652
+ className: 'dialog-overlay ' + (overlayClassName || ''),
653
+ style: {
654
+ zIndex: zIndex
655
+ }
656
+ }), /*#__PURE__*/_react["default"].createElement("div", {
657
+ ref: dialog,
658
+ className: "dialog",
659
+ style: _objectSpread(_objectSpread({}, position), {}, {
660
+ zIndex: zIndex + 1
661
+ }),
662
+ onClick: this.stopEvent
663
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
664
+ variant: 'subtitle1'
665
+ }, /*#__PURE__*/_react["default"].createElement("div", {
666
+ className: "dialog-title-bar",
667
+ ref: dialogTitleBar
668
+ }, onClose && /*#__PURE__*/_react["default"].createElement("span", {
669
+ ref: dialogClose,
670
+ className: "dialog-close",
671
+ onClick: onCloseClick
672
+ }, "X"), title && /*#__PURE__*/_react["default"].createElement("h3", {
673
+ className: "dialog-title"
674
+ }, (0, _i18n.T)(title)))), /*#__PURE__*/_react["default"].createElement("div", {
675
+ className: 'dialog-content' + (contentOverflow ? ' overflow' : ''),
676
+ ref: dialogContent
677
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, children))));
678
+ }
679
+ }]);
680
+
681
+ return Dialog;
682
+ }(_react["default"].Component);
683
+
684
+ exports["default"] = Dialog;
685
+
686
+ _defineProperty(Dialog, "propTypes", {
687
+ relativePosition: _propTypes["default"].array,
688
+ animation: _propTypes["default"].string,
689
+ overlayClassName: _propTypes["default"].string,
690
+ onClose: _propTypes["default"].func,
691
+ fixToLeft: _propTypes["default"].bool,
692
+ relativeTo: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].func]),
693
+ refValue: _propTypes["default"].any,
694
+ relativeOffset: _propTypes["default"].object,
695
+ movable: _propTypes["default"].bool,
696
+ parent: _propTypes["default"].instanceOf(HTMLElement),
697
+ show: _propTypes["default"].bool,
698
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
699
+ contentOverflow: _propTypes["default"].string,
700
+ title: _propTypes["default"].string,
701
+ overlay: _propTypes["default"].bool,
702
+ className: _propTypes["default"].string
703
+ });
704
+
705
+ _defineProperty(Dialog, "defaultProps", {
706
+ relativePosition: [['center', 'center'], ['center', 'center']],
707
+ animation: 'all',
708
+ // ('show', 'grow', 'all') -> css class with transition,
709
+ overlayClassName: '',
710
+ onClose: false,
711
+ fixToLeft: false,
712
+ relativeTo: undefined,
713
+ // the element to which the dialog is relative (if not set it will be fixed)
714
+ refValue: undefined,
715
+ // if this value changes it will trigger the recalculation of the dialog height
716
+ relativeOffset: undefined,
717
+ // { top, left }
718
+ movable: false
719
+ });
720
+
721
+ _defineProperty(Dialog, "zIndex", 1000);