@renaissancerentals/renaissance-component 9.0.0 → 9.0.3

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,34 +1,233 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.GalleryHero = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ require("./assets/GalleryHero.scss");
13
+
14
+ var _AssetService = require("../asset/service/AssetService");
15
+
16
+ var _muncherUi = require("@contentmunch/muncher-ui");
17
+
18
+ var _GalleryModal = require("./GalleryModal");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
25
 
10
- var _react2 = require("swiper/react");
26
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
27
 
12
- require("swiper/css");
28
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
29
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
31
 
16
- function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure undefined"); }
32
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
33
+
34
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
+
36
+ var calculateTotalPages = function calculateTotalPages(assets) {
37
+ var total = 0;
38
+
39
+ if (assets.length > 5) {
40
+ total = total + (assets.length - 5) / 8 + 1;
41
+ var remainder = (assets.length - 5) % 8;
42
+ if (remainder > 0) total += 1;
43
+ }
44
+
45
+ return total;
46
+ };
17
47
 
18
48
  var GalleryHero = function GalleryHero(_ref) {
19
- _objectDestructuringEmpty(_ref);
20
-
21
- return /*#__PURE__*/_react.default.createElement(_react2.Swiper, {
22
- spaceBetween: 50,
23
- slidesPerView: 3,
24
- onSlideChange: function onSlideChange() {
25
- return console.log('slide change');
26
- },
27
- onSwiper: function onSwiper(swiper) {
28
- return console.log(swiper);
49
+ var assets = _ref.assets,
50
+ videoTourCount = _ref.videoTourCount,
51
+ virtualTourCount = _ref.virtualTourCount,
52
+ isAvailableNow = _ref.isAvailableNow;
53
+
54
+ var _useState = (0, _react.useState)(false),
55
+ _useState2 = _slicedToArray(_useState, 2),
56
+ showModal = _useState2[0],
57
+ setShowModal = _useState2[1];
58
+
59
+ var _useState3 = (0, _react.useState)({}),
60
+ _useState4 = _slicedToArray(_useState3, 2),
61
+ assetInFocus = _useState4[0],
62
+ setAssetInFocus = _useState4[1];
63
+
64
+ var _useState5 = (0, _react.useState)(0),
65
+ _useState6 = _slicedToArray(_useState5, 2),
66
+ assetIndex = _useState6[0],
67
+ setAssetIndex = _useState6[1];
68
+
69
+ var _useState7 = (0, _react.useState)(0),
70
+ _useState8 = _slicedToArray(_useState7, 2),
71
+ page = _useState8[0],
72
+ setPage = _useState8[1];
73
+
74
+ var totalPages = calculateTotalPages(assets);
75
+
76
+ var imageClickedHandler = function imageClickedHandler(image) {
77
+ setShowModal(true);
78
+ setAssetInFocus(image);
79
+ setAssetIndex(assets.findIndex(function (value) {
80
+ return value.id === image.id;
81
+ }));
82
+ };
83
+
84
+ var modalCloseHandler = function modalCloseHandler() {
85
+ setShowModal(false);
86
+ setAssetInFocus({});
87
+ };
88
+
89
+ var sliceStart = function sliceStart() {
90
+ return page === 0 ? 1 : 5 + (page - 1) * 8;
91
+ };
92
+
93
+ var sliceEnd = function sliceEnd() {
94
+ return page === 0 ? 5 : 5 + page * 8;
95
+ };
96
+
97
+ var makePlural = function makePlural(length) {
98
+ return length > 1 ? "s" : "";
99
+ };
100
+
101
+ var photoStat = function photoStat() {
102
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, assets.length, " Photo", makePlural(assets.length));
103
+ };
104
+
105
+ var virtualTourStat = function virtualTourStat() {
106
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, virtualTourCount && virtualTourCount > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\xA0|\xA0", virtualTourCount, " Virtual Tour", makePlural(virtualTourCount)) : "");
107
+ };
108
+
109
+ var videoTourStat = function videoTourStat() {
110
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, videoTourCount && videoTourCount > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\xA0|\xA0", videoTourCount, " Video Tour", makePlural(videoTourCount)) : "");
111
+ };
112
+
113
+ return /*#__PURE__*/_react.default.createElement("div", {
114
+ className: "div-gallery"
115
+ }, /*#__PURE__*/_react.default.createElement(_GalleryModal.GalleryModal, {
116
+ assets: assets,
117
+ assetInFocus: assetInFocus,
118
+ setAssetInFocus: setAssetInFocus,
119
+ showModal: showModal,
120
+ assetIndex: assetIndex,
121
+ setAssetIndex: setAssetIndex,
122
+ modalCloseHandler: modalCloseHandler
123
+ }), /*#__PURE__*/_react.default.createElement("div", {
124
+ className: "gallery-hero main"
125
+ }, isAvailableNow && page === 0 ? /*#__PURE__*/_react.default.createElement("div", {
126
+ className: "badge--info"
127
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Badge, {
128
+ variant: "secondary"
129
+ }, "Available Now")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), assets.length > 5 ? /*#__PURE__*/_react.default.createElement("div", {
130
+ className: page < 1 ? "icon-left icon--disabled" : "icon-left"
131
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
132
+ name: "chevron-left",
133
+ size: "large",
134
+ weight: 2,
135
+ onClick: function onClick() {
136
+ if (page > 0) {
137
+ setPage(page - 1);
138
+ }
139
+ }
140
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement("div", {
141
+ className: "gallery-hero-two-columns"
142
+ }, page === 0 ? /*#__PURE__*/_react.default.createElement("div", {
143
+ className: assets.length < 2 ? "gallery-hero-one" : "gallery-hero-column-one"
144
+ }, assets.slice(0, 1).map(function (asset) {
145
+ return /*#__PURE__*/_react.default.createElement("img", {
146
+ src: (0, _AssetService.assetUrlFrom)(asset.id),
147
+ alt: asset.name,
148
+ key: asset.id,
149
+ className: "gallery-hero--image",
150
+ onClick: function onClick() {
151
+ return imageClickedHandler(asset);
152
+ }
153
+ });
154
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), assets.length > 1 ? /*#__PURE__*/_react.default.createElement("div", {
155
+ className: page === 0 ? "gallery-hero-column-two" : "gallery-hero-column"
156
+ }, assets.slice(sliceStart(), sliceEnd()).map(function (asset) {
157
+ return /*#__PURE__*/_react.default.createElement("img", {
158
+ src: (0, _AssetService.assetUrlFrom)(asset.id),
159
+ alt: asset.name,
160
+ key: asset.id,
161
+ className: "gallery-hero--image",
162
+ onClick: function onClick() {
163
+ return imageClickedHandler(asset);
164
+ }
165
+ });
166
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)), assets.length > 5 ? /*#__PURE__*/_react.default.createElement("div", {
167
+ className: page < totalPages - 1 ? "icon-right" : "icon-right icon--disabled"
168
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
169
+ name: "chevron-right",
170
+ size: "large",
171
+ weight: 2,
172
+ onClick: function onClick() {
173
+ if (page < totalPages - 1) {
174
+ setPage(page + 1);
175
+ }
176
+ }
177
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement("div", {
178
+ className: "badge--stats"
179
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Badge, {
180
+ variant: "tertiary"
181
+ }, photoStat(), virtualTourStat(), videoTourStat()))), /*#__PURE__*/_react.default.createElement("div", {
182
+ className: "gallery-hero mobile"
183
+ }, isAvailableNow && assetIndex === 0 ? /*#__PURE__*/_react.default.createElement("div", {
184
+ className: "badge--info"
185
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Badge, {
186
+ variant: "secondary"
187
+ }, "Available Now")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), assets.length > 1 ? /*#__PURE__*/_react.default.createElement("div", {
188
+ className: "icon-left"
189
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
190
+ name: "chevron-left",
191
+ size: "large",
192
+ weight: 2,
193
+ onClick: function onClick() {
194
+ if (assetIndex < 1) {
195
+ setAssetIndex(assets.length - 1);
196
+ } else {
197
+ setAssetIndex(assetIndex - 1);
198
+ }
199
+ }
200
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement("div", {
201
+ className: "gallery-hero-two-columns"
202
+ }, /*#__PURE__*/_react.default.createElement("div", {
203
+ className: "gallery-hero-column"
204
+ }, /*#__PURE__*/_react.default.createElement("img", {
205
+ src: (0, _AssetService.assetUrlFrom)(assets[assetIndex].id),
206
+ alt: assets[assetIndex].name,
207
+ key: assets[assetIndex].id,
208
+ className: "gallery-hero-mobile--image",
209
+ onClick: function onClick() {
210
+ return imageClickedHandler(assets[assetIndex]);
211
+ }
212
+ }))), assets.length > 1 ? /*#__PURE__*/_react.default.createElement("div", {
213
+ className: "icon-right"
214
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
215
+ name: "chevron-right",
216
+ size: "large",
217
+ weight: 2,
218
+ onClick: function onClick() {
219
+ if (assetIndex > assets.length - 1) {
220
+ setAssetIndex(0);
221
+ } else {
222
+ setAssetIndex(assetIndex + 1);
223
+ }
29
224
  }
30
- }, /*#__PURE__*/_react.default.createElement(_react2.SwiperSlide, null, "Slide 1"), /*#__PURE__*/_react.default.createElement(_react2.SwiperSlide, null, "Slide 2"), /*#__PURE__*/_react.default.createElement(_react2.SwiperSlide, null, "Slide 3"), /*#__PURE__*/_react.default.createElement(_react2.SwiperSlide, null, "Slide 4"), "...");
225
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement("div", {
226
+ className: "badge--stats"
227
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Badge, {
228
+ variant: "tertiary"
229
+ }, photoStat(), virtualTourStat(), videoTourStat()))));
31
230
  };
32
231
 
33
232
  exports.GalleryHero = GalleryHero;
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHYWxsZXJ5SGVybyIsImNvbnNvbGUiLCJsb2ciLCJzd2lwZXIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2FsbGVyeS9HYWxsZXJ5SGVyby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtTd2lwZXIsIFN3aXBlclNsaWRlfSBmcm9tICdzd2lwZXIvcmVhY3QnO1xuaW1wb3J0ICdzd2lwZXIvY3NzJztcblxuZXhwb3J0IGNvbnN0IEdhbGxlcnlIZXJvOiBSZWFjdC5GQyA9IChcbiAgICB7fSkgPT4ge1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFN3aXBlclxuICAgICAgICAgICAgc3BhY2VCZXR3ZWVuPXs1MH1cbiAgICAgICAgICAgIHNsaWRlc1BlclZpZXc9ezN9XG4gICAgICAgICAgICBvblNsaWRlQ2hhbmdlPXsoKSA9PiBjb25zb2xlLmxvZygnc2xpZGUgY2hhbmdlJyl9XG4gICAgICAgICAgICBvblN3aXBlcj17KHN3aXBlcikgPT4gY29uc29sZS5sb2coc3dpcGVyKX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPFN3aXBlclNsaWRlPlNsaWRlIDE8L1N3aXBlclNsaWRlPlxuICAgICAgICAgICAgPFN3aXBlclNsaWRlPlNsaWRlIDI8L1N3aXBlclNsaWRlPlxuICAgICAgICAgICAgPFN3aXBlclNsaWRlPlNsaWRlIDM8L1N3aXBlclNsaWRlPlxuICAgICAgICAgICAgPFN3aXBlclNsaWRlPlNsaWRlIDQ8L1N3aXBlclNsaWRlPlxuICAgICAgICAgICAgLi4uXG4gICAgICAgIDwvU3dpcGVyPlxuICAgICk7XG59OyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFFTyxJQUFNQSxXQUFxQixHQUFHLFNBQXhCQSxXQUF3QixPQUMxQjtFQUFBOztFQUVQLG9CQUNJLDZCQUFDLGNBQUQ7SUFDSSxZQUFZLEVBQUUsRUFEbEI7SUFFSSxhQUFhLEVBQUUsQ0FGbkI7SUFHSSxhQUFhLEVBQUU7TUFBQSxPQUFNQyxPQUFPLENBQUNDLEdBQVIsQ0FBWSxjQUFaLENBQU47SUFBQSxDQUhuQjtJQUlJLFFBQVEsRUFBRSxrQkFBQ0MsTUFBRDtNQUFBLE9BQVlGLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxNQUFaLENBQVo7SUFBQTtFQUpkLGdCQU1JLDZCQUFDLG1CQUFELGtCQU5KLGVBT0ksNkJBQUMsbUJBQUQsa0JBUEosZUFRSSw2QkFBQyxtQkFBRCxrQkFSSixlQVNJLDZCQUFDLG1CQUFELGtCQVRKLFFBREo7QUFjSCxDQWpCTSJ9
233
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYWxjdWxhdGVUb3RhbFBhZ2VzIiwiYXNzZXRzIiwidG90YWwiLCJsZW5ndGgiLCJyZW1haW5kZXIiLCJHYWxsZXJ5SGVybyIsInZpZGVvVG91ckNvdW50IiwidmlydHVhbFRvdXJDb3VudCIsImlzQXZhaWxhYmxlTm93IiwidXNlU3RhdGUiLCJzaG93TW9kYWwiLCJzZXRTaG93TW9kYWwiLCJhc3NldEluRm9jdXMiLCJzZXRBc3NldEluRm9jdXMiLCJhc3NldEluZGV4Iiwic2V0QXNzZXRJbmRleCIsInBhZ2UiLCJzZXRQYWdlIiwidG90YWxQYWdlcyIsImltYWdlQ2xpY2tlZEhhbmRsZXIiLCJpbWFnZSIsImZpbmRJbmRleCIsInZhbHVlIiwiaWQiLCJtb2RhbENsb3NlSGFuZGxlciIsInNsaWNlU3RhcnQiLCJzbGljZUVuZCIsIm1ha2VQbHVyYWwiLCJwaG90b1N0YXQiLCJ2aXJ0dWFsVG91clN0YXQiLCJ2aWRlb1RvdXJTdGF0Iiwic2xpY2UiLCJtYXAiLCJhc3NldCIsImFzc2V0VXJsRnJvbSIsIm5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2FsbGVyeS9HYWxsZXJ5SGVyby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0ICcuL2Fzc2V0cy9HYWxsZXJ5SGVyby5zY3NzJztcbmltcG9ydCB7QXNzZXR9IGZyb20gXCIuLi9hc3NldC9kYXRhL0Fzc2V0XCI7XG5pbXBvcnQge2Fzc2V0VXJsRnJvbX0gZnJvbSBcIi4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge0JhZGdlLCBJY29ufSBmcm9tIFwiQGNvbnRlbnRtdW5jaC9tdW5jaGVyLXVpXCI7XG5pbXBvcnQge0dhbGxlcnlNb2RhbH0gZnJvbSBcIi4vR2FsbGVyeU1vZGFsXCI7XG5cbmNvbnN0IGNhbGN1bGF0ZVRvdGFsUGFnZXMgPSAoYXNzZXRzOiBBc3NldFtdKSA9PiB7XG4gICAgbGV0IHRvdGFsID0gMDtcbiAgICBpZiAoYXNzZXRzLmxlbmd0aCA+IDUpIHtcbiAgICAgICAgdG90YWwgPSB0b3RhbCArICgoYXNzZXRzLmxlbmd0aCAtIDUpIC8gOCkgKyAxO1xuXG4gICAgICAgIGNvbnN0IHJlbWFpbmRlciA9IChhc3NldHMubGVuZ3RoIC0gNSkgJSA4O1xuICAgICAgICBpZiAocmVtYWluZGVyID4gMClcbiAgICAgICAgICAgIHRvdGFsICs9IDE7XG5cbiAgICB9XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuZXhwb3J0IGNvbnN0IEdhbGxlcnlIZXJvOiBSZWFjdC5GQzxHYWxsZXJ5SGVyb1Byb3BzPiA9IChcbiAgICB7YXNzZXRzLCB2aWRlb1RvdXJDb3VudCwgdmlydHVhbFRvdXJDb3VudCwgaXNBdmFpbGFibGVOb3d9KSA9PiB7XG4gICAgY29uc3QgW3Nob3dNb2RhbCwgc2V0U2hvd01vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbYXNzZXRJbkZvY3VzLCBzZXRBc3NldEluRm9jdXNdID0gdXNlU3RhdGU8QXNzZXQ+KHt9IGFzIEFzc2V0KTtcbiAgICBjb25zdCBbYXNzZXRJbmRleCwgc2V0QXNzZXRJbmRleF0gPSB1c2VTdGF0ZSgwKTtcbiAgICBjb25zdCBbcGFnZSwgc2V0UGFnZV0gPSB1c2VTdGF0ZSgwKTtcbiAgICBjb25zdCB0b3RhbFBhZ2VzID0gY2FsY3VsYXRlVG90YWxQYWdlcyhhc3NldHMpO1xuXG4gICAgY29uc3QgaW1hZ2VDbGlja2VkSGFuZGxlciA9IChpbWFnZTogQXNzZXQpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKHRydWUpO1xuICAgICAgICBzZXRBc3NldEluRm9jdXMoaW1hZ2UpO1xuICAgICAgICBzZXRBc3NldEluZGV4KGFzc2V0cy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGltYWdlLmlkKSk7XG4gICAgfTtcbiAgICBjb25zdCBtb2RhbENsb3NlSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKGZhbHNlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKHt9IGFzIEFzc2V0KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2xpY2VTdGFydCA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHBhZ2UgPT09IDAgPyAxIDogKDUgKyAocGFnZSAtIDEpICogOCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2xpY2VFbmQgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlID09PSAwID8gNSA6ICg1ICsgKHBhZ2UpICogOCk7XG4gICAgfVxuICAgIGNvbnN0IG1ha2VQbHVyYWwgPSAobGVuZ3RoOiBudW1iZXIpID0+IGxlbmd0aCA+IDEgPyBcInNcIiA6IFwiXCI7XG5cbiAgICBjb25zdCBwaG90b1N0YXQgPSAoKSA9PiA8Pnthc3NldHMubGVuZ3RofSBQaG90b3ttYWtlUGx1cmFsKGFzc2V0cy5sZW5ndGgpfTwvPlxuXG4gICAgY29uc3QgdmlydHVhbFRvdXJTdGF0ID0gKCkgPT4gPD5cbiAgICAgICAge3ZpcnR1YWxUb3VyQ291bnQgJiYgdmlydHVhbFRvdXJDb3VudCA+IDAgPyA8PiZuYnNwO3wmbmJzcDt7dmlydHVhbFRvdXJDb3VudH0gVmlydHVhbFxuICAgICAgICAgICAgVG91cnttYWtlUGx1cmFsKHZpcnR1YWxUb3VyQ291bnQpfTwvPiA6IFwiXCJ9XG4gICAgPC8+XG4gICAgY29uc3QgdmlkZW9Ub3VyU3RhdCA9ICgpID0+IDw+XG4gICAgICAgIHt2aWRlb1RvdXJDb3VudCAmJiB2aWRlb1RvdXJDb3VudCA+IDAgPyA8PiZuYnNwO3wmbmJzcDt7dmlkZW9Ub3VyQ291bnR9IFZpZGVvXG4gICAgICAgICAgICBUb3Vye21ha2VQbHVyYWwodmlkZW9Ub3VyQ291bnQpfTwvPiA6IFwiXCJ9XG4gICAgPC8+XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpdi1nYWxsZXJ5XCI+XG4gICAgICAgICAgICA8R2FsbGVyeU1vZGFsIGFzc2V0cz17YXNzZXRzfSBhc3NldEluRm9jdXM9e2Fzc2V0SW5Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbkZvY3VzPXtzZXRBc3NldEluRm9jdXN9IHNob3dNb2RhbD17c2hvd01vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldEluZGV4PXthc3NldEluZGV4fSBzZXRBc3NldEluZGV4PXtzZXRBc3NldEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbENsb3NlSGFuZGxlcj17bW9kYWxDbG9zZUhhbmRsZXJ9Lz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvIG1haW5cIj5cblxuICAgICAgICAgICAgICAgIHtpc0F2YWlsYWJsZU5vdyAmJiBwYWdlPT09MD9cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYWRnZS0taW5mb1wiPjxCYWRnZSB2YXJpYW50PVwic2Vjb25kYXJ5XCI+QXZhaWxhYmxlIE5vdzwvQmFkZ2U+PC9kaXY+IDogPD48Lz59XG4gICAgICAgICAgICAgICAge2Fzc2V0cy5sZW5ndGggPiA1ID9cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3BhZ2UgPCAxID8gXCJpY29uLWxlZnQgaWNvbi0tZGlzYWJsZWRcIiA6IFwiaWNvbi1sZWZ0XCJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZXZyb24tbGVmdFwiIHNpemU9XCJsYXJnZVwiIHdlaWdodD17Mn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFnZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFnZShwYWdlIC0gMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiA6IDw+PC8+fVxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnYWxsZXJ5LWhlcm8tdHdvLWNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAge3BhZ2UgPT09IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Fzc2V0cy5sZW5ndGggPCAyID8gXCJnYWxsZXJ5LWhlcm8tb25lXCIgOiBcImdhbGxlcnktaGVyby1jb2x1bW4tb25lXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXRzLnNsaWNlKDAsIDEpLm1hcCgoYXNzZXQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17YXNzZXRVcmxGcm9tKGFzc2V0LmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXthc3NldC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2Fzc2V0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJnYWxsZXJ5LWhlcm8tLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaW1hZ2VDbGlja2VkSGFuZGxlcihhc3NldCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDogPD48Lz59XG4gICAgICAgICAgICAgICAgICAgIHthc3NldHMubGVuZ3RoID4gMSA/XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17cGFnZSA9PT0gMCA/IFwiZ2FsbGVyeS1oZXJvLWNvbHVtbi10d29cIiA6IFwiZ2FsbGVyeS1oZXJvLWNvbHVtblwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0cy5zbGljZShzbGljZVN0YXJ0KCksIHNsaWNlRW5kKCkpLm1hcCgoYXNzZXQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17YXNzZXRVcmxGcm9tKGFzc2V0LmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXthc3NldC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2Fzc2V0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJnYWxsZXJ5LWhlcm8tLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaW1hZ2VDbGlja2VkSGFuZGxlcihhc3NldCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDogPD48Lz5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHthc3NldHMubGVuZ3RoID4gNSA/XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtwYWdlIDwgdG90YWxQYWdlcyAtIDEgPyBcImljb24tcmlnaHRcIiA6IFwiaWNvbi1yaWdodCBpY29uLS1kaXNhYmxlZFwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJjaGV2cm9uLXJpZ2h0XCIgc2l6ZT1cImxhcmdlXCIgd2VpZ2h0PXsyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYWdlIDwgdG90YWxQYWdlcyAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFnZShwYWdlICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiA6IDw+PC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFkZ2UtLXN0YXRzXCI+PEJhZGdlXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiPntwaG90b1N0YXQoKX17dmlydHVhbFRvdXJTdGF0KCl9e3ZpZGVvVG91clN0YXQoKX08L0JhZGdlPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvIG1vYmlsZVwiPlxuXG4gICAgICAgICAgICAgICAge2lzQXZhaWxhYmxlTm93ICYmIGFzc2V0SW5kZXggPT09IDAgP1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJhZGdlLS1pbmZvXCI+PEJhZGdlIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIj5BdmFpbGFibGUgTm93PC9CYWRnZT48L2Rpdj4gOiA8PjwvPn1cbiAgICAgICAgICAgICAgICB7YXNzZXRzLmxlbmd0aCA+IDEgP1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb24tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNoZXZyb24tbGVmdFwiIHNpemU9XCJsYXJnZVwiIHdlaWdodD17Mn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXNzZXRJbmRleCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbmRleChhc3NldHMubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbmRleChhc3NldEluZGV4IC0gMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiA6IDw+PC8+fVxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnYWxsZXJ5LWhlcm8tdHdvLWNvbHVtbnNcIj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdhbGxlcnktaGVyby1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXthc3NldFVybEZyb20oYXNzZXRzW2Fzc2V0SW5kZXhdLmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXthc3NldHNbYXNzZXRJbmRleF0ubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXthc3NldHNbYXNzZXRJbmRleF0uaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdhbGxlcnktaGVyby1tb2JpbGUtLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaW1hZ2VDbGlja2VkSGFuZGxlcihhc3NldHNbYXNzZXRJbmRleF0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAge2Fzc2V0cy5sZW5ndGggPiAxID9cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpY29uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiIHNpemU9XCJsYXJnZVwiIHdlaWdodD17Mn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXNzZXRJbmRleCA+IGFzc2V0cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEFzc2V0SW5kZXgoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbmRleChhc3NldEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiA6IDw+PC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFkZ2UtLXN0YXRzXCI+PEJhZGdlXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiPntwaG90b1N0YXQoKX17dmlydHVhbFRvdXJTdGF0KCl9e3ZpZGVvVG91clN0YXQoKX08L0JhZGdlPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2FsbGVyeUhlcm9Qcm9wcyB7XG4gICAgYXNzZXRzOiBBc3NldFtdO1xuICAgIHZpcnR1YWxUb3VyQ291bnQ/OiBudW1iZXI7XG4gICAgdmlkZW9Ub3VyQ291bnQ/OiBudW1iZXI7XG4gICAgaXNBdmFpbGFibGVOb3c/OiBib29sZWFuO1xuXG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixDQUFDQyxNQUFELEVBQXFCO0VBQzdDLElBQUlDLEtBQUssR0FBRyxDQUFaOztFQUNBLElBQUlELE1BQU0sQ0FBQ0UsTUFBUCxHQUFnQixDQUFwQixFQUF1QjtJQUNuQkQsS0FBSyxHQUFHQSxLQUFLLEdBQUksQ0FBQ0QsTUFBTSxDQUFDRSxNQUFQLEdBQWdCLENBQWpCLElBQXNCLENBQS9CLEdBQW9DLENBQTVDO0lBRUEsSUFBTUMsU0FBUyxHQUFHLENBQUNILE1BQU0sQ0FBQ0UsTUFBUCxHQUFnQixDQUFqQixJQUFzQixDQUF4QztJQUNBLElBQUlDLFNBQVMsR0FBRyxDQUFoQixFQUNJRixLQUFLLElBQUksQ0FBVDtFQUVQOztFQUNELE9BQU9BLEtBQVA7QUFDSCxDQVhEOztBQVlPLElBQU1HLFdBQXVDLEdBQUcsU0FBMUNBLFdBQTBDLE9BQ1k7RUFBQSxJQUE5REosTUFBOEQsUUFBOURBLE1BQThEO0VBQUEsSUFBdERLLGNBQXNELFFBQXREQSxjQUFzRDtFQUFBLElBQXRDQyxnQkFBc0MsUUFBdENBLGdCQUFzQztFQUFBLElBQXBCQyxjQUFvQixRQUFwQkEsY0FBb0I7O0VBQy9ELGdC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
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { Asset } from "../asset/data/Asset";
3
+ import "./assets/GalleryModal.scss";
4
+ export declare const GalleryModal: React.FC<GalleryModalProps>;
5
+ export interface GalleryModalProps {
6
+ assets: Asset[];
7
+ assetInFocus: Asset;
8
+ assetIndex: number;
9
+ setAssetIndex: (index: number) => void;
10
+ setAssetInFocus: (asset: Asset) => void;
11
+ showModal: boolean;
12
+ modalCloseHandler: () => void;
13
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GalleryModal = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _muncherUi = require("@contentmunch/muncher-ui");
13
+
14
+ var _AssetService = require("../asset/service/AssetService");
15
+
16
+ require("./assets/GalleryModal.scss");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
+
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
+
30
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
31
+
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+
34
+ var GalleryModal = function GalleryModal(_ref) {
35
+ var assets = _ref.assets,
36
+ assetIndex = _ref.assetIndex,
37
+ setAssetIndex = _ref.setAssetIndex,
38
+ assetInFocus = _ref.assetInFocus,
39
+ setAssetInFocus = _ref.setAssetInFocus,
40
+ showModal = _ref.showModal,
41
+ modalCloseHandler = _ref.modalCloseHandler;
42
+
43
+ var _useState = (0, _react.useState)(false),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ sliderImageLoaded = _useState2[0],
46
+ setSliderImageLoaded = _useState2[1];
47
+
48
+ var rightClickHandler = function rightClickHandler() {
49
+ setSliderImageLoaded(false);
50
+ var currentIndex = assetIndex + 1;
51
+ currentIndex = currentIndex >= assets.length ? 0 : currentIndex;
52
+ setAssetIndex(currentIndex);
53
+ setAssetInFocus(assets[currentIndex]);
54
+ };
55
+
56
+ var leftClickHandler = function leftClickHandler() {
57
+ setSliderImageLoaded(false);
58
+ var currentIndex = assetIndex - 1;
59
+ currentIndex = currentIndex < 0 ? assets.length - 1 : currentIndex;
60
+ setAssetIndex(currentIndex);
61
+ setAssetInFocus(assets[currentIndex]);
62
+ };
63
+
64
+ var imageLoaded = function imageLoaded() {
65
+ setSliderImageLoaded(true);
66
+ };
67
+
68
+ return /*#__PURE__*/_react.default.createElement("div", {
69
+ className: "gallery-modal"
70
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Modal, {
71
+ show: showModal,
72
+ setShow: modalCloseHandler
73
+ }, /*#__PURE__*/_react.default.createElement("div", {
74
+ className: "image-slider"
75
+ }, /*#__PURE__*/_react.default.createElement("div", {
76
+ className: "close",
77
+ onClick: modalCloseHandler
78
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
79
+ name: "close",
80
+ size: "large"
81
+ })), /*#__PURE__*/_react.default.createElement("div", {
82
+ className: "left",
83
+ onClick: leftClickHandler
84
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
85
+ name: "arrow-left",
86
+ size: "large"
87
+ })), sliderImageLoaded ? "" : /*#__PURE__*/_react.default.createElement(_muncherUi.Spinner, null), /*#__PURE__*/_react.default.createElement("img", {
88
+ src: (0, _AssetService.assetUrlFrom)(assetInFocus.id),
89
+ alt: assetInFocus.name,
90
+ onLoad: imageLoaded
91
+ }), /*#__PURE__*/_react.default.createElement("div", {
92
+ className: "right",
93
+ onClick: rightClickHandler
94
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
95
+ name: "arrow-right",
96
+ size: "large"
97
+ })))));
98
+ };
99
+
100
+ exports.GalleryModal = GalleryModal;
101
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHYWxsZXJ5TW9kYWwiLCJhc3NldHMiLCJhc3NldEluZGV4Iiwic2V0QXNzZXRJbmRleCIsImFzc2V0SW5Gb2N1cyIsInNldEFzc2V0SW5Gb2N1cyIsInNob3dNb2RhbCIsIm1vZGFsQ2xvc2VIYW5kbGVyIiwidXNlU3RhdGUiLCJzbGlkZXJJbWFnZUxvYWRlZCIsInNldFNsaWRlckltYWdlTG9hZGVkIiwicmlnaHRDbGlja0hhbmRsZXIiLCJjdXJyZW50SW5kZXgiLCJsZW5ndGgiLCJsZWZ0Q2xpY2tIYW5kbGVyIiwiaW1hZ2VMb2FkZWQiLCJhc3NldFVybEZyb20iLCJpZCIsIm5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2FsbGVyeS9HYWxsZXJ5TW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7SWNvbiwgTW9kYWwsIFNwaW5uZXJ9IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcbmltcG9ydCB7YXNzZXRVcmxGcm9tfSBmcm9tIFwiLi4vYXNzZXQvc2VydmljZS9Bc3NldFNlcnZpY2VcIjtcbmltcG9ydCB7QXNzZXR9IGZyb20gXCIuLi9hc3NldC9kYXRhL0Fzc2V0XCI7XG5pbXBvcnQgXCIuL2Fzc2V0cy9HYWxsZXJ5TW9kYWwuc2Nzc1wiO1xuXG5leHBvcnQgY29uc3QgR2FsbGVyeU1vZGFsOiBSZWFjdC5GQzxHYWxsZXJ5TW9kYWxQcm9wcz4gPSAoXG4gICAge2Fzc2V0cywgYXNzZXRJbmRleCwgc2V0QXNzZXRJbmRleCwgYXNzZXRJbkZvY3VzLCBzZXRBc3NldEluRm9jdXMsIHNob3dNb2RhbCwgbW9kYWxDbG9zZUhhbmRsZXJ9KSA9PiB7XG5cblxuICAgIGNvbnN0IFtzbGlkZXJJbWFnZUxvYWRlZCwgc2V0U2xpZGVySW1hZ2VMb2FkZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgcmlnaHRDbGlja0hhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHNldFNsaWRlckltYWdlTG9hZGVkKGZhbHNlKTtcbiAgICAgICAgbGV0IGN1cnJlbnRJbmRleCA9IGFzc2V0SW5kZXggKyAxO1xuICAgICAgICBjdXJyZW50SW5kZXggPSBjdXJyZW50SW5kZXggPj0gYXNzZXRzLmxlbmd0aCA/IDAgOiBjdXJyZW50SW5kZXg7XG4gICAgICAgIHNldEFzc2V0SW5kZXgoY3VycmVudEluZGV4KTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKGFzc2V0c1tjdXJyZW50SW5kZXhdKTtcbiAgICB9O1xuICAgIGNvbnN0IGxlZnRDbGlja0hhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHNldFNsaWRlckltYWdlTG9hZGVkKGZhbHNlKTtcbiAgICAgICAgbGV0IGN1cnJlbnRJbmRleCA9IGFzc2V0SW5kZXggLSAxO1xuICAgICAgICBjdXJyZW50SW5kZXggPSBjdXJyZW50SW5kZXggPCAwID8gYXNzZXRzLmxlbmd0aCAtIDEgOiBjdXJyZW50SW5kZXg7XG4gICAgICAgIHNldEFzc2V0SW5kZXgoY3VycmVudEluZGV4KTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKGFzc2V0c1tjdXJyZW50SW5kZXhdKTtcbiAgICB9O1xuXG5cbiAgICBjb25zdCBpbWFnZUxvYWRlZCA9ICgpID0+IHtcbiAgICAgICAgc2V0U2xpZGVySW1hZ2VMb2FkZWQodHJ1ZSk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdhbGxlcnktbW9kYWxcIj5cbiAgICAgICAgICAgIDxNb2RhbCBzaG93PXtzaG93TW9kYWx9IHNldFNob3c9e21vZGFsQ2xvc2VIYW5kbGVyfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImltYWdlLXNsaWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNsb3NlXCIgb25DbGljaz17bW9kYWxDbG9zZUhhbmRsZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT1cImxhcmdlXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0XCIgb25DbGljaz17bGVmdENsaWNrSGFuZGxlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXJyb3ctbGVmdFwiIHNpemU9XCJsYXJnZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVySW1hZ2VMb2FkZWQgPyBcIlwiIDogPFNwaW5uZXIvPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXthc3NldFVybEZyb20oYXNzZXRJbkZvY3VzLmlkKX0gYWx0PXthc3NldEluRm9jdXMubmFtZX0gb25Mb2FkPXtpbWFnZUxvYWRlZH0vPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHRcIiBvbkNsaWNrPXtyaWdodENsaWNrSGFuZGxlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXJyb3ctcmlnaHRcIiBzaXplPVwibGFyZ2VcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9Nb2RhbD5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2FsbGVyeU1vZGFsUHJvcHMge1xuICAgIGFzc2V0czogQXNzZXRbXTtcbiAgICBhc3NldEluRm9jdXM6IEFzc2V0O1xuICAgIGFzc2V0SW5kZXg6IG51bWJlcjtcbiAgICBzZXRBc3NldEluZGV4OiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgICBzZXRBc3NldEluRm9jdXM6IChhc3NldDogQXNzZXQpID0+IHZvaWQ7XG4gICAgc2hvd01vZGFsOiBib29sZWFuO1xuICAgIG1vZGFsQ2xvc2VIYW5kbGVyOiAoKSA9PiB2b2lkO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVPLElBQU1BLFlBQXlDLEdBQUcsU0FBNUNBLFlBQTRDLE9BQ2dEO0VBQUEsSUFBcEdDLE1BQW9HLFFBQXBHQSxNQUFvRztFQUFBLElBQTVGQyxVQUE0RixRQUE1RkEsVUFBNEY7RUFBQSxJQUFoRkMsYUFBZ0YsUUFBaEZBLGFBQWdGO0VBQUEsSUFBakVDLFlBQWlFLFFBQWpFQSxZQUFpRTtFQUFBLElBQW5EQyxlQUFtRCxRQUFuREEsZUFBbUQ7RUFBQSxJQUFsQ0MsU0FBa0MsUUFBbENBLFNBQWtDO0VBQUEsSUFBdkJDLGlCQUF1QixRQUF2QkEsaUJBQXVCOztFQUdyRyxnQkFBa0QsSUFBQUMsZUFBQSxFQUFTLEtBQVQsQ0FBbEQ7RUFBQTtFQUFBLElBQU9DLGlCQUFQO0VBQUEsSUFBMEJDLG9CQUExQjs7RUFFQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLEdBQU07SUFDNUJELG9CQUFvQixDQUFDLEtBQUQsQ0FBcEI7SUFDQSxJQUFJRSxZQUFZLEdBQUdWLFVBQVUsR0FBRyxDQUFoQztJQUNBVSxZQUFZLEdBQUdBLFlBQVksSUFBSVgsTUFBTSxDQUFDWSxNQUF2QixHQUFnQyxDQUFoQyxHQUFvQ0QsWUFBbkQ7SUFDQVQsYUFBYSxDQUFDUyxZQUFELENBQWI7SUFDQVAsZUFBZSxDQUFDSixNQUFNLENBQUNXLFlBQUQsQ0FBUCxDQUFmO0VBQ0gsQ0FORDs7RUFPQSxJQUFNRSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLEdBQU07SUFDM0JKLG9CQUFvQixDQUFDLEtBQUQsQ0FBcEI7SUFDQSxJQUFJRSxZQUFZLEdBQUdWLFVBQVUsR0FBRyxDQUFoQztJQUNBVSxZQUFZLEdBQUdBLFlBQVksR0FBRyxDQUFmLEdBQW1CWCxNQUFNLENBQUNZLE1BQVAsR0FBZ0IsQ0FBbkMsR0FBdUNELFlBQXREO0lBQ0FULGFBQWEsQ0FBQ1MsWUFBRCxDQUFiO0lBQ0FQLGVBQWUsQ0FBQ0osTUFBTSxDQUFDVyxZQUFELENBQVAsQ0FBZjtFQUNILENBTkQ7O0VBU0EsSUFBTUcsV0FBVyxHQUFHLFNBQWRBLFdBQWMsR0FBTTtJQUN0Qkwsb0JBQW9CLENBQUMsSUFBRCxDQUFwQjtFQUNILENBRkQ7O0VBR0Esb0JBQ0k7SUFBSyxTQUFTLEVBQUM7RUFBZixnQkFDSSw2QkFBQyxnQkFBRDtJQUFPLElBQUksRUFBRUosU0FBYjtJQUF3QixPQUFPLEVBQUVDO0VBQWpDLGdCQUNJO0lBQUssU0FBUyxFQUFDO0VBQWYsZ0JBQ0k7SUFBSyxTQUFTLEVBQUMsT0FBZjtJQUF1QixPQUFPLEVBQUVBO0VBQWhDLGdCQUNJLDZCQUFDLGVBQUQ7SUFBTSxJQUFJLEVBQUMsT0FBWDtJQUFtQixJQUFJLEVBQUM7RUFBeEIsRUFESixDQURKLGVBSUk7SUFBSyxTQUFTLEVBQUMsTUFBZjtJQUFzQixPQUFPLEVBQUVPO0VBQS9CLGdCQUNJLDZCQUFDLGVBQUQ7SUFBTSxJQUFJLEVBQUMsWUFBWDtJQUF3QixJQUFJLEVBQUM7RUFBN0IsRUFESixDQUpKLEVBU1FMLGlCQUFpQixHQUFHLEVBQUgsZ0JBQVEsNkJBQUMsa0JBQUQsT0FUakMsZUFXSTtJQUFLLEdBQUcsRUFBRSxJQUFBTywwQkFBQSxFQUFhWixZQUFZLENBQUNhLEVBQTFCLENBQVY7SUFBeUMsR0FBRyxFQUFFYixZQUFZLENBQUNjLElBQTNEO0lBQWlFLE1BQU0sRUFBRUg7RUFBekUsRUFYSixlQWFJO0lBQUssU0FBUyxFQUFDLE9BQWY7SUFBdUIsT0FBTyxFQUFFSjtFQUFoQyxnQkFDSSw2QkFBQyxlQUFEO0lBQU0sSUFBSSxFQUFDLGFBQVg7SUFBeUIsSUFBSSxFQUFDO0VBQTlCLEVBREosQ0FiSixDQURKLENBREosQ0FESjtBQXVCSCxDQWhETSJ9
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  require("./assets/ImageCard.scss");
11
11
 
12
- var _AssetService = require("../floorplan/service/AssetService");
12
+ var _AssetService = require("../asset/service/AssetService");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
@@ -28,4 +28,4 @@ var ImageCard = function ImageCard(_ref) {
28
28
  };
29
29
 
30
30
  exports.ImageCard = ImageCard;
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbWFnZUNhcmQiLCJpbWFnZSIsIm9uQ2xpY2siLCJnZXRBc3NldFVybCIsInRodW1ibmFpbCIsIm5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2FsbGVyeS9JbWFnZUNhcmQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJy4vYXNzZXRzL0ltYWdlQ2FyZC5zY3NzJztcbmltcG9ydCB7R2FsbGVyeUltYWdlfSBmcm9tIFwiLi9kYXRhL0dhbGxlcnlJbWFnZVwiO1xuaW1wb3J0IHtnZXRBc3NldFVybH0gZnJvbSBcIi4uL2Zsb29ycGxhbi9zZXJ2aWNlL0Fzc2V0U2VydmljZVwiO1xuXG5leHBvcnQgY29uc3QgSW1hZ2VDYXJkOiBSZWFjdC5GQzxJbWFnZUNhcmRQcm9wcz4gPSAoe2ltYWdlLCBvbkNsaWNrfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW1hZ2UtY2FyZFwiIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgICAgICAgPGltZyBzcmM9e2dldEFzc2V0VXJsKGltYWdlLnRodW1ibmFpbCl9IGFsdD17aW1hZ2UubmFtZX0vPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbWFnZS1jYXJkLS1mb290ZXJcIj5cbiAgICAgICAgICAgICAgICA8cD57aW1hZ2UubmFtZX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUNhcmRQcm9wcyB7XG4gICAgaW1hZ2U6IEdhbGxlcnlJbWFnZTtcbiAgICBvbkNsaWNrOiAoKSA9PiB2b2lkO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOzs7O0FBRU8sSUFBTUEsU0FBbUMsR0FBRyxTQUF0Q0EsU0FBc0MsT0FBc0I7RUFBQSxJQUFwQkMsS0FBb0IsUUFBcEJBLEtBQW9CO0VBQUEsSUFBYkMsT0FBYSxRQUFiQSxPQUFhO0VBQ3JFLG9CQUNJO0lBQUssU0FBUyxFQUFDLFlBQWY7SUFBNEIsT0FBTyxFQUFFQTtFQUFyQyxnQkFDSTtJQUFLLEdBQUcsRUFBRSxJQUFBQyx5QkFBQSxFQUFZRixLQUFLLENBQUNHLFNBQWxCLENBQVY7SUFBd0MsR0FBRyxFQUFFSCxLQUFLLENBQUNJO0VBQW5ELEVBREosZUFFSTtJQUFLLFNBQVMsRUFBQztFQUFmLGdCQUNJLHdDQUFJSixLQUFLLENBQUNJLElBQVYsQ0FESixDQUZKLENBREo7QUFRSCxDQVRNIn0=
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbWFnZUNhcmQiLCJpbWFnZSIsIm9uQ2xpY2siLCJnZXRBc3NldFVybCIsInRodW1ibmFpbCIsIm5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2FsbGVyeS9JbWFnZUNhcmQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJy4vYXNzZXRzL0ltYWdlQ2FyZC5zY3NzJztcbmltcG9ydCB7R2FsbGVyeUltYWdlfSBmcm9tIFwiLi9kYXRhL0dhbGxlcnlJbWFnZVwiO1xuaW1wb3J0IHtnZXRBc3NldFVybH0gZnJvbSBcIi4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5cbmV4cG9ydCBjb25zdCBJbWFnZUNhcmQ6IFJlYWN0LkZDPEltYWdlQ2FyZFByb3BzPiA9ICh7aW1hZ2UsIG9uQ2xpY2t9KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbWFnZS1jYXJkXCIgb25DbGljaz17b25DbGlja30+XG4gICAgICAgICAgICA8aW1nIHNyYz17Z2V0QXNzZXRVcmwoaW1hZ2UudGh1bWJuYWlsKX0gYWx0PXtpbWFnZS5uYW1lfS8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImltYWdlLWNhcmQtLWZvb3RlclwiPlxuICAgICAgICAgICAgICAgIDxwPntpbWFnZS5uYW1lfTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlQ2FyZFByb3BzIHtcbiAgICBpbWFnZTogR2FsbGVyeUltYWdlO1xuICAgIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7Ozs7QUFFTyxJQUFNQSxTQUFtQyxHQUFHLFNBQXRDQSxTQUFzQyxPQUFzQjtFQUFBLElBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7RUFBQSxJQUFiQyxPQUFhLFFBQWJBLE9BQWE7RUFDckUsb0JBQ0k7SUFBSyxTQUFTLEVBQUMsWUFBZjtJQUE0QixPQUFPLEVBQUVBO0VBQXJDLGdCQUNJO0lBQUssR0FBRyxFQUFFLElBQUFDLHlCQUFBLEVBQVlGLEtBQUssQ0FBQ0csU0FBbEIsQ0FBVjtJQUF3QyxHQUFHLEVBQUVILEtBQUssQ0FBQ0k7RUFBbkQsRUFESixlQUVJO0lBQUssU0FBUyxFQUFDO0VBQWYsZ0JBQ0ksd0NBQUlKLEtBQUssQ0FBQ0ksSUFBVixDQURKLENBRkosQ0FESjtBQVFILENBVE0ifQ==
@@ -42,6 +42,11 @@
42
42
  figure {
43
43
  margin: 0;
44
44
  text-align: center;
45
+ @media (min-width: $medium-size) {
46
+ display: flex;
47
+ flex-wrap: wrap;
48
+ justify-content: center;
49
+ }
45
50
 
46
51
  .gallery--image {
47
52
  padding-bottom: 1rem;
@@ -51,24 +56,14 @@
51
56
  margin: 4vw;
52
57
  object-fit: cover;
53
58
  object-position: top;
54
- }
55
-
56
- @media (min-width: $medium-size) {
57
- display: flex;
58
- flex-wrap: wrap;
59
- justify-content: center;
60
-
61
- .gallery--image {
59
+ @media (min-width: $medium-size) {
62
60
  max-width: 20rem;
63
61
  max-height: 13rem;
64
62
  width: 30vw;
65
63
  margin: 1rem;
66
-
67
64
  }
68
-
69
65
  }
70
66
  }
71
-
72
67
  }
73
68
 
74
69
  .muncher-modal {
@@ -131,4 +126,5 @@
131
126
  border-top: white .5rem solid;
132
127
  border-bottom: white .5rem solid;
133
128
  }
129
+
134
130
  }
@@ -0,0 +1,124 @@
1
+ @import "src/assets/variables";
2
+
3
+ .div-gallery {
4
+ padding: 0;
5
+ display: block;
6
+ position: relative;
7
+
8
+ .gallery-hero {
9
+ position: relative;
10
+ height: 40vh;
11
+ @media (min-width: $medium-size) {
12
+ height: 40vw;
13
+ }
14
+ width: 100vw;
15
+
16
+ .gallery-hero-two-columns {
17
+ display: flex;
18
+
19
+ .gallery-hero-column-one, .gallery-hero-column-two {
20
+ width: 50vw;
21
+ }
22
+
23
+ .gallery-hero--image {
24
+ cursor: pointer;
25
+ object-fit: cover;
26
+ object-position: center;
27
+
28
+ }
29
+
30
+ .gallery-hero-one {
31
+ .gallery-hero--image {
32
+ width: 100%;
33
+ height: 80vw;
34
+
35
+ }
36
+ }
37
+
38
+ .gallery-hero-column {
39
+ display: flex;
40
+ flex-wrap: wrap;
41
+ align-content: flex-start;
42
+
43
+ .gallery-hero--image {
44
+ width: 25%;
45
+ height: 20vw;
46
+ }
47
+
48
+ .gallery-hero-mobile--image {
49
+ cursor: pointer;
50
+ object-fit: cover;
51
+ object-position: center;
52
+ width: 100vw;
53
+ height: 40vh;
54
+ }
55
+ }
56
+
57
+ .gallery-hero-column-one {
58
+
59
+ .gallery-hero--image {
60
+ width: 100%;
61
+ height: 40vw;
62
+ }
63
+ }
64
+
65
+
66
+ .gallery-hero-column-two {
67
+ display: flex;
68
+ flex-wrap: wrap;
69
+ align-content: flex-start;
70
+
71
+ .gallery-hero--image {
72
+ width: 50%;
73
+ height: 20vw;
74
+ }
75
+ }
76
+ }
77
+
78
+ .badge--info {
79
+ position: absolute;
80
+ top: 1rem;
81
+ left: 1rem;
82
+ }
83
+
84
+ .badge--stats {
85
+ position: absolute;
86
+ left: 50%;
87
+ transform: translate(-50%, -50%);
88
+ bottom: -2rem;
89
+
90
+ .muncher-badge {
91
+ color: $primary-background-color;
92
+ font-size: .5rem;
93
+ @media (min-width: $medium-size) {
94
+ font-size: .8rem;
95
+ }
96
+
97
+ }
98
+ }
99
+
100
+ .icon-left, .icon-right {
101
+ position: absolute;
102
+ top: 40%;
103
+ cursor: pointer;
104
+ color: $primary-background-color;
105
+ }
106
+
107
+ .icon-left:hover, .icon-right:hover {
108
+ opacity: .6;
109
+ }
110
+
111
+ .icon--disabled {
112
+ color: $tertiary-background-color;
113
+ cursor: not-allowed;
114
+ }
115
+
116
+ .icon-left {
117
+ left: .1rem;
118
+ }
119
+
120
+ .icon-right {
121
+ right: .1rem;
122
+ }
123
+ }
124
+ }