@micromag/screen-map 0.4.71 → 0.4.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/es/index.d.ts +2 -2
  2. package/es/index.js +263 -400
  3. package/package.json +19 -18
package/es/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ForwardedRef } from 'react';
3
- import { Marker, MarkerWithImage, TextElement, GeoPosition, BackgroundElement } from '@micromag/core';
3
+ import { Marker, MarkerWithImage, TextElement, GeoPosition, BackgroundElement, MediaElement } from '@micromag/core';
4
4
 
5
5
  interface MapScreenProps {
6
6
  layout?: 'normal';
@@ -18,7 +18,7 @@ interface MapScreenProps {
18
18
  current?: boolean;
19
19
  active?: boolean;
20
20
  type?: string | null;
21
- mediaRef?: ForwardedRef<HTMLMediaElement> | null;
21
+ mediaRef?: ForwardedRef<MediaElement> | null;
22
22
  className?: string | null;
23
23
  }
24
24
  declare function MapScreen({ layout, draggable, markers, title, description, button, openedMarkerSpacerHeight, withMarkerImages, zoom, center, fitBounds, background, current, active, type, mediaRef: customMediaRef, className, }: MapScreenProps): react_jsx_runtime.JSX.Element;
package/es/index.js CHANGED
@@ -1,7 +1,4 @@
1
1
  import { useIntl, FormattedMessage, defineMessage } from 'react-intl';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
4
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
2
  import classNames from 'classnames';
6
3
  import { useState, useRef, useCallback, useMemo, useEffect } from 'react';
7
4
  import { PlaceholderMap, Button, ScreenElement } from '@micromag/core/components';
@@ -17,160 +14,125 @@ import Map from '@micromag/element-map';
17
14
  import Scroll from '@micromag/element-scroll';
18
15
  import Text from '@micromag/element-text';
19
16
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
20
- import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructuringEmpty';
21
- import _extends from '@babel/runtime/helpers/extends';
17
+ import { c } from 'react/compiler-runtime';
22
18
 
23
19
  var styles = {"container":"micromag-screen-map-container","background":"micromag-screen-map-background","content":"micromag-screen-map-content","placeholder":"micromag-screen-map-placeholder","markerOverlayContainer":"micromag-screen-map-markerOverlayContainer","markerOverlayScrollable":"micromag-screen-map-markerOverlayScrollable","markerOverlaySafe":"micromag-screen-map-markerOverlaySafe","markerOverlay":"micromag-screen-map-markerOverlay","markerOverlayContent":"micromag-screen-map-markerOverlayContent","markerOverlayContentInner":"micromag-screen-map-markerOverlayContentInner","swipeIndicator":"micromag-screen-map-swipeIndicator","splash":"micromag-screen-map-splash","title":"micromag-screen-map-title","description":"micromag-screen-map-description","button":"micromag-screen-map-button","emptyTitle":"micromag-screen-map-emptyTitle","emptyDescription":"micromag-screen-map-emptyDescription","emptyButton":"micromag-screen-map-emptyButton","splashButton":"micromag-screen-map-splashButton","closeButton":"micromag-screen-map-closeButton","markerImage":"micromag-screen-map-markerImage","markerTitle":"micromag-screen-map-markerTitle","markerSubtitle":"micromag-screen-map-markerSubtitle","markerDescription":"micromag-screen-map-markerDescription","hasSelectedMarker":"micromag-screen-map-hasSelectedMarker","opened":"micromag-screen-map-opened"};
24
20
 
25
- var defaultCenter = {
21
+ const defaultCenter = {
26
22
  lat: 45.5,
27
23
  lng: -73.56
28
24
  };
29
- var defaultZoom = 10;
30
- var stopDragEventsPropagation = {
31
- onTouchMove: function onTouchMove(e) {
32
- return e.stopPropagation();
33
- },
34
- onTouchStart: function onTouchStart(e) {
35
- return e.stopPropagation();
36
- },
37
- onTouchEnd: function onTouchEnd(e) {
38
- return e.stopPropagation();
39
- },
40
- onPointerMove: function onPointerMove(e) {
41
- return e.stopPropagation();
42
- },
43
- onPointerUp: function onPointerUp(e) {
44
- return e.stopPropagation();
45
- },
46
- onPointerDown: function onPointerDown(e) {
47
- return e.stopPropagation();
48
- }
25
+ const defaultZoom = 10;
26
+ const stopDragEventsPropagation = {
27
+ onTouchMove: e => e.stopPropagation(),
28
+ onTouchStart: e => e.stopPropagation(),
29
+ onTouchEnd: e => e.stopPropagation(),
30
+ onPointerMove: e => e.stopPropagation(),
31
+ onPointerUp: e => e.stopPropagation(),
32
+ onPointerDown: e => e.stopPropagation()
49
33
  };
50
- var emptyArray = [];
51
- function MapScreen(_ref) {
52
- var _ref$layout = _ref.layout,
53
- layout = _ref$layout === void 0 ? 'normal' : _ref$layout,
54
- _ref$draggable = _ref.draggable,
55
- draggable = _ref$draggable === void 0 ? true : _ref$draggable,
56
- _ref$markers = _ref.markers,
57
- markers = _ref$markers === void 0 ? emptyArray : _ref$markers,
58
- _ref$title = _ref.title,
59
- title = _ref$title === void 0 ? null : _ref$title,
60
- _ref$description = _ref.description,
61
- description = _ref$description === void 0 ? null : _ref$description,
62
- _ref$button = _ref.button,
63
- button = _ref$button === void 0 ? null : _ref$button,
64
- _ref$openedMarkerSpac = _ref.openedMarkerSpacerHeight,
65
- openedMarkerSpacerHeight = _ref$openedMarkerSpac === void 0 ? 0.75 : _ref$openedMarkerSpac,
66
- _ref$withMarkerImages = _ref.withMarkerImages,
67
- withMarkerImages = _ref$withMarkerImages === void 0 ? false : _ref$withMarkerImages,
68
- _ref$zoom = _ref.zoom,
69
- zoom = _ref$zoom === void 0 ? defaultZoom : _ref$zoom,
70
- _ref$center = _ref.center,
71
- center = _ref$center === void 0 ? defaultCenter : _ref$center,
72
- _ref$fitBounds = _ref.fitBounds,
73
- fitBounds = _ref$fitBounds === void 0 ? true : _ref$fitBounds,
74
- _ref$background = _ref.background,
75
- background = _ref$background === void 0 ? null : _ref$background,
76
- _ref$current = _ref.current,
77
- current = _ref$current === void 0 ? true : _ref$current,
78
- _ref$active = _ref.active,
79
- active = _ref$active === void 0 ? true : _ref$active,
80
- _ref$type = _ref.type,
81
- type = _ref$type === void 0 ? null : _ref$type,
82
- _ref$mediaRef = _ref.mediaRef,
83
- customMediaRef = _ref$mediaRef === void 0 ? null : _ref$mediaRef,
84
- _ref$className = _ref.className,
85
- className = _ref$className === void 0 ? null : _ref$className;
86
- var _useIntl = useIntl(),
87
- locale = _useIntl.locale;
88
- var _useGoogleKeys = useGoogleKeys(),
89
- _useGoogleKeys$apiKey = _useGoogleKeys.apiKey,
90
- apiKey = _useGoogleKeys$apiKey === void 0 ? null : _useGoogleKeys$apiKey;
91
- var trackScreenEvent = useTrackScreenEvent(type);
92
- var _useState = useState(null),
93
- _useState2 = _slicedToArray(_useState, 2),
94
- selectedMarkerIndex = _useState2[0],
95
- setSelectedMarkerIndex = _useState2[1];
96
- var hasSelectedMarker = selectedMarkerIndex !== null;
97
- var lastRenderedMarker = useRef(null);
98
- var _useScreenSize = useScreenSize(),
99
- width = _useScreenSize.width,
100
- height = _useScreenSize.height,
101
- resolution = _useScreenSize.resolution;
102
- var _usePlaybackContext = usePlaybackContext(),
103
- muted = _usePlaybackContext.muted;
104
- var _usePlaybackMediaRef = usePlaybackMediaRef(current, true),
105
- mediaRef = _usePlaybackMediaRef.ref,
106
- _usePlaybackMediaRef$ = _usePlaybackMediaRef.isCurrent,
107
- isCurrentMedia = _usePlaybackMediaRef$ === void 0 ? false : _usePlaybackMediaRef$;
108
- var _ref2 = background || {},
109
- backgroundColor = _ref2.color;
110
- var markerOverlayContentStyle = getStyleFromColor(backgroundColor);
111
- var _useScreenRenderConte = useScreenRenderContext(),
112
- isView = _useScreenRenderConte.isView,
113
- isPreview = _useScreenRenderConte.isPreview,
114
- isPlaceholder = _useScreenRenderConte.isPlaceholder,
115
- isEdit = _useScreenRenderConte.isEdit,
116
- isStatic = _useScreenRenderConte.isStatic,
117
- isCapture = _useScreenRenderConte.isCapture;
118
- var screenState = useScreenState();
119
- var _useState3 = useState(false),
120
- _useState4 = _slicedToArray(_useState3, 2),
121
- ready = _useState4[0],
122
- setReady = _useState4[1];
123
- var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
124
- var scrollingDisabled = !isEdit && transitionDisabled || !current;
125
- var backgroundPlaying = current && (isView || isEdit) && (isCurrentMedia || !isView);
34
+ const emptyArray = [];
35
+ function MapScreen({
36
+ layout = 'normal',
37
+ draggable = true,
38
+ markers = emptyArray,
39
+ title = null,
40
+ description = null,
41
+ button = null,
42
+ openedMarkerSpacerHeight = 0.75,
43
+ withMarkerImages = false,
44
+ zoom = defaultZoom,
45
+ center = defaultCenter,
46
+ fitBounds = true,
47
+ background = null,
48
+ current = true,
49
+ active = true,
50
+ // enableInteractions,
51
+ // disableInteraction,
52
+ type = null,
53
+ mediaRef: customMediaRef = null,
54
+ className = null
55
+ }) {
56
+ const {
57
+ locale
58
+ } = useIntl();
59
+ const {
60
+ apiKey = null
61
+ } = useGoogleKeys();
62
+ const trackScreenEvent = useTrackScreenEvent(type);
63
+ const [selectedMarkerIndex, setSelectedMarkerIndex] = useState(null);
64
+ const hasSelectedMarker = selectedMarkerIndex !== null;
65
+ const lastRenderedMarker = useRef(null);
66
+ const {
67
+ width,
68
+ height,
69
+ resolution
70
+ } = useScreenSize();
71
+ const {
72
+ muted
73
+ } = usePlaybackContext();
74
+ const {
75
+ ref: mediaRef,
76
+ isCurrent: isCurrentMedia = false
77
+ } = usePlaybackMediaRef(current, true);
78
+ const {
79
+ color: backgroundColor
80
+ } = background || {};
81
+ const markerOverlayContentStyle = getStyleFromColor(backgroundColor);
82
+ const {
83
+ isView,
84
+ isPreview,
85
+ isPlaceholder,
86
+ isEdit,
87
+ isStatic,
88
+ isCapture
89
+ } = useScreenRenderContext();
90
+ const screenState = useScreenState();
91
+ const [ready, setReady] = useState(false);
92
+ const transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
93
+ const scrollingDisabled = !isEdit && transitionDisabled || !current;
94
+ const backgroundPlaying = current && (isView || isEdit) && (isCurrentMedia || !isView);
126
95
  // const backgroundShouldLoad = current || active;
127
- var backgroundShouldLoad = current || active;
128
- var _useState5 = useState(isStatic || isCapture),
129
- _useState6 = _slicedToArray(_useState5, 2),
130
- opened = _useState6[0],
131
- setOpened = _useState6[1];
132
- var _useViewerInteraction = useViewerInteraction(),
133
- enableInteraction = _useViewerInteraction.enableInteraction,
134
- disableInteraction = _useViewerInteraction.disableInteraction;
135
- var onMapReady = useCallback(function () {
136
- return setReady(true);
137
- }, [setReady]);
138
- var finalMarkers = useMemo(function () {
139
- return (markers || []).map(function (marker, markerI) {
140
- return _objectSpread(_objectSpread({}, marker), {}, {
141
- active: markerI === selectedMarkerIndex
142
- });
143
- });
144
- }, [markers, selectedMarkerIndex]);
145
- var closeMarker = useCallback(function () {
146
- var lastMarker = finalMarkers[selectedMarkerIndex];
96
+ const backgroundShouldLoad = current || active;
97
+ const [opened, setOpened] = useState(isStatic || isCapture);
98
+ const {
99
+ enableInteraction,
100
+ disableInteraction
101
+ } = useViewerInteraction();
102
+ const onMapReady = useCallback(() => setReady(true), [setReady]);
103
+ const finalMarkers = useMemo(() => (markers || []).map((marker, markerI) => ({
104
+ ...marker,
105
+ active: markerI === selectedMarkerIndex
106
+ })), [markers, selectedMarkerIndex]);
107
+ const closeMarker = useCallback(() => {
108
+ const lastMarker = finalMarkers[selectedMarkerIndex];
147
109
  lastRenderedMarker.current = lastMarker;
148
110
  setSelectedMarkerIndex(null);
149
111
  }, [finalMarkers, selectedMarkerIndex, setSelectedMarkerIndex]);
150
- var onClickMap = useCallback(function () {
151
- var lastMarker = finalMarkers[selectedMarkerIndex];
152
- trackScreenEvent('click_marker_close', "Marker ".concat(selectedMarkerIndex + 1, ": ").concat(lastMarker.title.body), {
153
- marker: lastMarker,
112
+ const onClickMap = useCallback(() => {
113
+ const lastMarker_0 = finalMarkers[selectedMarkerIndex];
114
+ trackScreenEvent('click_marker_close', `Marker ${selectedMarkerIndex + 1}: ${lastMarker_0.title.body}`, {
115
+ marker: lastMarker_0,
154
116
  markerIndex: selectedMarkerIndex
155
117
  });
156
118
  closeMarker();
157
119
  }, [finalMarkers, selectedMarkerIndex, trackScreenEvent, closeMarker]);
158
- var onClickMarker = useCallback(function (e, index) {
159
- var marker = finalMarkers[index];
120
+ const onClickMarker = useCallback((e, index) => {
121
+ const marker_0 = finalMarkers[index];
160
122
  setSelectedMarkerIndex(index);
161
- trackScreenEvent('click_marker_open', "Marker ".concat(index + 1, ": ").concat(marker.title.body), {
162
- marker: marker,
123
+ trackScreenEvent('click_marker_open', `Marker ${index + 1}: ${marker_0.title.body}`, {
124
+ marker: marker_0,
163
125
  markerIndex: index
164
126
  });
165
127
  }, [finalMarkers, setSelectedMarkerIndex, trackScreenEvent]);
166
- var onButtonClick = useCallback(function () {
128
+ const onButtonClick = useCallback(() => {
167
129
  setOpened(true);
168
130
  if (disableInteraction !== null) {
169
131
  disableInteraction();
170
132
  }
171
133
  trackScreenEvent('click_button', button.body);
172
134
  }, [setOpened, disableInteraction, trackScreenEvent, button]);
173
- var onCloseClick = useCallback(function () {
135
+ const onCloseClick = useCallback(() => {
174
136
  setOpened(false);
175
137
  if (enableInteraction !== null) {
176
138
  enableInteraction();
@@ -178,79 +140,68 @@ function MapScreen(_ref) {
178
140
  trackScreenEvent('click_close', 'Close icon');
179
141
  closeMarker();
180
142
  }, [setOpened, enableInteraction, trackScreenEvent]);
181
- var onMapDragEnd = useCallback(function (newCenter) {
182
- var coords = newCenter.toJSON();
183
- trackScreenEvent('drag_map', "Latitude: ".concat(coords.lat.toFixed(4), ", Longitude: ").concat(coords.lng.toFixed(4)), {
184
- coords: coords
143
+ const onMapDragEnd = useCallback(newCenter => {
144
+ const coords = newCenter.toJSON();
145
+ trackScreenEvent('drag_map', `Latitude: ${coords.lat.toFixed(4)}, Longitude: ${coords.lng.toFixed(4)}`, {
146
+ coords
185
147
  });
186
148
  }, [trackScreenEvent]);
187
- var onScrolledBottom = useCallback(function (_ref3) {
188
- var initial = _ref3.initial;
149
+ const onScrolledBottom = useCallback(({
150
+ initial
151
+ }) => {
189
152
  if (initial) {
190
- var selectedMarker = (markers || [])[selectedMarkerIndex];
191
- trackScreenEvent('scroll', "Marker ".concat(selectedMarkerIndex + 1, ": ").concat(selectedMarker.title.body), {
153
+ const selectedMarker = (markers || [])[selectedMarkerIndex];
154
+ trackScreenEvent('scroll', `Marker ${selectedMarkerIndex + 1}: ${selectedMarker.title.body}`, {
192
155
  marker: selectedMarker,
193
156
  markerIndex: selectedMarkerIndex
194
157
  });
195
158
  }
196
159
  }, [trackScreenEvent, markers, selectedMarkerIndex]);
197
- var _useDimensionObserver = useDimensionObserver({
198
- disabled: !isView
199
- }),
200
- markerOverContentInnerRef = _useDimensionObserver.ref,
201
- _useDimensionObserver2 = _useDimensionObserver.width,
202
- markerOverContentInnerWidth = _useDimensionObserver2 === void 0 ? '100%' : _useDimensionObserver2;
203
- var _useState7 = useState(0),
204
- _useState8 = _slicedToArray(_useState7, 2),
205
- markerImagesLoaded = _useState8[0],
206
- setMarkerImagesLoaded = _useState8[1];
207
- var allMarkersImagesLoaded = markerImagesLoaded === (markers || []).length;
208
- var finalReady = ready && (!withMarkerImages || allMarkersImagesLoaded);
209
- useEffect(function () {
160
+ const {
161
+ ref: markerOverContentInnerRef,
162
+ width: markerOverContentInnerWidth = '100%'
163
+ } = useDimensionObserver({
164
+ disabled: !isView
165
+ });
166
+ const [markerImagesLoaded, setMarkerImagesLoaded] = useState(0);
167
+ const allMarkersImagesLoaded = markerImagesLoaded === (markers || []).length;
168
+ const finalReady = ready && (!withMarkerImages || allMarkersImagesLoaded);
169
+ useEffect(() => {
210
170
  if (withMarkerImages && markers !== null && (markers || []).length) {
211
171
  setMarkerImagesLoaded(0);
212
- var imgs = markers.map(function (marker) {
213
- var _ref4 = marker || {},
214
- _ref4$image = _ref4.image,
215
- image = _ref4$image === void 0 ? null : _ref4$image;
216
- var _ref5 = image || {},
217
- _ref5$url = _ref5.url,
218
- url = _ref5$url === void 0 ? null : _ref5$url;
219
- var withUrl = url !== null;
172
+ const imgs = markers.map(marker_1 => {
173
+ const {
174
+ image = null
175
+ } = marker_1 || {};
176
+ const {
177
+ url = null
178
+ } = image || {};
179
+ const withUrl = url !== null;
220
180
  if (withUrl) {
221
- var img = new Image();
181
+ const img = new Image();
222
182
  img.src = url;
223
- img.onload = function () {
224
- setMarkerImagesLoaded(function (index) {
225
- return setMarkerImagesLoaded(index + 1);
226
- });
183
+ img.onload = () => {
184
+ setMarkerImagesLoaded(index_0 => setMarkerImagesLoaded(index_0 + 1));
227
185
  };
228
186
  return img;
229
187
  }
230
188
  return null;
231
189
  });
232
- return function () {
233
- imgs.filter(function (img) {
234
- return img !== null;
235
- }).forEach(function (img) {
236
- img.onload = function () {};
190
+ return () => {
191
+ imgs.filter(img_0 => img_0 !== null).forEach(img_1 => {
192
+ img_1.onload = () => {};
237
193
  });
238
194
  };
239
195
  }
240
- return function () {};
196
+ return () => {};
241
197
  }, [withMarkerImages, markers]);
242
198
 
243
199
  // Switch state
244
- useEffect(function () {
200
+ useEffect(() => {
245
201
  if (!isEdit && !isPreview) {
246
202
  return;
247
203
  }
248
- var _ref6 = screenState !== null ? screenState.split('.') : [],
249
- _ref7 = _slicedToArray(_ref6, 2),
250
- _ref7$ = _ref7[0],
251
- stateId = _ref7$ === void 0 ? null : _ref7$,
252
- _ref7$2 = _ref7[1],
253
- markerIndex = _ref7$2 === void 0 ? null : _ref7$2;
204
+ const [stateId = null, markerIndex = null] = screenState !== null ? screenState.split('.') : [];
254
205
  if (stateId === 'intro') {
255
206
  setOpened(false);
256
207
  setSelectedMarkerIndex(null);
@@ -262,72 +213,67 @@ function MapScreen(_ref) {
262
213
  setSelectedMarkerIndex(parseInt(markerIndex, 10));
263
214
  }
264
215
  }, [screenState, isEdit, setOpened]);
265
- var staticUrl;
216
+ let staticUrl;
266
217
  if (width > 0 && height > 0 && apiKey !== null) {
267
- var correctMarkers = markers !== null ? markers.filter(function (it) {
268
- return it !== null;
269
- }).filter(function (_ref8) {
270
- var _ref8$geoPosition = _ref8.geoPosition,
271
- geoPosition = _ref8$geoPosition === void 0 ? null : _ref8$geoPosition;
272
- return geoPosition !== null;
273
- }) : null;
274
- staticUrl = "https://maps.googleapis.com/maps/api/staticmap?size=".concat(Math.round(width), "x").concat(Math.round(height));
218
+ const correctMarkers = markers !== null ? markers.filter(it => it !== null).filter(({
219
+ geoPosition = null
220
+ }) => geoPosition !== null) : null;
221
+ staticUrl = `https://maps.googleapis.com/maps/api/staticmap?size=${Math.round(width)}x${Math.round(height)}`;
275
222
  if (center !== null && (correctMarkers === null || correctMarkers.length === 0)) {
276
- var _ref9 = center || {},
277
- _ref9$lat = _ref9.lat,
278
- lat = _ref9$lat === void 0 ? null : _ref9$lat,
279
- _ref9$lng = _ref9.lng,
280
- lng = _ref9$lng === void 0 ? null : _ref9$lng;
281
- staticUrl += "&center=".concat(lat, ",").concat(lng);
223
+ const {
224
+ lat = null,
225
+ lng = null
226
+ } = center || {};
227
+ staticUrl += `&center=${lat},${lng}`;
282
228
  }
283
229
  if (zoom !== null) {
284
- staticUrl += "&zoom=".concat(zoom);
230
+ staticUrl += `&zoom=${zoom}`;
285
231
  }
286
232
  if (apiKey !== null) {
287
- staticUrl += "&key=".concat(apiKey);
233
+ staticUrl += `&key=${apiKey}`;
288
234
  }
289
235
  if (locale !== null) {
290
- staticUrl += "&language=".concat(locale);
236
+ staticUrl += `&language=${locale}`;
291
237
  }
292
238
  if (correctMarkers !== null) {
293
- staticUrl += correctMarkers.map(function (marker) {
294
- var _ref0 = marker || {},
295
- _ref0$geoPosition = _ref0.geoPosition,
296
- geoPosition = _ref0$geoPosition === void 0 ? null : _ref0$geoPosition;
297
- var _ref1 = geoPosition || {},
298
- _ref1$lat = _ref1.lat,
299
- lat = _ref1$lat === void 0 ? null : _ref1$lat,
300
- _ref1$lng = _ref1.lng,
301
- lng = _ref1$lng === void 0 ? null : _ref1$lng;
302
- var _ref10 = marker || {},
303
- _ref10$image = _ref10.image,
304
- image = _ref10$image === void 0 ? null : _ref10$image;
305
- var _ref11 = image || {},
306
- _ref11$url = _ref11.url,
307
- url = _ref11$url === void 0 ? null : _ref11$url;
308
- return lat !== null && lng !== null ? "&markers=".concat(url !== null ? "icon:".concat(url) : '', "%7C").concat(lat, ",").concat(lng) : '';
239
+ staticUrl += correctMarkers.map(marker_2 => {
240
+ const {
241
+ geoPosition: geoPosition_0 = null
242
+ } = marker_2 || {};
243
+ const {
244
+ lat: lat_0 = null,
245
+ lng: lng_0 = null
246
+ } = geoPosition_0 || {};
247
+ const {
248
+ image: image_0 = null
249
+ } = marker_2 || {};
250
+ const {
251
+ url: url_0 = null
252
+ } = image_0 || {};
253
+ return lat_0 !== null && lng_0 !== null ? `&markers=${url_0 !== null ? `icon:${url_0}` : ''}%7C${lat_0},${lng_0}` : '';
309
254
  }).join('');
310
255
  }
311
256
  }
312
- var renderedMarker = hasSelectedMarker ? finalMarkers[selectedMarkerIndex] : lastRenderedMarker.current;
313
- var _ref12 = renderedMarker || {},
314
- _ref12$title = _ref12.title,
315
- markerTitle = _ref12$title === void 0 ? null : _ref12$title,
316
- _ref12$subtitle = _ref12.subtitle,
317
- markerSubtitle = _ref12$subtitle === void 0 ? null : _ref12$subtitle,
318
- _ref12$description = _ref12.description,
319
- markerDescription = _ref12$description === void 0 ? null : _ref12$description,
320
- _ref12$image = _ref12.image,
321
- markerImage = _ref12$image === void 0 ? null : _ref12$image;
322
- var hasMarkerTitle = markerTitle !== null;
323
- var hasMarkerSubtitle = markerSubtitle !== null;
324
- var hasMarkerDescription = markerDescription !== null;
325
- var hasMarkerImage = markerImage !== null;
326
- var hasTitle = isTextFilled(title);
327
- var hasDescription = isTextFilled(description);
328
- var hasButton = isTextFilled(button);
257
+ const renderedMarker = hasSelectedMarker ? finalMarkers[selectedMarkerIndex] : lastRenderedMarker.current;
258
+ const {
259
+ title: markerTitle = null,
260
+ subtitle: markerSubtitle = null,
261
+ description: markerDescription = null,
262
+ image: markerImage = null
263
+ } = renderedMarker || {};
264
+ const hasMarkerTitle = markerTitle !== null;
265
+ const hasMarkerSubtitle = markerSubtitle !== null;
266
+ const hasMarkerDescription = markerDescription !== null;
267
+ const hasMarkerImage = markerImage !== null;
268
+ const hasTitle = isTextFilled(title);
269
+ const hasDescription = isTextFilled(description);
270
+ const hasButton = isTextFilled(button);
329
271
  return /*#__PURE__*/jsxs("div", {
330
- className: classNames([styles.container, className, _defineProperty(_defineProperty(_defineProperty({}, styles["".concat(layout, "Layout")], layout !== null), styles.opened, opened || isPreview && screenState !== 'intro'), styles.hasSelectedMarker, hasSelectedMarker)]),
272
+ className: classNames([styles.container, className, {
273
+ [styles[`${layout}Layout`]]: layout !== null,
274
+ [styles.opened]: opened || isPreview && screenState !== 'intro',
275
+ [styles.hasSelectedMarker]: hasSelectedMarker
276
+ }]),
331
277
  "data-screen-ready": finalReady,
332
278
  children: [/*#__PURE__*/jsx(Container, {
333
279
  width: width,
@@ -360,9 +306,9 @@ function MapScreen(_ref) {
360
306
  onClickMarker: onClickMarker,
361
307
  onReady: onMapReady,
362
308
  onDragEnd: onMapDragEnd
363
- }, "map"), /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({
364
- className: styles.markerOverlayContainer
365
- }, stopDragEventsPropagation), {}, {
309
+ }, "map"), /*#__PURE__*/jsx("div", {
310
+ className: styles.markerOverlayContainer,
311
+ ...stopDragEventsPropagation,
366
312
  children: /*#__PURE__*/jsx("div", {
367
313
  className: styles.markerOverlayScrollable,
368
314
  children: /*#__PURE__*/jsxs(Scroll, {
@@ -396,54 +342,50 @@ function MapScreen(_ref) {
396
342
  media: markerImage,
397
343
  width: markerOverContentInnerWidth,
398
344
  resolution: resolution
399
- }) : null, hasMarkerTitle ? /*#__PURE__*/jsx(Heading, _objectSpread({
400
- className: styles.markerTitle
401
- }, markerTitle)) : null, hasMarkerSubtitle ? /*#__PURE__*/jsx(Heading, _objectSpread({
345
+ }) : null, hasMarkerTitle ? /*#__PURE__*/jsx(Heading, {
346
+ className: styles.markerTitle,
347
+ ...markerTitle
348
+ }) : null, hasMarkerSubtitle ? /*#__PURE__*/jsx(Heading, {
402
349
  size: 3,
403
- className: styles.markerSubtitle
404
- }, markerSubtitle)) : null, hasMarkerDescription ? /*#__PURE__*/jsx(Text, _objectSpread({
405
- className: styles.markerDescription
406
- }, markerDescription)) : null]
407
- }, "markerContent-".concat(selectedMarkerIndex))]
350
+ className: styles.markerSubtitle,
351
+ ...markerSubtitle
352
+ }) : null, hasMarkerDescription ? /*#__PURE__*/jsx(Text, {
353
+ className: styles.markerDescription,
354
+ ...markerDescription
355
+ }) : null]
356
+ }, `markerContent-${selectedMarkerIndex}`)]
408
357
  })
409
358
  })]
410
359
  })
411
360
  })
412
- }), "marker-overlay"), /*#__PURE__*/jsxs("div", {
361
+ }, "marker-overlay"), /*#__PURE__*/jsxs("div", {
413
362
  className: classNames([styles.splash]),
414
363
  children: [/*#__PURE__*/jsx(ScreenElement, {
415
364
  emptyLabel: /*#__PURE__*/jsx(FormattedMessage, {
416
365
  id: "2ZOPe+",
417
- defaultMessage: [{
418
- "type": 0,
419
- "value": "Title"
420
- }]
366
+ defaultMessage: "Title"
421
367
  }),
422
368
  emptyClassName: styles.emptyTitle,
423
369
  isEmpty: !hasTitle,
424
- children: /*#__PURE__*/jsx(Heading, _objectSpread({
425
- className: styles.title
426
- }, title))
370
+ children: /*#__PURE__*/jsx(Heading, {
371
+ className: styles.title,
372
+ ...title
373
+ })
427
374
  }), /*#__PURE__*/jsx(ScreenElement, {
428
375
  emptyLabel: /*#__PURE__*/jsx(FormattedMessage, {
429
376
  id: "507VAi",
430
- defaultMessage: [{
431
- "type": 0,
432
- "value": "Description"
433
- }]
377
+ defaultMessage: "Description"
434
378
  }),
435
379
  emptyClassName: styles.emptyDescription,
436
380
  isEmpty: !hasDescription,
437
- children: /*#__PURE__*/jsx(Text, _objectSpread({
438
- className: styles.description
439
- }, description))
381
+ children: /*#__PURE__*/jsx(Text, {
382
+ className: styles.description,
383
+ ...description
384
+ })
440
385
  }), /*#__PURE__*/jsx(ScreenElement, {
441
386
  emptyLabel: /*#__PURE__*/jsx(FormattedMessage, {
442
387
  id: "bv3rRe",
443
- defaultMessage: [{
444
- "type": 0,
445
- "value": "Button"
446
- }]
388
+ defaultMessage: "Button"
447
389
  }),
448
390
  emptyClassName: styles.emptyButton,
449
391
  isEmpty: !hasButton,
@@ -452,14 +394,12 @@ function MapScreen(_ref) {
452
394
  onClick: onButtonClick,
453
395
  buttonStyle: button !== null ? button.buttonStyle : null,
454
396
  focusable: current && isView,
455
- children: hasButton ? /*#__PURE__*/jsx(Text, _objectSpread(_objectSpread({}, button), {}, {
397
+ children: hasButton ? /*#__PURE__*/jsx(Text, {
398
+ ...button,
456
399
  className: styles.button
457
- })) : /*#__PURE__*/jsx(FormattedMessage, {
400
+ }) : /*#__PURE__*/jsx(FormattedMessage, {
458
401
  id: "sXfFFw",
459
- defaultMessage: [{
460
- "type": 0,
461
- "value": "Enter"
462
- }]
402
+ defaultMessage: "Enter"
463
403
  })
464
404
  })
465
405
  })]
@@ -488,11 +428,30 @@ function MapScreen(_ref) {
488
428
  });
489
429
  }
490
430
 
491
- function MapImagesScreen(_ref) {
492
- var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
493
- return /*#__PURE__*/jsx(MapScreen, _objectSpread(_objectSpread({}, props), {}, {
494
- withMarkerImages: true
495
- }));
431
+ function MapImagesScreen(t0) {
432
+ const $ = c(4);
433
+ let props;
434
+ if ($[0] !== t0) {
435
+ ({
436
+ ...props
437
+ } = t0);
438
+ $[0] = t0;
439
+ $[1] = props;
440
+ } else {
441
+ props = $[1];
442
+ }
443
+ let t1;
444
+ if ($[2] !== props) {
445
+ t1 = /*#__PURE__*/jsx(MapScreen, {
446
+ ...props,
447
+ withMarkerImages: true
448
+ });
449
+ $[2] = props;
450
+ $[3] = t1;
451
+ } else {
452
+ t1 = $[3];
453
+ }
454
+ return t1;
496
455
  }
497
456
 
498
457
  // import * as transforms from './transforms/index';
@@ -503,19 +462,13 @@ var definition = [{
503
462
  group: {
504
463
  label: defineMessage({
505
464
  id: "Z27IP6",
506
- defaultMessage: [{
507
- "type": 0,
508
- "value": "Map"
509
- }]
465
+ defaultMessage: "Map"
510
466
  }),
511
467
  order: 6
512
468
  },
513
469
  title: defineMessage({
514
470
  id: "dPYwJG",
515
- defaultMessage: [{
516
- "type": 0,
517
- "value": "Map"
518
- }]
471
+ defaultMessage: "Map"
519
472
  }),
520
473
  component: MapScreen,
521
474
  layouts: ['normal'],
@@ -524,10 +477,7 @@ var definition = [{
524
477
  id: 'intro',
525
478
  label: defineMessage({
526
479
  id: "BgrRxZ",
527
- defaultMessage: [{
528
- "type": 0,
529
- "value": "Intro"
530
- }]
480
+ defaultMessage: "Intro"
531
481
  }),
532
482
  fields: [{
533
483
  name: 'title',
@@ -537,10 +487,7 @@ var definition = [{
537
487
  },
538
488
  label: defineMessage({
539
489
  id: "+AEVbJ",
540
- defaultMessage: [{
541
- "type": 0,
542
- "value": "Title"
543
- }]
490
+ defaultMessage: "Title"
544
491
  })
545
492
  }, {
546
493
  name: 'description',
@@ -550,10 +497,7 @@ var definition = [{
550
497
  },
551
498
  label: defineMessage({
552
499
  id: "ZCe0r4",
553
- defaultMessage: [{
554
- "type": 0,
555
- "value": "Description"
556
- }]
500
+ defaultMessage: "Description"
557
501
  })
558
502
  }, {
559
503
  name: 'button',
@@ -563,20 +507,14 @@ var definition = [{
563
507
  },
564
508
  label: defineMessage({
565
509
  id: "i6bmbD",
566
- defaultMessage: [{
567
- "type": 0,
568
- "value": "Button"
569
- }]
510
+ defaultMessage: "Button"
570
511
  })
571
512
  }]
572
513
  }, {
573
514
  id: 'map',
574
515
  label: defineMessage({
575
516
  id: "eYHEYe",
576
- defaultMessage: [{
577
- "type": 0,
578
- "value": "Map"
579
- }]
517
+ defaultMessage: "Map"
580
518
  }),
581
519
  fields: [{
582
520
  name: 'draggable',
@@ -584,10 +522,7 @@ var definition = [{
584
522
  defaultValue: true,
585
523
  label: defineMessage({
586
524
  id: "A7ncT3",
587
- defaultMessage: [{
588
- "type": 0,
589
- "value": "Draggable"
590
- }]
525
+ defaultMessage: "Draggable"
591
526
  })
592
527
  }, {
593
528
  name: 'fitBounds',
@@ -595,10 +530,7 @@ var definition = [{
595
530
  defaultValue: true,
596
531
  label: defineMessage({
597
532
  id: "NVUpOG",
598
- defaultMessage: [{
599
- "type": 0,
600
- "value": "Map fit markers"
601
- }]
533
+ defaultMessage: "Map fit markers"
602
534
  })
603
535
  }, {
604
536
  name: 'zoom',
@@ -608,30 +540,21 @@ var definition = [{
608
540
  max: 16,
609
541
  label: defineMessage({
610
542
  id: "vRzzo6",
611
- defaultMessage: [{
612
- "type": 0,
613
- "value": "Zoom"
614
- }]
543
+ defaultMessage: "Zoom"
615
544
  })
616
545
  }, {
617
546
  name: 'center',
618
547
  type: 'geo-position',
619
548
  label: defineMessage({
620
549
  id: "W5qWPj",
621
- defaultMessage: [{
622
- "type": 0,
623
- "value": "Center"
624
- }]
550
+ defaultMessage: "Center"
625
551
  })
626
552
  }]
627
553
  }, {
628
554
  id: 'markers',
629
555
  label: defineMessage({
630
556
  id: "+LvOvJ",
631
- defaultMessage: [{
632
- "type": 0,
633
- "value": "Markers"
634
- }]
557
+ defaultMessage: "Markers"
635
558
  }),
636
559
  repeatable: true,
637
560
  fieldName: 'markers',
@@ -640,30 +563,21 @@ var definition = [{
640
563
  type: 'heading-element',
641
564
  label: defineMessage({
642
565
  id: "+AEVbJ",
643
- defaultMessage: [{
644
- "type": 0,
645
- "value": "Title"
646
- }]
566
+ defaultMessage: "Title"
647
567
  })
648
568
  }, {
649
569
  name: 'description',
650
570
  type: 'text-element',
651
571
  label: defineMessage({
652
572
  id: "ZCe0r4",
653
- defaultMessage: [{
654
- "type": 0,
655
- "value": "Description"
656
- }]
573
+ defaultMessage: "Description"
657
574
  })
658
575
  }, {
659
576
  name: 'geoPosition',
660
577
  type: 'geo-position',
661
578
  label: defineMessage({
662
579
  id: "u3ok54",
663
- defaultMessage: [{
664
- "type": 0,
665
- "value": "Position"
666
- }]
580
+ defaultMessage: "Position"
667
581
  })
668
582
  }]
669
583
  }],
@@ -672,10 +586,7 @@ var definition = [{
672
586
  type: 'background',
673
587
  label: defineMessage({
674
588
  id: "cDj1mZ",
675
- defaultMessage: [{
676
- "type": 0,
677
- "value": "Background"
678
- }]
589
+ defaultMessage: "Background"
679
590
  })
680
591
  }]
681
592
  }, {
@@ -684,19 +595,13 @@ var definition = [{
684
595
  group: {
685
596
  label: defineMessage({
686
597
  id: "Z27IP6",
687
- defaultMessage: [{
688
- "type": 0,
689
- "value": "Map"
690
- }]
598
+ defaultMessage: "Map"
691
599
  }),
692
600
  order: 6
693
601
  },
694
602
  title: defineMessage({
695
603
  id: "ro6yHS",
696
- defaultMessage: [{
697
- "type": 0,
698
- "value": "Map with image markers"
699
- }]
604
+ defaultMessage: "Map with image markers"
700
605
  }),
701
606
  component: MapImagesScreen,
702
607
  layouts: ['normal'],
@@ -705,10 +610,7 @@ var definition = [{
705
610
  id: 'intro',
706
611
  label: defineMessage({
707
612
  id: "BgrRxZ",
708
- defaultMessage: [{
709
- "type": 0,
710
- "value": "Intro"
711
- }]
613
+ defaultMessage: "Intro"
712
614
  }),
713
615
  fields: [{
714
616
  name: 'title',
@@ -718,10 +620,7 @@ var definition = [{
718
620
  },
719
621
  label: defineMessage({
720
622
  id: "+AEVbJ",
721
- defaultMessage: [{
722
- "type": 0,
723
- "value": "Title"
724
- }]
623
+ defaultMessage: "Title"
725
624
  })
726
625
  }, {
727
626
  name: 'description',
@@ -731,10 +630,7 @@ var definition = [{
731
630
  },
732
631
  label: defineMessage({
733
632
  id: "ZCe0r4",
734
- defaultMessage: [{
735
- "type": 0,
736
- "value": "Description"
737
- }]
633
+ defaultMessage: "Description"
738
634
  })
739
635
  }, {
740
636
  name: 'button',
@@ -744,20 +640,14 @@ var definition = [{
744
640
  },
745
641
  label: defineMessage({
746
642
  id: "i6bmbD",
747
- defaultMessage: [{
748
- "type": 0,
749
- "value": "Button"
750
- }]
643
+ defaultMessage: "Button"
751
644
  })
752
645
  }]
753
646
  }, {
754
647
  id: 'map',
755
648
  label: defineMessage({
756
649
  id: "eYHEYe",
757
- defaultMessage: [{
758
- "type": 0,
759
- "value": "Map"
760
- }]
650
+ defaultMessage: "Map"
761
651
  }),
762
652
  fields: [{
763
653
  name: 'draggable',
@@ -765,10 +655,7 @@ var definition = [{
765
655
  defaultValue: true,
766
656
  label: defineMessage({
767
657
  id: "A7ncT3",
768
- defaultMessage: [{
769
- "type": 0,
770
- "value": "Draggable"
771
- }]
658
+ defaultMessage: "Draggable"
772
659
  })
773
660
  }, {
774
661
  name: 'fitBounds',
@@ -776,10 +663,7 @@ var definition = [{
776
663
  defaultValue: true,
777
664
  label: defineMessage({
778
665
  id: "NVUpOG",
779
- defaultMessage: [{
780
- "type": 0,
781
- "value": "Map fit markers"
782
- }]
666
+ defaultMessage: "Map fit markers"
783
667
  })
784
668
  }, {
785
669
  name: 'zoom',
@@ -789,30 +673,21 @@ var definition = [{
789
673
  max: 16,
790
674
  label: defineMessage({
791
675
  id: "vRzzo6",
792
- defaultMessage: [{
793
- "type": 0,
794
- "value": "Zoom"
795
- }]
676
+ defaultMessage: "Zoom"
796
677
  })
797
678
  }, {
798
679
  name: 'center',
799
680
  type: 'geo-position',
800
681
  label: defineMessage({
801
682
  id: "W5qWPj",
802
- defaultMessage: [{
803
- "type": 0,
804
- "value": "Center"
805
- }]
683
+ defaultMessage: "Center"
806
684
  })
807
685
  }]
808
686
  }, {
809
687
  id: 'markers-with-image',
810
688
  label: defineMessage({
811
689
  id: "+LvOvJ",
812
- defaultMessage: [{
813
- "type": 0,
814
- "value": "Markers"
815
- }]
690
+ defaultMessage: "Markers"
816
691
  }),
817
692
  repeatable: true,
818
693
  fieldName: 'markers',
@@ -821,30 +696,21 @@ var definition = [{
821
696
  type: 'heading-element',
822
697
  label: defineMessage({
823
698
  id: "+AEVbJ",
824
- defaultMessage: [{
825
- "type": 0,
826
- "value": "Title"
827
- }]
699
+ defaultMessage: "Title"
828
700
  })
829
701
  }, {
830
702
  name: 'description',
831
703
  type: 'text-element',
832
704
  label: defineMessage({
833
705
  id: "ZCe0r4",
834
- defaultMessage: [{
835
- "type": 0,
836
- "value": "Description"
837
- }]
706
+ defaultMessage: "Description"
838
707
  })
839
708
  }, {
840
709
  name: 'geoPosition',
841
710
  type: 'geo-position',
842
711
  label: defineMessage({
843
712
  id: "u3ok54",
844
- defaultMessage: [{
845
- "type": 0,
846
- "value": "Position"
847
- }]
713
+ defaultMessage: "Position"
848
714
  })
849
715
  }]
850
716
  }],
@@ -853,10 +719,7 @@ var definition = [{
853
719
  type: 'background',
854
720
  label: defineMessage({
855
721
  id: "cDj1mZ",
856
- defaultMessage: [{
857
- "type": 0,
858
- "value": "Background"
859
- }]
722
+ defaultMessage: "Background"
860
723
  })
861
724
  }]
862
725
  }];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/screen-map",
3
- "version": "0.4.71",
3
+ "version": "0.4.76",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -36,6 +36,7 @@
36
36
  "exports": {
37
37
  ".": {
38
38
  "types": "./es/index.d.ts",
39
+ "style": "./assets/css/styles.css",
39
40
  "import": "./es/index.js"
40
41
  },
41
42
  "./assets/css/styles": "./assets/css/styles.css",
@@ -52,27 +53,27 @@
52
53
  "build": "../../scripts/prepare-package.sh --types"
53
54
  },
54
55
  "devDependencies": {
55
- "react": "^18.3.0 || ^19.0.0",
56
- "react-dom": "^18.3.0 || ^19.0.0"
56
+ "react": "^19.0.0",
57
+ "react-dom": "^19.0.0"
57
58
  },
58
59
  "peerDependencies": {
59
- "react": "^18.3.0 || ^19.0.0",
60
- "react-dom": "^18.3.0 || ^19.0.0"
60
+ "react": "^19.0.0",
61
+ "react-dom": "^19.0.0"
61
62
  },
62
63
  "dependencies": {
63
64
  "@babel/runtime": "^7.28.6",
64
- "@micromag/core": "^0.4.71",
65
- "@micromag/element-background": "^0.4.71",
66
- "@micromag/element-button": "^0.4.71",
67
- "@micromag/element-container": "^0.4.71",
68
- "@micromag/element-footer": "^0.4.71",
69
- "@micromag/element-header": "^0.4.71",
70
- "@micromag/element-heading": "^0.4.71",
71
- "@micromag/element-image": "^0.4.71",
72
- "@micromag/element-map": "^0.4.71",
73
- "@micromag/element-scroll": "^0.4.71",
74
- "@micromag/element-text": "^0.4.71",
75
- "@micromag/transforms": "^0.4.71",
65
+ "@micromag/core": "^0.4.74",
66
+ "@micromag/element-background": "^0.4.76",
67
+ "@micromag/element-button": "^0.4.76",
68
+ "@micromag/element-container": "^0.4.74",
69
+ "@micromag/element-footer": "^0.4.76",
70
+ "@micromag/element-header": "^0.4.74",
71
+ "@micromag/element-heading": "^0.4.74",
72
+ "@micromag/element-image": "^0.4.74",
73
+ "@micromag/element-map": "^0.4.74",
74
+ "@micromag/element-scroll": "^0.4.74",
75
+ "@micromag/element-text": "^0.4.74",
76
+ "@micromag/transforms": "^0.4.74",
76
77
  "classnames": "^2.2.6",
77
78
  "lodash": "^4.17.23",
78
79
  "react-intl": "^8.1.3 || ^10.0.0",
@@ -82,6 +83,6 @@
82
83
  "access": "public",
83
84
  "registry": "https://registry.npmjs.org/"
84
85
  },
85
- "gitHead": "9101554bc5761e32b4a002a10d26800608c69773",
86
+ "gitHead": "42a24f578994b23090271013f136b7f78956b632",
86
87
  "types": "es/index.d.ts"
87
88
  }