@sanity/google-maps-input 2.34.1-canary.0 → 2.34.2-empty-template-cli.0

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.
@@ -4,31 +4,43 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GeopointArrayDiff = void 0;
7
+
7
8
  var React = _interopRequireWildcard(require("react"));
9
+
8
10
  var _GoogleMapsLoadProxy = require("../loader/GoogleMapsLoadProxy");
11
+
9
12
  var _Map = require("../map/Map");
13
+
10
14
  var _GeopointMove = require("./GeopointMove");
15
+
11
16
  var _GeopointFieldDiff = require("./GeopointFieldDiff.styles");
17
+
12
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
+
13
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
+
14
22
  var GeopointArrayDiff = _ref => {
15
23
  var diff = _ref.diff,
16
- schemaType = _ref.schemaType;
24
+ schemaType = _ref.schemaType;
17
25
  return /*#__PURE__*/React.createElement(_GeopointFieldDiff.RootContainer, null, /*#__PURE__*/React.createElement(_GoogleMapsLoadProxy.GoogleMapsLoadProxy, null, api => /*#__PURE__*/React.createElement(GeopointDiff, {
18
26
  api: api,
19
27
  diff: diff,
20
28
  schemaType: schemaType
21
29
  })));
22
30
  };
31
+
23
32
  exports.GeopointArrayDiff = GeopointArrayDiff;
33
+
24
34
  function GeopointDiff(_ref2) {
25
35
  var api = _ref2.api,
26
- diff = _ref2.diff;
36
+ diff = _ref2.diff;
27
37
  var fromValue = (diff.fromValue || []).filter(hasCoordinates);
28
38
  var toValue = (diff.toValue || []).filter(hasCoordinates);
39
+
29
40
  if (fromValue.length === 0 && toValue.length === 0) {
30
41
  return null;
31
42
  }
43
+
32
44
  var bounds = getBounds(fromValue, toValue, api);
33
45
  return /*#__PURE__*/React.createElement(_Map.GoogleMap, {
34
46
  api: api,
@@ -38,10 +50,12 @@ function GeopointDiff(_ref2) {
38
50
  bounds: bounds
39
51
  }, map => /*#__PURE__*/React.createElement(React.Fragment, null, diff.items.map(_ref3 => {
40
52
  var toIndex = _ref3.toIndex,
41
- pointDiff = _ref3.diff;
53
+ pointDiff = _ref3.diff;
54
+
42
55
  if (!isChangeDiff(pointDiff)) {
43
56
  return null;
44
57
  }
58
+
45
59
  return /*#__PURE__*/React.createElement(_GeopointMove.GeopointMove, {
46
60
  key: toIndex,
47
61
  api: api,
@@ -51,12 +65,15 @@ function GeopointDiff(_ref2) {
51
65
  });
52
66
  })));
53
67
  }
68
+
54
69
  function isChangeDiff(diff) {
55
70
  return diff.action !== 'unchanged' && diff.type === 'object';
56
71
  }
72
+
57
73
  function hasCoordinates(point) {
58
74
  return typeof point.lat === 'number' && typeof point.lng === 'number';
59
75
  }
76
+
60
77
  function getBounds(fromValue, toValue, api) {
61
78
  var bounds = new api.LatLngBounds();
62
79
  var points = [...(fromValue || []), ...(toValue || [])];
@@ -4,29 +4,40 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GeopointFieldDiff = void 0;
7
+
7
8
  var React = _interopRequireWildcard(require("react"));
9
+
8
10
  var _diff = require("@sanity/field/diff");
11
+
9
12
  var _GoogleMapsLoadProxy = require("../loader/GoogleMapsLoadProxy");
13
+
10
14
  var _Map = require("../map/Map");
15
+
11
16
  var _GeopointMove = require("./GeopointMove");
17
+
12
18
  var _GeopointFieldDiff = require("./GeopointFieldDiff.styles");
19
+
13
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
+
14
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
+
15
24
  var GeopointFieldDiff = _ref => {
16
25
  var diff = _ref.diff,
17
- schemaType = _ref.schemaType;
26
+ schemaType = _ref.schemaType;
18
27
  return /*#__PURE__*/React.createElement(_GeopointFieldDiff.RootContainer, null, /*#__PURE__*/React.createElement(_GoogleMapsLoadProxy.GoogleMapsLoadProxy, null, api => /*#__PURE__*/React.createElement(GeopointDiff, {
19
28
  api: api,
20
29
  diff: diff,
21
30
  schemaType: schemaType
22
31
  })));
23
32
  };
33
+
24
34
  exports.GeopointFieldDiff = GeopointFieldDiff;
35
+
25
36
  function GeopointDiff(_ref2) {
26
37
  var api = _ref2.api,
27
- diff = _ref2.diff;
38
+ diff = _ref2.diff;
28
39
  var fromValue = diff.fromValue,
29
- toValue = diff.toValue;
40
+ toValue = diff.toValue;
30
41
  var annotation = (0, _diff.getAnnotationAtPath)(diff, ['lat']) || (0, _diff.getAnnotationAtPath)(diff, ['lng']) || (0, _diff.getAnnotationAtPath)(diff, []);
31
42
  var center = getCenter(diff, api);
32
43
  var bounds = fromValue && toValue ? getBounds(fromValue, toValue, api) : undefined;
@@ -46,26 +57,34 @@ function GeopointDiff(_ref2) {
46
57
  diff: diff
47
58
  }))));
48
59
  }
60
+
49
61
  function getBounds(fromValue, toValue, api) {
50
62
  return new api.LatLngBounds().extend(fromValue).extend(toValue);
51
63
  }
