contentoh-components-library 21.6.56 → 21.6.57

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 (43) hide show
  1. package/dist/components/atoms/AsignationOption/index.js +1 -0
  2. package/dist/components/atoms/AsignationOption/styles.js +1 -1
  3. package/dist/components/molecules/GalleryAssetElement/styles.js +1 -1
  4. package/dist/components/molecules/RetailerSelector/RetailerSelector.stories.js +23 -2
  5. package/dist/components/molecules/RetailerSelector/index.js +7 -2
  6. package/dist/components/molecules/RetailerSelectorv2/index.js +6 -2
  7. package/dist/components/organisms/DigitalAssetsTray/DigitalAssetsTray.stories.js +73 -9
  8. package/dist/components/organisms/DigitalAssetsTray/index.js +13 -5
  9. package/dist/components/pages/CreatorsProductEdition/CreatorsProductEditionView.js +905 -0
  10. package/dist/components/pages/CreatorsProductEdition/constants.js +19 -0
  11. package/dist/components/pages/CreatorsProductEdition/hooks/useCreatorsProductEdition.js +2967 -0
  12. package/dist/components/pages/CreatorsProductEdition/index.js +33 -0
  13. package/dist/components/pages/CreatorsProductEdition/mocks/api.fixtures.js +537 -0
  14. package/dist/components/pages/CreatorsProductEdition/mocks/mockApi.js +251 -0
  15. package/dist/components/pages/CreatorsProductEdition/sections/CommentBox.js +311 -0
  16. package/dist/components/pages/CreatorsProductEdition/sections/ImagePanel.js +421 -0
  17. package/dist/components/pages/CreatorsProductEdition/sections/ImagesSection.js +473 -0
  18. package/dist/components/pages/CreatorsProductEdition/sections/ProductHeader.js +379 -0
  19. package/dist/components/pages/CreatorsProductEdition/sections/ProductMedia.js +138 -0
  20. package/dist/components/pages/CreatorsProductEdition/sections/RetailerMenu.js +162 -0
  21. package/dist/components/pages/CreatorsProductEdition/sections/ServiceActions.js +542 -0
  22. package/dist/components/pages/CreatorsProductEdition/sections/StatusChip.js +50 -0
  23. package/dist/components/pages/CreatorsProductEdition/sections/TabsBar.js +247 -0
  24. package/dist/components/pages/CreatorsProductEdition/sections/VariantsPanel.js +389 -0
  25. package/dist/components/pages/CreatorsProductEdition/sections/tokens.js +90 -0
  26. package/dist/components/pages/CreatorsProductEdition/stories/CreatorsProductEdition.stories.js +168 -0
  27. package/dist/components/pages/CreatorsProductEdition/stories/CreatorsProductEditionAPI.stories.js +74 -0
  28. package/dist/components/pages/CreatorsProductEdition/styles.js +46 -0
  29. package/dist/global-files/digital-assets/assetTypes.js +49 -12
  30. package/dist/global-files/digital-assets/uploadAssets.js +39 -16
  31. package/dist/global-files/digital-assets/useDigitalAssets.js +38 -25
  32. package/package.json +1 -1
  33. package/src/components/atoms/AsignationOption/index.js +1 -1
  34. package/src/components/atoms/AsignationOption/styles.js +9 -0
  35. package/src/components/molecules/GalleryAssetElement/styles.js +5 -1
  36. package/src/components/molecules/RetailerSelector/RetailerSelector.stories.js +15 -1
  37. package/src/components/molecules/RetailerSelector/index.js +8 -1
  38. package/src/components/molecules/RetailerSelectorv2/index.js +7 -1
  39. package/src/components/organisms/DigitalAssetsTray/DigitalAssetsTray.stories.js +67 -4
  40. package/src/components/organisms/DigitalAssetsTray/index.js +8 -4
  41. package/src/global-files/digital-assets/assetTypes.js +42 -10
  42. package/src/global-files/digital-assets/uploadAssets.js +38 -23
  43. package/src/global-files/digital-assets/useDigitalAssets.js +19 -8
