@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/lib/index.js CHANGED
@@ -5,6 +5,7 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
5
5
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
6
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
7
  var classNames = require('classnames');
8
+ var isArray = require('lodash/isArray');
8
9
  var PropTypes = require('prop-types');
9
10
  var React = require('react');
10
11
  var reactDom = require('react-dom');
@@ -34,14 +35,13 @@ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumab
34
35
  var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
35
36
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
36
37
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
38
+ var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
37
39
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
38
40
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
41
  var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
40
42
  var prettyBytes__default = /*#__PURE__*/_interopDefaultLegacy(prettyBytes);
41
43
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
42
44
 
43
- 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"};
44
-
45
45
  var middleEllipsis = function middleEllipsis(string, maxLength) {
46
46
  if (!string) return string;
47
47
  if (maxLength < 1) return string;
@@ -54,7 +54,7 @@ var middleEllipsis = function middleEllipsis(string, maxLength) {
54
54
  return "".concat(string.substring(0, midpoint - lstrip), "...").concat(string.substring(midpoint + rstrip));
55
55
  };
56
56
 
57
- 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"};
57
+ 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"};
58
58
 
59
59
  var propTypes$a = {
60
60
  item: core.PropTypes.media,
@@ -74,76 +74,72 @@ var defaultProps$a = {
74
74
  onClick: null,
75
75
  onClickInfo: null
76
76
  };
77
-
78
77
  var GalleryItem = function GalleryItem(_ref) {
79
78
  var item = _ref.item,
80
- width = _ref.width,
81
- selected = _ref.selected,
82
- withInfoButton = _ref.withInfoButton,
83
- className = _ref.className,
84
- onClick = _ref.onClick,
85
- onClickInfo = _ref.onClickInfo;
79
+ width = _ref.width,
80
+ selected = _ref.selected,
81
+ withInfoButton = _ref.withInfoButton,
82
+ className = _ref.className,
83
+ onClick = _ref.onClick,
84
+ onClickInfo = _ref.onClickInfo;
86
85
  var type = item.type,
87
- _item$thumbnail_url = item.thumbnail_url,
88
- thumbnail = _item$thumbnail_url === void 0 ? null : _item$thumbnail_url,
89
- name = item.name,
90
- size = item.size;
86
+ _item$thumbnail_url = item.thumbnail_url,
87
+ thumbnail = _item$thumbnail_url === void 0 ? null : _item$thumbnail_url,
88
+ name = item.name,
89
+ size = item.size;
91
90
  var title = name;
92
-
93
91
  if (width < 768) {
94
92
  title = middleEllipsis(name, Math.floor(Math.max(18, width / 2 / 9)));
95
93
  } else {
96
94
  title = middleEllipsis(name, Math.floor(Math.max(25, width / 3 / 8)));
97
95
  }
98
-
99
96
  return /*#__PURE__*/React__default["default"].createElement(components.Card, {
100
97
  image: /*#__PURE__*/React__default["default"].createElement("button", {
101
98
  type: "button",
102
- className: classNames__default["default"](['d-block', 'position-relative', 'p-0', 'border-0', 'w-100', 'text-start', 'bg-light', 'text-black', styles$8.imageButton]),
99
+ className: classNames__default["default"](['d-block', 'position-relative', 'p-0', 'border-0', 'w-100', 'text-start', 'bg-light', 'text-black', styles$9.imageButton]),
103
100
  onClick: onClick
104
101
  }, /*#__PURE__*/React__default["default"].createElement("div", {
105
- className: classNames__default["default"](['card-img-top', styles$8.image]),
102
+ className: classNames__default["default"](['card-img-top', styles$9.image]),
106
103
  style: {
107
104
  backgroundImage: thumbnail !== null ? "url('".concat(thumbnail, "')") : null
108
105
  }
109
106
  })),
110
107
  beforeBody: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, withInfoButton ? /*#__PURE__*/React__default["default"].createElement(components.Button, {
111
- className: styles$8.infoButton,
108
+ className: styles$9.infoButton,
112
109
  onClick: onClickInfo,
113
110
  withoutStyle: true
114
111
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
115
112
  icon: faInfoCircle.faInfoCircle,
116
- className: styles$8.icon
113
+ className: styles$9.icon
117
114
  })) : null, selected ? /*#__PURE__*/React__default["default"].createElement("div", {
118
- className: classNames__default["default"](['text-danger', styles$8.closeIcon])
115
+ className: classNames__default["default"](['text-danger', styles$9.closeIcon])
119
116
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
120
117
  icon: faTimesCircle.faTimesCircle,
121
- className: styles$8.icon
118
+ className: styles$9.icon
122
119
  })) : null),
123
120
  footer: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'video' ? /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
124
- className: styles$8.icon,
121
+ className: styles$9.icon,
125
122
  icon: faPlayCircle.faPlayCircle
126
123
  }) : null, type === 'audio' ? /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
127
- className: styles$8.icon,
124
+ className: styles$9.icon,
128
125
  icon: faHeadphonesAlt.faHeadphonesAlt
129
126
  }) : null, /*#__PURE__*/React__default["default"].createElement("div", {
130
- className: classNames__default["default"](['text-truncate', styles$8.label])
127
+ className: classNames__default["default"](['text-truncate', styles$9.label])
131
128
  }, /*#__PURE__*/React__default["default"].createElement("small", null, title), size !== null ? /*#__PURE__*/React__default["default"].createElement("small", {
132
129
  className: "text-muted ms-1"
133
130
  }, size) : null)),
134
131
  theme: selected ? 'primary' : null,
