td-stylekit 32.0.1 → 33.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "td-stylekit",
3
- "version": "32.0.1",
3
+ "version": "33.1.0",
4
4
  "main": "dist/es/index.js",
5
5
  "module": "dist/es/index.js",
6
6
  "types": "dist/es/index.d.ts",
@@ -101,7 +101,6 @@
101
101
  "react-day-picker": "7.3.2",
102
102
  "react-highlight-words": "^0.20.0",
103
103
  "react-select": "4.3.1",
104
- "react-sortable-tree": "^2.8.0",
105
104
  "use-onclickoutside": "^0.4.1",
106
105
  "victory": "^35.4.2"
107
106
  },
@@ -169,7 +168,6 @@
169
168
  "@types/react": "18.0.35",
170
169
  "@types/react-dom": "18.0.11",
171
170
  "@types/react-select": "^4.0.18",
172
- "@types/react-sortable-tree": "^0.3.11",
173
171
  "@types/react-virtualized": "^9.21.30",
174
172
  "@types/semantic-release": "^17.1.0",
175
173
  "@types/testing-library__jest-dom": "^5.0.0",
@@ -232,14 +230,13 @@
232
230
  "storybook": "^8.6.17",
233
231
  "svg-inline-loader": "^0.8.2",
234
232
  "svg-to-jsx": "^1.0.4",
235
- "svgo": "^3.3.2",
233
+ "svgo": "^3.3.3",
236
234
  "tslib": "^2.7.0",
237
235
  "tsx": "^4.16.5",
238
236
  "typescript": "^5.4.5"
239
237
  },
240
238
  "peerDependencies": {
241
239
  "react": "18.2.0",
242
- "react-dnd": "^9.4.0",
243
240
  "react-dom": "18.2.0",
244
241
  "react-virtualized": "^9.22.6"
245
242
  },
