@carto/kepler.gl 0.0.65-alpha.labels → 0.0.65-alpha.labels.3
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/dist/components/map-container.js +2 -1
- package/dist/constants/default-settings.js +2 -2
- package/dist/deckgl-layers/point-label-layer/point-label-layer.js +233 -0
- package/dist/index.js +12 -2
- package/dist/layers/base-layer.js +116 -223
- package/dist/layers/layer-factory.js +2 -2
- package/dist/layers/layer-text-label.js +9 -32
- package/dist/layers/point-layer/point-layer.js +4 -7
- package/package.json +1 -1
- package/src/components/map-container.js +1 -0
- package/src/deckgl-layers/point-label-layer/point-label-layer.js +173 -0
- package/src/index.js +3 -0
- package/src/layers/base-layer.js +75 -144
- package/src/layers/layer-factory.js +1 -1
- package/src/layers/layer-text-label.js +11 -48
- package/src/layers/point-layer/point-layer.js +5 -14
- package/CHANGELOG.md +0 -899
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.PointLabelLayer = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _core = require("@deck.gl/core");
|
|
23
|
+
|
|
24
|
+
var _layers = require("@deck.gl/layers");
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
31
|
+
|
|
32
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
33
|
+
|
|
34
|
+
// TODO remove prior to release
|
|
35
|
+
var SHOW_TEXT_BORDER = false;
|
|
36
|
+
var LEFT = 0,
|
|
37
|
+
TOP = 1,
|
|
38
|
+
RIGHT = 2,
|
|
39
|
+
BOTTOM = 3;
|
|
40
|
+
|
|
41
|
+
var EnhancedTextLayer = /*#__PURE__*/function (_TextLayer) {
|
|
42
|
+
(0, _inherits2["default"])(EnhancedTextLayer, _TextLayer);
|
|
43
|
+
|
|
44
|
+
var _super = _createSuper(EnhancedTextLayer);
|
|
45
|
+
|
|
46
|
+
function EnhancedTextLayer() {
|
|
47
|
+
(0, _classCallCheck2["default"])(this, EnhancedTextLayer);
|
|
48
|
+
return _super.apply(this, arguments);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
(0, _createClass2["default"])(EnhancedTextLayer, [{
|
|
52
|
+
key: "filterSubLayer",
|
|
53
|
+
value: function filterSubLayer(_ref) {
|
|
54
|
+
var layer = _ref.layer,
|
|
55
|
+
renderPass = _ref.renderPass;
|
|
56
|
+
var background = layer.id.includes('primary-background');
|
|
57
|
+
|
|
58
|
+
if (renderPass === 'collision') {
|
|
59
|
+
return background; // Only draw primary background layer in collision pass
|
|
60
|
+
} else {
|
|
61
|
+
return !background || SHOW_TEXT_BORDER && this.props.getBorderWidth; // Do not draw background layer in other passes
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}]);
|
|
65
|
+
return EnhancedTextLayer;
|
|
66
|
+
}(_layers.TextLayer); // TODO fix in deck.gl
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
_layers.TextLayer.defaultProps.fontSettings = {
|
|
70
|
+
type: 'object',
|
|
71
|
+
value: {},
|
|
72
|
+
optional: true,
|
|
73
|
+
compare: 1
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
var defaultProps = _objectSpread(_objectSpread({}, _layers.TextLayer.defaultProps), {}, {
|
|
77
|
+
getRadius: {
|
|
78
|
+
type: 'accessor',
|
|
79
|
+
value: 1
|
|
80
|
+
},
|
|
81
|
+
radiusScale: {
|
|
82
|
+
type: 'number',
|
|
83
|
+
min: 0,
|
|
84
|
+
value: 1
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
89
|
+
(0, _inherits2["default"])(PointLabelLayer, _CompositeLayer);
|
|
90
|
+
|
|
91
|
+
var _super2 = _createSuper(PointLabelLayer);
|
|
92
|
+
|
|
93
|
+
function PointLabelLayer() {
|
|
94
|
+
(0, _classCallCheck2["default"])(this, PointLabelLayer);
|
|
95
|
+
return _super2.apply(this, arguments);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
(0, _createClass2["default"])(PointLabelLayer, [{
|
|
99
|
+
key: "calculatePixelOffset",
|
|
100
|
+
value: function calculatePixelOffset(secondary) {
|
|
101
|
+
var _this$props = this.props,
|
|
102
|
+
anchor = _this$props.getTextAnchor,
|
|
103
|
+
alignment = _this$props.getAlignmentBaseline,
|
|
104
|
+
getRadius = _this$props.getRadius,
|
|
105
|
+
radiusScale = _this$props.radiusScale,
|
|
106
|
+
sizeScale = _this$props.sizeScale;
|
|
107
|
+
var xMult = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;
|
|
108
|
+
var yMult = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1; // Place secondary label under main label (spacing 1 / 3 main label font size)
|
|
109
|
+
|
|
110
|
+
var yOffset = secondary ? (1 + 1 / 3) * sizeScale : 0;
|
|
111
|
+
var xPadding = sizeScale / 4; // Padding based on font size (font size / 4)
|
|
112
|
+
|
|
113
|
+
var yPadding = sizeScale;
|
|
114
|
+
var radiusPadding = 1 + 1 / 4; // Padding based on point radius (radius/ 4)
|
|
115
|
+
|
|
116
|
+
return typeof getRadius === 'function' ? function (d) {
|
|
117
|
+
var r = (d ? getRadius(d) : 1) * radiusScale * radiusPadding;
|
|
118
|
+
return [xMult * (r + xPadding), yMult * (r + yPadding) + yOffset];
|
|
119
|
+
} : [xMult * (getRadius * radiusScale * radiusPadding + xPadding), yMult * (getRadius * radiusScale * radiusPadding + yPadding) + yOffset];
|
|
120
|
+
}
|
|
121
|
+
}, {
|
|
122
|
+
key: "calculateBackgroundPadding",
|
|
123
|
+
value: function calculateBackgroundPadding(getPixelOffset) {
|
|
124
|
+
var _this$props2 = this.props,
|
|
125
|
+
anchor = _this$props2.getTextAnchor,
|
|
126
|
+
alignment = _this$props2.getAlignmentBaseline,
|
|
127
|
+
sizeScale = _this$props2.sizeScale; // Heuristics to avoid label overlap (should we base this on the text length?)
|
|
128
|
+
|
|
129
|
+
var paddingX = 12 * sizeScale;
|
|
130
|
+
var paddingY = 3 * sizeScale;
|
|
131
|
+
var backgroundPadding = [0, 0, 0, 0];
|
|
132
|
+
|
|
133
|
+
if (alignment === 'top') {
|
|
134
|
+
backgroundPadding[TOP] = paddingY;
|
|
135
|
+
} else if (alignment === 'bottom') {
|
|
136
|
+
backgroundPadding[BOTTOM] = paddingY;
|
|
137
|
+
} else {
|
|
138
|
+
backgroundPadding[TOP] = 0.5 * paddingY;
|
|
139
|
+
backgroundPadding[BOTTOM] = 0.5 * paddingY;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if (anchor === 'start') {
|
|
143
|
+
backgroundPadding[LEFT] = paddingX;
|
|
144
|
+
} else if (anchor === 'end') {
|
|
145
|
+
backgroundPadding[RIGHT] = paddingX;
|
|
146
|
+
} else {
|
|
147
|
+
backgroundPadding[LEFT] = 0.5 * paddingX;
|
|
148
|
+
backgroundPadding[RIGHT] = 0.5 * paddingX;
|
|
149
|
+
} // For getRadius function, invoke without data, as there is no backgroundPadding accessor
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
var pixelOffset = Array.isArray(getPixelOffset) ? getPixelOffset : getPixelOffset();
|
|
153
|
+
backgroundPadding[LEFT] += pixelOffset[0];
|
|
154
|
+
backgroundPadding[RIGHT] -= pixelOffset[0];
|
|
155
|
+
backgroundPadding[TOP] += pixelOffset[1];
|
|
156
|
+
backgroundPadding[BOTTOM] -= pixelOffset[1];
|
|
157
|
+
return backgroundPadding;
|
|
158
|
+
}
|
|
159
|
+
}, {
|
|
160
|
+
key: "renderTextLayer",
|
|
161
|
+
value: function renderTextLayer(id, props) {
|
|
162
|
+
var _this$props3 = this.props,
|
|
163
|
+
data = _this$props3.data,
|
|
164
|
+
fontFamily = _this$props3.fontFamily,
|
|
165
|
+
fontSettings = _this$props3.fontSettings,
|
|
166
|
+
fontWeight = _this$props3.fontWeight,
|
|
167
|
+
outlineColor = _this$props3.outlineColor,
|
|
168
|
+
outlineWidth = _this$props3.outlineWidth,
|
|
169
|
+
sizeScale = _this$props3.sizeScale,
|
|
170
|
+
getAlignmentBaseline = _this$props3.getAlignmentBaseline,
|
|
171
|
+
getColor = _this$props3.getColor,
|
|
172
|
+
getPosition = _this$props3.getPosition,
|
|
173
|
+
getTextAnchor = _this$props3.getTextAnchor,
|
|
174
|
+
updateTriggers = _this$props3.updateTriggers;
|
|
175
|
+
return new EnhancedTextLayer(this.getSubLayerProps({
|
|
176
|
+
id: id,
|
|
177
|
+
data: data,
|
|
178
|
+
fontFamily: fontFamily,
|
|
179
|
+
fontSettings: fontSettings,
|
|
180
|
+
fontWeight: fontWeight,
|
|
181
|
+
outlineColor: outlineColor,
|
|
182
|
+
outlineWidth: outlineWidth,
|
|
183
|
+
sizeScale: sizeScale,
|
|
184
|
+
getAlignmentBaseline: getAlignmentBaseline,
|
|
185
|
+
getColor: getColor,
|
|
186
|
+
getPosition: getPosition,
|
|
187
|
+
getTextAnchor: getTextAnchor,
|
|
188
|
+
updateTriggers: updateTriggers
|
|
189
|
+
}), {
|
|
190
|
+
getSize: 1
|
|
191
|
+
}, // DEBUG
|
|
192
|
+
SHOW_TEXT_BORDER ? {
|
|
193
|
+
getBackgroundColor: [0, 0, 0, 0],
|
|
194
|
+
getBorderColor: [255, 0, 0, 80],
|
|
195
|
+
getBorderWidth: 1
|
|
196
|
+
} : {}, props);
|
|
197
|
+
}
|
|
198
|
+
}, {
|
|
199
|
+
key: "renderLayers",
|
|
200
|
+
value: function renderLayers() {
|
|
201
|
+
var _this$props4 = this.props,
|
|
202
|
+
getText = _this$props4.getText,
|
|
203
|
+
getSecondaryColor = _this$props4.getSecondaryColor,
|
|
204
|
+
getSecondaryText = _this$props4.getSecondaryText,
|
|
205
|
+
secondaryOutlineColor = _this$props4.secondaryOutlineColor,
|
|
206
|
+
secondarySizeScale = _this$props4.secondarySizeScale;
|
|
207
|
+
var getPixelOffset = this.calculatePixelOffset(false);
|
|
208
|
+
var backgroundPadding = this.calculateBackgroundPadding(getPixelOffset);
|
|
209
|
+
var out = [this.renderTextLayer('primary', {
|
|
210
|
+
backgroundPadding: backgroundPadding,
|
|
211
|
+
getText: getText,
|
|
212
|
+
getPixelOffset: getPixelOffset,
|
|
213
|
+
background: true // Only use background for primary label for faster collisions
|
|
214
|
+
|
|
215
|
+
}), getSecondaryText && this.renderTextLayer('secondary', _objectSpread(_objectSpread(_objectSpread({
|
|
216
|
+
getText: getSecondaryText,
|
|
217
|
+
getPixelOffset: this.calculatePixelOffset(true)
|
|
218
|
+
}, getSecondaryColor && {
|
|
219
|
+
getColor: getSecondaryColor
|
|
220
|
+
}), secondarySizeScale && {
|
|
221
|
+
sizeScale: secondarySizeScale
|
|
222
|
+
}), secondaryOutlineColor && {
|
|
223
|
+
outlineColor: secondaryOutlineColor
|
|
224
|
+
}))];
|
|
225
|
+
return out;
|
|
226
|
+
}
|
|
227
|
+
}]);
|
|
228
|
+
return PointLabelLayer;
|
|
229
|
+
}(_core.CompositeLayer);
|
|
230
|
+
|
|
231
|
+
exports.PointLabelLayer = PointLabelLayer;
|
|
232
|
+
(0, _defineProperty2["default"])(PointLabelLayer, "defaultProps", defaultProps);
|
|
233
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImZvbnRTZXR0aW5ncyIsInR5cGUiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiY29tcGFyZSIsImdldFJhZGl1cyIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwic2l6ZVNjYWxlIiwieE11bHQiLCJ5TXVsdCIsInlPZmZzZXQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwicmFkaXVzUGFkZGluZyIsImQiLCJyIiwiZ2V0UGl4ZWxPZmZzZXQiLCJwYWRkaW5nWCIsInBhZGRpbmdZIiwiYmFja2dyb3VuZFBhZGRpbmciLCJwaXhlbE9mZnNldCIsIkFycmF5IiwiaXNBcnJheSIsImRhdGEiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsIm91dGxpbmVDb2xvciIsIm91dGxpbmVXaWR0aCIsImdldENvbG9yIiwiZ2V0UG9zaXRpb24iLCJ1cGRhdGVUcmlnZ2VycyIsImdldFN1YkxheWVyUHJvcHMiLCJnZXRTaXplIiwiZ2V0QmFja2dyb3VuZENvbG9yIiwiZ2V0Qm9yZGVyQ29sb3IiLCJnZXRUZXh0IiwiZ2V0U2Vjb25kYXJ5Q29sb3IiLCJnZXRTZWNvbmRhcnlUZXh0Iiwic2Vjb25kYXJ5T3V0bGluZUNvbG9yIiwic2Vjb25kYXJ5U2l6ZVNjYWxlIiwiY2FsY3VsYXRlUGl4ZWxPZmZzZXQiLCJjYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyIsIm91dCIsInJlbmRlclRleHRMYXllciIsIkNvbXBvc2l0ZUxheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUN2Q0MsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtBQUNwQixPQUZELE1BRU87QUFDTCxlQUFPLENBQUNBLFVBQUQsSUFBZ0JSLGdCQUFnQixJQUFJLEtBQUtXLEtBQUwsQ0FBV0MsY0FBdEQsQ0FESyxDQUNrRTtBQUN4RTtBQUNGOzs7RUFSNkJDLGlCLEdBV2hDOzs7QUFDQUEsa0JBQVVDLFlBQVYsQ0FBdUJDLFlBQXZCLEdBQXNDO0FBQUNDLEVBQUFBLElBQUksRUFBRSxRQUFQO0FBQWlCQyxFQUFBQSxLQUFLLEVBQUUsRUFBeEI7QUFBNEJDLEVBQUFBLFFBQVEsRUFBRSxJQUF0QztBQUE0Q0MsRUFBQUEsT0FBTyxFQUFFO0FBQXJELENBQXRDOztBQUVBLElBQU1MLFlBQVksbUNBQ2JELGtCQUFVQyxZQURHO0FBRWhCTSxFQUFBQSxTQUFTLEVBQUU7QUFBQ0osSUFBQUEsSUFBSSxFQUFFLFVBQVA7QUFBbUJDLElBQUFBLEtBQUssRUFBRTtBQUExQixHQUZLO0FBR2hCSSxFQUFBQSxXQUFXLEVBQUU7QUFBQ0wsSUFBQUEsSUFBSSxFQUFF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Q29udGVudCI6WyJpbXBvcnQge0NvbXBvc2l0ZUxheWVyfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7VGV4dExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuXG4vLyBUT0RPIHJlbW92ZSBwcmlvciB0byByZWxlYXNlXG5jb25zdCBTSE9XX1RFWFRfQk9SREVSID0gZmFsc2U7XG5cbmNvbnN0IFtMRUZULCBUT1AsIFJJR0hULCBCT1RUT01dID0gWzAsIDEsIDIsIDNdO1xuY2xhc3MgRW5oYW5jZWRUZXh0TGF5ZXIgZXh0ZW5kcyBUZXh0TGF5ZXIge1xuICBmaWx0ZXJTdWJMYXllcih7bGF5ZXIsIHJlbmRlclBhc3N9KSB7XG4gICAgY29uc3QgYmFja2dyb3VuZCA9IGxheWVyLmlkLmluY2x1ZGVzKCdwcmltYXJ5LWJhY2tncm91bmQnKTtcbiAgICBpZiAocmVuZGVyUGFzcyA9PT0gJ2NvbGxpc2lvbicpIHtcbiAgICAgIHJldHVybiBiYWNrZ3JvdW5kOyAvLyBPbmx5IGRyYXcgcHJpbWFyeSBiYWNrZ3JvdW5kIGxheWVyIGluIGNvbGxpc2lvbiBwYXNzXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhYmFja2dyb3VuZCB8fCAoU0hPV19URVhUX0JPUkRFUiAmJiB0aGlzLnByb3BzLmdldEJvcmRlcldpZHRoKTsgLy8gRG8gbm90IGRyYXcgYmFja2dyb3VuZCBsYXllciBpbiBvdGhlciBwYXNzZXNcbiAgICB9XG4gIH1cbn1cblxuLy8gVE9ETyBmaXggaW4gZGVjay5nbFxuVGV4dExheWVyLmRlZmF1bHRQcm9wcy5mb250U2V0dGluZ3MgPSB7dHlwZTogJ29iamVjdCcsIHZhbHVlOiB7fSwgb3B0aW9uYWw6IHRydWUsIGNvbXBhcmU6IDF9O1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIC4uLlRleHRMYXllci5kZWZhdWx0UHJvcHMsXG4gIGdldFJhZGl1czoge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiAxfSxcbiAgcmFkaXVzU2NhbGU6IHt0eXBlOiAnbnVtYmVyJywgbWluOiAwLCB2YWx1ZTogMX1cbn07XG5cbmV4cG9ydCBjbGFzcyBQb2ludExhYmVsTGF5ZXIgZXh0ZW5kcyBDb21wb3NpdGVMYXllciB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbiAgY2FsY3VsYXRlUGl4ZWxPZmZzZXQoc2Vjb25kYXJ5KSB7XG4gICAgY29uc3Qge1xuICAgICAgZ2V0VGV4dEFuY2hvcjogYW5jaG9yLFxuICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmU6IGFsaWdubWVudCxcbiAgICAgIGdldFJhZGl1cyxcbiAgICAgIHJhZGl1c1NjYWxlLFxuICAgICAgc2l6ZVNjYWxlXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeE11bHQgPSBhbmNob3IgPT09ICdtaWRkbGUnID8gMCA6IGFuY2hvciA9PT0gJ3N0YXJ0JyA/IDEgOiAtMTtcbiAgICBjb25zdCB5TXVsdCA9IGFsaWdubWVudCA9PT0gJ2NlbnRlcicgPyAwIDogYWxpZ25tZW50ID09PSAnYm90dG9tJyA/IDEgOiAtMTtcblxuICAgIC8vIFBsYWNlIHNlY29uZGFyeSBsYWJlbCB1bmRlciBtYWluIGxhYmVsIChzcGFjaW5nIDEgLyAzIG1haW4gbGFiZWwgZm9udCBzaXplKVxuICAgIGNvbnN0IHlPZmZzZXQgPSBzZWNvbmRhcnkgPyAoMSArIDEgLyAzKSAqIHNpemVTY2FsZSA6IDA7XG4gICAgY29uc3QgeFBhZGRpbmcgPSBzaXplU2NhbGUgLyA0OyAvLyBQYWRkaW5nIGJhc2VkIG9uIGZvbnQgc2l6ZSAoZm9udCBzaXplIC8gNClcbiAgICBjb25zdCB5UGFkZGluZyA9IHNpemVTY2FsZTtcbiAgICBjb25zdCByYWRpdXNQYWRkaW5nID0gMSArIDEgLyA0OyAvLyBQYWRkaW5nIGJhc2VkIG9uIHBvaW50IHJhZGl1cyAocmFkaXVzLyA0KVxuXG4gICAgcmV0dXJuIHR5cGVvZiBnZXRSYWRpdXMgPT09ICdmdW5jdGlvbidcbiAgICAgID8gZCA9PiB7XG4gICAgICAgICAgY29uc3QgciA9IChkID8gZ2V0UmFkaXVzKGQpIDogMSkgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmc7XG4gICAgICAgICAgcmV0dXJuIFt4TXVsdCAqIChyICsgeFBhZGRpbmcpLCB5TXVsdCAqIChyICsgeVBhZGRpbmcpICsgeU9mZnNldF07XG4gICAgICAgIH1cbiAgICAgIDogW1xuICAgICAgICAgIHhNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHhQYWRkaW5nKSxcbiAgICAgICAgICB5TXVsdCAqIChnZXRSYWRpdXMgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmcgKyB5UGFkZGluZykgKyB5T2Zmc2V0XG4gICAgICAgIF07XG4gIH1cblxuICBjYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyhnZXRQaXhlbE9mZnNldCkge1xuICAgIGNvbnN0IHtnZXRUZXh0QW5jaG9yOiBhbmNob3IsIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsIHNpemVTY2FsZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gSGV1cmlzdGljcyB0byBhdm9pZCBsYWJlbCBvdmVybGFwIChzaG91bGQgd2UgYmFzZSB0aGlzIG9uIHRoZSB0ZXh0IGxlbmd0aD8pXG4gICAgY29uc3QgcGFkZGluZ1ggPSAxMiAqIHNpemVTY2FsZTtcbiAgICBjb25zdCBwYWRkaW5nWSA9IDMgKiBzaXplU2NhbGU7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSBbMCwgMCwgMCwgMF07XG4gICAgaWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgIH1cbiAgICBpZiAoYW5jaG9yID09PSAnc3RhcnQnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSA9IHBhZGRpbmdYO1xuICAgIH0gZWxzZSBpZiAoYW5jaG9yID09PSAnZW5kJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdID0gcGFkZGluZ1g7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdID0gMC41ICogcGFkZGluZ1g7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gPSAwLjUgKiBwYWRkaW5nWDtcbiAgICB9XG5cbiAgICAvLyBGb3IgZ2V0UmFkaXVzIGZ1bmN0aW9uLCBpbnZva2Ugd2l0aG91dCBkYXRhLCBhcyB0aGVyZSBpcyBubyBiYWNrZ3JvdW5kUGFkZGluZyBhY2Nlc3NvclxuICAgIGNvbnN0IHBpeGVsT2Zmc2V0ID0gQXJyYXkuaXNBcnJheShnZXRQaXhlbE9mZnNldCkgPyBnZXRQaXhlbE9mZnNldCA6IGdldFBpeGVsT2Zmc2V0KCk7XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbTEVGVF0gKz0gcGl4ZWxPZmZzZXRbMF07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdIC09IHBpeGVsT2Zmc2V0WzBdO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gKz0gcGl4ZWxPZmZzZXRbMV07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSAtPSBwaXhlbE9mZnNldFsxXTtcblxuICAgIHJldHVybiBiYWNrZ3JvdW5kUGFkZGluZztcbiAgfVxuXG4gIHJlbmRlclRleHRMYXllcihpZCwgcHJvcHMpIHtcbiAgICBjb25zdCB7XG4gICAgICBkYXRhLFxuXG4gICAgICBmb250RmFtaWx5LFxuICAgICAgZm9udFNldHRpbmdzLFxuICAgICAgZm9udFdlaWdodCxcbiAgICAgIG91dGxpbmVDb2xvcixcbiAgICAgIG91dGxpbmVXaWR0aCxcbiAgICAgIHNpemVTY2FsZSxcblxuICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICBnZXRDb2xvcixcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0VGV4dEFuY2hvcixcblxuICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBuZXcgRW5oYW5jZWRUZXh0TGF5ZXIoXG4gICAgICB0aGlzLmdldFN1YkxheWVyUHJvcHMoe1xuICAgICAgICBpZCxcbiAgICAgICAgZGF0YTogZGF0YSxcblxuICAgICAgICBmb250RmFtaWx5LFxuICAgICAgICBmb250U2V0dGluZ3MsXG4gICAgICAgIGZvbnRXZWlnaHQsXG4gICAgICAgIG91dGxpbmVDb2xvcixcbiAgICAgICAgb3V0bGluZVdpZHRoLFxuICAgICAgICBzaXplU2NhbGUsXG5cbiAgICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICAgIGdldENvbG9yLFxuICAgICAgICBnZXRQb3NpdGlvbixcbiAgICAgICAgZ2V0VGV4dEFuY2hvcixcblxuICAgICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIGdldFNpemU6IDFcbiAgICAgIH0sXG4gICAgICAvLyBERUJVR1xuICAgICAgU0hPV19URVhUX0JPUkRFUlxuICAgICAgICA/IHtnZXRCYWNrZ3JvdW5kQ29sb3I6IFswLCAwLCAwLCAwXSwgZ2V0Qm9yZGVyQ29sb3I6IFsyNTUsIDAsIDAsIDgwXSwgZ2V0Qm9yZGVyV2lkdGg6IDF9XG4gICAgICAgIDoge30sXG4gICAgICBwcm9wc1xuICAgICk7XG4gIH1cblxuICByZW5kZXJMYXllcnMoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZ2V0VGV4dCxcbiAgICAgIGdldFNlY29uZGFyeUNvbG9yLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgIHNlY29uZGFyeU91dGxpbmVDb2xvcixcbiAgICAgIHNlY29uZGFyeVNpemVTY2FsZVxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGdldFBpeGVsT2Zmc2V0ID0gdGhpcy5jYWxjdWxhdGVQaXhlbE9mZnNldChmYWxzZSk7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSB0aGlzLmNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nKGdldFBpeGVsT2Zmc2V0KTtcbiAgICBjb25zdCBvdXQgPSBbXG4gICAgICB0aGlzLnJlbmRlclRleHRMYXllcigncHJpbWFyeScsIHtcbiAgICAgICAgYmFja2dyb3VuZFBhZGRpbmcsXG4gICAgICAgIGdldFRleHQsXG4gICAgICAgIGdldFBpeGVsT2Zmc2V0LFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cnVlIC8vIE9ubHkgdXNlIGJhY2tncm91bmQgZm9yIHByaW1hcnkgbGFiZWwgZm9yIGZhc3RlciBjb2xsaXNpb25zXG4gICAgICB9KSxcbiAgICAgIGdldFNlY29uZGFyeVRleHQgJiZcbiAgICAgICAgdGhpcy5yZW5kZXJUZXh0TGF5ZXIoJ3NlY29uZGFyeScsIHtcbiAgICAgICAgICBnZXRUZXh0OiBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgICAgIGdldFBpeGVsT2Zmc2V0OiB0aGlzLmNhbGN1bGF0ZVBpeGVsT2Zmc2V0KHRydWUpLFxuXG4gICAgICAgICAgLy8gT3B0aW9uYWwgb3ZlcnJpZGVzXG4gICAgICAgICAgLi4uKGdldFNlY29uZGFyeUNvbG9yICYmIHtnZXRDb2xvcjogZ2V0U2Vjb25kYXJ5Q29sb3J9KSxcbiAgICAgICAgICAuLi4oc2Vjb25kYXJ5U2l6ZVNjYWxlICYmIHtzaXplU2NhbGU6IHNlY29uZGFyeVNpemVTY2FsZX0pLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlPdXRsaW5lQ29sb3IgJiYge291dGxpbmVDb2xvcjogc2Vjb25kYXJ5T3V0bGluZUNvbG9yfSlcbiAgICAgICAgfSlcbiAgICBdO1xuXG4gICAgcmV0dXJuIG91dDtcbiAgfVxufVxuIl19
|
package/dist/index.js
CHANGED
|
@@ -5,13 +5,21 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
var _exportNames = {
|
|
8
|
+
var _exportNames = {
|
|
9
|
+
PointLabelLayer: true
|
|
10
|
+
};
|
|
9
11
|
Object.defineProperty(exports, "default", {
|
|
10
12
|
enumerable: true,
|
|
11
13
|
get: function get() {
|
|
12
14
|
return _components["default"];
|
|
13
15
|
}
|
|
14
16
|
});
|
|
17
|
+
Object.defineProperty(exports, "PointLabelLayer", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function get() {
|
|
20
|
+
return _pointLabelLayer.PointLabelLayer;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
15
23
|
|
|
16
24
|
var _reducers = require("./reducers");
|
|
17
25
|
|
|
@@ -111,6 +119,8 @@ Object.keys(_layers).forEach(function (key) {
|
|
|
111
119
|
});
|
|
112
120
|
});
|
|
113
121
|
|
|
122
|
+
var _pointLabelLayer = require("./deckgl-layers/point-label-layer/point-label-layer");
|
|
123
|
+
|
|
114
124
|
var _styles = require("./styles");
|
|
115
125
|
|
|
116
126
|
Object.keys(_styles).forEach(function (key) {
|
|
@@ -152,4 +162,4 @@ Object.keys(_utils).forEach(function (key) {
|
|
|
152
162
|
}
|
|
153
163
|
});
|
|
154
164
|
});
|
|
155
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUdBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBR0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFHQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUdBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBR0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFHQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUdBOztBQUdBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBR0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFHQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuLy8gUmVkdWNlcnNcbmV4cG9ydCAqIGZyb20gJ3JlZHVjZXJzJztcblxuLy8gU2NoZW1hc1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWFzJztcblxuLy8gQWN0aW9uc1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zJztcblxuLy8gQ29uc3RhbnRzXG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8vIFByb2Nlc3NvcnNcbmV4cG9ydCAqIGZyb20gJy4vcHJvY2Vzc29ycyc7XG5cbi8vIENvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XG5cbi8vIExheWVyc1xuZXhwb3J0ICogZnJvbSAnLi9sYXllcnMnO1xuXG4vLyBsYWJlbCBsYXllciAobW92ZSB0byBkZWNrLmdsL2NhcnRvPylcbmV4cG9ydCB7UG9pbnRMYWJlbExheWVyfSBmcm9tICcuL2RlY2tnbC1sYXllcnMvcG9pbnQtbGFiZWwtbGF5ZXIvcG9pbnQtbGFiZWwtbGF5ZXInO1xuXG4vLyBTdHlsZXNcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGVzJztcblxuLy8gTWlkZGxld2FyZVxuZXhwb3J0ICogZnJvbSAnLi9taWRkbGV3YXJlJztcblxuLy8gVXRpbHNcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuXG4vLyBEZWZhdWx0IGV4cG9ydFxuZXhwb3J0IHtkZWZhdWx0fSBmcm9tICcuL2NvbXBvbmVudHMnO1xuIl19
|