@kepler.gl/components 3.3.0-alpha.0 → 3.3.0-alpha.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/dist/annotations/annotation-node.d.ts +11 -0
- package/dist/annotations/annotation-node.js +145 -0
- package/dist/annotations/annotation-overlay.d.ts +16 -0
- package/dist/annotations/annotation-overlay.js +166 -0
- package/dist/annotations/annotation-panel.d.ts +24 -0
- package/dist/annotations/annotation-panel.js +362 -0
- package/dist/annotations/annotation-text.d.ts +16 -0
- package/dist/annotations/annotation-text.js +150 -0
- package/dist/annotations/annotation-utils.d.ts +39 -0
- package/dist/annotations/annotation-utils.js +156 -0
- package/dist/annotations/index.d.ts +7 -0
- package/dist/annotations/index.js +53 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
- package/dist/annotations/lexical-editor/floating-link-editor.js +194 -0
- package/dist/annotations/lexical-editor/index.d.ts +7 -0
- package/dist/annotations/lexical-editor/index.js +78 -0
- package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
- package/dist/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
- package/dist/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +122 -0
- package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.js +293 -0
- package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
- package/dist/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/bottom-widget.d.ts +1 -1
- package/dist/bottom-widget.js +12 -6
- package/dist/common/action-panel.js +1 -1
- package/dist/common/animation-control/animation-control.d.ts +1 -0
- package/dist/common/animation-control/animation-control.js +3 -1
- package/dist/common/animation-control/animation-controller.js +8 -6
- package/dist/common/animation-control/export-video-control.d.ts +9 -0
- package/dist/common/animation-control/export-video-control.js +43 -0
- package/dist/common/animation-control/playback-controls.d.ts +4 -2
- package/dist/common/animation-control/playback-controls.js +7 -4
- package/dist/common/checkbox.d.ts +5 -21
- package/dist/common/checkbox.js +58 -70
- package/dist/common/color-legend.d.ts +1 -1
- package/dist/common/color-legend.js +3 -3
- package/dist/common/data-table/canvas.d.ts +1 -1
- package/dist/common/data-table/index.d.ts +2 -2
- package/dist/common/data-table/index.js +3 -3
- package/dist/common/dnd-layer-items.d.ts +4 -0
- package/dist/common/dnd-layer-items.js +6 -2
- package/dist/common/error-boundary.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.js +4 -4
- package/dist/common/flex-container.d.ts +15 -7
- package/dist/common/histogram-plot.js +102 -53
- package/dist/common/icon-button.d.ts +53 -6
- package/dist/common/icons/3d-models/airplane.d.ts +14 -0
- package/dist/common/icons/3d-models/airplane.js +104 -0
- package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
- package/dist/common/icons/3d-models/bicycle.js +426 -0
- package/dist/common/icons/3d-models/boeing.d.ts +14 -0
- package/dist/common/icons/3d-models/boeing.js +119 -0
- package/dist/common/icons/3d-models/car.d.ts +14 -0
- package/dist/common/icons/3d-models/car.js +110 -0
- package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
- package/dist/common/icons/3d-models/cargoship.js +246 -0
- package/dist/common/icons/3d-models/evtol.d.ts +14 -0
- package/dist/common/icons/3d-models/evtol.js +134 -0
- package/dist/common/icons/3d-models/glider.d.ts +14 -0
- package/dist/common/icons/3d-models/glider.js +62 -0
- package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
- package/dist/common/icons/3d-models/helicopter.js +110 -0
- package/dist/common/icons/3d-models/scooter.d.ts +14 -0
- package/dist/common/icons/3d-models/scooter.js +159 -0
- package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
- package/dist/common/icons/3d-models/semitruck.js +177 -0
- package/dist/common/icons/3d-models/truck.d.ts +14 -0
- package/dist/common/icons/3d-models/truck.js +122 -0
- package/dist/common/icons/anchor_window.d.ts +1 -8
- package/dist/common/icons/anchor_window.js +17 -10
- package/dist/common/icons/annotation-text.d.ts +9 -0
- package/dist/common/icons/annotation-text.js +56 -0
- package/dist/common/icons/arrow-down-full.d.ts +2 -1
- package/dist/common/icons/arrow-down-full.js +1 -1
- package/dist/common/icons/folder.d.ts +10 -0
- package/dist/common/icons/folder.js +51 -0
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/index.js +15 -1
- package/dist/common/icons/timeline-marker.d.ts +2 -1
- package/dist/common/icons/timeline-marker.js +1 -1
- package/dist/common/item-selector/chickleted-input.d.ts +1 -1
- package/dist/common/item-selector/chickleted-input.js +5 -5
- package/dist/common/item-selector/dropdown-list.d.ts +1 -1
- package/dist/common/item-selector/dropdown-list.js +1 -1
- package/dist/common/item-selector/dropdown-select.d.ts +13 -7
- package/dist/common/item-selector/item-selector.d.ts +1 -1
- package/dist/common/item-selector/item-selector.js +1 -1
- package/dist/common/item-selector/typeahead.d.ts +4 -4
- package/dist/common/item-selector/typeahead.js +1 -3
- package/dist/common/layout-splitter.d.ts +45 -0
- package/dist/common/layout-splitter.js +231 -0
- package/dist/common/line-chart.d.ts +10 -3
- package/dist/common/line-chart.js +219 -52
- package/dist/common/modal.d.ts +11 -5
- package/dist/common/modal.js +1 -1
- package/dist/common/portaled.d.ts +17 -17
- package/dist/common/range-plot.js +4 -2
- package/dist/common/range-slider.d.ts +2 -0
- package/dist/common/range-slider.js +108 -45
- package/dist/common/slider/mouse-event.d.ts +1 -1
- package/dist/common/slider/mouse-event.js +1 -2
- package/dist/common/slider/slider-bar-handle.d.ts +1 -1
- package/dist/common/slider/slider-bar-handle.js +1 -1
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider-handle.js +1 -1
- package/dist/common/slider/slider.d.ts +8 -4
- package/dist/common/slider/slider.js +78 -35
- package/dist/common/styled-components.d.ts +628 -178
- package/dist/common/styled-components.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +1 -1
- package/dist/common/time-range-slider-time-title.js +5 -5
- package/dist/common/time-range-slider.d.ts +2 -1
- package/dist/common/time-range-slider.js +19 -7
- package/dist/common/timeline-helpers.d.ts +3 -0
- package/dist/common/timeline-helpers.js +57 -0
- package/dist/common/timeline-slider.js +21 -12
- package/dist/common/toolbar-item.js +5 -5
- package/dist/common/toolbar.d.ts +1 -1
- package/dist/common/toolbar.js +4 -4
- package/dist/common/vertical-toolbar.d.ts +13 -3
- package/dist/container.d.ts +3 -2
- package/dist/container.js +2 -2
- package/dist/context.d.ts +1 -1
- package/dist/context.js +1 -1
- package/dist/dnd-context.d.ts +4 -3
- package/dist/dnd-context.js +64 -9
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +5 -6
- package/dist/effects/effect-configurator.js +213 -52
- package/dist/effects/effect-manager.js +3 -3
- package/dist/effects/effect-panel-header.js +34 -17
- package/dist/effects/effect-panel.d.ts +4 -4
- package/dist/effects/effect-panel.js +61 -86
- package/dist/effects/effect-time-configurator.js +10 -10
- package/dist/effects/effect-type-dropdown-list.d.ts +1 -0
- package/dist/effects/effect-type-dropdown-list.js +1 -1
- package/dist/effects/effect-type-list-item.d.ts +2 -1
- package/dist/effects/effect-type-list-item.js +23 -7
- package/dist/effects/effect-type-selector.d.ts +1 -0
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/surface-fog-section.d.ts +14 -0
- package/dist/effects/surface-fog-section.js +263 -0
- package/dist/filters/components.d.ts +7 -5
- package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +6 -2
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/index.js +8 -1
- package/dist/filters/polygon-filter.js +2 -2
- package/dist/filters/time-range-filter.js +3 -1
- package/dist/filters/time-widget-settings.d.ts +14 -0
- package/dist/filters/time-widget-settings.js +312 -0
- package/dist/filters/time-widget-top.d.ts +2 -3
- package/dist/filters/time-widget-top.js +32 -39
- package/dist/filters/time-widget.d.ts +3 -2
- package/dist/filters/time-widget.js +285 -9
- package/dist/filters/types.d.ts +3 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +4 -1
- package/dist/geocoder/geocoder.js +61 -14
- package/dist/geocoder-panel.d.ts +3 -2
- package/dist/geocoder-panel.js +11 -8
- package/dist/hooks/use-dnd-layers.d.ts +4 -3
- package/dist/hooks/use-dnd-layers.js +103 -42
- package/dist/index.d.ts +17 -2
- package/dist/index.js +161 -9
- package/dist/injector.d.ts +1 -1
- package/dist/kepler-gl.d.ts +179 -27
- package/dist/kepler-gl.js +91 -12
- package/dist/loading-indicator.d.ts +3 -1
- package/dist/loading-indicator.js +6 -3
- package/dist/map/annotations/annotation-control.d.ts +16 -0
- package/dist/map/annotations/annotation-control.js +56 -0
- package/dist/map/layer-hover-info.d.ts +7 -3
- package/dist/map/layer-hover-info.js +124 -55
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.js +3 -2
- package/dist/map/map-control-toolbar.d.ts +33 -8
- package/dist/map/map-control.d.ts +14 -4
- package/dist/map/map-control.js +18 -8
- package/dist/map/map-draw-panel.d.ts +1 -1
- package/dist/map/map-draw-panel.js +7 -4
- package/dist/map/map-legend-panel.d.ts +11 -2
- package/dist/map/map-legend-panel.js +25 -8
- package/dist/map/map-legend.d.ts +20 -3
- package/dist/map/map-legend.js +145 -31
- package/dist/map/map-navigation-control.d.ts +13 -0
- package/dist/map/map-navigation-control.js +143 -0
- package/dist/map/map-popover.js +2 -2
- package/dist/map/split-map-button.d.ts +6 -1
- package/dist/map/split-map-button.js +113 -19
- package/dist/map-container.d.ts +13 -3
- package/dist/map-container.js +269 -59
- package/dist/map-view-state-context.d.ts +1 -0
- package/dist/map-view-state-context.js +1 -1
- package/dist/maps-layout.d.ts +3 -0
- package/dist/maps-layout.js +86 -26
- package/dist/modal-container.d.ts +3 -2
- package/dist/modal-container.js +28 -6
- package/dist/modals/add-map-style-modal.js +173 -200
- package/dist/modals/cloud-tile.d.ts +1 -2
- package/dist/modals/data-table-modal.d.ts +1 -1
- package/dist/modals/data-table-modal.js +146 -194
- package/dist/modals/export-data-modal.js +117 -139
- package/dist/modals/export-map-modal/components.d.ts +9 -5
- package/dist/modals/export-video-modal.d.ts +28 -0
- package/dist/modals/export-video-modal.js +371 -0
- package/dist/modals/export-video-modal.spec.d.ts +1 -0
- package/dist/modals/export-video-modal.spec.js +686 -0
- package/dist/modals/fog-height-animation.d.ts +8 -0
- package/dist/modals/fog-height-animation.js +97 -0
- package/dist/modals/hubble-utils.d.ts +41 -0
- package/dist/modals/hubble-utils.js +294 -0
- package/dist/modals/hubble-utils.spec.d.ts +1 -0
- package/dist/modals/hubble-utils.spec.js +397 -0
- package/dist/modals/modal-dialog.d.ts +1 -1
- package/dist/modals/share-map-modal.d.ts +2 -4
- package/dist/modals/swipe-composite-utils.d.ts +10 -0
- package/dist/modals/swipe-composite-utils.js +108 -0
- package/dist/modals/swipe-export-settings.d.ts +24 -0
- package/dist/modals/swipe-export-settings.js +370 -0
- package/dist/modals/swipe-export-video-container.d.ts +122 -0
- package/dist/modals/swipe-export-video-container.js +630 -0
- package/dist/modals/swipe-export-video-preview.d.ts +68 -0
- package/dist/modals/swipe-export-video-preview.js +339 -0
- package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
- package/dist/modals/tilesets-modals/load-tileset.js +21 -10
- package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +284 -0
- package/dist/modals/tilesets-modals/tileset-raster-form.js +90 -11
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +3 -2
- package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
- package/dist/modals/tilesets-modals/tileset-wms-form.js +4 -3
- package/dist/notification-panel/notification-item.d.ts +1 -53
- package/dist/notification-panel/notification-item.js +47 -75
- package/dist/notification-panel.d.ts +1 -1
- package/dist/notification-panel.js +20 -42
- package/dist/plot-container.js +7 -6
- package/dist/side-panel/add-by-dataset-button.js +3 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +7 -3
- package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
- package/dist/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +10 -3
- package/dist/side-panel/layer-manager.d.ts +5 -4
- package/dist/side-panel/layer-manager.js +26 -6
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
- package/dist/side-panel/layer-panel/color-selector.d.ts +6 -4
- package/dist/side-panel/layer-panel/custom-palette.d.ts +3 -5
- package/dist/side-panel/layer-panel/custom-palette.js +5 -5
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -11
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -2
- package/dist/side-panel/layer-panel/layer-configurator.js +450 -76
- package/dist/side-panel/layer-panel/layer-group-header.d.ts +15 -0
- package/dist/side-panel/layer-panel/layer-group-header.js +179 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +9 -4
- package/dist/side-panel/layer-panel/layer-list.js +197 -40
- package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +127 -27
- package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +123 -0
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -10
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +2 -0
- package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
- package/dist/side-panel/panel-header.d.ts +1 -0
- package/dist/side-panel/panel-header.js +9 -2
- package/dist/side-panel/panel-tab.d.ts +2 -4
- package/dist/side-panel/panel-tab.js +4 -4
- package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
- package/dist/side-panel/side-bar.d.ts +1 -6
- package/dist/side-panel.d.ts +1 -1
- package/dist/side-panel.js +5 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.js +1 -1
- package/package.json +53 -48
- package/dist/map/layer-selector-panel.d.ts +0 -21
- package/dist/map/layer-selector-panel.js +0 -85
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +0 -11
- package/dist/side-panel/layer-panel/radius-by-zoom-input.js +0 -220
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
14
|
+
var _core = require("@dnd-kit/core");
|
|
15
|
+
var _constants = require("@kepler.gl/constants");
|
|
16
|
+
var _annotationUtils = require("./annotation-utils");
|
|
17
|
+
var _lexicalEditor = require("./lexical-editor");
|
|
18
|
+
var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
|
|
19
|
+
// Copyright contributors to the kepler.gl project
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
+
var StyledAnnotationText = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n color: #fff;\n transition: border-color 0.2s;\n border: 2px solid transparent;\n padding: 4px 8px;\n white-space: pre-wrap;\n word-break: break-word;\n &:focus {\n outline: none;\n }\n ", "\n ", "\n .editor-inner {\n justify-content: ", ";\n }\n"])), function (props) {
|
|
25
|
+
return props.$isEditing ? "\n border-color: ".concat(props.$isSelected ? 'rgba(255,255,255,0.8)' : 'rgba(255,255,255,0.2)', ";\n &:hover {\n border-color: rgba(255,255,255,0.6);\n }\n cursor: move;\n pointer-events: all;\n ") : "\n pointer-events: none;\n a {\n pointer-events: all;\n cursor: pointer;\n }\n ";
|
|
26
|
+
}, function (props) {
|
|
27
|
+
return props.$isEditingText ? "\n .editor-inner {\n cursor: text;\n }\n " : '';
|
|
28
|
+
}, function (props) {
|
|
29
|
+
return props.$textVerticalAlign === 'top' ? 'flex-start' : props.$textVerticalAlign === 'middle' ? 'center' : 'flex-end';
|
|
30
|
+
});
|
|
31
|
+
var StyledToolbarWrapper = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n bottom: 100%;\n left: 0;\n background-color: rgba(30, 33, 40, 0.95);\n border-radius: 5px;\n width: max-content;\n padding: 2px 5px;\n margin-bottom: 4px;\n z-index: 1;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n"])));
|
|
32
|
+
var AnnotationText = function AnnotationText(_ref) {
|
|
33
|
+
var annotation = _ref.annotation,
|
|
34
|
+
viewport = _ref.viewport,
|
|
35
|
+
isEditing = _ref.isEditing,
|
|
36
|
+
isSelected = _ref.isSelected,
|
|
37
|
+
isEditingText = _ref.isEditingText,
|
|
38
|
+
onSelect = _ref.onSelect,
|
|
39
|
+
onChangeText = _ref.onChangeText,
|
|
40
|
+
onUpdateAnnotation = _ref.onUpdateAnnotation;
|
|
41
|
+
var _useDraggable = (0, _core.useDraggable)({
|
|
42
|
+
id: "".concat(annotation.id, ":MOVE_TEXT")
|
|
43
|
+
}),
|
|
44
|
+
attributes = _useDraggable.attributes,
|
|
45
|
+
listeners = _useDraggable.listeners,
|
|
46
|
+
setNodeRef = _useDraggable.setNodeRef;
|
|
47
|
+
var textWidth = annotation.textWidth,
|
|
48
|
+
textHeight = annotation.textHeight,
|
|
49
|
+
lineColor = annotation.lineColor,
|
|
50
|
+
lineWidth = annotation.lineWidth,
|
|
51
|
+
textVerticalAlign = annotation.textVerticalAlign,
|
|
52
|
+
autoSize = annotation.autoSize,
|
|
53
|
+
kind = annotation.kind;
|
|
54
|
+
var _makeMarker = (0, _annotationUtils.makeMarker)(annotation, viewport),
|
|
55
|
+
x = _makeMarker.x,
|
|
56
|
+
y = _makeMarker.y,
|
|
57
|
+
tx = _makeMarker.tx,
|
|
58
|
+
ty = _makeMarker.ty;
|
|
59
|
+
var isArm = 'armLength' in annotation;
|
|
60
|
+
var isLeft = isArm && (0, _annotationUtils.isLeftOriented)(annotation.angle);
|
|
61
|
+
var style = (0, _react.useMemo)(function () {
|
|
62
|
+
return _objectSpread(_objectSpread({}, autoSize ? {
|
|
63
|
+
minWidth: 80
|
|
64
|
+
} : {
|
|
65
|
+
width: textWidth || 120
|
|
66
|
+
}), {}, {
|
|
67
|
+
bottom: viewport.height - (y + ty),
|
|
68
|
+
borderBottom: kind !== _constants.AnnotationKind.TEXT ? "".concat(lineWidth, "px solid ").concat(lineColor) : undefined
|
|
69
|
+
}, kind === _constants.AnnotationKind.TEXT ? {
|
|
70
|
+
left: x + tx - (textWidth || 80) / 2
|
|
71
|
+
} : isLeft ? {
|
|
72
|
+
right: viewport.width - x - tx
|
|
73
|
+
} : {
|
|
74
|
+
left: x + tx
|
|
75
|
+
});
|
|
76
|
+
}, [autoSize, kind, textWidth, tx, ty, viewport.width, viewport.height, x, y, isLeft, lineWidth, lineColor]);
|
|
77
|
+
var handleEditorChange = (0, _react.useCallback)(function (change) {
|
|
78
|
+
onChangeText(change.text, change.editorState);
|
|
79
|
+
}, [onChangeText]);
|
|
80
|
+
(0, _react.useEffect)(function () {
|
|
81
|
+
if (!isEditingText || !isSelected || !isEditing) {
|
|
82
|
+
var _window$getSelection;
|
|
83
|
+
(_window$getSelection = window.getSelection()) === null || _window$getSelection === void 0 || _window$getSelection.removeAllRanges();
|
|
84
|
+
}
|
|
85
|
+
}, [isEditingText, isSelected, isEditing]);
|
|
86
|
+
return /*#__PURE__*/_react["default"].createElement(StyledAnnotationText, (0, _extends2["default"])({
|
|
87
|
+
ref: setNodeRef,
|
|
88
|
+
$isEditing: isEditing,
|
|
89
|
+
$isEditingText: isEditingText,
|
|
90
|
+
$isSelected: isSelected,
|
|
91
|
+
$textVerticalAlign: textVerticalAlign,
|
|
92
|
+
style: style
|
|
93
|
+
}, isEditing ? _objectSpread(_objectSpread(_objectSpread({}, attributes), listeners), {}, {
|
|
94
|
+
onPointerDown: function onPointerDown(evt) {
|
|
95
|
+
var _listeners$onPointerD2;
|
|
96
|
+
var target = evt.target;
|
|
97
|
+
if (target instanceof Element && target.closest('.lexical-toolbar')) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (isEditingText) {
|
|
101
|
+
var _listeners$onPointerD;
|
|
102
|
+
if (target instanceof Element && target.closest('.editor-inner')) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
listeners === null || listeners === void 0 || (_listeners$onPointerD = listeners.onPointerDown) === null || _listeners$onPointerD === void 0 || _listeners$onPointerD.call(listeners, evt);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
listeners === null || listeners === void 0 || (_listeners$onPointerD2 = listeners.onPointerDown) === null || _listeners$onPointerD2 === void 0 || _listeners$onPointerD2.call(listeners, evt);
|
|
109
|
+
if (!isSelected) {
|
|
110
|
+
onSelect(false);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}) : {}, {
|
|
114
|
+
onClick: function onClick(evt) {
|
|
115
|
+
if (!isEditing) return;
|
|
116
|
+
var target = evt.target;
|
|
117
|
+
if (target instanceof Element && target.closest('.lexical-toolbar')) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
evt.stopPropagation();
|
|
121
|
+
if (!isEditingText) {
|
|
122
|
+
onSelect(true);
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
onDoubleClick: function onDoubleClick() {
|
|
126
|
+
if (!isEditing) {
|
|
127
|
+
onSelect(true);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}), /*#__PURE__*/_react["default"].createElement(_lexicalEditor.LexicalRichTextEditor, (0, _extends2["default"])({}, isEditingText && annotation.autoSize ? {} : {
|
|
131
|
+
width: textWidth || undefined
|
|
132
|
+
}, isEditingText && annotation.autoSizeY ? {} : {
|
|
133
|
+
height: textHeight || undefined
|
|
134
|
+
}, {
|
|
135
|
+
isEditable: isEditing && isEditingText,
|
|
136
|
+
editorState: annotation.editorState,
|
|
137
|
+
initialText: annotation.label,
|
|
138
|
+
onChange: handleEditorChange
|
|
139
|
+
}), isEditing && isSelected ? /*#__PURE__*/_react["default"].createElement(StyledToolbarWrapper, null, /*#__PURE__*/_react["default"].createElement(_lexicalEditor.LexicalToolbar, {
|
|
140
|
+
isEditingText: isEditingText,
|
|
141
|
+
textVerticalAlign: textVerticalAlign,
|
|
142
|
+
onChangeTextVerticalAlign: function onChangeTextVerticalAlign(value) {
|
|
143
|
+
onUpdateAnnotation({
|
|
144
|
+
textVerticalAlign: value
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
})) : null));
|
|
148
|
+
};
|
|
149
|
+
var _default = exports["default"] = AnnotationText;
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29yZSIsIl9jb25zdGFudHMiLCJfYW5ub3RhdGlvblV0aWxzIiwiX2xleGljYWxFZGl0b3IiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkQW5ub3RhdGlvblRleHQiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwiJGlzRWRpdGluZyIsImNvbmNhdCIsIiRpc1NlbGVjdGVkIiwiJGlzRWRpdGluZ1RleHQiLCIkdGV4dFZlcnRpY2FsQWxpZ24iLCJTdHlsZWRUb29sYmFyV3JhcHBlciIsIkFubm90YXRpb25UZXh0IiwiX3JlZiIsImFubm90YXRpb24iLCJ2aWV3cG9ydCIsImlzRWRpdGluZyIsImlzU2VsZWN0ZWQiLCJpc0VkaXRpbmdUZXh0Iiwib25TZWxlY3QiLCJvbkNoYW5nZVRleHQiLCJvblVwZGF0ZUFubm90YXRpb24iLCJfdXNlRHJhZ2dhYmxlIiwidXNlRHJhZ2dhYmxlIiwiaWQiLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwic2V0Tm9kZVJlZiIsInRleHRXaWR0aCIsInRleHRIZWlnaHQiLCJsaW5lQ29sb3IiLCJsaW5lV2lkdGgiLCJ0ZXh0VmVydGljYWxBbGlnbiIsImF1dG9TaXplIiwia2luZCIsIl9tYWtlTWFya2VyIiwibWFrZU1hcmtlciIsIngiLCJ5IiwidHgiLCJ0eSIsImlzQXJtIiwiaXNMZWZ0IiwiaXNMZWZ0T3JpZW50ZWQiLCJhbmdsZSIsInN0eWxlIiwidXNlTWVtbyIsIm1pbldpZHRoIiwid2lkdGgiLCJib3R0b20iLCJoZWlnaHQiLCJib3JkZXJCb3R0b20iLCJBbm5vdGF0aW9uS2luZCIsIlRFWFQiLCJ1bmRlZmluZWQiLCJsZWZ0IiwicmlnaHQiLCJoYW5kbGVFZGl0b3JDaGFuZ2UiLCJ1c2VDYWxsYmFjayIsImNoYW5nZSIsInRleHQiLCJlZGl0b3JTdGF0ZSIsInVzZUVmZmVjdCIsIl93aW5kb3ckZ2V0U2VsZWN0aW9uIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwicmVtb3ZlQWxsUmFuZ2VzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsInJlZiIsIm9uUG9pbnRlckRvd24iLCJldnQiLCJfbGlzdGVuZXJzJG9uUG9pbnRlckQyIiwidGFyZ2V0IiwiRWxlbWVudCIsImNsb3Nlc3QiLCJfbGlzdGVuZXJzJG9uUG9pbnRlckQiLCJvbkNsaWNrIiwic3RvcFByb3BhZ2F0aW9uIiwib25Eb3VibGVDbGljayIsIkxleGljYWxSaWNoVGV4dEVkaXRvciIsImF1dG9TaXplWSIsImlzRWRpdGFibGUiLCJpbml0aWFsVGV4dCIsImxhYmVsIiwib25DaGFuZ2UiLCJMZXhpY2FsVG9vbGJhciIsIm9uQ2hhbmdlVGV4dFZlcnRpY2FsQWxpZ24iLCJ2YWx1ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0ZDLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7dXNlRHJhZ2dhYmxlfSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7QW5ub3RhdGlvbiwgQW5ub3RhdGlvbldpdGhBcm19IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtBbm5vdGF0aW9uS2luZH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHttYWtlTWFya2VyLCBpc0xlZnRPcmllbnRlZCwgTWFwVmlld3BvcnR9IGZyb20gJy4vYW5ub3RhdGlvbi11dGlscyc7XG5pbXBvcnQge0xleGljYWxSaWNoVGV4dEVkaXRvciwgTGV4aWNhbFRvb2xiYXJ9IGZyb20gJy4vbGV4aWNhbC1lZGl0b3InO1xuaW1wb3J0IHtTZXJpYWxpemVkRWRpdG9yU3RhdGV9IGZyb20gJ2xleGljYWwnO1xuXG50eXBlIFN0eWxlZEFubm90YXRpb25UZXh0UHJvcHMgPSB7XG4gICRpc0VkaXRpbmc/OiBib29sZWFuO1xuICAkaXNTZWxlY3RlZD86IGJvb2xlYW47XG4gICRpc0VkaXRpbmdUZXh0PzogYm9vbGVhbjtcbiAgJHRleHRWZXJ0aWNhbEFsaWduPzogc3RyaW5nO1xufTtcblxuY29uc3QgU3R5bGVkQW5ub3RhdGlvblRleHQgPSBzdHlsZWQuZGl2PFN0eWxlZEFubm90YXRpb25UZXh0UHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAke3Byb3BzID0+XG4gICAgcHJvcHMuJGlzRWRpdGluZ1xuICAgICAgPyBgXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy4kaXNTZWxlY3RlZCA/ICdyZ2JhKDI1NSwyNTUsMjU1LDAuOCknIDogJ3JnYmEoMjU1LDI1NSwyNTUsMC4yKSd9O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcbiAgICAgICAgfVxuICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICBgXG4gICAgICA6IGBcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICBgfVxuICAke3Byb3BzID0+XG4gICAgcHJvcHMuJGlzRWRpdGluZ1RleHRcbiAgICAgID8gYFxuICAgIC5lZGl0b3ItaW5uZXIge1xuICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgIH1cbiAgYFxuICAgICAgOiAnJ31cbiAgLmVkaXRvci1pbm5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiAke3Byb3BzID0+XG4gICAgICBwcm9wcy4kdGV4dFZlcnRpY2FsQWxpZ24gPT09ICd0b3AnXG4gICAgICAgID8gJ2ZsZXgtc3RhcnQnXG4gICAgICAgIDogcHJvcHMuJHRleHRWZXJ0aWNhbEFsaWduID09PSAnbWlkZGxlJ1xuICAgICAgICA/ICdjZW50ZXInXG4gICAgICAgIDogJ2ZsZXgtZW5kJ307XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFRvb2xiYXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMzLCA0MCwgMC45NSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHotaW5kZXg6IDE7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG5gO1xuXG5leHBvcnQgdHlwZSBBbm5vdGF0aW9uVGV4dFByb3BzID0ge1xuICBhbm5vdGF0aW9uOiBBbm5vdGF0aW9uO1xuICB2aWV3cG9ydDogTWFwVmlld3BvcnQ7XG4gIGlzRWRpdGluZzogYm9vbGVhbjtcbiAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgaXNFZGl0aW5nVGV4dDogYm9vbGVhbjtcbiAgb25TZWxlY3Q6IChpc0VkaXRpbmdUZXh0OiBib29sZWFuKSA9PiB2b2lkO1xuICBvbkNoYW5nZVRleHQ6ICh0ZXh0OiBzdHJpbmcsIGVkaXRvclN0YXRlPzogU2VyaWFsaXplZEVkaXRvclN0YXRlKSA9PiB2b2lkO1xuICBvblVwZGF0ZUFubm90YXRpb246IChjb25maWc6IFBhcnRpYWw8QW5ub3RhdGlvbj4pID0+IHZvaWQ7XG59O1xuXG5jb25zdCBBbm5vdGF0aW9uVGV4dDogRkM8QW5ub3RhdGlvblRleHRQcm9wcz4gPSAoe1xuICBhbm5vdGF0aW9uLFxuICB2aWV3cG9ydCxcbiAgaXNFZGl0aW5nLFxuICBpc1NlbGVjdGVkLFxuICBpc0VkaXRpbmdUZXh0LFxuICBvblNlbGVjdCxcbiAgb25DaGFuZ2VUZXh0LFxuICBvblVwZGF0ZUFubm90YXRpb25cbn0pID0+IHtcbiAgY29uc3Qge2F0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZn0gPSB1c2VEcmFnZ2FibGUoe1xuICAgIGlkOiBgJHthbm5vdGF0aW9uLmlkfTpNT1ZFX1RFWFRgXG4gIH0pO1xuXG4gIGNvbnN0IHt0ZXh0V2lkdGgsIHRleHRIZWlnaHQsIGxpbmVDb2xvciwgbGluZVdpZHRoLCB0ZXh0VmVydGljYWxBbGlnbiwgYXV0b1NpemUsIGtpbmR9ID1cbiAgICBhbm5vdGF0aW9uO1xuICBjb25zdCB7eCwgeSwgdHgsIHR5fSA9IG1ha2VNYXJrZXIoYW5ub3RhdGlvbiwgdmlld3BvcnQpO1xuXG4gIGNvbnN0IGlzQXJtID0gJ2FybUxlbmd0aCcgaW4gYW5ub3RhdGlvbjtcbiAgY29uc3QgaXNMZWZ0ID0gaXNBcm0gJiYgaXNMZWZ0T3JpZW50ZWQoKGFubm90YXRpb24gYXMgQW5ub3RhdGlvbldpdGhBcm0pLmFuZ2xlKTtcblxuICBjb25zdCBzdHlsZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIC4uLihhdXRvU2l6ZSA/IHttaW5XaWR0aDogODB9IDoge3dpZHRoOiB0ZXh0V2lkdGggfHwgMTIwfSksXG4gICAgICBib3R0b206IHZpZXdwb3J0LmhlaWdodCAtICh5ICsgdHkpLFxuICAgICAgYm9yZGVyQm90dG9tOlxuICAgICAgICBraW5kICE9PSBBbm5vdGF0aW9uS2luZC5URVhUID8gYCR7bGluZVdpZHRofXB4IHNvbGlkICR7bGluZUNvbG9yfWAgOiB1bmRlZmluZWQsXG4gICAgICAuLi4oa2luZCA9PT0gQW5ub3RhdGlvbktpbmQuVEVYVFxuICAgICAgICA/IHtsZWZ0OiB4ICsgdHggLSAodGV4dFdpZHRoIHx8IDgwKSAvIDJ9XG4gICAgICAgIDogaXNMZWZ0XG4gICAgICAgID8ge3JpZ2h0OiB2aWV3cG9ydC53aWR0aCAtIHggLSB0eH1cbiAgICAgICAgOiB7bGVmdDogeCArIHR4fSlcbiAgICB9KSxcbiAgICBbYXV0b1NpemUsIGtpbmQsIHRleHRXaWR0aCwgdHgsIHR5LCB2aWV3cG9ydC53aWR0aCwgdmlld3BvcnQuaGVpZ2h0LCB4LCB5LCBpc0xlZnQsIGxpbmVXaWR0aCwgbGluZUNvbG9yXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUVkaXRvckNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChjaGFuZ2U6IHt0ZXh0OiBzdHJpbmc7IGVkaXRvclN0YXRlOiBTZXJpYWxpemVkRWRpdG9yU3RhdGV9KSA9PiB7XG4gICAgICBvbkNoYW5nZVRleHQoY2hhbmdlLnRleHQsIGNoYW5nZS5lZGl0b3JTdGF0ZSk7XG4gICAgfSxcbiAgICBbb25DaGFuZ2VUZXh0XVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0VkaXRpbmdUZXh0IHx8ICFpc1NlbGVjdGVkIHx8ICFpc0VkaXRpbmcpIHtcbiAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgfVxuICB9LCBbaXNFZGl0aW5nVGV4dCwgaXNTZWxlY3RlZCwgaXNFZGl0aW5nXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQW5ub3RhdGlvblRleHRcbiAgICAgIHJlZj17c2V0Tm9kZVJlZn1cbiAgICAgICRpc0VkaXRpbmc9e2lzRWRpdGluZ31cbiAgICAgICRpc0VkaXRpbmdUZXh0PXtpc0VkaXRpbmdUZXh0fVxuICAgICAgJGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAkdGV4dFZlcnRpY2FsQWxpZ249e3RleHRWZXJ0aWNhbEFsaWdufVxuICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgey4uLihpc0VkaXRpbmdcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgLi4ubGlzdGVuZXJzLFxuICAgICAgICAgICAgb25Qb2ludGVyRG93bjogKGV2dDogUmVhY3QuUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHt0YXJnZXR9ID0gZXZ0O1xuICAgICAgICAgICAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCAmJiB0YXJnZXQuY2xvc2VzdCgnLmxleGljYWwtdG9vbGJhcicpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChpc0VkaXRpbmdUZXh0KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgdGFyZ2V0LmNsb3Nlc3QoJy5lZGl0b3ItaW5uZXInKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaXN0ZW5lcnM/Lm9uUG9pbnRlckRvd24/LihldnQgYXMgYW55KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbGlzdGVuZXJzPy5vblBvaW50ZXJEb3duPy4oZXZ0IGFzIGFueSk7XG4gICAgICAgICAgICAgIGlmICghaXNTZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIG9uU2VsZWN0KGZhbHNlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgOiB7fSl9XG4gICAgICBvbkNsaWNrPXtldnQgPT4ge1xuICAgICAgICBpZiAoIWlzRWRpdGluZykgcmV0dXJuO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldnQudGFyZ2V0O1xuICAgICAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCAmJiB0YXJnZXQuY2xvc2VzdCgnLmxleGljYWwtdG9vbGJhcicpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKCFpc0VkaXRpbmdUZXh0KSB7XG4gICAgICAgICAgb25TZWxlY3QodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBvbkRvdWJsZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGlmICghaXNFZGl0aW5nKSB7XG4gICAgICAgICAgb25TZWxlY3QodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgPlxuICAgICAgPExleGljYWxSaWNoVGV4dEVkaXRvclxuICAgICAgICB7Li4uKGlzRWRpdGluZ1RleHQgJiYgYW5ub3RhdGlvbi5hdXRvU2l6ZSA/IHt9IDoge3dpZHRoOiB0ZXh0V2lkdGggfHwgdW5kZWZpbmVkfSl9XG4gICAgICAgIHsuLi4oaXNFZGl0aW5nVGV4dCAmJiBhbm5vdGF0aW9uLmF1dG9TaXplWSA/IHt9IDoge2hlaWdodDogdGV4dEhlaWdodCB8fCB1bmRlZmluZWR9KX1cbiAgICAgICAgaXNFZGl0YWJsZT17aXNFZGl0aW5nICYmIGlzRWRpdGluZ1RleHR9XG4gICAgICAgIGVkaXRvclN0YXRlPXthbm5vdGF0aW9uLmVkaXRvclN0YXRlIGFzIFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB8IHVuZGVmaW5lZH1cbiAgICAgICAgaW5pdGlhbFRleHQ9e2Fubm90YXRpb24ubGFiZWx9XG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVFZGl0b3JDaGFuZ2V9XG4gICAgICA+XG4gICAgICAgIHtpc0VkaXRpbmcgJiYgaXNTZWxlY3RlZCA/IChcbiAgICAgICAgICA8U3R5bGVkVG9vbGJhcldyYXBwZXI+XG4gICAgICAgICAgICA8TGV4aWNhbFRvb2xiYXJcbiAgICAgICAgICAgICAgaXNFZGl0aW5nVGV4dD17aXNFZGl0aW5nVGV4dH1cbiAgICAgICAgICAgICAgdGV4dFZlcnRpY2FsQWxpZ249e3RleHRWZXJ0aWNhbEFsaWdufVxuICAgICAgICAgICAgICBvbkNoYW5nZVRleHRWZXJ0aWNhbEFsaWduPXt2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgb25VcGRhdGVBbm5vdGF0aW9uKHt0ZXh0VmVydGljYWxBbGlnbjogdmFsdWV9KTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRUb29sYmFyV3JhcHBlcj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L0xleGljYWxSaWNoVGV4dEVkaXRvcj5cbiAgICA8L1N0eWxlZEFubm90YXRp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
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Annotation } from '@kepler.gl/types';
|
|
2
|
+
import { AnnotationKind } from '@kepler.gl/constants';
|
|
3
|
+
export type MapViewport = {
|
|
4
|
+
project: (lngLat: [number, number]) => [number, number];
|
|
5
|
+
unproject: (xy: [number, number]) => [number, number];
|
|
6
|
+
longitude: number;
|
|
7
|
+
latitude: number;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
zoom: number;
|
|
11
|
+
};
|
|
12
|
+
export type BaseAnnotationMarker = {
|
|
13
|
+
kind: AnnotationKind;
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
tx: number;
|
|
17
|
+
ty: number;
|
|
18
|
+
};
|
|
19
|
+
export type CircleAnnotationMarker = BaseAnnotationMarker & {
|
|
20
|
+
kind: AnnotationKind.CIRCLE;
|
|
21
|
+
ax: number;
|
|
22
|
+
ay: number;
|
|
23
|
+
r: number;
|
|
24
|
+
};
|
|
25
|
+
export type AnnotationMarker = BaseAnnotationMarker | CircleAnnotationMarker;
|
|
26
|
+
export declare function makeMarker(annotation: Annotation, viewport: MapViewport): AnnotationMarker;
|
|
27
|
+
export declare function isLeftOriented(angle: number): boolean;
|
|
28
|
+
export declare function movePoint(annotation: Annotation, delta: {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
}, viewport: MapViewport): Partial<Annotation>;
|
|
32
|
+
export declare function moveText(annotation: Annotation, delta: {
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
}, viewport: MapViewport): Partial<Annotation>;
|
|
36
|
+
export declare function resizeCircle(annotation: Annotation, delta: {
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
}, viewport: MapViewport): Partial<Annotation>;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.isLeftOriented = isLeftOriented;
|
|
8
|
+
exports.makeMarker = makeMarker;
|
|
9
|
+
exports.movePoint = movePoint;
|
|
10
|
+
exports.moveText = moveText;
|
|
11
|
+
exports.resizeCircle = resizeCircle;
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _webMercator = require("@math.gl/web-mercator");
|
|
14
|
+
var _constants = require("@kepler.gl/constants");
|
|
15
|
+
// SPDX-License-Identifier: MIT
|
|
16
|
+
// Copyright contributors to the kepler.gl project
|
|
17
|
+
|
|
18
|
+
function degreesToRadians(degree) {
|
|
19
|
+
return degree * (Math.PI / 180);
|
|
20
|
+
}
|
|
21
|
+
function calcRadius(viewport, point, radiusInMeters) {
|
|
22
|
+
var _viewport$project = viewport.project(point),
|
|
23
|
+
_viewport$project2 = (0, _slicedToArray2["default"])(_viewport$project, 2),
|
|
24
|
+
x = _viewport$project2[0],
|
|
25
|
+
y = _viewport$project2[1];
|
|
26
|
+
var shifted = (0, _webMercator.addMetersToLngLat)(point, [radiusInMeters, 0, 0]);
|
|
27
|
+
var _viewport$project3 = viewport.project(shifted),
|
|
28
|
+
_viewport$project4 = (0, _slicedToArray2["default"])(_viewport$project3, 2),
|
|
29
|
+
x1 = _viewport$project4[0],
|
|
30
|
+
y1 = _viewport$project4[1];
|
|
31
|
+
var dx = x1 - x;
|
|
32
|
+
var dy = y1 - y;
|
|
33
|
+
return Math.sqrt(dx * dx + dy * dy);
|
|
34
|
+
}
|
|
35
|
+
function makeMarker(annotation, viewport) {
|
|
36
|
+
var kind = annotation.kind,
|
|
37
|
+
anchorPoint = annotation.anchorPoint;
|
|
38
|
+
var angle = (0, _constants.isAnnotationWithArm)(annotation) ? degreesToRadians(annotation.angle) : 0;
|
|
39
|
+
var _viewport$project5 = viewport.project(anchorPoint),
|
|
40
|
+
_viewport$project6 = (0, _slicedToArray2["default"])(_viewport$project5, 2),
|
|
41
|
+
x = _viewport$project6[0],
|
|
42
|
+
y = _viewport$project6[1];
|
|
43
|
+
switch (kind) {
|
|
44
|
+
case _constants.AnnotationKind.CIRCLE:
|
|
45
|
+
{
|
|
46
|
+
var armLength = annotation.armLength,
|
|
47
|
+
radiusInMeters = annotation.radiusInMeters;
|
|
48
|
+
var r = calcRadius(viewport, anchorPoint, radiusInMeters);
|
|
49
|
+
var ax = Math.cos(angle) * r,
|
|
50
|
+
ay = Math.sin(angle) * r;
|
|
51
|
+
var tx = Math.cos(angle) * (r + armLength),
|
|
52
|
+
ty = Math.sin(angle) * (r + armLength);
|
|
53
|
+
return {
|
|
54
|
+
kind: kind,
|
|
55
|
+
x: x,
|
|
56
|
+
y: y,
|
|
57
|
+
ax: ax,
|
|
58
|
+
ay: ay,
|
|
59
|
+
tx: tx,
|
|
60
|
+
ty: ty,
|
|
61
|
+
r: r
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
case _constants.AnnotationKind.ARROW:
|
|
65
|
+
case _constants.AnnotationKind.POINT:
|
|
66
|
+
{
|
|
67
|
+
var _armLength = annotation.armLength;
|
|
68
|
+
var _tx = Math.cos(angle) * _armLength,
|
|
69
|
+
_ty = Math.sin(angle) * _armLength;
|
|
70
|
+
return {
|
|
71
|
+
kind: kind,
|
|
72
|
+
x: x,
|
|
73
|
+
y: y,
|
|
74
|
+
tx: _tx,
|
|
75
|
+
ty: _ty
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
case _constants.AnnotationKind.TEXT:
|
|
79
|
+
default:
|
|
80
|
+
return {
|
|
81
|
+
kind: kind,
|
|
82
|
+
x: x,
|
|
83
|
+
y: y,
|
|
84
|
+
tx: 0,
|
|
85
|
+
ty: 0
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function isLeftOriented(angle) {
|
|
90
|
+
return angle > 90 || angle < -90;
|
|
91
|
+
}
|
|
92
|
+
function movePoint(annotation, delta, viewport) {
|
|
93
|
+
var anchorPoint = annotation.anchorPoint;
|
|
94
|
+
var _viewport$project7 = viewport.project(anchorPoint),
|
|
95
|
+
_viewport$project8 = (0, _slicedToArray2["default"])(_viewport$project7, 2),
|
|
96
|
+
px = _viewport$project8[0],
|
|
97
|
+
py = _viewport$project8[1];
|
|
98
|
+
var _viewport$unproject = viewport.unproject([px + delta.x, py + delta.y]),
|
|
99
|
+
_viewport$unproject2 = (0, _slicedToArray2["default"])(_viewport$unproject, 2),
|
|
100
|
+
lon = _viewport$unproject2[0],
|
|
101
|
+
lat = _viewport$unproject2[1];
|
|
102
|
+
return {
|
|
103
|
+
anchorPoint: [lon, lat]
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function moveText(annotation, delta, viewport) {
|
|
107
|
+
var marker = makeMarker(annotation, viewport);
|
|
108
|
+
var kind = marker.kind,
|
|
109
|
+
tx = marker.tx,
|
|
110
|
+
ty = marker.ty;
|
|
111
|
+
if (kind === _constants.AnnotationKind.TEXT) {
|
|
112
|
+
return movePoint(annotation, delta, viewport);
|
|
113
|
+
}
|
|
114
|
+
if (!(0, _constants.isAnnotationWithArm)(annotation)) {
|
|
115
|
+
return {};
|
|
116
|
+
}
|
|
117
|
+
var tx1 = tx + delta.x,
|
|
118
|
+
ty1 = ty + delta.y;
|
|
119
|
+
var nextAngle = radiansToDegrees(Math.atan2(ty1, tx1));
|
|
120
|
+
var nextArm;
|
|
121
|
+
switch (kind) {
|
|
122
|
+
case _constants.AnnotationKind.ARROW:
|
|
123
|
+
case _constants.AnnotationKind.POINT:
|
|
124
|
+
nextArm = Math.sqrt(tx1 * tx1 + ty1 * ty1);
|
|
125
|
+
break;
|
|
126
|
+
case _constants.AnnotationKind.CIRCLE:
|
|
127
|
+
nextArm = Math.sqrt(tx1 * tx1 + ty1 * ty1) - marker.r;
|
|
128
|
+
break;
|
|
129
|
+
default:
|
|
130
|
+
nextArm = annotation.armLength;
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
angle: nextAngle,
|
|
134
|
+
armLength: nextArm
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function resizeCircle(annotation, delta, viewport) {
|
|
138
|
+
if (annotation.kind !== _constants.AnnotationKind.CIRCLE) return {};
|
|
139
|
+
var anchorPoint = annotation.anchorPoint,
|
|
140
|
+
radiusInMeters = annotation.radiusInMeters;
|
|
141
|
+
var shifted = (0, _webMercator.addMetersToLngLat)(anchorPoint, [radiusInMeters, 0, 0]);
|
|
142
|
+
var _viewport$project9 = viewport.project(shifted),
|
|
143
|
+
_viewport$project10 = (0, _slicedToArray2["default"])(_viewport$project9, 1),
|
|
144
|
+
x = _viewport$project10[0];
|
|
145
|
+
var newPoint = viewport.unproject([x + delta.x, viewport.project(anchorPoint)[1]]);
|
|
146
|
+
var dx = newPoint[0] - anchorPoint[0];
|
|
147
|
+
var currentRadius = shifted[0] - anchorPoint[0];
|
|
148
|
+
var ratio = currentRadius !== 0 ? (currentRadius + dx) / currentRadius : 1;
|
|
149
|
+
return {
|
|
150
|
+
radiusInMeters: Math.max(0, radiusInMeters * ratio)
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function radiansToDegrees(radians) {
|
|
154
|
+
return radians * (180 / Math.PI);
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2ViTWVyY2F0b3IiLCJyZXF1aXJlIiwiX2NvbnN0YW50cyIsImRlZ3JlZXNUb1JhZGlhbnMiLCJkZWdyZWUiLCJNYXRoIiwiUEkiLCJjYWxjUmFkaXVzIiwidmlld3BvcnQiLCJwb2ludCIsInJhZGl1c0luTWV0ZXJzIiwiX3ZpZXdwb3J0JHByb2plY3QiLCJwcm9qZWN0IiwiX3ZpZXdwb3J0JHByb2plY3QyIiwiX3NsaWNlZFRvQXJyYXkyIiwieCIsInkiLCJzaGlmdGVkIiwiYWRkTWV0ZXJzVG9MbmdMYXQiLCJfdmlld3BvcnQkcHJvamVjdDMiLCJfdmlld3BvcnQkcHJvamVjdDQiLCJ4MSIsInkxIiwiZHgiLCJkeSIsInNxcnQiLCJtYWtlTWFya2VyIiwiYW5ub3RhdGlvbiIsImtpbmQiLCJhbmNob3JQb2ludCIsImFuZ2xlIiwiaXNBbm5vdGF0aW9uV2l0aEFybSIsIl92aWV3cG9ydCRwcm9qZWN0NSIsIl92aWV3cG9ydCRwcm9qZWN0NiIsIkFubm90YXRpb25LaW5kIiwiQ0lSQ0xFIiwiYXJtTGVuZ3RoIiwiciIsImF4IiwiY29zIiwiYXkiLCJzaW4iLCJ0eCIsInR5IiwiQVJST1ciLCJQT0lOVCIsIlRFWFQiLCJpc0xlZnRPcmllbnRlZCIsIm1vdmVQb2ludCIsImRlbHRhIiwiX3ZpZXdwb3J0JHByb2plY3Q3IiwiX3ZpZXdwb3J0JHByb2plY3Q4IiwicHgiLCJweSIsIl92aWV3cG9ydCR1bnByb2plY3QiLCJ1bnByb2plY3QiLCJfdmlld3BvcnQkdW5wcm9qZWN0MiIsImxvbiIsImxhdCIsIm1vdmVUZXh0IiwibWFya2VyIiwidHgxIiwidHkxIiwibmV4dEFuZ2xlIiwicmFkaWFuc1RvRGVncmVlcyIsImF0YW4yIiwibmV4dEFybSIsInJlc2l6ZUNpcmNsZSIsIl92aWV3cG9ydCRwcm9qZWN0OSIsIl92aWV3cG9ydCRwcm9qZWN0MTAiLCJuZXdQb2ludCIsImN1cnJlbnRSYWRpdXMiLCJyYXRpbyIsIm1heCIsInJhZGlhbnMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2FkZE1ldGVyc1RvTG5nTGF0fSBmcm9tICdAbWF0aC5nbC93ZWItbWVyY2F0b3InO1xuaW1wb3J0IHtBbm5vdGF0aW9uLCBBbm5vdGF0aW9uV2l0aEFybX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0Fubm90YXRpb25LaW5kLCBpc0Fubm90YXRpb25XaXRoQXJtfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmV4cG9ydCB0eXBlIE1hcFZpZXdwb3J0ID0ge1xuICBwcm9qZWN0OiAobG5nTGF0OiBbbnVtYmVyLCBudW1iZXJdKSA9PiBbbnVtYmVyLCBudW1iZXJdO1xuICB1bnByb2plY3Q6ICh4eTogW251bWJlciwgbnVtYmVyXSkgPT4gW251bWJlciwgbnVtYmVyXTtcbiAgbG9uZ2l0dWRlOiBudW1iZXI7XG4gIGxhdGl0dWRlOiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICB6b29tOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYXNlQW5ub3RhdGlvbk1hcmtlciA9IHtcbiAga2luZDogQW5ub3RhdGlvbktpbmQ7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB0eDogbnVtYmVyO1xuICB0eTogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQ2lyY2xlQW5ub3RhdGlvbk1hcmtlciA9IEJhc2VBbm5vdGF0aW9uTWFya2VyICYge1xuICBraW5kOiBBbm5vdGF0aW9uS2luZC5DSVJDTEU7XG4gIGF4OiBudW1iZXI7XG4gIGF5OiBudW1iZXI7XG4gIHI6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEFubm90YXRpb25NYXJrZXIgPSBCYXNlQW5ub3RhdGlvbk1hcmtlciB8IENpcmNsZUFubm90YXRpb25NYXJrZXI7XG5cbmZ1bmN0aW9uIGRlZ3JlZXNUb1JhZGlhbnMoZGVncmVlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gZGVncmVlICogKE1hdGguUEkgLyAxODApO1xufVxuXG5mdW5jdGlvbiBjYWxjUmFkaXVzKFxuICB2aWV3cG9ydDogTWFwVmlld3BvcnQsXG4gIHBvaW50OiBbbnVtYmVyLCBudW1iZXJdLFxuICByYWRpdXNJbk1ldGVyczogbnVtYmVyXG4pOiBudW1iZXIge1xuICBjb25zdCBbeCwgeV0gPSB2aWV3cG9ydC5wcm9qZWN0KHBvaW50KTtcbiAgY29uc3Qgc2hpZnRlZCA9IGFkZE1ldGVyc1RvTG5nTGF0KHBvaW50LCBbcmFkaXVzSW5NZXRlcnMsIDAsIDBdKSBhcyBbbnVtYmVyLCBudW1iZXJdO1xuICBjb25zdCBbeDEsIHkxXSA9IHZpZXdwb3J0LnByb2plY3Qoc2hpZnRlZCk7XG4gIGNvbnN0IGR4ID0geDEgLSB4O1xuICBjb25zdCBkeSA9IHkxIC0geTtcbiAgcmV0dXJuIE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlTWFya2VyKGFubm90YXRpb246IEFubm90YXRpb24sIHZpZXdwb3J0OiBNYXBWaWV3cG9ydCk6IEFubm90YXRpb25NYXJrZXIge1xuICBjb25zdCB7a2luZCwgYW5jaG9yUG9pbnR9ID0gYW5ub3RhdGlvbjtcbiAgY29uc3QgYW5nbGUgPSBpc0Fubm90YXRpb25XaXRoQXJtKGFubm90YXRpb24pID8gZGVncmVlc1RvUmFkaWFucyhhbm5vdGF0aW9uLmFuZ2xlKSA6IDA7XG4gIGNvbnN0IFt4LCB5XSA9IHZpZXdwb3J0LnByb2plY3QoYW5jaG9yUG9pbnQpO1xuXG4gIHN3aXRjaCAoa2luZCkge1xuICAgIGNhc2UgQW5ub3RhdGlvbktpbmQuQ0lSQ0xFOiB7XG4gICAgICBjb25zdCB7YXJtTGVuZ3RoLCByYWRpdXNJbk1ldGVyc30gPSBhbm5vdGF0aW9uO1xuICAgICAgY29uc3QgciA9IGNhbGNSYWRpdXModmlld3BvcnQsIGFuY2hvclBvaW50LCByYWRpdXNJbk1ldGVycyk7XG4gICAgICBjb25zdCBbYXgsIGF5XSA9IFtNYXRoLmNvcyhhbmdsZSkgKiByLCBNYXRoLnNpbihhbmdsZSkgKiByXTtcbiAgICAgIGNvbnN0IFt0eCwgdHldID0gW01hdGguY29zKGFuZ2xlKSAqIChyICsgYXJtTGVuZ3RoKSwgTWF0aC5zaW4oYW5nbGUpICogKHIgKyBhcm1MZW5ndGgpXTtcbiAgICAgIHJldHVybiB7a2luZCwgeCwgeSwgYXgsIGF5LCB0eCwgdHksIHJ9IGFzIENpcmNsZUFubm90YXRpb25NYXJrZXI7XG4gICAgfVxuICAgIGNhc2UgQW5ub3RhdGlvbktpbmQuQVJST1c6XG4gICAgY2FzZSBBbm5vdGF0aW9uS2luZC5QT0lOVDoge1xuICAgICAgY29uc3Qge2FybUxlbmd0aH0gPSBhbm5vdGF0aW9uO1xuICAgICAgY29uc3QgW3R4LCB0eV0gPSBbTWF0aC5jb3MoYW5nbGUpICogYXJtTGVuZ3RoLCBNYXRoLnNpbihhbmdsZSkgKiBhcm1MZW5ndGhdO1xuICAgICAgcmV0dXJuIHtraW5kLCB4LCB5LCB0eCwgdHl9O1xuICAgIH1cbiAgICBjYXNlIEFubm90YXRpb25LaW5kLlRFWFQ6XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB7a2luZCwgeCwgeSwgdHg6IDAsIHR5OiAwfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMZWZ0T3JpZW50ZWQoYW5nbGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICByZXR1cm4gYW5nbGUgPiA5MCB8fCBhbmdsZSA8IC05MDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVQb2ludChcbiAgYW5ub3RhdGlvbjogQW5ub3RhdGlvbixcbiAgZGVsdGE6IHt4OiBudW1iZXI7IHk6IG51bWJlcn0sXG4gIHZpZXdwb3J0OiBNYXBWaWV3cG9ydFxuKTogUGFydGlhbDxBbm5vdGF0aW9uPiB7XG4gIGNvbnN0IHthbmNob3JQb2ludH0gPSBhbm5vdGF0aW9uO1xuICBjb25zdCBbcHgsIHB5XSA9IHZpZXdwb3J0LnByb2plY3QoYW5jaG9yUG9pbnQpO1xuICBjb25zdCBbbG9uLCBsYXRdID0gdmlld3BvcnQudW5wcm9qZWN0KFtweCArIGRlbHRhLngsIHB5ICsgZGVsdGEueV0pO1xuICByZXR1cm4ge2FuY2hvclBvaW50OiBbbG9uLCBsYXRdfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVUZXh0KFxuICBhbm5vdGF0aW9uOiBBbm5vdGF0aW9uLFxuICBkZWx0YToge3g6IG51bWJlcjsgeTogbnVtYmVyfSxcbiAgdmlld3BvcnQ6IE1hcFZpZXdwb3J0XG4pOiBQYXJ0aWFsPEFubm90YXRpb24+IHtcbiAgY29uc3QgbWFya2VyID0gbWFrZU1hcmtlcihhbm5vdGF0aW9uLCB2aWV3cG9ydCk7XG4gIGNvbnN0IHtraW5kLCB0eCwgdHl9ID0gbWFya2VyO1xuXG4gIGlmIChraW5kID09PSBBbm5vdGF0aW9uS2luZC5URVhUKSB7XG4gICAgcmV0dXJuIG1vdmVQb2ludChhbm5vdGF0aW9uLCBkZWx0YSwgdmlld3BvcnQpO1xuICB9XG4gIGlmICghaXNBbm5vdGF0aW9uV2l0aEFybShhbm5vdGF0aW9uKSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0IFt0eDEsIHR5MV0gPSBbdHggKyBkZWx0YS54LCB0eSArIGRlbHRhLnldO1xuICBjb25zdCBuZXh0QW5nbGUgPSByYWRpYW5zVG9EZWdyZWVzKE1hdGguYXRhbjIodHkxLCB0eDEpKTtcbiAgbGV0IG5leHRBcm06IG51bWJlcjtcblxuICBzd2l0Y2ggKGtpbmQpIHtcbiAgICBjYXNlIEFubm90YXRpb25LaW5kLkFSUk9XOlxuICAgIGNhc2UgQW5ub3RhdGlvbktpbmQuUE9JTlQ6XG4gICAgICBuZXh0QXJtID0gTWF0aC5zcXJ0KHR4MSAqIHR4MSArIHR5MSAqIHR5MSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEFubm90YXRpb25LaW5kLkNJUkNMRTpcbiAgICAgIG5leHRBcm0gPSBNYXRoLnNxcnQodHgxICogdHgxICsgdHkxICogdHkxKSAtIChtYXJrZXIgYXMgQ2lyY2xlQW5ub3RhdGlvbk1hcmtlcikucjtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBuZXh0QXJtID0gKGFubm90YXRpb24gYXMgQW5ub3RhdGlvbldpdGhBcm0pLmFybUxlbmd0aDtcbiAgfVxuICByZXR1cm4ge2FuZ2xlOiBuZXh0QW5nbGUsIGFybUxlbmd0aDogbmV4dEFybX07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNpemVDaXJjbGUoXG4gIGFubm90YXRpb246IEFubm90YXRpb24sXG4gIGRlbHRhOiB7eDogbnVtYmVyOyB5OiBudW1iZXJ9LFxuICB2aWV3cG9ydDogTWFwVmlld3BvcnRcbik6IFBhcnRpYWw8QW5ub3RhdGlvbj4ge1xuICBpZiAoYW5ub3RhdGlvbi5raW5kICE9PSBBbm5vdGF0aW9uS2luZC5DSVJDTEUpIHJldHVybiB7fTtcbiAgY29uc3Qge2FuY2hvclBvaW50LCByYWRpdXNJbk1ldGVyc30gPSBhbm5vdGF0aW9uO1xuICBjb25zdCBzaGlmdGVkID0gYWRkTWV0ZXJzVG9MbmdMYXQoYW5jaG9yUG9pbnQsIFtyYWRpdXNJbk1ldGVycywgMCwgMF0pIGFzIFtudW1iZXIsIG51bWJlcl07XG4gIGNvbnN0IFt4XSA9IHZpZXdwb3J0LnByb2plY3Qoc2hpZnRlZCk7XG4gIGNvbnN0IG5ld1BvaW50ID0gdmlld3BvcnQudW5wcm9qZWN0KFt4ICsgZGVsdGEueCwgdmlld3BvcnQucHJvamVjdChhbmNob3JQb2ludClbMV1dKTtcbiAgY29uc3QgZHggPSBuZXdQb2ludFswXSAtIGFuY2hvclBvaW50WzBdO1xuICBjb25zdCBjdXJyZW50UmFkaXVzID0gc2hpZnRlZFswXSAtIGFuY2hvclBvaW50WzBdO1xuICBjb25zdCByYXRpbyA9IGN1cnJlbnRSYWRpdXMgIT09IDAgPyAoY3VycmVudFJhZGl1cyArIGR4KSAvIGN1cnJlbnRSYWRpdXMgOiAxO1xuICByZXR1cm4ge3JhZGl1c0luTWV0ZXJzOiBNYXRoLm1heCgwLCByYWRpdXNJbk1ldGVycyAqIHJhdGlvKX07XG59XG5cbmZ1bmN0aW9uIHJhZGlhbnNUb0RlZ3JlZXMocmFkaWFuczogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHJhZGlhbnMgKiAoMTgwIC8gTWF0aC5QSSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUxBO0FBQ0E7O0FBaUNBLFNBQVNFLGdCQUFnQkEsQ0FBQ0MsTUFBYyxFQUFVO0VBQ2hELE9BQU9BLE1BQU0sSUFBSUMsSUFBSSxDQUFDQyxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ2pDO0FBRUEsU0FBU0MsVUFBVUEsQ0FDakJDLFFBQXFCLEVBQ3JCQyxLQUF1QixFQUN2QkMsY0FBc0IsRUFDZDtFQUNSLElBQUFDLGlCQUFBLEdBQWVILFFBQVEsQ0FBQ0ksT0FBTyxDQUFDSCxLQUFLLENBQUM7SUFBQUksa0JBQUEsT0FBQUMsZUFBQSxhQUFBSCxpQkFBQTtJQUEvQkksQ0FBQyxHQUFBRixrQkFBQTtJQUFFRyxDQUFDLEdBQUFILGtCQUFBO0VBQ1gsSUFBTUksT0FBTyxHQUFHLElBQUFDLDhCQUFpQixFQUFDVCxLQUFLLEVBQUUsQ0FBQ0MsY0FBYyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBcUI7RUFDcEYsSUFBQVMsa0JBQUEsR0FBaUJYLFFBQVEsQ0FBQ0ksT0FBTyxDQUFDSyxPQUFPLENBQUM7SUFBQUcsa0JBQUEsT0FBQU4sZUFBQSxhQUFBSyxrQkFBQTtJQUFuQ0UsRUFBRSxHQUFBRCxrQkFBQTtJQUFFRSxFQUFFLEdBQUFGLGtCQUFBO0VBQ2IsSUFBTUcsRUFBRSxHQUFHRixFQUFFLEdBQUdOLENBQUM7RUFDakIsSUFBTVMsRUFBRSxHQUFHRixFQUFFLEdBQUdOLENBQUM7RUFDakIsT0FBT1gsSUFBSSxDQUFDb0IsSUFB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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as AnnotationOverlay } from './annotation-overlay';
|
|
2
|
+
export { default as AnnotationNode } from './annotation-node';
|
|
3
|
+
export { default as AnnotationText } from './annotation-text';
|
|
4
|
+
export { default as AnnotationManagerFactory } from './annotation-panel';
|
|
5
|
+
export * from './annotation-utils';
|
|
6
|
+
export type { AnnotationOverlayProps } from './annotation-overlay';
|
|
7
|
+
export type { AnnotationManagerProps } from './annotation-panel';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
var _exportNames = {
|
|
8
|
+
AnnotationOverlay: true,
|
|
9
|
+
AnnotationNode: true,
|
|
10
|
+
AnnotationText: true,
|
|
11
|
+
AnnotationManagerFactory: true
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "AnnotationManagerFactory", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _annotationPanel["default"];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "AnnotationNode", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _annotationNode["default"];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "AnnotationOverlay", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function get() {
|
|
28
|
+
return _annotationOverlay["default"];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "AnnotationText", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function get() {
|
|
34
|
+
return _annotationText["default"];
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
var _annotationOverlay = _interopRequireDefault(require("./annotation-overlay"));
|
|
38
|
+
var _annotationNode = _interopRequireDefault(require("./annotation-node"));
|
|
39
|
+
var _annotationText = _interopRequireDefault(require("./annotation-text"));
|
|
40
|
+
var _annotationPanel = _interopRequireDefault(require("./annotation-panel"));
|
|
41
|
+
var _annotationUtils = require("./annotation-utils");
|
|
42
|
+
Object.keys(_annotationUtils).forEach(function (key) {
|
|
43
|
+
if (key === "default" || key === "__esModule") return;
|
|
44
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
45
|
+
if (key in exports && exports[key] === _annotationUtils[key]) return;
|
|
46
|
+
Object.defineProperty(exports, key, {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
get: function get() {
|
|
49
|
+
return _annotationUtils[key];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYW5ub3RhdGlvbk92ZXJsYXkiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9hbm5vdGF0aW9uTm9kZSIsIl9hbm5vdGF0aW9uVGV4dCIsIl9hbm5vdGF0aW9uUGFuZWwiLCJfYW5ub3RhdGlvblV0aWxzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fubm90YXRpb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBBbm5vdGF0aW9uT3ZlcmxheX0gZnJvbSAnLi9hbm5vdGF0aW9uLW92ZXJsYXknO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEFubm90YXRpb25Ob2RlfSBmcm9tICcuL2Fubm90YXRpb24tbm9kZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgQW5ub3RhdGlvblRleHR9IGZyb20gJy4vYW5ub3RhdGlvbi10ZXh0JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBBbm5vdGF0aW9uTWFuYWdlckZhY3Rvcnl9IGZyb20gJy4vYW5ub3RhdGlvbi1wYW5lbCc7XG5leHBvcnQgKiBmcm9tICcuL2Fubm90YXRpb24tdXRpbHMnO1xuZXhwb3J0IHR5cGUge0Fubm90YXRpb25PdmVybGF5UHJvcHN9IGZyb20gJy4vYW5ub3RhdGlvbi1vdmVybGF5JztcbmV4cG9ydCB0eXBlIHtBbm5vdGF0aW9uTWFuYWdlclByb3BzfSBmcm9tICcuL2Fubm90YXRpb24tcGFuZWwnO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxrQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsZ0JBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGdCQUFBLEdBQUFKLE9BQUE7QUFBQUssTUFBQSxDQUFBQyxJQUFBLENBQUFGLGdCQUFBLEVBQUFHLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQUosZ0JBQUEsQ0FBQUksR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQVosZ0JBQUEsQ0FBQUksR0FBQTtJQUFBO0VBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = ClickableLinkPlugin;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
|
|
10
|
+
var _lexical = require("lexical");
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
// SPDX-License-Identifier: MIT
|
|
13
|
+
// Copyright contributors to the kepler.gl project
|
|
14
|
+
|
|
15
|
+
function ClickableLinkPlugin(_ref) {
|
|
16
|
+
var _ref$newTab = _ref.newTab,
|
|
17
|
+
newTab = _ref$newTab === void 0 ? true : _ref$newTab;
|
|
18
|
+
var _useLexicalComposerCo = (0, _LexicalComposerContext.useLexicalComposerContext)(),
|
|
19
|
+
_useLexicalComposerCo2 = (0, _slicedToArray2["default"])(_useLexicalComposerCo, 1),
|
|
20
|
+
editor = _useLexicalComposerCo2[0];
|
|
21
|
+
(0, _react.useEffect)(function () {
|
|
22
|
+
function onClick(e) {
|
|
23
|
+
if (editor.isEditable()) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
var evt = e;
|
|
27
|
+
var linkDomNode = getLinkDomNode(evt, editor);
|
|
28
|
+
if (!linkDomNode) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
var href = linkDomNode.getAttribute('href');
|
|
32
|
+
if (linkDomNode.getAttribute('contenteditable') === 'false' || href == null) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
var selection = editor.getEditorState().read(_lexical.$getSelection);
|
|
36
|
+
if ((0, _lexical.$isRangeSelection)(selection) && !selection.isCollapsed()) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (href && newTab) {
|
|
40
|
+
window.open(href, '_blank', 'noopener,noreferrer');
|
|
41
|
+
} else if (href) {
|
|
42
|
+
window.location.href = href;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return editor.registerRootListener(function (rootElement, prevRootElement) {
|
|
46
|
+
if (prevRootElement !== null) {
|
|
47
|
+
prevRootElement.removeEventListener('click', onClick);
|
|
48
|
+
}
|
|
49
|
+
if (rootElement !== null) {
|
|
50
|
+
rootElement.addEventListener('click', onClick);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}, [editor, newTab]);
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
function isLinkDomNode(domNode) {
|
|
57
|
+
return domNode.nodeName.toLowerCase() === 'a';
|
|
58
|
+
}
|
|
59
|
+
function getLinkDomNode(event, editor) {
|
|
60
|
+
return editor.getEditorState().read(function () {
|
|
61
|
+
var domNode = event.target;
|
|
62
|
+
if (isLinkDomNode(domNode)) {
|
|
63
|
+
return domNode;
|
|
64
|
+
}
|
|
65
|
+
if (domNode.parentNode && isLinkDomNode(domNode.parentNode)) {
|
|
66
|
+
return domNode.parentNode;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsInJlcXVpcmUiLCJfbGV4aWNhbCIsIl9yZWFjdCIsIkNsaWNrYWJsZUxpbmtQbHVnaW4iLCJfcmVmIiwiX3JlZiRuZXdUYWIiLCJuZXdUYWIiLCJfdXNlTGV4aWNhbENvbXBvc2VyQ28iLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiX3VzZUxleGljYWxDb21wb3NlckNvMiIsIl9zbGljZWRUb0FycmF5MiIsImVkaXRvciIsInVzZUVmZmVjdCIsIm9uQ2xpY2siLCJlIiwiaXNFZGl0YWJsZSIsImV2dCIsImxpbmtEb21Ob2RlIiwiZ2V0TGlua0RvbU5vZGUiLCJocmVmIiwiZ2V0QXR0cmlidXRlIiwic2VsZWN0aW9uIiwiZ2V0RWRpdG9yU3RhdGUiLCJyZWFkIiwiJGdldFNlbGVjdGlvbiIsIiRpc1JhbmdlU2VsZWN0aW9uIiwiaXNDb2xsYXBzZWQiLCJ3aW5kb3ciLCJvcGVuIiwibG9jYXRpb24iLCJyZWdpc3RlclJvb3RMaXN0ZW5lciIsInJvb3RFbGVtZW50IiwicHJldlJvb3RFbGVtZW50IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJpc0xpbmtEb21Ob2RlIiwiZG9tTm9kZSIsIm5vZGVOYW1lIiwidG9Mb3dlckNhc2UiLCJldmVudCIsInRhcmdldCIsInBhcmVudE5vZGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvbGV4aWNhbC1lZGl0b3IvY2xpY2thYmxlLWxpbmstcGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7dXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCc7XG5pbXBvcnQgeyRnZXRTZWxlY3Rpb24sICRpc1JhbmdlU2VsZWN0aW9ufSBmcm9tICdsZXhpY2FsJztcbmltcG9ydCB7dXNlRWZmZWN0fSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHtMZXhpY2FsRWRpdG9yfSBmcm9tICdsZXhpY2FsJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2xpY2thYmxlTGlua1BsdWdpbih7XG4gIG5ld1RhYiA9IHRydWVcbn06IHtcbiAgbmV3VGFiPzogYm9vbGVhbjtcbn0pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmdW5jdGlvbiBvbkNsaWNrKGU6IEV2ZW50KSB7XG4gICAgICBpZiAoZWRpdG9yLmlzRWRpdGFibGUoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGV2dCA9IGUgYXMgTW91c2VFdmVudDtcbiAgICAgIGNvbnN0IGxpbmtEb21Ob2RlID0gZ2V0TGlua0RvbU5vZGUoZXZ0LCBlZGl0b3IpO1xuICAgICAgaWYgKCFsaW5rRG9tTm9kZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBocmVmID0gbGlua0RvbU5vZGUuZ2V0QXR0cmlidXRlKCdocmVmJyk7XG4gICAgICBpZiAobGlua0RvbU5vZGUuZ2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSA9PT0gJ2ZhbHNlJyB8fCBocmVmID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgkZ2V0U2VsZWN0aW9uKTtcbiAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pICYmICFzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChocmVmICYmIG5ld1RhYikge1xuICAgICAgICB3aW5kb3cub3BlbihocmVmLCAnX2JsYW5rJywgJ25vb3BlbmVyLG5vcmVmZXJyZXInKTtcbiAgICAgIH0gZWxzZSBpZiAoaHJlZikge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGhyZWY7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlZGl0b3IucmVnaXN0ZXJSb290TGlzdGVuZXIoXG4gICAgICAocm9vdEVsZW1lbnQ6IG51bGwgfCBIVE1MRWxlbWVudCwgcHJldlJvb3RFbGVtZW50OiBudWxsIHwgSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKHByZXZSb290RWxlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICAgIHByZXZSb290RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIG9uQ2xpY2spO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyb290RWxlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICAgIHJvb3RFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25DbGljayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9LCBbZWRpdG9yLCBuZXdUYWJdKTtcbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGlzTGlua0RvbU5vZGUoZG9tTm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZG9tTm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYSc7XG59XG5cbmZ1bmN0aW9uIGdldExpbmtEb21Ob2RlKGV2ZW50OiBNb3VzZUV2ZW50LCBlZGl0b3I6IExleGljYWxFZGl0b3IpOiBIVE1MQW5jaG9yRWxlbWVudCB8IG51bGwge1xuICByZXR1cm4gZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgY29uc3QgZG9tTm9kZSA9IGV2ZW50LnRhcmdldCBhcyBOb2RlO1xuICAgIGlmIChpc0xpbmtEb21Ob2RlKGRvbU5vZGUpKSB7XG4gICAgICByZXR1cm4gZG9tTm9kZSBhcyBIVE1MQW5jaG9yRWxlbWVudDtcbiAgICB9XG4gICAgaWYgKGRvbU5vZGUucGFyZW50Tm9kZSAmJiBpc0xpbmtEb21Ob2RlKGRvbU5vZGUucGFyZW50Tm9kZSkpIHtcbiAgICAgIHJldHVybiBkb21Ob2RlLnBhcmVudE5vZGUgYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSx1QkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBTEE7QUFDQTs7QUFRZSxTQUFTRyxtQkFBbUJBLENBQUFDLElBQUEsRUFJcEI7RUFBQSxJQUFBQyxXQUFBLEdBQUFELElBQUEsQ0FIckJFLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsSUFBSSxHQUFBQSxXQUFBO0VBSWIsSUFBQUUscUJBQUEsR0FBaUIsSUFBQUMsaURBQXlCLEVBQUMsQ0FBQztJQUFBQyxzQkFBQSxPQUFBQyxlQUFBLGFBQUFILHFCQUFBO0lBQXJDSSxNQUFNLEdBQUFGLHNCQUFBO0VBQ2IsSUFBQUcsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsU0FBU0MsT0FBT0EsQ0FBQ0MsQ0FBUSxFQUFFO01BQ3pCLElBQUlILE1BQU0sQ0FBQ0ksVUFBVSxDQUFDLENBQUMsRUFBRTtRQUN2QjtNQUNGO01BRUEsSUFBTUMsR0FBRyxHQUFHRixDQUFlO01BQzNCLElBQU1HLFdBQVcsR0FBR0MsY0FBYyxDQUFDRixHQUFHLEVBQUVMLE1BQU0sQ0FBQztNQUMvQyxJQUFJLENBQUNNLFdBQVcsRUFBRTtRQUNoQjtNQUNGO01BQ0EsSUFBTUUsSUFBSSxHQUFHRixXQUFXLENBQUNHLFlBQVksQ0FBQyxNQUFNLENBQUM7TUFDN0MsSUFBSUgsV0FBVyxDQUFDRyxZQUFZLENBQUMsaUJBQWlCLENBQUMsS0FBSyxPQUFPLElBQUlELElBQUksSUFBSSxJQUFJLEVBQUU7UUFDM0U7TUFDRjtNQUNBLElBQU1FLFNBQVMsR0FBR1YsTUFBTSxDQUFDVyxjQUFjLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUNDLHNCQUFhLENBQUM7TUFDN0QsSUFBSSxJQUFBQywwQkFBaUIsRUFBQ0osU0FBUyxDQUFDLElBQUksQ0FBQ0EsU0FBUyxDQUFDSyxXQUFXLENBQUMsQ0FBQyxFQUFFO1FBQzVEO01BQ0Y7TUFFQSxJQUFJUCxJQUFJLElBQUliLE1BQU0sRUFBRTtRQUNsQnFCLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDVCxJQUFJLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixDQUFDO01BQ3BELENBQUMsTUFBTSxJQUFJQSxJQUFJLEVBQUU7UUFDZlEsTUFBTSxDQUFDRSxRQUFRLENBQUNWLElBQUksR0FBR0EsSUFBSTtNQUM3QjtJQUNGO0lBQ0EsT0FBT1IsTUFBTSxDQUFDbUIsb0JBQW9CLENBQ2hDLFVBQUNDLFdBQStCLEVBQUVDLGVBQW1DLEVBQUs7TUFDeEUsSUFBSUEsZUFBZSxLQUFLLElBQUksRUFBRTtRQUM1QkEsZUFBZSxDQUFDQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUVwQixPQUFPLENBQUM7TUFDdkQ7TUFDQSxJQUFJa0IsV0FBVyxLQUFLLElBQUksRUFBRTtRQUN4QkEsV0FBVyxDQUFDRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUVyQixPQUFPLENBQUM7TUFDaEQ7SUFDRixDQUNGLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ0YsTUFBTSxFQUFFTCxNQUFNLENBQUMsQ0FBQztFQUNwQixPQUFPLElBQUk7QUFDYjtBQUVBLFNBQVM2QixhQUFhQSxDQUFDQyxPQUFhLEVBQVc7RUFDN0MsT0FBT0EsT0FBTyxDQUFDQyxRQUFRLENBQUNDLFdBQVcsQ0FBQyxDQUFDLEtBQUssR0FBRztBQUMvQztBQUVBLFNBQVNwQixjQUFjQSxDQUFDcUIsS0FBaUIsRUFBRTVCLE1BQXFCLEVBQTRCO0VBQzFGLE9BQU9BLE1BQU0sQ0FBQ1csY0FBYyxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLFlBQU07SUFDeEMsSUFBTWEsT0FBTyxHQUFHRyxLQUFLLENBQUNDLE1BQWM7SUFDcEMsSUFBSUwsYUFBYSxDQUFDQyxPQUFPLENBQUMsRUFBRTtNQUMxQixPQUFPQSxPQUFPO0lBQ2hCO0lBQ0EsSUFBSUEsT0FBTyxDQUFDSyxVQUFVLElBQUlOLGFBQWEsQ0FBQ0MsT0FBTyxDQUFDSyxVQUFVLENBQUMsRUFBRTtNQUMzRCxPQUFPTCxPQUFPLENBQUNLLFVBQVU7SUFDM0I7SUFDQSxPQUFPLElBQUk7RUFDYixDQUFDLENBQUM7QUFDSiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function FloatingLinkEditorPlugin(): JSX.Element | null;
|