@micromag/media-gallery 0.3.150 → 0.3.156

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.
@@ -1,6 +1,6 @@
1
1
  .micromag-media-gallery-container .micromag-media-gallery-mediaMetadata,.micromag-media-gallery-container.micromag-media-gallery-metadataOpened .micromag-media-gallery-gallery{position:absolute;top:0;left:0;width:100%}.micromag-media-gallery-container{position:relative}.micromag-media-gallery-container .micromag-media-gallery-content{position:relative;width:100%;overflow:hidden}.micromag-media-gallery-container .micromag-media-gallery-gallery,.micromag-media-gallery-container .micromag-media-gallery-mediaMetadata{-webkit-transition:-webkit-transform .2s ease-out;transition:-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out, -webkit-transform .2s ease-out}.micromag-media-gallery-container .micromag-media-gallery-mediaMetadata{-webkit-transform:translate(100%);-ms-transform:translate(100%);transform:translate(100%)}.micromag-media-gallery-container .micromag-media-gallery-loading{margin:.5rem 1rem}.micromag-media-gallery-container.micromag-media-gallery-metadataOpened .micromag-media-gallery-gallery{-webkit-transform:translate(-100%);-ms-transform:translate(-100%);transform:translate(-100%)}.micromag-media-gallery-container.micromag-media-gallery-metadataOpened .micromag-media-gallery-mediaMetadata{position:static;width:auto;-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}