64
+
52
65
  function getCenter(diff, api) {
53
66
  var fromValue = diff.fromValue,
54
- toValue = diff.toValue;
67
+ toValue = diff.toValue;
68
+
55
69
  if (fromValue && toValue) {
56
70
  return getBounds(fromValue, toValue, api).getCenter().toJSON();
57
71
  }
72
+
58
73
  if (fromValue) {
59
74
  return fromValue;
60
75
  }
76
+
61
77
  if (toValue) {
62
78
  return toValue;
63
79
  }
80
+
64
81
  throw new Error('Neither a from or a to value present');
65
82
  }
83
+
66
84
  function getAction(diff) {
67
85
  var fromValue = diff.fromValue,
68
- toValue = diff.toValue;
86
+ toValue = diff.toValue;
87
+
69
88
  if (fromValue && toValue) {
70
89
  return 'Moved';
71
90
  } else if (fromValue) {
@@ -73,5 +92,6 @@ function getAction(diff) {
73
92
  } else if (toValue) {
74
93
  return 'Added';
75
94
  }
95
+
76
96
  return 'Unchanged';
77
97
  }
@@ -4,9 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RootContainer = void 0;
7
+
7
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
8
10
  var _templateObject;
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
+
11
16
  var RootContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n min-height: 200px;\n\n &:empty {\n background-color: var(--card-skeleton-color-from);\n display: table;\n width: 100%;\n }\n\n &:empty:after {\n content: 'Missing/invalid data';\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n position: relative;\n }\n"])));
17
+
12
18
  exports.RootContainer = RootContainer;
@@ -4,19 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GeopointMove = GeopointMove;
7
+
7
8
  var React = _interopRequireWildcard(require("react"));
9
+
8
10
  var _userColor = require("@sanity/base/user-color");
11
+
9
12
  var _Marker = require("../map/Marker");
13
+
10
14
  var _Arrow = require("../map/Arrow");
15
+
11
16
  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); }
17
+
12
18
  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; }
19
+
13
20
  function GeopointMove(_ref) {
14
21
  var diff = _ref.diff,
15
- api = _ref.api,
16
- map = _ref.map,
17
- label = _ref.label;
22
+ api = _ref.api,
23
+ map = _ref.map,
24
+ label = _ref.label;
18
25
  var from = diff.fromValue,
19
- to = diff.toValue;
26
+ to = diff.toValue;
20
27
  var annotation = diff.isChanged ? diff.annotation : undefined;
21
28
  var userColor = (0, _userColor.useUserColor)(annotation ? annotation.author : null) || undefined;
22
29
  var fromRef = React.useRef();
@@ -4,17 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _GeopointFieldDiff = require("./GeopointFieldDiff");
9
+
8
10
  var _GeopointArrayDiff = require("./GeopointArrayDiff");
11
+
9
12
  var diffResolver = function diffResolver(_ref) {
10
13
  var schemaType = _ref.schemaType;
14
+
11
15
  if (schemaType.name === 'geopoint') {
12
16
  return _GeopointFieldDiff.GeopointFieldDiff;
13
17
  }
18
+
14
19
  if (schemaType.jsonType === 'array' && schemaType.of.length === 1 && schemaType.of[0].name === 'geopoint') {
15
20
  return _GeopointArrayDiff.GeopointArrayDiff;
16
21
  }
22
+
17
23
  return undefined;
18
24
  };
25
+
19
26
  var _default = diffResolver;
20
27
  exports.default = _default;
@@ -4,19 +4,33 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _uniqueId2 = _interopRequireDefault(require("lodash/uniqueId"));
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _ui = require("@sanity/ui");
13
+
10
14
  var _icons = require("@sanity/icons");
15
+
11
16
  var _googleMapsInput = _interopRequireDefault(require("config:@sanity/google-maps-input"));
17
+
12
18
  var _components = require("@sanity/base/components");
19
+
13
20
  var _patchEvent = require("part:@sanity/form-builder/patch-event");
21
+
14
22
  var _changeIndicators = require("@sanity/base/change-indicators");
23
+
15
24
  var _GoogleMapsLoadProxy = require("../loader/GoogleMapsLoadProxy");
25
+
16
26
  var _GeopointSelect = require("./GeopointSelect");
27
+
17
28
  var _GeopointInput = require("./GeopointInput.styles");
29
+
18
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+
19
32
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
20
34
  var getStaticImageUrl = value => {
21
35
  var loc = "".concat(value.lat, ",").concat(value.lng);
22
36
  var params = {
@@ -32,24 +46,31 @@ var getStaticImageUrl = value => {
32
46
  }, []);
33
47
  return "https://maps.googleapis.com/maps/api/staticmap?".concat(qs.join('&'));
34
48
  };
49
+
35
50
  class GeopointInput extends _react.default.PureComponent {
36
51
  constructor(props) {
37
52
  super(props);
53
+
38
54
  _defineProperty(this, "_geopointInputId", (0, _uniqueId2.default)('GeopointInput'));
55
+
39
56
  _defineProperty(this, "editButton", void 0);
57
+
40
58
  _defineProperty(this, "setEditButton", el => {
41
59
  this.editButton = el;
42
60
  });
61
+
43
62
  _defineProperty(this, "handleFocus", event => {
44
63
  this.props.onFocus(event);
45
64
  });
65
+
46
66
  _defineProperty(this, "handleBlur", () => {
47
67
  this.props.onBlur();
48
68
  });
69
+
49
70
  _defineProperty(this, "handleToggleModal", () => {
50
71
  var _this$props = this.props,
51
- onFocus = _this$props.onFocus,
52
- onBlur = _this$props.onBlur;
72
+ onFocus = _this$props.onFocus,
73
+ onBlur = _this$props.onBlur;
53
74
  this.setState(prevState => ({
54
75
  modalOpen: !prevState.modalOpen
55
76
  }), () => {
@@ -60,42 +81,49 @@ class GeopointInput extends _react.default.PureComponent {
60
81
  }
61
82
  });
62
83
  });
84
+
63
85
  _defineProperty(this, "handleCloseModal", () => {
64
86
  this.setState({
65
87
  modalOpen: false
66
88
  });
67
89
  });
90
+
68
91
  _defineProperty(this, "handleChange", latLng => {
69
92
  var _this$props2 = this.props,
70
- type = _this$props2.type,
71
- onChange = _this$props2.onChange;
93
+ type = _this$props2.type,
94
+ onChange = _this$props2.onChange;
72
95
  onChange(_patchEvent.PatchEvent.from([(0, _patchEvent.setIfMissing)({
73
96
  _type: type.name
74
97
  }), (0, _patchEvent.set)(latLng.lat(), ['lat']), (0, _patchEvent.set)(latLng.lng(), ['lng'])]));
75
98
  });
99
+
76
100
  _defineProperty(this, "handleClear", () => {
77
101
  var onChange = this.props.onChange;
78
102
  onChange(_patchEvent.PatchEvent.from((0, _patchEvent.unset)()));
79
103
  });
104
+
80
105
  this.state = {
81
106
  modalOpen: false
82
107
  };
83
108
  }
109
+
84
110
  focus() {
85
111
  if (this.editButton) {
86
112
  this.editButton.focus();
87
113
  }
88
114
  }
115
+
89
116
  render() {
90
117
  var _this$props3 = this.props,
91
- value = _this$props3.value,
92
- compareValue = _this$props3.compareValue,
93
- readOnly = _this$props3.readOnly,
94
- type = _this$props3.type,
95
- markers = _this$props3.markers,
96
- level = _this$props3.level,
97
- presence = _this$props3.presence;
118
+ value = _this$props3.value,
119
+ compareValue = _this$props3.compareValue,
120
+ readOnly = _this$props3.readOnly,
121
+ type = _this$props3.type,
122
+ markers = _this$props3.markers,
123
+ level = _this$props3.level,
124
+ presence = _this$props3.presence;
98
125
  var modalOpen = this.state.modalOpen;
126
+
99
127
  if (!_googleMapsInput.default || !_googleMapsInput.default.apiKey) {
100
128
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, "The ", /*#__PURE__*/_react.default.createElement("a", {
101
129
  href: "https://sanity.io/docs/schema-types/geopoint-type"
@@ -105,6 +133,7 @@ class GeopointInput extends _react.default.PureComponent {
105
133
  }
106
134
  }, "`<project-root>/config/@sanity/google-maps-input.json`")));
107
135
  }
136
+
108
137
  return /*#__PURE__*/_react.default.createElement(_components.FormFieldSet, {
109
138
  level: level,
110
139
  title: type.title,
@@ -154,9 +183,12 @@ class GeopointInput extends _react.default.PureComponent {
154
183
  defaultZoom: _googleMapsInput.default.defaultZoom
155
184
  }))))));