135
- className: classNames__default["default"]([styles$8.container, _defineProperty__default["default"]({
132
+ className: classNames__default["default"]([styles$9.container, _defineProperty__default["default"]({
136
133
  'border-primary': selected
137
134
  }, className, className !== null)]),
138
- footerClassName: classNames__default["default"](['p-1', styles$8.footer]),
135
+ footerClassName: classNames__default["default"](['p-1', styles$9.footer]),
139
136
  onClickFooter: onClick
140
137
  });
141
138
  };
142
-
143
139
  GalleryItem.propTypes = propTypes$a;
144
140
  GalleryItem.defaultProps = defaultProps$a;
145
141
 
146
- var styles$7 = {};
142
+ var styles$8 = {};
147
143
 
148
144
  var propTypes$9 = {
149
145
  items: core.PropTypes.medias,
@@ -165,21 +161,18 @@ var defaultProps$9 = {
165
161
  onClickItem: null,
166
162
  onClickItemInfo: null
167
163
  };
168
-
169
164
  function Gallery(_ref) {
170
165
  var items = _ref.items,
171
- selectedItem = _ref.selectedItem,
172
- withInfoButton = _ref.withInfoButton,
173
- isSmall = _ref.isSmall,
174
- selectedFirst = _ref.selectedFirst,
175
- className = _ref.className,
176
- onClickItem = _ref.onClickItem,
177
- onClickItemInfo = _ref.onClickItemInfo;
178
-
166
+ selectedItem = _ref.selectedItem,
167
+ withInfoButton = _ref.withInfoButton,
168
+ isSmall = _ref.isSmall,
169
+ selectedFirst = _ref.selectedFirst,
170
+ className = _ref.className,
171
+ onClickItem = _ref.onClickItem,
172
+ onClickItemInfo = _ref.onClickItemInfo;
179
173
  var _useDimensionObserver = hooks.useDimensionObserver(),
180
- ref = _useDimensionObserver.ref,
181
- width = _useDimensionObserver.width;
182
-
174
+ ref = _useDimensionObserver.ref,
175
+ width = _useDimensionObserver.width;
183
176
  var finalItems = React.useMemo(function () {
184
177
  if (selectedFirst && selectedItem !== null && typeof selectedItem.id !== 'undefined') {
185
178
  return [selectedItem].concat(_toConsumableArray__default["default"](items.filter(function (_ref2) {
@@ -187,11 +180,10 @@ function Gallery(_ref) {
187
180
  return id !== selectedItem.id;
188
181
  })));
189
182
  }
190
-
191
183
  return items;
192
184
  }, [selectedFirst, selectedItem, items]);
193
185
  return /*#__PURE__*/React__default["default"].createElement("div", {
194
- className: classNames__default["default"]([styles$7.container, 'p-2', _defineProperty__default["default"]({}, className, className !== null)]),
186
+ className: classNames__default["default"]([styles$8.container, 'p-2', _defineProperty__default["default"]({}, className, className !== null)]),
195
187
  ref: ref
196
188
  }, /*#__PURE__*/React__default["default"].createElement("div", {
197
189
  className: classNames__default["default"](['row', 'mx-n1', 'row-cols-2', {
@@ -215,11 +207,10 @@ function Gallery(_ref) {
215
207
  }));
216
208
  })));
217
209
  }
218
-
219
210
  Gallery.propTypes = propTypes$9;
220
211
  Gallery.defaultProps = defaultProps$9;
221
212
 
222
- 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"};
213
+ 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"};
223
214
 
224
215
  var propTypes$8 = {
225
216
  media: core.PropTypes.media,
@@ -231,45 +222,40 @@ var defaultProps$8 = {
231
222
  tags: [],
232
223
  className: null
233
224
  };
234
-
235
225
  function MediaMetadata(_ref) {
236
226
  var media = _ref.media,
237
- allTags = _ref.tags,
238
- className = _ref.className;
239
-
227
+ allTags = _ref.tags,
228
+ className = _ref.className;
240
229
  var _ref2 = media || {},
241
- mediaId = _ref2.id,
242
- type = _ref2.type,
243
- _ref2$url = _ref2.url,
244
- url = _ref2$url === void 0 ? null : _ref2$url,
245
- _ref2$thumbnail_url = _ref2.thumbnail_url,
246
- thumbnail = _ref2$thumbnail_url === void 0 ? null : _ref2$thumbnail_url,
247
- _ref2$name = _ref2.name,
248
- mediaName = _ref2$name === void 0 ? null : _ref2$name,
249
- _ref2$metadata = _ref2.metadata,
250
- metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;
251
-
230
+ mediaId = _ref2.id,
231
+ type = _ref2.type,
232
+ _ref2$url = _ref2.url,
233
+ url = _ref2$url === void 0 ? null : _ref2$url,
234
+ _ref2$thumbnail_url = _ref2.thumbnail_url,
235
+ thumbnail = _ref2$thumbnail_url === void 0 ? null : _ref2$thumbnail_url,
236
+ _ref2$name = _ref2.name,
237
+ mediaName = _ref2$name === void 0 ? null : _ref2$name,
238
+ _ref2$metadata = _ref2.metadata,
239
+ metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;
252
240
  var _ref3 = metadata || {},
253
- _ref3$filename = _ref3.filename,
254
- filename = _ref3$filename === void 0 ? null : _ref3$filename,
255
- _ref3$size = _ref3.size,
256
- size = _ref3$size === void 0 ? null : _ref3$size,
257
- _ref3$width = _ref3.width,
258
- width = _ref3$width === void 0 ? null : _ref3$width,
259
- _ref3$height = _ref3.height,
260
- height = _ref3$height === void 0 ? null : _ref3$height,
261
- _ref3$duration = _ref3.duration,
262
- duration = _ref3$duration === void 0 ? null : _ref3$duration,
263
- _ref3$user = _ref3.user,
264
- user = _ref3$user === void 0 ? null : _ref3$user,
265
- _ref3$description = _ref3.description,
266
- mediaDescription = _ref3$description === void 0 ? null : _ref3$description,
267
- _ref3$tags = _ref3.tags,
268
- mediaTags = _ref3$tags === void 0 ? [] : _ref3$tags;
269
-
241
+ _ref3$filename = _ref3.filename,
242
+ filename = _ref3$filename === void 0 ? null : _ref3$filename,
243
+ _ref3$size = _ref3.size,
244
+ size = _ref3$size === void 0 ? null : _ref3$size,
245
+ _ref3$width = _ref3.width,
246
+ width = _ref3$width === void 0 ? null : _ref3$width,
247
+ _ref3$height = _ref3.height,
248
+ height = _ref3$height === void 0 ? null : _ref3$height,
249
+ _ref3$duration = _ref3.duration,
250
+ duration = _ref3$duration === void 0 ? null : _ref3$duration,
251
+ _ref3$user = _ref3.user,
252
+ user = _ref3$user === void 0 ? null : _ref3$user,
253
+ _ref3$description = _ref3.description,
254
+ mediaDescription = _ref3$description === void 0 ? null : _ref3$description,
255
+ _ref3$tags = _ref3.tags,
256
+ mediaTags = _ref3$tags === void 0 ? [] : _ref3$tags;
270
257
  var _useMediaUpdate = data.useMediaUpdate(),
271
- update = _useMediaUpdate.update;
272
-
258
+ update = _useMediaUpdate.update;
273
259
  var getOptionLabel = React.useCallback(function (_ref4) {
274
260
  var name = _ref4.name;
275
261
  return name;
@@ -289,27 +275,22 @@ function MediaMetadata(_ref) {
289
275
  return id;
290
276
  }) : mediaTags;
291
277
  }, [mediaTags, allTags]);
292
-
293
278
  var _useState = React.useState(mediaName),
294
- _useState2 = _slicedToArray__default["default"](_useState, 2),
295
- name = _useState2[0],
296
- setName = _useState2[1];
297
-
279
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
280
+ name = _useState2[0],
281
+ setName = _useState2[1];
298
282
  var _useState3 = React.useState(mediaDescription),
299
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
300
- description = _useState4[0],
301
- setDescription = _useState4[1];
302
-
283
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
284
+ description = _useState4[0],
285
+ setDescription = _useState4[1];
303
286
  var _useState5 = React.useState(mediaTags.map(getOptionValue)),
304
- _useState6 = _slicedToArray__default["default"](_useState5, 2),
305
- tags = _useState6[0],
306
- setTags = _useState6[1];
307
-
287
+ _useState6 = _slicedToArray__default["default"](_useState5, 2),
288
+ tags = _useState6[0],
289
+ setTags = _useState6[1];
308
290
  var _useState7 = React.useState(false),
309
- _useState8 = _slicedToArray__default["default"](_useState7, 2),
310
- changed = _useState8[0],
311
- setChanged = _useState8[1];
312
-
291
+ _useState8 = _slicedToArray__default["default"](_useState7, 2),
292
+ changed = _useState8[0],
293
+ setChanged = _useState8[1];
313
294
  var onTagChange = React.useCallback(function (val) {
314
295
  setTags(val);
315
296
  setChanged(true);
@@ -341,31 +322,30 @@ function MediaMetadata(_ref) {
341
322
  setName(null);
342
323
  setDescription(null);
343
324
  }
344
-
345
325
  setChanged(false);
346
326
  }, [media, setTags, setName, setDescription, setChanged]);
347
327
  var TextField = contexts.useFieldComponent('text');
348
328
  var TokensField = contexts.useFieldComponent('tokens');
349
329
  return /*#__PURE__*/React__default["default"].createElement("div", {
350
- className: classNames__default["default"]([styles$6.container, _defineProperty__default["default"]({}, className, className)])
330
+ className: classNames__default["default"]([styles$7.container, _defineProperty__default["default"]({}, className, className)])
351
331
  }, /*#__PURE__*/React__default["default"].createElement("div", {
352
332
  className: classNames__default["default"](['position-relative', _defineProperty__default["default"]({
353
333
  'bg-light': type === 'audio',
354
334
  'bg-black': type === 'image'
355
- }, styles$6.video, type === 'video')])
335
+ }, styles$7.video, type === 'video')])
356
336
  }, type === 'video' ? /*#__PURE__*/React__default["default"].createElement("video", {
357
- className: styles$6.player,
337
+ className: styles$7.player,
358
338
  controls: true,
359
339
  src: url
360
340
  }) : null, type === 'audio' ? /*#__PURE__*/React__default["default"].createElement("div", {
361
- className: styles$6.audio
341
+ className: styles$7.audio
362
342
  }, /*#__PURE__*/React__default["default"].createElement("audio", {
363
- className: styles$6.player,
343
+ className: styles$7.player,
364
344
  controls: true,
365
345
  src: url
366
346
  })) : null, type !== 'video' ? /*#__PURE__*/React__default["default"].createElement("img", {
367
347
  src: thumbnail,
368
- className: styles$6.image,
348
+ className: styles$7.image,
369
349
  alt: filename
370
350
  }) : null), /*#__PURE__*/React__default["default"].createElement("div", {
371
351
  className: "p-2"
@@ -413,7 +393,8 @@ function MediaMetadata(_ref) {
413
393
  }]
414
394
  })), /*#__PURE__*/React__default["default"].createElement(TokensField, {
415
395
  value: tags,
416
- options: finalTags // loadOptions={loadTags}
396
+ options: finalTags
397
+ // loadOptions={loadTags}
417
398
  ,
418
399
  getOptionLabel: getOptionLabel,
419
400
  getOptionValue: getOptionValue,
@@ -536,23 +517,22 @@ function MediaMetadata(_ref) {
536
517
  className: "col"
537
518
  }, /*#__PURE__*/React__default["default"].createElement("small", null, user.name)))) : null)));