@@ -0,0 +1,473 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ImagesSection = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
+
12
+ var _material = require("@mui/material");
13
+
14
+ var _GalleryElement = require("../../../molecules/GalleryElement");
15
+
16
+ var _GalleryTrayTabs = require("../../../molecules/GalleryTrayTabs");
17
+
18
+ var _DigitalAssetsTray = require("../../../organisms/DigitalAssetsTray");
19
+
20
+ var _tokens = require("./tokens");
21
+
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+
24
+ /*
25
+ Pestaña Imágenes: bandejas (imágenes / activos digitales), cabecera de la
26
+ lista con "seleccionar todo", la galería con su zona para soltar archivos, y
27
+ el estado vacío.
28
+
29
+ Reemplaza a GalleryTrayTabs, GalleryHeader y el marcado de la galería de la
30
+ vista original. Se reutilizan tal cual las tarjetas (`GalleryElement`, con sus
31
+ selects de tipo y empaque) y la bandeja de activos (`DigitalAssetsTray`): son
32
+ componentes grandes con lógica propia y rehacerlos sería reinventarlos.
33
+
34
+ Dos cosas que las tarjetas exigen y que por eso se conservan:
35
+ - Una casilla global con id `check-all-images`. Cada tarjeta la busca por
36
+ id al marcarse; si no existe, marcar una imagen lanza un error.
37
+ - "Seleccionar todo" marca las casillas de las tarjetas directamente en el
38
+ DOM (`[id^='gallery-element-']`), igual que GalleryHeader.
39
+ */
40
+ // Columnas de la lista, calcadas de GalleryHeader para que queden alineadas con
41
+ // las filas de GalleryElement.
42
+ var LIST_COLUMNS = [{
43
+ label: "Imagen",
44
+ pl: 0
45
+ }, {
46
+ label: "Nombre",
47
+ pl: "1.75rem"
48
+ }, {
49
+ label: "Tamaño",
50
+ pl: "2.75rem"
51
+ }, {
52
+ label: "Formato",
53
+ pl: "4.5rem"
54
+ }, {
55
+ label: "¿Tiene leyenda?",
56
+ ml: "-1rem"
57
+ }, {
58
+ label: "Tipo de toma"
59
+ }]; // La lista es una tabla de columnas fijas: por debajo de este ancho se desplaza
60
+ // de lado dentro de su caja en vez de aplastar las columnas.
61
+
62
+ var LIST_MIN_WIDTH = 760;
63
+
64
+ var TrayTabs = function TrayTabs(_ref) {
65
+ var activeTray = _ref.activeTray,
66
+ setActiveTray = _ref.setActiveTray,
67
+ imagesCount = _ref.imagesCount,
68
+ assetsCount = _ref.assetsCount;
69
+ var trays = [{
70
+ id: _GalleryTrayTabs.TRAYS.IMAGES,
71
+ label: "Imágenes",
72
+ count: imagesCount
73
+ }, {
74
+ id: _GalleryTrayTabs.TRAYS.ASSETS,
75
+ label: "Activos digitales",
76
+ count: assetsCount
77
+ }];
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tabs, {
79
+ value: activeTray,
80
+ onChange: function onChange(_, tray) {
81
+ return setActiveTray === null || setActiveTray === void 0 ? void 0 : setActiveTray(tray);
82
+ },
83
+ variant: "scrollable",
84
+ scrollButtons: false,
85
+ TabIndicatorProps: {
86
+ sx: {
87
+ bgcolor: _tokens.COLORS.color_purple,
88
+ height: 2
89
+ }
90
+ },
91
+ sx: {
92
+ minHeight: 36,
93
+ pt: 1
94
+ },
95
+ children: trays.map(function (tray) {
96
+ var active = tray.id === activeTray;
97
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tab, {
98
+ value: tray.id,
99
+ disableRipple: true,
100
+ label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Stack, {
101
+ direction: "row",
102
+ alignItems: "center",
103
+ gap: "6px",
104
+ children: [tray.label, /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
105
+ label: tray.count,
106
+ size: "small",
107
+ sx: {
108
+ height: 18,
109
+ minWidth: 20,
110
+ fontFamily: _tokens.FONTS.Lato,
111
+ fontSize: 11,
112
+ bgcolor: active ? _tokens.COLORS.color_purple : _tokens.COLORS.s2,
113
+ color: active ? _tokens.COLORS.white : _tokens.COLORS.s5,
114
+ "& .MuiChip-label": {
115
+ px: "6px"
116
+ }
117
+ }
118
+ })]
119
+ }),
120
+ sx: {
121
+ minHeight: 36,
122
+ px: "14px",
123
+ py: "6px",
124
+ textTransform: "none",
125
+ fontFamily: _tokens.FONTS.AvenirNext,
126
+ fontSize: 14,
127
+ letterSpacing: "-0.015em",
128
+ color: _tokens.COLORS.s4,
129
+ "&.Mui-selected": {
130
+ color: _tokens.COLORS.s5,
131
+ fontWeight: 600
132
+ }
133
+ }
134
+ }, tray.id);
135
+ })
136
+ });
137
+ };
138
+ /*
139
+ La casilla global se deriva de la selección real y no de
140
+ `state.all_image_checked`: el reducer nunca pone ese valor en true
141
+ (TOGGLE_CHECK_ALL_IMAGES solo llena `selected_images`). En la vista original no
142
+ se nota porque su casilla no está controlada por React y guarda su estado en
143
+ el DOM; controlada con ese valor, se quedaría siempre desmarcada.
144
+ */
145
+
146
+
147
+ var ListHeader = function ListHeader(_ref2) {
148
+ var selectedCount = _ref2.selectedCount,
149
+ totalCount = _ref2.totalCount,
150
+ setCheckAll = _ref2.setCheckAll,
151
+ setSelectedImages = _ref2.setSelectedImages;
152
+ var allSelected = totalCount > 0 && selectedCount >= totalCount;
153
+ var someSelected = selectedCount > 0 && !allSelected;
154
+
155
+ var toggleAll = function toggleAll(e) {
156
+ var checked = e.target.checked;
157
+ document.querySelectorAll("[id^='gallery-element-']").forEach(function (chk) {
158
+ return chk.checked = checked;
159
+ });
160
+ setCheckAll(checked);
161
+ if (!checked) setSelectedImages([]);
162
+ };
163
+
164
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
165
+ sx: {
166
+ display: "flex",
167
+ alignItems: "center",
168
+ width: "100%",
169
+ py: "10px"
170
+ },
171
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
172
+ sx: {
173
+ width: "5.25%",
174
+ minWidth: 36
175
+ },
176
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Checkbox, {
177
+ size: "small",
178
+ checked: allSelected,
179
+ indeterminate: someSelected,
180
+ onChange: toggleAll,
181
+ inputProps: {
182
+ id: "check-all-images",
183
+ "aria-label": "Seleccionar todas las imágenes"
184
+ },
185
+ sx: {
186
+ p: "4px",
187
+ color: _tokens.COLORS.s3,
188
+ "&.Mui-checked, &.MuiCheckbox-indeterminate": {
189
+ color: _tokens.COLORS.magenta_s2
190
+ }
191
+ }
192
+ })
193
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
194
+ sx: {
195
+ width: "90%",
196
+ display: "grid",
197
+ gridTemplateColumns: "0.1fr 1fr 1fr 1fr 1fr 1fr"
198
+ },
199
+ children: LIST_COLUMNS.map(function (column) {
200
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
201
+ sx: {
202
+ pl: column.pl,
203
+ ml: column.ml,
204
+ textAlign: "center",
205
+ fontFamily: _tokens.FONTS.AvenirNext,
206
+ fontWeight: 600,
207
+ fontSize: 14,
208
+ lineHeight: "21px",
209
+ letterSpacing: "-0.015em",
210
+ color: _tokens.COLORS.s5
211
+ },
212
+ children: column.label
213
+ }, column.label);
214
+ })
215
+ })]
216
+ });
217
+ };
218
+
219
+ var ImagesSection = function ImagesSection(_ref3) {
220
+ var _imagesValues$values, _imagesValues$inputs, _imagesValues$imageTy, _imagesValues$imagePa, _digitalAssets$assets, _digitalAssets$assets2, _selectedImages$lengt;
221
+
222
+ var imagesValues = _ref3.imagesValues,
223
+ selectedImages = _ref3.selectedImages,
224
+ imageLayout = _ref3.imageLayout,
225
+ enableDigitalAssets = _ref3.enableDigitalAssets,
226
+ currentTray = _ref3.currentTray,
227
+ setActiveTray = _ref3.setActiveTray,
228
+ digitalAssets = _ref3.digitalAssets,
229
+ unsavedAssets = _ref3.unsavedAssets,
230
+ selectedAssets = _ref3.selectedAssets,
231
+ setSelectedAssets = _ref3.setSelectedAssets,
232
+ setAllAssetsChecked = _ref3.setAllAssetsChecked,
233
+ canEdit = _ref3.canEdit,
234
+ setCheckAll = _ref3.setCheckAll,
235
+ setSelectedImages = _ref3.setSelectedImages,
236
+ onChangeCurrentImage = _ref3.onChangeCurrentImage,
237
+ onUpdateImage = _ref3.onUpdateImage,
238
+ onSelectImage = _ref3.onSelectImage,
239
+ getRootProps = _ref3.getRootProps,
240
+ getInputProps = _ref3.getInputProps,
241
+ isDragActive = _ref3.isDragActive,
242
+ openFilePicker = _ref3.openFilePicker;
243
+ var images = (_imagesValues$values = imagesValues === null || imagesValues === void 0 ? void 0 : imagesValues.values) !== null && _imagesValues$values !== void 0 ? _imagesValues$values : [];
244
+ var imageInputs = imagesValues === null || imagesValues === void 0 ? void 0 : (_imagesValues$inputs = imagesValues.inputs) === null || _imagesValues$inputs === void 0 ? void 0 : _imagesValues$inputs.map(function (e) {
245
+ return {
246
+ value: e === null || e === void 0 ? void 0 : e.id,
247
+ name: e === null || e === void 0 ? void 0 : e.name,
248
+ required: e === null || e === void 0 ? void 0 : e.required,
249
+ active: images.some(function (value) {
250
+ return (value === null || value === void 0 ? void 0 : value.image_id) === (e === null || e === void 0 ? void 0 : e.id);
251
+ })
252
+ };
253
+ });
254
+ var imageType = imagesValues === null || imagesValues === void 0 ? void 0 : (_imagesValues$imageTy = imagesValues.imageType) === null || _imagesValues$imageTy === void 0 ? void 0 : _imagesValues$imageTy.map(function (e) {
255
+ return {
256
+ value: e === null || e === void 0 ? void 0 : e.id,
257
+ name: e === null || e === void 0 ? void 0 : e.name
258
+ };
259
+ });
260
+ var imagePackagingType = imagesValues === null || imagesValues === void 0 ? void 0 : (_imagesValues$imagePa = imagesValues.imagePackagingType) === null || _imagesValues$imagePa === void 0 ? void 0 : _imagesValues$imagePa.map(function (e) {
261
+ return {
262
+ value: e === null || e === void 0 ? void 0 : e.id,
263
+ name: e === null || e === void 0 ? void 0 : e.name
264
+ };
265
+ });
266
+ var cards = images.map(function (image, index) {
267
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GalleryElement.GalleryElement, {
268
+ id: "gallery-element-" + index,
269
+ index: index + "-" + image.name,
270
+ image: image,
271
+ number: index,
272
+ gridLayout: imageLayout,
273
+ imageType: imageType,
274
+ imagePackagingType: imagePackagingType,
275
+ imageInputs: imageInputs,
276
+ selectedImages: selectedImages,
277
+ setCheckAll: setCheckAll,
278
+ changeImage: onUpdateImage,
279
+ setSelectedImages: onSelectImage,
280
+ updateApprovedInputsImages: function updateApprovedInputsImages(item) {
281
+ return console.log("updateApprovedInputsImages", item);
282
+ },
283
+ onSelect: function onSelect() {
284
+ return onChangeCurrentImage(index);
285
+ }
286
+ }, index);
287
+ });
288
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
289
+ sx: {
290
+ minWidth: 0
291
+ },
292
+ children: [enableDigitalAssets && /*#__PURE__*/(0, _jsxRuntime.jsx)(TrayTabs, {
293
+ activeTray: currentTray,
294
+ setActiveTray: setActiveTray,
295
+ imagesCount: images.length,
296
+ assetsCount: (_digitalAssets$assets = digitalAssets === null || digitalAssets === void 0 ? void 0 : (_digitalAssets$assets2 = digitalAssets.assets) === null || _digitalAssets$assets2 === void 0 ? void 0 : _digitalAssets$assets2.length) !== null && _digitalAssets$assets !== void 0 ? _digitalAssets$assets : 0
297
+ }), currentTray === _GalleryTrayTabs.TRAYS.ASSETS && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
298
+ sx: {
299
+ position: "relative",
300
+ minWidth: 0
301
+ },
302
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DigitalAssetsTray.DigitalAssetsTray, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, digitalAssets), {}, {
303
+ unsaved: unsavedAssets,
304
+ gridLayout: imageLayout,
305
+ readOnly: !canEdit,
306
+ selectedAssets: selectedAssets,
307
+ setSelectedAssets: setSelectedAssets,
308
+ setCheckAll: setAllAssetsChecked
309
+ }))
310
+ }), currentTray === _GalleryTrayTabs.TRAYS.IMAGES && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
311
+ sx: {
312
+ overflowX: imageLayout ? "visible" : "auto",
313
+ WebkitOverflowScrolling: "touch"
314
+ },
315
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
316
+ sx: {
317
+ minWidth: imageLayout || images.length === 0 ? 0 : LIST_MIN_WIDTH
318
+ },
319
+ children: [!imageLayout && images.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ListHeader, {
320
+ selectedCount: (_selectedImages$lengt = selectedImages === null || selectedImages === void 0 ? void 0 : selectedImages.length) !== null && _selectedImages$lengt !== void 0 ? _selectedImages$lengt : 0,
321
+ totalCount: images.length,
322
+ setCheckAll: setCheckAll,
323
+ setSelectedImages: setSelectedImages
324
+ }) :
325
+ /*#__PURE__*/
326
+
327
+ /* Sin cabecera (cuadrícula o sin imágenes) las tarjetas siguen
328
+ buscando `#check-all-images` al marcarse. En la vista original,
329
+ en cuadrícula no existe: marcar una imagen lanza un TypeError y
330
+ la selección no se guarda. Esta casilla oculta lo evita. */
331
+ (0, _jsxRuntime.jsx)("input", {
332
+ type: "checkbox",
333
+ id: "check-all-images",
334
+ hidden: true,
335
+ readOnly: true,
336
+ "aria-hidden": "true"
337
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
338
+ sx: {
339
+ position: "relative"
340
+ },
341
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, getRootProps()), {}, {
342
+ sx: (0, _objectSpread2.default)({
343
+ position: "relative",
344
+ minHeight: {
345
+ xs: 160,
346
+ md: 240
347
+ },
348
+ borderRadius: "8px",
349
+ border: "2px dashed transparent",
350
+ transition: "all 0.3s ease"
351
+ }, isDragActive && {
352
+ bgcolor: "rgba(".concat(_tokens.COLORS.rgb_color_pink, ", 0.05)"),
353
+ borderColor: _tokens.COLORS.color_pink
354
+ }),
355
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", (0, _objectSpread2.default)({}, getInputProps())), isDragActive && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
356
+ sx: {
357
+ position: "absolute",
358
+ inset: 0,
359
+ zIndex: 10,
360
+ display: "flex",
361
+ alignItems: "center",
362
+ justifyContent: "center",
363
+ bgcolor: "rgba(".concat(_tokens.COLORS.rgb_color_pink, ", 0.1)"),
364
+ borderRadius: "8px",
365
+ pointerEvents: "none"
366
+ },
367
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
368
+ sx: {
369
+ fontFamily: _tokens.FONTS.AvenirNext,
370
+ fontSize: {
371
+ xs: 18,
372
+ sm: 24
373
+ },
374
+ fontWeight: 600,
375
+ color: _tokens.COLORS.color_pink,
376
+ textAlign: "center",
377
+ p: 2.5,
378
+ bgcolor: _tokens.COLORS.white,
379
+ borderRadius: "8px",
380
+ boxShadow: "0 4px 12px rgba(0, 0, 0, 0.15)"
381
+ },
382
+ children: "Suelta las im\xE1genes aqu\xED"
383
+ })
384
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
385
+ component: "aside",
386
+ sx: imageLayout ? {
387
+ display: "grid",
388
+ gridTemplateColumns: {
389
+ xs: "repeat(2, minmax(0, 1fr))",
390
+ sm: "repeat(auto-fill, 179px)"
391
+ },
392
+ justifyContent: "center",
393
+ gap: {
394
+ xs: 1,
395
+ sm: "15px"
396
+ },
397
+ p: {
398
+ xs: "12px 0",
399
+ sm: "20px"
400
+ },
401
+ opacity: isDragActive ? 0.3 : 1,
402
+ pointerEvents: isDragActive ? "none" : "auto",
403
+ // En celular dos tarjetas por fila: las de 179px fijos
404
+ // se estiran a su columna.
405
+ "@media (max-width: 599.95px)": {
406
+ // !important: el estilo propio de la tarjeta (dos
407
+ // clases) le gana a este selector.
408
+ "& > *": {
409
+ width: "100% !important"
410
+ },
411
+ "& img, & video": {
412
+ width: "100% !important",
413
+ height: "auto !important",
414
+ aspectRatio: "1 / 1"
415
+ }
416
+ }
417
+ } : {
418
+ opacity: isDragActive ? 0.3 : 1
419
+ },
420
+ children: cards
421
+ }), images.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
422
+ sx: {
423
+ position: {
424
+ xs: "static",
425
+ md: "absolute"
426
+ },
427
+ top: "50%",
428
+ left: "50%",
429
+ transform: {
430
+ md: "translate(-50%, -50%)"
431
+ },
432
+ width: {
433
+ xs: "100%",
434
+ md: "80%"
435
+ },
436
+ maxWidth: 500,
437
+ mx: "auto",
438
+ p: {
439
+ xs: "24px 8px",
440
+ md: "40px"
441
+ },
442
+ textAlign: "center",
443
+ boxSizing: "border-box"
444
+ },
445
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
446
+ sx: {
447
+ fontSize: 18,
448
+ color: "#666",
449
+ mb: 2
450
+ },
451
+ children: "Este producto no tiene im\xE1genes"
452
+ }), canEdit && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Typography, {
453
+ sx: {
454
+ fontSize: 14,
455
+ color: "#999",
456
+ mb: 2.5
457
+ },
458
+ children: ["Arrastra las im\xE1genes aqu\xED o", " ", /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Link, {
459
+ component: "button",
460
+ type: "button",
461
+ onClick: openFilePicker,
462
+ children: "haz clic para abrir el explorador de archivos"
463
+ })]
464
+ })]
465
+ })]
466
+ }))
467
+ })]
468
+ })
469
+ })]
470
+ });
471
+ };
472
+
473
+ exports.ImagesSection = ImagesSection;