contentoh-components-library 21.6.49 → 21.6.50

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 (90) hide show
  1. package/.claude/launch.json +14 -0
  2. package/.env.test +1 -0
  3. package/dist/ai/prompts/attribute.prompt.js +28 -0
  4. package/dist/ai/prompts/description.prompt.js +33 -0
  5. package/dist/ai/schemas/attribute.schema.js +35 -0
  6. package/dist/ai/schemas/description.schema.js +27 -0
  7. package/dist/components/atoms/AssetPreview/AssetPreview.stories.js +118 -0
  8. package/dist/components/atoms/AssetPreview/index.js +150 -0
  9. package/dist/components/atoms/AssetPreview/styles.js +28 -0
  10. package/dist/components/atoms/IconFile/index.js +85 -2
  11. package/dist/components/atoms/IconFile/styles.js +1 -1
  12. package/dist/components/atoms/ProductImage/ProductImage.stories.js +70 -2
  13. package/dist/components/atoms/ProductImage/index.js +100 -27
  14. package/dist/components/atoms/ProductImage/styles.js +3 -1
  15. package/dist/components/molecules/EditionActiveImage/index.js +4 -2
  16. package/dist/components/molecules/GalleryAssetElement/GalleryAssetElement.stories.js +147 -0
  17. package/dist/components/molecules/GalleryAssetElement/index.js +178 -0
  18. package/dist/components/molecules/GalleryAssetElement/styles.js +26 -0
  19. package/dist/components/molecules/GalleryElement/index.js +13 -4
  20. package/dist/components/molecules/GalleryHeader/index.js +96 -24
  21. package/dist/components/molecules/GalleryHeader/styles.js +4 -1
  22. package/dist/components/molecules/GalleryTrayTabs/GalleryTrayTabs.stories.js +56 -0
  23. package/dist/components/molecules/GalleryTrayTabs/index.js +60 -0
  24. package/dist/components/molecules/GalleryTrayTabs/styles.js +20 -0
  25. package/dist/components/molecules/ImageSelector/index.js +1 -0
  26. package/dist/components/organisms/DigitalAssetsTray/DigitalAssetsTray.stories.js +171 -0
  27. package/dist/components/organisms/DigitalAssetsTray/index.js +211 -0
  28. package/dist/components/organisms/DigitalAssetsTray/styles.js +22 -0
  29. package/dist/components/organisms/ImagePreviewer/index.js +1 -0
  30. package/dist/components/organisms/ProductImageModal/index.js +3 -2
  31. package/dist/components/organisms/PropagateChangesModal/index.js +12 -1
  32. package/dist/components/organisms/PropagateChangesModal/non-propagable.js +45 -0
  33. package/dist/components/pages/ProviderProductEdition/index.js +11 -1
  34. package/dist/components/pages/RetailerProductEdition/context/provider-product-edition.context.js +330 -15
  35. package/dist/components/pages/RetailerProductEdition/context/provider-product-edition.reducer.js +12 -2
  36. package/dist/components/pages/RetailerProductEdition/index.js +605 -414
  37. package/dist/components/pages/RetailerProductEdition/stories/ImageEditor.stories.js +1 -0
  38. package/dist/components/pages/RetailerProductEdition/stories/TextEditor.stories.js +45 -145
  39. package/dist/global-files/data.js +16 -3
  40. package/dist/global-files/digital-assets/assetTypes.js +480 -0
  41. package/dist/global-files/digital-assets/assets.actions.js +64 -0
  42. package/dist/global-files/digital-assets/assets.adapter.js +304 -0
  43. package/dist/global-files/digital-assets/assets.mock.js +136 -0
  44. package/dist/global-files/digital-assets/assets.reducer.js +220 -0
  45. package/dist/global-files/digital-assets/uploadAssets.js +179 -0
  46. package/dist/global-files/digital-assets/useDigitalAssets.js +522 -0
  47. package/dist/index.js +142 -90
  48. package/docs/activos-digitales.md +273 -0
  49. package/package.json +1 -1
  50. package/src/components/atoms/AssetPreview/AssetPreview.stories.js +78 -0
  51. package/src/components/atoms/AssetPreview/index.js +119 -0
  52. package/src/components/atoms/AssetPreview/styles.js +190 -0
  53. package/src/components/atoms/IconFile/index.js +28 -1
  54. package/src/components/atoms/IconFile/styles.js +8 -0
  55. package/src/components/atoms/ProductImage/ProductImage.stories.js +38 -0
  56. package/src/components/atoms/ProductImage/index.js +95 -20
  57. package/src/components/atoms/ProductImage/styles.js +92 -7
  58. package/src/components/molecules/EditionActiveImage/index.js +2 -2
  59. package/src/components/molecules/GalleryAssetElement/GalleryAssetElement.stories.js +102 -0
  60. package/src/components/molecules/GalleryAssetElement/index.js +162 -0
  61. package/src/components/molecules/GalleryAssetElement/styles.js +159 -0
  62. package/src/components/molecules/GalleryElement/index.js +9 -0
  63. package/src/components/molecules/GalleryHeader/index.js +65 -13
  64. package/src/components/molecules/GalleryHeader/styles.js +2 -1
  65. package/src/components/molecules/GalleryTrayTabs/GalleryTrayTabs.stories.js +32 -0
  66. package/src/components/molecules/GalleryTrayTabs/index.js +41 -0
  67. package/src/components/molecules/GalleryTrayTabs/styles.js +52 -0
  68. package/src/components/molecules/ImageSelector/index.js +1 -0
  69. package/src/components/organisms/DigitalAssetsTray/DigitalAssetsTray.stories.js +101 -0
  70. package/src/components/organisms/DigitalAssetsTray/index.js +189 -0
  71. package/src/components/organisms/DigitalAssetsTray/styles.js +183 -0
  72. package/src/components/organisms/ImagePreviewer/index.js +1 -0
  73. package/src/components/organisms/ProductImageModal/index.js +1 -0
  74. package/src/components/organisms/PropagateChangesModal/index.js +11 -1
  75. package/src/components/organisms/PropagateChangesModal/non-propagable.js +29 -0
  76. package/src/components/pages/ProviderProductEdition/index.js +10 -1
  77. package/src/components/pages/RetailerProductEdition/context/provider-product-edition.context.jsx +201 -0
  78. package/src/components/pages/RetailerProductEdition/context/provider-product-edition.reducer.js +12 -0
  79. package/src/components/pages/RetailerProductEdition/index.js +366 -140
  80. package/src/components/pages/RetailerProductEdition/stories/ImageEditor.stories.js +1 -0
  81. package/src/components/pages/RetailerProductEdition/stories/TextEditor.stories.js +51 -104
  82. package/src/global-files/data.js +17 -2
  83. package/src/global-files/digital-assets/assetTypes.js +419 -0
  84. package/src/global-files/digital-assets/assets.actions.js +50 -0
  85. package/src/global-files/digital-assets/assets.adapter.js +229 -0
  86. package/src/global-files/digital-assets/assets.mock.js +122 -0
  87. package/src/global-files/digital-assets/assets.reducer.js +197 -0
  88. package/src/global-files/digital-assets/uploadAssets.js +109 -0
  89. package/src/global-files/digital-assets/useDigitalAssets.js +329 -0
  90. package/src/index.js +4 -0