538
519
  }
539
-
540
520
  MediaMetadata.propTypes = propTypes$8;
541
521
  MediaMetadata.defaultProps = defaultProps$8;
542
522
 
543
523
  var useSearchFilters = function useSearchFilters(_ref) {
544
524
  var _ref$recent = _ref.recent,
545
- recent = _ref$recent === void 0 ? [] : _ref$recent,
546
- _ref$tags = _ref.tags,
547
- tags = _ref$tags === void 0 ? [] : _ref$tags,
548
- _ref$team = _ref.team,
549
- team = _ref$team === void 0 ? [] : _ref$team,
550
- _ref$sources = _ref.sources,
551
- upstreamSources = _ref$sources === void 0 ? [] : _ref$sources,
552
- _ref$withType = _ref.withType,
553
- withType = _ref$withType === void 0 ? false : _ref$withType,
554
- _ref$storyId = _ref.storyId,
555
- storyId = _ref$storyId === void 0 ? null : _ref$storyId;
525
+ recent = _ref$recent === void 0 ? [] : _ref$recent,
526
+ _ref$tags = _ref.tags,
527
+ tags = _ref$tags === void 0 ? [] : _ref$tags,
528
+ _ref$team = _ref.team,
529
+ team = _ref$team === void 0 ? [] : _ref$team,
530
+ _ref$sources = _ref.sources,
531
+ upstreamSources = _ref$sources === void 0 ? [] : _ref$sources,
532
+ _ref$withType = _ref.withType,
533
+ withType = _ref$withType === void 0 ? false : _ref$withType,
534
+ _ref$storyId = _ref.storyId,
535
+ storyId = _ref$storyId === void 0 ? null : _ref$storyId;
556
536
  var sources = [].concat(_toConsumableArray__default["default"](storyId !== null ? [{
557
537
  label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
558
538
  id: "eiaIIB",
@@ -690,6 +670,7 @@ var useSearchFilters = function useSearchFilters(_ref) {
690
670
  };
691
671
  };
692
672
 
673
+ // eslint-disable-next-line import/prefer-default-export
693
674
  var filtersValue = PropTypes__default["default"].shape({
694
675
  search: PropTypes__default["default"].string
695
676
  });
@@ -700,9 +681,7 @@ PropTypes__default["default"].shape({
700
681
  usage: PropTypes__default["default"].arrayOf(PropTypes__default["default"].oneOf(['used', 'unused']))
701
682
  });
702
683
 
703
- 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"};
704
-
705
- 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"};
684
+ 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"};
706
685
 
707
686
  var propTypes$7 = {
708
687
  value: PropTypes__default["default"].string,
@@ -720,18 +699,15 @@ var defaultProps$7 = {
720
699
  onChange: null,
721
700
  className: null
722
701
  };
723
-
724
702
  function DropdownSection(_ref) {
725
703
  var value = _ref.value,
726
- items = _ref.items,
727
- onChange = _ref.onChange,
728
- className = _ref.className;
729
-
704
+ items = _ref.items,
705
+ onChange = _ref.onChange,
706
+ className = _ref.className;
730
707
  var _useState = React.useState(false),
731
- _useState2 = _slicedToArray__default["default"](_useState, 2),
732
- open = _useState2[0],
733
- setOpen = _useState2[1];
734
-
708
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
709
+ open = _useState2[0],
710
+ setOpen = _useState2[1];
735
711
  var currentItem = items.find(function (i) {
736
712
  return i.value === value;
737
713
  });
@@ -750,9 +726,9 @@ function DropdownSection(_ref) {
750
726
  onChange(val);
751
727
  }, [setOpen]);
752
728
  return items !== null && items.length > 1 ? /*#__PURE__*/React__default["default"].createElement("div", {
753
- className: classNames__default["default"]([styles$4.container, 'dropdown', _defineProperty__default["default"]({}, className, className !== null)])
729
+ className: classNames__default["default"]([styles$6.container, 'dropdown', _defineProperty__default["default"]({}, className, className !== null)])
754
730
  }, /*#__PURE__*/React__default["default"].createElement("span", {
755
- className: styles$4.label
731
+ className: styles$6.label
756
732
  }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
757
733
  id: "9ZdD+Q",
758
734
  defaultMessage: [{
@@ -760,7 +736,7 @@ function DropdownSection(_ref) {
760
736
  "value": "Library for"
761
737
  }]
762
738
  })), /*#__PURE__*/React__default["default"].createElement("button", {
763
- className: classNames__default["default"]([styles$4.dropdownToggle, 'dropdown-toggle', {
739
+ className: classNames__default["default"]([styles$6.dropdownToggle, 'dropdown-toggle', {
764
740
  open: open === true
765
741
  }]),
766
742
  type: "button",
@@ -773,12 +749,12 @@ function DropdownSection(_ref) {
773
749
  "value": "All"
774
750
  }]
775
751
  })), /*#__PURE__*/React__default["default"].createElement("div", {
776
- className: classNames__default["default"]([styles$4.dropdown, 'dropdown-menu', {
752
+ className: classNames__default["default"]([styles$6.dropdown, 'dropdown-menu', {
777
753
  show: open === true
778
754
  }])
779
755
  }, items.map(function (_ref3) {
780
756
  var label = _ref3.label,
781
- itemValue = _ref3.value;
757
+ itemValue = _ref3.value;
782
758
  var itemClassNames = classNames__default["default"](['dropdown-item', {
783
759
  active: itemValue === value
784
760
  }]);
@@ -791,10 +767,11 @@ function DropdownSection(_ref) {
791
767
  }, label);
792
768
  }))) : null;
793
769
  }
794
-
795
770
  DropdownSection.propTypes = propTypes$7;
796
771
  DropdownSection.defaultProps = defaultProps$7;
797
772
 
773
+ // import { PropTypes as MicromagPropTypes } from '@micromag/core';
774
+
798
775
  var propTypes$6 = {
799
776
  value: PropTypes__default["default"].string,
800
777
  onChange: PropTypes__default["default"].func,
@@ -811,18 +788,16 @@ var defaultProps$6 = {
811
788
  onClickIcon: null,
812
789
  className: null
813
790
  };
814
-
815
791
  var Search = function Search(_ref) {
816
792
  var value = _ref.value,
817
- onChange = _ref.onChange,
818
- onFocus = _ref.onFocus,
819
- onBlur = _ref.onBlur,
820
- onClickIcon = _ref.onClickIcon,
821
- className = _ref.className;
793
+ onChange = _ref.onChange,
794
+ onFocus = _ref.onFocus,
795
+ onBlur = _ref.onBlur,
796
+ onClickIcon = _ref.onClickIcon,
797
+ className = _ref.className;
822
798
  var intl = reactIntl.useIntl();
823
799
  var onSearchChange = React.useCallback(function (e) {
824
800
  var newValue = e.currentTarget.value.length > 0 ? e.currentTarget.value : null;
825
-
826
801
  if (onChange !== null) {
827
802
  onChange(newValue);
828
803
  }
@@ -839,7 +814,7 @@ var Search = function Search(_ref) {
839
814
  }, [onClickIcon]);
840
815
  return /*#__PURE__*/React__default["default"].createElement("form", {
841
816
  method: "post",
842
- className: classNames__default["default"](['w-100', _defineProperty__default["default"]({}, className, className !== null)]),
817
+ className: classNames__default["default"](['w-100', 'border', 'border-dark', 'rounded', _defineProperty__default["default"]({}, className, className !== null)]),
843
818
  onSubmit: function onSubmit(e) {
844
819
  return e.preventDefault();
845
820
  }
@@ -859,10 +834,10 @@ var Search = function Search(_ref) {
859
834
  type: "text",
860
835
  value: value || '',
861
836
  placeholder: intl.formatMessage({
862
- id: "gprXiG",
837
+ id: "FFBsfJ",
863
838
  defaultMessage: [{
864
839
  "type": 0,
865
- "value": "Search..."
840
+ "value": "Search medias..."
866
841
  }]
867
842
  }),
868
843
  onChange: onSearchChange,
@@ -870,13 +845,12 @@ var Search = function Search(_ref) {
870
845
  onBlur: onBlur
871
846
  }), null));
872
847
  };
873
-
874
848
  Search.propTypes = propTypes$6;
875
849
  Search.defaultProps = defaultProps$6;
876
850
 
877
- 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"};
851
+ 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"};
878
852
 
879
- var styles$2 = {"container":"micromag-media-gallery-forms-tag-section-container","tag":"micromag-media-gallery-forms-tag-section-tag"};
853
+ var styles$4 = {"container":"micromag-media-gallery-forms-tag-section-container","tag":"micromag-media-gallery-forms-tag-section-tag"};
880
854
 
881
855
  var propTypes$5 = {
882
856
  tags: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
@@ -894,26 +868,26 @@ var defaultProps$5 = {
894
868
  onChange: null,
895
869
  className: null
896
870
  };
897
-
898
871
  var TagSection = function TagSection(_ref) {
899
872
  var tags = _ref.tags,
900
- parent = _ref.parent,
901
- onChange = _ref.onChange,
902
- className = _ref.className;
873
+ parent = _ref.parent,
874
+ onChange = _ref.onChange,
875
+ className = _ref.className;
903
876
  var onItemChange = React.useCallback(function (e) {
904
877
  var val = e.target.dataset.value || null;
905
878
  onChange(val, parent);
906
879
  }, [onChange, parent]);
907
880
  return /*#__PURE__*/React__default["default"].createElement("div", {
908
- className: classNames__default["default"]([styles$2.container, 'd-flex', 'mt-1', _defineProperty__default["default"]({}, className, className !== null)])
881
+ className: classNames__default["default"]([styles$4.container, 'd-flex', 'mt-1', _defineProperty__default["default"]({}, className, className !== null)])
909
882
  }, tags !== null ? tags.map(function (_ref3) {
910
883
  var label = _ref3.label,
911
- value = _ref3.value,
912
- active = _ref3.active;
913
- var itemClassNames = classNames__default["default"]([styles$2.tag, 'btn', 'btn-sm', 'mb-1', 'me-1', 'p-1', 'btn-dark', {
914
- 'btn-primary': active === true // 'btn-outline-light': active === false,
915
-
884
+ value = _ref3.value,
885
+ active = _ref3.active;
886
+ var itemClassNames = classNames__default["default"]([styles$4.tag, 'btn', 'btn-sm', 'mb-1', 'me-1', 'p-1', 'btn-dark', {
887
+ 'btn-primary': active === true
888
+ // 'btn-outline-light': active === false,
916
889
  }]);
890
+
917
891
  return /*#__PURE__*/React__default["default"].createElement("button", {
918
892
  className: itemClassNames,
919
893
  type: "button",
@@ -923,7 +897,6 @@ var TagSection = function TagSection(_ref) {
923
897
  }, label);
924
898
  }) : null);
925
899
  };
926
-
927
900
  TagSection.propTypes = propTypes$5;
928
901
  TagSection.defaultProps = defaultProps$5;
929
902
 
@@ -942,13 +915,12 @@ var defaultProps$4 = {
942
915
  onClose: null,
943
916
  className: null
944
917
  };
945
-
946
918
  var SearchFilters = function SearchFilters(_ref) {
947
919
  var filters = _ref.filters,
948
- sections = _ref.sections,
949
- onChange = _ref.onChange,
950
- onClose = _ref.onClose,
951
- className = _ref.className;
920
+ sections = _ref.sections,
921
+ onChange = _ref.onChange,
922
+ onClose = _ref.onClose,
923
+ className = _ref.className;
952
924
  var intl = reactIntl.useIntl();
953
925
  var getActive = React.useCallback(function (items, sectionFilters) {
954
926
  return items !== null ? items.map(function (it) {
@@ -971,7 +943,6 @@ var SearchFilters = function SearchFilters(_ref) {
971
943
  var found = !!val.find(function (f) {
972
944
  return f === data;
973
945
  });
974
-
975
946
  if (found) {
976
947
  onChange(section, val.filter(function (f) {
977
948
  return f !== data;
@@ -987,11 +958,11 @@ var SearchFilters = function SearchFilters(_ref) {
987
958
  }
988
959
  }, [filters, onChange]);
989
960
  return /*#__PURE__*/React__default["default"].createElement("div", {
990
- className: classNames__default["default"]([styles$3.container, 'flex-nowrap', 'mt-1', _defineProperty__default["default"]({}, className, className !== null)])
961
+ className: classNames__default["default"]([styles$5.container, 'flex-nowrap', 'mt-1', _defineProperty__default["default"]({}, className, className !== null)])
991
962
  }, activeSections.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
992
963
  className: classNames__default["default"](['bg-light', 'flex-nowrap', 'text-dark', 'py-1', 'px-3', 'rounded'])
993
964
  }, /*#__PURE__*/React__default["default"].createElement(components.Button, {
994
- className: classNames__default["default"]([styles$3.closeBtn, 'py-1', 'px-1', 'text-dark']),
965
+ className: classNames__default["default"]([styles$5.closeBtn, 'py-1', 'px-1', 'text-dark']),
995
966
  icon: /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
996
967
  icon: faTimes.faTimes
997
968
  }),
@@ -1005,28 +976,27 @@ var SearchFilters = function SearchFilters(_ref) {
1005
976
  })
1006
977
  }), activeSections.map(function (_ref3) {
1007
978
  var value = _ref3.value,
1008
- label = _ref3.label,
1009
- items = _ref3.items;
979
+ label = _ref3.label,
980
+ items = _ref3.items;
1010
981
  return items.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
1011
982
  key: "filter-".concat(value),
1012
- className: classNames__default["default"]([styles$3.section, 'py-2'])
983
+ className: classNames__default["default"]([styles$5.section, 'py-2'])
1013
984
  }, /*#__PURE__*/React__default["default"].createElement("p", {
1014
- className: classNames__default["default"]([styles$3.title, 'm-0'])
985
+ className: classNames__default["default"]([styles$5.title, 'm-0'])
1015
986
  }, label), /*#__PURE__*/React__default["default"].createElement(TagSection, {
1016
- className: classNames__default["default"]([styles$3.tags]),
987
+ className: classNames__default["default"]([styles$5.tags]),
1017
988
  tags: items,
1018
989
  parent: value,
1019
990
  onChange: onSectionChange
1020
991
  })) : null;
1021
992
  })) : null);
1022
993
  };
1023
-
1024
994
  SearchFilters.propTypes = propTypes$4;
1025
995
  SearchFilters.defaultProps = defaultProps$4;
1026
996
 
1027
- 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"};
997
+ 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"};
1028
998
 
1029
- var styles = {"container":"micromag-media-gallery-buttons-close-container"};
999
+ var styles$2 = {"container":"micromag-media-gallery-buttons-close-container"};
1030
1000
 
1031
1001
  var _excluded = ["className"];
1032
1002
  var propTypes$3 = {
@@ -1035,22 +1005,19 @@ var propTypes$3 = {
1035
1005
  var defaultProps$3 = {
1036
1006
  className: null
1037
1007
  };
1038
-
1039
1008
  var CloseButton = function CloseButton(_ref) {
1040
1009
  var className = _ref.className,
1041
- props = _objectWithoutProperties__default["default"](_ref, _excluded);
1042
-
1010
+ props = _objectWithoutProperties__default["default"](_ref, _excluded);
1043
1011
  return /*#__PURE__*/React__default["default"].createElement(components.Button, Object.assign({
1044
- className: classNames__default["default"]([styles.container, _defineProperty__default["default"]({}, className, className !== null)]),
1012
+ className: classNames__default["default"]([styles$2.container, _defineProperty__default["default"]({}, className, className !== null)]),
1045
1013
  withoutStyle: true,
1046
1014
  icon: /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
1047
1015
  icon: faTimes.faTimes,
1048
- className: styles.icon
1016
+ className: styles$2.icon
1049
1017
  }),
1050
1018
  iconPosition: "right"
1051
1019
  }, props));
1052
1020
  };
1053
-
1054
1021
  CloseButton.propTypes = propTypes$3;
1055
1022
  CloseButton.defaultProps = defaultProps$3;
1056
1023
 
@@ -1073,13 +1040,12 @@ var defaultProps$2 = {
1073
1040
  sections: [],
1074
1041
  className: null
1075
1042
  };
1076
-
1077
1043
  function ActiveFilters(_ref) {
1078
1044
  var filters = _ref.filters,
1079
- onChange = _ref.onChange,
1080
- onReset = _ref.onReset,
1081
- sections = _ref.sections,
1082
- className = _ref.className;
1045
+ onChange = _ref.onChange,
1046
+ onReset = _ref.onReset,
1047
+ sections = _ref.sections,
1048
+ className = _ref.className;
1083
1049
  var handleReset = React.useCallback(function () {
1084
1050
  if (onReset !== null) {
1085
1051
  onReset();
@@ -1090,7 +1056,6 @@ function ActiveFilters(_ref) {
1090
1056
  return it !== activeValue;
1091
1057
  });
1092
1058
  var newValue = newFilterValue.length > 0 ? newFilterValue : null;
1093
-
1094
1059
  if (onChange !== null) {
1095
1060
  onChange(key, newValue);
1096
1061
  }
@@ -1099,11 +1064,11 @@ function ActiveFilters(_ref) {
1099
1064
  return oneHasValue || filters[key] !== null;
1100
1065
  }, false);
1101
1066
  return /*#__PURE__*/React__default["default"].createElement("div", {
1102
- className: classNames__default["default"](['w-100', styles$1.container, _defineProperty__default["default"]({}, className, className)])
1067
+ className: classNames__default["default"](['w-100', styles$3.container, _defineProperty__default["default"]({}, className, className)])
1103
1068
  }, hasValue ? /*#__PURE__*/React__default["default"].createElement("div", {
1104
- className: styles$1.heading
1069
+ className: styles$3.heading
1105
1070
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1106
- className: styles$1.title
1071
+ className: styles$3.title
1107
1072
  }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1108
1073
  id: "t2cFdl",
1109
1074
  defaultMessage: [{
@@ -1111,7 +1076,7 @@ function ActiveFilters(_ref) {
1111
1076
  "value": "Active filters"
1112
1077
  }]
1113
1078
  })), /*#__PURE__*/React__default["default"].createElement(CloseButton, {
1114
- className: styles$1.resetButton,
1079
+ className: styles$3.resetButton,
1115
1080
  onClick: handleReset
1116
1081
  }, /*#__PURE__*/React__default["default"].createElement("u", null, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1117
1082
  id: "/T/UDH",
@@ -1127,13 +1092,11 @@ function ActiveFilters(_ref) {
1127
1092
  var current = section.items.find(function (s) {
1128
1093
  return s.value === activeValue;
1129
1094
  });
1130
-
1131
1095
  var _ref3 = current || {},
1132
- _ref3$label = _ref3.label,
1133
- label = _ref3$label === void 0 ? '' : _ref3$label;
1134
-
1096
+ _ref3$label = _ref3.label,
1097
+ label = _ref3$label === void 0 ? '' : _ref3$label;
1135
1098
  return /*#__PURE__*/React__default["default"].createElement(components.Button, {
1136
- className: styles$1.activeTag,
1099
+ className: styles$3.activeTag,
1137
1100
  key: "filter-button-".concat(activeValue),
1138
1101
  type: "submit",
1139
1102
  size: "sm",
@@ -1150,11 +1113,13 @@ function ActiveFilters(_ref) {
1150
1113
  }) : null;
1151
1114
  }) : null);
1152
1115
  }
1153
-
1154
1116
  ActiveFilters.propTypes = propTypes$2;
1155
1117
  ActiveFilters.defaultProps = defaultProps$2;
1156
1118
 
1119
+ 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"};
1120
+
1157
1121
  var propTypes$1 = {
1122
+ types: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
1158
1123
  filters: filtersValue,
1159
1124
  media: core.PropTypes.media,
1160
1125
  selectedMedia: core.PropTypes.media,
@@ -1174,6 +1139,7 @@ var propTypes$1 = {
1174
1139
  className: PropTypes__default["default"].string
1175
1140
  };
1176
1141
  var defaultProps$1 = {
1142
+ types: null,
1177
1143
  filters: null,
1178
1144
  media: null,
1179
1145
  selectedMedia: null,
@@ -1191,78 +1157,71 @@ var defaultProps$1 = {
1191
1157
  onClickBack: null,
1192
1158
  className: null
1193
1159
  };
1194
-
1195
1160
  function Navbar(_ref) {
1196
- var filters = _ref.filters,
1197
- media = _ref.media,
1198
- selectedMedia = _ref.selectedMedia,
1199
- storyId = _ref.storyId,
1200
- tags = _ref.tags,
1201
- authors = _ref.authors,
1202
- withoutSource = _ref.withoutSource,
1203
- withoutType = _ref.withoutType,
1204
- className = _ref.className,
1205
- onClickAdd = _ref.onClickAdd,
1206
- onClickItem = _ref.onClickItem,
1207
- onClickItemInfo = _ref.onClickItemInfo,
1208
- onClickClear = _ref.onClickClear,
1209
- onFocusSearch = _ref.onFocusSearch,
1210
- onFiltersChange = _ref.onFiltersChange,
1211
- onClickBack = _ref.onClickBack;
1161
+ var types = _ref.types,
1162
+ filters = _ref.filters,
1163
+ media = _ref.media,
1164
+ selectedMedia = _ref.selectedMedia,
1165
+ storyId = _ref.storyId,
1166
+ tags = _ref.tags,
1167
+ authors = _ref.authors,
1168
+ withoutSource = _ref.withoutSource,
1169
+ withoutType = _ref.withoutType,
1170
+ className = _ref.className,
1171
+ onClickAdd = _ref.onClickAdd,
1172
+ onClickItem = _ref.onClickItem,
1173
+ onClickItemInfo = _ref.onClickItemInfo,
1174
+ onClickClear = _ref.onClickClear,
1175
+ onFocusSearch = _ref.onFocusSearch,
1176
+ onFiltersChange = _ref.onFiltersChange,
1177
+ onClickBack = _ref.onClickBack;
1212
1178
  var intl = reactIntl.useIntl();
1213
1179
  var throttle = React.useRef(null);
1214
-
1215
1180
  var _useState = React.useState(false),
1216
- _useState2 = _slicedToArray__default["default"](_useState, 2),
1217
- open = _useState2[0],
1218
- setOpen = _useState2[1]; // TODO: get data from api for real testing
1181
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
1182
+ open = _useState2[0],
1183
+ setOpen = _useState2[1];
1219
1184
 
1185
+ // TODO: get data from api for real testing
1220
1186
 
1221
1187
  var _useMediasRecentSearc = data.useMediasRecentSearches(),
1222
- getSearches = _useMediasRecentSearc.getSearches,
1223
- createSearch = _useMediasRecentSearc.createSearch;
1224
-
1188
+ getSearches = _useMediasRecentSearc.getSearches,
1189
+ createSearch = _useMediasRecentSearc.createSearch;
1225
1190
  var recent = React.useMemo(function () {
1226
1191
  return getSearches();
1227
1192
  }, [getSearches]);
1228
-
1229
1193
  var _useSearchFilters = useSearchFilters({
1230
- recent: recent.map(function (val) {
1231
- return {
1232
- value: val,
1233
- label: val
1234
- };
1194
+ recent: recent.map(function (val) {
1195
+ return {
1196
+ value: val,
1197
+ label: val
1198
+ };
1199
+ }),
1200
+ tags: tags !== null ? tags.map(function (t) {
1201
+ return {
1202
+ value: t.name,
1203
+ label: t.name
1204
+ };
1205
+ }) : [],
1206
+ team: authors || [],
1207
+ withType: !withoutType,
1208
+ storyId: storyId
1235
1209
  }),
1236
- tags: tags !== null ? tags.map(function (t) {
1237
- return {
1238
- value: t.name,
1239
- label: t.name
1240
- };
1241
- }) : [],
1242
- team: authors || [],
1243
- withType: !withoutType,
1244
- storyId: storyId
1245
- }),
1246
- sources = _useSearchFilters.sources,
1247
- sections = _useSearchFilters.sections;
1248
-
1210
+ sources = _useSearchFilters.sources,
1211
+ sections = _useSearchFilters.sections;
1249
1212
  var searchValue = filters !== null ? filters.search || null : null;
1250
1213
  var hasFilter = filters !== null ? Object.keys(filters).reduce(function (acc, val) {
1251
1214
  if (val !== 'type' && val !== 'search' && val !== 'source' && filters[val] !== null && filters[val].length > 0) {
1252
1215
  return true;
1253
1216
  }
1254
-
1255
1217
  return acc;
1256
1218
  }, false) : false;
1257
1219
  var onFilterChange = React.useCallback(function (type, value) {
1258
1220
  var isOpen = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1259
-
1260
1221
  var newFiltersValue = _objectSpread__default["default"](_objectSpread__default["default"]({}, filters), {}, _defineProperty__default["default"]({}, type, value));
1261
-
1262
1222
  if (onFiltersChange !== null) {
1263
1223
  onFiltersChange(newFiltersValue);
1264
1224
  }
1265
-
1266
1225
  setOpen(isOpen);
1267
1226
  }, [filters, onFiltersChange, setOpen]);
1268
1227
  var onFiltersReset = React.useCallback(function () {
@@ -1277,7 +1236,6 @@ function Navbar(_ref) {
1277
1236
  if (throttle.current !== null) {
1278
1237
  clearTimeout(throttle.current);
1279
1238
  }
1280
-
1281
1239
  throttle.current = setTimeout(function () {
1282
1240
  createSearch(value);
1283
1241
  throttle.current = null;
@@ -1306,37 +1264,87 @@ function Navbar(_ref) {
1306
1264
  onClickItem(null);
1307
1265
  }
1308
1266
  }, [onClickClear, onClickItem]);
1267
+ var uploadMessage = React.useMemo(function () {
1268
+ var message = /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1269
+ id: "3Ap0C1",
1270
+ defaultMessage: [{
1271
+ "type": 0,
1272
+ "value": "Upload a media"
1273
+ }]
1274
+ });
1275
+ if (types !== null) {
1276
+ if (types.indexOf('video') !== -1 && types.indexOf('image') !== -1) {
1277
+ message = /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1278
+ id: "KK5teQ",
1279
+ defaultMessage: [{
1280
+ "type": 0,
1281
+ "value": "Upload a visual file"
1282
+ }]
1283
+ });
1284
+ } else if (types.indexOf('video') !== -1) {
1285
+ message = /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1286
+ id: "WeD4nB",
1287
+ defaultMessage: [{
1288
+ "type": 0,
1289
+ "value": "Upload a video file"
1290
+ }]
1291
+ });
1292
+ } else if (types.indexOf('image') !== -1) {
1293
+ message = /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1294
+ id: "KdAKt7",
1295
+ defaultMessage: [{
1296
+ "type": 0,
1297
+ "value": "Upload an image file"
1298
+ }]
1299
+ });
1300
+ } else if (types.indexOf('audio') !== -1) {
1301
+ message = /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1302
+ id: "6W4St0",
1303
+ defaultMessage: [{
1304
+ "type": 0,
1305
+ "value": "Upload an audio file"
1306
+ }]
1307
+ });
1308
+ } else if (types.indexOf('subtitle') !== -1) {
1309
+ message = /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1310
+ id: "BAfC6s",
1311
+ defaultMessage: [{
1312
+ "type": 0,
1313
+ "value": "Upload a closed captions file"
1314
+ }]
1315
+ });
1316
+ }
1317
+ }
1318
+ return message;
1319
+ }, [types]);
1309
1320
  return /*#__PURE__*/React__default["default"].createElement("nav", {
1310
- className: classNames__default["default"]([styles$5.container, 'navbar', _defineProperty__default["default"]({}, className, className !== null)])
1321
+ className: classNames__default["default"]([styles$1.container, 'navbar', _defineProperty__default["default"]({}, className, className !== null)])
1311
1322
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1312
- className: classNames__default["default"]([styles$5.inner])
1323
+ className: classNames__default["default"]([styles$1.inner])
1313
1324
  }, media === null ? /*#__PURE__*/React__default["default"].createElement("div", {
1314
- className: "list-group-item rounded w-100 mw-100 py-1 px-1 navbar-text d-flex align-items-center justify-content-between"
1325
+ className: classNames__default["default"](['list-group-item rounded w-100 mw-100 py-1 px-1 navbar-text d-flex align-items-center justify-content-between', {
1326
+ 'border border-dark': selectedMedia !== null
1327
+ }])
1315
1328
  }, selectedMedia !== null ? /*#__PURE__*/React__default["default"].createElement(components.Button, {
1316
- className: classNames__default["default"]([styles$5.mediaLabel, 'd-flex px-0 py-0 align-items-center']),
1329
+ className: classNames__default["default"]([styles$1.mediaLabel, 'd-flex px-0 py-0 me-1 align-items-center border-0']),
1317
1330
  onClick: function onClick() {
1318
1331
  return onClickItemInfo(selectedMedia);
1319
- }
1332
+ },
1333
+ theme: "primary",
1334
+ outline: true
1320
1335
  }, /*#__PURE__*/React__default["default"].createElement(components.Media, {
1321
- className: styles$5.mediaPreview,
1336
+ className: styles$1.mediaPreview,
1322
1337
  thumbnail: selectedMedia === null || selectedMedia === void 0 ? void 0 : selectedMedia.thumbnail_url
1323
1338
  }), /*#__PURE__*/React__default["default"].createElement("span", {
1324
- className: classNames__default["default"]([styles$5.mediaLabel, 'd-inline-block', 'text-truncate'])
1339
+ className: classNames__default["default"]([styles$1.mediaLabel, 'd-inline-block', 'text-truncate', 'mx-1', 'me-2'])
1325
1340
  }, selectedMedia.name || /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1326
1341
  id: "fVqgfl",
1327
1342
  defaultMessage: [{
1328
1343
  "type": 0,
1329
1344
  "value": "[no title]"
1330
1345
  }]
1331
- }))) : /*#__PURE__*/React__default["default"].createElement("span", {
1332
- className: "ps-2"
1333
- }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1334
- id: "VspZp9",
1335
- defaultMessage: [{
1336
- "type": 0,
1337
- "value": "Upload an image"
1338
- }]
1339
- })), selectedMedia === null ? /*#__PURE__*/React__default["default"].createElement(components.Button, {
1346
+ }))) : /*#__PURE__*/React__default["default"].createElement(components.Button, {
1347
+ className: "w-100",
1340
1348
  theme: "primary",
1341
1349
  icon: /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
1342
1350
  icon: faPlus.faPlus
@@ -1349,7 +1357,9 @@ function Navbar(_ref) {
1349
1357
  "value": "Add"
1350
1358
  }]
1351
1359
  })
1352
- }) : /*#__PURE__*/React__default["default"].createElement(components.Button, {
1360
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
1361
+ className: "ps-2"
1362
+ }, uploadMessage)), selectedMedia === null ? null : /*#__PURE__*/React__default["default"].createElement(components.Button, {
1353
1363
  theme: "primary",
1354
1364
  icon: /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
1355
1365
  icon: faTimes.faTimes
@@ -1406,10 +1416,11 @@ function Navbar(_ref) {
1406
1416
  onReset: onFiltersReset
1407
1417
  })) : null));
