@sanity/google-maps-input 2.30.2-shopify.2 → 3.0.0-v3-studio.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.
Files changed (92) hide show
  1. package/README.md +68 -2
  2. package/lib/cjs/index.js +902 -0
  3. package/lib/cjs/index.js.map +1 -0
  4. package/lib/esm/index.js +892 -0
  5. package/lib/esm/index.js.map +1 -0
  6. package/lib/types/index.d.ts +43 -0
  7. package/lib/types/index.d.ts.map +1 -0
  8. package/package.json +71 -19
  9. package/src/@types/css.d.ts +4 -0
  10. package/src/diff/GeopointArrayDiff.tsx +84 -0
  11. package/src/diff/GeopointFieldDiff.styles.tsx +20 -0
  12. package/src/diff/GeopointFieldDiff.tsx +95 -0
  13. package/src/diff/GeopointMove.tsx +48 -0
  14. package/src/diff/resolver.ts +21 -0
  15. package/src/global-workaround.ts +11 -0
  16. package/src/index.tsx +52 -0
  17. package/src/input/GeopointInput.styles.tsx +12 -0
  18. package/src/input/GeopointInput.tsx +176 -0
  19. package/src/input/GeopointSelect.tsx +78 -0
  20. package/src/loader/GoogleMapsLoadProxy.tsx +51 -0
  21. package/src/loader/LoadError.tsx +44 -0
  22. package/src/loader/loadGoogleMapsApi.ts +97 -0
  23. package/src/map/Arrow.tsx +76 -0
  24. package/src/map/Map.styles.tsx +10 -0
  25. package/src/map/Map.tsx +125 -0
  26. package/src/map/Marker.tsx +130 -0
  27. package/src/map/SearchInput.styles.tsx +8 -0
  28. package/src/map/SearchInput.tsx +56 -0
  29. package/src/map/util.ts +14 -0
  30. package/src/types.ts +19 -0
  31. package/.depcheckignore.json +0 -3
  32. package/config.dist.json +0 -9
  33. package/dist/dts/diff/GeopointArrayDiff.d.ts +0 -5
  34. package/dist/dts/diff/GeopointArrayDiff.d.ts.map +0 -1
  35. package/dist/dts/diff/GeopointFieldDiff.d.ts +0 -5
  36. package/dist/dts/diff/GeopointFieldDiff.d.ts.map +0 -1
  37. package/dist/dts/diff/GeopointFieldDiff.styles.d.ts +0 -2
  38. package/dist/dts/diff/GeopointFieldDiff.styles.d.ts.map +0 -1
  39. package/dist/dts/diff/GeopointMove.d.ts +0 -13
  40. package/dist/dts/diff/GeopointMove.d.ts.map +0 -1
  41. package/dist/dts/diff/resolver.d.ts +0 -4
  42. package/dist/dts/diff/resolver.d.ts.map +0 -1
  43. package/dist/dts/input/GeopointInput.d.ts +0 -40
  44. package/dist/dts/input/GeopointInput.d.ts.map +0 -1
  45. package/dist/dts/input/GeopointInput.styles.d.ts +0 -3
  46. package/dist/dts/input/GeopointInput.styles.d.ts.map +0 -1
  47. package/dist/dts/input/GeopointSelect.d.ts +0 -28
  48. package/dist/dts/input/GeopointSelect.d.ts.map +0 -1
  49. package/dist/dts/loader/GoogleMapsLoadProxy.d.ts +0 -14
  50. package/dist/dts/loader/GoogleMapsLoadProxy.d.ts.map +0 -1
  51. package/dist/dts/loader/LoadError.d.ts +0 -10
  52. package/dist/dts/loader/LoadError.d.ts.map +0 -1
  53. package/dist/dts/loader/loadGoogleMapsApi.d.ts +0 -18
  54. package/dist/dts/loader/loadGoogleMapsApi.d.ts.map +0 -1
  55. package/dist/dts/map/Arrow.d.ts +0 -29
  56. package/dist/dts/map/Arrow.d.ts.map +0 -1
  57. package/dist/dts/map/Map.d.ts +0 -37
  58. package/dist/dts/map/Map.d.ts.map +0 -1
  59. package/dist/dts/map/Map.styles.d.ts +0 -2
  60. package/dist/dts/map/Map.styles.d.ts.map +0 -1
  61. package/dist/dts/map/Marker.d.ts +0 -36
  62. package/dist/dts/map/Marker.d.ts.map +0 -1
  63. package/dist/dts/map/SearchInput.d.ts +0 -16
  64. package/dist/dts/map/SearchInput.d.ts.map +0 -1
  65. package/dist/dts/map/SearchInput.styles.d.ts +0 -2
  66. package/dist/dts/map/SearchInput.styles.d.ts.map +0 -1
  67. package/dist/dts/map/util.d.ts +0 -4
  68. package/dist/dts/map/util.d.ts.map +0 -1
  69. package/dist/dts/types.d.ts +0 -14
  70. package/dist/dts/types.d.ts.map +0 -1
  71. package/lib/@types/css.d.js +0 -1
  72. package/lib/diff/GeopointArrayDiff.js +0 -82
  73. package/lib/diff/GeopointFieldDiff.js +0 -97
  74. package/lib/diff/GeopointFieldDiff.styles.js +0 -18
  75. package/lib/diff/GeopointMove.js +0 -55
  76. package/lib/diff/resolver.js +0 -27
  77. package/lib/input/GeopointInput.js +0 -194
  78. package/lib/input/GeopointInput.styles.js +0 -22
  79. package/lib/input/GeopointSelect.js +0 -103
  80. package/lib/loader/GoogleMapsLoadProxy.js +0 -70
  81. package/lib/loader/LoadError.js +0 -43
  82. package/lib/loader/loadGoogleMapsApi.js +0 -81
  83. package/lib/map/Arrow.js +0 -97
  84. package/lib/map/Map.js +0 -147
  85. package/lib/map/Map.styles.js +0 -18
  86. package/lib/map/Marker.js +0 -156
  87. package/lib/map/SearchInput.js +0 -77
  88. package/lib/map/SearchInput.styles.js +0 -18
  89. package/lib/map/util.js +0 -14
  90. package/lib/types.js +0 -5
  91. package/sanity.json +0 -18
  92. package/tsconfig.json +0 -20
