@kepler.gl/duckdb 3.1.0-alpha.6

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.
@@ -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.SchemaPanel = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _reactRedux = require("react-redux");
15
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
16
+ var _utils = require("@kepler.gl/utils");
17
+ var _constants = require("@kepler.gl/constants");
18
+ var _tree = require("./tree");
19
+ var _init = require("../init");
20
+ var _templateObject; // SPDX-License-Identifier: MIT
21
+ // Copyright contributors to the kepler.gl project
22
+ 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); }
23
+ 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; }
24
+ // TODO note that demo state is available in demo-app, but not when add modules to dependencies in a custom map
25
+
26
+ var StyledSchemaPanel = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 12px;\n padding: 12px;\n font-family: ", ";\n"])), function (props) {
27
+ return props.theme.textColor;
28
+ }, function (props) {
29
+ return props.theme.fontFamily;
30
+ });
31
+ function getColumnSchema(_x, _x2) {
32
+ return _getColumnSchema.apply(this, arguments);
33
+ }
34
+ function _getColumnSchema() {
35
+ _getColumnSchema = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(c, name) {
36
+ var columnResult;
37
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
38
+ while (1) switch (_context2.prev = _context2.next) {
39
+ case 0:
40
+ _context2.next = 2;
41
+ return c.query("Select * from '".concat(name, "' LIMIT 1;"));
42
+ case 2:
43
+ columnResult = _context2.sent;
44
+ return _context2.abrupt("return", {
45
+ key: name,
46
+ object: {
47
+ type: 'dataset',
48
+ tableName: name
49
+ },
50
+ children: columnResult.schema.fields.map(function (field) {
51
+ var _field$metadata$get;
52
+ var isGeoArrowColumn = (_field$metadata$get = field.metadata.get('ARROW:extension:name')) === null || _field$metadata$get === void 0 ? void 0 : _field$metadata$get.startsWith('geoarrow');
53
+ return {
54
+ key: field.name,
55
+ object: {
56
+ type: 'column',
57
+ name: field.name,
58
+ arrowType: field.type,
59
+ fieldType: isGeoArrowColumn ? _constants.ALL_FIELD_TYPES.geoarrow : (0, _utils.arrowDataTypeToFieldType)(field.type)
60
+ }
61
+ };
62
+ })
63
+ });
64
+ case 4:
65
+ case "end":
66
+ return _context2.stop();
67
+ }
68
+ }, _callee2);
69
+ }));
70
+ return _getColumnSchema.apply(this, arguments);
71
+ }
72
+ function getSchemaSuggestion(result) {
73
+ return result.reduce(function (accu, data) {
74
+ var columns = data.children.map(function (child) {
75
+ return {
76
+ column_name: child.key,
77
+ table_name: data.key
78
+ };
79
+ });
80
+ return accu.concat(columns);
81
+ }, []);
82
+ }
83
+ var SchemaPanel = exports.SchemaPanel = function SchemaPanel(_ref) {
84
+ var setTableSchema = _ref.setTableSchema;
85
+ var _useState = (0, _react.useState)([]),
86
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
87
+ columnSchemas = _useState2[0],
88
+ setColumnSchemas = _useState2[1];
89
+ var datasets = (0, _reactRedux.useSelector)(function (state) {
90
+ var _state$demo;
91
+ return state === null || state === void 0 || (_state$demo = state.demo) === null || _state$demo === void 0 || (_state$demo = _state$demo.keplerGl) === null || _state$demo === void 0 || (_state$demo = _state$demo.map) === null || _state$demo === void 0 ? void 0 : _state$demo.visState.datasets;
92
+ });
93
+ (0, _react.useEffect)(function () {
94
+ getTableSchema();
95
+ }, [datasets]);
96
+ var getTableSchema = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
97
+ var _tableResult$getChild, _ref3;
98
+ var db, c, tableResult, tableNames, result, tableSchema;
99
+ return _regenerator["default"].wrap(function _callee$(_context) {
100
+ while (1) switch (_context.prev = _context.next) {
101
+ case 0:
102
+ _context.next = 2;
103
+ return (0, _init.getDuckDB)();
104
+ case 2:
105
+ db = _context.sent;
106
+ _context.next = 5;
107
+ return db.connect();
108
+ case 5:
109
+ c = _context.sent;
110
+ _context.next = 8;
111
+ return c.query('SHOW TABLES;');
112
+ case 8:
113
+ tableResult = _context.sent;
114
+ tableNames = (_tableResult$getChild = tableResult.getChildAt(0)) === null || _tableResult$getChild === void 0 ? void 0 : _tableResult$getChild.toJSON();
115
+ _context.next = 12;
116
+ return Promise.all((_ref3 = tableNames || []) === null || _ref3 === void 0 ? void 0 : _ref3.map(function (name) {
117
+ return getColumnSchema(c, name);
118
+ }));
119
+ case 12:
120
+ result = _context.sent;
121
+ tableSchema = getSchemaSuggestion(result);
122
+ setColumnSchemas(result);
123
+ setTableSchema(tableSchema);
124
+ c.close();
125
+ case 17:
126
+ case "end":
127
+ return _context.stop();
128
+ }
129
+ }, _callee);
130
+ })), [setColumnSchemas, setTableSchema]);
131
+ return /*#__PURE__*/_react["default"].createElement(StyledSchemaPanel, null, columnSchemas !== null && columnSchemas !== void 0 && columnSchemas.length ? columnSchemas.map(function (data) {
132
+ return /*#__PURE__*/_react["default"].createElement(_tree.Tree, {
133
+ key: data.key,
134
+ treeData: data,
135
+ renderNode: function renderNode(node) {
136
+ if (node.object.type === 'dataset') {
137
+ return /*#__PURE__*/_react["default"].createElement(_tree.DatasetNode, {
138
+ node: node
139
+ });
140
+ } else if (node.object.type === 'column') {
141
+ return /*#__PURE__*/_react["default"].createElement(_tree.ColumnNode, {
142
+ node: node
143
+ });
144
+ }
145
+ return null;
146
+ }
147
+ });
148
+ }) : /*#__PURE__*/_react["default"].createElement("div", null, "No tables found"));
149
+ };
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91dGlscyIsIl9jb25zdGFudHMiLCJfdHJlZSIsIl9pbml0IiwiX3RlbXBsYXRlT2JqZWN0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiU3R5bGVkU2NoZW1hUGFuZWwiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3IiLCJmb250RmFtaWx5IiwiZ2V0Q29sdW1uU2NoZW1hIiwiX3giLCJfeDIiLCJfZ2V0Q29sdW1uU2NoZW1hIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZTIiLCJjIiwibmFtZSIsImNvbHVtblJlc3VsdCIsIndyYXAiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJwcmV2IiwibmV4dCIsInF1ZXJ5IiwiY29uY2F0Iiwic2VudCIsImFicnVwdCIsImtleSIsIm9iamVjdCIsInR5cGUiLCJ0YWJsZU5hbWUiLCJjaGlsZHJlbiIsInNjaGVtYSIsImZpZWxkcyIsIm1hcCIsImZpZWxkIiwiX2ZpZWxkJG1ldGFkYXRhJGdldCIsImlzR2VvQXJyb3dDb2x1bW4iLCJtZXRhZGF0YSIsInN0YXJ0c1dpdGgiLCJhcnJvd1R5cGUiLCJmaWVsZFR5cGUiLCJBTExfRklFTERfVFlQRVMiLCJnZW9hcnJvdyIsImFycm93RGF0YVR5cGVUb0ZpZWxkVHlwZSIsInN0b3AiLCJnZXRTY2hlbWFTdWdnZXN0aW9uIiwicmVzdWx0IiwicmVkdWNlIiwiYWNjdSIsImRhdGEiLCJjb2x1bW5zIiwiY2hpbGQiLCJjb2x1bW5fbmFtZSIsInRhYmxlX25hbWUiLCJTY2hlbWFQYW5lbCIsImV4cG9ydHMiLCJfcmVmIiwic2V0VGFibGVTY2hlbWEiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjb2x1bW5TY2hlbWFzIiwic2V0Q29sdW1uU2NoZW1hcyIsImRhdGFzZXRzIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl9zdGF0ZSRkZW1vIiwiZGVtbyIsImtlcGxlckdsIiwidmlzU3RhdGUiLCJ1c2VFZmZlY3QiLCJnZXRUYWJsZVNjaGVtYSIsInVzZUNhbGxiYWNrIiwiX2NhbGxlZSIsIl90YWJsZVJlc3VsdCRnZXRDaGlsZCIsIl9yZWYzIiwiZGIiLCJ0YWJsZVJlc3VsdCIsInRhYmxlTmFtZXMiLCJ0YWJsZVNjaGVtYSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJnZXREdWNrREIiLCJjb25uZWN0IiwiZ2V0Q2hpbGRBdCIsInRvSlNPTiIsIlByb21pc2UiLCJhbGwiLCJjbG9zZSIsImNyZWF0ZUVsZW1lbnQiLCJsZW5ndGgiLCJUcmVlIiwidHJlZURhdGEiLCJyZW5kZXJOb2RlIiwibm9kZSIsIkRhdGFzZXROb2RlIiwiQ29sdW1uTm9kZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NjaGVtYS1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7dXNlU2VsZWN0b3J9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHthcnJvd0RhdGFUeXBlVG9GaWVsZFR5cGV9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtBTExfRklFTERfVFlQRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7VmlzU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvc2NoZW1hcyc7XG5pbXBvcnQge1RyZWUsIERhdGFzZXROb2RlLCBDb2x1bW5Ob2RlLCBUcmVlTm9kZURhdGF9IGZyb20gJy4vdHJlZSc7XG5pbXBvcnQge2dldER1Y2tEQn0gZnJvbSAnLi4vaW5pdCc7XG5cbi8vIFRPRE8gbm90ZSB0aGF0IGRlbW8gc3RhdGUgaXMgYXZhaWxhYmxlIGluIGRlbW8tYXBwLCBidXQgbm90IHdoZW4gYWRkIG1vZHVsZXMgdG8gZGVwZW5kZW5jaWVzIGluIGEgY3VzdG9tIG1hcFxudHlwZSBTdGF0ZSA9IHtcbiAgZGVtbz86IHtcbiAgICBrZXBsZXJHbDoge1xuICAgICAgbWFwOiB7XG4gICAgICAgIHZpc1N0YXRlOiBWaXNTdGF0ZTtcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbn07XG5cbmNvbnN0IFN0eWxlZFNjaGVtYVBhbmVsID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAxMnB4O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbmA7XG5cbmFzeW5jIGZ1bmN0aW9uIGdldENvbHVtblNjaGVtYShjLCBuYW1lKSB7XG4gIGNvbnN0IGNvbHVtblJlc3VsdCA9IGF3YWl0IGMucXVlcnkoYFNlbGVjdCAqIGZyb20gJyR7bmFtZX0nIExJTUlUIDE7YCk7XG5cbiAgcmV0dXJuIHtcbiAgICBrZXk6IG5hbWUsXG4gICAgb2JqZWN0OiB7XG4gICAgICB0eXBlOiAnZGF0YXNldCcsXG4gICAgICB0YWJsZU5hbWU6IG5hbWVcbiAgICB9LFxuICAgIGNoaWxkcmVuOiBjb2x1bW5SZXN1bHQuc2NoZW1hLmZpZWxkcy5tYXAoZmllbGQgPT4ge1xuICAgICAgY29uc3QgaXNHZW9BcnJvd0NvbHVtbiA9IGZpZWxkLm1ldGFkYXRhLmdldCgnQVJST1c6ZXh0ZW5zaW9uOm5hbWUnKT8uc3RhcnRzV2l0aCgnZ2VvYXJyb3cnKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleTogZmllbGQubmFtZSxcbiAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgdHlwZTogJ2NvbHVtbicsXG4gICAgICAgICAgbmFtZTogZmllbGQubmFtZSxcbiAgICAgICAgICBhcnJvd1R5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgICAgZmllbGRUeXBlOiBpc0dlb0Fycm93Q29sdW1uXG4gICAgICAgICAgICA/IEFMTF9GSUVMRF9UWVBFUy5nZW9hcnJvd1xuICAgICAgICAgICAgOiBhcnJvd0RhdGFUeXBlVG9GaWVsZFR5cGUoZmllbGQudHlwZSlcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KVxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRTY2hlbWFTdWdnZXN0aW9uKHJlc3VsdCkge1xuICByZXR1cm4gcmVzdWx0LnJlZHVjZSgoYWNjdSwgZGF0YSkgPT4ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSBkYXRhLmNoaWxkcmVuLm1hcChjaGlsZCA9PiAoe1xuICAgICAgY29sdW1uX25hbWU6IGNoaWxkLmtleSxcbiAgICAgIHRhYmxlX25hbWU6IGRhdGEua2V5XG4gICAgfSkpO1xuICAgIHJldHVybiBhY2N1LmNvbmNhdChjb2x1bW5zKTtcbiAgfSwgW10pO1xufVxuZXhwb3J0IGNvbnN0IFNjaGVtYVBhbmVsID0gKHtzZXRUYWJsZVNjaGVtYX0pID0+IHtcbiAgY29uc3QgW2NvbHVtblNjaGVtYXMsIHNldENvbHVtblNjaGVtYXNdID0gdXNlU3RhdGU8VHJlZU5vZGVEYXRhPHt0eXBlOiBzdHJpbmd9PltdPihbXSk7XG4gIGNvbnN0IGRhdGFzZXRzID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBTdGF0ZSkgPT4gc3RhdGU/LmRlbW8/LmtlcGxlckdsPy5tYXA/LnZpc1N0YXRlLmRhdGFzZXRzKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBnZXRUYWJsZVNjaGVtYSgpO1xuICB9LCBbZGF0YXNldHNdKTtcbiAgY29uc3QgZ2V0VGFibGVTY2hlbWEgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgICBjb25zdCBjID0gYXdhaXQgZGIuY29ubmVjdCgpO1xuXG4gICAgY29uc3QgdGFibGVSZXN1bHQgPSBhd2FpdCBjLnF1ZXJ5KCdTSE9XIFRBQkxFUzsnKTtcblxuICAgIGNvbnN0IHRhYmxlTmFtZXMgPSB0YWJsZVJlc3VsdC5nZXRDaGlsZEF0KDApPy50b0pTT04oKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKCh0YWJsZU5hbWVzIHx8IFtdKT8ubWFwKG5hbWUgPT4gZ2V0Q29sdW1uU2NoZW1hKGMsIG5hbWUpKSk7XG4gICAgY29uc3QgdGFibGVTY2hlbWEgPSBnZXRTY2hlbWFTdWdnZXN0aW9uKHJlc3VsdCk7XG5cbiAgICBzZXRDb2x1bW5TY2hlbWFzKHJlc3VsdCk7XG4gICAgc2V0VGFibGVTY2hlbWEodGFibGVTY2hlbWEpO1xuICAgIGMuY2xvc2UoKTtcbiAgfSwgW3NldENvbHVtblNjaGVtYXMsIHNldFRhYmxlU2NoZW1hXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU2NoZW1hUGFuZWw+XG4gICAgICB7Y29sdW1uU2NoZW1hcz8ubGVuZ3RoID8gKFxuICAgICAgICBjb2x1bW5TY2hlbWFzLm1hcChkYXRhID0+IChcbiAgICAgICAgICA8VHJlZVxuICAgICAgICAgICAga2V5PXtkYXRhLmtleX1cbiAgICAgICAgICAgIHRyZWVEYXRhPXtkYXRhfVxuICAgICAgICAgICAgcmVuZGVyTm9kZT17bm9kZSA9PiB7XG4gICAgICAgICAgICAgIGlmIChub2RlLm9iamVjdC50eXBlID09PSAnZGF0YXNldCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPERhdGFzZXROb2RlIG5vZGU9e25vZGV9IC8+O1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUub2JqZWN0LnR5cGUgPT09ICdjb2x1bW4nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDxDb2x1bW5Ob2RlIG5vZGU9e25vZGV9IC8+O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICApKVxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdj5ObyB0YWJsZXMgZm91bmQ8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRTY2hlbWFQYW5lbD5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFFQSxJQUFBTSxLQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxLQUFBLEdBQUFQLE9BQUE7QUFBa0MsSUFBQVEsZUFBQSxFQVZsQztBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFYLHdCQUFBVyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FB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
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ declare type SqlPanelProps = {
3
+ initialSql?: string;
4
+ };
5
+ export declare const SqlPanel: React.FC<SqlPanelProps>;
6
+ export {};
@@ -0,0 +1,199 @@
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.SqlPanel = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _reactRedux = require("react-redux");
15
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
16
+ var _reactResizablePanels = require("react-resizable-panels");
17
+ var _monacoEditor = _interopRequireDefault(require("./monaco-editor"));
18
+ var _schemaPanel = require("./schema-panel");
19
+ var _previewDataPanel = require("./preview-data-panel");
20
+ var _init = require("../init");
21
+ var _components = require("@kepler.gl/components");
22
+ var _commonUtils = require("@kepler.gl/common-utils");
23
+ var _actions = require("@kepler.gl/actions");
24
+ var _styles = require("@kepler.gl/styles");
25
+ var _utils = require("@kepler.gl/utils");
26
+ var _processors = require("@kepler.gl/processors");
27
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11; // SPDX-License-Identifier: MIT
28
+ // Copyright contributors to the kepler.gl project
29
+ 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); }
30
+ 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; }
31
+ var StyledSqlPanel = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 100%;\n background-color: ", ";\n border-left: 1px solid #333;\n"])), _styles.sidePanelBg);
32
+ var StyledSqlActions = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 0 0 50px;\n display: flex;\n padding-top: 12px;\n align-items: center;\n flex-direction: column;\n justify-content: flex-start;\n border-bottom: 1px solid #333;\n"])));
33
+ var StyledSqlEditor = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n min-width: 0; // Prevents flex child from overflowing\n height: 100%;\n"])));
34
+ var StyledEditorPanel = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n display: flex;\n height: 100%;\n flex-direction: row;\n gap: 5px;\n flex-grow: 1;\n"])), _styles.sidePanelBg);
35
+ var StyledDataPanel = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n"])));
36
+ var StyledEditor = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 12px 12px 12px 0;\n background-color: rgb(30, 30, 30);\n opacity: ", ";\n width: 100%;\n height: 100%;\n min-height: 0; // Prevents flex child from overflowing\n"])), function (props) {
37
+ return props.isRunning ? 0.5 : 1;
38
+ });
39
+ var StyledResultActions = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: white;\n padding: 2px 12px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 12px;\n"])));
40
+ var StyledResizeHandle = (0, _styledComponents["default"])(_reactResizablePanels.PanelResizeHandle)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 4px;\n cursor: col-resize;\n\n &:hover {\n background-color: #555;\n }\n"])), _styles.panelBorderColor);
41
+ var StyledVerticalResizeHandle = (0, _styledComponents["default"])(_reactResizablePanels.PanelResizeHandle)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: 4px;\n cursor: row-resize;\n\n &:hover {\n background-color: #555;\n }\n"])), _styles.panelBorderColor);
42
+ var StyledLoadingContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n"])));
43
+ var StyledErrorContainer = _styledComponents["default"].pre(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 12px;\n color: red;\n font-size: 12px;\n background-color: ", ";\n height: 100%;\n overflow: auto;\n"])), _styles.sidePanelBg);
44
+ var SqlPanel = exports.SqlPanel = function SqlPanel(_ref) {
45
+ var _ref$initialSql = _ref.initialSql,
46
+ initialSql = _ref$initialSql === void 0 ? '' : _ref$initialSql;
47
+ var _useState = (0, _react.useState)(function () {
48
+ var params = new URLSearchParams(window.location.search);
49
+ return params.get('sql') || initialSql;
50
+ }),
51
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
52
+ sql = _useState2[0],
53
+ setSql = _useState2[1];
54
+ var _useState3 = (0, _react.useState)(null),
55
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
56
+ result = _useState4[0],
57
+ setResult = _useState4[1];
58
+ var _useState5 = (0, _react.useState)(null),
59
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
60
+ error = _useState6[0],
61
+ setError = _useState6[1];
62
+ var _useState7 = (0, _react.useState)(0),
63
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
64
+ counter = _useState8[0],
65
+ setCounter = _useState8[1];
66
+ var _useState9 = (0, _react.useState)([]),
67
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
68
+ tableSchema = _useState10[0],
69
+ setTableSchema = _useState10[1];
70
+ var _useState11 = (0, _react.useState)(false),
71
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
72
+ isRunning = _useState12[0],
73
+ setIsRunning = _useState12[1];
74
+ var _useState13 = (0, _react.useState)(function () {
75
+ return (0, _utils.isAppleDevice)();
76
+ }),
77
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 1),
78
+ isMac = _useState14[0];
79
+ var dispatch = (0, _reactRedux.useDispatch)();
80
+ (0, _react.useEffect)(function () {
81
+ var currentUrl = new URL(window.location.href);
82
+ if (sql) {
83
+ currentUrl.searchParams.set('sql', sql);
84
+ } else {
85
+ currentUrl.searchParams["delete"]('sql');
86
+ }
87
+ window.history.replaceState({}, '', currentUrl.toString());
88
+ }, [sql]);
89
+ var runQuery = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
90
+ var db, connection, arrowResult;
91
+ return _regenerator["default"].wrap(function _callee$(_context) {
92
+ while (1) switch (_context.prev = _context.next) {
93
+ case 0:
94
+ setIsRunning(true);
95
+ _context.prev = 1;
96
+ if (sql !== null && sql !== void 0 && sql.trim()) {
97
+ _context.next = 5;
98
+ break;
99
+ }
100
+ setError(new Error('Query is empty'));
101
+ return _context.abrupt("return");
102
+ case 5:
103
+ _context.next = 7;
104
+ return (0, _init.getDuckDB)();
105
+ case 7:
106
+ db = _context.sent;
107
+ _context.next = 10;
108
+ return db.connect();
109
+ case 10:
110
+ connection = _context.sent;
111
+ _context.next = 13;
112
+ return connection.query(sql);
113
+ case 13:
114
+ arrowResult = _context.sent;
115
+ setResult(arrowResult);
116
+ setError(null);
117
+ connection.close();
118
+ _context.next = 22;
119
+ break;
120
+ case 19:
121
+ _context.prev = 19;
122
+ _context.t0 = _context["catch"](1);
123
+ setError(_context.t0);
124
+ case 22:
125
+ _context.prev = 22;
126
+ setIsRunning(false);
127
+ return _context.finish(22);
128
+ case 25:
129
+ case "end":
130
+ return _context.stop();
131
+ }
132
+ }, _callee, null, [[1, 19, 22, 25]]);
133
+ })), [sql]);
134
+ var onChange = (0, _react.useCallback)(function (value) {
135
+ setSql(value);
136
+ }, [setSql]);
137
+ var onAddResultToMap = (0, _react.useCallback)(function () {
138
+ if (!result) return;
139
+ var keplerFields = (0, _processors.arrowSchemaToFields)(result.schema);
140
+ var datasetToAdd = {
141
+ data: {
142
+ fields: keplerFields,
143
+ // TODO type AddDataToMapPayload -> rows -> + arrow.Table
144
+ rows: result
145
+ },
146
+ info: {
147
+ id: (0, _commonUtils.generateHashId)(),
148
+ label: "Query Result".concat(counter > 0 ? " (".concat(counter, ")") : ''),
149
+ format: 'arrow'
150
+ }
151
+ };
152
+ dispatch((0, _actions.addDataToMap)({
153
+ datasets: [datasetToAdd]
154
+ }));
155
+ setCounter(counter + 1);
156
+ }, [result, counter, dispatch]);
157
+ return /*#__PURE__*/_react["default"].createElement(StyledSqlPanel, null, /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.PanelGroup, {
158
+ direction: "horizontal"
159
+ }, /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.Panel, {
160
+ defaultSize: 20,
161
+ minSize: 15
162
+ }, /*#__PURE__*/_react["default"].createElement(_schemaPanel.SchemaPanel, {
163
+ setTableSchema: setTableSchema
164
+ })), /*#__PURE__*/_react["default"].createElement(StyledResizeHandle, null), /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.Panel, {
165
+ minSize: 40
166
+ }, /*#__PURE__*/_react["default"].createElement(StyledSqlEditor, null, /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.PanelGroup, {
167
+ direction: "vertical"
168
+ }, /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.Panel, {
169
+ defaultSize: 30,
170
+ className: "editor-panel"
171
+ }, /*#__PURE__*/_react["default"].createElement(StyledEditorPanel, null, /*#__PURE__*/_react["default"].createElement(StyledSqlActions, null, /*#__PURE__*/_react["default"].createElement(_components.IconButton, {
172
+ "data-tip": true,
173
+ "data-for": "run-query-tooltip",
174
+ onClick: runQuery,
175
+ disabled: isRunning || !sql
176
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icons.Play, {
177
+ height: "18px"
178
+ }), /*#__PURE__*/_react["default"].createElement(_components.Tooltip, {
179
+ id: "run-query-tooltip",
180
+ place: "top",
181
+ effect: "solid"
182
+ }, "Run Query (", isMac ? '⌘Enter' : 'Ctrl+Enter', " or Shift+Enter)"))), /*#__PURE__*/_react["default"].createElement(StyledEditor, {
183
+ isRunning: isRunning
184
+ }, /*#__PURE__*/_react["default"].createElement(_monacoEditor["default"], {
185
+ isReadOnly: isRunning,
186
+ onRunQuery: runQuery,
187
+ onChange: onChange,
188
+ tableSchema: tableSchema,
189
+ code: sql
190
+ })))), /*#__PURE__*/_react["default"].createElement(StyledVerticalResizeHandle, null), /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.Panel, null, isRunning ? /*#__PURE__*/_react["default"].createElement(StyledLoadingContainer, null, /*#__PURE__*/_react["default"].createElement(_components.LoadingSpinner, null)) : error ? /*#__PURE__*/_react["default"].createElement(StyledErrorContainer, null, /*#__PURE__*/_react["default"].createElement("div", null, error.message)) : result ? /*#__PURE__*/_react["default"].createElement(StyledDataPanel, null, /*#__PURE__*/_react["default"].createElement(StyledResultActions, null, /*#__PURE__*/_react["default"].createElement(_components.Button, {
191
+ secondary: true,
192
+ onClick: onAddResultToMap
193
+ }, "Add to Map"), /*#__PURE__*/_react["default"].createElement("div", null, result.numRows, " rows")), /*#__PURE__*/_react["default"].createElement(_previewDataPanel.PreviewDataPanel, {
194
+ result: result,
195
+ dataTableStyle: {},
196
+ onAddResultToMap: onAddResultToMap
197
+ })) : null))))));
198
+ };
199
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdFJlc2l6YWJsZVBhbmVscyIsIl9tb25hY29FZGl0b3IiLCJfc2NoZW1hUGFuZWwiLCJfcHJldmlld0RhdGFQYW5lbCIsIl9pbml0IiwiX2NvbXBvbmVudHMiLCJfY29tbW9uVXRpbHMiLCJfYWN0aW9ucyIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcHJvY2Vzc29ycyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MTAiLCJfdGVtcGxhdGVPYmplY3QxMSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZFNxbFBhbmVsIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJzaWRlUGFuZWxCZyIsIlN0eWxlZFNxbEFjdGlvbnMiLCJTdHlsZWRTcWxFZGl0b3IiLCJTdHlsZWRFZGl0b3JQYW5lbCIsIlN0eWxlZERhdGFQYW5lbCIsIlN0eWxlZEVkaXRvciIsInByb3BzIiwiaXNSdW5uaW5nIiwiU3R5bGVkUmVzdWx0QWN0aW9ucyIsIlN0eWxlZFJlc2l6ZUhhbmRsZSIsIlBhbmVsUmVzaXplSGFuZGxlIiwicGFuZWxCb3JkZXJDb2xvciIsIlN0eWxlZFZlcnRpY2FsUmVzaXplSGFuZGxlIiwiU3R5bGVkTG9hZGluZ0NvbnRhaW5lciIsIlN0eWxlZEVycm9yQ29udGFpbmVyIiwicHJlIiwiU3FsUGFuZWwiLCJleHBvcnRzIiwiX3JlZiIsIl9yZWYkaW5pdGlhbFNxbCIsImluaXRpYWxTcWwiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNxbCIsInNldFNxbCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwicmVzdWx0Iiwic2V0UmVzdWx0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJjb3VudGVyIiwic2V0Q291bnRlciIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInRhYmxlU2NoZW1hIiwic2V0VGFibGVTY2hlbWEiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2V0SXNSdW5uaW5nIiwiX3VzZVN0YXRlMTMiLCJpc0FwcGxlRGV2aWNlIiwiX3VzZVN0YXRlMTQiLCJpc01hYyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJ1c2VFZmZlY3QiLCJjdXJyZW50VXJsIiwiVVJMIiwiaHJlZiIsInNlYXJjaFBhcmFtcyIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJ0b1N0cmluZyIsInJ1blF1ZXJ5IiwidXNlQ2FsbGJhY2siLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsImRiIiwiY29ubmVjdGlvbiIsImFycm93UmVzdWx0Iiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInRyaW0iLCJFcnJvciIsImFicnVwdCIsImdldER1Y2tEQiIsInNlbnQiLCJjb25uZWN0IiwicXVlcnkiLCJjbG9zZSIsInQwIiwiZmluaXNoIiwic3RvcCIsIm9uQ2hhbmdlIiwidmFsdWUiLCJvbkFkZFJlc3VsdFRvTWFwIiwia2VwbGVyRmllbGRzIiwiYXJyb3dTY2hlbWFUb0ZpZWxkcyIsInNjaGVtYSIsImRhdGFzZXRUb0FkZCIsImRhdGEiLCJmaWVsZHMiLCJyb3dzIiwiaW5mbyIsImlkIiwiZ2VuZXJhdGVIYXNoSWQiLCJsYWJlbCIsImNvbmNhdCIsImZvcm1hdCIsImFkZERhdGFUb01hcCIsImRhdGFzZXRzIiwiY3JlYXRlRWxlbWVudCIsIlBhbmVsR3JvdXAiLCJkaXJlY3Rpb24iLCJQYW5lbCIsImRlZmF1bHRTaXplIiwibWluU2l6ZSIsIlNjaGVtYVBhbmVsIiwiY2xhc3NOYW1lIiwiSWNvbkJ1dHRvbiIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIkljb25zIiwiUGxheSIsImhlaWdodCIsIlRvb2x0aXAiLCJwbGFjZSIsImVmZmVjdCIsImlzUmVhZE9ubHkiLCJvblJ1blF1ZXJ5IiwiY29kZSIsIkxvYWRpbmdTcGlubmVyIiwibWVzc2FnZSIsIkJ1dHRvbiIsInNlY29uZGFyeSIsIm51bVJvd3MiLCJQcmV2aWV3RGF0YVBhbmVsIiwiZGF0YVRhYmxlU3R5bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9zcWwtcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCAqIGFzIGFycm93IGZyb20gJ2FwYWNoZS1hcnJvdyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlU3RhdGUsIHVzZUVmZmVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHt1c2VEaXNwYXRjaH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1BhbmVsLCBQYW5lbEdyb3VwLCBQYW5lbFJlc2l6ZUhhbmRsZX0gZnJvbSAncmVhY3QtcmVzaXphYmxlLXBhbmVscyc7XG5pbXBvcnQgTW9uYWNvRWRpdG9yIGZyb20gJy4vbW9uYWNvLWVkaXRvcic7XG5pbXBvcnQge1NjaGVtYVBhbmVsfSBmcm9tICcuL3NjaGVtYS1wYW5lbCc7XG5pbXBvcnQge1ByZXZpZXdEYXRhUGFuZWx9IGZyb20gJy4vcHJldmlldy1kYXRhLXBhbmVsJztcbmltcG9ydCB7Z2V0RHVja0RCfSBmcm9tICcuLi9pbml0JztcbmltcG9ydCB7QnV0dG9uLCBJY29uQnV0dG9uLCBUb29sdGlwfSBmcm9tICdAa2VwbGVyLmdsL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtnZW5lcmF0ZUhhc2hJZH0gZnJvbSAnQGtlcGxlci5nbC9jb21tb24tdXRpbHMnO1xuaW1wb3J0IHthZGREYXRhVG9NYXB9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0ljb25zLCBMb2FkaW5nU3Bpbm5lcn0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7c2lkZVBhbmVsQmcsIHBhbmVsQm9yZGVyQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7aXNBcHBsZURldmljZX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2Fycm93U2NoZW1hVG9GaWVsZHN9IGZyb20gJ0BrZXBsZXIuZ2wvcHJvY2Vzc29ycyc7XG5cbmNvbnN0IFN0eWxlZFNxbFBhbmVsID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3NpZGVQYW5lbEJnfTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMzMzO1xuYDtcblxuY29uc3QgU3R5bGVkU3FsQWN0aW9ucyA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDAgMCA1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbmA7XG5cbmNvbnN0IFN0eWxlZFNxbEVkaXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDsgLy8gUHJldmVudHMgZmxleCBjaGlsZCBmcm9tIG92ZXJmbG93aW5nXG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IFN0eWxlZEVkaXRvclBhbmVsID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtzaWRlUGFuZWxCZ307XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiA1cHg7XG4gIGZsZXgtZ3JvdzogMTtcbmA7XG5cbmNvbnN0IFN0eWxlZERhdGFQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG5gO1xuXG5jb25zdCBTdHlsZWRFZGl0b3IgPSBzdHlsZWQuZGl2PHtpc1J1bm5pbmc6IGJvb2xlYW59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTJweCAxMnB4IDEycHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMwLCAzMCwgMzApO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5pc1J1bm5pbmcgPyAwLjUgOiAxKX07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDA7IC8vIFByZXZlbnRzIGZsZXggY2hpbGQgZnJvbSBvdmVyZmxvd2luZ1xuYDtcblxuY29uc3QgU3R5bGVkUmVzdWx0QWN0aW9ucyA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAycHggMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRSZXNpemVIYW5kbGUgPSBzdHlsZWQoUGFuZWxSZXNpemVIYW5kbGUpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3BhbmVsQm9yZGVyQ29sb3J9O1xuICB3aWR0aDogNHB4O1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkVmVydGljYWxSZXNpemVIYW5kbGUgPSBzdHlsZWQoUGFuZWxSZXNpemVIYW5kbGUpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3BhbmVsQm9yZGVyQ29sb3J9O1xuICBoZWlnaHQ6IDRweDtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZExvYWRpbmdDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuYDtcblxuY29uc3QgU3R5bGVkRXJyb3JDb250YWluZXIgPSBzdHlsZWQucHJlYFxuICBwYWRkaW5nOiAxMnB4O1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7c2lkZVBhbmVsQmd9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuYDtcblxudHlwZSBTcWxQYW5lbFByb3BzID0ge1xuICBpbml0aWFsU3FsPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFNxbFBhbmVsOiBSZWFjdC5GQzxTcWxQYW5lbFByb3BzPiA9ICh7aW5pdGlhbFNxbCA9ICcnfSkgPT4ge1xuICBjb25zdCBbc3FsLCBzZXRTcWxdID0gdXNlU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgcmV0dXJuIHBhcmFtcy5nZXQoJ3NxbCcpIHx8IGluaXRpYWxTcWw7XG4gIH0pO1xuICBjb25zdCBbcmVzdWx0LCBzZXRSZXN1bHRdID0gdXNlU3RhdGU8bnVsbCB8IGFycm93LlRhYmxlPihudWxsKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY291bnRlciwgc2V0Q291bnRlcl0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3RhYmxlU2NoZW1hLCBzZXRUYWJsZVNjaGVtYV0gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtpc1J1bm5pbmcsIHNldElzUnVubmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc01hY10gPSB1c2VTdGF0ZSgoKSA9PiBpc0FwcGxlRGV2aWNlKCkpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgaWYgKHNxbCkge1xuICAgICAgY3VycmVudFVybC5zZWFyY2hQYXJhbXMuc2V0KCdzcWwnLCBzcWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50VXJsLnNlYXJjaFBhcmFtcy5kZWxldGUoJ3NxbCcpO1xuICAgIH1cbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCBjdXJyZW50VXJsLnRvU3RyaW5nKCkpO1xuICB9LCBbc3FsXSk7XG5cbiAgY29uc3QgcnVuUXVlcnkgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0SXNSdW5uaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNxbD8udHJpbSgpKSB7XG4gICAgICAgIHNldEVycm9yKG5ldyBFcnJvcignUXVlcnkgaXMgZW1wdHknKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCBkYi5jb25uZWN0KCk7XG5cbiAgICAgIGNvbnN0IGFycm93UmVzdWx0ID0gYXdhaXQgY29ubmVjdGlvbi5xdWVyeShzcWwpO1xuICAgICAgc2V0UmVzdWx0KGFycm93UmVzdWx0KTtcbiAgICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgICBjb25uZWN0aW9uLmNsb3NlKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc2V0RXJyb3IoZSBhcyBFcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzUnVubmluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbc3FsXSk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICB2YWx1ZSA9PiB7XG4gICAgICBzZXRTcWwodmFsdWUpO1xuICAgIH0sXG4gICAgW3NldFNxbF1cbiAgKTtcblxuICBjb25zdCBvbkFkZFJlc3VsdFRvTWFwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghcmVzdWx0KSByZXR1cm47XG5cbiAgICBjb25zdCBrZXBsZXJGaWVsZHMgPSBhcnJvd1NjaGVtYVRvRmllbGRzKHJlc3VsdC5zY2hlbWEpO1xuXG4gICAgY29uc3QgZGF0YXNldFRvQWRkID0ge1xuICAgICAgZGF0YToge1xuICAgICAgICBmaWVsZHM6IGtlcGxlckZpZWxkcyxcbiAgICAgICAgLy8gVE9ETyB0eXBlIEFkZERhdGFUb01hcFBheWxvYWQgLT4gcm93cyAtPiArIGFycm93LlRhYmxlXG4gICAgICAgIHJvd3M6IHJlc3VsdCBhcyBhbnlcbiAgICAgIH0sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIGlkOiBnZW5lcmF0ZUhhc2hJZCgpLFxuICAgICAgICBsYWJlbDogYFF1ZXJ5IFJlc3VsdCR7Y291bnRlciA+IDAgPyBgICgke2NvdW50ZXJ9KWAgOiAnJ31gLFxuICAgICAgICBmb3JtYXQ6ICdhcnJvdydcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZGlzcGF0Y2goYWRkRGF0YVRvTWFwKHtkYXRhc2V0czogW2RhdGFzZXRUb0FkZF19KSk7XG4gICAgc2V0Q291bnRlcihjb3VudGVyICsgMSk7XG4gIH0sIFtyZXN1bHQsIGNvdW50ZXIsIGRpc3BhdGNoXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3FsUGFuZWw+XG4gICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJob3Jpem9udGFsXCI+XG4gICAgICAgIDxQYW5lbCBkZWZhdWx0U2l6ZT17MjB9IG1pblNpemU9ezE1fT5cbiAgICAgICAgICA8U2NoZW1hUGFuZWwgc2V0VGFibGVTY2hlbWE9e3NldFRhYmxlU2NoZW1hfSAvPlxuICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgIDxTdHlsZWRSZXNpemVIYW5kbGUgLz5cblxuICAgICAgICA8UGFuZWwgbWluU2l6ZT17NDB9PlxuICAgICAgICAgIDxTdHlsZWRTcWxFZGl0b3I+XG4gICAgICAgICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiPlxuICAgICAgICAgICAgICA8UGFuZWwgZGVmYXVsdFNpemU9ezMwfSBjbGFzc05hbWU9XCJlZGl0b3ItcGFuZWxcIj5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRWRpdG9yUGFuZWw+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkU3FsQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRpcFxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZm9yPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3J1blF1ZXJ5fVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1J1bm5pbmcgfHwgIXNxbH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxJY29ucy5QbGF5IGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIiBwbGFjZT1cInRvcFwiIGVmZmVjdD1cInNvbGlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBSdW4gUXVlcnkgKHtpc01hYyA/ICfijJhFbnRlcicgOiAnQ3RybCtFbnRlcid9IG9yIFNoaWZ0K0VudGVyKVxuICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRTcWxBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEVkaXRvciBpc1J1bm5pbmc9e2lzUnVubmluZ30+XG4gICAgICAgICAgICAgICAgICAgIDxNb25hY29FZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICBpc1JlYWRPbmx5PXtpc1J1bm5pbmd9XG4gICAgICAgICAgICAgICAgICAgICAgb25SdW5RdWVyeT17cnVuUXVlcnl9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2NoZW1hPXt0YWJsZVNjaGVtYX1cbiAgICAgICAgICAgICAgICAgICAgICBjb2RlPXtzcWx9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvcj5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvclBhbmVsPlxuICAgICAgICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRWZXJ0aWNhbFJlc2l6ZUhhbmRsZSAvPlxuICAgICAgICAgICAgICA8UGFuZWw+XG4gICAgICAgICAgICAgICAge2lzUnVubmluZyA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRMb2FkaW5nQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ1NwaW5uZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTG9hZGluZ0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICApIDogZXJyb3IgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXJyb3JDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e2Vycm9yLm1lc3NhZ2V9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVycm9yQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICkgOiByZXN1bHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRGF0YVBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVzdWx0QWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNlY29uZGFyeSBvbkNsaWNrPXtvbkFkZFJlc3VsdFRvTWFwfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCB0byBNYXBcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PntyZXN1bHQubnVtUm93c30gcm93czwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlc3VsdEFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgIDxQcmV2aWV3RGF0YVBhbmVsXG4gICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PXtyZXN1bHR9XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVRhYmxlU3R5bGU9e3t9fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQWRkUmVzdWx0VG9NYXA9e29uQWRkUmVzdWx0VG9NYXB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZERhdGFQYW5lbD5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9QYW5lbD5cbiAgICAgICAgICAgIDwvUGFuZWxHcm91cD5cbiAgICAgICAgICA8L1N0eWxlZFNxbEVkaXRvcj5cbiAgICAgICAgPC9QYW5lbD5cbiAgICAgIDwvUGFuZWxHcm91cD5cbiAgICA8L1N0eWxlZFNxbFBhbmVsPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsWUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBRUEsSUFBQVksT0FBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsTUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsV0FBQSxHQUFBZCxPQUFBO0FBQTBELElBQUFlLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JB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
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ export declare type TreeNodeData<T> = {
3
+ key: string;
4
+ object: T;
5
+ children?: TreeNodeData<T>[];
6
+ isOpen?: boolean;
7
+ };
8
+ export declare type TreeProps<T> = {
9
+ className?: string;
10
+ treeData: TreeNodeData<T>;
11
+ renderNode: TreeNodeProps<T>['renderNode'];
12
+ };
13
+ /**
14
+ * Component that renders a generic tree.
15
+ * @param treeData - The tree data.
16
+ * @param renderNode - A function that renders a tree node.
17
+ */
18
+ export declare function Tree<T>(props: TreeProps<T>): React.ReactElement;
19
+ export declare type TreeNodeProps<T> = {
20
+ treeData: TreeNodeData<T>;
21
+ renderNode: (node: TreeNodeData<T>, isOpen: boolean) => JSX.Element | null;
22
+ };
23
+ export declare const DatasetNode: ({ node }: {
24
+ node: any;
25
+ }) => React.JSX.Element;
26
+ export declare const ColumnNode: ({ node }: {
27
+ node: any;
28
+ }) => React.JSX.Element;
@@ -0,0 +1,90 @@
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.DatasetNode = exports.ColumnNode = void 0;
9
+ exports.Tree = Tree;
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
12
+ var _reactCollapsible = require("@radix-ui/react-collapsible");
13
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _components = require("@kepler.gl/components");
17
+ var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
18
+ // Copyright contributors to the kepler.gl project
19
+ 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); }
20
+ 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; }
21
+ // TODO: consider using react-vtree/react-window for virtualization
22
+
23
+ /**
24
+ * Component that renders a generic tree.
25
+ * @param treeData - The tree data.
26
+ * @param renderNode - A function that renders a tree node.
27
+ */
28
+ function Tree(props) {
29
+ var treeData = props.treeData,
30
+ renderNode = props.renderNode;
31
+ return /*#__PURE__*/_react["default"].createElement("div", {
32
+ className: "flex flex-col"
33
+ }, /*#__PURE__*/_react["default"].createElement(TreeNode, {
34
+ treeData: treeData,
35
+ renderNode: renderNode
36
+ }));
37
+ }
38
+ var StyledCollapsibleTriggerContent = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n width: 100%;\n cursor: pointer;\n align-items: center;\n"])));
39
+ /**
40
+ * Component that renders a tree node.
41
+ */
42
+ function TreeNode(props) {
43
+ var treeData = props.treeData,
44
+ renderNode = props.renderNode;
45
+ var children = treeData.children;
46
+ var _useState = (0, _react.useState)(Boolean(treeData.isOpen)),
47
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
48
+ isOpen = _useState2[0],
49
+ setIsOpen = _useState2[1];
50
+ (0, _react.useEffect)(function () {
51
+ setIsOpen(Boolean(treeData.isOpen));
52
+ }, [treeData.isOpen]);
53
+ if (!children) {
54
+ return renderNode(treeData, isOpen);
55
+ }
56
+ return /*#__PURE__*/_react["default"].createElement(_reactCollapsible.Collapsible, {
57
+ open: isOpen,
58
+ onOpenChange: setIsOpen
59
+ }, /*#__PURE__*/_react["default"].createElement(_reactCollapsible.CollapsibleTrigger, {
60
+ className: "w-full",
61
+ asChild: true
62
+ }, /*#__PURE__*/_react["default"].createElement(StyledCollapsibleTriggerContent, null, /*#__PURE__*/_react["default"].createElement(_components.Icons.ArrowRight, {
63
+ className: (0, _classnames["default"])('flex-shrink-0 text-gray-500', {
64
+ 'rotate-90 transform': isOpen
65
+ }),
66
+ height: "18px"
67
+ }), renderNode(treeData, isOpen))), /*#__PURE__*/_react["default"].createElement(_reactCollapsible.CollapsibleContent, {
68
+ className: "pl-4"
69
+ }, isOpen ? children.map(function (child) {
70
+ return /*#__PURE__*/_react["default"].createElement(TreeNode, {
71
+ key: child.key,
72
+ treeData: child,
73
+ renderNode: renderNode
74
+ });
75
+ }) : null));
76
+ }
77
+ var DatasetNode = exports.DatasetNode = function DatasetNode(_ref) {
78
+ var node = _ref.node;
79
+ return /*#__PURE__*/_react["default"].createElement("div", null, node.object.tableName);
80
+ };
81
+ var StyledColumnNode = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding: 4px 0;\n margin-left: 16px;\n\n .column-name {\n margin-left: 8px;\n }\n"])));
82
+ var ColumnNode = exports.ColumnNode = function ColumnNode(_ref2) {
83
+ var node = _ref2.node;
84
+ return /*#__PURE__*/_react["default"].createElement(StyledColumnNode, null, /*#__PURE__*/_react["default"].createElement(_components.FieldToken, {
85
+ type: node.object.fieldType
86
+ }), /*#__PURE__*/_react["default"].createElement("div", {
87
+ className: "column-name"
88
+ }, node.object.name));
89
+ };
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RDb2xsYXBzaWJsZSIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9jbGFzc25hbWVzIiwiX2NvbXBvbmVudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiVHJlZSIsInByb3BzIiwidHJlZURhdGEiLCJyZW5kZXJOb2RlIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIlRyZWVOb2RlIiwiU3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiY2hpbGRyZW4iLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIkJvb2xlYW4iLCJpc09wZW4iLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0SXNPcGVuIiwidXNlRWZmZWN0IiwiQ29sbGFwc2libGUiLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwiQ29sbGFwc2libGVUcmlnZ2VyIiwiYXNDaGlsZCIsIkljb25zIiwiQXJyb3dSaWdodCIsImNsYXNzTmFtZXMiLCJoZWlnaHQiLCJDb2xsYXBzaWJsZUNvbnRlbnQiLCJtYXAiLCJjaGlsZCIsImtleSIsIkRhdGFzZXROb2RlIiwiZXhwb3J0cyIsIl9yZWYiLCJub2RlIiwib2JqZWN0IiwidGFibGVOYW1lIiwiU3R5bGVkQ29sdW1uTm9kZSIsIkNvbHVtbk5vZGUiLCJfcmVmMiIsIkZpZWxkVG9rZW4iLCJ0eXBlIiwiZmllbGRUeXBlIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RyZWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7Q29sbGFwc2libGUsIENvbGxhcHNpYmxlVHJpZ2dlciwgQ29sbGFwc2libGVDb250ZW50fSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29sbGFwc2libGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtJY29ucywgRmllbGRUb2tlbn0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcblxuZXhwb3J0IHR5cGUgVHJlZU5vZGVEYXRhPFQ+ID0ge1xuICBrZXk6IHN0cmluZztcbiAgb2JqZWN0OiBUO1xuICBjaGlsZHJlbj86IFRyZWVOb2RlRGF0YTxUPltdO1xuICBpc09wZW4/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVHJlZVByb3BzPFQ+ID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHRyZWVEYXRhOiBUcmVlTm9kZURhdGE8VD47XG4gIHJlbmRlck5vZGU6IFRyZWVOb2RlUHJvcHM8VD5bJ3JlbmRlck5vZGUnXTtcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHJlYWN0LXZ0cmVlL3JlYWN0LXdpbmRvdyBmb3IgdmlydHVhbGl6YXRpb25cblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCByZW5kZXJzIGEgZ2VuZXJpYyB0cmVlLlxuICogQHBhcmFtIHRyZWVEYXRhIC0gVGhlIHRyZWUgZGF0YS5cbiAqIEBwYXJhbSByZW5kZXJOb2RlIC0gQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgYSB0cmVlIG5vZGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUcmVlPFQ+KHByb3BzOiBUcmVlUHJvcHM8VD4pOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICA8VHJlZU5vZGU8VD4gdHJlZURhdGE9e3RyZWVEYXRhfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgdHlwZSBUcmVlTm9kZVByb3BzPFQ+ID0ge1xuICB0cmVlRGF0YTogVHJlZU5vZGVEYXRhPFQ+O1xuICByZW5kZXJOb2RlOiAobm9kZTogVHJlZU5vZGVEYXRhPFQ+LCBpc09wZW46IGJvb2xlYW4pID0+IEpTWC5FbGVtZW50IHwgbnVsbDtcbn07XG5cbmNvbnN0IFN0eWxlZENvbGxhcHNpYmxlVHJpZ2dlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcbi8qKlxuICogQ29tcG9uZW50IHRoYXQgcmVuZGVycyBhIHRyZWUgbm9kZS5cbiAqL1xuZnVuY3Rpb24gVHJlZU5vZGU8VD4ocHJvcHM6IFRyZWVOb2RlUHJvcHM8VD4pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIGNvbnN0IHtjaGlsZHJlbn0gPSB0cmVlRGF0YTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SXNPcGVuKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIH0sIFt0cmVlRGF0YS5pc09wZW5dKTtcbiAgaWYgKCFjaGlsZHJlbikge1xuICAgIHJldHVybiByZW5kZXJOb2RlKHRyZWVEYXRhLCBpc09wZW4pO1xuICB9XG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlIG9wZW49e2lzT3Blbn0gb25PcGVuQ2hhbmdlPXtzZXRJc09wZW59PlxuICAgICAgPENvbGxhcHNpYmxlVHJpZ2dlciBjbGFzc05hbWU9XCJ3LWZ1bGxcIiBhc0NoaWxkPlxuICAgICAgICA8U3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgICAgICA8SWNvbnMuQXJyb3dSaWdodFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdmbGV4LXNocmluay0wIHRleHQtZ3JheS01MDAnLCB7J3JvdGF0ZS05MCB0cmFuc2Zvcm0nOiBpc09wZW59KX1cbiAgICAgICAgICAgIGhlaWdodD1cIjE4cHhcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAge3JlbmRlck5vZGUodHJlZURhdGEsIGlzT3Blbil9XG4gICAgICAgIDwvU3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgIDwvQ29sbGFwc2libGVUcmlnZ2VyPlxuICAgICAgPENvbGxhcHNpYmxlQ29udGVudCBjbGFzc05hbWU9XCJwbC00XCI+XG4gICAgICAgIHtpc09wZW5cbiAgICAgICAgICA/IGNoaWxkcmVuLm1hcChjaGlsZCA9PiAoXG4gICAgICAgICAgICAgIDxUcmVlTm9kZTxUPiBrZXk9e2NoaWxkLmtleX0gdHJlZURhdGE9e2NoaWxkfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgICAgICAgICAgKSlcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8L0NvbGxhcHNpYmxlQ29udGVudD5cbiAgICA8L0NvbGxhcHNpYmxlPlxuICApO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldE5vZGUgPSAoe25vZGV9KSA9PiB7XG4gIHJldHVybiA8ZGl2Pntub2RlLm9iamVjdC50YWJsZU5hbWV9PC9kaXY+O1xufTtcblxuY29uc3QgU3R5bGVkQ29sdW1uTm9kZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBtYXJnaW4tbGVmdDogMTZweDtcblxuICAuY29sdW1uLW5hbWUge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cbmA7XG5leHBvcnQgY29uc3QgQ29sdW1uTm9kZSA9ICh7bm9kZX0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29sdW1uTm9kZT5cbiAgICAgIDxGaWVsZFRva2VuIHR5cGU9e25vZGUub2JqZWN0LmZpZWxkVHlwZX0gLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sdW1uLW5hbWVcIj57bm9kZS5vYmplY3QubmFtZX08L2Rpdj5cbiAgICA8L1N0eWxlZENvbHVtbk5vZGU+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLGlCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQXdELElBQUFPLGVBQUEsRUFBQUMsZ0JBQUEsRUFSeEQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQXNCQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU1csSUFBSUEsQ0FBSUMsS0FBbUIsRUFBc0I7RUFDL0QsSUFBT0MsUUFBUSxHQUFnQkQsS0FBSyxDQUE3QkMsUUFBUTtJQUFFQyxVQUFVLEdBQUlGLEtBQUssQ0FBbkJFLFVBQVU7RUFDM0Isb0JBQ0U3QixNQUFBLFlBQUE4QixhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFlLGdCQUM1Qi9CLE1BQUEsWUFBQThCLGFBQUEsQ0FBQ0UsUUFBUTtJQUFJSixRQUFRLEVBQUVBLFFBQVM7SUFBQ0MsVUFBVSxFQUFFQTtFQUFXLENBQUUsQ0FDdkQsQ0FBQztBQUVWO0FBT0EsSUFBTUksK0JBQStCLEdBQUdDLDRCQUFNLENBQUNDLEdBQUcsQ0FBQS9CLGVBQUEsS0FBQUEsZUFBQSxPQUFBZ0MsdUJBQUEsb0dBS2pEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsU0FBU0osUUFBUUEsQ0FBSUwsS0FBdUIsRUFBc0I7RUFDaEUsSUFBT0MsUUFBUSxHQUFnQkQsS0FBSyxDQUE3QkMsUUFBUTtJQUFFQyxVQUFVLEdBQUlGLEtBQUssQ0FBbkJFLFVBQVU7RUFDM0IsSUFBT1EsUUFBUSxHQUFJVCxRQUFRLENBQXBCUyxRQUFRO0VBQ2YsSUFBQUMsU0FBQSxHQUE0QixJQUFBQyxlQUFRLEVBQUNDLE9BQU8sQ0FBQ1osUUFBUSxDQUFDYSxNQUFNLENBQUMsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsYUFBQUwsU0FBQTtJQUF2REcsTUFBTSxHQUFBQyxVQUFBO0lBQUVFLFNBQVMsR0FBQUYsVUFBQTtFQUN4QixJQUFBRyxnQkFBUyxFQUFDLFlBQU07SUFDZEQsU0FBUyxDQUFDSixPQUFPLENBQUNaLFFBQVEsQ0FBQ2EsTUFBTSxDQUFDLENBQUM7RUFDckMsQ0FBQyxFQUFFLENBQUNiLFFBQVEsQ0FBQ2EsTUFBTSxDQUFDLENBQUM7RUFDckIsSUFBSSxDQUFDSixRQUFRLEVBQUU7SUFDYixPQUFPUixVQUFVLENBQUNELFFBQVEsRUFBRWEsTUFBTSxDQUFDO0VBQ3JDO0VBQ0Esb0JBQ0V6QyxNQUFBLFlBQUE4QixhQUFBLENBQUNsQyxpQkFBQSxDQUFBa0QsV0FBVztJQUFDQyxJQUFJLEVBQUVOLE1BQU87SUFBQ08sWUFBWSxFQUFFSjtFQUFVLGdCQUNqRDVDLE1BQUEsWUFBQThCLGFBQUEsQ0FBQ2xDLGlCQUFBLENBQUFxRCxrQkFBa0I7SUFBQ2xCLFNBQVMsRUFBQyxRQUFRO0lBQUNtQixPQUFPO0VBQUEsZ0JBQzVDbEQsTUFBQSxZQUFBOEIsYUFBQSxDQUFDRywrQkFBK0IscUJBQzlCakMsTUFBQSxZQUFBOEIsYUFBQSxDQUFDM0IsV0FBQSxDQUFBZ0QsS0FBSyxDQUFDQyxVQUFVO0lBQ2ZyQixTQUFTLEVBQUUsSUFBQXNCLHNCQUFVLEVBQUMsNkJBQTZCLEVBQUU7TUFBQyxxQkFBcUIsRUFBRVo7SUFBTSxDQUFDLENBQUU7SUFDdEZhLE1BQU0sRUFBQztFQUFNLENBQ2QsQ0FBQyxFQUNEekIsVUFBVSxDQUFDRCxRQUFRLEVBQUVhLE1BQU0sQ0FDRyxDQUNmLENBQUMsZUFDckJ6QyxNQUFBLFlBQUE4QixhQUFBLENBQUNsQyxpQkFBQSxDQUFBMkQsa0JBQWtCO0lBQUN4QixTQUFTLEVBQUM7RUFBTSxHQUNqQ1UsTUFBTSxHQUNISixRQUFRLENBQUNtQixHQUFHLENBQUMsVUFBQUMsS0FBSztJQUFBLG9CQUNoQnpELE1BQUEsWUFBQThCLGFBQUEsQ0FBQ0UsUUFBUTtNQUFJMEIsR0FBRyxFQUFFRCxLQUFLLENBQUNDLEdBQUk7TUFBQzlCLFFBQVEsRUFBRTZCLEtBQU07TUFBQzVCLFVBQVUsRUFBRUE7SUFBVyxDQUFFLENBQUM7RUFBQSxDQUN6RSxDQUFDLEdBQ0YsSUFDYyxDQUNULENBQUM7QUFFbEI7QUFFTyxJQUFNOEIsV0FBVyxHQUFBQyxPQUFBLENBQUFELFdBQUEsR0FBRyxTQUFkQSxXQUFXQSxDQUFBRSxJQUFBLEVBQWU7RUFBQSxJQUFWQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtFQUMvQixvQkFBTzlELE1BQUEsWUFBQThCLGFBQUEsY0FBTWdDLElBQUksQ0FBQ0MsTUFBTSxDQUFDQyxTQUFlLENBQUM7QUFDM0MsQ0FBQztBQUVELElBQU1DLGdCQUFnQixHQUFHL0IsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBOUIsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQStCLHVCQUFBLHlKQVNsQztBQUNNLElBQU04QixVQUFVLEdBQUFOLE9BQUEsQ0FBQU0sVUFBQSxHQUFHLFNBQWJBLFVBQVVBLENBQUFDLEtBQUEsRUFBZTtFQUFBLElBQVZMLElBQUksR0FBQUssS0FBQSxDQUFKTCxJQUFJO0VBQzlCLG9CQUNFOUQsTUFBQSxZQUFBOEIsYUFBQSxDQUFDbUMsZ0JBQWdCLHFCQUNmakUsTUFBQSxZQUFBOEIsYUFBQSxDQUFDM0IsV0FBQSxDQUFBaUUsVUFBVTtJQUFDQyxJQUFJLEVBQUVQLElBQUksQ0FBQ0MsTUFBTSxDQUFDTztFQUFVLENBQUUsQ0FBQyxlQUMzQ3RFLE1BQUEsWUFBQThCLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQWEsR0FBRStCLElBQUksQ0FBQ0MsTUFBTSxDQUFDUSxJQUFVLENBQ3BDLENBQUM7QUFFdkIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,4 @@
1
+ import { keplerGlDuckDBPlugin } from './plugin';
2
+ export { KeplerGlDuckDbTable } from './table/duckdb-table';
3
+ export { SqlPanel } from './components';
4
+ export default keplerGlDuckDBPlugin;
package/dist/index.js ADDED
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "KeplerGlDuckDbTable", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _duckdbTable.KeplerGlDuckDbTable;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "SqlPanel", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _components.SqlPanel;
16
+ }
17
+ });
18
+ exports["default"] = void 0;
19
+ var _plugin = require("./plugin");
20
+ var _duckdbTable = require("./table/duckdb-table");
21
+ var _components = require("./components");
22
+ // SPDX-License-Identifier: MIT
23
+ // Copyright contributors to the kepler.gl project
24
+ var _default = exports["default"] = _plugin.keplerGlDuckDBPlugin;
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGx1Z2luIiwicmVxdWlyZSIsIl9kdWNrZGJUYWJsZSIsIl9jb21wb25lbnRzIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwia2VwbGVyR2xEdWNrREJQbHVnaW4iXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtrZXBsZXJHbER1Y2tEQlBsdWdpbn0gZnJvbSAnLi9wbHVnaW4nO1xuZXhwb3J0IHtLZXBsZXJHbER1Y2tEYlRhYmxlfSBmcm9tICcuL3RhYmxlL2R1Y2tkYi10YWJsZSc7XG5leHBvcnQge1NxbFBhbmVsfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuZXhwb3J0IGRlZmF1bHQga2VwbGVyR2xEdWNrREJQbHVnaW47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUxBO0FBQ0E7QUFBQSxJQUFBRyxRQUFBLEdBQUFDLE9BQUEsY0FLZUMsNEJBQW9CIiwiaWdub3JlTGlzdCI6W119
package/dist/init.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { AsyncDuckDB, DuckDBConfig } from '@duckdb/duckdb-wasm';
2
+ export declare let DEBUG: boolean | undefined;
3
+ /**
4
+ * Initialize DuckDB, ensuring we only initialize it once.
5
+ *
6
+ * @param debug If true, log DuckDB logs and elapsed times to the console.
7
+ * @param config An optional DuckDBConfig object.
8
+ */
9
+ export declare function initializeDuckDb(options?: {
10
+ debug?: boolean;
11
+ config?: DuckDBConfig;
12
+ }): Promise<AsyncDuckDB>;
13
+ /**
14
+ * Get the instance of DuckDB, initializing it if needed.
15
+ *
16
+ * Typically `useDuckDB` is used in React components instead, but this
17
+ * method provides access outside of React contexts.
18
+ */
19
+ export declare const getDuckDB: () => Promise<AsyncDuckDB>;