@micromag/media-gallery 0.3.311 → 0.3.320

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.
package/es/index.js CHANGED
@@ -3,6 +3,7 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
3
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
4
4
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
5
  import classNames from 'classnames';
6
+ import isArray from 'lodash/isArray';
6
7
  import PropTypes$1 from 'prop-types';
7
8
  import React, { useMemo, useCallback, useState, useEffect, useRef } from 'react';
8
9
  import { createPortal } from 'react-dom';
@@ -25,8 +26,6 @@ import { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';
25
26
  import { faSearch } from '@fortawesome/free-solid-svg-icons/faSearch';
26
27
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
27
28
 
28
- var styles$9 = {"container":"micromag-media-gallery-container","mediaMetadata":"micromag-media-gallery-mediaMetadata","metadataOpened":"micromag-media-gallery-metadataOpened","gallery":"micromag-media-gallery-gallery","content":"micromag-media-gallery-content","loading":"micromag-media-gallery-loading"};
29
-
30
29
  var middleEllipsis = function middleEllipsis(string, maxLength) {
31
30
  if (!string) return string;
32
31
  if (maxLength < 1) return string;
@@ -39,7 +38,7 @@ var middleEllipsis = function middleEllipsis(string, maxLength) {
39
38
  return "".concat(string.substring(0, midpoint - lstrip), "...").concat(string.substring(midpoint + rstrip));
40
39
  };
41
40
 
42
- var styles$8 = {"container":"micromag-media-gallery-items-gallery-item-container","imageButton":"micromag-media-gallery-items-gallery-item-imageButton","image":"micromag-media-gallery-items-gallery-item-image","icon":"micromag-media-gallery-items-gallery-item-icon","footer":"micromag-media-gallery-items-gallery-item-footer","label":"micromag-media-gallery-items-gallery-item-label","closeIcon":"micromag-media-gallery-items-gallery-item-closeIcon","infoButton":"micromag-media-gallery-items-gallery-item-infoButton"};
41
+ var styles$9 = {"container":"micromag-media-gallery-items-gallery-item-container","imageButton":"micromag-media-gallery-items-gallery-item-imageButton","image":"micromag-media-gallery-items-gallery-item-image","icon":"micromag-media-gallery-items-gallery-item-icon","footer":"micromag-media-gallery-items-gallery-item-footer","label":"micromag-media-gallery-items-gallery-item-label","infoButton":"micromag-media-gallery-items-gallery-item-infoButton","closeIcon":"micromag-media-gallery-items-gallery-item-closeIcon"};
43
42
 
44
43
  var propTypes$a = {
45
44
  item: PropTypes.media,
@@ -59,76 +58,72 @@ var defaultProps$a = {
59
58
  onClick: null,
60
59
  onClickInfo: null
61
60
  };
62
-
63
61
  var GalleryItem = function GalleryItem(_ref) {
64
62
  var item = _ref.item,
65
- width = _ref.width,
66
- selected = _ref.selected,
67
- withInfoButton = _ref.withInfoButton,
68
- className = _ref.className,
69
- onClick = _ref.onClick,
70
- onClickInfo = _ref.onClickInfo;
63
+ width = _ref.width,
64
+ selected = _ref.selected,
65
+ withInfoButton = _ref.withInfoButton,
66
+ className = _ref.className,
67
+ onClick = _ref.onClick,
68
+ onClickInfo = _ref.onClickInfo;
71
69
  var type = item.type,
72
- _item$thumbnail_url = item.thumbnail_url,
73
- thumbnail = _item$thumbnail_url === void 0 ? null : _item$thumbnail_url,
74
- name = item.name,
75
- size = item.size;
70
+ _item$thumbnail_url = item.thumbnail_url,
71
+ thumbnail = _item$thumbnail_url === void 0 ? null : _item$thumbnail_url,
72
+ name = item.name,
73
+ size = item.size;
76
74
  var title = name;
77
-
78
75
  if (width < 768) {
79
76
  title = middleEllipsis(name, Math.floor(Math.max(18, width / 2 / 9)));
80
77
  } else {
81
78
  title = middleEllipsis(name, Math.floor(Math.max(25, width / 3 / 8)));
82
79
  }
83
-
84
80
  return /*#__PURE__*/React.createElement(Card, {
85
81
  image: /*#__PURE__*/React.createElement("button", {
86
82
  type: "button",
87
- className: classNames(['d-block', 'position-relative', 'p-0', 'border-0', 'w-100', 'text-start', 'bg-light', 'text-black', styles$8.imageButton]),
83
+ className: classNames(['d-block', 'position-relative', 'p-0', 'border-0', 'w-100', 'text-start', 'bg-light', 'text-black', styles$9.imageButton]),
88
84
  onClick: onClick
89
85
  }, /*#__PURE__*/React.createElement("div", {
90
- className: classNames(['card-img-top', styles$8.image]),
86
+ className: classNames(['card-img-top', styles$9.image]),
91
87
  style: {
92
88
  backgroundImage: thumbnail !== null ? "url('".concat(thumbnail, "')") : null
93
89
  }
94
90
  })),
95
91
  beforeBody: /*#__PURE__*/React.createElement(React.Fragment, null, withInfoButton ? /*#__PURE__*/React.createElement(Button, {
96
- className: styles$8.infoButton,
92
+ className: styles$9.infoButton,
97
93
  onClick: onClickInfo,
98
94
  withoutStyle: true
99
95
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
100
96
  icon: faInfoCircle,
101
- className: styles$8.icon
97
+ className: styles$9.icon
102
98
  })) : null, selected ? /*#__PURE__*/React.createElement("div", {
103
- className: classNames(['text-danger', styles$8.closeIcon])
99
+ className: classNames(['text-danger', styles$9.closeIcon])
104
100
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
105
101
  icon: faTimesCircle,
106
- className: styles$8.icon
102
+ className: styles$9.icon
107
103
  })) : null),
108
104
  footer: /*#__PURE__*/React.createElement(React.Fragment, null, type === 'video' ? /*#__PURE__*/React.createElement(FontAwesomeIcon, {
109
- className: styles$8.icon,
105
+ className: styles$9.icon,
110
106
  icon: faPlayCircle
111
107
  }) : null, type === 'audio' ? /*#__PURE__*/React.createElement(FontAwesomeIcon, {
112
- className: styles$8.icon,
108
+ className: styles$9.icon,
113
109
  icon: faHeadphonesAlt
114
110
  }) : null, /*#__PURE__*/React.createElement("div", {
115
- className: classNames(['text-truncate', styles$8.label])
111
+ className: classNames(['text-truncate', styles$9.label])
116
112
  }, /*#__PURE__*/React.createElement("small", null, title), size !== null ? /*#__PURE__*/React.createElement("small", {
117
113
  className: "text-muted ms-1"
118
114
  }, size) : null)),
119
115
  theme: selected ? 'primary' : null,
120
- className: classNames([styles$8.container, _defineProperty({
116
+ className: classNames([styles$9.container, _defineProperty({
121
117
  'border-primary': selected
122
118
  }, className, className !== null)]),
123
- footerClassName: classNames(['p-1', styles$8.footer]),
119
+ footerClassName: classNames(['p-1', styles$9.footer]),
124
120
  onClickFooter: onClick
125
121
  });
126
122
  };
127
-
128
123
  GalleryItem.propTypes = propTypes$a;
129
124
  GalleryItem.defaultProps = defaultProps$a;
130
125
 
131
- var styles$7 = {};
126
+ var styles$8 = {};
132
127
 
133
128
  var propTypes$9 = {
134
129
  items: PropTypes.medias,
@@ -150,21 +145,18 @@ var defaultProps$9 = {
150
145
  onClickItem: null,
151
146
  onClickItemInfo: null
152
147
  };
153
-
154
148
  function Gallery(_ref) {
155
149
  var items = _ref.items,
156
- selectedItem = _ref.selectedItem,
157
- withInfoButton = _ref.withInfoButton,
158
- isSmall = _ref.isSmall,
159
- selectedFirst = _ref.selectedFirst,
160
- className = _ref.className,
161
- onClickItem = _ref.onClickItem,
162
- onClickItemInfo = _ref.onClickItemInfo;
163
-
150
+ selectedItem = _ref.selectedItem,
151
+ withInfoButton = _ref.withInfoButton,
152
+ isSmall = _ref.isSmall,
153
+ selectedFirst = _ref.selectedFirst,
154
+ className = _ref.className,
155
+ onClickItem = _ref.onClickItem,
156
+ onClickItemInfo = _ref.onClickItemInfo;
164
157
  var _useDimensionObserver = useDimensionObserver(),
165
- ref = _useDimensionObserver.ref,
166
- width = _useDimensionObserver.width;
167
-
158
+ ref = _useDimensionObserver.ref,
159
+ width = _useDimensionObserver.width;
168
160
  var finalItems = useMemo(function () {
169
161
  if (selectedFirst && selectedItem !== null && typeof selectedItem.id !== 'undefined') {
170
162
  return [selectedItem].concat(_toConsumableArray(items.filter(function (_ref2) {
@@ -172,11 +164,10 @@ function Gallery(_ref) {
172
164
  return id !== selectedItem.id;
173
165
  })));
174
166
  }
175
-
176
167
  return items;
177
168
  }, [selectedFirst, selectedItem, items]);
178
169
  return /*#__PURE__*/React.createElement("div", {
179
- className: classNames([styles$7.container, 'p-2', _defineProperty({}, className, className !== null)]),
170
+ className: classNames([styles$8.container, 'p-2', _defineProperty({}, className, className !== null)]),
180
171
  ref: ref
181
172
  }, /*#__PURE__*/React.createElement("div", {
182
173
  className: classNames(['row', 'mx-n1', 'row-cols-2', {
@@ -200,11 +191,10 @@ function Gallery(_ref) {
200
191
  }));
201
192
  })));
202
193
  }
203
-
204
194
  Gallery.propTypes = propTypes$9;
205
195
  Gallery.defaultProps = defaultProps$9;
206
196
 
207
- var styles$6 = {"container":"micromag-media-gallery-partials-media-metadata-container","image":"micromag-media-gallery-partials-media-metadata-image","video":"micromag-media-gallery-partials-media-metadata-video","player":"micromag-media-gallery-partials-media-metadata-player","audio":"micromag-media-gallery-partials-media-metadata-audio"};
197
+ var styles$7 = {"container":"micromag-media-gallery-partials-media-metadata-container","image":"micromag-media-gallery-partials-media-metadata-image","video":"micromag-media-gallery-partials-media-metadata-video","player":"micromag-media-gallery-partials-media-metadata-player","audio":"micromag-media-gallery-partials-media-metadata-audio"};
208
198
 
209
199
  var propTypes$8 = {
210
200
  media: PropTypes.media,
@@ -216,45 +206,40 @@ var defaultProps$8 = {
216
206
  tags: [],
217
207
  className: null
218
208
  };
219
-
220
209
  function MediaMetadata(_ref) {
221
210
  var media = _ref.media,
222
- allTags = _ref.tags,
223
- className = _ref.className;
224
-
211
+ allTags = _ref.tags,
212
+ className = _ref.className;
225
213
  var _ref2 = media || {},
226
- mediaId = _ref2.id,
227
- type = _ref2.type,
228
- _ref2$url = _ref2.url,
229
- url = _ref2$url === void 0 ? null : _ref2$url,
230
- _ref2$thumbnail_url = _ref2.thumbnail_url,
231
- thumbnail = _ref2$thumbnail_url === void 0 ? null : _ref2$thumbnail_url,
232
- _ref2$name = _ref2.name,
233
- mediaName = _ref2$name === void 0 ? null : _ref2$name,
234
- _ref2$metadata = _ref2.metadata,
235
- metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;
236
-
214
+ mediaId = _ref2.id,
215
+ type = _ref2.type,
216
+ _ref2$url = _ref2.url,
217
+ url = _ref2$url === void 0 ? null : _ref2$url,
218
+ _ref2$thumbnail_url = _ref2.thumbnail_url,
219
+ thumbnail = _ref2$thumbnail_url === void 0 ? null : _ref2$thumbnail_url,
220
+ _ref2$name = _ref2.name,
221
+ mediaName = _ref2$name === void 0 ? null : _ref2$name,
222
+ _ref2$metadata = _ref2.metadata,
223
+ metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;
237
224
  var _ref3 = metadata || {},
238
- _ref3$filename = _ref3.filename,
239
- filename = _ref3$filename === void 0 ? null : _ref3$filename,
240
- _ref3$size = _ref3.size,
241
- size = _ref3$size === void 0 ? null : _ref3$size,
242
- _ref3$width = _ref3.width,
243
- width = _ref3$width === void 0 ? null : _ref3$width,
244
- _ref3$height = _ref3.height,
245
- height = _ref3$height === void 0 ? null : _ref3$height,
246
- _ref3$duration = _ref3.duration,
247
- duration = _ref3$duration === void 0 ? null : _ref3$duration,
248
- _ref3$user = _ref3.user,
249
- user = _ref3$user === void 0 ? null : _ref3$user,
250
- _ref3$description = _ref3.description,
251
- mediaDescription = _ref3$description === void 0 ? null : _ref3$description,
252
- _ref3$tags = _ref3.tags,
253
- mediaTags = _ref3$tags === void 0 ? [] : _ref3$tags;
254
-
225
+ _ref3$filename = _ref3.filename,
226
+ filename = _ref3$filename === void 0 ? null : _ref3$filename,
227
+ _ref3$size = _ref3.size,
228
+ size = _ref3$size === void 0 ? null : _ref3$size,
229
+ _ref3$width = _ref3.width,
230
+ width = _ref3$width === void 0 ? null : _ref3$width,
231
+ _ref3$height = _ref3.height,
232
+ height = _ref3$height === void 0 ? null : _ref3$height,
233
+ _ref3$duration = _ref3.duration,
234
+ duration = _ref3$duration === void 0 ? null : _ref3$duration,
235
+ _ref3$user = _ref3.user,
236
+ user = _ref3$user === void 0 ? null : _ref3$user,
237
+ _ref3$description = _ref3.description,
238
+ mediaDescription = _ref3$description === void 0 ? null : _ref3$description,
239
+ _ref3$tags = _ref3.tags,
240
+ mediaTags = _ref3$tags === void 0 ? [] : _ref3$tags;
255
241
  var _useMediaUpdate = useMediaUpdate(),
256
- update = _useMediaUpdate.update;
257
-
242
+ update = _useMediaUpdate.update;
258
243
  var getOptionLabel = useCallback(function (_ref4) {
259
244
  var name = _ref4.name;
260
245
  return name;
@@ -274,27 +259,22 @@ function MediaMetadata(_ref) {
274
259
  return id;
275
260
  }) : mediaTags;
276
261
  }, [mediaTags, allTags]);
277
-
278
262
  var _useState = useState(mediaName),
279
- _useState2 = _slicedToArray(_useState, 2),
280
- name = _useState2[0],
281
- setName = _useState2[1];
282
-
263
+ _useState2 = _slicedToArray(_useState, 2),
264
+ name = _useState2[0],
265
+ setName = _useState2[1];
283
266
  var _useState3 = useState(mediaDescription),
284
- _useState4 = _slicedToArray(_useState3, 2),
285
- description = _useState4[0],
286
- setDescription = _useState4[1];
287
-
267
+ _useState4 = _slicedToArray(_useState3, 2),
268
+ description = _useState4[0],
269
+ setDescription = _useState4[1];
288
270
  var _useState5 = useState(mediaTags.map(getOptionValue)),
289
- _useState6 = _slicedToArray(_useState5, 2),
290
- tags = _useState6[0],
291
- setTags = _useState6[1];
292
-
271
+ _useState6 = _slicedToArray(_useState5, 2),
272
+ tags = _useState6[0],
273
+ setTags = _useState6[1];
293
274
  var _useState7 = useState(false),
294
- _useState8 = _slicedToArray(_useState7, 2),
295
- changed = _useState8[0],
296
- setChanged = _useState8[1];
297
-
275
+ _useState8 = _slicedToArray(_useState7, 2),
276
+ changed = _useState8[0],
277
+ setChanged = _useState8[1];
298
278
  var onTagChange = useCallback(function (val) {
299
279
  setTags(val);
300
280
  setChanged(true);
@@ -326,31 +306,30 @@ function MediaMetadata(_ref) {
326
306
  setName(null);
327
307
  setDescription(null);
328
308
  }
329
-
330
309
  setChanged(false);
331
310
  }, [media, setTags, setName, setDescription, setChanged]);
332
311
  var TextField = useFieldComponent('text');
333
312
  var TokensField = useFieldComponent('tokens');
334
313
  return /*#__PURE__*/React.createElement("div", {
335
- className: classNames([styles$6.container, _defineProperty({}, className, className)])
314
+ className: classNames([styles$7.container, _defineProperty({}, className, className)])
336
315
  }, /*#__PURE__*/React.createElement("div", {
337
316
  className: classNames(['position-relative', _defineProperty({
338
317
  'bg-light': type === 'audio',
339
318
  'bg-black': type === 'image'
340
- }, styles$6.video, type === 'video')])
319
+ }, styles$7.video, type === 'video')])
341
320
  }, type === 'video' ? /*#__PURE__*/React.createElement("video", {
342
- className: styles$6.player,
321
+ className: styles$7.player,
343
322
  controls: true,
344
323
  src: url
345
324
  }) : null, type === 'audio' ? /*#__PURE__*/React.createElement("div", {
346
- className: styles$6.audio
325
+ className: styles$7.audio
347
326
  }, /*#__PURE__*/React.createElement("audio", {
348
- className: styles$6.player,
327
+ className: styles$7.player,
349
328
  controls: true,
350
329
  src: url
351
330
  })) : null, type !== 'video' ? /*#__PURE__*/React.createElement("img", {
352
331
  src: thumbnail,
353
- className: styles$6.image,
332
+ className: styles$7.image,
354
333
  alt: filename
355
334
  }) : null), /*#__PURE__*/React.createElement("div", {
356
335
  className: "p-2"
@@ -398,7 +377,8 @@ function MediaMetadata(_ref) {
398
377
  }]
399
378
  })), /*#__PURE__*/React.createElement(TokensField, {
400
379
  value: tags,
401
- options: finalTags // loadOptions={loadTags}
380
+ options: finalTags
381
+ // loadOptions={loadTags}
402
382
  ,
403
383
  getOptionLabel: getOptionLabel,
404
384
  getOptionValue: getOptionValue,
@@ -521,23 +501,22 @@ function MediaMetadata(_ref) {
521
501
  className: "col"
522
502
  }, /*#__PURE__*/React.createElement("small", null, user.name)))) : null)));