156
185
  }
186
+
157
187
  }
188
+
158
189
  _defineProperty(GeopointInput, "defaultProps", {
159
190
  markers: []
160
191
  });
192
+
161
193
  var _default = GeopointInput;
162
194
  exports.default = _default;
@@ -4,11 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.PreviewImage = exports.DialogInnerContainer = void 0;
7
+
7
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
8
10
  var _templateObject, _templateObject2;
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
+
11
16
  var PreviewImage = _styledComponents.default.img(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: auto;\n vertical-align: top;\n"])));
17
+
12
18
  exports.PreviewImage = PreviewImage;
19
+
13
20
  var DialogInnerContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 40rem;\n width: 50rem;\n"])));
21
+
14
22
  exports.DialogInnerContainer = DialogInnerContainer;
@@ -4,55 +4,75 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GeopointSelect = void 0;
7
+
7
8
  var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _SearchInput = require("../map/SearchInput");
11
+
9
12
  var _Map = require("../map/Map");
13
+
10
14
  var _Marker = require("../map/Marker");
15
+
11
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
12
18
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+
13
20
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+
14
22
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+
15
24
  var fallbackLatLng = {
16
25
  lat: 40.7058254,
17
26
  lng: -74.1180863
18
27
  };
28
+
19
29
  class GeopointSelect extends _react.default.PureComponent {
20
30
  constructor() {
21
31
  super(...arguments);
32
+
22
33
  _defineProperty(this, "mapRef", /*#__PURE__*/_react.default.createRef());
34
+
23
35
  _defineProperty(this, "handlePlaceChanged", place => {
24
36
  if (!place.geometry) {
25
37
  return;
26
38
  }
39
+
27
40
  this.setValue(place.geometry.location);
28
41
  });
42
+
29
43
  _defineProperty(this, "handleMarkerDragEnd", event => {
30
44
  this.setValue(event.latLng);
31
45
  });
46
+
32
47
  _defineProperty(this, "handleMapClick", event => {
33
48
  this.setValue(event.latLng);
34
49
  });
35
50
  }
51
+
36
52
  getCenter() {
37
53
  var _this$props = this.props,
38
- _this$props$value = _this$props.value,
39
- value = _this$props$value === void 0 ? {} : _this$props$value,
40
- _this$props$defaultLo = _this$props.defaultLocation,
41
- defaultLocation = _this$props$defaultLo === void 0 ? {} : _this$props$defaultLo;
54
+ _this$props$value = _this$props.value,
55
+ value = _this$props$value === void 0 ? {} : _this$props$value,
56
+ _this$props$defaultLo = _this$props.defaultLocation,
57
+ defaultLocation = _this$props$defaultLo === void 0 ? {} : _this$props$defaultLo;
58
+
42
59
  var point = _objectSpread(_objectSpread(_objectSpread({}, fallbackLatLng), defaultLocation), value);
60
+
43
61
  return point;
44
62
  }
63
+
45
64
  setValue(geoPoint) {
46
65
  if (this.props.onChange) {
47
66
  this.props.onChange(geoPoint);
48
67
  }
49
68
  }
69
+
50
70
  render() {
51
71
  var _this$props2 = this.props,
52
- api = _this$props2.api,
53
- defaultZoom = _this$props2.defaultZoom,
54
- value = _this$props2.value,
55
- onChange = _this$props2.onChange;
72
+ api = _this$props2.api,
73
+ defaultZoom = _this$props2.defaultZoom,
74
+ value = _this$props2.value,
75
+ onChange = _this$props2.onChange;
56
76
  return /*#__PURE__*/_react.default.createElement(_Map.GoogleMap, {
57
77
  api: api,
58
78
  location: this.getCenter(),
@@ -69,8 +89,11 @@ class GeopointSelect extends _react.default.PureComponent {
69
89
  onMove: onChange ? this.handleMarkerDragEnd : undefined
70
90
  })));
71
91
  }
92
+
72
93
  }
