contentoh-components-library 21.5.3 → 21.5.4

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 (294) hide show
  1. package/dist/components/organisms/InputGroup/index.js +1 -1
  2. package/dist/components/organisms/Table/styles.js +1 -1
  3. package/dist/components/pages/MultipleEdition/saveData.js +9 -19
  4. package/dist/components/pages/MultipleEdition/styles.js +1 -1
  5. package/dist/components/pages/MultipleEdition/utils.js +86 -153
  6. package/package.json +4 -1
  7. package/src/assets/images/Icons/addv2.svg +8 -0
  8. package/src/assets/images/Icons/beenhere.svg +9 -0
  9. package/src/assets/images/Icons/checkv2.svg +8 -0
  10. package/src/assets/images/Icons/close-magenta.svg +9 -0
  11. package/src/assets/images/Icons/close.svg +8 -0
  12. package/src/assets/images/Icons/closeCircle.svg +8 -0
  13. package/src/assets/images/Icons/delete-forever-red.svg +9 -0
  14. package/src/assets/images/Icons/delete-forever-white.svg +10 -0
  15. package/src/assets/images/Icons/edit.svg +8 -0
  16. package/src/assets/images/Icons/fullscreen.svg +3 -0
  17. package/src/assets/images/Icons/infoNR.svg +8 -0
  18. package/src/assets/images/Icons/options.svg +3 -0
  19. package/src/assets/images/Icons/save-white-gray.svg +9 -0
  20. package/src/assets/images/Icons/save-white.svg +9 -0
  21. package/src/assets/images/Icons/save.svg +8 -0
  22. package/src/assets/images/Icons/search.svg +3 -0
  23. package/src/assets/images/Icons/settings.svg +8 -0
  24. package/src/assets/images/Icons/trash.svg +8 -0
  25. package/src/assets/images/Icons/undo.svg +8 -0
  26. package/src/assets/images/Icons/upload-file-white.svg +4 -0
  27. package/src/assets/images/Icons/upload-file.svg +10 -0
  28. package/src/assets/images/Icons/upload_file.svg +10 -0
  29. package/src/assets/images/Icons/warningv2.svg +3 -0
  30. package/src/assets/images/checkBox/checkrosa.svg +3 -0
  31. package/src/assets/images/checkBox/checkverde.svg +3 -0
  32. package/src/assets/images/flagsv2/highPriority.svg +3 -0
  33. package/src/assets/images/flagsv2/lowPriority.svg +3 -0
  34. package/src/assets/images/flagsv2/mediumPriority.svg +3 -0
  35. package/src/assets/images/flagsv2/noPriority.svg +3 -0
  36. package/src/assets/images/generalButton/closeIconWhite.svg +4 -0
  37. package/src/assets/images/generalButton/closeIconv2.svg +4 -0
  38. package/src/assets/images/generalButton/saveIconpink.svg +3 -0
  39. package/src/components/atoms/Avatar/index.js +8 -2
  40. package/src/components/atoms/ButtonV2/ButtonV2.stories.js +1 -0
  41. package/src/components/atoms/ButtonV2/index.js +1 -0
  42. package/src/components/atoms/ButtonV2/styles.js +16 -0
  43. package/src/components/atoms/CharsMissing/Wysiwyg.stories.js +12 -0
  44. package/src/components/atoms/CharsMissing/index.js +60 -0
  45. package/src/components/atoms/CharsMissing/styles.js +44 -0
  46. package/src/components/atoms/CheckBox/CheckBox.stories.js +5 -0
  47. package/src/components/atoms/CheckBox/index.js +5 -1
  48. package/src/components/atoms/CheckBox/styles.js +9 -3
  49. package/src/components/atoms/CustomChip/CustomChip.stories.js +16 -0
  50. package/src/components/atoms/CustomChip/index.js +34 -0
  51. package/src/components/atoms/CustomChip/styles.js +6 -0
  52. package/src/components/atoms/FeatureTagv2/FeatureTagv2.stories.js +16 -0
  53. package/src/components/atoms/FeatureTagv2/index.js +10 -0
  54. package/src/components/atoms/FeatureTagv2/styles.js +56 -0
  55. package/src/components/atoms/GeneralButton/styles.js +46 -0
  56. package/src/components/atoms/GeneralInput/index.js +3 -0
  57. package/src/components/atoms/GeneralInput/styles.js +19 -1
  58. package/src/components/atoms/GeneralInputv2/GeneralInputv2.stories.js +33 -0
  59. package/src/components/atoms/GeneralInputv2/index.js +155 -0
  60. package/src/components/atoms/GeneralInputv2/styles.js +67 -0
  61. package/src/components/atoms/InputFormatter/index.js +2 -1
  62. package/src/components/atoms/InputFormatter/styles.js +9 -4
  63. package/src/components/atoms/InputFormatterv2/Wysiwyg.stories.js +12 -0
  64. package/src/components/atoms/InputFormatterv2/index.js +148 -0
  65. package/src/components/atoms/InputFormatterv2/styles.js +39 -0
  66. package/src/components/atoms/InputImages/InputImages.stories.js +19 -0
  67. package/src/components/atoms/InputImages/index.js +25 -0
  68. package/src/components/atoms/InputImages/styles.js +17 -0
  69. package/src/components/atoms/Multiselect/Multiselect.stories.js +364 -0
  70. package/src/components/atoms/Multiselect/index.js +351 -0
  71. package/src/components/atoms/Multiselect/styles.js +33 -0
  72. package/src/components/atoms/NumberMandatory/NumberMandatory.stories.js +19 -0
  73. package/src/components/atoms/NumberMandatory/index.js +16 -0
  74. package/src/components/atoms/NumberMandatory/styles.js +11 -0
  75. package/src/components/atoms/ObservationFlag/ObservationFlag.stories.js +20 -0
  76. package/src/components/atoms/ObservationFlag/index.js +167 -0
  77. package/src/components/atoms/ObservationFlag/styles.js +104 -0
  78. package/src/components/atoms/PriorityFlagv2/PriorityFlagv2.stories.js +20 -0
  79. package/src/components/atoms/PriorityFlagv2/index.js +20 -0
  80. package/src/components/atoms/PriorityFlagv2/styles.js +6 -0
  81. package/src/components/atoms/ProductImage/index.js +24 -11
  82. package/src/components/atoms/ProductImage/styles.js +7 -0
  83. package/src/components/atoms/ProductImagev2/ProductImagev2.stories.js +28 -0
  84. package/src/components/atoms/ProductImagev2/index.js +16 -0
  85. package/src/components/atoms/ProductImagev2/styles.js +62 -0
  86. package/src/components/atoms/Progress/Progress.stories.js +25 -0
  87. package/src/components/atoms/Progress/index.js +74 -0
  88. package/src/components/atoms/Progress/styles.js +98 -0
  89. package/src/components/atoms/ScreenHeaderv2/ScreenHeaderv2.stories.js +53 -0
  90. package/src/components/atoms/ScreenHeaderv2/index.js +134 -0
  91. package/src/components/atoms/ScreenHeaderv2/styles.js +103 -0
  92. package/src/components/atoms/Selectv2/VersionSelect.js +27 -0
  93. package/src/components/atoms/Selectv2/index.js +35 -0
  94. package/src/components/atoms/Selectv2/style.js +93 -0
  95. package/src/components/atoms/SliderToolTip/styles.js +1 -1
  96. package/src/components/atoms/TabSection/index.js +1 -1
  97. package/src/components/atoms/TabSection/styles.js +0 -3
  98. package/src/components/atoms/TabSectionv2/TabSection.stories.js +25 -0
  99. package/src/components/atoms/TabSectionv2/index.js +9 -0
  100. package/src/components/atoms/TabSectionv2/styles.js +20 -0
  101. package/src/components/atoms/TooltipLight/Tooltip.stories.js +20 -0
  102. package/src/components/atoms/TooltipLight/index.js +46 -0
  103. package/src/components/atoms/TooltipLight/styles.js +65 -0
  104. package/src/components/atoms/WordsMissing/Wysiwyg.stories.js +12 -0
  105. package/src/components/atoms/WordsMissing/index.js +60 -0
  106. package/src/components/atoms/WordsMissing/styles.js +10 -0
  107. package/src/components/molecules/AddGroup/AddGroup.stories.js +15 -0
  108. package/src/components/molecules/AddGroup/index.js +84 -0
  109. package/src/components/molecules/AddGroup/styles.js +141 -0
  110. package/src/components/molecules/AsignationInfo/AsignationInfo.stories.js +17 -0
  111. package/src/components/molecules/AsignationInfo/index.js +108 -0
  112. package/src/components/molecules/AsignationInfo/styles.js +86 -0
  113. package/src/components/molecules/BoxAttribute/index.js +32 -25
  114. package/src/components/molecules/BoxAttribute/styles.js +1 -1
  115. package/src/components/molecules/BoxButtons/index.js +23 -22
  116. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  117. package/src/components/molecules/EditionActiveImagev2/EditionActiveImagev2.stories.js +12 -0
  118. package/src/components/molecules/EditionActiveImagev2/index.js +15 -0
  119. package/src/components/molecules/EditionActiveImagev2/styles.js +7 -0
  120. package/src/components/molecules/EditionTabs/EditionTabs.stories.js +12 -0
  121. package/src/components/molecules/EditionTabs/index.js +33 -0
  122. package/src/components/molecules/EditionTabs/styles.js +24 -0
  123. package/src/components/molecules/FeaturesBarv2/FeaturesBarv2.stories.js +20 -0
  124. package/src/components/molecules/FeaturesBarv2/index.js +32 -0
  125. package/src/components/molecules/FeaturesBarv2/styles.js +17 -0
  126. package/src/components/molecules/GalleryElement/index.js +76 -1
  127. package/src/components/molecules/GalleryElementv2/GalleryElementv2.stories.js +30 -0
  128. package/src/components/molecules/GalleryElementv2/index.js +142 -0
  129. package/src/components/molecules/GalleryElementv2/styles.js +119 -0
  130. package/src/components/molecules/GalleryHeader/index.js +1 -0
  131. package/src/components/molecules/GalleryHeaderv2/GalleryHeaderv2.stories.js +10 -0
  132. package/src/components/molecules/GalleryHeaderv2/index.js +25 -0
  133. package/src/components/molecules/GalleryHeaderv2/styles.js +47 -0
  134. package/src/components/molecules/GroupSelect/GroupSelect.stories.js +35 -0
  135. package/src/components/molecules/GroupSelect/SelectItem.js +105 -0
  136. package/src/components/molecules/GroupSelect/index.js +190 -0
  137. package/src/components/molecules/GroupSelect/styles.js +124 -0
  138. package/src/components/molecules/HeaderTop/index.js +52 -6
  139. package/src/components/molecules/HeaderTopv2/HeaderTopv2.stories.js +10 -0
  140. package/src/components/molecules/HeaderTopv2/index.js +100 -0
  141. package/src/components/molecules/HeaderTopv2/styles.js +33 -0
  142. package/src/components/molecules/ImageSelectorv2/ImageSelectorv2.stories.js +46 -0
  143. package/src/components/molecules/ImageSelectorv2/index.js +22 -0
  144. package/src/components/molecules/ImageSelectorv2/styles.js +15 -0
  145. package/src/components/molecules/Phase/Phase.stories.js +107 -0
  146. package/src/components/molecules/Phase/index.js +391 -0
  147. package/src/components/molecules/Phase/styles.js +97 -0
  148. package/src/components/molecules/ProductNameHeader/index.js +19 -1
  149. package/src/components/molecules/ProductNameHeaderv2/ProductNameHeaderv2.stories.js +37 -0
  150. package/src/components/molecules/ProductNameHeaderv2/index.js +12 -0
  151. package/src/components/molecules/ProductNameHeaderv2/styles.js +10 -0
  152. package/src/components/molecules/ProductSkuStatus/ProductSkuStatus.stories.js +37 -0
  153. package/src/components/molecules/ProductSkuStatus/index.js +26 -0
  154. package/src/components/molecules/ProductSkuStatus/styles.js +7 -0
  155. package/src/components/molecules/RetailerSelectorv2/RetailerSelectorv2.stories.js +35 -0
  156. package/src/components/molecules/RetailerSelectorv2/index.js +80 -0
  157. package/src/components/molecules/RetailerSelectorv2/styles.js +21 -0
  158. package/src/components/molecules/ServiceDataValidator/ServiceDataValidator.stories.js +90 -0
  159. package/src/components/molecules/ServiceDataValidator/index.js +49 -0
  160. package/src/components/molecules/ServiceDataValidator/styles.js +36 -0
  161. package/src/components/molecules/SignInLogin/index.js +11 -11
  162. package/src/components/molecules/StatusAsignationInfo/FinancedCompanies.js +501 -63
  163. package/src/components/molecules/StatusAsignationInfo/index.js +1 -1
  164. package/src/components/molecules/StatusRetailer/StatusAsignationInfo.stories.js +17 -0
  165. package/src/components/molecules/StatusRetailer/index.js +55 -0
  166. package/src/components/molecules/StatusRetailer/styles.js +85 -0
  167. package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +1 -2
  168. package/src/components/molecules/TabsMenuv2/TabsMenuv2.stories.js +19 -0
  169. package/src/components/molecules/TabsMenuv2/index.js +112 -0
  170. package/src/components/molecules/TabsMenuv2/styles.js +19 -0
  171. package/src/components/molecules/TagAndInput/index.js +8 -6
  172. package/src/components/molecules/TagAndInputv2/TagAndInputv2.stories.js +24 -0
  173. package/src/components/molecules/TagAndInputv2/index.js +86 -0
  174. package/src/components/molecules/TagAndInputv2/styles.js +35 -0
  175. package/src/components/molecules/Validation/Validation.stories.js +12 -0
  176. package/src/components/molecules/Validation/index.js +77 -0
  177. package/src/components/molecules/Validation/styles.js +19 -0
  178. package/src/components/molecules/VersionItemv2/VersionItemv2.stories.js +14 -0
  179. package/src/components/molecules/VersionItemv2/index.js +59 -0
  180. package/src/components/molecules/VersionItemv2/styles.js +47 -0
  181. package/src/components/organisms/BarButtons/BarButtons.stories.js +13 -0
  182. package/src/components/organisms/BarButtons/index.js +150 -0
  183. package/src/components/organisms/BarButtons/styles.js +54 -0
  184. package/src/components/organisms/Chat/Chat.stories.js +27 -7
  185. package/src/components/organisms/Chat/ContainerItems/index.js +18 -2
  186. package/src/components/organisms/Chat/ContainerItems/styles.js +14 -2
  187. package/src/components/organisms/Chat/ContentChat/index.js +88 -12
  188. package/src/components/organisms/Chat/Footer/index.js +11 -0
  189. package/src/components/organisms/Chat/index.js +46 -4
  190. package/src/components/organisms/Chat/styles.js +4 -0
  191. package/src/components/organisms/Chatv2/ChatLists/ChatLists.stories.js +65 -0
  192. package/src/components/organisms/Chatv2/ChatLists/Rotoplas.jpeg +0 -0
  193. package/src/components/organisms/Chatv2/ChatLists/THD.png +0 -0
  194. package/src/components/organisms/Chatv2/ChatLists/index.js +141 -0
  195. package/src/components/organisms/Chatv2/ChatLists/styles.js +162 -0
  196. package/src/components/organisms/Chatv2/Chatv2.stories.js +184 -0
  197. package/src/components/organisms/Chatv2/ContainerItems/ContainerItems.stories.js +142 -0
  198. package/src/components/organisms/Chatv2/ContainerItems/index.js +538 -0
  199. package/src/components/organisms/Chatv2/ContainerItems/styles.js +360 -0
  200. package/src/components/organisms/Chatv2/ContentChat/ContentChat.stories.js +102 -0
  201. package/src/components/organisms/Chatv2/ContentChat/Rotoplas.jpeg +0 -0
  202. package/src/components/organisms/Chatv2/ContentChat/THD.png +0 -0
  203. package/src/components/organisms/Chatv2/ContentChat/index.js +1016 -0
  204. package/src/components/organisms/Chatv2/ContentChat/styles.js +44 -0
  205. package/src/components/organisms/Chatv2/Footer/Footer.stories.js +22 -0
  206. package/src/components/organisms/Chatv2/Footer/index.js +668 -0
  207. package/src/components/organisms/Chatv2/Footer/styles.js +290 -0
  208. package/src/components/organisms/Chatv2/Header/Header.stories.js +66 -0
  209. package/src/components/organisms/Chatv2/Header/index.js +93 -0
  210. package/src/components/organisms/Chatv2/Header/styles.js +49 -0
  211. package/src/components/organisms/Chatv2/index.js +281 -0
  212. package/src/components/organisms/Chatv2/styles.js +85 -0
  213. package/src/components/organisms/CompleteServices/CompleteServices.stories.js +91 -0
  214. package/src/components/organisms/CompleteServices/index.js +82 -0
  215. package/src/components/organisms/CompleteServices/styles.js +35 -0
  216. package/src/components/organisms/DashboardMetric/index.js +6 -3
  217. package/src/components/organisms/DragAndDropPhases/DragAndDropPhases.stories.js +13 -0
  218. package/src/components/organisms/DragAndDropPhases/index.js +336 -0
  219. package/src/components/organisms/DragAndDropPhases/styles.js +107 -0
  220. package/src/components/organisms/DragPrueba/DragPrueba.stories.js +12 -0
  221. package/src/components/organisms/DragPrueba/index.js +57 -0
  222. package/src/components/organisms/DragPrueba/styles.js +8 -0
  223. package/src/components/organisms/EditGroup/EditGroup.stories.js +20 -0
  224. package/src/components/organisms/EditGroup/index.js +321 -0
  225. package/src/components/organisms/EditGroup/styles.js +207 -0
  226. package/src/components/organisms/FullProductNameHeader/index.js +13 -1
  227. package/src/components/organisms/FullProductNamev2/FullProductNamev2.stories.js +28 -0
  228. package/src/components/organisms/FullProductNamev2/index.js +101 -0
  229. package/src/components/organisms/FullProductNamev2/styles.js +49 -0
  230. package/src/components/organisms/FullTabsMenuv2/FullTabsMenuv2.stories.js +22 -0
  231. package/src/components/organisms/FullTabsMenuv2/index.js +142 -0
  232. package/src/components/organisms/FullTabsMenuv2/styles.js +47 -0
  233. package/src/components/organisms/GridProducts/GridProducts.stories.js +682 -107
  234. package/src/components/organisms/ImageDataTablev2/ImageDataTablev2.stories.js +24 -0
  235. package/src/components/organisms/ImageDataTablev2/index.js +124 -0
  236. package/src/components/organisms/ImageDataTablev2/styles.js +18 -0
  237. package/src/components/organisms/ImagePreviewerv2/ImagePreviewerv2.stories.js +38 -0
  238. package/src/components/organisms/ImagePreviewerv2/index.js +22 -0
  239. package/src/components/organisms/ImagePreviewerv2/styles.js +7 -0
  240. package/src/components/organisms/ImageUploader/ImageUploader.stories.js +15 -0
  241. package/src/components/organisms/ImageUploader/index.js +62 -0
  242. package/src/components/organisms/ImageUploader/styles.js +29 -0
  243. package/src/components/organisms/ImageVisor/ImageVisor.stories.js +15 -0
  244. package/src/components/organisms/ImageVisor/index.js +143 -0
  245. package/src/components/organisms/ImageVisor/styles.js +106 -0
  246. package/src/components/organisms/InputGroup/index.js +292 -144
  247. package/src/components/organisms/InputGroup/styles.js +31 -0
  248. package/src/components/organisms/InputGroupv2/InputGroupv2.stories.js +31 -0
  249. package/src/components/organisms/InputGroupv2/index.js +296 -0
  250. package/src/components/organisms/InputGroupv2/styles.js +90 -0
  251. package/src/components/organisms/MandatoryBar/MandatoryBar.stories.js +18 -0
  252. package/src/components/organisms/MandatoryBar/index.js +31 -0
  253. package/src/components/organisms/MandatoryBar/styles.js +12 -0
  254. package/src/components/organisms/Modal/Modal.stories.js +2 -1
  255. package/src/components/organisms/Modal/index.js +9 -2
  256. package/src/components/organisms/Modal/styles.js +8 -1
  257. package/src/components/organisms/OrderDetail/utils/Table/utils.js +6 -16
  258. package/src/components/organisms/ProductImageModalv2/ProductImageModalv2.stories.js +90 -0
  259. package/src/components/organisms/ProductImageModalv2/index.js +105 -0
  260. package/src/components/organisms/ProductImageModalv2/styles.js +71 -0
  261. package/src/components/organisms/RenameImagesBar/RenameImagesBar.stories.js +18 -0
  262. package/src/components/organisms/RenameImagesBar/index.js +30 -0
  263. package/src/components/organisms/RenameImagesBar/styles.js +12 -0
  264. package/src/components/organisms/Table/Table.stories.js +609 -0
  265. package/src/components/organisms/Table/index.js +84 -0
  266. package/src/components/organisms/Table/styles.js +114 -0
  267. package/src/components/organisms/VersionSelectorv2/VersionSelectorv2.stories.js +15 -0
  268. package/src/components/organisms/VersionSelectorv2/index.js +105 -0
  269. package/src/components/organisms/VersionSelectorv2/styles.js +45 -0
  270. package/src/components/pages/Dashboard/Dashboard.stories.js +33 -38
  271. package/src/components/pages/Dashboard/index.js +36 -7
  272. package/src/components/pages/MultipleEdition/MultipleEdition.stories.js +17 -0
  273. package/src/components/pages/MultipleEdition/components/ImageUploader.js +62 -0
  274. package/src/components/pages/MultipleEdition/components/ImageUploaderStyles.js +29 -0
  275. package/src/components/pages/MultipleEdition/components/ImageVisor.js +143 -0
  276. package/src/components/pages/MultipleEdition/components/styles.js +106 -0
  277. package/src/components/pages/MultipleEdition/index.js +248 -0
  278. package/src/components/pages/MultipleEdition/saveData.js +92 -0
  279. package/src/components/pages/MultipleEdition/styles.js +201 -0
  280. package/src/components/pages/MultipleEdition/utils.js +1073 -0
  281. package/src/components/pages/ProductEditionv2/ProductEditionv2.stories.js +213 -0
  282. package/src/components/pages/ProductEditionv2/index.js +1758 -0
  283. package/src/components/pages/ProductEditionv2/styles.js +154 -0
  284. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +56 -60
  285. package/src/components/pages/ProviderProductEdition/index.js +148 -133
  286. package/src/components/pages/ProviderProductEdition/styles.js +5 -1
  287. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +4 -0
  288. package/src/components/pages/RetailerProductEdition/generateThumnail.js +21 -0
  289. package/src/components/pages/RetailerProductEdition/index.js +293 -300
  290. package/src/components/pages/RetailerProductEdition/styles.js +4 -0
  291. package/src/components/pages/RetailerProductEdition/utils.js +37 -0
  292. package/src/global-files/data.js +6 -10
  293. package/src/global-files/variables.js +6 -0
  294. package/src/index.js +12 -0