@@ -1,82 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.GeopointArrayDiff = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
10
- var _GoogleMapsLoadProxy = require("../loader/GoogleMapsLoadProxy");
11
-
12
- var _Map = require("../map/Map");
13
-
14
- var _GeopointMove = require("./GeopointMove");
15
-
16
- var _GeopointFieldDiff = require("./GeopointFieldDiff.styles");
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
- var GeopointArrayDiff = _ref => {
23
- var diff = _ref.diff,
24
- schemaType = _ref.schemaType;
25
- return /*#__PURE__*/React.createElement(_GeopointFieldDiff.RootContainer, null, /*#__PURE__*/React.createElement(_GoogleMapsLoadProxy.GoogleMapsLoadProxy, null, api => /*#__PURE__*/React.createElement(GeopointDiff, {
26
- api: api,
27
- diff: diff,
28
- schemaType: schemaType
29
- })));
30
- };
31
-
32
- exports.GeopointArrayDiff = GeopointArrayDiff;
33
-
34
- function GeopointDiff(_ref2) {
35
- var api = _ref2.api,
36
- diff = _ref2.diff;
37
- var fromValue = (diff.fromValue || []).filter(hasCoordinates);
38
- var toValue = (diff.toValue || []).filter(hasCoordinates);
39
-
40
- if (fromValue.length === 0 && toValue.length === 0) {
41
- return null;
42
- }
43
-
44
- var bounds = getBounds(fromValue, toValue, api);
45
- return /*#__PURE__*/React.createElement(_Map.GoogleMap, {
46
- api: api,
47
- location: bounds.getCenter().toJSON(),
48
- mapTypeControl: false,
49
- controlSize: 20,
50
- bounds: bounds
51
- }, map => /*#__PURE__*/React.createElement(React.Fragment, null, diff.items.map(_ref3 => {
52
- var toIndex = _ref3.toIndex,
53
- pointDiff = _ref3.diff;
54
-
55
- if (!isChangeDiff(pointDiff)) {
56
- return null;
57
- }
58
-
59
- return /*#__PURE__*/React.createElement(_GeopointMove.GeopointMove, {
60
- key: toIndex,
61
- api: api,
62
- map: map,
63
- diff: pointDiff,
64
- label: "".concat(toIndex)
65
- });
66
- })));
67
- }
68
-
69
- function isChangeDiff(diff) {
70
- return diff.action !== 'unchanged' && diff.type === 'object';
71
- }
72
-
73
- function hasCoordinates(point) {
74
- return typeof point.lat === 'number' && typeof point.lng === 'number';
75
- }
76
-
77
- function getBounds(fromValue, toValue, api) {
78
- var bounds = new api.LatLngBounds();
79
- var points = [...(fromValue || []), ...(toValue || [])];
80
- points.forEach(point => bounds.extend(point));
81
- return bounds;
82
- }
@@ -1,97 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.GeopointFieldDiff = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
10
- var _diff = require("@sanity/field/diff");
11
-
12
- var _GoogleMapsLoadProxy = require("../loader/GoogleMapsLoadProxy");
13
-
14
- var _Map = require("../map/Map");
15
-
16
- var _GeopointMove = require("./GeopointMove");
17
-
18
- var _GeopointFieldDiff = require("./GeopointFieldDiff.styles");
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
- var GeopointFieldDiff = _ref => {
25
- var diff = _ref.diff,
26
- schemaType = _ref.schemaType;
27
- return /*#__PURE__*/React.createElement(_GeopointFieldDiff.RootContainer, null, /*#__PURE__*/React.createElement(_GoogleMapsLoadProxy.GoogleMapsLoadProxy, null, api => /*#__PURE__*/React.createElement(GeopointDiff, {
28
- api: api,
29
- diff: diff,
30
- schemaType: schemaType
31
- })));
32
- };
33
-
34
- exports.GeopointFieldDiff = GeopointFieldDiff;
35
-
36
- function GeopointDiff(_ref2) {
37
- var api = _ref2.api,
38
- diff = _ref2.diff;
39
- var fromValue = diff.fromValue,
40
- toValue = diff.toValue;
41
- var annotation = (0, _diff.getAnnotationAtPath)(diff, ['lat']) || (0, _diff.getAnnotationAtPath)(diff, ['lng']) || (0, _diff.getAnnotationAtPath)(diff, []);
42
- var center = getCenter(diff, api);
43
- var bounds = fromValue && toValue ? getBounds(fromValue, toValue, api) : undefined;
44
- return /*#__PURE__*/React.createElement(_diff.DiffTooltip, {
45
- annotations: annotation ? [annotation] : [],
46
- description: getAction(diff)
47
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_Map.GoogleMap, {
48
- api: api,
49
- location: center,
50
- mapTypeControl: false,
51
- controlSize: 20,
52
- bounds: bounds,
53
- scrollWheel: false
54
- }, map => /*#__PURE__*/React.createElement(_GeopointMove.GeopointMove, {
55
- api: api,
56
- map: map,
57
- diff: diff
58
- }))));
59
- }
60
-
61
- function getBounds(fromValue, toValue, api) {
62
- return new api.LatLngBounds().extend(fromValue).extend(toValue);
63
- }
64
-
65
- function getCenter(diff, api) {
66
- var fromValue = diff.fromValue,
67
- toValue = diff.toValue;
68
-
69
- if (fromValue && toValue) {
70
- return getBounds(fromValue, toValue, api).getCenter().toJSON();
71
- }
72
-
73
- if (fromValue) {
74
- return fromValue;
75
- }
76
-
77
- if (toValue) {
78
- return toValue;
79
- }
80
-
81
- throw new Error('Neither a from or a to value present');
82
- }
83
-
84
- function getAction(diff) {
85
- var fromValue = diff.fromValue,
86
- toValue = diff.toValue;
87
-
88
- if (fromValue && toValue) {
89
- return 'Moved';
90
- } else if (fromValue) {
91
- return 'Removed';
92
- } else if (toValue) {
93
- return 'Added';
94
- }
95
-
96
- return 'Unchanged';
97
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.RootContainer = void 0;
7
-
8
- var _styledComponents = _interopRequireDefault(require("styled-components"));
9
-
10
- var _templateObject;
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
-
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
-
18
- exports.RootContainer = RootContainer;
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.GeopointMove = GeopointMove;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
10
- var _userColor = require("@sanity/base/user-color");
11
-
12
- var _Marker = require("../map/Marker");
13
-
14
- var _Arrow = require("../map/Arrow");
15
-
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
-
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
-
20
- function GeopointMove(_ref) {
21
- var diff = _ref.diff,
22
- api = _ref.api,
23
- map = _ref.map,
24
- label = _ref.label;
25
- var from = diff.fromValue,
26
- to = diff.toValue;
27
- var annotation = diff.isChanged ? diff.annotation : undefined;
28
- var userColor = (0, _userColor.useUserColor)(annotation ? annotation.author : null) || undefined;
29
- var fromRef = React.useRef();
30
- var toRef = React.useRef();
31
- return /*#__PURE__*/React.createElement(React.Fragment, null, from && /*#__PURE__*/React.createElement(_Marker.Marker, {
32
- api: api,
33
- map: map,
34
- position: from,
35
- zIndex: 0,
36
- opacity: 0.55,
37
- markerRef: fromRef,
38
- color: userColor
39
- }), from && to && /*#__PURE__*/React.createElement(_Arrow.Arrow, {
40
- api: api,
41
- map: map,
42
- from: from,
43
- to: to,
44
- zIndex: 1,
45
- color: userColor
46
- }), to && /*#__PURE__*/React.createElement(_Marker.Marker, {
47
- api: api,
48
- map: map,
49
- position: to,
50
- zIndex: 2,
51
- markerRef: toRef,
52
- label: label,
53
- color: userColor
54
- }));
55
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _GeopointFieldDiff = require("./GeopointFieldDiff");
9
-
10
- var _GeopointArrayDiff = require("./GeopointArrayDiff");
11
-
12
- var diffResolver = function diffResolver(_ref) {
13
- var schemaType = _ref.schemaType;
14
-
15
- if (schemaType.name === 'geopoint') {
16
- return _GeopointFieldDiff.GeopointFieldDiff;
17
- }
18
-
19
- if (schemaType.jsonType === 'array' && schemaType.of.length === 1 && schemaType.of[0].name === 'geopoint') {
20
- return _GeopointArrayDiff.GeopointArrayDiff;
21
- }
22
-
23
- return undefined;
24
- };
25
-
26
- var _default = diffResolver;
27
- exports.default = _default;
@@ -1,194 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _uniqueId2 = _interopRequireDefault(require("lodash/uniqueId"));
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _ui = require("@sanity/ui");
13
-
14
- var _icons = require("@sanity/icons");
15
-
16
- var _googleMapsInput = _interopRequireDefault(require("config:@sanity/google-maps-input"));
17
-
18
- var _components = require("@sanity/base/components");
19
-
20
- var _patchEvent = require("part:@sanity/form-builder/patch-event");
21
-
22
- var _changeIndicators = require("@sanity/base/change-indicators");
23
-
24
- var _GoogleMapsLoadProxy = require("../loader/GoogleMapsLoadProxy");
25
-
26
- var _GeopointSelect = require("./GeopointSelect");
27
-
28
- var _GeopointInput = require("./GeopointInput.styles");
29
-
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
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
-
34
- var getStaticImageUrl = value => {
35
- var loc = "".concat(value.lat, ",").concat(value.lng);
36
- var params = {
37
- key: _googleMapsInput.default.apiKey,
38
- center: loc,
39
- markers: loc,
40
- zoom: 13,
41
- scale: 2,
42
- size: '640x300'
43
- };
44
- var qs = Object.keys(params).reduce((res, param) => {
45
- return res.concat("".concat(param, "=").concat(encodeURIComponent(params[param])));
46
- }, []);
47
- return "https://maps.googleapis.com/maps/api/staticmap?".concat(qs.join('&'));
48
- };
49
-
50
- class GeopointInput extends _react.default.PureComponent {
51
- constructor(props) {
52
- super(props);
53
-
54
- _defineProperty(this, "_geopointInputId", (0, _uniqueId2.default)('GeopointInput'));
55
-
56
- _defineProperty(this, "editButton", void 0);
57
-
58
- _defineProperty(this, "setEditButton", el => {
59
- this.editButton = el;
60
- });
61
-
62
- _defineProperty(this, "handleFocus", event => {
63
- this.props.onFocus(event);
64
- });
65
-
66
- _defineProperty(this, "handleBlur", () => {
67
- this.props.onBlur();
68
- });
69
-
70
- _defineProperty(this, "handleToggleModal", () => {
71
- var _this$props = this.props,
72
- onFocus = _this$props.onFocus,
73
- onBlur = _this$props.onBlur;
74
- this.setState(prevState => ({
75
- modalOpen: !prevState.modalOpen
76
- }), () => {
77
- if (this.state.modalOpen) {
78
- onFocus(['$']);
79
- } else {
80
- onBlur();
81
- }
82
- });
83
- });
84
-
85
- _defineProperty(this, "handleCloseModal", () => {
86
- this.setState({
87
- modalOpen: false
88
- });
89
- });
90
-
91
- _defineProperty(this, "handleChange", latLng => {
92
- var _this$props2 = this.props,
93
- type = _this$props2.type,
94
- onChange = _this$props2.onChange;
95
- onChange(_patchEvent.PatchEvent.from([(0, _patchEvent.setIfMissing)({
96
- _type: type.name
97
- }), (0, _patchEvent.set)(latLng.lat(), ['lat']), (0, _patchEvent.set)(latLng.lng(), ['lng'])]));
98
- });
99
-
100
- _defineProperty(this, "handleClear", () => {
101
- var onChange = this.props.onChange;
102
- onChange(_patchEvent.PatchEvent.from((0, _patchEvent.unset)()));
103
- });
104
-
105
- this.state = {
106
- modalOpen: false
107
- };
108
- }
109
-
110
- focus() {
111
- if (this.editButton) {
112
- this.editButton.focus();
113
- }
114
- }
115
-
116
- render() {
117
- var _this$props3 = this.props,
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;
125
- var modalOpen = this.state.modalOpen;
126
-
127
- if (!_googleMapsInput.default || !_googleMapsInput.default.apiKey) {
128
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, "The ", /*#__PURE__*/_react.default.createElement("a", {
129
- href: "https://sanity.io/docs/schema-types/geopoint-type"
130
- }, "Geopoint type"), " needs a Google Maps API key with access to:"), /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", null, "Google Maps JavaScript API"), /*#__PURE__*/_react.default.createElement("li", null, "Google Places API Web Service"), /*#__PURE__*/_react.default.createElement("li", null, "Google Static Maps API")), /*#__PURE__*/_react.default.createElement("p", null, "Please enter the API key with access to these services in", /*#__PURE__*/_react.default.createElement("code", {
131
- style: {
132
- whiteSpace: 'nowrap'
133
- }
134
- }, "`<project-root>/config/@sanity/google-maps-input.json`")));
135
- }
136
-
137
- return /*#__PURE__*/_react.default.createElement(_components.FormFieldSet, {
138
- level: level,
139
- title: type.title,
140
- description: type.description,
141
- onFocus: this.handleFocus,
142
- onBlur: this.handleBlur,
143
- __unstable_presence: presence,
144
- __unstable_changeIndicator: false,
145
- __unstable_markers: markers
146
- }, /*#__PURE__*/_react.default.createElement("div", null, value && /*#__PURE__*/_react.default.createElement(_changeIndicators.ChangeIndicatorCompareValueProvider, {
147
- value: value,
148
- compareValue: compareValue
149
- }, /*#__PURE__*/_react.default.createElement(_changeIndicators.ChangeIndicator, {
150
- compareDeep: true
151
- }, /*#__PURE__*/_react.default.createElement(_GeopointInput.PreviewImage, {
152
- src: getStaticImageUrl(value),
153
- alt: "Map location"
154
- }))), !readOnly && /*#__PURE__*/_react.default.createElement(_ui.Box, {
155
- marginTop: 4
156
- }, /*#__PURE__*/_react.default.createElement(_ui.Grid, {
157
- columns: 2,
158
- gap: 2
159
- }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
160
- mode: "ghost",
161
- icon: value && _icons.EditIcon,
162
- padding: 3,
163
- ref: this.setEditButton,
164
- text: value ? 'Edit' : 'Set location',
165
- onClick: this.handleToggleModal
166
- }), value && /*#__PURE__*/_react.default.createElement(_ui.Button, {
167
- tone: "critical",
168
- icon: _icons.TrashIcon,
169
- padding: 3,
170
- mode: "ghost",
171
- text: 'Remove',
172
- onClick: this.handleClear
173
- }))), modalOpen && /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
174
- id: "".concat(this._geopointInputId, "_dialog"),
175
- onClose: this.handleCloseModal,
176
- header: "Place the marker on the map",
177
- width: 1
178
- }, /*#__PURE__*/_react.default.createElement(_GeopointInput.DialogInnerContainer, null, /*#__PURE__*/_react.default.createElement(_GoogleMapsLoadProxy.GoogleMapsLoadProxy, null, api => /*#__PURE__*/_react.default.createElement(_GeopointSelect.GeopointSelect, {
179
- api: api,
180
- value: value,
181
- onChange: readOnly ? undefined : this.handleChange,
182
- defaultLocation: _googleMapsInput.default.defaultLocation,
183
- defaultZoom: _googleMapsInput.default.defaultZoom
184
- }))))));
185
- }
186
-
187
- }
188
-
189
- _defineProperty(GeopointInput, "defaultProps", {
190
- markers: []
191
- });
192
-
193
- var _default = GeopointInput;
194
- exports.default = _default;
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.PreviewImage = exports.DialogInnerContainer = void 0;
7
-
8
- var _styledComponents = _interopRequireDefault(require("styled-components"));
9
-
10
- var _templateObject, _templateObject2;
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
-
16
- var PreviewImage = _styledComponents.default.img(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: auto;\n vertical-align: top;\n"])));
17
-
18
- exports.PreviewImage = PreviewImage;
19
-
20
- var DialogInnerContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 40rem;\n width: 50rem;\n"])));
21
-
22
- exports.DialogInnerContainer = DialogInnerContainer;
@@ -1,103 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.GeopointSelect = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _SearchInput = require("../map/SearchInput");
11
-
12
- var _Map = require("../map/Map");
13
-
14
- var _Marker = require("../map/Marker");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
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
-
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
-
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
-
24
- var fallbackLatLng = {
25
- lat: 40.7058254,
26
- lng: -74.1180863
27
- };
28
-
29
- class GeopointSelect extends _react.default.PureComponent {
30
- constructor() {
31
- super(...arguments);
32
-
33
- _defineProperty(this, "mapRef", /*#__PURE__*/_react.default.createRef());
34
-
35
- _defineProperty(this, "handlePlaceChanged", place => {
36
- if (!place.geometry) {
37
- return;
38
- }
39
-
40
- this.setValue(place.geometry.location);
41
- });
42
-
43
- _defineProperty(this, "handleMarkerDragEnd", event => {
44
- this.setValue(event.latLng);
45
- });
46
-
47
- _defineProperty(this, "handleMapClick", event => {
48
- this.setValue(event.latLng);
49
- });
50
- }
51
-
52
- getCenter() {
53
- var _this$props = this.props,
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
-
59
- var point = _objectSpread(_objectSpread(_objectSpread({}, fallbackLatLng), defaultLocation), value);
60
-
61
- return point;
62
- }
63
-
64
- setValue(geoPoint) {
65
- if (this.props.onChange) {
66
- this.props.onChange(geoPoint);
67
- }
68
- }
69
-
70
- render() {
71
- var _this$props2 = this.props,
72
- api = _this$props2.api,
73
- defaultZoom = _this$props2.defaultZoom,
74
- value = _this$props2.value,
75
- onChange = _this$props2.onChange;
76
- return /*#__PURE__*/_react.default.createElement(_Map.GoogleMap, {
77
- api: api,
78
- location: this.getCenter(),
79
- onClick: this.handleMapClick,
80
- defaultZoom: defaultZoom
81
- }, map => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_SearchInput.SearchInput, {
82
- api: api,
83
- map: map,
84
- onChange: this.handlePlaceChanged
85
- }), value && /*#__PURE__*/_react.default.createElement(_Marker.Marker, {
86
- api: api,
87
- map: map,
88
- position: value,
89
- onMove: onChange ? this.handleMarkerDragEnd : undefined
90
- })));
91
- }
92
-
93
- }
94
-
95
- exports.GeopointSelect = GeopointSelect;
96
-
97
- _defineProperty(GeopointSelect, "defaultProps", {
98
- defaultZoom: 8,
99
- defaultLocation: {
100
- lng: 10.74609,
101
- lat: 59.91273
102
- }
103
- });
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.GoogleMapsLoadProxy = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _loadGoogleMapsApi = require("./loadGoogleMapsApi");
11
-
12
- var _LoadError = require("./LoadError");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
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
-
18
- class GoogleMapsLoadProxy extends _react.default.Component {
19
- constructor(props) {
20
- super(props);
21
-
22
- _defineProperty(this, "loadSubscription", void 0);
23
-
24
- this.state = {
25
- loadState: 'loading'
26
- };
27
- var sync = true;
28
- this.loadSubscription = (0, _loadGoogleMapsApi.loadGoogleMapsApi)().subscribe(loadState => {
29
- if (sync) {
30
- this.state = loadState;
31
- } else {
32
- this.setState(loadState);
33
- }
34
- });
35
- sync = false;
36
- }
37
-
38
- componentWillUnmount() {
39
- if (this.loadSubscription) {
40
- this.loadSubscription.unsubscribe();
41
- }
42
- }
43
-
44
- render() {
45
- switch (this.state.loadState) {
46
- case 'loadError':
47
- return /*#__PURE__*/_react.default.createElement(_LoadError.LoadError, {
48
- error: this.state.error,
49
- isAuthError: false
50
- });
51
-
52
- case 'authError':
53
- return /*#__PURE__*/_react.default.createElement(_LoadError.LoadError, {
54
- isAuthError: true
55
- });
56
-
57
- case 'loading':
58
- return /*#__PURE__*/_react.default.createElement("div", null, "Loading Google Maps API");
59
-
60
- case 'loaded':
61
- return this.props.children(this.state.api) || null;
62
-
63
- default:
64
- return null;
65
- }
66
- }
67
-
68
- }
69
-
70
- exports.GoogleMapsLoadProxy = GoogleMapsLoadProxy;