94
+
73
95
  exports.GeopointSelect = GeopointSelect;
96
+
74
97
  _defineProperty(GeopointSelect, "defaultProps", {
75
98
  defaultZoom: 8,
76
99
  defaultLocation: {
@@ -4,15 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GoogleMapsLoadProxy = void 0;
7
+
7
8
  var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _loadGoogleMapsApi = require("./loadGoogleMapsApi");
11
+
9
12
  var _LoadError = require("./LoadError");
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
11
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
12
18
  class GoogleMapsLoadProxy extends _react.default.Component {
13
19
  constructor(props) {
14
20
  super(props);
21
+
15
22
  _defineProperty(this, "loadSubscription", void 0);
23
+
16
24
  this.state = {
17
25
  loadState: 'loading'
18
26
  };
@@ -26,11 +34,13 @@ class GoogleMapsLoadProxy extends _react.default.Component {
26
34
  });
27
35
  sync = false;
28
36
  }
37
+
29
38
  componentWillUnmount() {
30
39
  if (this.loadSubscription) {
31
40
  this.loadSubscription.unsubscribe();
32
41
  }
33
42
  }
43
+
34
44
  render() {
35
45
  switch (this.state.loadState) {
36
46
  case 'loadError':
@@ -38,17 +48,23 @@ class GoogleMapsLoadProxy extends _react.default.Component {
38
48
  error: this.state.error,
39
49
  isAuthError: false
40
50
  });
51
+
41
52
  case 'authError':
42
53
  return /*#__PURE__*/_react.default.createElement(_LoadError.LoadError, {
43
54
  isAuthError: true
44
55
  });
56
+
45
57
  case 'loading':
46
58
  return /*#__PURE__*/_react.default.createElement("div", null, "Loading Google Maps API");
59
+
47
60
  case 'loaded':
48
61
  return this.props.children(this.state.api) || null;
62
+
49
63
  default:
50
64
  return null;
51
65
  }
52
66
  }
67
+
53
68
  }
69
+
54
70
  exports.GoogleMapsLoadProxy = GoogleMapsLoadProxy;
@@ -4,12 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LoadError = LoadError;
7
+
7
8
  var React = _interopRequireWildcard(require("react"));
9
+
8
10
  var _ui = require("@sanity/ui");
11
+
9
12
  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); }
13
+
10
14
  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; }
15
+
11
16
  function LoadError(props) {
12
17
  var _props$error;
18
+
13
19
  return /*#__PURE__*/React.createElement(_ui.Card, {
14
20
  tone: "critical",
15
21
  radius: 1
@@ -31,6 +37,7 @@ function LoadError(props) {
31
37
  size: 1
32
38
  }, (_props$error = props.error) === null || _props$error === void 0 ? void 0 : _props$error.message)))));
33
39
  }
40
+
34
41
  function AuthError() {
35
42
  return /*#__PURE__*/React.createElement(_ui.Text, null, /*#__PURE__*/React.createElement("p", null, "The error appears to be related to authentication"), /*#__PURE__*/React.createElement("p", null, "Common causes include:"), /*#__PURE__*/React.createElement("ul", null, /*#__PURE__*/React.createElement("li", null, "Incorrect API key"), /*#__PURE__*/React.createElement("li", null, "Referer not allowed"), /*#__PURE__*/React.createElement("li", null, "Missing authentication scope")), /*#__PURE__*/React.createElement("p", null, "Check the browser developer tools for more information."));
36
43
  }
@@ -4,30 +4,38 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.loadGoogleMapsApi = loadGoogleMapsApi;
7
+
7
8
  var _rxjs = require("rxjs");
9
+
8
10
  var _googleMapsInput = _interopRequireDefault(require("config:@sanity/google-maps-input"));
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  // @todo: remove the following line when part imports has been removed from this file
11
15
  ///<reference types="@sanity/types/parts" />