2
-
3
2
  .micromag-media-gallery-items-gallery-item-container{position:relative;overflow:hidden;border:0;cursor:pointer}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-imageButton{border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-image{display:block;width:100%;height:0;padding-bottom:100%;background-color:#1c1c1c;background-repeat:no-repeat;background-position:50%;background-size:contain}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-icon{width:16px;height:16px;margin-right:5px}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-footer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;align-items:center;border:0;background:rgba(0,0,0,0);color:inherit;text-align:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-footer .micromag-media-gallery-items-gallery-item-label{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-footer small{font-size:.75rem}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-closeIcon,.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-infoButton{position:absolute;top:0;padding:.5rem;color:#fff;-webkit-filter:drop-shadow(0 0 .75rem #1C1C1C);filter:drop-shadow(0 0 .75rem #1C1C1C)}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-closeIcon .micromag-media-gallery-items-gallery-item-icon,.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-infoButton .micromag-media-gallery-items-gallery-item-icon{width:1rem;height:1rem;margin-right:0}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-infoButton{left:0}.micromag-media-gallery-items-gallery-item-container .micromag-media-gallery-items-gallery-item-closeIcon{right:0;pointer-events:none}
3
+
4
4
  .micromag-media-gallery-partials-media-metadata-container{position:relative}.micromag-media-gallery-partials-media-metadata-container .micromag-media-gallery-partials-media-metadata-image{display:block;max-width:100%;min-height:200px;max-height:40vh;margin:0 auto}.micromag-media-gallery-partials-media-metadata-container .micromag-media-gallery-partials-media-metadata-video{position:relative;height:40vh;min-height:200px;background-color:#1c1c1c}.micromag-media-gallery-partials-media-metadata-container .micromag-media-gallery-partials-media-metadata-video .micromag-media-gallery-partials-media-metadata-player{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-media-gallery-partials-media-metadata-container .micromag-media-gallery-partials-media-metadata-audio{position:absolute;bottom:0;width:100%}.micromag-media-gallery-partials-media-metadata-container .micromag-media-gallery-partials-media-metadata-audio .micromag-media-gallery-partials-media-metadata-player{display:block;margin:0 auto}
5
5
  .micromag-media-gallery-partials-navbar-container{position:relative;max-width:100%;padding:.5rem}.micromag-media-gallery-partials-navbar-container .micromag-media-gallery-partials-navbar-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%}.micromag-media-gallery-partials-navbar-container .micromag-media-gallery-partials-navbar-mediaPreview{display:block;width:100px;padding-right:5px}.micromag-media-gallery-partials-navbar-container .micromag-media-gallery-partials-navbar-mediaPreview img{display:block;width:100%}.micromag-media-gallery-partials-navbar-container .micromag-media-gallery-partials-navbar-mediaLabel{display:block;min-width:0}
6
6
  .micromag-media-gallery-forms-dropdown-section-container .micromag-media-gallery-forms-dropdown-section-dropdownToggle{display:inline-block;position:relative;padding:0;border:0;background:rgba(0,0,0,0);color:inherit;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.micromag-media-gallery-forms-dropdown-section-container{position:relative;padding-top:5px}.micromag-media-gallery-forms-dropdown-section-container .micromag-media-gallery-forms-dropdown-section-label{display:inline-block;padding-right:5px;font-weight:400}.micromag-media-gallery-forms-dropdown-section-container .micromag-media-gallery-forms-dropdown-section-dropdownToggle{font-weight:700}.micromag-media-gallery-forms-dropdown-section-container .micromag-media-gallery-forms-dropdown-section-dropdown{left:auto;right:0}
package/es/index.js CHANGED
@@ -10,7 +10,7 @@ import { PropTypes } from '@micromag/core';
10
10
  import { Card, Button, Media, Spinner, UploadModal } from '@micromag/core/components';
11
11
  import { useFieldComponent, useStory } from '@micromag/core/contexts';
12
12
  import { useMediaUpdate, useMediasRecentSearches, useMediaTags, useMediaAuthors, useMedias, useMediaCreate } from '@micromag/data';
13
- import { useResizeObserver } from '@micromag/core/hooks';
13
+ import { useDimensionObserver } from '@micromag/core/hooks';
14
14
  import { faHeadphonesAlt } from '@fortawesome/free-solid-svg-icons/faHeadphonesAlt';
15
15
  import { faInfoCircle } from '@fortawesome/free-solid-svg-icons/faInfoCircle';
16
16
  import { faPlayCircle } from '@fortawesome/free-solid-svg-icons/faPlayCircle';
@@ -27,8 +27,6 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
27
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
29
 
30
- var styles$8 = {};
31
-
32
30
  var middleEllipsis = function middleEllipsis(string, maxLength) {
33
31
  if (!string) return string;
34
32
  if (maxLength < 1) return string;
@@ -41,7 +39,7 @@ var middleEllipsis = function middleEllipsis(string, maxLength) {
41
39
  return "".concat(string.substring(0, midpoint - lstrip), "...").concat(string.substring(midpoint + rstrip));
42
40
  };
43
41
 
44
- var styles$7 = {"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"};
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"};
45
43
 
46
44
  var propTypes$a = {
47
45
  item: PropTypes.media,
@@ -86,43 +84,43 @@ var GalleryItem = function GalleryItem(_ref) {
86
84
  return /*#__PURE__*/React.createElement(Card, {
87
85
  image: /*#__PURE__*/React.createElement("button", {
88
86
  type: "button",
89
- className: classNames(['d-block', 'position-relative', 'p-0', 'border-0', 'w-100', 'text-start', 'bg-light', 'text-black', styles$7.imageButton]),
87
+ className: classNames(['d-block', 'position-relative', 'p-0', 'border-0', 'w-100', 'text-start', 'bg-light', 'text-black', styles$8.imageButton]),
90
88
  onClick: onClick
91
89
  }, /*#__PURE__*/React.createElement("div", {
92
- className: classNames(['card-img-top', styles$7.image]),
90
+ className: classNames(['card-img-top', styles$8.image]),
93
91
  style: {
94
92
  backgroundImage: thumbnail !== null ? "url('".concat(thumbnail, "')") : null
95
93
  }
96
94
  })),
97
95
  beforeBody: /*#__PURE__*/React.createElement(React.Fragment, null, withInfoButton ? /*#__PURE__*/React.createElement(Button, {
98
- className: styles$7.infoButton,
96
+ className: styles$8.infoButton,
99
97
  onClick: onClickInfo,
100
98
  withoutStyle: true
101
99
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
102
100
  icon: faInfoCircle,
103
- className: styles$7.icon
101
+ className: styles$8.icon
104
102
  })) : null, selected ? /*#__PURE__*/React.createElement("div", {
105
- className: classNames(['text-danger', styles$7.closeIcon])
103
+ className: classNames(['text-danger', styles$8.closeIcon])
106
104
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
107
105
  icon: faTimesCircle,
108
- className: styles$7.icon
106
+ className: styles$8.icon
109
107
  })) : null),
110
108
  footer: /*#__PURE__*/React.createElement(React.Fragment, null, type === 'video' ? /*#__PURE__*/React.createElement(FontAwesomeIcon, {
111
- className: styles$7.icon,
109
+ className: styles$8.icon,
112
110
  icon: faPlayCircle
113
111
  }) : null, type === 'audio' ? /*#__PURE__*/React.createElement(FontAwesomeIcon, {
114
- className: styles$7.icon,
112
+ className: styles$8.icon,
115
113
  icon: faHeadphonesAlt
116
114
  }) : null, /*#__PURE__*/React.createElement("div", {
117
- className: classNames(['text-truncate', styles$7.label])
115
+ className: classNames(['text-truncate', styles$8.label])
118
116
  }, /*#__PURE__*/React.createElement("small", null, title), size !== null ? /*#__PURE__*/React.createElement("small", {
119
117
  className: "text-muted ms-1"
120
118
  }, size) : null)),
121
119
  theme: selected ? 'primary' : null,
122
- className: classNames([styles$7.container, _defineProperty({
120
+ className: classNames([styles$8.container, _defineProperty({
123
121
  'border-primary': selected
124
122
  }, className, className !== null)]),
125
- footerClassName: classNames(['p-1', styles$7.footer]),
123
+ footerClassName: classNames(['p-1', styles$8.footer]),
126
124
  onClickFooter: onClick
127
125
  });
128
126
  };
@@ -130,6 +128,8 @@ var GalleryItem = function GalleryItem(_ref) {
130
128
  GalleryItem.propTypes = propTypes$a;
131
129
  GalleryItem.defaultProps = defaultProps$a;
132
130
 
131
+ var styles$7 = {};
132
+
133
133
  var propTypes$9 = {
134
134
  items: PropTypes.medias,
135
135
  selectedItem: PropTypes.media,
@@ -161,17 +161,14 @@ function Gallery(_ref) {
161
161
  onClickItem = _ref.onClickItem,
162
162
  onClickItemInfo = _ref.onClickItemInfo;
163
163
 
164
- var _useResizeObserver = useResizeObserver(),
165
- ref = _useResizeObserver.ref,
166
- contentRect = _useResizeObserver.entry.contentRect;
167
-
168
- var _ref2 = contentRect || {},
169
- width = _ref2.width;
164
+ var _useDimensionObserver = useDimensionObserver(),
165
+ ref = _useDimensionObserver.ref,
166
+ width = _useDimensionObserver.width;
170
167
 
171
168
  var finalItems = useMemo(function () {
172
169
  if (selectedFirst && selectedItem !== null && typeof selectedItem.id !== 'undefined') {
173
- return [selectedItem].concat(_toConsumableArray(items.filter(function (_ref3) {
174
- var id = _ref3.id;
170
+ return [selectedItem].concat(_toConsumableArray(items.filter(function (_ref2) {
171
+ var id = _ref2.id;
175
172
  return id !== selectedItem.id;
176
173
  })));
177
174
  }
@@ -179,7 +176,7 @@ function Gallery(_ref) {
179
176
  return items;
180
177
  }, [selectedFirst, selectedItem, items]);
181
178
  return /*#__PURE__*/React.createElement("div", {
182
- className: classNames([styles$8.container, 'p-2', _defineProperty({}, className, className !== null)]),
179
+ className: classNames([styles$7.container, 'p-2', _defineProperty({}, className, className !== null)]),
183
180
  ref: ref
184
181
  }, /*#__PURE__*/React.createElement("div", {
185
182
  className: classNames(['row', 'mx-n1', 'row-cols-2', {
package/lib/index.js CHANGED
@@ -42,8 +42,6 @@ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_obje
42
42
 
43
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
44
 
45
- var styles$8 = {};
46
-
47
45
  var middleEllipsis = function middleEllipsis(string, maxLength) {
48
46
  if (!string) return string;
49
47
  if (maxLength < 1) return string;
@@ -56,7 +54,7 @@ var middleEllipsis = function middleEllipsis(string, maxLength) {
56
54
  return "".concat(string.substring(0, midpoint - lstrip), "...").concat(string.substring(midpoint + rstrip));
57
55
  };
58
56
 
59
- var styles$7 = {"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$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"};
60
58
 
61
59
  var propTypes$a = {
62
60
  item: core.PropTypes.media,
@@ -101,43 +99,43 @@ var GalleryItem = function GalleryItem(_ref) {
101
99
  return /*#__PURE__*/React__default["default"].createElement(components.Card, {
102
100
  image: /*#__PURE__*/React__default["default"].createElement("button", {
103
101
  type: "button",
104
- className: classNames__default["default"](['d-block', 'position-relative', 'p-0', 'border-0', 'w-100', 'text-start', 'bg-light', 'text-black', styles$7.imageButton]),
102
+ className: classNames__default["default"](['d-block', 'position-relative', 'p-0', 'border-0', 'w-100', 'text-start', 'bg-light', 'text-black', styles$8.imageButton]),
105
103
  onClick: onClick
106
104
  }, /*#__PURE__*/React__default["default"].createElement("div", {
107
- className: classNames__default["default"](['card-img-top', styles$7.image]),
105
+ className: classNames__default["default"](['card-img-top', styles$8.image]),
108
106
  style: {
109
107
  backgroundImage: thumbnail !== null ? "url('".concat(thumbnail, "')") : null
110
108
  }
111
109
  })),
112
110
  beforeBody: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, withInfoButton ? /*#__PURE__*/React__default["default"].createElement(components.Button, {
113
- className: styles$7.infoButton,
111
+ className: styles$8.infoButton,
114
112
  onClick: onClickInfo,
115
113
  withoutStyle: true
116
114
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
117
115
  icon: faInfoCircle.faInfoCircle,
118
- className: styles$7.icon
116
+ className: styles$8.icon
119
117
  })) : null, selected ? /*#__PURE__*/React__default["default"].createElement("div", {
120
- className: classNames__default["default"](['text-danger', styles$7.closeIcon])
118
+ className: classNames__default["default"](['text-danger', styles$8.closeIcon])
121
119
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
122
120
  icon: faTimesCircle.faTimesCircle,
123
- className: styles$7.icon
121
+ className: styles$8.icon
124
122
  })) : null),
125
123
  footer: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'video' ? /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
126
- className: styles$7.icon,
124
+ className: styles$8.icon,
127
125
  icon: faPlayCircle.faPlayCircle
128
126
  }) : null, type === 'audio' ? /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
129
- className: styles$7.icon,
127
+ className: styles$8.icon,
130
128
  icon: faHeadphonesAlt.faHeadphonesAlt
131
129
  }) : null, /*#__PURE__*/React__default["default"].createElement("div", {
132
- className: classNames__default["default"](['text-truncate', styles$7.label])
130
+ className: classNames__default["default"](['text-truncate', styles$8.label])
133
131
  }, /*#__PURE__*/React__default["default"].createElement("small", null, title), size !== null ? /*#__PURE__*/React__default["default"].createElement("small", {
134
132
  className: "text-muted ms-1"
135
133
  }, size) : null)),
136
134
  theme: selected ? 'primary' : null,
137
- className: classNames__default["default"]([styles$7.container, _defineProperty__default["default"]({
135
+ className: classNames__default["default"]([styles$8.container, _defineProperty__default["default"]({
138
136
  'border-primary': selected
139
137
  }, className, className !== null)]),
140
- footerClassName: classNames__default["default"](['p-1', styles$7.footer]),
138
+ footerClassName: classNames__default["default"](['p-1', styles$8.footer]),
141
139
  onClickFooter: onClick
142
140
  });
143
141
  };
@@ -145,6 +143,8 @@ var GalleryItem = function GalleryItem(_ref) {
145
143
  GalleryItem.propTypes = propTypes$a;
146
144
  GalleryItem.defaultProps = defaultProps$a;
147
145
 
146
+ var styles$7 = {};
147
+
148
148
  var propTypes$9 = {
149
149
  items: core.PropTypes.medias,
150
150
  selectedItem: core.PropTypes.media,
@@ -176,17 +176,14 @@ function Gallery(_ref) {
176
176
  onClickItem = _ref.onClickItem,
177
177
  onClickItemInfo = _ref.onClickItemInfo;
178
178
 
179
- var _useResizeObserver = hooks.useResizeObserver(),
180
- ref = _useResizeObserver.ref,
181
- contentRect = _useResizeObserver.entry.contentRect;
182
-
183
- var _ref2 = contentRect || {},
184
- width = _ref2.width;
179
+ var _useDimensionObserver = hooks.useDimensionObserver(),
180
+ ref = _useDimensionObserver.ref,
181
+ width = _useDimensionObserver.width;
185
182
 
186
183
  var finalItems = React.useMemo(function () {
187
184
  if (selectedFirst && selectedItem !== null && typeof selectedItem.id !== 'undefined') {
188
- return [selectedItem].concat(_toConsumableArray__default["default"](items.filter(function (_ref3) {
189
- var id = _ref3.id;
185
+ return [selectedItem].concat(_toConsumableArray__default["default"](items.filter(function (_ref2) {
186
+ var id = _ref2.id;
190
187
  return id !== selectedItem.id;
191
188
  })));
192
189
  }
@@ -194,7 +191,7 @@ function Gallery(_ref) {
194
191
  return items;
195
192
  }, [selectedFirst, selectedItem, items]);
196
193
  return /*#__PURE__*/React__default["default"].createElement("div", {
197
- className: classNames__default["default"]([styles$8.container, 'p-2', _defineProperty__default["default"]({}, className, className !== null)]),
194
+ className: classNames__default["default"]([styles$7.container, 'p-2', _defineProperty__default["default"]({}, className, className !== null)]),
198
195
  ref: ref
199
196
  }, /*#__PURE__*/React__default["default"].createElement("div", {
200
197
  className: classNames__default["default"](['row', 'mx-n1', 'row-cols-2', {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/media-gallery",
3
- "version": "0.3.150",
3
+ "version": "0.3.156",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -59,8 +59,8 @@
59
59
  "@fortawesome/fontawesome-svg-core": "^1.2.32",
60
60
  "@fortawesome/free-solid-svg-icons": "^5.15.1",
61
61
  "@fortawesome/react-fontawesome": "^0.1.13",
62
- "@micromag/core": "^0.3.150",
63
- "@micromag/data": "^0.3.150",
62
+ "@micromag/core": "^0.3.156",
63
+ "@micromag/data": "^0.3.156",
64
64
  "bootstrap": "5.2.0-beta1",
65
65
  "change-case": "^4.1.2",
66
66
  "classnames": "^2.2.6",
@@ -73,5 +73,5 @@
73
73
  "publishConfig": {
74
74
  "access": "public"
75
75
  },
76
- "gitHead": "c9441be7a115a52416883e404feeca422af4f2da"
76
+ "gitHead": "026d0eb445367f824d3d07a04a0fa90cc00d49f2"
77
77
  }