@@ -1,25 +0,0 @@
1
- import { SyntheticEvent, MouseEvent, KeyboardEvent, JSXElementConstructor, PropsWithChildren, FunctionComponent } from 'react';
2
- import type { NodeRendererProps } from 'react-sortable-tree';
3
- export type NodeContentProps = NodeRendererProps & {
4
- disabled: boolean;
5
- focused: boolean;
6
- hovering: boolean;
7
- hoveringDepth: number;
8
- last: boolean;
9
- 'data-instrumentation'?: string;
10
- loading: boolean;
11
- rootNodeTypes?: string[];
12
- onClick?: (e: SyntheticEvent<HTMLElement>) => void;
13
- onDoubleClick?: (e: SyntheticEvent<HTMLElement>) => void;
14
- onContextMenu?: (e: MouseEvent<HTMLElement>) => void;
15
- onHover: (path: Array<number | string> | null) => void;
16
- onKeyDown?: (e: KeyboardEvent<HTMLElement>) => void;
17
- onMouseDown?: (e: MouseEvent<HTMLElement>) => void;
18
- searchQuery?: string;
19
- selected: boolean;
20
- treeNodeContentChildrenWrapper?: JSXElementConstructor<any>;
21
- treeNodeContentRootWrapper?: JSXElementConstructor<any>;
22
- };
23
- export declare const NodeContent: FunctionComponent<PropsWithChildren<NodeContentProps>>;
24
- export default NodeContent;
25
- //# sourceMappingURL=NodeContent.d.ts.map
@@ -1,197 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = exports.NodeContent = void 0;
7
- var _react = require("react");
8
- var _elements = require("./elements");
9
- var _Highlighter = _interopRequireDefault(require("../Highlighter"));
10
- var _Icon = _interopRequireDefault(require("../Icon"));
11
- var _RightTruncatedText = _interopRequireDefault(require("../RightTruncatedText"));
12
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
- if (typeof window !== "undefined" && !window.gs) window.gs = function () {};
15
- if (typeof window !== "undefined" && !window.gsC) window.gsC = function () {}; // copy paste from https://github.com/frontend-collective/react-sortable-tree-theme-file-explorer/blob/master/node-content-renderer.js to modify
16
- function range(from, to) {
17
- var count = to - from + 1;
18
- var result = new Array(count);
19
- for (var i = 0; i < count; ++i) {
20
- result[i] = from + i;
21
- }
22
- return result;
23
- }
24
- var NodeContent = exports.NodeContent = function NodeContent(_ref) {
25
- var canDrag = _ref.canDrag,
26
- connectDragPreview = _ref.connectDragPreview,
27
- connectDragSource = _ref.connectDragSource,
28
- dataInstrumentation = _ref['data-instrumentation'],
29
- disabled = _ref.disabled,
30
- focused = _ref.focused,
31
- hovering = _ref.hovering,
32
- hoveringDepth = _ref.hoveringDepth,
33
- icons = _ref.icons,
34
- isDragging = _ref.isDragging,
35
- last = _ref.last,
36
- loading = _ref.loading,
37
- node = _ref.node,
38
- _onClick = _ref.onClick,
39
- _onDoubleClick = _ref.onDoubleClick,
40
- onContextMenu = _ref.onContextMenu,
41
- onHover = _ref.onHover,
42
- _onKeyDown = _ref.onKeyDown,
43
- _onMouseDown = _ref.onMouseDown,
44
- path = _ref.path,
45
- _ref$rootNodeTypes = _ref.rootNodeTypes,
46
- rootNodeTypes = _ref$rootNodeTypes === void 0 ? [] : _ref$rootNodeTypes,
47
- scaffoldBlockPxWidth = _ref.scaffoldBlockPxWidth,
48
- searchQuery = _ref.searchQuery,
49
- selected = _ref.selected,
50
- title = _ref.title,
51
- toggleChildrenVisibility = _ref.toggleChildrenVisibility,
52
- treeIndex = _ref.treeIndex,
53
- _ref$treeNodeContentC = _ref.treeNodeContentChildrenWrapper,
54
- treeNodeContentChildrenWrapper = _ref$treeNodeContentC === void 0 ? _elements.NodeContentWrapper : _ref$treeNodeContentC,
55
- _ref$treeNodeContentR = _ref.treeNodeContentRootWrapper,
56
- treeNodeContentRootWrapper = _ref$treeNodeContentR === void 0 ? _elements.NodeContentWrapper : _ref$treeNodeContentR,
57
- isSearchFocus = _ref.isSearchFocus,
58
- isSearchMatch = _ref.isSearchMatch;
59
- var nodeTitle = title || node.name;
60
- var hasLines = !isDragging && hovering;
61
- var nodeLoading = loading || node.loading;
62
- var elementRef = (0, _react.useRef)(null);
63
- (0, _react.useEffect)(function () {
64
- if (focused && elementRef !== null && elementRef !== void 0 && elementRef.current) {
65
- var _document$activeEleme;
66
- // Only take focus if a tree node is already focused. If we don't do
67
- // this, nodes are erroneously refocused when they remount.
68
- if ((_document$activeEleme = document.activeElement) !== null && _document$activeEleme !== void 0 && _document$activeEleme.hasAttribute('data-tree-node-path')) {
69
- elementRef.current.focus();
70
- }
71
- }
72
- }, [focused]);
73
- var toggleChildren = function toggleChildren() {
74
- toggleChildrenVisibility && rootNodeTypes.includes(node.type) && toggleChildrenVisibility({
75
- node: node,
76
- path: path,
77
- treeIndex: treeIndex
78
- });
79
- };
80
- var isNodeRoot = toggleChildrenVisibility && rootNodeTypes.includes(node.type);
81
- var NodeContentWrapper = isNodeRoot ? treeNodeContentRootWrapper : treeNodeContentChildrenWrapper;
82
- var nodeContent = (0, _jsxRuntime.jsxs)("div", {
83
- "data-gs-c": gsC(nodeTitle),
84
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div"),
85
- "data-tree-node-path": path.join('/'),
86
- role: "row",
87
- style: {
88
- height: '100%'
89
- },
90
- ref: elementRef,
91
- tabIndex: 0,
92
- onMouseEnter: function onMouseEnter() {
93
- if (!disabled) onHover(path);
94
- },
95
- onMouseLeave: function onMouseLeave() {
96
- if (!disabled) onHover(null);
97
- },
98
- onClick: function onClick(e) {
99
- if (!disabled) {
100
- if (!node.expanded || node.expanded && focused) {
101
- toggleChildren();
102
- }
103
- _onClick && _onClick(e);
104
- }
105
- },
106
- onDoubleClick: function onDoubleClick(e) {
107
- if (!disabled && _onDoubleClick) _onDoubleClick(e);
108
- },
109
- onMouseDown: function onMouseDown(event) {
110
- if (!disabled && _onMouseDown) {
111
- _onMouseDown(event);
112
- }
113
- },
114
- "data-instrumentation": dataInstrumentation,
115
- onKeyDown: function onKeyDown(event) {
116
- if (!disabled) {
117
- if (event.key === ' ') {
118
- event.preventDefault();
119
- toggleChildren();
120
- }
121
- if (_onKeyDown) {
122
- _onKeyDown(event);
123
- }
124
- }
125
- },
126
- onContextMenu: onContextMenu,
127
- title: nodeTitle,
128
- children: [hasLines && range(1, hoveringDepth).map(function (x) {
129
- return (0, _jsxRuntime.jsx)(_elements.TreeLine, {
130
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "tree-line"),
131
- blockWidth: scaffoldBlockPxWidth,
132
- depth: path.length - x - 1,
133
- last: last
134
- }, x);
135
- }), connectDragPreview((0, _jsxRuntime.jsx)("div", {
136
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div"),
137
- role: "gridcell",
138
- children: (0, _jsxRuntime.jsxs)(NodeContentWrapper, {
139
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper"),
140
- disabled: disabled,
141
- selected: selected,
142
- children: [isNodeRoot && (0, _jsxRuntime.jsx)(_elements.PlusMinusButton, {
143
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper", "plus-minus-button"),
144
- tabIndex: -1,
145
- disabled: disabled,
146
- icon: true,
147
- selected: selected,
148
- small: true,
149
- "data-instrumentation": "".concat(dataInstrumentation, "-plusminus"),
150
- "aria-label": node.expanded ? 'Collapse' : 'Expand',
151
- onMouseDown: function onMouseDown(event) {
152
- return event.stopPropagation();
153
- },
154
- spinner: nodeLoading,
155
- onClick: function onClick(e) {
156
- if (!disabled) {
157
- toggleChildren();
158
- }
159
- e.stopPropagation();
160
- },
161
- children: (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
162
- children: [!nodeLoading && (node.expanded ? (0, _jsxRuntime.jsx)(_Icon["default"].Small.SymbolMinus, {
163
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper", "plus-minus-button", "icon-small-symbol-minus")
164
- }) : (0, _jsxRuntime.jsx)(_Icon["default"].Small.SymbolPlus, {
165
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper", "plus-minus-button", "icon-small-symbol-plus")
166
- })), nodeLoading && (0, _jsxRuntime.jsx)(_elements.Spinner, {
167
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper", "plus-minus-button", "spinner"),
168
- selected: selected
169
- })]
170
- })
171
- }), (0, _jsxRuntime.jsxs)(_elements.StyledBox, {
172
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper", "styled-box"),
173
- children: [(icons || []).map(function (icon, index) {
174
- return (0, _jsxRuntime.jsx)(_elements.IconWrapper, {
175
- "data-gs-c": gsC(icon),
176
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper", "styled-box", "icon-wrapper"),
177
- disabled: disabled,
178
- selected: selected,
179
- children: icon
180
- }, index);
181
- }), (0, _jsxRuntime.jsx)(_RightTruncatedText["default"], {
182
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper", "styled-box", "right-truncated-text"),
183
- text: isSearchMatch ? (0, _jsxRuntime.jsx)(_Highlighter["default"], {
184
- "data-gs": gs("src", "tree", "nodecontent.tsx", "div", "div", "node-content-wrapper", "styled-box", "right-truncated-text", "highlighter"),
185
- textToHighlight: nodeTitle,
186
- searchString: searchQuery,
187
- focused: isSearchFocus
188
- }) : nodeTitle
189
- })]
190
- })]
191
- })
192
- }))]
193
- }, node.id);
194
- return canDrag && !disabled ? connectDragSource(nodeContent) : nodeContent;
195
- };
196
- NodeContent.displayName = 'NodeContent';
197
- var _default = exports["default"] = NodeContent;
@@ -1,14 +0,0 @@
1
- /// <reference types="react" />
2
- import type { ExtendedNodeData } from 'react-sortable-tree';
3
- export type ContextMenuRendererProps = {
4
- left: number;
5
- onClose: () => void;
6
- rowInfo: ExtendedNodeData;
7
- top: number;
8
- };
9
- export type ContextMenuProps = {
10
- contextMenuRenderer: (props: ContextMenuRendererProps) => React.ReactNode;
11
- } & ContextMenuRendererProps;
12
- declare const ContextMenu: ({ contextMenuRenderer, onClose, ...props }: ContextMenuProps) => import("react").ReactPortal | null;
13
- export default ContextMenu;
14
- //# sourceMappingURL=NodeContextMenu.d.ts.map
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _reactDom = _interopRequireDefault(require("react-dom"));
9
- var _utils = require("../utils");
10
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
11
- var _excluded = ["contextMenuRenderer", "onClose"];
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
- 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; }
14
- 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) { _defineProperty(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; }
15
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
16
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
19
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
20
- if (typeof window !== "undefined" && !window.gs) window.gs = function () {};
21
- if (typeof window !== "undefined" && !window.gsC) window.gsC = function () {};
22
- var ContextMenu = function ContextMenu(_ref) {
23
- var contextMenuRenderer = _ref.contextMenuRenderer,
24
- onClose = _ref.onClose,
25
- props = _objectWithoutProperties(_ref, _excluded);
26
- if (document.body == null) {
27
- return null;
28
- }
29
- var contextMenuCloseWrapper = (0, _jsxRuntime.jsx)(_utils.CloseWrapper, {
30
- "data-gs-c": gsC(contextMenuRenderer(_objectSpread({
31
- onClose: onClose
32
- }, props))),
33
- "data-gs": gs("src", "tree", "nodecontextmenu.tsx", "close-wrapper"),
34
- onClose: onClose,
35
- children: contextMenuRenderer(_objectSpread({
36
- onClose: onClose
37
- }, props))
38
- });
39
- return /*#__PURE__*/_reactDom["default"].createPortal(contextMenuCloseWrapper, document.body);
40
- };
41
- var _default = exports["default"] = ContextMenu;
@@ -1,23 +0,0 @@
1
- import { ReactNode, PropsWithChildren, FunctionComponent, JSXElementConstructor, ReactElement } from 'react';
2
- import type { ReactSortableTreeProps } from 'react-sortable-tree';
3
- import 'react-sortable-tree/style.css';
4
- import type { NodeContentProps } from './NodeContent';
5
- import type { ContextMenuRendererProps } from './NodeContextMenu';
6
- export type TreeProps = {
7
- contextMenuRenderer?: (props: ContextMenuRendererProps) => ReactNode;
8
- /** @deprecated This prop isn't consistently synced with internal state */
9
- focusedIndex?: number | undefined;
10
- onDelete?: (rowInfo: any) => void;
11
- onSelect?: (rowInfo: any) => void;
12
- rootNodeTypes?: string[];
13
- disabledNodeIds?: string[];
14
- 'data-instrumentation'?: string;
15
- nodeContentRenderer?: (props: NodeContentProps) => ReactElement<any, string | JSXElementConstructor<any>>;
16
- } & Omit<ReactSortableTreeProps, 'nodeContentRenderer'>;
17
- /**
18
- * Generates a Tree structure to display hierarchical data. Wraps react-sortable-tree
19
- * https://github.com/frontend-collective/react-sortable-tree
20
- */
21
- declare const Tree: FunctionComponent<PropsWithChildren<TreeProps>>;
22
- export default Tree;
23
- //# sourceMappingURL=Tree.d.ts.map
@@ -1,197 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _react = require("react");
9
- var _reactSortableTree = _interopRequireWildcard(require("react-sortable-tree"));
10
- require("react-sortable-tree/style.css");
11
- var _NodeContent = _interopRequireDefault(require("./NodeContent"));
12
- var _TreeNode = _interopRequireDefault(require("./TreeNode"));
13
- var _NodeContextMenu = _interopRequireDefault(require("./NodeContextMenu"));
14
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
15
- var _excluded = ["contextMenuRenderer", "focusedIndex", "data-instrumentation", "generateNodeProps", "onChange", "onDelete", "onSelect", "rootNodeTypes", "disabledNodeIds", "searchQuery", "treeData", "nodeContentRenderer"];
16
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
17
- 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); }
18
- 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; }
19
- 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; }
20
- 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) { _defineProperty(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; }
21
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
22
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
23
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
25
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
27
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
28
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
29
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
30
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
31
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
32
- if (typeof window !== "undefined" && !window.gs) window.gs = function () {};
33
- if (typeof window !== "undefined" && !window.gsC) window.gsC = function () {};
34
- /**
35
- * Generates a Tree structure to display hierarchical data. Wraps react-sortable-tree
36
- * https://github.com/frontend-collective/react-sortable-tree
37
- */
38
- var Tree = function Tree(_ref) {
39
- var contextMenuRenderer = _ref.contextMenuRenderer,
40
- focusedIndexProp = _ref.focusedIndex,
41
- _ref$dataInstrumenta = _ref['data-instrumentation'],
42
- dataInstrumentation = _ref$dataInstrumenta === void 0 ? 'tree' : _ref$dataInstrumenta,
43
- generateNodeProps = _ref.generateNodeProps,
44
- onChange = _ref.onChange,
45
- onDelete = _ref.onDelete,
46
- onSelect = _ref.onSelect,
47
- _ref$rootNodeTypes = _ref.rootNodeTypes,
48
- rootNodeTypes = _ref$rootNodeTypes === void 0 ? [] : _ref$rootNodeTypes,
49
- _ref$disabledNodeIds = _ref.disabledNodeIds,
50
- disabledNodeIds = _ref$disabledNodeIds === void 0 ? [] : _ref$disabledNodeIds,
51
- searchQuery = _ref.searchQuery,
52
- treeData = _ref.treeData,
53
- nodeContentRenderer = _ref.nodeContentRenderer,
54
- props = _objectWithoutProperties(_ref, _excluded);
55
- var _useState = (0, _react.useState)(null),
56
- _useState2 = _slicedToArray(_useState, 2),
57
- hoveringNodePath = _useState2[0],
58
- setHoveringNodePath = _useState2[1];
59
- var _useState3 = (0, _react.useState)(),
60
- _useState4 = _slicedToArray(_useState3, 2),
61
- focusedIndex = _useState4[0],
62
- setFocusedIndex = _useState4[1];
63
- var _useState5 = (0, _react.useState)(null),
64
- _useState6 = _slicedToArray(_useState5, 2),
65
- activeContextMenu = _useState6[0],
66
- setActiveContextMenu = _useState6[1];
67
- // react-sortable-tree allows creation of custom themes
68
- // this customizes both the tree node, and the content of each node
69
- // as well as providing default values for some additional ReactSortableTreeProps
70
- var crystalTreeTheme = {
71
- nodeContentRenderer: nodeContentRenderer || _NodeContent["default"],
72
- rowHeight: 33,
73
- scaffoldBlockPxWidth: 22,
74
- treeNodeRenderer: _TreeNode["default"]
75
- };
76
- (0, _react.useEffect)(function () {
77
- setFocusedIndex(focusedIndexProp);
78
- }, [focusedIndexProp]);
79
- var handleKeyDown = function handleKeyDown(e, rowInfo) {
80
- switch (e.key) {
81
- case 'Backspace':
82
- {
83
- if (disabledNodeIds !== null && disabledNodeIds !== void 0 && disabledNodeIds.includes(rowInfo.node.id)) break;
84
- onDelete && onDelete(rowInfo);
85
- break;
86
- }
87
- case 'ArrowUp':
88
- {
89
- e.preventDefault();
90
- var nextIndex = Math.max((rowInfo.treeIndex || 0) - 1, 0);
91
- while (disabledNodeIds !== null && disabledNodeIds !== void 0 && disabledNodeIds.includes((_getVisibleNodeInfoAt = (0, _reactSortableTree.getVisibleNodeInfoAtIndex)({
92
- treeData: treeData,
93
- index: nextIndex,
94
- getNodeKey: function getNodeKey(_ref2) {
95
- var treeIndex = _ref2.treeIndex;
96
- return treeIndex;
97
- }
98
- })) === null || _getVisibleNodeInfoAt === void 0 ? void 0 : _getVisibleNodeInfoAt.node.id)) {
99
- var _getVisibleNodeInfoAt;
100
- if (nextIndex === 0) return;
101
- nextIndex = Math.max((nextIndex || 0) - 1, 0);
102
- }
103
- setFocusedIndex(nextIndex);
104
- break;
105
- }
106
- case 'ArrowDown':
107
- {
108
- e.preventDefault();
109
- var _nextIndex = Math.min((rowInfo.treeIndex || 0) + 1, (0, _reactSortableTree.getVisibleNodeCount)({
110
- treeData: treeData
111
- }) - 1);
112
- while (disabledNodeIds !== null && disabledNodeIds !== void 0 && disabledNodeIds.includes((_getVisibleNodeInfoAt2 = (0, _reactSortableTree.getVisibleNodeInfoAtIndex)({
113
- treeData: treeData,
114
- index: _nextIndex,
115
- getNodeKey: function getNodeKey(_ref3) {
116
- var treeIndex = _ref3.treeIndex;
117
- return treeIndex;
118
- }
119
- })) === null || _getVisibleNodeInfoAt2 === void 0 ? void 0 : _getVisibleNodeInfoAt2.node.id)) {
120
- var _getVisibleNodeInfoAt2;
121
- if (_nextIndex === (0, _reactSortableTree.getVisibleNodeCount)({
122
- treeData: treeData
123
- }) - 1) return;
124
- _nextIndex = Math.min((_nextIndex || 0) + 1, (0, _reactSortableTree.getVisibleNodeCount)({
125
- treeData: treeData
126
- }) - 1);
127
- }
128
- setFocusedIndex(_nextIndex);
129
- break;
130
- }
131
- case 'Enter':
132
- {
133
- if (disabledNodeIds !== null && disabledNodeIds !== void 0 && disabledNodeIds.includes(rowInfo.node.id)) break;
134
- onSelect && onSelect(rowInfo);
135
- break;
136
- }
137
- }
138
- };
139
- var createNodeProps = function createNodeProps(rowInfo) {
140
- var hovering = false;
141
- if (hoveringNodePath && hoveringNodePath.length < rowInfo.path.length) {
142
- hovering = "/".concat(rowInfo.path.join('/'), "/").startsWith("/".concat(hoveringNodePath.join('/'), "/"));
143
- }
144
- return _objectSpread({
145
- expanded: rowInfo.node.expanded,
146
- last: rowInfo.lowerSiblingCounts.every(function (x) {
147
- return x === 0;
148
- }) && !rowInfo.node.expanded,
149
- hoveringDepth: Math.max(0, hoveringNodePath ? rowInfo.path.length - hoveringNodePath.length : 0),
150
- hovering: hovering,
151
- disabled: disabledNodeIds === null || disabledNodeIds === void 0 ? void 0 : disabledNodeIds.includes(rowInfo.node.id),
152
- focused: focusedIndex === rowInfo.treeIndex,
153
- onHover: function onHover(path) {
154
- setHoveringNodePath(path);
155
- },
156
- onClick: function onClick() {
157
- onSelect && onSelect(rowInfo);
158
- setFocusedIndex(rowInfo.treeIndex);
159
- },
160
- 'data-instrumentation': "".concat(dataInstrumentation, "-item").concat(rowInfo.treeIndex),
161
- onKeyDown: function onKeyDown(e) {
162
- return handleKeyDown(e, rowInfo);
163
- },
164
- onContextMenu: function onContextMenu(event) {
165
- event.preventDefault();
166
- var boundingClientRect = event.currentTarget.getBoundingClientRect();
167
- var top = boundingClientRect.y || boundingClientRect.top;
168
- var left = boundingClientRect.x || boundingClientRect.left;
169
- setActiveContextMenu({
170
- top: top + boundingClientRect.height,
171
- left: left,
172
- rowInfo: rowInfo
173
- });
174
- },
175
- rootNodeTypes: rootNodeTypes,
176
- searchQuery: searchQuery
177
- }, generateNodeProps ? generateNodeProps(rowInfo) : {});
178
- };
179
- return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
180
- children: [(0, _jsxRuntime.jsx)(_reactSortableTree["default"], _objectSpread({
181
- "data-gs": gs("src", "tree", "tree.tsx", "sortable-tree"),
182
- generateNodeProps: createNodeProps,
183
- theme: crystalTreeTheme,
184
- onChange: onChange,
185
- treeData: treeData,
186
- searchQuery: searchQuery,
187
- "data-instrumentation": dataInstrumentation
188
- }, props)), contextMenuRenderer && activeContextMenu && (0, _jsxRuntime.jsx)(_NodeContextMenu["default"], _objectSpread({
189
- "data-gs": gs("src", "tree", "tree.tsx", "context-menu"),
190
- onClose: function onClose() {
191
- return setActiveContextMenu(null);
192
- },
193
- contextMenuRenderer: contextMenuRenderer
194
- }, activeContextMenu))]
195
- });
196
- };
197
- var _default = exports["default"] = Tree;
@@ -1,5 +0,0 @@
1
- import { PropsWithChildren, FunctionComponent } from 'react';
2
- import type { TreeRendererProps } from 'react-sortable-tree';
3
- declare const TreeNode: FunctionComponent<PropsWithChildren<TreeRendererProps>>;
4
- export default TreeNode;
5
- //# sourceMappingURL=TreeNode.d.ts.map
@@ -1,71 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _react = require("react");
9
- var _elements = require("./elements");
10
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
11
- var _excluded = ["children", "scaffoldBlockPxWidth", "lowerSiblingCounts", "connectDropTarget", "isOver", "draggedNode", "canDrop", "node"];
12
- 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; }
13
- 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) { _defineProperty(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; }
14
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
18
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
19
- if (typeof window !== "undefined" && !window.gs) window.gs = function () {};
20
- if (typeof window !== "undefined" && !window.gsC) window.gsC = function () {}; // modified from https://github.com/lifejuggler/react-sortable-tree-theme-minimal/blob/master/tree-node-renderer.js
21
- var TreeNode = function TreeNode(_ref) {
22
- var children = _ref.children,
23
- scaffoldBlockPxWidth = _ref.scaffoldBlockPxWidth,
24
- lowerSiblingCounts = _ref.lowerSiblingCounts,
25
- connectDropTarget = _ref.connectDropTarget,
26
- isOver = _ref.isOver,
27
- draggedNode = _ref.draggedNode,
28
- canDrop = _ref.canDrop,
29
- node = _ref.node,
30
- otherProps = _objectWithoutProperties(_ref, _excluded);
31
- // Construct the scaffold representing the structure of the tree
32
- var scaffoldBlockCount = lowerSiblingCounts.length - 1;
33
- var childrenArray = _react.Children.toArray(children);
34
- var rootNodeTypes = childrenArray[0].props.rootNodeTypes;
35
- var isTreeRoot = childrenArray[0].props.treeIndex === 0;
36
- var nodeIndent = scaffoldBlockPxWidth * scaffoldBlockCount;
37
- // This indents non-root nodes a little bit extra to account for the lack of a +/- button
38
- // -2 helps icons line up more exactly
39
- var nodeIndentNonRoot = nodeIndent + scaffoldBlockPxWidth - 2;
40
- var style = {
41
- paddingLeft: rootNodeTypes.includes(node.type) || isTreeRoot ? nodeIndent : nodeIndentNonRoot
42
- };
43
-
44
- // outer div is needed for react-dnd
45
- return connectDropTarget((0, _jsxRuntime.jsx)("div", {
46
- "data-gs": gs("src", "tree", "treenode.tsx", "div"),
47
- children: (0, _jsxRuntime.jsx)(_elements.Node, _objectSpread(_objectSpread({
48
- "data-gs": gs("src", "tree", "treenode.tsx", "div", "node")
49
- }, otherProps), {}, {
50
- children: (0, _jsxRuntime.jsx)("div", {
51
- "data-gs-c": gsC(_react.Children.map(children, function (child) {
52
- return /*#__PURE__*/(0, _react.cloneElement)(child, {
53
- isOver: isOver,
54
- canDrop: canDrop,
55
- draggedNode: draggedNode
56
- });
57
- })),
58
- "data-gs": gs("src", "tree", "treenode.tsx", "div", "node", "div"),
59
- style: style,
60
- children: _react.Children.map(children, function (child) {
61
- return (0, _react.cloneElement)(child, {
62
- isOver: isOver,
63
- canDrop: canDrop,
64
- draggedNode: draggedNode
65
- });
66
- })
67
- })
68
- }))
69
- }));
70
- };
71
- var _default = exports["default"] = TreeNode;