@kepler.gl/utils 3.0.0-alpha.2 → 3.1.0-alpha.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/package.json +14 -10
- package/dist/aggregate-utils.d.ts +0 -3
- package/dist/aggregate-utils.js +0 -75
- package/dist/arrow-data-container.d.ts +0 -54
- package/dist/arrow-data-container.js +0 -360
- package/dist/color-utils.d.ts +0 -51
- package/dist/color-utils.js +0 -161
- package/dist/data-container-interface.d.ts +0 -133
- package/dist/data-container-interface.js +0 -6
- package/dist/data-container-utils.d.ts +0 -30
- package/dist/data-container-utils.js +0 -88
- package/dist/data-row.d.ts +0 -59
- package/dist/data-row.js +0 -126
- package/dist/data-scale-utils.d.ts +0 -23
- package/dist/data-scale-utils.js +0 -62
- package/dist/data-utils.d.ts +0 -103
- package/dist/data-utils.js +0 -502
- package/dist/dataset-utils.d.ts +0 -116
- package/dist/dataset-utils.js +0 -614
- package/dist/dom-to-image.d.ts +0 -73
- package/dist/dom-to-image.js +0 -489
- package/dist/dom-utils.d.ts +0 -23
- package/dist/dom-utils.js +0 -434
- package/dist/effect-utils.d.ts +0 -23
- package/dist/effect-utils.js +0 -196
- package/dist/export-map-html.d.ts +0 -9
- package/dist/export-map-html.js +0 -28
- package/dist/export-utils.d.ts +0 -53
- package/dist/export-utils.js +0 -262
- package/dist/filter-utils.d.ts +0 -326
- package/dist/filter-utils.js +0 -1333
- package/dist/format.d.ts +0 -1
- package/dist/format.js +0 -17
- package/dist/gl-utils.d.ts +0 -1
- package/dist/gl-utils.js +0 -35
- package/dist/h3-utils.d.ts +0 -21
- package/dist/h3-utils.js +0 -81
- package/dist/index.d.ts +0 -36
- package/dist/index.js +0 -772
- package/dist/indexed-data-container.d.ts +0 -34
- package/dist/indexed-data-container.js +0 -254
- package/dist/locale-utils.d.ts +0 -2
- package/dist/locale-utils.js +0 -54
- package/dist/map-info-utils.d.ts +0 -1
- package/dist/map-info-utils.js +0 -15
- package/dist/map-style-utils/mapbox-gl-style-editor.d.ts +0 -65
- package/dist/map-style-utils/mapbox-gl-style-editor.js +0 -218
- package/dist/map-style-utils/mapbox-utils.d.ts +0 -9
- package/dist/map-style-utils/mapbox-utils.js +0 -48
- package/dist/map-utils.d.ts +0 -9
- package/dist/map-utils.js +0 -65
- package/dist/mapbox-utils.d.ts +0 -7
- package/dist/mapbox-utils.js +0 -22
- package/dist/noop.d.ts +0 -1
- package/dist/noop.js +0 -11
- package/dist/notifications-utils.d.ts +0 -42
- package/dist/notifications-utils.js +0 -85
- package/dist/observe-dimensions.d.ts +0 -15
- package/dist/observe-dimensions.js +0 -151
- package/dist/plot.d.ts +0 -6
- package/dist/plot.js +0 -31
- package/dist/projection-utils.d.ts +0 -21
- package/dist/projection-utils.js +0 -100
- package/dist/row-data-container.d.ts +0 -31
- package/dist/row-data-container.js +0 -252
- package/dist/searcher-utils.d.ts +0 -1
- package/dist/searcher-utils.js +0 -28
- package/dist/split-map-utils.d.ts +0 -32
- package/dist/split-map-utils.js +0 -114
- package/dist/time.d.ts +0 -16
- package/dist/time.js +0 -89
- package/dist/utils.d.ts +0 -116
- package/dist/utils.js +0 -305
@@ -1,218 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.getDefaultLayerGroupVisibility = getDefaultLayerGroupVisibility;
|
9
|
-
exports.isValidStyleUrl = isValidStyleUrl;
|
10
|
-
exports.getStyleDownloadUrl = getStyleDownloadUrl;
|
11
|
-
exports.getStyleImageIcon = getStyleImageIcon;
|
12
|
-
exports.scaleMapStyleByResolution = scaleMapStyleByResolution;
|
13
|
-
exports.mergeLayerGroupVisibility = mergeLayerGroupVisibility;
|
14
|
-
exports.editBottomMapStyle = exports.editTopMapStyle = void 0;
|
15
|
-
|
16
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
17
|
-
|
18
|
-
var _lodash = _interopRequireDefault(require("lodash.memoize"));
|
19
|
-
|
20
|
-
var _lodash2 = _interopRequireDefault(require("lodash.clonedeep"));
|
21
|
-
|
22
|
-
var _constants = require("@kepler.gl/constants");
|
23
|
-
|
24
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
25
|
-
|
26
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
27
|
-
|
28
|
-
var mapUrlRg = /^mapbox:\/\/styles\/[-a-z0-9]{2,256}\/[-a-z0-9]{2,256}/;
|
29
|
-
var httpRg = /^(?=(http:|https:))/;
|
30
|
-
|
31
|
-
function getDefaultLayerGroupVisibility(_ref) {
|
32
|
-
var _ref$layerGroups = _ref.layerGroups,
|
33
|
-
layerGroups = _ref$layerGroups === void 0 ? [] : _ref$layerGroups;
|
34
|
-
return layerGroups.reduce(function (accu, layer) {
|
35
|
-
return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, layer.slug, layer.defaultVisibility));
|
36
|
-
}, {});
|
37
|
-
}
|
38
|
-
|
39
|
-
var resolver = function resolver(_ref2) {
|
40
|
-
var id = _ref2.id,
|
41
|
-
mapStyle = _ref2.mapStyle,
|
42
|
-
_ref2$visibleLayerGro = _ref2.visibleLayerGroups,
|
43
|
-
visibleLayerGroups = _ref2$visibleLayerGro === void 0 ? {} : _ref2$visibleLayerGro;
|
44
|
-
return "".concat(id, ":").concat(Object.keys(visibleLayerGroups).filter(function (d) {
|
45
|
-
return visibleLayerGroups[d];
|
46
|
-
}).sort().join('-'));
|
47
|
-
};
|
48
|
-
/**
|
49
|
-
* Edit preset map style to keep only visible layers
|
50
|
-
*
|
51
|
-
* @param mapStyle - preset map style
|
52
|
-
* @param visibleLayerGroups - visible layers of top map
|
53
|
-
* @returns top map style
|
54
|
-
*/
|
55
|
-
|
56
|
-
|
57
|
-
var editTopMapStyle = (0, _lodash["default"])(function (_ref3) {
|
58
|
-
var id = _ref3.id,
|
59
|
-
mapStyle = _ref3.mapStyle,
|
60
|
-
visibleLayerGroups = _ref3.visibleLayerGroups;
|
61
|
-
var visibleFilters = (mapStyle.layerGroups || []).filter(function (lg) {
|
62
|
-
return visibleLayerGroups[lg.slug];
|
63
|
-
}).map(function (lg) {
|
64
|
-
return lg.filter;
|
65
|
-
}); // if top map
|
66
|
-
// keep only visible layers
|
67
|
-
// @ts-expect-error
|
68
|
-
|
69
|
-
var filteredLayers = mapStyle.style.layers.filter(function (layer) {
|
70
|
-
return visibleFilters.some(function (match) {
|
71
|
-
return match(layer);
|
72
|
-
});
|
73
|
-
});
|
74
|
-
return _objectSpread(_objectSpread({}, mapStyle.style), {}, {
|
75
|
-
layers: filteredLayers
|
76
|
-
});
|
77
|
-
}, resolver);
|
78
|
-
/**
|
79
|
-
* Edit preset map style to filter out invisible layers
|
80
|
-
*
|
81
|
-
* @param {Object} mapStyle - preset map style
|
82
|
-
* @param {Object} visibleLayerGroups - visible layers of bottom map
|
83
|
-
* @returns {Object} bottom map style
|
84
|
-
*/
|
85
|
-
|
86
|
-
exports.editTopMapStyle = editTopMapStyle;
|
87
|
-
var editBottomMapStyle = (0, _lodash["default"])(function (_ref4) {
|
88
|
-
var id = _ref4.id,
|
89
|
-
mapStyle = _ref4.mapStyle,
|
90
|
-
visibleLayerGroups = _ref4.visibleLayerGroups;
|
91
|
-
|
92
|
-
if (id === _constants.NO_MAP_ID) {
|
93
|
-
return _constants.EMPTY_MAPBOX_STYLE;
|
94
|
-
}
|
95
|
-
|
96
|
-
var invisibleFilters = (mapStyle.layerGroups || []).filter(function (lg) {
|
97
|
-
return !visibleLayerGroups[lg.slug];
|
98
|
-
}).map(function (lg) {
|
99
|
-
return lg.filter;
|
100
|
-
}); // if bottom map
|
101
|
-
// filter out invisible layers
|
102
|
-
|
103
|
-
var filteredLayers = mapStyle.style.layers.filter(function (layer) {
|
104
|
-
return invisibleFilters.every(function (match) {
|
105
|
-
return !match(layer);
|
106
|
-
});
|
107
|
-
});
|
108
|
-
return _objectSpread(_objectSpread({}, mapStyle.style), {}, {
|
109
|
-
layers: filteredLayers
|
110
|
-
});
|
111
|
-
}, resolver); // valid style url
|
112
|
-
// mapbox://styles/uberdata/cjfyl03kp1tul2smf5v2tbdd4
|
113
|
-
// lowercase letters, numbers and dashes only.
|
114
|
-
|
115
|
-
exports.editBottomMapStyle = editBottomMapStyle;
|
116
|
-
|
117
|
-
function isValidStyleUrl(url) {
|
118
|
-
return typeof url === 'string' && Boolean(url.match(mapUrlRg) || url.match(httpRg));
|
119
|
-
}
|
120
|
-
|
121
|
-
function getStyleDownloadUrl(styleUrl, accessToken, mapboxApiUrl) {
|
122
|
-
if (styleUrl.startsWith('http')) {
|
123
|
-
return styleUrl;
|
124
|
-
} // mapbox://styles/jckr/cjhcl0lxv13di2rpfoytdbdyj
|
125
|
-
|
126
|
-
|
127
|
-
if (styleUrl.startsWith('mapbox://styles')) {
|
128
|
-
var styleId = styleUrl.replace('mapbox://styles/', ''); // https://api.mapbox.com/styles/v1/heshan0131/cjg1bfumo1cwm2rlrjxkinfgw?pluginName=Keplergl&access_token=<token>
|
129
|
-
|
130
|
-
return "".concat(mapboxApiUrl || _constants.DEFAULT_MAPBOX_API_URL, "/styles/v1/").concat(styleId, "?pluginName=Keplergl&access_token=").concat(accessToken);
|
131
|
-
} // style url not recognized
|
132
|
-
|
133
|
-
|
134
|
-
return null;
|
135
|
-
}
|
136
|
-
/**
|
137
|
-
* Generate static map image from style Url to be used as icon
|
138
|
-
* @param param
|
139
|
-
* @param param.styleUrl
|
140
|
-
* @param param.mapboxApiAccessToken
|
141
|
-
* @param param.mapboxApiUrl
|
142
|
-
* @param param.mapState
|
143
|
-
* @param param.mapW
|
144
|
-
* @param param.mapH
|
145
|
-
*/
|
146
|
-
|
147
|
-
|
148
|
-
function getStyleImageIcon(_ref5) {
|
149
|
-
var styleUrl = _ref5.styleUrl,
|
150
|
-
mapboxApiAccessToken = _ref5.mapboxApiAccessToken,
|
151
|
-
_ref5$mapboxApiUrl = _ref5.mapboxApiUrl,
|
152
|
-
mapboxApiUrl = _ref5$mapboxApiUrl === void 0 ? _constants.DEFAULT_MAPBOX_API_URL : _ref5$mapboxApiUrl,
|
153
|
-
_ref5$mapState = _ref5.mapState,
|
154
|
-
mapState = _ref5$mapState === void 0 ? {
|
155
|
-
longitude: -122.3391,
|
156
|
-
latitude: 37.7922,
|
157
|
-
zoom: 9
|
158
|
-
} : _ref5$mapState,
|
159
|
-
_ref5$mapW = _ref5.mapW,
|
160
|
-
mapW = _ref5$mapW === void 0 ? 400 : _ref5$mapW,
|
161
|
-
_ref5$mapH = _ref5.mapH,
|
162
|
-
mapH = _ref5$mapH === void 0 ? 300 : _ref5$mapH;
|
163
|
-
var styleId = styleUrl.replace('mapbox://styles/', '');
|
164
|
-
return "".concat(mapboxApiUrl, "/styles/v1/").concat(styleId, "/static/") + "".concat(mapState.longitude, ",").concat(mapState.latitude, ",").concat(mapState.zoom, ",0,0/") + "".concat(mapW, "x").concat(mapH) + "?access_token=".concat(mapboxApiAccessToken, "&logo=false&attribution=false");
|
165
|
-
}
|
166
|
-
|
167
|
-
function scaleMapStyleByResolution(mapboxStyle, scale) {
|
168
|
-
if (scale !== 1 && mapboxStyle) {
|
169
|
-
var labelLayerGroup = _constants.DEFAULT_LAYER_GROUPS.find(function (lg) {
|
170
|
-
return lg.slug === 'label';
|
171
|
-
}); // @ts-ignore
|
172
|
-
|
173
|
-
|
174
|
-
var labelLayerFilter = labelLayerGroup.filter;
|
175
|
-
var zoomOffset = Math.log2(scale);
|
176
|
-
var copyStyle = (0, _lodash2["default"])(mapboxStyle);
|
177
|
-
(copyStyle.layers || []).forEach(function (d) {
|
178
|
-
// edit minzoom and maxzoom
|
179
|
-
if (d.maxzoom) {
|
180
|
-
d.maxzoom = Math.max(d.maxzoom + zoomOffset, 1);
|
181
|
-
}
|
182
|
-
|
183
|
-
if (d.minzoom) {
|
184
|
-
d.minzoom = Math.max(d.minzoom + zoomOffset, 1);
|
185
|
-
} // edit text size
|
186
|
-
|
187
|
-
|
188
|
-
if (labelLayerFilter(d)) {
|
189
|
-
if (d.layout && d.layout['text-size'] && Array.isArray(d.layout['text-size'].stops)) {
|
190
|
-
d.layout['text-size'].stops.forEach(function (stop) {
|
191
|
-
// zoom
|
192
|
-
stop[0] = Math.max(stop[0] + zoomOffset, 1); // size
|
193
|
-
|
194
|
-
stop[1] *= scale;
|
195
|
-
});
|
196
|
-
}
|
197
|
-
}
|
198
|
-
});
|
199
|
-
return copyStyle;
|
200
|
-
}
|
201
|
-
|
202
|
-
return mapboxStyle;
|
203
|
-
}
|
204
|
-
/**
|
205
|
-
* When switch to a new style, try to keep current layer group visibility
|
206
|
-
* by merging default and current
|
207
|
-
* @param {Object} defaultLayerGroup
|
208
|
-
* @param {Object} currentLayerGroup
|
209
|
-
* @return {Object} mergedLayerGroups
|
210
|
-
*/
|
211
|
-
|
212
|
-
|
213
|
-
function mergeLayerGroupVisibility(defaultLayerGroup, currentLayerGroup) {
|
214
|
-
return Object.keys(defaultLayerGroup).reduce(function (accu, key) {
|
215
|
-
return _objectSpread(_objectSpread({}, accu), currentLayerGroup.hasOwnProperty(key) ? (0, _defineProperty2["default"])({}, key, currentLayerGroup[key]) : {});
|
216
|
-
}, defaultLayerGroup);
|
217
|
-
}
|
218
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LWdsLXN0eWxlLWVkaXRvci50cyJdLCJuYW1lcyI6WyJtYXBVcmxSZyIsImh0dHBSZyIsImdldERlZmF1bHRMYXllckdyb3VwVmlzaWJpbGl0eSIsImxheWVyR3JvdXBzIiwicmVkdWNlIiwiYWNjdSIsImxheWVyIiwic2x1ZyIsImRlZmF1bHRWaXNpYmlsaXR5IiwicmVzb2x2ZXIiLCJpZCIsIm1hcFN0eWxlIiwidmlzaWJsZUxheWVyR3JvdXBzIiwiT2JqZWN0Iiwia2V5cyIsImZpbHRlciIsImQiLCJzb3J0Iiwiam9pbiIsImVkaXRUb3BNYXBTdHlsZSIsInZpc2libGVGaWx0ZXJzIiwibGciLCJtYXAiLCJmaWx0ZXJlZExheWVycyIsInN0eWxlIiwibGF5ZXJzIiwic29tZSIsIm1hdGNoIiwiZWRpdEJvdHRvbU1hcFN0eWxlIiwiTk9fTUFQX0lEIiwiRU1QVFlfTUFQQk9YX1NUWUxFIiwiaW52aXNpYmxlRmlsdGVycyIsImV2ZXJ5IiwiaXNWYWxpZFN0eWxlVXJsIiwidXJsIiwiQm9vbGVhbiIsImdldFN0eWxlRG93bmxvYWRVcmwiLCJzdHlsZVVybCIsImFjY2Vzc1Rva2VuIiwibWFwYm94QXBpVXJsIiwic3RhcnRzV2l0aCIsInN0eWxlSWQiLCJyZXBsYWNlIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsImdldFN0eWxlSW1hZ2VJY29uIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJtYXBTdGF0ZSIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwiem9vbSIsIm1hcFciLCJtYXBIIiwic2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbiIsIm1hcGJveFN0eWxlIiwic2NhbGUiLCJsYWJlbExheWVyR3JvdXAiLCJERUZBVUxUX0xBWUVSX0dST1VQUyIsImZpbmQiLCJsYWJlbExheWVyRmlsdGVyIiwiem9vbU9mZnNldCIsIk1hdGgiLCJsb2cyIiwiY29weVN0eWxlIiwiZm9yRWFjaCIsIm1heHpvb20iLCJtYXgiLCJtaW56b29tIiwibGF5b3V0IiwiQXJyYXkiLCJpc0FycmF5Iiwic3RvcHMiLCJzdG9wIiwibWVyZ2VMYXllckdyb3VwVmlzaWJpbGl0eSIsImRlZmF1bHRMYXllckdyb3VwIiwiY3VycmVudExheWVyR3JvdXAiLCJrZXkiLCJoYXNPd25Qcm9wZXJ0eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7Ozs7O0FBUUEsSUFBTUEsUUFBUSxHQUFHLHdEQUFqQjtBQUNBLElBQU1DLE1BQU0sR0FBRyxxQkFBZjs7QUFFTyxTQUFTQyw4QkFBVCxPQUF5RjtBQUFBLDhCQUFoREMsV0FBZ0Q7QUFBQSxNQUFoREEsV0FBZ0QsaUNBQWxDLEVBQWtDO0FBQzlGLFNBQU9BLFdBQVcsQ0FBQ0MsTUFBWixDQUNMLFVBQUNDLElBQUQsRUFBT0MsS0FBUDtBQUFBLDJDQUNLRCxJQURMLDRDQUVHQyxLQUFLLENBQUNDLElBRlQsRUFFZ0JELEtBQUssQ0FBQ0UsaUJBRnRCO0FBQUEsR0FESyxFQUtMLEVBTEssQ0FBUDtBQU9EOztBQUVELElBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXO0FBQUEsTUFDZkMsRUFEZSxTQUNmQSxFQURlO0FBQUEsTUFFZkMsUUFGZSxTQUVmQSxRQUZlO0FBQUEsb0NBR2ZDLGtCQUhlO0FBQUEsTUFHZkEsa0JBSGUsc0NBR00sRUFITjtBQUFBLG1CQVNaRixFQVRZLGNBU05HLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZRixrQkFBWixFQUNORyxNQURNLENBQ0MsVUFBQUMsQ0FBQztBQUFBLFdBQUlKLGtCQUFrQixDQUFDSSxDQUFELENBQXRCO0FBQUEsR0FERixFQUVOQyxJQUZNLEdBR05DLElBSE0sQ0FHRCxHQUhDLENBVE07QUFBQSxDQUFqQjtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxlQUFlLEdBQUcsd0JBQzdCLGlCQVFNO0FBQUEsTUFQSlQsRUFPSSxTQVBKQSxFQU9JO0FBQUEsTUFOSkMsUUFNSSxT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TSxJQUFJLENBQUMsQ0FBRCxDQUFKLEdBQVVaLFVBQW5CLEVBQStCLENBQS9CLENBQVYsQ0FGMEMsQ0FHMUM7O0FBQ0FZLFlBQUFBLElBQUksQ0FBQyxDQUFELENBQUosSUFBV2pCLEtBQVg7QUFDRCxXQUxEO0FBTUQ7QUFDRjtBQUNGLEtBckJEO0FBdUJBLFdBQU9RLFNBQVA7QUFDRDs7QUFFRCxTQUFPVCxXQUFQO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU21CLHlCQUFULENBQW1DQyxpQkFBbkMsRUFBc0RDLGlCQUF0RCxFQUF5RTtBQUM5RSxTQUFPN0QsTUFBTSxDQUFDQyxJQUFQLENBQVkyRCxpQkFBWixFQUErQnJFLE1BQS9CLENBQ0wsVUFBQ0MsSUFBRCxFQUFPc0UsR0FBUDtBQUFBLDJDQUNLdEUsSUFETCxHQUVNcUUsaUJBQWlCLENBQUNFLGNBQWxCLENBQWlDRCxHQUFqQyx5Q0FBMENBLEdBQTFDLEVBQWdERCxpQkFBaUIsQ0FBQ0MsR0FBRCxDQUFqRSxJQUEwRSxFQUZoRjtBQUFBLEdBREssRUFLTEYsaUJBTEssQ0FBUDtBQU9EIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IG1lbW9pemUgZnJvbSAnbG9kYXNoLm1lbW9pemUnO1xuaW1wb3J0IGNsb25kRGVlcCBmcm9tICdsb2Rhc2guY2xvbmVkZWVwJztcbmltcG9ydCB7XG4gIERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICBERUZBVUxUX01BUEJPWF9BUElfVVJMLFxuICBOT19NQVBfSUQsXG4gIEVNUFRZX01BUEJPWF9TVFlMRVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0Jhc2VNYXBTdHlsZSwgTGF5ZXJHcm91cCwgTWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5jb25zdCBtYXBVcmxSZyA9IC9ebWFwYm94OlxcL1xcL3N0eWxlc1xcL1stYS16MC05XXsyLDI1Nn1cXC9bLWEtejAtOV17MiwyNTZ9LztcbmNvbnN0IGh0dHBSZyA9IC9eKD89KGh0dHA6fGh0dHBzOikpLztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRMYXllckdyb3VwVmlzaWJpbGl0eSh7bGF5ZXJHcm91cHMgPSBbXX06IHtsYXllckdyb3VwczogTGF5ZXJHcm91cFtdfSkge1xuICByZXR1cm4gbGF5ZXJHcm91cHMucmVkdWNlKFxuICAgIChhY2N1LCBsYXllcikgPT4gKHtcbiAgICAgIC4uLmFjY3UsXG4gICAgICBbbGF5ZXIuc2x1Z106IGxheWVyLmRlZmF1bHRWaXNpYmlsaXR5XG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuY29uc3QgcmVzb2x2ZXIgPSAoe1xuICBpZCxcbiAgbWFwU3R5bGUsXG4gIHZpc2libGVMYXllckdyb3VwcyA9IHt9XG59OiB7XG4gIGlkPzogc3RyaW5nO1xuICBtYXBTdHlsZTogQmFzZU1hcFN0eWxlO1xuICB2aXNpYmxlTGF5ZXJHcm91cHM6IHtbaWQ6IHN0cmluZ106IExheWVyR3JvdXAgfCBib29sZWFufSB8IGZhbHNlO1xufSkgPT5cbiAgYCR7aWR9OiR7T2JqZWN0LmtleXModmlzaWJsZUxheWVyR3JvdXBzKVxuICAgIC5maWx0ZXIoZCA9PiB2aXNpYmxlTGF5ZXJHcm91cHNbZF0pXG4gICAgLnNvcnQoKVxuICAgIC5qb2luKCctJyl9YDtcblxuLyoqXG4gKiBFZGl0IHByZXNldCBtYXAgc3R5bGUgdG8ga2VlcCBvbmx5IHZpc2libGUgbGF5ZXJzXG4gKlxuICogQHBhcmFtIG1hcFN0eWxlIC0gcHJlc2V0IG1hcCBzdHlsZVxuICogQHBhcmFtIHZpc2libGVMYXllckdyb3VwcyAtIHZpc2libGUgbGF5ZXJzIG9mIHRvcCBtYXBcbiAqIEByZXR1cm5zIHRvcCBtYXAgc3R5bGVcbiAqL1xuZXhwb3J0IGNvbnN0IGVkaXRUb3BNYXBTdHlsZSA9IG1lbW9pemUoXG4gICh7XG4gICAgaWQsXG4gICAgbWFwU3R5bGUsXG4gICAgdmlzaWJsZUxheWVyR3JvdXBzXG4gIH06IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBtYXBTdHlsZTogQmFzZU1hcFN0eWxlO1xuICAgIHZpc2libGVMYXllckdyb3Vwczoge1tpZDogc3RyaW5nXTogTGF5ZXJHcm91cCB8IGJvb2xlYW59IHwgZmFsc2U7XG4gIH0pID0+IHtcbiAgICBjb25zdCB2aXNpYmxlRmlsdGVycyA9IChtYXBTdHlsZS5sYXllckdyb3VwcyB8fCBbXSlcbiAgICAgIC5maWx0ZXIobGcgPT4gdmlzaWJsZUxheWVyR3JvdXBzW2xnLnNsdWddKVxuICAgICAgLm1hcChsZyA9PiBsZy5maWx0ZXIpO1xuXG4gICAgLy8gaWYgdG9wIG1hcFxuICAgIC8vIGtlZXAgb25seSB2aXNpYmxlIGxheWVyc1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBjb25zdCBmaWx0ZXJlZExheWVycyA9IG1hcFN0eWxlLnN0eWxlLmxheWVycy5maWx0ZXIobGF5ZXIgPT5cbiAgICAgIHZpc2libGVGaWx0ZXJzLnNvbWUobWF0Y2ggPT4gbWF0Y2gobGF5ZXIpKVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubWFwU3R5bGUuc3R5bGUsXG4gICAgICBsYXllcnM6IGZpbHRlcmVkTGF5ZXJzXG4gICAgfTtcbiAgfSxcbiAgcmVzb2x2ZXJcbik7XG5cbi8qKlxuICogRWRpdCBwcmVzZXQgbWFwIHN0eWxlIHRvIGZpbHRlciBvdXQgaW52aXNpYmxlIGxheWVyc1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBtYXBTdHlsZSAtIHByZXNldCBtYXAgc3R5bGVcbiAqIEBwYXJhbSB7T2JqZWN0fSB2aXNpYmxlTGF5ZXJHcm91cHMgLSB2aXNpYmxlIGxheWVycyBvZiBib3R0b20gbWFwXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBib3R0b20gbWFwIHN0eWxlXG4gKi9cbmV4cG9ydCBjb25zdCBlZGl0Qm90dG9tTWFwU3R5bGUgPSBtZW1vaXplKCh7aWQsIG1hcFN0eWxlLCB2aXNpYmxlTGF5ZXJHcm91cHN9KSA9PiB7XG4gIGlmIChpZCA9PT0gTk9fTUFQX0lEKSB7XG4gICAgcmV0dXJuIEVNUFRZX01BUEJPWF9TVFlMRTtcbiAgfVxuXG4gIGNvbnN0IGludmlzaWJsZUZpbHRlcnMgPSAobWFwU3R5bGUubGF5ZXJHcm91cHMgfHwgW10pXG4gICAgLmZpbHRlcihsZyA9PiAhdmlzaWJsZUxheWVyR3JvdXBzW2xnLnNsdWddKVxuICAgIC5tYXAobGcgPT4gbGcuZmlsdGVyKTtcblxuICAvLyBpZiBib3R0b20gbWFwXG4gIC8vIGZpbHRlciBvdXQgaW52aXNpYmxlIGxheWVyc1xuICBjb25zdCBmaWx0ZXJlZExheWVycyA9IG1hcFN0eWxlLnN0eWxlLmxheWVycy5maWx0ZXIobGF5ZXIgPT5cbiAgICBpbnZpc2libGVGaWx0ZXJzLmV2ZXJ5KG1hdGNoID0+ICFtYXRjaChsYXllcikpXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5tYXBTdHlsZS5zdHlsZSxcbiAgICBsYXllcnM6IGZpbHRlcmVkTGF5ZXJzXG4gIH07XG59LCByZXNvbHZlcik7XG5cbi8vIHZhbGlkIHN0eWxlIHVybFxuLy8gbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnlsMDNrcDF0dWwyc21mNXYydGJkZDRcbi8vIGxvd2VyY2FzZSBsZXR0ZXJzLCBudW1iZXJzIGFuZCBkYXNoZXMgb25seS5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkU3R5bGVVcmwodXJsKSB7XG4gIHJldHVybiB0eXBlb2YgdXJsID09PSAnc3RyaW5nJyAmJiBCb29sZWFuKHVybC5tYXRjaChtYXBVcmxSZykgfHwgdXJsLm1hdGNoKGh0dHBSZykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGVEb3dubG9hZFVybChzdHlsZVVybCwgYWNjZXNzVG9rZW4sIG1hcGJveEFwaVVybCkge1xuICBpZiAoc3R5bGVVcmwuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgcmV0dXJuIHN0eWxlVXJsO1xuICB9XG5cbiAgLy8gbWFwYm94Oi8vc3R5bGVzL2pja3IvY2poY2wwbHh2MTNkaTJycGZveXRkYmR5alxuICBpZiAoc3R5bGVVcmwuc3RhcnRzV2l0aCgnbWFwYm94Oi8vc3R5bGVzJykpIHtcbiAgICBjb25zdCBzdHlsZUlkID0gc3R5bGVVcmwucmVwbGFjZSgnbWFwYm94Oi8vc3R5bGVzLycsICcnKTtcblxuICAgIC8vIGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL2hlc2hhbjAxMzEvY2pnMWJmdW1vMWN3bTJybHJqeGtpbmZndz9wbHVnaW5OYW1lPUtlcGxlcmdsJmFjY2Vzc190b2tlbj08dG9rZW4+XG4gICAgcmV0dXJuIGAke21hcGJveEFwaVVybCB8fFxuICAgICAgREVGQVVMVF9NQVBCT1hfQVBJX1VSTH0vc3R5bGVzL3YxLyR7c3R5bGVJZH0/cGx1Z2luTmFtZT1LZXBsZXJnbCZhY2Nlc3NfdG9rZW49JHthY2Nlc3NUb2tlbn1gO1xuICB9XG5cbiAgLy8gc3R5bGUgdXJsIG5vdCByZWNvZ25pemVkXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIHN0YXRpYyBtYXAgaW1hZ2UgZnJvbSBzdHlsZSBVcmwgdG8gYmUgdXNlZCBhcyBpY29uXG4gKiBAcGFyYW0gcGFyYW1cbiAqIEBwYXJhbSBwYXJhbS5zdHlsZVVybFxuICogQHBhcmFtIHBhcmFtLm1hcGJveEFwaUFjY2Vzc1Rva2VuXG4gKiBAcGFyYW0gcGFyYW0ubWFwYm94QXBpVXJsXG4gKiBAcGFyYW0gcGFyYW0ubWFwU3RhdGVcbiAqIEBwYXJhbSBwYXJhbS5tYXBXXG4gKiBAcGFyYW0gcGFyYW0ubWFwSFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGVJbWFnZUljb24oe1xuICBzdHlsZVVybCxcbiAgbWFwYm94QXBpQWNjZXNzVG9rZW4sXG4gIG1hcGJveEFwaVVybCA9IERFRkFVTFRfTUFQQk9YX0FQSV9VUkwsXG4gIG1hcFN0YXRlID0ge1xuICAgIGxvbmdpdHVkZTogLTEyMi4zMzkxLFxuICAgIGxhdGl0dWRlOiAzNy43OTIyLFxuICAgIHpvb206IDlcbiAgfSxcbiAgbWFwVyA9IDQwMCxcbiAgbWFwSCA9IDMwMFxufToge1xuICBzdHlsZVVybDogc3RyaW5nO1xuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nO1xuICBtYXBib3hBcGlVcmw/OiBzdHJpbmc7XG4gIG1hcFN0YXRlPzogUGFydGlhbDxNYXBTdGF0ZT47XG4gIG1hcFc/OiBudW1iZXI7XG4gIG1hcEg/OiBudW1iZXI7XG59KSB7XG4gIGNvbnN0IHN0eWxlSWQgPSBzdHlsZVVybC5yZXBsYWNlKCdtYXBib3g6Ly9zdHlsZXMvJywgJycpO1xuXG4gIHJldHVybiAoXG4gICAgYCR7bWFwYm94QXBpVXJsfS9zdHlsZXMvdjEvJHtzdHlsZUlkfS9zdGF0aWMvYCArXG4gICAgYCR7bWFwU3RhdGUubG9uZ2l0dWRlfSwke21hcFN0YXRlLmxhdGl0dWRlfSwke21hcFN0YXRlLnpvb219LDAsMC9gICtcbiAgICBgJHttYXBXfXgke21hcEh9YCArXG4gICAgYD9hY2Nlc3NfdG9rZW49JHttYXBib3hBcGlBY2Nlc3NUb2tlbn0mbG9nbz1mYWxzZSZhdHRyaWJ1dGlvbj1mYWxzZWBcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24obWFwYm94U3R5bGUsIHNjYWxlKSB7XG4gIGlmIChzY2FsZSAhPT0gMSAmJiBtYXBib3hTdHlsZSkge1xuICAgIGNvbnN0IGxhYmVsTGF5ZXJHcm91cCA9IERFRkFVTFRfTEFZRVJfR1JPVVBTLmZpbmQobGcgPT4gbGcuc2x1ZyA9PT0gJ2xhYmVsJyk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHtmaWx0ZXI6IGxhYmVsTGF5ZXJGaWx0ZXJ9ID0gbGFiZWxMYXllckdyb3VwO1xuICAgIGNvbnN0IHpvb21PZmZzZXQgPSBNYXRoLmxvZzIoc2NhbGUpO1xuXG4gICAgY29uc3QgY29weVN0eWxlID0gY2xvbmREZWVwKG1hcGJveFN0eWxlKTtcbiAgICAoY29weVN0eWxlLmxheWVycyB8fCBbXSkuZm9yRWFjaChkID0+IHtcbiAgICAgIC8vIGVkaXQgbWluem9vbSBhbmQgbWF4em9vbVxuICAgICAgaWYgKGQubWF4em9vbSkge1xuICAgICAgICBkLm1heHpvb20gPSBNYXRoLm1heChkLm1heHpvb20gKyB6b29tT2Zmc2V0LCAxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGQubWluem9vbSkge1xuICAgICAgICBkLm1pbnpvb20gPSBNYXRoLm1heChkLm1pbnpvb20gKyB6b29tT2Zmc2V0LCAxKTtcbiAgICAgIH1cblxuICAgICAgLy8gZWRpdCB0ZXh0IHNpemVcbiAgICAgIGlmIChsYWJlbExheWVyRmlsdGVyKGQpKSB7XG4gICAgICAgIGlmIChkLmxheW91dCAmJiBkLmxheW91dFsndGV4dC1zaXplJ10gJiYgQXJyYXkuaXNBcnJheShkLmxheW91dFsndGV4dC1zaXplJ10uc3RvcHMpKSB7XG4gICAgICAgICAgZC5sYXlvdXRbJ3RleHQtc2l6ZSddLnN0b3BzLmZvckVhY2goc3RvcCA9PiB7XG4gICAgICAgICAgICAvLyB6b29tXG4gICAgICAgICAgICBzdG9wWzBdID0gTWF0aC5tYXgoc3RvcFswXSArIHpvb21PZmZzZXQsIDEpO1xuICAgICAgICAgICAgLy8gc2l6ZVxuICAgICAgICAgICAgc3RvcFsxXSAqPSBzY2FsZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvcHlTdHlsZTtcbiAgfVxuXG4gIHJldHVybiBtYXBib3hTdHlsZTtcbn1cblxuLyoqXG4gKiBXaGVuIHN3aXRjaCB0byBhIG5ldyBzdHlsZSwgdHJ5IHRvIGtlZXAgY3VycmVudCBsYXllciBncm91cCB2aXNpYmlsaXR5XG4gKiBieSBtZXJnaW5nIGRlZmF1bHQgYW5kIGN1cnJlbnRcbiAqIEBwYXJhbSB7T2JqZWN0fSBkZWZhdWx0TGF5ZXJHcm91cFxuICogQHBhcmFtIHtPYmplY3R9IGN1cnJlbnRMYXllckdyb3VwXG4gKiBAcmV0dXJuIHtPYmplY3R9IG1lcmdlZExheWVyR3JvdXBzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUxheWVyR3JvdXBWaXNpYmlsaXR5KGRlZmF1bHRMYXllckdyb3VwLCBjdXJyZW50TGF5ZXJHcm91cCkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoZGVmYXVsdExheWVyR3JvdXApLnJlZHVjZShcbiAgICAoYWNjdSwga2V5KSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIC4uLihjdXJyZW50TGF5ZXJHcm91cC5oYXNPd25Qcm9wZXJ0eShrZXkpID8ge1trZXldOiBjdXJyZW50TGF5ZXJHcm91cFtrZXldfSA6IHt9KVxuICAgIH0pLFxuICAgIGRlZmF1bHRMYXllckdyb3VwXG4gICk7XG59XG4iXX0=
|
@@ -1,9 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Determines whether a Map Style is using Mapbox Tiles
|
3
|
-
* @param {any} mapStyle the mapStyle to check
|
4
|
-
* @returns true if the style is using Mapbox tiles
|
5
|
-
*/
|
6
|
-
export declare function isStyleUsingMapboxTiles(mapStyle: any): boolean;
|
7
|
-
export declare const transformRequest: (url: string) => {
|
8
|
-
url: string;
|
9
|
-
};
|
@@ -1,48 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.isStyleUsingMapboxTiles = isStyleUsingMapboxTiles;
|
7
|
-
exports.transformRequest = void 0;
|
8
|
-
|
9
|
-
// SPDX-License-Identifier: MIT
|
10
|
-
// Copyright contributors to the kepler.gl project
|
11
|
-
|
12
|
-
/**
|
13
|
-
* Determines whether a Map Style is using Mapbox Tiles
|
14
|
-
* @param {any} mapStyle the mapStyle to check
|
15
|
-
* @returns true if the style is using Mapbox tiles
|
16
|
-
*/
|
17
|
-
function isStyleUsingMapboxTiles(mapStyle) {
|
18
|
-
var _mapStyle$stylesheet;
|
19
|
-
|
20
|
-
var sources = ((_mapStyle$stylesheet = mapStyle.stylesheet) === null || _mapStyle$stylesheet === void 0 ? void 0 : _mapStyle$stylesheet.sources) || {};
|
21
|
-
return Object.keys(sources).some(function (sourceId) {
|
22
|
-
var _ref = sources[sourceId] || {},
|
23
|
-
url = _ref.url,
|
24
|
-
tiles = _ref.tiles;
|
25
|
-
|
26
|
-
if (url) {
|
27
|
-
return url.toLowerCase().startsWith('mapbox://');
|
28
|
-
}
|
29
|
-
|
30
|
-
if (tiles) {
|
31
|
-
return tiles.some(function (tileUrl) {
|
32
|
-
return tileUrl.toLowerCase().startsWith('mapbox://');
|
33
|
-
});
|
34
|
-
}
|
35
|
-
|
36
|
-
return false;
|
37
|
-
});
|
38
|
-
}
|
39
|
-
|
40
|
-
var transformRequest = function transformRequest(url) {
|
41
|
-
var isMapboxRequest = url.slice(8, 22) === 'api.mapbox.com' || url.slice(10, 26) === 'tiles.mapbox.com';
|
42
|
-
return {
|
43
|
-
url: isMapboxRequest ? url.replace('?', '?pluginName=Keplergl&') : url
|
44
|
-
};
|
45
|
-
};
|
46
|
-
|
47
|
-
exports.transformRequest = transformRequest;
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LXV0aWxzLnRzIl0sIm5hbWVzIjpbImlzU3R5bGVVc2luZ01hcGJveFRpbGVzIiwibWFwU3R5bGUiLCJzb3VyY2VzIiwic3R5bGVzaGVldCIsIk9iamVjdCIsImtleXMiLCJzb21lIiwic291cmNlSWQiLCJ1cmwiLCJ0aWxlcyIsInRvTG93ZXJDYXNlIiwic3RhcnRzV2l0aCIsInRpbGVVcmwiLCJ0cmFuc2Zvcm1SZXF1ZXN0IiwiaXNNYXBib3hSZXF1ZXN0Iiwic2xpY2UiLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNBLHVCQUFULENBQWlDQyxRQUFqQyxFQUEyQztBQUFBOztBQUNoRCxNQUFNQyxPQUFPLEdBQUcseUJBQUFELFFBQVEsQ0FBQ0UsVUFBVCw4RUFBcUJELE9BQXJCLEtBQWdDLEVBQWhEO0FBRUEsU0FBT0UsTUFBTSxDQUFDQyxJQUFQLENBQVlILE9BQVosRUFBcUJJLElBQXJCLENBQTBCLFVBQUFDLFFBQVEsRUFBSTtBQUFBLGVBQ3RCTCxPQUFPLENBQUNLLFFBQUQsQ0FBUCxJQUFxQixFQURDO0FBQUEsUUFDcENDLEdBRG9DLFFBQ3BDQSxHQURvQztBQUFBLFFBQy9CQyxLQUQrQixRQUMvQkEsS0FEK0I7O0FBRzNDLFFBQUlELEdBQUosRUFBUztBQUNQLGFBQU9BLEdBQUcsQ0FBQ0UsV0FBSixHQUFrQkMsVUFBbEIsQ0FBNkIsV0FBN0IsQ0FBUDtBQUNEOztBQUVELFFBQUlGLEtBQUosRUFBVztBQUNULGFBQU9BLEtBQUssQ0FBQ0gsSUFBTixDQUFXLFVBQUFNLE9BQU87QUFBQSxlQUFJQSxPQUFPLENBQUNGLFdBQVIsR0FBc0JDLFVBQXRCLENBQWlDLFdBQWpDLENBQUo7QUFBQSxPQUFsQixDQUFQO0FBQ0Q7O0FBRUQsV0FBTyxLQUFQO0FBQ0QsR0FaTSxDQUFQO0FBYUQ7O0FBRU0sSUFBTUUsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDTCxHQUFELEVBQWdDO0FBQzlELE1BQU1NLGVBQWUsR0FDbkJOLEdBQUcsQ0FBQ08sS0FBSixDQUFVLENBQVYsRUFBYSxFQUFiLE1BQXFCLGdCQUFyQixJQUF5Q1AsR0FBRyxDQUFDTyxLQUFKLENBQVUsRUFBVixFQUFjLEVBQWQsTUFBc0Isa0JBRGpFO0FBR0EsU0FBTztBQUNMUCxJQUFBQSxHQUFHLEVBQUVNLGVBQWUsR0FBR04sR0FBRyxDQUFDUSxPQUFKLENBQVksR0FBWixFQUFpQix1QkFBakIsQ0FBSCxHQUErQ1I7QUFEOUQsR0FBUDtBQUdELENBUE0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIE1hcCBTdHlsZSBpcyB1c2luZyBNYXBib3ggVGlsZXNcbiAqIEBwYXJhbSB7YW55fSBtYXBTdHlsZSB0aGUgbWFwU3R5bGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHN0eWxlIGlzIHVzaW5nIE1hcGJveCB0aWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdHlsZVVzaW5nTWFwYm94VGlsZXMobWFwU3R5bGUpIHtcbiAgY29uc3Qgc291cmNlcyA9IG1hcFN0eWxlLnN0eWxlc2hlZXQ/LnNvdXJjZXMgfHwge307XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHNvdXJjZXMpLnNvbWUoc291cmNlSWQgPT4ge1xuICAgIGNvbnN0IHt1cmwsIHRpbGVzfSA9IHNvdXJjZXNbc291cmNlSWRdIHx8IHt9O1xuXG4gICAgaWYgKHVybCkge1xuICAgICAgcmV0dXJuIHVybC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ21hcGJveDovLycpO1xuICAgIH1cblxuICAgIGlmICh0aWxlcykge1xuICAgICAgcmV0dXJuIHRpbGVzLnNvbWUodGlsZVVybCA9PiB0aWxlVXJsLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnbWFwYm94Oi8vJykpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1SZXF1ZXN0ID0gKHVybDogc3RyaW5nKToge3VybDogc3RyaW5nfSA9PiB7XG4gIGNvbnN0IGlzTWFwYm94UmVxdWVzdCA9XG4gICAgdXJsLnNsaWNlKDgsIDIyKSA9PT0gJ2FwaS5tYXBib3guY29tJyB8fCB1cmwuc2xpY2UoMTAsIDI2KSA9PT0gJ3RpbGVzLm1hcGJveC5jb20nO1xuXG4gIHJldHVybiB7XG4gICAgdXJsOiBpc01hcGJveFJlcXVlc3QgPyB1cmwucmVwbGFjZSgnPycsICc/cGx1Z2luTmFtZT1LZXBsZXJnbCYnKSA6IHVybFxuICB9O1xufTtcbiJdfQ==
|
package/dist/map-utils.d.ts
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
import { SplitMapLayers, SplitMap, Viewport, MapState } from '@kepler.gl/types';
|
2
|
-
export declare const onViewPortChange: (viewState: Viewport, onUpdateMap: (next: any, mapIndex: number) => any, onViewStateChange?: ((next: any) => void | null) | undefined, primary?: boolean, mapIndex?: number) => void;
|
3
|
-
export declare const getMapLayersFromSplitMaps: (splitMaps: SplitMap[], mapIndex?: number | undefined) => SplitMapLayers | undefined | null;
|
4
|
-
/**
|
5
|
-
* Generates a viewport from a map state.
|
6
|
-
* @param {*} mapState
|
7
|
-
* @returns A viewport.
|
8
|
-
*/
|
9
|
-
export declare const getViewportFromMapState: (mapState: MapState) => Viewport;
|
package/dist/map-utils.js
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.getViewportFromMapState = exports.getMapLayersFromSplitMaps = exports.onViewPortChange = void 0;
|
9
|
-
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
-
|
12
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
13
|
-
|
14
|
-
var _viewportMercatorProject = _interopRequireDefault(require("viewport-mercator-project"));
|
15
|
-
|
16
|
-
var _constants = require("@kepler.gl/constants");
|
17
|
-
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
21
|
-
|
22
|
-
var onViewPortChange = function onViewPortChange(viewState, onUpdateMap, onViewStateChange) {
|
23
|
-
var primary = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
24
|
-
var mapIndex = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
|
25
|
-
var _viewState$width = viewState.width,
|
26
|
-
width = _viewState$width === void 0 ? 0 : _viewState$width,
|
27
|
-
_viewState$height = viewState.height,
|
28
|
-
height = _viewState$height === void 0 ? 0 : _viewState$height,
|
29
|
-
restViewState = (0, _objectWithoutProperties2["default"])(viewState, ["width", "height"]); // react-map-gl sends 0,0 dimensions during initialization
|
30
|
-
// after we have received proper dimensions from observeDimensions
|
31
|
-
|
32
|
-
var next = _objectSpread(_objectSpread({}, width > 0 && height > 0 ? viewState : restViewState), {}, {
|
33
|
-
// enabling transition in two maps may lead to endless update loops
|
34
|
-
transitionDuration: primary ? _constants.TRANSITION_DURATION : 0
|
35
|
-
});
|
36
|
-
|
37
|
-
if (onViewStateChange && typeof onViewStateChange === 'function') {
|
38
|
-
onViewStateChange(next);
|
39
|
-
}
|
40
|
-
|
41
|
-
onUpdateMap(next, mapIndex);
|
42
|
-
};
|
43
|
-
|
44
|
-
exports.onViewPortChange = onViewPortChange;
|
45
|
-
|
46
|
-
var getMapLayersFromSplitMaps = function getMapLayersFromSplitMaps(splitMaps, mapIndex) {
|
47
|
-
var _splitMaps;
|
48
|
-
|
49
|
-
return (_splitMaps = splitMaps[mapIndex || 0]) === null || _splitMaps === void 0 ? void 0 : _splitMaps.layers;
|
50
|
-
};
|
51
|
-
/**
|
52
|
-
* Generates a viewport from a map state.
|
53
|
-
* @param {*} mapState
|
54
|
-
* @returns A viewport.
|
55
|
-
*/
|
56
|
-
|
57
|
-
|
58
|
-
exports.getMapLayersFromSplitMaps = getMapLayersFromSplitMaps;
|
59
|
-
|
60
|
-
var getViewportFromMapState = function getViewportFromMapState(mapState) {
|
61
|
-
return new _viewportMercatorProject["default"](mapState);
|
62
|
-
};
|
63
|
-
|
64
|
-
exports.getViewportFromMapState = getViewportFromMapState;
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXAtdXRpbHMudHMiXSwibmFtZXMiOlsib25WaWV3UG9ydENoYW5nZSIsInZpZXdTdGF0ZSIsIm9uVXBkYXRlTWFwIiwib25WaWV3U3RhdGVDaGFuZ2UiLCJwcmltYXJ5IiwibWFwSW5kZXgiLCJ3aWR0aCIsImhlaWdodCIsInJlc3RWaWV3U3RhdGUiLCJuZXh0IiwidHJhbnNpdGlvbkR1cmF0aW9uIiwiVFJBTlNJVElPTl9EVVJBVElPTiIsImdldE1hcExheWVyc0Zyb21TcGxpdE1hcHMiLCJzcGxpdE1hcHMiLCJsYXllcnMiLCJnZXRWaWV3cG9ydEZyb21NYXBTdGF0ZSIsIm1hcFN0YXRlIiwiV2ViTWVyY2F0b3JWaWV3cG9ydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBOztBQUVBOzs7Ozs7QUFHTyxJQUFNQSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQzlCQyxTQUQ4QixFQUU5QkMsV0FGOEIsRUFHOUJDLGlCQUg4QixFQU1yQjtBQUFBLE1BRlRDLE9BRVMsdUVBRlUsS0FFVjtBQUFBLE1BRFRDLFFBQ1MsdUVBRFUsQ0FDVjtBQUFBLHlCQUN5Q0osU0FEekMsQ0FDRkssS0FERTtBQUFBLE1BQ0ZBLEtBREUsaUNBQ00sQ0FETjtBQUFBLDBCQUN5Q0wsU0FEekMsQ0FDU00sTUFEVDtBQUFBLE1BQ1NBLE1BRFQsa0NBQ2tCLENBRGxCO0FBQUEsTUFDd0JDLGFBRHhCLDZDQUN5Q1AsU0FEekMsd0JBRVQ7QUFDQTs7QUFDQSxNQUFNUSxJQUFJLG1DQUNKSCxLQUFLLEdBQUcsQ0FBUixJQUFhQyxNQUFNLEdBQUcsQ0FBdEIsR0FBMEJOLFNBQTFCLEdBQXNDTyxhQURsQztBQUVSO0FBQ0FFLElBQUFBLGtCQUFrQixFQUFFTixPQUFPLEdBQUdPLDhCQUFILEdBQXlCO0FBSDVDLElBQVY7O0FBS0EsTUFBSVIsaUJBQWlCLElBQUksT0FBT0EsaUJBQVAsS0FBNkIsVUFBdEQsRUFBa0U7QUFDaEVBLElBQUFBLGlCQUFpQixDQUFDTSxJQUFELENBQWpCO0FBQ0Q7O0FBRURQLEVBQUFBLFdBQVcsQ0FBQ08sSUFBRCxFQUFPSixRQUFQLENBQVg7QUFDRCxDQXBCTTs7OztBQXNCQSxJQUFNTyx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQTRCLENBQ3ZDQyxTQUR1QyxFQUV2Q1IsUUFGdUMsRUFHRDtBQUFBOztBQUN0Qyx1QkFBT1EsU0FBUyxDQUFDUixRQUFRLElBQUksQ0FBYixDQUFoQiwrQ0FBTyxXQUEwQlMsTUFBakM7QUFDRCxDQUxNO0FBT1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFDTyxJQUFNQyx1QkFBdUIsR0FBRyxTQUExQkEsdUJBQTBCLENBQUNDLFFBQUQsRUFBa0M7QUFDdkUsU0FBTyxJQUFJQyxtQ0FBSixDQUF3QkQsUUFBeEIsQ0FBUDtBQUNELENBRk0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgV2ViTWVyY2F0b3JWaWV3cG9ydCBmcm9tICd2aWV3cG9ydC1tZXJjYXRvci1wcm9qZWN0JztcblxuaW1wb3J0IHtUUkFOU0lUSU9OX0RVUkFUSU9OfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1NwbGl0TWFwTGF5ZXJzLCBTcGxpdE1hcCwgVmlld3BvcnQsIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IG9uVmlld1BvcnRDaGFuZ2UgPSAoXG4gIHZpZXdTdGF0ZTogVmlld3BvcnQsXG4gIG9uVXBkYXRlTWFwOiAobmV4dDogYW55LCBtYXBJbmRleDogbnVtYmVyKSA9PiBhbnksXG4gIG9uVmlld1N0YXRlQ2hhbmdlPzogKG5leHQ6IGFueSkgPT4gdm9pZCB8IG51bGwsXG4gIHByaW1hcnk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgbWFwSW5kZXg6IG51bWJlciA9IDBcbik6IHZvaWQgPT4ge1xuICBjb25zdCB7d2lkdGggPSAwLCBoZWlnaHQgPSAwLCAuLi5yZXN0Vmlld1N0YXRlfSA9IHZpZXdTdGF0ZTtcbiAgLy8gcmVhY3QtbWFwLWdsIHNlbmRzIDAsMCBkaW1lbnNpb25zIGR1cmluZyBpbml0aWFsaXphdGlvblxuICAvLyBhZnRlciB3ZSBoYXZlIHJlY2VpdmVkIHByb3BlciBkaW1lbnNpb25zIGZyb20gb2JzZXJ2ZURpbWVuc2lvbnNcbiAgY29uc3QgbmV4dCA9IHtcbiAgICAuLi4od2lkdGggPiAwICYmIGhlaWdodCA+IDAgPyB2aWV3U3RhdGUgOiByZXN0Vmlld1N0YXRlKSxcbiAgICAvLyBlbmFibGluZyB0cmFuc2l0aW9uIGluIHR3byBtYXBzIG1heSBsZWFkIHRvIGVuZGxlc3MgdXBkYXRlIGxvb3BzXG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBwcmltYXJ5ID8gVFJBTlNJVElPTl9EVVJBVElPTiA6IDBcbiAgfTtcbiAgaWYgKG9uVmlld1N0YXRlQ2hhbmdlICYmIHR5cGVvZiBvblZpZXdTdGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG9uVmlld1N0YXRlQ2hhbmdlKG5leHQpO1xuICB9XG5cbiAgb25VcGRhdGVNYXAobmV4dCwgbWFwSW5kZXgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE1hcExheWVyc0Zyb21TcGxpdE1hcHMgPSAoXG4gIHNwbGl0TWFwczogU3BsaXRNYXBbXSxcbiAgbWFwSW5kZXg/OiBudW1iZXJcbik6IFNwbGl0TWFwTGF5ZXJzIHwgdW5kZWZpbmVkIHwgbnVsbCA9PiB7XG4gIHJldHVybiBzcGxpdE1hcHNbbWFwSW5kZXggfHwgMF0/LmxheWVycztcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgdmlld3BvcnQgZnJvbSBhIG1hcCBzdGF0ZS5cbiAqIEBwYXJhbSB7Kn0gbWFwU3RhdGVcbiAqIEByZXR1cm5zIEEgdmlld3BvcnQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWaWV3cG9ydEZyb21NYXBTdGF0ZSA9IChtYXBTdGF0ZTogTWFwU3RhdGUpOiBWaWV3cG9ydCA9PiB7XG4gIHJldHVybiBuZXcgV2ViTWVyY2F0b3JWaWV3cG9ydChtYXBTdGF0ZSk7XG59O1xuIl19
|
package/dist/mapbox-utils.d.ts
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* This method validates mapbox token.
|
3
|
-
* This token provides a simple synchronous validation
|
4
|
-
* @param {string} token the Mapbox token to validate
|
5
|
-
* @return {boolean} true if token is valid, false otherwise
|
6
|
-
*/
|
7
|
-
export declare const validateToken: (token: string) => boolean;
|
package/dist/mapbox-utils.js
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.validateToken = void 0;
|
7
|
-
|
8
|
-
// SPDX-License-Identifier: MIT
|
9
|
-
// Copyright contributors to the kepler.gl project
|
10
|
-
|
11
|
-
/**
|
12
|
-
* This method validates mapbox token.
|
13
|
-
* This token provides a simple synchronous validation
|
14
|
-
* @param {string} token the Mapbox token to validate
|
15
|
-
* @return {boolean} true if token is valid, false otherwise
|
16
|
-
*/
|
17
|
-
var validateToken = function validateToken(token) {
|
18
|
-
return (token || '') !== '';
|
19
|
-
};
|
20
|
-
|
21
|
-
exports.validateToken = validateToken;
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXBib3gtdXRpbHMudHMiXSwibmFtZXMiOlsidmFsaWRhdGVUb2tlbiIsInRva2VuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNQSxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLEtBQUQ7QUFBQSxTQUE0QixDQUFDQSxLQUFLLElBQUksRUFBVixNQUFrQixFQUE5QztBQUFBLENBQXRCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCB2YWxpZGF0ZXMgbWFwYm94IHRva2VuLlxuICogVGhpcyB0b2tlbiBwcm92aWRlcyBhIHNpbXBsZSBzeW5jaHJvbm91cyB2YWxpZGF0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9rZW4gdGhlIE1hcGJveCB0b2tlbiB0byB2YWxpZGF0ZVxuICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZSBpZiB0b2tlbiBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVRva2VuID0gKHRva2VuOiBzdHJpbmcpOiBib29sZWFuID0+ICh0b2tlbiB8fCAnJykgIT09ICcnO1xuIl19
|
package/dist/noop.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export default function noop(): void;
|
package/dist/noop.js
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports["default"] = noop;
|
7
|
-
|
8
|
-
// SPDX-License-Identifier: MIT
|
9
|
-
// Copyright contributors to the kepler.gl project
|
10
|
-
function noop() {}
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub29wLnRzIl0sIm5hbWVzIjpbIm5vb3AiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBRWUsU0FBU0EsSUFBVCxHQUFnQixDQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbm9vcCgpIHt9XG4iXX0=
|
@@ -1,42 +0,0 @@
|
|
1
|
-
export declare type Notification = Record<string, any> & {
|
2
|
-
id: string;
|
3
|
-
message: string;
|
4
|
-
type: 'info' | 'error' | 'warning' | 'success';
|
5
|
-
topic: 'global' | 'file';
|
6
|
-
count: number;
|
7
|
-
};
|
8
|
-
/**
|
9
|
-
* Creates a notification
|
10
|
-
*/
|
11
|
-
export declare function createNotification({ message, type, topic, id, count, ...options }: Partial<Notification>): Notification;
|
12
|
-
/**
|
13
|
-
* Creates an error notification
|
14
|
-
* @param options
|
15
|
-
* @returns {{topic, id, message, type: (null|number)}}
|
16
|
-
*/
|
17
|
-
export declare const errorNotification: (options: any) => {
|
18
|
-
type: "error";
|
19
|
-
id: string;
|
20
|
-
message: string;
|
21
|
-
topic: 'global' | 'file';
|
22
|
-
count: number;
|
23
|
-
};
|
24
|
-
/**
|
25
|
-
* Creates a success notification
|
26
|
-
* @param options
|
27
|
-
* @returns {{topic, id, message, type: null}}
|
28
|
-
*/
|
29
|
-
export declare const successNotification: (options: any) => {
|
30
|
-
type: "success";
|
31
|
-
id: string;
|
32
|
-
message: string;
|
33
|
-
topic: 'global' | 'file';
|
34
|
-
count: number;
|
35
|
-
};
|
36
|
-
export declare const exportImageError: (options: any) => {
|
37
|
-
type: "error";
|
38
|
-
id: string;
|
39
|
-
message: string;
|
40
|
-
topic: 'global' | 'file';
|
41
|
-
count: number;
|
42
|
-
};
|
@@ -1,85 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.createNotification = createNotification;
|
9
|
-
exports.exportImageError = exports.successNotification = exports.errorNotification = void 0;
|
10
|
-
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
12
|
-
|
13
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
14
|
-
|
15
|
-
var _utils = require("./utils");
|
16
|
-
|
17
|
-
var _constants = require("@kepler.gl/constants");
|
18
|
-
|
19
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
20
|
-
|
21
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
22
|
-
|
23
|
-
/**
|
24
|
-
* Creates a notification
|
25
|
-
*/
|
26
|
-
function createNotification(_ref) {
|
27
|
-
var _ref$message = _ref.message,
|
28
|
-
message = _ref$message === void 0 ? _constants.DEFAULT_NOTIFICATION_MESSAGE : _ref$message,
|
29
|
-
_ref$type = _ref.type,
|
30
|
-
type = _ref$type === void 0 ? _constants.DEFAULT_NOTIFICATION_TYPES.info : _ref$type,
|
31
|
-
_ref$topic = _ref.topic,
|
32
|
-
topic = _ref$topic === void 0 ? _constants.DEFAULT_NOTIFICATION_TOPICS.global : _ref$topic,
|
33
|
-
_ref$id = _ref.id,
|
34
|
-
id = _ref$id === void 0 ? (0, _utils.generateHashId)(_constants.DEFAULT_UUID_COUNT) : _ref$id,
|
35
|
-
_ref$count = _ref.count,
|
36
|
-
count = _ref$count === void 0 ? 1 : _ref$count,
|
37
|
-
options = (0, _objectWithoutProperties2["default"])(_ref, ["message", "type", "topic", "id", "count"]);
|
38
|
-
return _objectSpread(_objectSpread({}, options), {}, {
|
39
|
-
id: id,
|
40
|
-
message: message,
|
41
|
-
type: type,
|
42
|
-
topic: topic,
|
43
|
-
count: count > 99 ? 99 : count // no more than 2 digits
|
44
|
-
|
45
|
-
});
|
46
|
-
}
|
47
|
-
/**
|
48
|
-
* Creates an error notification
|
49
|
-
* @param options
|
50
|
-
* @returns {{topic, id, message, type: (null|number)}}
|
51
|
-
*/
|
52
|
-
|
53
|
-
|
54
|
-
var errorNotification = function errorNotification(options) {
|
55
|
-
return _objectSpread(_objectSpread({}, createNotification(options)), {}, {
|
56
|
-
type: _constants.DEFAULT_NOTIFICATION_TYPES.error
|
57
|
-
});
|
58
|
-
};
|
59
|
-
/**
|
60
|
-
* Creates a success notification
|
61
|
-
* @param options
|
62
|
-
* @returns {{topic, id, message, type: null}}
|
63
|
-
*/
|
64
|
-
|
65
|
-
|
66
|
-
exports.errorNotification = errorNotification;
|
67
|
-
|
68
|
-
var successNotification = function successNotification(options) {
|
69
|
-
return _objectSpread(_objectSpread({}, createNotification(options)), {}, {
|
70
|
-
type: _constants.DEFAULT_NOTIFICATION_TYPES.success
|
71
|
-
});
|
72
|
-
};
|
73
|
-
|
74
|
-
exports.successNotification = successNotification;
|
75
|
-
|
76
|
-
var exportImageError = function exportImageError(options) {
|
77
|
-
return errorNotification(_objectSpread(_objectSpread({}, options), {}, {
|
78
|
-
id: 'EXPORT_IMAGE_ERROR_ID',
|
79
|
-
topic: _constants.DEFAULT_NOTIFICATION_TOPICS.global,
|
80
|
-
message: "Failed to export image, please take a screenshot of the javascript console, report the with [this link](".concat(_constants.BUG_REPORT_LINK, ") ")
|
81
|
-
}));
|
82
|
-
};
|
83
|
-
|
84
|
-
exports.exportImageError = exportImageError;
|
85
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub3RpZmljYXRpb25zLXV0aWxzLnRzIl0sIm5hbWVzIjpbImNyZWF0ZU5vdGlmaWNhdGlvbiIsIm1lc3NhZ2UiLCJERUZBVUxUX05PVElGSUNBVElPTl9NRVNTQUdFIiwidHlwZSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsInRvcGljIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTIiwiZ2xvYmFsIiwiaWQiLCJERUZBVUxUX1VVSURfQ09VTlQiLCJjb3VudCIsIm9wdGlvbnMiLCJlcnJvck5vdGlmaWNhdGlvbiIsImVycm9yIiwic3VjY2Vzc05vdGlmaWNhdGlvbiIsInN1Y2Nlc3MiLCJleHBvcnRJbWFnZUVycm9yIiwiQlVHX1JFUE9SVF9MSU5LIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUdBOztBQUVBOzs7Ozs7QUFnQkE7QUFDQTtBQUNBO0FBQ08sU0FBU0Esa0JBQVQsT0FPaUM7QUFBQSwwQkFOdENDLE9BTXNDO0FBQUEsTUFOdENBLE9BTXNDLDZCQU41QkMsdUNBTTRCO0FBQUEsdUJBTHRDQyxJQUtzQztBQUFBLE1BTHRDQSxJQUtzQywwQkFML0JDLHNDQUEyQkMsSUFLSTtBQUFBLHdCQUp0Q0MsS0FJc0M7QUFBQSxNQUp0Q0EsS0FJc0MsMkJBSjlCQyx1Q0FBNEJDLE1BSUU7QUFBQSxxQkFIdENDLEVBR3NDO0FBQUEsTUFIdENBLEVBR3NDLHdCQUhqQywyQkFBZUMsNkJBQWYsQ0FHaUM7QUFBQSx3QkFGdENDLEtBRXNDO0FBQUEsTUFGdENBLEtBRXNDLDJCQUY5QixDQUU4QjtBQUFBLE1BRG5DQyxPQUNtQztBQUN0Qyx5Q0FDS0EsT0FETDtBQUVFSCxJQUFBQSxFQUFFLEVBQUZBLEVBRkY7QUFHRVIsSUFBQUEsT0FBTyxFQUFQQSxPQUhGO0FBSUVFLElBQUFBLElBQUksRUFBSkEsSUFKRjtBQUtFRyxJQUFBQSxLQUFLLEVBQUxBLEtBTEY7QUFNRUssSUFBQUEsS0FBSyxFQUFFQSxLQUFLLEdBQUcsRUFBUixHQUFhLEVBQWIsR0FBa0JBLEtBTjNCLENBTWlDOztBQU5qQztBQVFEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUUsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUFBRCxPQUFPO0FBQUEseUNBQ25DWixrQkFBa0IsQ0FBQ1ksT0FBRCxDQURpQjtBQUV0Q1QsSUFBQUEsSUFBSSxFQUFFQyxzQ0FBMkJVO0FBRks7QUFBQSxDQUFqQztBQUtQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixDQUFBSCxPQUFPO0FBQUEseUNBQ3JDWixrQkFBa0IsQ0FBQ1ksT0FBRCxDQURtQjtBQUV4Q1QsSUFBQUEsSUFBSSxFQUFFQyxzQ0FBMkJZO0FBRk87QUFBQSxDQUFuQzs7OztBQUtBLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQUwsT0FBTztBQUFBLFNBQ3JDQyxpQkFBaUIsaUNBQ1pELE9BRFk7QUFFZkgsSUFBQUEsRUFBRSxFQUFFLHVCQUZXO0FBR2ZILElBQUFBLEtBQUssRUFBRUMsdUNBQTRCQyxNQUhwQjtBQUlmUCxJQUFBQSxPQUFPLG9IQUE2R2lCLDBCQUE3RztBQUpRLEtBRG9CO0FBQUEsQ0FBaEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2dlbmVyYXRlSGFzaElkfSBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSxcbiAgREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTLFxuICBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyxcbiAgREVGQVVMVF9VVUlEX0NPVU5ULFxuICBCVUdfUkVQT1JUX0xJTktcbn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb24gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xuICBpZDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHR5cGU6ICdpbmZvJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnc3VjY2Vzcyc7XG4gIHRvcGljOiAnZ2xvYmFsJyB8ICdmaWxlJztcbiAgY291bnQ6IG51bWJlcjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5vdGlmaWNhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTm90aWZpY2F0aW9uKHtcbiAgbWVzc2FnZSA9IERFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UsXG4gIHR5cGUgPSBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUy5pbmZvLFxuICB0b3BpYyA9IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUy5nbG9iYWwsXG4gIGlkID0gZ2VuZXJhdGVIYXNoSWQoREVGQVVMVF9VVUlEX0NPVU5UKSxcbiAgY291bnQgPSAxLFxuICAuLi5vcHRpb25zXG59OiBQYXJ0aWFsPE5vdGlmaWNhdGlvbj4pOiBOb3RpZmljYXRpb24ge1xuICByZXR1cm4ge1xuICAgIC4uLm9wdGlvbnMsXG4gICAgaWQsXG4gICAgbWVzc2FnZSxcbiAgICB0eXBlLFxuICAgIHRvcGljLFxuICAgIGNvdW50OiBjb3VudCA+IDk5ID8gOTkgOiBjb3VudCAvLyBubyBtb3JlIHRoYW4gMiBkaWdpdHNcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVycm9yIG5vdGlmaWNhdGlvblxuICogQHBhcmFtIG9wdGlvbnNcbiAqIEByZXR1cm5zIHt7dG9waWMsIGlkLCBtZXNzYWdlLCB0eXBlOiAobnVsbHxudW1iZXIpfX1cbiAqL1xuZXhwb3J0IGNvbnN0IGVycm9yTm90aWZpY2F0aW9uID0gb3B0aW9ucyA9PiAoe1xuICAuLi5jcmVhdGVOb3RpZmljYXRpb24ob3B0aW9ucyksXG4gIHR5cGU6IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTLmVycm9yXG59KTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgc3VjY2VzcyBub3RpZmljYXRpb25cbiAqIEBwYXJhbSBvcHRpb25zXG4gKiBAcmV0dXJucyB7e3RvcGljLCBpZCwgbWVzc2FnZSwgdHlwZTogbnVsbH19XG4gKi9cbmV4cG9ydCBjb25zdCBzdWNjZXNzTm90aWZpY2F0aW9uID0gb3B0aW9ucyA9PiAoe1xuICAuLi5jcmVhdGVOb3RpZmljYXRpb24ob3B0aW9ucyksXG4gIHR5cGU6IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTLnN1Y2Nlc3Ncbn0pO1xuXG5leHBvcnQgY29uc3QgZXhwb3J0SW1hZ2VFcnJvciA9IG9wdGlvbnMgPT5cbiAgZXJyb3JOb3RpZmljYXRpb24oe1xuICAgIC4uLm9wdGlvbnMsXG4gICAgaWQ6ICdFWFBPUlRfSU1BR0VfRVJST1JfSUQnLFxuICAgIHRvcGljOiBERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MuZ2xvYmFsLFxuICAgIG1lc3NhZ2U6IGBGYWlsZWQgdG8gZXhwb3J0IGltYWdlLCBwbGVhc2UgdGFrZSBhIHNjcmVlbnNob3Qgb2YgdGhlIGphdmFzY3JpcHQgY29uc29sZSwgcmVwb3J0IHRoZSB3aXRoIFt0aGlzIGxpbmtdKCR7QlVHX1JFUE9SVF9MSU5LfSkgYFxuICB9KTtcbiJdfQ==
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { RefObject } from 'react';
|
2
|
-
export interface Dimensions {
|
3
|
-
readonly height: number;
|
4
|
-
readonly width: number;
|
5
|
-
}
|
6
|
-
export declare function observeDimensions(target: Element, handleResize: (size: Dimensions | null) => void, throttleDelay?: number): void;
|
7
|
-
export declare function unobserveDimensions(target: Element): void;
|
8
|
-
/**
|
9
|
-
* Usage example:
|
10
|
-
* const [ref, dimensions] = useDimensions<HTMLDivElement>();
|
11
|
-
*
|
12
|
-
* @param throttleDelay
|
13
|
-
* @returns
|
14
|
-
*/
|
15
|
-
export default function useDimensions<T extends Element>(nodeRef?: RefObject<T>, throttleDelay?: number): [RefObject<T>, Dimensions | null];
|