@@ -37,6 +37,10 @@ var _genericModalWarning = _interopRequireDefault(require("../../../../assets/im
37
37
 
38
38
  var _utils = require("../utils");
39
39
 
40
+ var _assets = require("../../../../global-files/digital-assets/assets.adapter");
41
+
42
+ var _assets2 = require("../../../../global-files/digital-assets/assets.reducer");
43
+
40
44
  var _jsxRuntime = require("react/jsx-runtime");
41
45
 
42
46
  var _excluded = ["src", "video_src"],
@@ -761,26 +765,335 @@ var ProviderProductEditionProvider = function ProviderProductEditionProvider(_re
761
765
  return _ref8.apply(this, arguments);
762
766
  };
763
767
  }();
768
+ /*
769
+ Registra en la base los activos que ACABAN de subirse, sin esperar a que el
770
+ usuario guarde.
771
+ Es una corrección de expectativa, no una comodidad: al ver la barra de
772
+ progreso llegar al final, cualquiera da por hecho que el activo ya quedó
773
+ ligado al producto. Si entonces cierra la ficha, el archivo se queda en S3
774
+ sin fila en la base —invisible y sin forma de recuperarlo desde la
775
+ pantalla—.
776
+ Manda SOLO las altas recién subidas, con `updateAssets` y `deleteAssets`
777
+ vacíos. Un reetiquetado o un borrado que el usuario todavía no confirmó no
778
+ se aplica por haber soltado otro archivo: el botón de guardar sigue siendo
779
+ quien decide sobre esos.
780
+ */
764
781
 
765
- var createComment = /*#__PURE__*/function () {
766
- var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(body, token) {
782
+
783
+ var registerUploadedAssets = /*#__PURE__*/function () {
784
+ var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(token) {
767
785
  var _state$product19, _state$product20, _state$product21;
768
786
 
769
- var concept, data;
787
+ var uploaded,
788
+ listos,
789
+ data,
790
+ _state$product22,
791
+ _state$product23,
792
+ _body$assets,
793
+ res,
794
+ body,
795
+ guardados,
796
+ _args6 = arguments;
797
+
770
798
  return _regenerator.default.wrap(function _callee6$(_context6) {
771
799
  while (1) {
772
800
  switch (_context6.prev = _context6.next) {
773
801
  case 0:
774
- concept = (0, _utils.getConceptByTab)(state.active_tab);
802
+ uploaded = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : [];
803
+ listos = uploaded.filter(function (asset) {
804
+ return asset.src && !(0, _assets.isPersisted)(asset);
805
+ });
806
+
807
+ if (!(listos.length === 0)) {
808
+ _context6.next = 4;
809
+ break;
810
+ }
811
+
812
+ return _context6.abrupt("return");
813
+
814
+ case 4:
775
815
  data = {
776
816
  articleId: (_state$product19 = state.product) === null || _state$product19 === void 0 ? void 0 : _state$product19.id_article,
777
- orderId: ((_state$product20 = state.product) === null || _state$product20 === void 0 ? void 0 : _state$product20.orderId) || ((_state$product21 = state.product) === null || _state$product21 === void 0 ? void 0 : _state$product21.id_order),
817
+ newAssets: listos.map(_assets.toPayload),
818
+ updateAssets: [],
819
+ deleteAssets: []
820
+ };
821
+
822
+ if ((_state$product20 = state.product) !== null && _state$product20 !== void 0 && _state$product20.orderId || (_state$product21 = state.product) !== null && _state$product21 !== void 0 && _state$product21.id_order) {
823
+ data.orderId = ((_state$product22 = state.product) === null || _state$product22 === void 0 ? void 0 : _state$product22.orderId) || ((_state$product23 = state.product) === null || _state$product23 === void 0 ? void 0 : _state$product23.id_order);
824
+ }
825
+
826
+ _context6.prev = 6;
827
+ _context6.next = 9;
828
+ return _axios.default.put(process.env.REACT_APP_ARTICLE_DATA_ENDPOINT, data, {
829
+ params: {
830
+ asset: true
831
+ },
832
+ headers: {
833
+ Authorization: token
834
+ }
835
+ });
836
+
837
+ case 9:
838
+ res = _context6.sent;
839
+
840
+ if (!(res.data.statusCode !== 200)) {
841
+ _context6.next = 12;
842
+ break;
843
+ }
844
+
845
+ throw new Error("Respuesta inesperada");
846
+
847
+ case 12:
848
+ body = JSON.parse(res.data.body);
849
+ guardados = (_body$assets = body.assets) !== null && _body$assets !== void 0 ? _body$assets : [];
850
+ /*
851
+ Se le pone a cada activo el id que le tocó, emparejando por la clave de
852
+ S3, que es única.
853
+ A propósito NO se reemplaza la lista entera con lo que devolvió el
854
+ backend: eso borraría el rastro de lo que el usuario cambió o borró y
855
+ todavía no ha guardado. Aquí solo se completa lo que faltaba.
856
+ */
857
+
858
+ listos.forEach(function (asset) {
859
+ var fila = guardados.find(function (row) {
860
+ return row.src === asset.src;
861
+ });
862
+ if (!fila) return;
863
+ dispatch({
864
+ type: "PATCH_ASSET",
865
+ payload: {
866
+ key: (0, _assets.assetKey)(asset),
867
+ changes: {
868
+ id: fila.id,
869
+ url: fila.url
870
+ }
871
+ }
872
+ });
873
+ });
874
+ _context6.next = 21;
875
+ break;
876
+
877
+ case 17:
878
+ _context6.prev = 17;
879
+ _context6.t0 = _context6["catch"](6);
880
+ console.log("Error registering assets:", _context6.t0);
881
+ /*
882
+ El archivo SÍ está en S3; lo que falló es la fila. Se marca en el activo
883
+ y no en un modal porque el usuario puede estar soltando más archivos:
884
+ interrumpirlo con un diálogo por cada fallo sería peor que dejarlo
885
+ señalado en su renglón, donde además se ve cuál falló.
886
+ */
887
+
888
+ listos.forEach(function (asset) {
889
+ return dispatch({
890
+ type: "PATCH_ASSET",
891
+ payload: {
892
+ key: (0, _assets.assetKey)(asset),
893
+ changes: {
894
+ status: "error",
895
+ error: "Se subió el archivo pero no se pudo guardar. Usa el botón de guardar."
896
+ }
897
+ }
898
+ });
899
+ });
900
+
901
+ case 21:
902
+ case "end":
903
+ return _context6.stop();
904
+ }
905
+ }
906
+ }, _callee6, null, [[6, 17]]);
907
+ }));
908
+
909
+ return function registerUploadedAssets(_x7) {
910
+ return _ref9.apply(this, arguments);
911
+ };
912
+ }();
913
+ /*
914
+ Guarda los activos digitales: registra los nuevos, manda los cambios y pide
915
+ las bajas.
916
+ Va aparte de `updateImages` y no dentro, aunque las dos bandejas vivan en la
917
+ misma pestaña. Un activo no pasa por ninguna de las reglas de una imagen —ni
918
+ tipo de toma, ni obligatoriedad, ni cupo por cadena— y el backend los escribe
919
+ en otra tabla. Mezclarlos obligaría a partir en dos cada validación de
920
+ `updateImages`, que ya es la función más delicada de este archivo.
921
+ Igual que con las imágenes, aquí NO viaja ningún binario: el archivo ya está
922
+ en S3 y esto solo registra metadatos. Mandar el archivo en el cuerpo devuelve
923
+ 413.
924
+ */
925
+
926
+
927
+ var saveAssets = /*#__PURE__*/function () {
928
+ var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(token) {
929
+ var _state$product24, _state$product25, _state$product26;
930
+
931
+ var payload, newAssets, updateAssets, deleteAssets, sinSubir, data, _state$product27, _state$product28, res;
932
+
933
+ return _regenerator.default.wrap(function _callee7$(_context7) {
934
+ while (1) {
935
+ switch (_context7.prev = _context7.next) {
936
+ case 0:
937
+ payload = (0, _assets.buildSavePayload)((0, _assets2.selectAssetsToSave)(state));
938
+ newAssets = payload.newAssets, updateAssets = payload.updateAssets, deleteAssets = payload.deleteAssets;
939
+
940
+ if (!(!newAssets.length && !updateAssets.length && !deleteAssets.length)) {
941
+ _context7.next = 4;
942
+ break;
943
+ }
944
+
945
+ return _context7.abrupt("return", false);
946
+
947
+ case 4:
948
+ /*
949
+ Un activo nuevo sin `key` es un archivo que todavía no llegó a S3.
950
+ Registrarlo crearía una fila apuntando a un objeto que no existe: la
951
+ bandeja lo mostraría y al descargarlo daría 404, sin forma de saber por qué.
952
+ Mejor no guardar nada y decirlo.
953
+ */
954
+ sinSubir = newAssets.filter(function (asset) {
955
+ return !asset.key;
956
+ });
957
+
958
+ if (!(sinSubir.length > 0)) {
959
+ _context7.next = 8;
960
+ break;
961
+ }
962
+
963
+ dispatch({
964
+ type: "SET_MODAL",
965
+ payload: {
966
+ show: true,
967
+ title: "Faltan archivos por subir",
968
+ message: "".concat(sinSubir.length, " activo(s) todav\xEDa no se han subido. Espera a que termine la carga e intenta de nuevo."),
969
+ image: _genericModalWarning.default
970
+ }
971
+ });
972
+ return _context7.abrupt("return", false);
973
+
974
+ case 8:
975
+ dispatch({
976
+ type: "SET_SAVING",
977
+ payload: true
978
+ }); // Sin `version`: un activo general es el mismo para todas las versiones del
979
+ // producto, así que ni la fila ni la clave de S3 la llevan.
980
+
981
+ data = {
982
+ articleId: (_state$product24 = state.product) === null || _state$product24 === void 0 ? void 0 : _state$product24.id_article,
983
+ newAssets: newAssets,
984
+ updateAssets: updateAssets,
985
+ deleteAssets: deleteAssets
986
+ };
987
+
988
+ if ((_state$product25 = state.product) !== null && _state$product25 !== void 0 && _state$product25.orderId || (_state$product26 = state.product) !== null && _state$product26 !== void 0 && _state$product26.id_order) {
989
+ data.orderId = ((_state$product27 = state.product) === null || _state$product27 === void 0 ? void 0 : _state$product27.orderId) || ((_state$product28 = state.product) === null || _state$product28 === void 0 ? void 0 : _state$product28.id_order);
990
+ }
991
+
992
+ _context7.prev = 11;
993
+ _context7.next = 14;
994
+ return _axios.default.put(process.env.REACT_APP_ARTICLE_DATA_ENDPOINT, data, {
995
+ params: {
996
+ asset: true
997
+ },
998
+ headers: {
999
+ Authorization: token
1000
+ }
1001
+ });
1002
+
1003
+ case 14:
1004
+ res = _context7.sent;
1005
+
1006
+ if (!(res.data.statusCode === 200)) {
1007
+ _context7.next = 19;
1008
+ break;
1009
+ }
1010
+
1011
+ // Se olvida qué cambió y qué se borró: lo que hay en pantalla ya es lo
1012
+ // que hay en la base. Sin esto, el siguiente guardado reenviaría todo.
1013
+ dispatch({
1014
+ type: "CLEAR_ASSETS_TRACKING"
1015
+ });
1016
+ dispatch({
1017
+ type: "SET_MODAL",
1018
+ payload: {
1019
+ show: true,
1020
+ title: "",
1021
+ message: "Activos digitales guardados con éxito",
1022
+ image: _genericModalCheck.default
1023
+ }
1024
+ });
1025
+ /*
1026
+ Devuelve `true` para que quien llama recargue.
1027
+ Es imprescindible, no cortesía: los activos recién creados siguen en
1028
+ memoria con su id temporal y sin el id de la base. Sin recargar, el
1029
+ siguiente guardado los volvería a mandar como nuevos y se duplicarían.
1030
+ Es exactamente el problema que ya tuvieron las imágenes.
1031
+ */
1032
+
1033
+ return _context7.abrupt("return", true);
1034
+
1035
+ case 19:
1036
+ return _context7.abrupt("return", false);
1037
+
1038
+ case 22:
1039
+ _context7.prev = 22;
1040
+ _context7.t0 = _context7["catch"](11);
1041
+ console.log("Error saving assets:", _context7.t0);
1042
+ dispatch({
1043
+ type: "SET_ERRORS",
1044
+ payload: [].concat((0, _toConsumableArray2.default)(state.errors), [_context7.t0])
1045
+ });
1046
+ dispatch({
1047
+ type: "SET_MODAL",
1048
+ payload: {
1049
+ show: true,
1050
+ title: "Error",
1051
+ message: "Hubo un error al guardar los activos digitales",
1052
+ image: _errorModal.default
1053
+ }
1054
+ });
1055
+ return _context7.abrupt("return", false);
1056
+
1057
+ case 28:
1058
+ _context7.prev = 28;
1059
+ dispatch({
1060
+ type: "SET_SAVING",
1061
+ payload: false
1062
+ });
1063
+ return _context7.finish(28);
1064
+
1065
+ case 31:
1066
+ case "end":
1067
+ return _context7.stop();
1068
+ }
1069
+ }
1070
+ }, _callee7, null, [[11, 22, 28, 31]]);
1071
+ }));
1072
+
1073
+ return function saveAssets(_x8) {
1074
+ return _ref10.apply(this, arguments);
1075
+ };
1076
+ }();
1077
+
1078
+ var createComment = /*#__PURE__*/function () {
1079
+ var _ref11 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(body, token) {
1080
+ var _state$product29, _state$product30, _state$product31;
1081
+
1082
+ var concept, data;
1083
+ return _regenerator.default.wrap(function _callee8$(_context8) {
1084
+ while (1) {
1085
+ switch (_context8.prev = _context8.next) {
1086
+ case 0:
1087
+ concept = (0, _utils.getConceptByTab)(state.active_tab);
1088
+ data = {
1089
+ articleId: (_state$product29 = state.product) === null || _state$product29 === void 0 ? void 0 : _state$product29.id_article,
1090
+ orderId: ((_state$product30 = state.product) === null || _state$product30 === void 0 ? void 0 : _state$product30.orderId) || ((_state$product31 = state.product) === null || _state$product31 === void 0 ? void 0 : _state$product31.id_order),
778
1091
  message: body,
779
1092
  concept: concept,
780
1093
  version: state.product.version
781
1094
  };
782
- _context6.prev = 2;
783
- _context6.next = 5;
1095
+ _context8.prev = 2;
1096
+ _context8.next = 5;
784
1097
  return _axios.default.post("".concat(process.env.REACT_APP_COMMENTS_ENDPOINT), data, {
785
1098
  headers: {
786
1099
  Authorization: token
@@ -788,24 +1101,24 @@ var ProviderProductEditionProvider = function ProviderProductEditionProvider(_re
788
1101
  });
789
1102
 
790
1103
  case 5:
791
- _context6.next = 10;
1104
+ _context8.next = 10;
792
1105
  break;
793
1106
 
794
1107
  case 7:
795
- _context6.prev = 7;
796
- _context6.t0 = _context6["catch"](2);
797
- console.log("Error creating comment:", _context6.t0);
1108
+ _context8.prev = 7;
1109
+ _context8.t0 = _context8["catch"](2);
1110
+ console.log("Error creating comment:", _context8.t0);
798
1111
 
799
1112
  case 10:
800
1113
  case "end":
801
- return _context6.stop();
1114
+ return _context8.stop();
802
1115
  }
803
1116
  }
804
- }, _callee6, null, [[2, 7]]);
1117
+ }, _callee8, null, [[2, 7]]);
805
1118
  }));