523
503
  }
524
-
525
504
  MediaMetadata.propTypes = propTypes$8;
526
505
  MediaMetadata.defaultProps = defaultProps$8;
527
506
 
528
507
  var useSearchFilters = function useSearchFilters(_ref) {
529
508
  var _ref$recent = _ref.recent,
530
- recent = _ref$recent === void 0 ? [] : _ref$recent,
531
- _ref$tags = _ref.tags,
532
- tags = _ref$tags === void 0 ? [] : _ref$tags,
533
- _ref$team = _ref.team,
534
- team = _ref$team === void 0 ? [] : _ref$team,
535
- _ref$sources = _ref.sources,
536
- upstreamSources = _ref$sources === void 0 ? [] : _ref$sources,
537
- _ref$withType = _ref.withType,
538
- withType = _ref$withType === void 0 ? false : _ref$withType,
539
- _ref$storyId = _ref.storyId,
540
- storyId = _ref$storyId === void 0 ? null : _ref$storyId;
509
+ recent = _ref$recent === void 0 ? [] : _ref$recent,
510
+ _ref$tags = _ref.tags,
511
+ tags = _ref$tags === void 0 ? [] : _ref$tags,
512
+ _ref$team = _ref.team,
513
+ team = _ref$team === void 0 ? [] : _ref$team,
514
+ _ref$sources = _ref.sources,
515
+ upstreamSources = _ref$sources === void 0 ? [] : _ref$sources,
516
+ _ref$withType = _ref.withType,
517
+ withType = _ref$withType === void 0 ? false : _ref$withType,
518
+ _ref$storyId = _ref.storyId,
519
+ storyId = _ref$storyId === void 0 ? null : _ref$storyId;
541
520
  var sources = [].concat(_toConsumableArray(storyId !== null ? [{
542
521
  label: /*#__PURE__*/React.createElement(FormattedMessage, {
543
522
  id: "eiaIIB",
@@ -675,6 +654,7 @@ var useSearchFilters = function useSearchFilters(_ref) {
675
654
  };
676
655
  };
677
656
 
657
+ // eslint-disable-next-line import/prefer-default-export
678
658
  var filtersValue = PropTypes$1.shape({
679
659
  search: PropTypes$1.string
680
660
  });
@@ -685,9 +665,7 @@ PropTypes$1.shape({
685
665
  usage: PropTypes$1.arrayOf(PropTypes$1.oneOf(['used', 'unused']))
686
666
  });
687
667
 
688
- var styles$5 = {"container":"micromag-media-gallery-partials-navbar-container","inner":"micromag-media-gallery-partials-navbar-inner","mediaPreview":"micromag-media-gallery-partials-navbar-mediaPreview","mediaLabel":"micromag-media-gallery-partials-navbar-mediaLabel"};
689
-
690
- var styles$4 = {"container":"micromag-media-gallery-forms-dropdown-section-container","dropdownToggle":"micromag-media-gallery-forms-dropdown-section-dropdownToggle","label":"micromag-media-gallery-forms-dropdown-section-label","dropdown":"micromag-media-gallery-forms-dropdown-section-dropdown"};
668
+ var styles$6 = {"container":"micromag-media-gallery-forms-dropdown-section-container","dropdownToggle":"micromag-media-gallery-forms-dropdown-section-dropdownToggle","label":"micromag-media-gallery-forms-dropdown-section-label","dropdown":"micromag-media-gallery-forms-dropdown-section-dropdown"};
691
669
 
692
670
  var propTypes$7 = {
693
671
  value: PropTypes$1.string,
@@ -705,18 +683,15 @@ var defaultProps$7 = {
705
683
  onChange: null,
706
684
  className: null
707
685
  };
708
-
709
686
  function DropdownSection(_ref) {
710
687
  var value = _ref.value,
711
- items = _ref.items,
712
- onChange = _ref.onChange,
713
- className = _ref.className;
714
-
688
+ items = _ref.items,
689
+ onChange = _ref.onChange,
690
+ className = _ref.className;
715
691
  var _useState = useState(false),
716
- _useState2 = _slicedToArray(_useState, 2),
717
- open = _useState2[0],
718
- setOpen = _useState2[1];
719
-
692
+ _useState2 = _slicedToArray(_useState, 2),
693
+ open = _useState2[0],
694
+ setOpen = _useState2[1];
720
695
  var currentItem = items.find(function (i) {
721
696
  return i.value === value;
722
697
  });
@@ -735,9 +710,9 @@ function DropdownSection(_ref) {
735
710
  onChange(val);
736
711
  }, [setOpen]);
737
712
  return items !== null && items.length > 1 ? /*#__PURE__*/React.createElement("div", {
738
- className: classNames([styles$4.container, 'dropdown', _defineProperty({}, className, className !== null)])
713
+ className: classNames([styles$6.container, 'dropdown', _defineProperty({}, className, className !== null)])
739
714
  }, /*#__PURE__*/React.createElement("span", {
740
- className: styles$4.label
715
+ className: styles$6.label
741
716
  }, /*#__PURE__*/React.createElement(FormattedMessage, {
742
717
  id: "9ZdD+Q",
743
718
  defaultMessage: [{
@@ -745,7 +720,7 @@ function DropdownSection(_ref) {
745
720
  "value": "Library for"
746
721
  }]
747
722
  })), /*#__PURE__*/React.createElement("button", {
748
- className: classNames([styles$4.dropdownToggle, 'dropdown-toggle', {
723
+ className: classNames([styles$6.dropdownToggle, 'dropdown-toggle', {
749
724
  open: open === true
750
725
  }]),
751
726
  type: "button",
@@ -758,12 +733,12 @@ function DropdownSection(_ref) {
758
733
  "value": "All"
759
734
  }]
760
735
  })), /*#__PURE__*/React.createElement("div", {
761
- className: classNames([styles$4.dropdown, 'dropdown-menu', {
736
+ className: classNames([styles$6.dropdown, 'dropdown-menu', {
762
737
  show: open === true
763
738
  }])
764
739
  }, items.map(function (_ref3) {
765
740
  var label = _ref3.label,
766
- itemValue = _ref3.value;
741
+ itemValue = _ref3.value;
767
742
  var itemClassNames = classNames(['dropdown-item', {
768
743
  active: itemValue === value
769
744
  }]);
@@ -776,10 +751,11 @@ function DropdownSection(_ref) {
776
751
  }, label);
777
752
  }))) : null;
778
753
  }
779
-
780
754
  DropdownSection.propTypes = propTypes$7;
781
755
  DropdownSection.defaultProps = defaultProps$7;
782
756
 
757
+ // import { PropTypes as MicromagPropTypes } from '@micromag/core';
758
+
783
759
  var propTypes$6 = {
784
760
  value: PropTypes$1.string,
785
761
  onChange: PropTypes$1.func,
@@ -796,18 +772,16 @@ var defaultProps$6 = {
796
772
  onClickIcon: null,
797
773
  className: null
798
774
  };
799
-
800
775
  var Search = function Search(_ref) {
801
776
  var value = _ref.value,
802
- onChange = _ref.onChange,
803
- onFocus = _ref.onFocus,
804
- onBlur = _ref.onBlur,
805
- onClickIcon = _ref.onClickIcon,
806
- className = _ref.className;
777
+ onChange = _ref.onChange,
778
+ onFocus = _ref.onFocus,
779
+ onBlur = _ref.onBlur,
780
+ onClickIcon = _ref.onClickIcon,
781
+ className = _ref.className;
807
782
  var intl = useIntl();
808
783
  var onSearchChange = useCallback(function (e) {
809
784
  var newValue = e.currentTarget.value.length > 0 ? e.currentTarget.value : null;
810
-
811
785
  if (onChange !== null) {
812
786
  onChange(newValue);
813
787
  }
@@ -824,7 +798,7 @@ var Search = function Search(_ref) {
824
798
  }, [onClickIcon]);
825
799
  return /*#__PURE__*/React.createElement("form", {
826
800
  method: "post",
827
- className: classNames(['w-100', _defineProperty({}, className, className !== null)]),
801
+ className: classNames(['w-100', 'border', 'border-dark', 'rounded', _defineProperty({}, className, className !== null)]),
828
802
  onSubmit: function onSubmit(e) {
829
803
  return e.preventDefault();
830
804
  }
@@ -844,10 +818,10 @@ var Search = function Search(_ref) {
844
818
  type: "text",
845
819
  value: value || '',
846
820
  placeholder: intl.formatMessage({
847
- id: "gprXiG",
821
+ id: "FFBsfJ",
848
822
  defaultMessage: [{
849
823
  "type": 0,
850
- "value": "Search..."
824
+ "value": "Search medias..."
851
825
  }]
852
826
  }),
853
827
  onChange: onSearchChange,
@@ -855,13 +829,12 @@ var Search = function Search(_ref) {
855
829
  onBlur: onBlur
856
830
  }), null));
857
831
  };
858
-
859
832
  Search.propTypes = propTypes$6;
860
833
  Search.defaultProps = defaultProps$6;
861
834
 
862
- var styles$3 = {"container":"micromag-media-gallery-forms-search-filters-container","closeBtn":"micromag-media-gallery-forms-search-filters-closeBtn","section":"micromag-media-gallery-forms-search-filters-section","title":"micromag-media-gallery-forms-search-filters-title","tags":"micromag-media-gallery-forms-search-filters-tags"};
835
+ var styles$5 = {"container":"micromag-media-gallery-forms-search-filters-container","closeBtn":"micromag-media-gallery-forms-search-filters-closeBtn","section":"micromag-media-gallery-forms-search-filters-section","title":"micromag-media-gallery-forms-search-filters-title","tags":"micromag-media-gallery-forms-search-filters-tags"};
863
836
 
864
- var styles$2 = {"container":"micromag-media-gallery-forms-tag-section-container","tag":"micromag-media-gallery-forms-tag-section-tag"};
837
+ var styles$4 = {"container":"micromag-media-gallery-forms-tag-section-container","tag":"micromag-media-gallery-forms-tag-section-tag"};
865
838
 
866
839
  var propTypes$5 = {
867
840
  tags: PropTypes$1.arrayOf(PropTypes$1.shape({
@@ -879,26 +852,26 @@ var defaultProps$5 = {
879
852
  onChange: null,
880
853
  className: null
881
854
  };
882
-
883
855
  var TagSection = function TagSection(_ref) {
884
856
  var tags = _ref.tags,
885
- parent = _ref.parent,
886
- onChange = _ref.onChange,
887
- className = _ref.className;
857
+ parent = _ref.parent,
858
+ onChange = _ref.onChange,
859
+ className = _ref.className;
888
860
  var onItemChange = useCallback(function (e) {
889
861
  var val = e.target.dataset.value || null;
890
862
  onChange(val, parent);
891
863
  }, [onChange, parent]);
892
864
  return /*#__PURE__*/React.createElement("div", {
893
- className: classNames([styles$2.container, 'd-flex', 'mt-1', _defineProperty({}, className, className !== null)])
865
+ className: classNames([styles$4.container, 'd-flex', 'mt-1', _defineProperty({}, className, className !== null)])
894
866
  }, tags !== null ? tags.map(function (_ref3) {
895
867
  var label = _ref3.label,
896
- value = _ref3.value,
897
- active = _ref3.active;
898
- var itemClassNames = classNames([styles$2.tag, 'btn', 'btn-sm', 'mb-1', 'me-1', 'p-1', 'btn-dark', {
899
- 'btn-primary': active === true // 'btn-outline-light': active === false,
900
-
868
+ value = _ref3.value,
869
+ active = _ref3.active;
870
+ var itemClassNames = classNames([styles$4.tag, 'btn', 'btn-sm', 'mb-1', 'me-1', 'p-1', 'btn-dark', {
871
+ 'btn-primary': active === true
872
+ // 'btn-outline-light': active === false,
901
873
  }]);
874
+
902
875
  return /*#__PURE__*/React.createElement("button", {
903
876
  className: itemClassNames,
904
877
  type: "button",
@@ -908,7 +881,6 @@ var TagSection = function TagSection(_ref) {
908
881
  }, label);
909
882
  }) : null);
910
883
  };
911
-
912
884
  TagSection.propTypes = propTypes$5;
913
885
  TagSection.defaultProps = defaultProps$5;
914
886
 
@@ -927,13 +899,12 @@ var defaultProps$4 = {
927
899
  onClose: null,
928
900
  className: null
929
901
  };
930
-
931
902
  var SearchFilters = function SearchFilters(_ref) {
932
903
  var filters = _ref.filters,
933
- sections = _ref.sections,
934
- onChange = _ref.onChange,
935
- onClose = _ref.onClose,
936
- className = _ref.className;
904
+ sections = _ref.sections,
905
+ onChange = _ref.onChange,
906
+ onClose = _ref.onClose,
907
+ className = _ref.className;
937
908
  var intl = useIntl();
938
909
  var getActive = useCallback(function (items, sectionFilters) {
939
910
  return items !== null ? items.map(function (it) {
@@ -956,7 +927,6 @@ var SearchFilters = function SearchFilters(_ref) {
956
927
  var found = !!val.find(function (f) {
957
928
  return f === data;
958
929
  });
959
-
960
930
  if (found) {
961
931
  onChange(section, val.filter(function (f) {
962
932
  return f !== data;
@@ -972,11 +942,11 @@ var SearchFilters = function SearchFilters(_ref) {
972
942
  }
973
943
  }, [filters, onChange]);
974
944
  return /*#__PURE__*/React.createElement("div", {
975
- className: classNames([styles$3.container, 'flex-nowrap', 'mt-1', _defineProperty({}, className, className !== null)])
945
+ className: classNames([styles$5.container, 'flex-nowrap', 'mt-1', _defineProperty({}, className, className !== null)])
976
946
  }, activeSections.length > 0 ? /*#__PURE__*/React.createElement("div", {
977
947
  className: classNames(['bg-light', 'flex-nowrap', 'text-dark', 'py-1', 'px-3', 'rounded'])
978
948
  }, /*#__PURE__*/React.createElement(Button, {
979
- className: classNames([styles$3.closeBtn, 'py-1', 'px-1', 'text-dark']),
949
+ className: classNames([styles$5.closeBtn, 'py-1', 'px-1', 'text-dark']),
980
950
  icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
981
951
  icon: faTimes
982
952
  }),
@@ -990,28 +960,27 @@ var SearchFilters = function SearchFilters(_ref) {
990
960
  })
991
961
  }), activeSections.map(function (_ref3) {
992
962
  var value = _ref3.value,
993
- label = _ref3.label,
994
- items = _ref3.items;
963
+ label = _ref3.label,
964
+ items = _ref3.items;
995
965
  return items.length > 0 ? /*#__PURE__*/React.createElement("div", {
996
966
  key: "filter-".concat(value),
997
- className: classNames([styles$3.section, 'py-2'])
967
+ className: classNames([styles$5.section, 'py-2'])
998
968
  }, /*#__PURE__*/React.createElement("p", {
999
- className: classNames([styles$3.title, 'm-0'])
969
+ className: classNames([styles$5.title, 'm-0'])
1000
970
  }, label), /*#__PURE__*/React.createElement(TagSection, {
1001
- className: classNames([styles$3.tags]),
971
+ className: classNames([styles$5.tags]),
1002
972
  tags: items,
1003
973
  parent: value,
1004
974
  onChange: onSectionChange
1005
975
  })) : null;
1006
976
  })) : null);
1007
977
  };
1008
-
1009
978
  SearchFilters.propTypes = propTypes$4;
1010
979
  SearchFilters.defaultProps = defaultProps$4;
1011
980
 
1012
- var styles$1 = {"container":"micromag-media-gallery-partials-active-filters-container","heading":"micromag-media-gallery-partials-active-filters-heading","title":"micromag-media-gallery-partials-active-filters-title","resetButton":"micromag-media-gallery-partials-active-filters-resetButton","activeTag":"micromag-media-gallery-partials-active-filters-activeTag"};
981
+ var styles$3 = {"container":"micromag-media-gallery-partials-active-filters-container","heading":"micromag-media-gallery-partials-active-filters-heading","title":"micromag-media-gallery-partials-active-filters-title","resetButton":"micromag-media-gallery-partials-active-filters-resetButton","activeTag":"micromag-media-gallery-partials-active-filters-activeTag"};
1013
982
 
1014
- var styles = {"container":"micromag-media-gallery-buttons-close-container"};
983
+ var styles$2 = {"container":"micromag-media-gallery-buttons-close-container"};
1015
984
 
1016
985
  var _excluded = ["className"];
1017
986
  var propTypes$3 = {
@@ -1020,22 +989,19 @@ var propTypes$3 = {
1020
989
  var defaultProps$3 = {
1021
990
  className: null
1022
991
  };
1023
-
1024
992
  var CloseButton = function CloseButton(_ref) {
1025
993
  var className = _ref.className,
1026
- props = _objectWithoutProperties(_ref, _excluded);
1027
-
994
+ props = _objectWithoutProperties(_ref, _excluded);
1028
995
  return /*#__PURE__*/React.createElement(Button, Object.assign({
1029
- className: classNames([styles.container, _defineProperty({}, className, className !== null)]),
996
+ className: classNames([styles$2.container, _defineProperty({}, className, className !== null)]),
1030
997
  withoutStyle: true,
1031
998
  icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
1032
999
  icon: faTimes,
1033
- className: styles.icon
1000
+ className: styles$2.icon
1034
1001
  }),
1035
1002
  iconPosition: "right"
1036
1003
  }, props));
1037
1004
  };
1038
-
1039
1005
  CloseButton.propTypes = propTypes$3;
1040
1006
  CloseButton.defaultProps = defaultProps$3;
1041
1007
 
@@ -1058,13 +1024,12 @@ var defaultProps$2 = {
1058
1024
  sections: [],
1059
1025
  className: null
1060
1026
  };
1061
-
1062
1027
  function ActiveFilters(_ref) {
1063
1028
  var filters = _ref.filters,
1064
- onChange = _ref.onChange,
1065
- onReset = _ref.onReset,
1066
- sections = _ref.sections,
1067
- className = _ref.className;
1029
+ onChange = _ref.onChange,
1030
+ onReset = _ref.onReset,
1031
+ sections = _ref.sections,
1032
+ className = _ref.className;
1068
1033
  var handleReset = useCallback(function () {
1069
1034
  if (onReset !== null) {
1070
1035
  onReset();
@@ -1075,7 +1040,6 @@ function ActiveFilters(_ref) {
1075
1040
  return it !== activeValue;
1076
1041
  });
1077
1042
  var newValue = newFilterValue.length > 0 ? newFilterValue : null;
1078
-
1079
1043
  if (onChange !== null) {
1080
1044
  onChange(key, newValue);
1081
1045
  }
@@ -1084,11 +1048,11 @@ function ActiveFilters(_ref) {
1084
1048
  return oneHasValue || filters[key] !== null;
1085
1049
  }, false);
1086
1050
  return /*#__PURE__*/React.createElement("div", {
1087
- className: classNames(['w-100', styles$1.container, _defineProperty({}, className, className)])
1051
+ className: classNames(['w-100', styles$3.container, _defineProperty({}, className, className)])
1088
1052
  }, hasValue ? /*#__PURE__*/React.createElement("div", {
1089
- className: styles$1.heading
1053
+ className: styles$3.heading
1090
1054
  }, /*#__PURE__*/React.createElement("div", {
1091
- className: styles$1.title
1055
+ className: styles$3.title
1092
1056
  }, /*#__PURE__*/React.createElement(FormattedMessage, {
1093
1057
  id: "t2cFdl",
1094
1058
  defaultMessage: [{
@@ -1096,7 +1060,7 @@ function ActiveFilters(_ref) {
1096
1060
  "value": "Active filters"
1097
1061
  }]
1098
1062
  })), /*#__PURE__*/React.createElement(CloseButton, {
1099
- className: styles$1.resetButton,
1063
+ className: styles$3.resetButton,
1100
1064
  onClick: handleReset
1101
1065
  }, /*#__PURE__*/React.createElement("u", null, /*#__PURE__*/React.createElement(FormattedMessage, {
1102
1066
  id: "/T/UDH",
@@ -1112,13 +1076,11 @@ function ActiveFilters(_ref) {
1112
1076
  var current = section.items.find(function (s) {
1113
1077
  return s.value === activeValue;
1114
1078
  });
1115
-
1116
1079
  var _ref3 = current || {},
1117
- _ref3$label = _ref3.label,
1118
- label = _ref3$label === void 0 ? '' : _ref3$label;
1119
-
1080
+ _ref3$label = _ref3.label,
1081
+ label = _ref3$label === void 0 ? '' : _ref3$label;
1120
1082
  return /*#__PURE__*/React.createElement(Button, {
1121
- className: styles$1.activeTag,
1083
+ className: styles$3.activeTag,
1122
1084
  key: "filter-button-".concat(activeValue),
1123
1085
  type: "submit",
1124
1086
  size: "sm",
@@ -1135,11 +1097,13 @@ function ActiveFilters(_ref) {
1135
1097
  }) : null;
1136
1098
  }) : null);
1137
1099
  }
1138
-
1139
1100
  ActiveFilters.propTypes = propTypes$2;
1140
1101
  ActiveFilters.defaultProps = defaultProps$2;
1141
1102
 
1103
+ var styles$1 = {"container":"micromag-media-gallery-partials-navbar-container","inner":"micromag-media-gallery-partials-navbar-inner","mediaPreview":"micromag-media-gallery-partials-navbar-mediaPreview","mediaLabel":"micromag-media-gallery-partials-navbar-mediaLabel"};
1104
+
1142
1105
  var propTypes$1 = {
1106
+ types: PropTypes$1.arrayOf(PropTypes$1.string),
1143
1107
  filters: filtersValue,
1144
1108
  media: PropTypes.media,
1145
1109
  selectedMedia: PropTypes.media,
@@ -1159,6 +1123,7 @@ var propTypes$1 = {
1159
1123
  className: PropTypes$1.string
1160
1124
  };
1161
1125
  var defaultProps$1 = {
1126
+ types: null,
1162
1127
  filters: null,
1163
1128
  media: null,
1164
1129
  selectedMedia: null,
@@ -1176,78 +1141,71 @@ var defaultProps$1 = {
1176
1141
  onClickBack: null,
1177
1142
  className: null
1178
1143
  };
1179
-
1180
1144
  function Navbar(_ref) {
1181
- var filters = _ref.filters,
1182
- media = _ref.media,
1183
- selectedMedia = _ref.selectedMedia,
1184
- storyId = _ref.storyId,
1185
- tags = _ref.tags,
1186
- authors = _ref.authors,
1187
- withoutSource = _ref.withoutSource,
1188
- withoutType = _ref.withoutType,
1189
- className = _ref.className,
1190
- onClickAdd = _ref.onClickAdd,
1191
- onClickItem = _ref.onClickItem,
1192
- onClickItemInfo = _ref.onClickItemInfo,
1193
- onClickClear = _ref.onClickClear,
1194
- onFocusSearch = _ref.onFocusSearch,
1195
- onFiltersChange = _ref.onFiltersChange,
1196
- onClickBack = _ref.onClickBack;
1145
+ var types = _ref.types,
1146
+ filters = _ref.filters,
1147
+ media = _ref.media,
1148
+ selectedMedia = _ref.selectedMedia,
1149
+ storyId = _ref.storyId,
1150
+ tags = _ref.tags,
1151
+ authors = _ref.authors,
1152
+ withoutSource = _ref.withoutSource,
1153
+ withoutType = _ref.withoutType,
1154
+ className = _ref.className,
1155
+ onClickAdd = _ref.onClickAdd,
1156
+ onClickItem = _ref.onClickItem,
1157
+ onClickItemInfo = _ref.onClickItemInfo,
1158
+ onClickClear = _ref.onClickClear,
1159
+ onFocusSearch = _ref.onFocusSearch,
1160
+ onFiltersChange = _ref.onFiltersChange,
1161
+ onClickBack = _ref.onClickBack;
1197
1162
  var intl = useIntl();
1198
1163
  var throttle = useRef(null);
1199
-
1200
1164
  var _useState = useState(false),
1201
- _useState2 = _slicedToArray(_useState, 2),
1202
- open = _useState2[0],
1203
- setOpen = _useState2[1]; // TODO: get data from api for real testing
1165
+ _useState2 = _slicedToArray(_useState, 2),
1166
+ open = _useState2[0],
1167
+ setOpen = _useState2[1];
1204
1168
 
1169
+ // TODO: get data from api for real testing
1205
1170
 
1206
1171
  var _useMediasRecentSearc = useMediasRecentSearches(),
1207
- getSearches = _useMediasRecentSearc.getSearches,
1208
- createSearch = _useMediasRecentSearc.createSearch;
1209
-
1172
+ getSearches = _useMediasRecentSearc.getSearches,
1173
+ createSearch = _useMediasRecentSearc.createSearch;
1210
1174
  var recent = useMemo(function () {
1211
1175
  return getSearches();
1212
1176
  }, [getSearches]);
1213
-
1214
1177
  var _useSearchFilters = useSearchFilters({
1215
- recent: recent.map(function (val) {
1216
- return {
1217
- value: val,
1218
- label: val
1219
- };
1178
+ recent: recent.map(function (val) {
1179
+ return {
1180
+ value: val,
1181
+ label: val
1182
+ };
1183
+ }),
1184
+ tags: tags !== null ? tags.map(function (t) {
1185
+ return {
1186
+ value: t.name,
1187
+ label: t.name
1188
+ };
1189
+ }) : [],
1190
+ team: authors || [],
1191
+ withType: !withoutType,
1192
+ storyId: storyId
1220
1193
  }),
1221
- tags: tags !== null ? tags.map(function (t) {
1222
- return {
1223
- value: t.name,
1224
- label: t.name
1225
- };
1226
- }) : [],
1227
- team: authors || [],
1228
- withType: !withoutType,
1229
- storyId: storyId
1230
- }),
1231
- sources = _useSearchFilters.sources,
1232
- sections = _useSearchFilters.sections;
1233
-
1194
+ sources = _useSearchFilters.sources,
1195
+ sections = _useSearchFilters.sections;
1234
1196
  var searchValue = filters !== null ? filters.search || null : null;
1235
1197
  var hasFilter = filters !== null ? Object.keys(filters).reduce(function (acc, val) {
1236
1198
  if (val !== 'type' && val !== 'search' && val !== 'source' && filters[val] !== null && filters[val].length > 0) {
1237
1199
  return true;
1238
1200
  }
1239
-
1240
1201
  return acc;
1241
1202
  }, false) : false;
1242
1203
  var onFilterChange = useCallback(function (type, value) {
1243
1204
  var isOpen = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1244
-
1245
1205
  var newFiltersValue = _objectSpread(_objectSpread({}, filters), {}, _defineProperty({}, type, value));
1246
-
1247
1206
  if (onFiltersChange !== null) {
1248
1207
  onFiltersChange(newFiltersValue);
1249
1208
  }
1250
-
1251
1209
  setOpen(isOpen);
1252
1210
  }, [filters, onFiltersChange, setOpen]);
1253
1211
  var onFiltersReset = useCallback(function () {
@@ -1262,7 +1220,6 @@ function Navbar(_ref) {
1262
1220
  if (throttle.current !== null) {
1263
1221
  clearTimeout(throttle.current);
1264
1222
  }
1265
-
1266
1223
  throttle.current = setTimeout(function () {
1267
1224
  createSearch(value);
1268
1225
  throttle.current = null;
@@ -1291,37 +1248,87 @@ function Navbar(_ref) {
1291
1248
  onClickItem(null);
1292
1249
  }
1293
1250
  }, [onClickClear, onClickItem]);
1251
+ var uploadMessage = useMemo(function () {
1252
+ var message = /*#__PURE__*/React.createElement(FormattedMessage, {
1253
+ id: "3Ap0C1",
1254
+ defaultMessage: [{
1255
+ "type": 0,
1256
+ "value": "Upload a media"
1257
+ }]
1258
+ });
1259
+ if (types !== null) {
1260
+ if (types.indexOf('video') !== -1 && types.indexOf('image') !== -1) {
1261
+ message = /*#__PURE__*/React.createElement(FormattedMessage, {
1262
+ id: "KK5teQ",
1263
+ defaultMessage: [{
1264
+ "type": 0,
1265
+ "value": "Upload a visual file"
1266
+ }]
1267
+ });
1268
+ } else if (types.indexOf('video') !== -1) {
1269
+ message = /*#__PURE__*/React.createElement(FormattedMessage, {
1270
+ id: "WeD4nB",
1271
+ defaultMessage: [{
1272
+ "type": 0,
1273
+ "value": "Upload a video file"
1274
+ }]
1275
+ });
1276
+ } else if (types.indexOf('image') !== -1) {
1277
+ message = /*#__PURE__*/React.createElement(FormattedMessage, {
1278
+ id: "KdAKt7",
1279
+ defaultMessage: [{
1280
+ "type": 0,
1281
+ "value": "Upload an image file"
1282
+ }]
1283
+ });
1284
+ } else if (types.indexOf('audio') !== -1) {
1285
+ message = /*#__PURE__*/React.createElement(FormattedMessage, {
1286
+ id: "6W4St0",
1287
+ defaultMessage: [{
1288
+ "type": 0,
1289
+ "value": "Upload an audio file"
1290
+ }]
1291
+ });
1292
+ } else if (types.indexOf('subtitle') !== -1) {
1293
+ message = /*#__PURE__*/React.createElement(FormattedMessage, {
1294
+ id: "BAfC6s",
1295
+ defaultMessage: [{
1296
+ "type": 0,
1297
+ "value": "Upload a closed captions file"
1298
+ }]
1299
+ });
1300
+ }
1301
+ }
1302
+ return message;
1303
+ }, [types]);
1294
1304
  return /*#__PURE__*/React.createElement("nav", {
1295
- className: classNames([styles$5.container, 'navbar', _defineProperty({}, className, className !== null)])
1305
+ className: classNames([styles$1.container, 'navbar', _defineProperty({}, className, className !== null)])
1296
1306
  }, /*#__PURE__*/React.createElement("div", {
1297
- className: classNames([styles$5.inner])
1307
+ className: classNames([styles$1.inner])
1298
1308
  }, media === null ? /*#__PURE__*/React.createElement("div", {
1299
- className: "list-group-item rounded w-100 mw-100 py-1 px-1 navbar-text d-flex align-items-center justify-content-between"
1309
+ className: classNames(['list-group-item rounded w-100 mw-100 py-1 px-1 navbar-text d-flex align-items-center justify-content-between', {
1310
+ 'border border-dark': selectedMedia !== null
1311
+ }])
1300
1312
  }, selectedMedia !== null ? /*#__PURE__*/React.createElement(Button, {
1301
- className: classNames([styles$5.mediaLabel, 'd-flex px-0 py-0 align-items-center']),
1313
+ className: classNames([styles$1.mediaLabel, 'd-flex px-0 py-0 me-1 align-items-center border-0']),
1302
1314
  onClick: function onClick() {
1303
1315
  return onClickItemInfo(selectedMedia);
1304
- }
1316
+ },
1317
+ theme: "primary",
1318
+ outline: true
1305
1319
  }, /*#__PURE__*/React.createElement(Media, {
1306
- className: styles$5.mediaPreview,
1320
+ className: styles$1.mediaPreview,
1307
1321
  thumbnail: selectedMedia === null || selectedMedia === void 0 ? void 0 : selectedMedia.thumbnail_url
1308
1322
  }), /*#__PURE__*/React.createElement("span", {
1309
- className: classNames([styles$5.mediaLabel, 'd-inline-block', 'text-truncate'])
1323
+ className: classNames([styles$1.mediaLabel, 'd-inline-block', 'text-truncate', 'mx-1', 'me-2'])
1310
1324
  }, selectedMedia.name || /*#__PURE__*/React.createElement(FormattedMessage, {
1311
1325
  id: "fVqgfl",
1312
1326
  defaultMessage: [{
1313
1327
  "type": 0,
1314
1328
  "value": "[no title]"
1315
1329
  }]
1316
- }))) : /*#__PURE__*/React.createElement("span", {
1317
- className: "ps-2"
1318
- }, /*#__PURE__*/React.createElement(FormattedMessage, {
1319
- id: "VspZp9",
1320
- defaultMessage: [{
1321
- "type": 0,
1322
- "value": "Upload an image"
1323
- }]
1324
- })), selectedMedia === null ? /*#__PURE__*/React.createElement(Button, {
1330
+ }))) : /*#__PURE__*/React.createElement(Button, {
1331
+ className: "w-100",
1325
1332
  theme: "primary",
1326
1333
  icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
1327
1334
  icon: faPlus
@@ -1334,7 +1341,9 @@ function Navbar(_ref) {
1334
1341
  "value": "Add"
1335
1342
  }]
1336
1343
  })
1337
- }) : /*#__PURE__*/React.createElement(Button, {
1344
+ }, /*#__PURE__*/React.createElement("span", {
1345
+ className: "ps-2"
1346
+ }, uploadMessage)), selectedMedia === null ? null : /*#__PURE__*/React.createElement(Button, {
1338
1347
  theme: "primary",
1339
1348
  icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
1340
1349
  icon: faTimes
@@ -1391,10 +1400,11 @@ function Navbar(_ref) {
1391
1400
  onReset: onFiltersReset
1392
1401
  })) : null));
1393
1402
  }
1394
-
1395
1403
  Navbar.propTypes = propTypes$1;
1396
1404
  Navbar.defaultProps = defaultProps$1;
1397
1405
 
1406
+ var styles = {"container":"micromag-media-gallery-container","metadataOpened":"micromag-media-gallery-metadataOpened","gallery":"micromag-media-gallery-gallery","mediaMetadata":"micromag-media-gallery-mediaMetadata","content":"micromag-media-gallery-content","loading":"micromag-media-gallery-loading"};
1407
+
1398
1408
  var videoTypes = ['video', 'image/gif'];
1399
1409
  var propTypes = {
1400
1410
  type: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.array]),
@@ -1426,88 +1436,79 @@ var defaultProps = {
1426
1436
  onClickMedia: null,
1427
1437
  onClearMedia: null
1428
1438
  };
1429
-
1430
1439
  function MediaGallery(_ref) {
1431
1440
  var _ref3;
1432
-
1433
1441
  var type = _ref.type,
1434
- source = _ref.source,
1435
- isPicker = _ref.isPicker,
1436
- isSmall = _ref.isSmall,
1437
- withoutTitle = _ref.withoutTitle,
1438
- withoutSource = _ref.withoutSource,
1439
- withoutType = _ref.withoutType,
1440
- initialMedias = _ref.medias,
1441
- selectedMedia = _ref.selectedMedia,
1442
- className = _ref.className,
1443
- navbarClassName = _ref.navbarClassName,
1444
- onClickMedia = _ref.onClickMedia,
1445
- onClearMedia = _ref.onClearMedia;
1442
+ source = _ref.source,
1443
+ isPicker = _ref.isPicker,
1444
+ isSmall = _ref.isSmall,
1445
+ withoutTitle = _ref.withoutTitle,
1446
+ withoutSource = _ref.withoutSource,
1447
+ withoutType = _ref.withoutType,
1448
+ initialMedias = _ref.medias,
1449
+ selectedMedia = _ref.selectedMedia,
1450
+ className = _ref.className,
1451
+ navbarClassName = _ref.navbarClassName,
1452
+ onClickMedia = _ref.onClickMedia,
1453
+ onClearMedia = _ref.onClearMedia;
1446
1454
  // Base state for filters
1447
1455
  var defaultFilters = {
1448
1456
  type: type,
1449
1457
  source: source
1450
- }; // Filters
1458
+ };
1451
1459
 
1460
+ // Filters
1452
1461
  var throttle = useRef(null);
1453
-
1454
1462
  var _useState = useState(defaultFilters),
1455
- _useState2 = _slicedToArray(_useState, 2),
1456
- queryValue = _useState2[0],
1457
- setQueryValue = _useState2[1];
1458
-
1463
+ _useState2 = _slicedToArray(_useState, 2),
1464
+ queryValue = _useState2[0],
1465
+ setQueryValue = _useState2[1];
1459
1466
  var _useState3 = useState(defaultFilters),
1460
- _useState4 = _slicedToArray(_useState3, 2),
1461
- filtersValue = _useState4[0],
1462
- setFiltersValue = _useState4[1];
1463
-
1467
+ _useState4 = _slicedToArray(_useState3, 2),
1468
+ filtersValue = _useState4[0],
1469
+ setFiltersValue = _useState4[1];
1464
1470
  var story = useStory();
1465
-
1466
1471
  var _ref2 = story || {},
1467
- _ref2$id = _ref2.id,
1468
- storyId = _ref2$id === void 0 ? null : _ref2$id;
1469
-
1472
+ _ref2$id = _ref2.id,
1473
+ storyId = _ref2$id === void 0 ? null : _ref2$id;
1470
1474
  var _useMediaTags = useMediaTags(),
1471
- tags = _useMediaTags.tags;
1472
-
1475
+ tags = _useMediaTags.tags;
1473
1476
  var _useMediaAuthors = useMediaAuthors(),
1474
- authors = _useMediaAuthors.authors;
1475
-
1477
+ authors = _useMediaAuthors.authors;
1476
1478
  var onFiltersChange = useCallback(function (value) {
1477
1479
  if (throttle.current !== null) {
1478
1480
  clearTimeout(throttle.current);
1479
1481
  }
1480
-
1481
1482
  throttle.current = setTimeout(function () {
1482
1483
  setQueryValue(value);
1483
1484
  throttle.current = null;
1484
1485
  }, 500);
1485
1486
  setFiltersValue(value);
1486
- }, [setFiltersValue, setQueryValue, throttle]); // Items
1487
+ }, [setFiltersValue, setQueryValue, throttle]);
1487
1488
 
1489
+ // Items
1488
1490
  var _useMedias = useMedias(queryValue, 1, 100, _objectSpread({}, initialMedias !== null ? {
1489
- items: initialMedias
1490
- } : null)),
1491
- loadedMedias = _useMedias.allMedias,
1492
- _useMedias$loading = _useMedias.loading,
1493
- loading = _useMedias$loading === void 0 ? false : _useMedias$loading; // Temporary type filter
1494
-
1491
+ items: initialMedias
1492
+ } : null)),
1493
+ loadedMedias = _useMedias.allMedias,
1494
+ _useMedias$loading = _useMedias.loading,
1495
+ loading = _useMedias$loading === void 0 ? false : _useMedias$loading;
1495
1496
 
1497
+ // Temporary type filter
1496
1498
  var _useState5 = useState([]),
1497
- _useState6 = _slicedToArray(_useState5, 2),
1498
- addedMedias = _useState6[0],
1499
- setAddedMedias = _useState6[1];
1500
-
1499
+ _useState6 = _slicedToArray(_useState5, 2),
1500
+ addedMedias = _useState6[0],
1501
+ setAddedMedias = _useState6[1];
1501
1502
  var medias = useMemo(function () {
1502
1503
  var allMedias = [].concat(_toConsumableArray(addedMedias), _toConsumableArray(loadedMedias || []));
1503
1504
  return allMedias.length > 0 ? allMedias : null;
1504
- }, [loadedMedias, addedMedias]); // Medias
1505
+ }, [loadedMedias, addedMedias]);
1505
1506
 
1507
+ // Medias
1506
1508
  var _useState7 = useState(null),
1507
- _useState8 = _slicedToArray(_useState7, 2),
1508
- metadataMedia = _useState8[0],
1509
- setMetadataMedia = _useState8[1];
1510
-
1509
+ _useState8 = _slicedToArray(_useState7, 2),
1510
+ metadataMedia = _useState8[0],
1511
+ setMetadataMedia = _useState8[1];
1511
1512
  var onClickItem = useCallback(function (media) {
1512
1513
  if (!isPicker) {
1513
1514
  setMetadataMedia(media);
@@ -1520,31 +1521,30 @@ function MediaGallery(_ref) {
1520
1521
  }, [setMetadataMedia]);
1521
1522
  var onMetadataClickClose = useCallback(function () {
1522
1523
  return setMetadataMedia(null);
1523
- }, [setMetadataMedia]); // Navigation
1524
+ }, [setMetadataMedia]);
1524
1525
 
1526
+ // Navigation
1525
1527
  var onClickBack = useCallback(function () {
1526
1528
  return setMetadataMedia(null);
1527
- }, [setMetadataMedia]); // Reset all filters except source
1529
+ }, [setMetadataMedia]);
1528
1530
 
1529
- useCallback(function () {
1530
- return setFiltersValue(_objectSpread(_objectSpread({}, defaultFilters), {}, {
1531
- source: filtersValue.source || null
1532
- }));
1533
- }, [defaultFilters, filtersValue, setFiltersValue]); // Upload modal
1531
+ // Reset all filters except source
1532
+ // const onClickCancel = useCallback(
1533
+ // () => setFiltersValue({ ...defaultFilters, source: filtersValue.source || null }),
1534
+ // [defaultFilters, filtersValue, setFiltersValue],
1535
+ // );
1534
1536
 
1537
+ // Upload modal
1535
1538
  var _useState9 = useState(false),
1536
- _useState10 = _slicedToArray(_useState9, 2),
1537
- uploading = _useState10[0],
1538
- setUploading = _useState10[1];
1539
-
1539
+ _useState10 = _slicedToArray(_useState9, 2),
1540
+ uploading = _useState10[0],
1541
+ setUploading = _useState10[1];
1540
1542
  var _useState11 = useState(false),
1541
- _useState12 = _slicedToArray(_useState11, 2),
1542
- uploadModalOpened = _useState12[0],
1543
- setUploadModalOpened = _useState12[1];
1544
-
1543
+ _useState12 = _slicedToArray(_useState11, 2),
1544
+ uploadModalOpened = _useState12[0],
1545
+ setUploadModalOpened = _useState12[1];
1545
1546
  var _useMediaCreate = useMediaCreate(),
1546
- createMedia = _useMediaCreate.create;
1547
-
1547
+ createMedia = _useMediaCreate.create;
1548
1548
  var onClickAdd = useCallback(function () {
1549
1549
  return setUploadModalOpened(true);
1550
1550
  }, [setUploadModalOpened]);
@@ -1559,8 +1559,9 @@ function MediaGallery(_ref) {
1559
1559
  return setUploadModalOpened(false);
1560
1560
  }, [setUploadModalOpened]);
1561
1561
  return /*#__PURE__*/React.createElement("div", {
1562
- className: classNames([styles$9.container, (_ref3 = {}, _defineProperty(_ref3, styles$9.metadataOpened, metadataMedia !== null), _defineProperty(_ref3, className, className), _ref3)])
1562
+ className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, styles.metadataOpened, metadataMedia !== null), _defineProperty(_ref3, className, className), _ref3)])
1563
1563
  }, /*#__PURE__*/React.createElement(Navbar, {
1564
+ types: isArray(type) ? type : [type],
1564
1565
  filters: filtersValue,
1565
1566
  media: metadataMedia !== null ? metadataMedia : null,
1566
1567
  selectedMedia: selectedMedia,
@@ -1578,9 +1579,9 @@ function MediaGallery(_ref) {
1578
1579
  tags: tags,
1579
1580
  className: navbarClassName
1580
1581
  }), /*#__PURE__*/React.createElement("div", {
1581
- className: styles$9.content
1582
+ className: styles.content
1582
1583
  }, /*#__PURE__*/React.createElement("div", {
1583
- className: styles$9.gallery
1584
+ className: styles.gallery
1584
1585
  }, medias !== null && !uploading ? /*#__PURE__*/React.createElement(Gallery, {
1585
1586
  items: medias,
1586
1587
  selectedItem: selectedMedia,
@@ -1590,9 +1591,9 @@ function MediaGallery(_ref) {
1590
1591
  onClickItem: onClickItem,
1591
1592
  onClickItemInfo: onClickItemInfo
1592
1593
  }) : null, loading || uploading ? /*#__PURE__*/React.createElement(Spinner, {
1593
- className: styles$9.loading
1594
+ className: styles.loading
1594
1595
  }) : null), /*#__PURE__*/React.createElement("div", {
1595
- className: styles$9.mediaMetadata
1596
+ className: styles.mediaMetadata
1596
1597
  }, /*#__PURE__*/React.createElement(MediaMetadata, {
1597
1598
  media: metadataMedia,
1598
1599
  tags: tags,
@@ -1604,7 +1605,6 @@ function MediaGallery(_ref) {
1604
1605
  onRequestClose: onUploadRequestClose
1605
1606
  }), document.body));
1606
1607
  }
1607
-
1608
1608
  MediaGallery.propTypes = propTypes;
1609
1609
  MediaGallery.defaultProps = defaultProps;
1610
1610