1408
1418
  }
1409
-
1410
1419
  Navbar.propTypes = propTypes$1;
1411
1420
  Navbar.defaultProps = defaultProps$1;
1412
1421
 
1422
+ 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"};
1423
+
1413
1424
  var videoTypes = ['video', 'image/gif'];
1414
1425
  var propTypes = {
1415
1426
  type: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].array]),
@@ -1441,88 +1452,79 @@ var defaultProps = {
1441
1452
  onClickMedia: null,
1442
1453
  onClearMedia: null
1443
1454
  };
1444
-
1445
1455
  function MediaGallery(_ref) {
1446
1456
  var _ref3;
1447
-
1448
1457
  var type = _ref.type,
1449
- source = _ref.source,
1450
- isPicker = _ref.isPicker,
1451
- isSmall = _ref.isSmall,
1452
- withoutTitle = _ref.withoutTitle,
1453
- withoutSource = _ref.withoutSource,
1454
- withoutType = _ref.withoutType,
1455
- initialMedias = _ref.medias,
1456
- selectedMedia = _ref.selectedMedia,
1457
- className = _ref.className,
1458
- navbarClassName = _ref.navbarClassName,
1459
- onClickMedia = _ref.onClickMedia,
1460
- onClearMedia = _ref.onClearMedia;
1458
+ source = _ref.source,
1459
+ isPicker = _ref.isPicker,
1460
+ isSmall = _ref.isSmall,
1461
+ withoutTitle = _ref.withoutTitle,
1462
+ withoutSource = _ref.withoutSource,
1463
+ withoutType = _ref.withoutType,
1464
+ initialMedias = _ref.medias,
1465
+ selectedMedia = _ref.selectedMedia,
1466
+ className = _ref.className,
1467
+ navbarClassName = _ref.navbarClassName,
1468
+ onClickMedia = _ref.onClickMedia,
1469
+ onClearMedia = _ref.onClearMedia;
1461
1470
  // Base state for filters
1462
1471
  var defaultFilters = {
1463
1472
  type: type,
1464
1473
  source: source
1465
- }; // Filters
1474
+ };
1466
1475
 