@@ -0,0 +1,24 @@
1
+ import { ImageDataTablev2 } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/ImageDataTablev2",
5
+ component: ImageDataTablev2,
6
+ };
7
+
8
+ const Template = (args) => <ImageDataTablev2 {...args} />;
9
+
10
+ export const ImageDataTablev2Default = Template.bind({});
11
+ ImageDataTablev2Default.args = {
12
+ headerInfo: {
13
+ src: "https://www.thestar.com/content/dam/thestar/columnist_logos/francis_angelyn_logo2020.jpg",
14
+ name: "Hero.jpg",
15
+ status: "AA",
16
+ },
17
+ imageData: [
18
+ { feature: "Tipo de imagen", value: "Tipo de imagen" },
19
+ { feature: "Identificador", value: "F26" },
20
+ { feature: "Formato", value: "jpg" },
21
+ { feature: "Resolución", value: "300dpi" },
22
+ { feature: "Tamaño de imagen", value: "1000x10000" },
23
+ ],
24
+ };
@@ -0,0 +1,124 @@
1
+ import { Container } from "./styles";
2
+ import { TableHeader } from "../../molecules/TableHeader";
3
+ import { Container as Row } from "../../molecules/TableRow/styles";
4
+ import { ScreenHeader } from "../../atoms/ScreenHeader";
5
+ import LabelToInput from "../../atoms/LabelToInput";
6
+
7
+ export const ImageDataTablev2 = ({
8
+ activeImage,
9
+ darkMode,
10
+ lists,
11
+ retailerSelected,
12
+ setImages,
13
+ assignationsImages,
14
+ imagesStatus,
15
+ setAssignation,
16
+ isRetailer,
17
+ onClickSave,
18
+ showSaveButton,
19
+ version,
20
+ setShowVersionSelector,
21
+ shotThd,
22
+ }) => {
23
+ return (
24
+ <Container darkMode={darkMode}>
25
+ <TableHeader
26
+ imagesStatus={imagesStatus}
27
+ activeImage={activeImage}
28
+ assignationsImages={assignationsImages}
29
+ setAssignation={setAssignation}
30
+ isRetailer={isRetailer}
31
+ showSaveButton={showSaveButton}
32
+ onClickSave={onClickSave}
33
+ version={version}
34
+ setShowVersionSelector={setShowVersionSelector}
35
+ />
36
+ <Row>
37
+ <ScreenHeader headerType={"table-row-text"} text="Tipo de toma" />
38
+ <ScreenHeader
39
+ headerType={"table-row-text gray-table-row"}
40
+ text={
41
+ lists?.inputs?.find((f) => f.id === +activeImage?.image_id)?.name ||
42
+ "-"
43
+ }
44
+ />
45
+ </Row>
46
+ <Row>
47
+ <ScreenHeader headerType={"table-row-text"} text="Tipo de empaque" />
48
+ <ScreenHeader
49
+ headerType={"table-row-text gray-table-row"}
50
+ text={
51
+ lists?.imagePackagingType?.find(
52
+ (f) => f.id === +activeImage?.packing_type
53
+ )?.name || "-"
54
+ }
55
+ />
56
+ </Row>
57
+ <Row>
58
+ <ScreenHeader headerType={"table-row-text"} text="Tipo de imagen" />
59
+ <ScreenHeader
60
+ headerType={"table-row-text gray-table-row"}
61
+ text={
62
+ lists?.imageType?.find((f) => f.id === +activeImage?.image_type)
63
+ ?.name || "-"
64
+ }
65
+ />
66
+ </Row>
67
+ {shotThd && (
68
+ <Row>
69
+ <ScreenHeader
70
+ headerType={"table-row-text"}
71
+ text="Tipo de imagen THD"
72
+ />
73
+ <ScreenHeader
74
+ headerType={"table-row-text gray-table-row"}
75
+ text={
76
+ lists?.imageShotType?.find(
77
+ (f) => f.id === +activeImage?.image_shot_type
78
+ )?.type_shot || "-"
79
+ }
80
+ />
81
+ </Row>
82
+ )}
83
+ <Row>
84
+ <ScreenHeader headerType={"table-row-text"} text="Formato" />
85
+ <ScreenHeader
86
+ headerType={"table-row-text"}
87
+ text={activeImage?.ext || "-"}
88
+ />
89
+ </Row>
90
+ <Row>
91
+ <ScreenHeader headerType={"table-row-text"} text="Tamaño de imagen" />
92
+ <ScreenHeader
93
+ headerType={"table-row-text"}
94
+ text={
95
+ activeImage?.width && activeImage.height
96
+ ? `${activeImage?.width}x${activeImage?.height}px`
97
+ : "-"
98
+ }
99
+ />
100
+ </Row>
101
+ {retailerSelected &&
102
+ lists?.attrForImgs &&
103
+ lists?.attrForImgs?.general?.map((attr, index) => (
104
+ <Row key={"row-" + index + "-" + attr?.name}>
105
+ <ScreenHeader
106
+ headerType={"table-row-text"}
107
+ text={attr?.name || "-"}
108
+ />
109
+ <LabelToInput
110
+ width="100px"
111
+ defaultValue={attr?.value}
112
+ onChange={(e) => {
113
+ setImages({
114
+ action: "changeAttrValue",
115
+ value: e.target.value || "-",
116
+ id: attr.id,
117
+ });
118
+ }}
119
+ />
120
+ </Row>
121
+ ))}
122
+ </Container>
123
+ );
124
+ };
@@ -0,0 +1,18 @@
1
+ import styled from "styled-components";
2
+ import { GlobalColors } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ width: 377px;
6
+ padding: 10px;
7
+ border: 1px solid ${GlobalColors.s2};
8
+ border-radius: 10px;
9
+ background-color:${GlobalColors.white};
10
+
11
+ .input-name-header,
12
+ .table-row-text {
13
+ color: ${({ darkMode }) => darkMode && GlobalColors.s1};
14
+ }
15
+ .gray-table-row {
16
+ background-color: ${({ darkMode }) => darkMode && GlobalColors.white};
17
+ }
18
+ `;
@@ -0,0 +1,38 @@
1
+ import { ImagePreviewer } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/ImagePreviewer",
5
+ component: ImagePreviewer,
6
+ };
7
+
8
+ const Template = (args) => <ImagePreviewer {...args} />;
9
+
10
+ export const ImagePreviewerDefault = Template.bind({});
11
+ ImagePreviewerDefault.args = {
12
+ imagesArray: [
13
+ {
14
+ img: "https://image.shutterstock.com/image-illustration/3d-render-generic-drug-pills-260nw-709112806.jpg",
15
+ alt: "img",
16
+ },
17
+ {
18
+ img: "https://www.muycomputer.com/wp-content/uploads/2020/12/google.png",
19
+ alt: "img",
20
+ },
21
+ {
22
+ img: "https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Teaser/bildergalerie-online-t.jpg",
23
+ alt: "img",
24
+ },
25
+ {
26
+ img: "https://i.pinimg.com/originals/d0/b9/28/d0b928df15d3a3bf1905865a8fedb257.jpg",
27
+ alt: "img",
28
+ },
29
+ {
30
+ img: "https://memegenerator.net/img/images/72798198.jpg",
31
+ alt: "img",
32
+ },
33
+ {
34
+ img: "http://www.dumpaday.com/wp-content/uploads/2016/02/funny-pictures-621.jpg",
35
+ alt: "img",
36
+ },
37
+ ],
38
+ };
@@ -0,0 +1,22 @@
1
+ import { Container } from "./styles";
2
+ import { ImageSelectorv2 } from "../../molecules/ImageSelectorv2";
3
+ import { EditionActiveImagev2 } from "../../molecules/EditionActiveImagev2";
4
+
5
+ export const ImagePreviewerv2 = ({
6
+ imagesArray = [],
7
+ activeImage,
8
+ setActiveImage,
9
+ setShowModal,
10
+ showSelector = true
11
+ }) => {
12
+ return (
13
+ <Container>
14
+ <EditionActiveImagev2
15
+ img={activeImage?.src}
16
+ altText={activeImage?.name}
17
+ setShowModal={setShowModal}
18
+ />
19
+ {showSelector && <ImageSelectorv2 images={imagesArray} setActiveImage={setActiveImage} />}
20
+ </Container>
21
+ );
22
+ };
@@ -0,0 +1,7 @@
1
+ import styled from "styled-components";
2
+
3
+ export const Container = styled.div`
4
+ & + * {
5
+ margin-top: 10px;
6
+ }
7
+ `;
@@ -0,0 +1,15 @@
1
+ import { ImageUploader } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/ImageUploader ",
5
+ component: ImageUploader ,
6
+ argTypes: {
7
+
8
+ },
9
+ };
10
+
11
+ const Template = (args) => <ImageUploader {...args} />;
12
+
13
+ export const ImageUploaderDefault = Template.bind({});
14
+ ImageUploaderDefault.args = {
15
+ };
@@ -0,0 +1,62 @@
1
+ import React, { useState } from "react";
2
+ import { useDropzone } from "react-dropzone";
3
+ import { ImageUploaderContainer } from "./styles";
4
+ import uploadFile from "../../../assets/images/Icons/upload_file.svg";
5
+
6
+ const ImageUploader = ({ handleNewImage }) => {
7
+ const [image, setImage] = useState(null);
8
+
9
+ const onDrop = (acceptedFiles) => {
10
+ if (acceptedFiles.length === 1) {
11
+ showImage(acceptedFiles[0]);
12
+ }
13
+ };
14
+
15
+ const showImage = (file) => {
16
+ const reader = new FileReader();
17
+ reader.onload = () => {
18
+ setImage(reader.result);
19
+ getImageDimensions(reader.result);
20
+ };
21
+ reader.readAsDataURL(file);
22
+ };
23
+
24
+ const getImageDimensions = (dataURL) => {
25
+ const img = new Image();
26
+ img.onload = () => {
27
+ const image = {
28
+ src: dataURL,
29
+ ext: img.src.includes("image/jpeg") ? "jpg" : "png",
30
+ width: img.width,
31
+ height: img.height,
32
+ };
33
+ handleNewImage(image);
34
+ };
35
+ img.src = dataURL;
36
+ };
37
+
38
+ const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });
39
+
40
+ return (
41
+ <ImageUploaderContainer {...getRootProps()}>
42
+ <input {...getInputProps()} />
43
+ {image ? (
44
+ <img className="imageLoaded" src={image} alt="Imagen Cargada" />
45
+ ) : (
46
+ <>
47
+ <img src={uploadFile} alt="Subir imágen" />
48
+ {isDragActive ? (
49
+ <p>Suelta la imagen aquí</p>
50
+ ) : (
51
+ <div>
52
+ <p>Da clic aquí o arrastra la foto para subirla a Content-oh!</p>
53
+ <span>Tamaño de imagen recomendando 3000x3000 pixeles</span>
54
+ </div>
55
+ )}
56
+ </>
57
+ )}
58
+ </ImageUploaderContainer>
59
+ );
60
+ };
61
+
62
+ export default ImageUploader;
@@ -0,0 +1,29 @@
1
+ import styled from "styled-components";
2
+
3
+ export const ImageUploaderContainer = styled.div`
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: center;
7
+ justify-content: space-between;
8
+ width: 100%;
9
+ height: 100%;
10
+ cursor: pointer;
11
+ color: var(--magenta-main, #e33aa9);
12
+ text-align: center;
13
+ font-family: Roboto;
14
+ font-size: 12px;
15
+ font-style: normal;
16
+ font-weight: 400;
17
+ line-height: normal;
18
+ padding: 49px 32px;
19
+ & > div {
20
+ & > p {
21
+ margin-bottom: 10px;
22
+ }
23
+ & > span {
24
+ color: var(--grey-medium, #cbcbcb);
25
+ font-size: 10px;
26
+ font-weight: 400;
27
+ }
28
+ }
29
+ `;
@@ -0,0 +1,15 @@
1
+ import { ImageVisor } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/ImageVisor",
5
+ component: ImageVisor,
6
+ argTypes: {
7
+
8
+ },
9
+ };
10
+
11
+ const Template = (args) => <ImageVisor {...args} />;
12
+
13
+ export const ImageVisorDefault = Template.bind({});
14
+ ImageVisorDefault.args = {
15
+ };
@@ -0,0 +1,143 @@
1
+ import { useState, useEffect } from "react";
2
+ import ReactImageFallback from "react-image-fallback";
3
+ import { ImageContainer, ImageView } from "./styles.js";
4
+ import ImageUploader from "../ImageUploader";
5
+ import { getImageURL } from "../../../global-files/utils.js";
6
+ import defaultProductImage from "../../../assets/images/defaultImages/defaultProductImage.png";
7
+ import fullscreen from "../../../assets/images/Icons/fullscreen.svg";
8
+ import close from "../../../assets/images/Icons/close.svg";
9
+ import uploadFile from "../../../assets/images/Icons/upload-file.svg";
10
+ import deleteForever from "../../../assets/images/Icons/delete-forever-white.svg";
11
+
12
+ export const ImageVisor = ({
13
+ value,
14
+ name,
15
+ setModalFromTable,
16
+ setDataServices,
17
+ setModal,
18
+ ...props
19
+ }) => {
20
+ const [smallSrc, setSmallSrc] = useState("");
21
+ function handleNewImage(imageFile) {
22
+ const payload = { ...props, ...imageFile };
23
+ setDataServices({ type: "updateImage", payload });
24
+ }
25
+
26
+ function handleUpdateImage(file) {
27
+ if (file) {
28
+ const reader = new FileReader();
29
+ reader.onload = () => {
30
+ getImageDimensions(reader.result);
31
+ };
32
+ reader.readAsDataURL(file);
33
+ }
34
+ }
35
+
36
+ const getImageDimensions = (dataURL) => {
37
+ const img = new Image();
38
+ img.onload = () => {
39
+ const image = {
40
+ src: dataURL,
41
+ ext: img.src.includes("image/jpeg") ? "jpg" : "png",
42
+ width: img.width,
43
+ height: img.height,
44
+ };
45
+ handleNewImage(image);
46
+ changeVisor();
47
+ };
48
+ img.src = dataURL;
49
+ };
50
+
51
+ function changeVisor(view) {
52
+ if (!view) {
53
+ setModalFromTable(null);
54
+ return;
55
+ }
56
+ const isSmall = view === "small";
57
+ let src = isSmall
58
+ ? smallSrc
59
+ : `${process.env.REACT_APP_IMAGES_ENDPOINT}/${value?.src}`;
60
+ setModalFromTable(
61
+ <ImageView visorView={view}>
62
+ <div className="header">
63
+ <p>{name}</p>
64
+ <div className="buttons">
65
+ {isSmall ? (
66
+ <>
67
+ {value?.src ? (
68
+ <img
69
+ src={fullscreen}
70
+ alt="Ver en pantalla completa"
71
+ onClick={() => changeVisor("fullscreen")}
72
+ />
73
+ ) : null}
74
+ <img src={close} alt="Cerrar" onClick={() => changeVisor()} />
75
+ </>
76
+ ) : (
77
+ <>
78
+ <label className="borderCircle" htmlFor="fileInput">
79
+ <img src={uploadFile} alt="Actualizar imagen" />
80
+ <input
81
+ type="file"
82
+ id="fileInput"
83
+ accept="image/png, image/jpeg"
84
+ style={{ display: "none" }}
85
+ onChange={(e) => handleUpdateImage(e.target.files[0])}
86
+ />
87
+ </label>
88
+ <img
89
+ className="borderCircle"
90
+ src={deleteForever}
91
+ alt="Eliminar imágen"
92
+ onClick={() => {
93
+ setModal({
94
+ type: "delete",
95
+ functions: { setModal, setDataServices },
96
+ payload: props,
97
+ });
98
+ changeVisor();
99
+ }}
100
+ />
101
+ <img
102
+ className="borderCircle"
103
+ src={close}
104
+ alt="Cerrar"
105
+ onClick={() => changeVisor("small")}
106
+ />
107
+ </>
108
+ )}
109
+ </div>
110
+ </div>
111
+ <div className="body">
112
+ <ReactImageFallback
113
+ className="imageLoaded"
114
+ src={src}
115
+ fallbackImage={<ImageUploader handleNewImage={handleNewImage} />}
116
+ alt={name ?? "Imagen del producto"}
117
+ />
118
+ </div>
119
+ </ImageView>
120
+ );
121
+ }
122
+
123
+ useEffect(() => {
124
+ let src = value?.src?.includes("image/")
125
+ ? value?.src
126
+ : getImageURL(process.env.REACT_APP_IMAGES_BUCKET, value?.src, 250, 250);
127
+ setSmallSrc(src);
128
+ }, [value]);
129
+
130
+ return (
131
+ <>
132
+ <ImageContainer onClick={() => changeVisor("small")}>
133
+ <ReactImageFallback
134
+ src={smallSrc}
135
+ fallbackImage={defaultProductImage}
136
+ alt={name ?? "Imagen del producto"}
137
+ />
138
+ </ImageContainer>
139
+ </>
140
+ );
141
+ };
142
+
143
+ export default ImageVisor;
@@ -0,0 +1,106 @@
1
+ import styled, { css } from "styled-components";
2
+ import uploadFile from "../../../assets/images/Icons/upload-file.svg";
3
+
4
+ export const ImageContainer = styled.div`
5
+ align-items: center;
6
+ background: var(--white-main, #fff);
7
+ border-radius: 7px;
8
+ border: 1px solid var(--grey-medium, #cbcbcb);
9
+ cursor: pointer;
10
+ display: flex;
11
+ height: 52px;
12
+ justify-content: center;
13
+ width: 52px;
14
+ & > img {
15
+ border-radius: 7px;
16
+ height: 100%;
17
+ width: 100%;
18
+ object-fit: contain;
19
+ }
20
+ `;
21
+
22
+ export const ImageView = styled.div`
23
+ background: var(--white-main, #fff);
24
+ border-radius: 5px;
25
+ box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
26
+ height: 280px;
27
+ left: calc(50% - 125px);
28
+ position: absolute;
29
+ top: calc(50% - 140px);
30
+ width: 250px;
31
+ z-index: 10;
32
+ .header {
33
+ align-items: center;
34
+ background: var(--grey-medium, #cbcbcb);
35
+ border-radius: 5px 5px 0px 0px;
36
+ color: var(--white-main, #fff);
37
+ display: flex;
38
+ font-family: Roboto;
39
+ font-size: 12px;
40
+ font-style: normal;
41
+ font-weight: 500;
42
+ height: 30px;
43
+ justify-content: space-between;
44
+ line-height: normal;
45
+ overflow: hidden;
46
+ padding: 0 9px 0 10px;
47
+ text-overflow: ellipsis;
48
+ width: 100%;
49
+ .buttons {
50
+ display: flex;
51
+ gap: 10px;
52
+ img {
53
+ cursor: pointer;
54
+ }
55
+ label {
56
+ display: flex;
57
+ align-items: center;
58
+ padding: 3px;
59
+ }
60
+ .borderCircle {
61
+ border-radius: 20px;
62
+ border: 1px solid var(--white-main, #fff);
63
+ }
64
+ }
65
+ }
66
+ .body {
67
+ width: 100%;
68
+ height: calc(100% - 30px);
69
+ .imageLoaded {
70
+ width: 100%;
71
+ height: 100%;
72
+ object-fit: contain;
73
+ }
74
+ }
75
+ ${({ visorView }) =>
76
+ visorView === "fullscreen" &&
77
+ css`
78
+ background: var(--black-main, #262626d9);
79
+ height: 100%;
80
+ left: 0;
81
+ top: 0;
82
+ width: 100%;
83
+ .header {
84
+ background: var(--black-main, #262626);
85
+ font-size: 14px;
86
+ height: 45px;
87
+ .buttons > img {
88
+ border-radius: 20px;
89
+ border: 1px solid var(--white-main, #fff);
90
+ padding: 3px;
91
+ }
92
+ }
93
+ > div {
94
+ align-items: center;
95
+ display: flex;
96
+ height: 100%;
97
+ justify-content: center;
98
+ width: 100%;
99
+ & > img {
100
+ border-radius: 5px;
101
+ height: 500px;
102
+ width: 500px;
103
+ }
104
+ }
105
+ `}
106
+ `;