12
-
13
16
  var callbackName = '___sanity_googleMapsApiCallback';
14
17
  var authFailureCallbackName = 'gm_authFailure';
15
18
  var locale = typeof window !== 'undefined' && window.navigator.language || 'en';
16
19
  var subject;
20
+
17
21
  function loadGoogleMapsApi() {
18
22
  var selectedLocale = _googleMapsInput.default.defaultLocale || locale || 'en-US';
23
+
19
24
  if (subject) {
20
25
  return subject;
21
26
  }
27
+
22
28
  subject = new _rxjs.BehaviorSubject({
23
29
  loadState: 'loading'
24
30
  });
31
+
25
32
  window[authFailureCallbackName] = () => {
26
33
  delete window[authFailureCallbackName];
27
34
  subject.next({
28
35
  loadState: 'authError'
29
36
  });
30
37
  };
38
+
31
39
  window[callbackName] = () => {
32
40
  delete window[callbackName];
33
41
  subject.next({
@@ -35,30 +43,39 @@ function loadGoogleMapsApi() {
35
43
  api: window.google.maps
36
44
  });
37
45
  };
46
+
38
47
  var script = document.createElement('script');
48
+
39
49
  script.onerror = (event, source, lineno, colno, error) => subject.next({
40
50
  loadState: 'loadError',
41
51
  error: coeerceError(event, error)
42
52
  });
53
+
43
54
  script.src = "https://maps.googleapis.com/maps/api/js?key=".concat(_googleMapsInput.default.apiKey, "&libraries=places&callback=").concat(callbackName, "&language=").concat(selectedLocale);
44
55
  document.getElementsByTagName('head')[0].appendChild(script);
45
56
  return subject;
46
57
  }
58
+
47
59
  function coeerceError(event, error) {
48
60
  if (error) {
49
61
  return error;
50
62
  }
63
+
51
64
  if (typeof event === 'string') {
52
65
  return new Error(event);
53
66
  }
67
+
54
68
  return new Error(isErrorEvent(event) ? event.message : 'Failed to load Google Maps API');
55
69
  }
70
+
56
71
  function isErrorEvent(event) {
57
72
  if (typeof event !== 'object' || event === null) {
58
73
  return false;
59
74
  }
75
+
60
76
  if (!('message' in event)) {
61
77
  return false;
62
78
  }
79
+
63
80
  return typeof event.message === 'string';
64
81
  }
package/lib/map/Arrow.js CHANGED
@@ -4,27 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Arrow = void 0;
7
+
7
8
  var React = _interopRequireWildcard(require("react"));
9
+
8
10
  var _util = require("./util");
11
+
9
12
  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); }
13
+
10
14
  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; }
15
+
11
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
12
18
  class Arrow extends React.PureComponent {
13
19
  constructor() {
14
20
  super(...arguments);
21
+
15
22
  _defineProperty(this, "line", void 0);
23
+
16
24
  _defineProperty(this, "eventHandlers", {});
17
25
  }
26
+
18
27
  componentDidMount() {
19
28
  var _this$props = this.props,
20
- from = _this$props.from,
21
- to = _this$props.to,
22
- api = _this$props.api,
23
- map = _this$props.map,
24
- zIndex = _this$props.zIndex,
25
- onClick = _this$props.onClick,
26
- color = _this$props.color,
27
- arrowRef = _this$props.arrowRef;
29
+ from = _this$props.from,
30
+ to = _this$props.to,
31
+ api = _this$props.api,
32
+ map = _this$props.map,
33
+ zIndex = _this$props.zIndex,
34
+ onClick = _this$props.onClick,
35
+ color = _this$props.color,
36
+ arrowRef = _this$props.arrowRef;
28
37
  var lineSymbol = {
29
38
  path: api.SymbolPath.FORWARD_OPEN_ARROW
30
39
  };
@@ -39,40 +48,50 @@ class Arrow extends React.PureComponent {
39
48
  strokeOpacity: 0.55,
40
49
  strokeColor: color ? color.text : 'black'
41
50
  });
51
+
42
52
  if (onClick) {
43
53
  this.eventHandlers.click = api.event.addListener(this.line, 'click', onClick);
44
54
  }
55
+
45
56
  if (arrowRef) {
46
57
  arrowRef.current = this.line;
47
58
  }
48
59
  }
60
+
49
61
  componentDidUpdate(prevProps) {
50
62
  if (!this.line) {
51
63
  return;
52
64
  }
65
+
53
66
  var _this$props2 = this.props,
54
- from = _this$props2.from,
55
- to = _this$props2.to,
56
- map = _this$props2.map;
67
+ from = _this$props2.from,
68
+ to = _this$props2.to,
69
+ map = _this$props2.map;
70
+
57
71
  if (!(0, _util.latLngAreEqual)(prevProps.from, from) || !(0, _util.latLngAreEqual)(prevProps.to, to)) {
58
72
  this.line.setPath([from, to]);
59
73
  }
74
+
60
75
  if (prevProps.map !== map) {
61
76
  this.line.setMap(map);
62
77
  }
63
78
  }
79
+
64
80
  componentWillUnmount() {
65
81
  if (this.line) {
66
82
  this.line.setMap(null);
67
83
  }
84
+
68
85
  if (this.eventHandlers.click) {
69
86
  this.eventHandlers.click.remove();
70
87
  }
71
- }
88
+ } // eslint-disable-next-line class-methods-use-this
89
+
72
90
 
73
- // eslint-disable-next-line class-methods-use-this
74
91
  render() {
75
92
  return null;
76
93
  }