1476
+ // Filters
1467
1477
  var throttle = React.useRef(null);
1468
-
1469
1478
  var _useState = React.useState(defaultFilters),
1470
- _useState2 = _slicedToArray__default["default"](_useState, 2),
1471
- queryValue = _useState2[0],
1472
- setQueryValue = _useState2[1];
1473
-
1479
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
1480
+ queryValue = _useState2[0],
1481
+ setQueryValue = _useState2[1];
1474
1482
  var _useState3 = React.useState(defaultFilters),
1475
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
1476
- filtersValue = _useState4[0],
1477
- setFiltersValue = _useState4[1];
1478
-
1483
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
1484
+ filtersValue = _useState4[0],
1485
+ setFiltersValue = _useState4[1];
1479
1486
  var story = contexts.useStory();
1480
-
1481
1487
  var _ref2 = story || {},
1482
- _ref2$id = _ref2.id,
1483
- storyId = _ref2$id === void 0 ? null : _ref2$id;
1484
-
1488
+ _ref2$id = _ref2.id,
1489
+ storyId = _ref2$id === void 0 ? null : _ref2$id;
1485
1490
  var _useMediaTags = data.useMediaTags(),
1486
- tags = _useMediaTags.tags;
1487
-
1491
+ tags = _useMediaTags.tags;
1488
1492
  var _useMediaAuthors = data.useMediaAuthors(),
