@carto/kepler.gl 0.0.64 → 0.0.65-alpha.labels.2
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 +42 -651
- package/dist/components/map-container.js +2 -1
- package/dist/components/side-panel/layer-panel/layer-configurator.js +2 -1
- package/dist/components/side-panel/layer-panel/text-label-panel.js +83 -61
- package/dist/constants/default-settings.js +2 -2
- package/dist/deckgl-layers/point-label-layer/point-label-layer.js +234 -0
- package/dist/index.js +12 -2
- package/dist/layers/base-layer.js +78 -41
- package/dist/layers/layer-factory.js +21 -5
- package/dist/layers/layer-text-label.js +11 -31
- package/dist/layers/point-layer/point-layer.js +9 -10
- package/dist/localization/en.js +5 -2
- package/dist/processors/data-processor.js +1 -4
- package/package.json +5 -1
- package/src/components/map-container.js +1 -0
- package/src/components/side-panel/layer-panel/layer-configurator.js +1 -0
- package/src/components/side-panel/layer-panel/text-label-panel.js +55 -26
- package/src/deckgl-layers/point-label-layer/point-label-layer.js +174 -0
- package/src/index.js +3 -0
- package/src/layers/base-layer.js +81 -44
- package/src/layers/layer-factory.js +20 -4
- package/src/layers/layer-text-label.js +11 -47
- package/src/layers/point-layer/point-layer.js +7 -11
- package/src/localization/en.js +4 -1
- package/src/processors/data-processor.js +1 -4
|
@@ -0,0 +1,234 @@
|
|
|
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: 2
|
|
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
|
+
// Alignment based only on first label
|
|
125
|
+
var _this$props2 = this.props,
|
|
126
|
+
alignment = _this$props2.alignment,
|
|
127
|
+
anchor = _this$props2.anchor,
|
|
128
|
+
sizeScale = _this$props2.sizeScale; // Heuristics to avoid label overlap (should we base this on the text length?)
|
|
129
|
+
|
|
130
|
+
var paddingX = 12 * sizeScale;
|
|
131
|
+
var paddingY = 3 * sizeScale;
|
|
132
|
+
var backgroundPadding = [0, 0, 0, 0];
|
|
133
|
+
|
|
134
|
+
if (alignment === 'top') {
|
|
135
|
+
backgroundPadding[TOP] = paddingY;
|
|
136
|
+
} else if (alignment === 'bottom') {
|
|
137
|
+
backgroundPadding[BOTTOM] = paddingY;
|
|
138
|
+
} else {
|
|
139
|
+
backgroundPadding[TOP] = 0.5 * paddingY;
|
|
140
|
+
backgroundPadding[BOTTOM] = 0.5 * paddingY;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (anchor === 'start') {
|
|
144
|
+
backgroundPadding[LEFT] = paddingX;
|
|
145
|
+
} else if (anchor === 'end') {
|
|
146
|
+
backgroundPadding[RIGHT] = paddingX;
|
|
147
|
+
} else {
|
|
148
|
+
backgroundPadding[LEFT] = 0.5 * paddingX;
|
|
149
|
+
backgroundPadding[RIGHT] = 0.5 * paddingX;
|
|
150
|
+
} // For getRadius function, invoke without data, as there is no backgroundPadding accessor
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
var pixelOffset = Array.isArray(getPixelOffset) ? getPixelOffset : getPixelOffset();
|
|
154
|
+
backgroundPadding[LEFT] += pixelOffset[0];
|
|
155
|
+
backgroundPadding[RIGHT] -= pixelOffset[0];
|
|
156
|
+
backgroundPadding[TOP] += pixelOffset[1];
|
|
157
|
+
backgroundPadding[BOTTOM] -= pixelOffset[1];
|
|
158
|
+
return backgroundPadding;
|
|
159
|
+
}
|
|
160
|
+
}, {
|
|
161
|
+
key: "renderTextLayer",
|
|
162
|
+
value: function renderTextLayer(id, props) {
|
|
163
|
+
var _this$props3 = this.props,
|
|
164
|
+
data = _this$props3.data,
|
|
165
|
+
fontFamily = _this$props3.fontFamily,
|
|
166
|
+
fontSettings = _this$props3.fontSettings,
|
|
167
|
+
fontWeight = _this$props3.fontWeight,
|
|
168
|
+
outlineColor = _this$props3.outlineColor,
|
|
169
|
+
outlineWidth = _this$props3.outlineWidth,
|
|
170
|
+
sizeScale = _this$props3.sizeScale,
|
|
171
|
+
getAlignmentBaseline = _this$props3.getAlignmentBaseline,
|
|
172
|
+
getColor = _this$props3.getColor,
|
|
173
|
+
getPosition = _this$props3.getPosition,
|
|
174
|
+
getTextAnchor = _this$props3.getTextAnchor,
|
|
175
|
+
updateTriggers = _this$props3.updateTriggers;
|
|
176
|
+
return new EnhancedTextLayer(this.getSubLayerProps({
|
|
177
|
+
id: id,
|
|
178
|
+
data: data,
|
|
179
|
+
fontFamily: fontFamily,
|
|
180
|
+
fontSettings: fontSettings,
|
|
181
|
+
fontWeight: fontWeight,
|
|
182
|
+
outlineColor: outlineColor,
|
|
183
|
+
outlineWidth: outlineWidth,
|
|
184
|
+
sizeScale: sizeScale,
|
|
185
|
+
getAlignmentBaseline: getAlignmentBaseline,
|
|
186
|
+
getColor: getColor,
|
|
187
|
+
getPosition: getPosition,
|
|
188
|
+
getTextAnchor: getTextAnchor,
|
|
189
|
+
updateTriggers: updateTriggers
|
|
190
|
+
}), {
|
|
191
|
+
getSize: 1
|
|
192
|
+
}, // DEBUG
|
|
193
|
+
SHOW_TEXT_BORDER ? {
|
|
194
|
+
getBackgroundColor: [0, 0, 0, 0],
|
|
195
|
+
getBorderColor: [255, 0, 0, 80],
|
|
196
|
+
getBorderWidth: 1
|
|
197
|
+
} : {}, props);
|
|
198
|
+
}
|
|
199
|
+
}, {
|
|
200
|
+
key: "renderLayers",
|
|
201
|
+
value: function renderLayers() {
|
|
202
|
+
var _this$props4 = this.props,
|
|
203
|
+
getText = _this$props4.getText,
|
|
204
|
+
getSecondaryColor = _this$props4.getSecondaryColor,
|
|
205
|
+
getSecondaryText = _this$props4.getSecondaryText,
|
|
206
|
+
secondaryOutlineColor = _this$props4.secondaryOutlineColor,
|
|
207
|
+
secondarySizeScale = _this$props4.secondarySizeScale;
|
|
208
|
+
var getPixelOffset = this.calculatePixelOffset();
|
|
209
|
+
var backgroundPadding = this.calculateBackgroundPadding(getPixelOffset);
|
|
210
|
+
var out = [this.renderTextLayer('primary', {
|
|
211
|
+
backgroundPadding: backgroundPadding,
|
|
212
|
+
getText: getText,
|
|
213
|
+
getPixelOffset: getPixelOffset,
|
|
214
|
+
background: true // Only use background for primary label for faster collisions
|
|
215
|
+
|
|
216
|
+
}), getSecondaryText && this.renderTextLayer('secondary', _objectSpread(_objectSpread(_objectSpread({
|
|
217
|
+
getText: getSecondaryText,
|
|
218
|
+
getPixelOffset: this.calculatePixelOffset(true)
|
|
219
|
+
}, getSecondaryColor && {
|
|
220
|
+
getColor: getSecondaryColor
|
|
221
|
+
}), secondarySizeScale && {
|
|
222
|
+
sizeScale: secondarySizeScale
|
|
223
|
+
}), secondaryOutlineColor && {
|
|
224
|
+
outlineColor: secondaryOutlineColor
|
|
225
|
+
}))];
|
|
226
|
+
return out;
|
|
227
|
+
}
|
|
228
|
+
}]);
|
|
229
|
+
return PointLabelLayer;
|
|
230
|
+
}(_core.CompositeLayer);
|
|
231
|
+
|
|
232
|
+
exports.PointLabelLayer = PointLabelLayer;
|
|
233
|
+
(0, _defineProperty2["default"])(PointLabelLayer, "defaultProps", defaultProps);
|
|
234
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImZvbnRTZXR0aW5ncyIsInR5cGUiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiY29tcGFyZSIsImdldFJhZGl1cyIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwic2l6ZVNjYWxlIiwieE11bHQiLCJ5TXVsdCIsInlPZmZzZXQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwicmFkaXVzUGFkZGluZyIsImQiLCJyIiwiZ2V0UGl4ZWxPZmZzZXQiLCJwYWRkaW5nWCIsInBhZGRpbmdZIiwiYmFja2dyb3VuZFBhZGRpbmciLCJwaXhlbE9mZnNldCIsIkFycmF5IiwiaXNBcnJheSIsImRhdGEiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsIm91dGxpbmVDb2xvciIsIm91dGxpbmVXaWR0aCIsImdldENvbG9yIiwiZ2V0UG9zaXRpb24iLCJ1cGRhdGVUcmlnZ2VycyIsImdldFN1YkxheWVyUHJvcHMiLCJnZXRTaXplIiwiZ2V0QmFja2dyb3VuZENvbG9yIiwiZ2V0Qm9yZGVyQ29sb3IiLCJnZXRUZXh0IiwiZ2V0U2Vjb25kYXJ5Q29sb3IiLCJnZXRTZWNvbmRhcnlUZXh0Iiwic2Vjb25kYXJ5T3V0bGluZUNvbG9yIiwic2Vjb25kYXJ5U2l6ZVNjYWxlIiwiY2FsY3VsYXRlUGl4ZWxPZmZzZXQiLCJjYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyIsIm91dCIsInJlbmRlclRleHRMYXllciIsIkNvbXBvc2l0ZUxheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUN2Q0MsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtBQUNwQixPQUZELE1BRU87QUFDTCxlQUFPLENBQUNBLFVBQUQsSUFBZ0JSLGdCQUFnQixJQUFJLEtBQUtXLEtBQUwsQ0FBV0MsY0FBdEQsQ0FESyxDQUNrRTtBQUN4RTtBQUNGOzs7RUFSNkJDLGlCLEdBV2hDOzs7QUFDQUEsa0JBQVVDLFlBQVYsQ0FBdUJDLFlBQXZCLEdBQXNDO0FBQUNDLEVBQUFBLElBQUksRUFBRSxRQUFQO0FBQWlCQyxFQUFBQSxLQUFLLEVBQUUsRUFBeEI7QUFBNEJDLEVBQUFBLFFBQVEsRUFBRSxJQUF0QztBQUE0Q0MsRUFBQUEsT0FBTyxFQUFFO0FBQXJELENBQXRDOztBQUVBLElBQU1MLFlBQVksbUNBQ2JELGtCQUFVQyxZQURHO0FBRWhCTSxFQUFBQSxTQUFTLEVBQUU7QUFBQ0osSUFBQUEsSUFBSSxFQUFFLFVBQVA7QUFBbUJDLElBQUFBLEtBQUssRUFBRTtBQUExQixHQUZLO0FBR2hCSSxFQUFBQSxXQUFXLEVBQUU7QUFBQ0wsSUFBQUEsSUFBSSxFQUFF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IjpbImltcG9ydCB7Q29tcG9zaXRlTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtUZXh0TGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5cbi8vIFRPRE8gcmVtb3ZlIHByaW9yIHRvIHJlbGVhc2VcbmNvbnN0IFNIT1dfVEVYVF9CT1JERVIgPSBmYWxzZTtcblxuY29uc3QgW0xFRlQsIFRPUCwgUklHSFQsIEJPVFRPTV0gPSBbMCwgMSwgMiwgM107XG5jbGFzcyBFbmhhbmNlZFRleHRMYXllciBleHRlbmRzIFRleHRMYXllciB7XG4gIGZpbHRlclN1YkxheWVyKHtsYXllciwgcmVuZGVyUGFzc30pIHtcbiAgICBjb25zdCBiYWNrZ3JvdW5kID0gbGF5ZXIuaWQuaW5jbHVkZXMoJ3ByaW1hcnktYmFja2dyb3VuZCcpO1xuICAgIGlmIChyZW5kZXJQYXNzID09PSAnY29sbGlzaW9uJykge1xuICAgICAgcmV0dXJuIGJhY2tncm91bmQ7IC8vIE9ubHkgZHJhdyBwcmltYXJ5IGJhY2tncm91bmQgbGF5ZXIgaW4gY29sbGlzaW9uIHBhc3NcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICFiYWNrZ3JvdW5kIHx8IChTSE9XX1RFWFRfQk9SREVSICYmIHRoaXMucHJvcHMuZ2V0Qm9yZGVyV2lkdGgpOyAvLyBEbyBub3QgZHJhdyBiYWNrZ3JvdW5kIGxheWVyIGluIG90aGVyIHBhc3Nlc1xuICAgIH1cbiAgfVxufVxuXG4vLyBUT0RPIGZpeCBpbiBkZWNrLmdsXG5UZXh0TGF5ZXIuZGVmYXVsdFByb3BzLmZvbnRTZXR0aW5ncyA9IHt0eXBlOiAnb2JqZWN0JywgdmFsdWU6IHt9LCBvcHRpb25hbDogdHJ1ZSwgY29tcGFyZTogMn07XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uVGV4dExheWVyLmRlZmF1bHRQcm9wcyxcbiAgZ2V0UmFkaXVzOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IDF9LFxuICByYWRpdXNTY2FsZToge3R5cGU6ICdudW1iZXInLCBtaW46IDAsIHZhbHVlOiAxfVxufTtcblxuZXhwb3J0IGNsYXNzIFBvaW50TGFiZWxMYXllciBleHRlbmRzIENvbXBvc2l0ZUxheWVyIHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuICBjYWxjdWxhdGVQaXhlbE9mZnNldChzZWNvbmRhcnkpIHtcbiAgICBjb25zdCB7XG4gICAgICBnZXRUZXh0QW5jaG9yOiBhbmNob3IsXG4gICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZTogYWxpZ25tZW50LFxuICAgICAgZ2V0UmFkaXVzLFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICBzaXplU2NhbGVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB4TXVsdCA9IGFuY2hvciA9PT0gJ21pZGRsZScgPyAwIDogYW5jaG9yID09PSAnc3RhcnQnID8gMSA6IC0xO1xuICAgIGNvbnN0IHlNdWx0ID0gYWxpZ25tZW50ID09PSAnY2VudGVyJyA/IDAgOiBhbGlnbm1lbnQgPT09ICdib3R0b20nID8gMSA6IC0xO1xuXG4gICAgLy8gUGxhY2Ugc2Vjb25kYXJ5IGxhYmVsIHVuZGVyIG1haW4gbGFiZWwgKHNwYWNpbmcgMSAvIDMgbWFpbiBsYWJlbCBmb250IHNpemUpXG4gICAgY29uc3QgeU9mZnNldCA9IHNlY29uZGFyeSA/ICgxICsgMSAvIDMpICogc2l6ZVNjYWxlIDogMDtcbiAgICBjb25zdCB4UGFkZGluZyA9IHNpemVTY2FsZSAvIDQ7IC8vIFBhZGRpbmcgYmFzZWQgb24gZm9udCBzaXplIChmb250IHNpemUgLyA0KVxuICAgIGNvbnN0IHlQYWRkaW5nID0gc2l6ZVNjYWxlO1xuICAgIGNvbnN0IHJhZGl1c1BhZGRpbmcgPSAxICsgMSAvIDQ7IC8vIFBhZGRpbmcgYmFzZWQgb24gcG9pbnQgcmFkaXVzIChyYWRpdXMvIDQpXG5cbiAgICByZXR1cm4gdHlwZW9mIGdldFJhZGl1cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyBkID0+IHtcbiAgICAgICAgICBjb25zdCByID0gKGQgPyBnZXRSYWRpdXMoZCkgOiAxKSAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZztcbiAgICAgICAgICByZXR1cm4gW3hNdWx0ICogKHIgKyB4UGFkZGluZyksIHlNdWx0ICogKHIgKyB5UGFkZGluZykgKyB5T2Zmc2V0XTtcbiAgICAgICAgfVxuICAgICAgOiBbXG4gICAgICAgICAgeE11bHQgKiAoZ2V0UmFkaXVzICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nICsgeFBhZGRpbmcpLFxuICAgICAgICAgIHlNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHlQYWRkaW5nKSArIHlPZmZzZXRcbiAgICAgICAgXTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nKGdldFBpeGVsT2Zmc2V0KSB7XG4gICAgLy8gQWxpZ25tZW50IGJhc2VkIG9ubHkgb24gZmlyc3QgbGFiZWxcbiAgICBjb25zdCB7YWxpZ25tZW50LCBhbmNob3IsIHNpemVTY2FsZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gSGV1cmlzdGljcyB0byBhdm9pZCBsYWJlbCBvdmVybGFwIChzaG91bGQgd2UgYmFzZSB0aGlzIG9uIHRoZSB0ZXh0IGxlbmd0aD8pXG4gICAgY29uc3QgcGFkZGluZ1ggPSAxMiAqIHNpemVTY2FsZTtcbiAgICBjb25zdCBwYWRkaW5nWSA9IDMgKiBzaXplU2NhbGU7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSBbMCwgMCwgMCwgMF07XG4gICAgaWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgIH1cbiAgICBpZiAoYW5jaG9yID09PSAnc3RhcnQnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSA9IHBhZGRpbmdYO1xuICAgIH0gZWxzZSBpZiAoYW5jaG9yID09PSAnZW5kJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdID0gcGFkZGluZ1g7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdID0gMC41ICogcGFkZGluZ1g7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gPSAwLjUgKiBwYWRkaW5nWDtcbiAgICB9XG5cbiAgICAvLyBGb3IgZ2V0UmFkaXVzIGZ1bmN0aW9uLCBpbnZva2Ugd2l0aG91dCBkYXRhLCBhcyB0aGVyZSBpcyBubyBiYWNrZ3JvdW5kUGFkZGluZyBhY2Nlc3NvclxuICAgIGNvbnN0IHBpeGVsT2Zmc2V0ID0gQXJyYXkuaXNBcnJheShnZXRQaXhlbE9mZnNldCkgPyBnZXRQaXhlbE9mZnNldCA6IGdldFBpeGVsT2Zmc2V0KCk7XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbTEVGVF0gKz0gcGl4ZWxPZmZzZXRbMF07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdIC09IHBpeGVsT2Zmc2V0WzBdO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gKz0gcGl4ZWxPZmZzZXRbMV07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSAtPSBwaXhlbE9mZnNldFsxXTtcblxuICAgIHJldHVybiBiYWNrZ3JvdW5kUGFkZGluZztcbiAgfVxuXG4gIHJlbmRlclRleHRMYXllcihpZCwgcHJvcHMpIHtcbiAgICBjb25zdCB7XG4gICAgICBkYXRhLFxuXG4gICAgICBmb250RmFtaWx5LFxuICAgICAgZm9udFNldHRpbmdzLFxuICAgICAgZm9udFdlaWdodCxcbiAgICAgIG91dGxpbmVDb2xvcixcbiAgICAgIG91dGxpbmVXaWR0aCxcbiAgICAgIHNpemVTY2FsZSxcblxuICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICBnZXRDb2xvcixcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0VGV4dEFuY2hvcixcblxuICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBuZXcgRW5oYW5jZWRUZXh0TGF5ZXIoXG4gICAgICB0aGlzLmdldFN1YkxheWVyUHJvcHMoe1xuICAgICAgICBpZCxcbiAgICAgICAgZGF0YTogZGF0YSxcblxuICAgICAgICBmb250RmFtaWx5LFxuICAgICAgICBmb250U2V0dGluZ3MsXG4gICAgICAgIGZvbnRXZWlnaHQsXG4gICAgICAgIG91dGxpbmVDb2xvcixcbiAgICAgICAgb3V0bGluZVdpZHRoLFxuICAgICAgICBzaXplU2NhbGUsXG5cbiAgICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICAgIGdldENvbG9yLFxuICAgICAgICBnZXRQb3NpdGlvbixcbiAgICAgICAgZ2V0VGV4dEFuY2hvcixcblxuICAgICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIGdldFNpemU6IDFcbiAgICAgIH0sXG4gICAgICAvLyBERUJVR1xuICAgICAgU0hPV19URVhUX0JPUkRFUlxuICAgICAgICA/IHtnZXRCYWNrZ3JvdW5kQ29sb3I6IFswLCAwLCAwLCAwXSwgZ2V0Qm9yZGVyQ29sb3I6IFsyNTUsIDAsIDAsIDgwXSwgZ2V0Qm9yZGVyV2lkdGg6IDF9XG4gICAgICAgIDoge30sXG4gICAgICBwcm9wc1xuICAgICk7XG4gIH1cblxuICByZW5kZXJMYXllcnMoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZ2V0VGV4dCxcbiAgICAgIGdldFNlY29uZGFyeUNvbG9yLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgIHNlY29uZGFyeU91dGxpbmVDb2xvcixcbiAgICAgIHNlY29uZGFyeVNpemVTY2FsZVxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGdldFBpeGVsT2Zmc2V0ID0gdGhpcy5jYWxjdWxhdGVQaXhlbE9mZnNldCgpO1xuICAgIGNvbnN0IGJhY2tncm91bmRQYWRkaW5nID0gdGhpcy5jYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyhnZXRQaXhlbE9mZnNldCk7XG4gICAgY29uc3Qgb3V0ID0gW1xuICAgICAgdGhpcy5yZW5kZXJUZXh0TGF5ZXIoJ3ByaW1hcnknLCB7XG4gICAgICAgIGJhY2tncm91bmRQYWRkaW5nLFxuICAgICAgICBnZXRUZXh0LFxuICAgICAgICBnZXRQaXhlbE9mZnNldCxcbiAgICAgICAgYmFja2dyb3VuZDogdHJ1ZSAvLyBPbmx5IHVzZSBiYWNrZ3JvdW5kIGZvciBwcmltYXJ5IGxhYmVsIGZvciBmYXN0ZXIgY29sbGlzaW9uc1xuICAgICAgfSksXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0ICYmXG4gICAgICAgIHRoaXMucmVuZGVyVGV4dExheWVyKCdzZWNvbmRhcnknLCB7XG4gICAgICAgICAgZ2V0VGV4dDogZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgICAgICBnZXRQaXhlbE9mZnNldDogdGhpcy5jYWxjdWxhdGVQaXhlbE9mZnNldCh0cnVlKSxcblxuICAgICAgICAgIC8vIE9wdGlvbmFsIG92ZXJyaWRlc1xuICAgICAgICAgIC4uLihnZXRTZWNvbmRhcnlDb2xvciAmJiB7Z2V0Q29sb3I6IGdldFNlY29uZGFyeUNvbG9yfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeVNpemVTY2FsZSAmJiB7c2l6ZVNjYWxlOiBzZWNvbmRhcnlTaXplU2NhbGV9KSxcbiAgICAgICAgICAuLi4oc2Vjb25kYXJ5T3V0bGluZUNvbG9yICYmIHtvdXRsaW5lQ29sb3I6IHNlY29uZGFyeU91dGxpbmVDb2xvcn0pXG4gICAgICAgIH0pXG4gICAgXTtcblxuICAgIHJldHVybiBvdXQ7XG4gIH1cbn1cbiJdfQ==
|
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
|