94
+
77
95
  }
96
+
78
97
  exports.Arrow = Arrow;
package/lib/map/Map.js CHANGED
@@ -4,87 +4,115 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GoogleMap = void 0;
7
+
7
8
  var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _util = require("./util");
11
+
9
12
  var _Map = require("./Map.styles");
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
11
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
12
18
  class GoogleMap extends _react.default.PureComponent {
13
19
  constructor() {
14
20
  super(...arguments);
21
+
15
22
  _defineProperty(this, "state", {
16
23
  map: undefined
17
24
  });
25
+
18
26
  _defineProperty(this, "clickHandler", void 0);
27
+
19
28
  _defineProperty(this, "mapRef", /*#__PURE__*/_react.default.createRef());
29
+
20
30
  _defineProperty(this, "mapEl", null);
31
+
21
32
  _defineProperty(this, "attachClickHandler", () => {
22
33
  var map = this.state.map;
34
+
23
35
  if (!map) {
24
36
  return;
25
37
  }
38
+
26
39
  var _this$props = this.props,
27
- api = _this$props.api,
28
- onClick = _this$props.onClick;
40
+ api = _this$props.api,
41
+ onClick = _this$props.onClick;
29
42
  var event = api.event;
43
+
30
44
  if (this.clickHandler) {
31
45
  this.clickHandler.remove();
32
46
  }
47
+
33
48
  if (onClick) {
34
49
  this.clickHandler = event.addListener(map, 'click', onClick);
35
50
  }
36
51
  });
52
+
37
53
  _defineProperty(this, "setMapElement", element => {
38
54
  if (element && element !== this.mapEl) {
39
55
  var _map = this.constructMap(element);
56
+
40
57
  this.setState({
41
58
  map: _map
42
59
  }, this.attachClickHandler);
43
60
  }
61
+
44
62
  this.mapEl = element;
45
63
  });
46
64
  }
65
+
47
66
  componentDidMount() {
48
67
  this.attachClickHandler();
49
68
  }
69
+
50
70
  componentDidUpdate(prevProps) {
51
71
  var map = this.state.map;
72
+
52
73
  if (!map) {
53
74
  return;
54
75
  }
76
+
55
77
  var _this$props2 = this.props,
56
- onClick = _this$props2.onClick,
57
- location = _this$props2.location,
58
- bounds = _this$props2.bounds;
78
+ onClick = _this$props2.onClick,
79
+ location = _this$props2.location,
80
+ bounds = _this$props2.bounds;
81
+
59
82
  if (prevProps.onClick !== onClick) {
60
83
  this.attachClickHandler();
61
84
  }
85
+
62
86
  if (!(0, _util.latLngAreEqual)(prevProps.location, location)) {
63
87
  map.panTo(this.getCenter());
64
88
  }
89
+
65
90
  if (bounds && (!prevProps.bounds || !bounds.equals(prevProps.bounds))) {
66
91
  map.fitBounds(bounds);
67
92
  }
68
93
  }
94
+
69
95
  componentWillUnmount() {
70
96
  if (this.clickHandler) {
71
97
  this.clickHandler.remove();
72
98
  }
73
99
  }
100
+
74
101
  getCenter() {
75
102
  var _this$props3 = this.props,
76
- location = _this$props3.location,
77
- api = _this$props3.api;
103
+ location = _this$props3.location,
104
+ api = _this$props3.api;
78
105
  return new api.LatLng(location.lat, location.lng);
79
106
  }
107
+
80
108
  constructMap(el) {
81
109
  var _this$props4 = this.props,
82
- defaultZoom = _this$props4.defaultZoom,
83
- api = _this$props4.api,
84
- mapTypeControl = _this$props4.mapTypeControl,
85
- controlSize = _this$props4.controlSize,
86
- bounds = _this$props4.bounds,
87
- scrollWheel = _this$props4.scrollWheel;
110
+ defaultZoom = _this$props4.defaultZoom,
111
+ api = _this$props4.api,
112
+ mapTypeControl = _this$props4.mapTypeControl,
113
+ controlSize = _this$props4.controlSize,
114
+ bounds = _this$props4.bounds,
115
+ scrollWheel = _this$props4.scrollWheel;
88
116
  var map = new api.Map(el, {
89
117
  zoom: defaultZoom,
90
118
  center: this.getCenter(),
@@ -93,11 +121,14 @@ class GoogleMap extends _react.default.PureComponent {
93
121
  mapTypeControl,
94
122
  controlSize
95
123
  });
124
+
96
125
  if (bounds) {
97
126
  map.fitBounds(bounds);
98
127
  }
128
+
99
129
  return map;
100
130
  }
131
+
101
132
  render() {
102
133
  var children = this.props.children;
103
134
  var map = this.state.map;
@@ -105,8 +136,11 @@ class GoogleMap extends _react.default.PureComponent {
105
136
  ref: this.setMapElement
106
137
  }), children && map ? children(map) : null);
107
138
  }
139
+
108
140
  }
141
+
109
142
  exports.GoogleMap = GoogleMap;
143
+
110
144
  _defineProperty(GoogleMap, "defaultProps", {
111
145
  defaultZoom: 8,
112
146
  scrollWheel: true
@@ -4,9 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MapContainer = void 0;
7
+
7
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
8
10
  var _templateObject;
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
+
11
16
  var MapContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n"])));
17
+
12
18
  exports.MapContainer = MapContainer;
package/lib/map/Marker.js CHANGED
@@ -4,31 +4,42 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Marker = void 0;
7
+
7
8
  var React = _interopRequireWildcard(require("react"));
9
+
8
10
  var _util = require("./util");
11
+
9
12
  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); }