1489
- authors = _useMediaAuthors.authors;
1490
-
1493
+ authors = _useMediaAuthors.authors;
1491
1494
  var onFiltersChange = React.useCallback(function (value) {
1492
1495
  if (throttle.current !== null) {
1493
1496
  clearTimeout(throttle.current);
1494
1497
  }
1495
-
1496
1498
  throttle.current = setTimeout(function () {
1497
1499
  setQueryValue(value);
1498
1500
  throttle.current = null;
1499
1501
  }, 500);
1500
1502
  setFiltersValue(value);
1501
- }, [setFiltersValue, setQueryValue, throttle]); // Items
1503
+ }, [setFiltersValue, setQueryValue, throttle]);
1502
1504
 
1505
+ // Items
1503
1506
  var _useMedias = data.useMedias(queryValue, 1, 100, _objectSpread__default["default"]({}, initialMedias !== null ? {
1504
- items: initialMedias
1505
- } : null)),
1506
- loadedMedias = _useMedias.allMedias,
1507
- _useMedias$loading = _useMedias.loading,
1508
- loading = _useMedias$loading === void 0 ? false : _useMedias$loading; // Temporary type filter
1509
-
1507
+ items: initialMedias
1508
+ } : null)),
1509
+ loadedMedias = _useMedias.allMedias,
1510
+ _useMedias$loading = _useMedias.loading,
1511
+ loading = _useMedias$loading === void 0 ? false : _useMedias$loading;
1510
1512
 