806
1119
 
807
- return function createComment(_x7, _x8) {
808
- return _ref9.apply(this, arguments);
1120
+ return function createComment(_x9, _x10) {
1121
+ return _ref11.apply(this, arguments);
809
1122
  };
810
1123
  }();
811
1124
 
@@ -817,6 +1130,8 @@ var ProviderProductEditionProvider = function ProviderProductEditionProvider(_re
817
1130
  updateImages: updateImages,
818
1131
  saveImageAttrs: saveImageAttrs,
819
1132
  deleteImages: deleteImages,
1133
+ saveAssets: saveAssets,
1134
+ registerUploadedAssets: registerUploadedAssets,
820
1135
  handleOnDownloadImages: handleOnDownloadImages,
821
1136
  createComment: createComment
822
1137
  };
@@ -17,11 +17,15 @@ var _inputs = require("./reducers/inputs");
17
17
 
18
18
  var _activeState = require("./reducers/active-state");
19
19
 
20
+ var _assets = require("../../../../global-files/digital-assets/assets.actions");
21
+
22
+ var _assets2 = require("../../../../global-files/digital-assets/assets.reducer");
23
+
20
24
  // Initial state
21
- var initialState = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _system.systemInitialState), _product.productInitialState), _inputs.inputsInitialState), _activeState.activeStateInitialState); // Action types
25
+ var initialState = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _system.systemInitialState), _product.productInitialState), _inputs.inputsInitialState), _activeState.activeStateInitialState), _assets2.assetsInitialState); // Action types
22
26
 
23
27
  exports.initialState = initialState;
24
- var ACTIONS = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _system.SYSTEM_ACTIONS), _product.PRODUCT_ACTIONS), _inputs.INPUTS_ACTIONS), _activeState.ACTIVE_STATE_ACTIONS); // Reducer function
28
+ var ACTIONS = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _system.SYSTEM_ACTIONS), _product.PRODUCT_ACTIONS), _inputs.INPUTS_ACTIONS), _activeState.ACTIVE_STATE_ACTIONS), _assets.ASSET_ACTIONS); // Reducer function
25
29
 
26
30
  exports.ACTIONS = ACTIONS;
27
31
 
@@ -51,6 +55,12 @@ var productEditionReducer = function productEditionReducer(state, action) {
51
55
  return activeStateResult;
52
56
  }
53
57
 
58
+ var assetsResult = (0, _assets2.assetsReducer)(state, action);
59
+
60
+ if (assetsResult !== null) {
61
+ return assetsResult;
62
+ }
63
+
54
64
  return state;
55
65
  };
56
66