13
+
10
14
  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; }
15
+
11
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
12
18
  var markerPath = 'M 3.052 3.7 C 1.56 5.293 0.626 7.612 0.663 9.793 C 0.738 14.352 2.793 16.077 6.078 22.351 C 7.263 25.111 8.497 28.032 9.672 32.871 C 9.835 33.584 9.994 34.246 10.069 34.305 C 10.143 34.362 10.301 33.697 10.465 32.983 C 11.639 28.145 12.875 25.226 14.059 22.466 C 17.344 16.192 19.398 14.466 19.474 9.908 C 19.511 7.727 18.574 5.405 17.083 3.814 C 15.379 1.994 12.809 0.649 10.069 0.593 C 7.328 0.536 4.756 1.882 3.052 3.7 Z';
19
+
13
20
  class Marker extends React.PureComponent {
14
21
  constructor() {
15
22
  super(...arguments);
23
+
16
24
  _defineProperty(this, "marker", void 0);
25
+
17
26
  _defineProperty(this, "eventHandlers", {});
18
27
  }
28
+
19
29
  componentDidMount() {
20
30
  var _this$props = this.props,
21
- position = _this$props.position,
22
- api = _this$props.api,
23
- map = _this$props.map,
24
- onMove = _this$props.onMove,
25
- zIndex = _this$props.zIndex,
26
- opacity = _this$props.opacity,
27
- label = _this$props.label,
28
- markerRef = _this$props.markerRef,
29
- color = _this$props.color;
31
+ position = _this$props.position,
32
+ api = _this$props.api,
33
+ map = _this$props.map,
34
+ onMove = _this$props.onMove,
35
+ zIndex = _this$props.zIndex,
36
+ opacity = _this$props.opacity,
37
+ label = _this$props.label,
38
+ markerRef = _this$props.markerRef,
39
+ color = _this$props.color;
30
40
  var GMarker = api.Marker;
31
41
  var icon;
42
+
32
43
  if (color) {
33
44
  icon = {
34
45
  path: markerPath,
@@ -40,6 +51,7 @@ class Marker extends React.PureComponent {
40
51
  labelOrigin: new api.Point(10, 11)
41
52
  };
42
53
  }
54
+
43
55
  this.marker = new GMarker({
44
56
  draggable: Boolean(onMove),
45
57
  position,
@@ -49,76 +61,96 @@ class Marker extends React.PureComponent {
49
61
  label,
50
62
  icon
51
63
  });
64
+
52
65
  if (markerRef) {
53
66
  markerRef.current = this.marker;
54
67
  }
68
+
55
69
  this.attachMoveHandler();
56
70
  this.attachClickHandler();
57
71
  }
72
+
58
73
  componentDidUpdate(prevProps) {
59
74
  if (!this.marker) {
60
75
  return;
61
76
  }
77
+
62
78
  var _this$props2 = this.props,
63
- position = _this$props2.position,
64
- onMove = _this$props2.onMove,
65
- label = _this$props2.label,
66
- zIndex = _this$props2.zIndex,
67
- opacity = _this$props2.opacity,
68
- map = _this$props2.map;
79
+ position = _this$props2.position,
80
+ onMove = _this$props2.onMove,
81
+ label = _this$props2.label,
82
+ zIndex = _this$props2.zIndex,
83
+ opacity = _this$props2.opacity,
84
+ map = _this$props2.map;
85
+
69
86
  if (prevProps.onMove !== onMove) {
70
87
  this.attachMoveHandler();
71
88
  }
89
+
72
90
  if (!(0, _util.latLngAreEqual)(prevProps.position, position)) {
73
91
  this.marker.setPosition(position);
74
92
  }
93
+
75
94
  if (prevProps.label !== label) {
76
95
  this.marker.setLabel(label || null);
77
96
  }
97
+
78
98
  if (prevProps.zIndex !== zIndex) {
79
99
  this.marker.setZIndex(zIndex || null);
80
100
  }
101
+
81
102
  if (prevProps.opacity !== opacity) {
82
103
  this.marker.setOpacity(opacity || null);
83
104
  }
105
+
84
106
  if (prevProps.map !== map) {
85
107
  this.marker.setMap(map);
86
108
  }
87
109
  }
110
+
88
111
  componentWillUnmount() {
89
112
  if (this.eventHandlers.move) {
90
113
  this.eventHandlers.move.remove();
91
114
  }
115
+
92
116
  if (this.marker) {
93
117
  this.marker.setMap(null);
94
118
  }
95
119
  }
120
+
96
121
  attachMoveHandler() {
97
122
  var _this$props3 = this.props,
98
- api = _this$props3.api,
99
- onMove = _this$props3.onMove;
123
+ api = _this$props3.api,
124
+ onMove = _this$props3.onMove;
125
+
100
126
  if (this.eventHandlers.move) {
101
127
  this.eventHandlers.move.remove();
102
128
  }
129
+
103
130
  if (this.marker && onMove) {
104
131
  this.eventHandlers.move = api.event.addListener(this.marker, 'dragend', onMove);
105
132
  }
106
133
  }
134
+
107
135
  attachClickHandler() {
108
136
  var _this$props4 = this.props,
109
- api = _this$props4.api,
110
- onClick = _this$props4.onClick;
137
+ api = _this$props4.api,
138
+ onClick = _this$props4.onClick;
139
+
111
140
  if (this.eventHandlers.click) {
112
141
  this.eventHandlers.click.remove();
113
142
  }
143
+
114
144
  if (this.marker && onClick) {
115
145
  this.eventHandlers.click = api.event.addListener(this.marker, 'click', onClick);
116
146
  }
117
- }
147
+ } // eslint-disable-next-line class-methods-use-this
148
+
118
149
 
119
- // eslint-disable-next-line class-methods-use-this
120
150
  render() {
121
151
  return null;
122
152
  }
153
+
123
154
  }
155
+
124
156
  exports.Marker = Marker;
@@ -4,38 +4,53 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SearchInput = void 0;
7
+
7
8
  var React = _interopRequireWildcard(require("react"));
9
+
8
10
  var _ui = require("@sanity/ui");
11
+
9
12
  var _SearchInput = require("./SearchInput.styles");
13
+
10
14
  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); }