1513
+ // Temporary type filter
1511
1514
  var _useState5 = React.useState([]),
1512
- _useState6 = _slicedToArray__default["default"](_useState5, 2),
1513
- addedMedias = _useState6[0],
1514
- setAddedMedias = _useState6[1];
1515
-
1515
+ _useState6 = _slicedToArray__default["default"](_useState5, 2),
1516
+ addedMedias = _useState6[0],
1517
+ setAddedMedias = _useState6[1];
1516
1518
  var medias = React.useMemo(function () {
1517
1519
  var allMedias = [].concat(_toConsumableArray__default["default"](addedMedias), _toConsumableArray__default["default"](loadedMedias || []));
1518
1520
  return allMedias.length > 0 ? allMedias : null;
1519
- }, [loadedMedias, addedMedias]); // Medias
1521
+ }, [loadedMedias, addedMedias]);
1520
1522
 
1523
+ // Medias
1521
1524
  var _useState7 = React.useState(null),
1522
- _useState8 = _slicedToArray__default["default"](_useState7, 2),
1523
- metadataMedia = _useState8[0],
1524
- setMetadataMedia = _useState8[1];
1525
-
1525
+ _useState8 = _slicedToArray__default["default"](_useState7, 2),
1526
+ metadataMedia = _useState8[0],
1527
+ setMetadataMedia = _useState8[1];
1526
1528
  var onClickItem = React.useCallback(function (media) {
1527
1529
  if (!isPicker) {
1528
1530
  setMetadataMedia(media);
@@ -1535,31 +1537,30 @@ function MediaGallery(_ref) {
1535
1537
  }, [setMetadataMedia]);
1536
1538
  var onMetadataClickClose = React.useCallback(function () {
1537
1539
  return setMetadataMedia(null);
1538
- }, [setMetadataMedia]); // Navigation
1540
+ }, [setMetadataMedia]);
1539
1541
 
