@sanity/google-maps-input 2.30.1 → 3.0.0-studio-v3.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.
- package/README.md +68 -2
- package/lib/cjs/index.js +899 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/esm/index.js +889 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/types/index.d.ts +43 -0
- package/lib/types/index.d.ts.map +1 -0
- package/package.json +67 -16
- package/src/@types/css.d.ts +4 -0
- package/src/diff/GeopointArrayDiff.tsx +84 -0
- package/src/diff/GeopointFieldDiff.styles.tsx +20 -0
- package/src/diff/GeopointFieldDiff.tsx +95 -0
- package/src/diff/GeopointMove.tsx +48 -0
- package/src/diff/resolver.ts +21 -0
- package/src/global-workaround.ts +11 -0
- package/src/index.tsx +51 -0
- package/src/input/GeopointInput.styles.tsx +12 -0
- package/src/input/GeopointInput.tsx +176 -0
- package/src/input/GeopointSelect.tsx +78 -0
- package/src/loader/GoogleMapsLoadProxy.tsx +51 -0
- package/src/loader/LoadError.tsx +44 -0
- package/src/loader/loadGoogleMapsApi.ts +97 -0
- package/src/map/Arrow.tsx +76 -0
- package/src/map/Map.styles.tsx +10 -0
- package/src/map/Map.tsx +125 -0
- package/src/map/Marker.tsx +130 -0
- package/src/map/SearchInput.styles.tsx +8 -0
- package/src/map/SearchInput.tsx +56 -0
- package/src/map/util.ts +14 -0
- package/src/types.ts +19 -0
- package/.depcheckignore.json +0 -3
- package/config.dist.json +0 -9
- package/dist/dts/diff/GeopointArrayDiff.d.ts +0 -5
- package/dist/dts/diff/GeopointArrayDiff.d.ts.map +0 -1
- package/dist/dts/diff/GeopointFieldDiff.d.ts +0 -5
- package/dist/dts/diff/GeopointFieldDiff.d.ts.map +0 -1
- package/dist/dts/diff/GeopointFieldDiff.styles.d.ts +0 -2
- package/dist/dts/diff/GeopointFieldDiff.styles.d.ts.map +0 -1
- package/dist/dts/diff/GeopointMove.d.ts +0 -13
- package/dist/dts/diff/GeopointMove.d.ts.map +0 -1
- package/dist/dts/diff/resolver.d.ts +0 -4
- package/dist/dts/diff/resolver.d.ts.map +0 -1
- package/dist/dts/input/GeopointInput.d.ts +0 -40
- package/dist/dts/input/GeopointInput.d.ts.map +0 -1
- package/dist/dts/input/GeopointInput.styles.d.ts +0 -3
- package/dist/dts/input/GeopointInput.styles.d.ts.map +0 -1
- package/dist/dts/input/GeopointSelect.d.ts +0 -28
- package/dist/dts/input/GeopointSelect.d.ts.map +0 -1
- package/dist/dts/loader/GoogleMapsLoadProxy.d.ts +0 -14
- package/dist/dts/loader/GoogleMapsLoadProxy.d.ts.map +0 -1
- package/dist/dts/loader/LoadError.d.ts +0 -10
- package/dist/dts/loader/LoadError.d.ts.map +0 -1
- package/dist/dts/loader/loadGoogleMapsApi.d.ts +0 -18
- package/dist/dts/loader/loadGoogleMapsApi.d.ts.map +0 -1
- package/dist/dts/map/Arrow.d.ts +0 -29
- package/dist/dts/map/Arrow.d.ts.map +0 -1
- package/dist/dts/map/Map.d.ts +0 -37
- package/dist/dts/map/Map.d.ts.map +0 -1
- package/dist/dts/map/Map.styles.d.ts +0 -2
- package/dist/dts/map/Map.styles.d.ts.map +0 -1
- package/dist/dts/map/Marker.d.ts +0 -36
- package/dist/dts/map/Marker.d.ts.map +0 -1
- package/dist/dts/map/SearchInput.d.ts +0 -16
- package/dist/dts/map/SearchInput.d.ts.map +0 -1
- package/dist/dts/map/SearchInput.styles.d.ts +0 -2
- package/dist/dts/map/SearchInput.styles.d.ts.map +0 -1
- package/dist/dts/map/util.d.ts +0 -4
- package/dist/dts/map/util.d.ts.map +0 -1
- package/dist/dts/types.d.ts +0 -14
- package/dist/dts/types.d.ts.map +0 -1
- package/lib/@types/css.d.js +0 -1
- package/lib/diff/GeopointArrayDiff.js +0 -82
- package/lib/diff/GeopointFieldDiff.js +0 -97
- package/lib/diff/GeopointFieldDiff.styles.js +0 -18
- package/lib/diff/GeopointMove.js +0 -55
- package/lib/diff/resolver.js +0 -27
- package/lib/input/GeopointInput.js +0 -194
- package/lib/input/GeopointInput.styles.js +0 -22
- package/lib/input/GeopointSelect.js +0 -103
- package/lib/loader/GoogleMapsLoadProxy.js +0 -70
- package/lib/loader/LoadError.js +0 -43
- package/lib/loader/loadGoogleMapsApi.js +0 -81
- package/lib/map/Arrow.js +0 -97
- package/lib/map/Map.js +0 -147
- package/lib/map/Map.styles.js +0 -18
- package/lib/map/Marker.js +0 -156
- package/lib/map/SearchInput.js +0 -77
- package/lib/map/SearchInput.styles.js +0 -18
- package/lib/map/util.js +0 -14
- package/lib/types.js +0 -5
- package/sanity.json +0 -18
- 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;
|
package/lib/diff/GeopointMove.js
DELETED
|
@@ -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
|
-
}
|
package/lib/diff/resolver.js
DELETED
|
@@ -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;
|