15
+
11
16
  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; }
17
+
12
18
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+
13
20
  class SearchInput extends React.PureComponent {
14
21
  constructor() {
15
22
  super(...arguments);
23
+
16
24
  _defineProperty(this, "searchInputRef", /*#__PURE__*/React.createRef());
25
+
17
26
  _defineProperty(this, "autoComplete", void 0);
27
+
18
28
  _defineProperty(this, "handleChange", () => {
19
29
  if (!this.autoComplete) {
20
30
  return;
21
31
  }
32
+
22
33
  this.props.onChange(this.autoComplete.getPlace());
34
+
23
35
  if (this.searchInputRef.current) {
24
36
  this.searchInputRef.current.value = '';
25
37
  }
26
38
  });
27
39
  }
40
+
28
41
  componentDidMount() {
29
42
  var input = this.searchInputRef.current;
43
+
30
44
  if (!input) {
31
45
  return;
32
46
  }
47
+
33
48
  var _this$props = this.props,
34
- api = _this$props.api,
35
- map = _this$props.map;
49
+ api = _this$props.api,
50
+ map = _this$props.map;
36
51
  var Circle = api.Circle,
37
- places = api.places,
38
- event = api.event;
52
+ places = api.places,
53
+ event = api.event;
39
54
  var searchBounds = new Circle({
40
55
  center: map.getCenter(),
41
56
  radius: 100
@@ -43,10 +58,11 @@ class SearchInput extends React.PureComponent {
43
58
  this.autoComplete = new places.Autocomplete(input, {
44
59
  bounds: searchBounds,
45
60
  types: [] // return all kinds of places
46
- });
47
61
 
62
+ });
48
63
  event.addListener(this.autoComplete, 'place_changed', this.handleChange);
49
64
  }
65
+
50
66
  render() {
51
67
  return /*#__PURE__*/React.createElement(_SearchInput.WrapperContainer, null, /*#__PURE__*/React.createElement(_ui.TextInput, {
52
68
  name: "place",
@@ -55,5 +71,7 @@ class SearchInput extends React.PureComponent {
55
71
  padding: 4
56
72
  }));
57
73
  }
74
+
58
75
  }
76
+
59
77
  exports.SearchInput = SearchInput;
@@ -4,9 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.WrapperContainer = void 0;
7
+
7
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
8
10
  var _templateObject;
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
+
11
16
  var WrapperContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: absolute;\n right: 10px;\n top: 10px;\n width: 220px;\n"])));
17
+
12
18
  exports.WrapperContainer = WrapperContainer;
package/lib/map/util.js CHANGED
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.latLngAreEqual = latLngAreEqual;
7
+
7
8
  function latLngAreEqual(latLng1, latLng2) {
8
9
  var lat1 = typeof latLng1.lat === 'function' ? latLng1.lat() : latLng1.lat;
9
10
  var lng1 = typeof latLng1.lng === 'function' ? latLng1.lng() : latLng1.lng;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/google-maps-input",
3
- "version": "2.34.1-canary.0+b3e58b8893",
3
+ "version": "2.34.2-empty-template-cli.0+184a9350e5",
4
4
  "description": "Sanity plugin providing input handlers for geo-related input types using Google Maps",
5
5
  "main": "lib/index.js",
6
6
  "types": "./dist/dts",
@@ -19,15 +19,15 @@
19
19
  "sanity-plugin"
20
20
  ],
21
21
  "dependencies": {
22
- "@sanity/field": "2.34.1-canary.0+b3e58b8893",
22
+ "@sanity/field": "2.34.2-empty-template-cli.0+184a9350e5",
23
23
  "@sanity/icons": "^1.3.4",
24
- "@sanity/types": "2.34.1-canary.0+b3e58b8893",
24
+ "@sanity/types": "2.34.2-empty-template-cli.0+184a9350e5",
25
25
  "@sanity/ui": "^0.37.22",
26
26
  "lodash": "^4.17.15",
27
27
  "rxjs": "^6.5.3"
28
28
  },
29
29
  "devDependencies": {
30
- "@sanity/base": "2.34.1-canary.0+b3e58b8893",
30
+ "@sanity/base": "2.34.2-empty-template-cli.0+184a9350e5",
31
31
  "@types/googlemaps": "^3.43.0",
32
32
  "rimraf": "^2.7.1"
33
33
  },
@@ -46,5 +46,5 @@
46
46
  "url": "https://github.com/sanity-io/sanity/issues"
47
47
  },
48
48
  "homepage": "https://www.sanity.io/",
49
- "gitHead": "b3e58b8893c9573844279488896df2313df914f1"
49
+ "gitHead": "184a9350e50aa05877a3b10e052ce4e2ca743ef0"
50
50
  }