1542
+ // Navigation
1540
1543
  var onClickBack = React.useCallback(function () {
1541
1544
  return setMetadataMedia(null);
1542
- }, [setMetadataMedia]); // Reset all filters except source
1545
+ }, [setMetadataMedia]);
1543
1546
 
1544
- React.useCallback(function () {
1545
- return setFiltersValue(_objectSpread__default["default"](_objectSpread__default["default"]({}, defaultFilters), {}, {
1546
- source: filtersValue.source || null
1547
- }));
1548
- }, [defaultFilters, filtersValue, setFiltersValue]); // Upload modal
1547
+ // Reset all filters except source
1548
+ // const onClickCancel = useCallback(
1549
+ // () => setFiltersValue({ ...defaultFilters, source: filtersValue.source || null }),
1550
+ // [defaultFilters, filtersValue, setFiltersValue],
1551
+ // );
1549
1552
 
1553
+ // Upload modal
1550
1554
  var _useState9 = React.useState(false),
1551
- _useState10 = _slicedToArray__default["default"](_useState9, 2),
1552
- uploading = _useState10[0],
1553
- setUploading = _useState10[1];
1554
-
1555
+ _useState10 = _slicedToArray__default["default"](_useState9, 2),
1556
+ uploading = _useState10[0],
1557
+ setUploading = _useState10[1];
1555
1558
  var _useState11 = React.useState(false),
1556
- _useState12 = _slicedToArray__default["default"](_useState11, 2),
1557
- uploadModalOpened = _useState12[0],
1558
- setUploadModalOpened = _useState12[1];
1559
-
1559
+ _useState12 = _slicedToArray__default["default"](_useState11, 2),
1560
+ uploadModalOpened = _useState12[0],
1561
+ setUploadModalOpened = _useState12[1];
1560
1562
  var _useMediaCreate = data.useMediaCreate(),
1561
- createMedia = _useMediaCreate.create;
1562
-
1563
+ createMedia = _useMediaCreate.create;
1563
1564
  var onClickAdd = React.useCallback(function () {
1564
1565
  return setUploadModalOpened(true);
1565
1566
  }, [setUploadModalOpened]);
@@ -1574,8 +1575,9 @@ function MediaGallery(_ref) {
1574
1575
  return setUploadModalOpened(false);
1575
1576
  }, [setUploadModalOpened]);
1576
1577
  return /*#__PURE__*/React__default["default"].createElement("div", {
1577
- className: classNames__default["default"]([styles$9.container, (_ref3 = {}, _defineProperty__default["default"](_ref3, styles$9.metadataOpened, metadataMedia !== null), _defineProperty__default["default"](_ref3, className, className), _ref3)])
1578
+ className: classNames__default["default"]([styles.container, (_ref3 = {}, _defineProperty__default["default"](_ref3, styles.metadataOpened, metadataMedia !== null), _defineProperty__default["default"](_ref3, className, className), _ref3)])
1578
1579
  }, /*#__PURE__*/React__default["default"].createElement(Navbar, {
1580
+ types: isArray__default["default"](type) ? type : [type],
1579
1581
  filters: filtersValue,
1580
1582
  media: metadataMedia !== null ? metadataMedia : null,
1581
1583
  selectedMedia: selectedMedia,
@@ -1593,9 +1595,9 @@ function MediaGallery(_ref) {
1593
1595
  tags: tags,
1594
1596
  className: navbarClassName
1595
1597
  }), /*#__PURE__*/React__default["default"].createElement("div", {
1596
- className: styles$9.content
1598
+ className: styles.content
1597
1599
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1598
- className: styles$9.gallery
1600
+ className: styles.gallery
1599
1601
  }, medias !== null && !uploading ? /*#__PURE__*/React__default["default"].createElement(Gallery, {
1600
1602
  items: medias,
1601
1603
  selectedItem: selectedMedia,
@@ -1605,9 +1607,9 @@ function MediaGallery(_ref) {
1605
1607
  onClickItem: onClickItem,
1606
1608
  onClickItemInfo: onClickItemInfo
1607
1609
  }) : null, loading || uploading ? /*#__PURE__*/React__default["default"].createElement(components.Spinner, {
1608
- className: styles$9.loading
1610
+ className: styles.loading
1609
1611
  }) : null), /*#__PURE__*/React__default["default"].createElement("div", {
1610
- className: styles$9.mediaMetadata
1612
+ className: styles.mediaMetadata
1611
1613
  }, /*#__PURE__*/React__default["default"].createElement(MediaMetadata, {
1612
1614
  media: metadataMedia,
1613
1615
  tags: tags,
@@ -1619,7 +1621,6 @@ function MediaGallery(_ref) {
1619
1621
  onRequestClose: onUploadRequestClose
1620
1622
  }), document.body));
1621
1623
  }
1622
-
1623
1624
  MediaGallery.propTypes = propTypes;
1624
1625
  MediaGallery.defaultProps = defaultProps;
1625
1626