@elliemae/ds-treeview 2.2.0-alpha.2 → 2.2.0-beta.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.
Files changed (178) hide show
  1. package/cjs/TreeView.js +31 -49
  2. package/cjs/TreeViewContext.js +35 -53
  3. package/cjs/config/cssClassesConstants.js +13 -41
  4. package/cjs/config/useTreeview.js +80 -108
  5. package/cjs/index.js +27 -37
  6. package/cjs/parts/CheckboxSelectable.js +59 -70
  7. package/cjs/parts/ChildrenCountDisplayer.js +28 -45
  8. package/cjs/parts/ExpandCaret.js +83 -85
  9. package/cjs/parts/Icon.js +31 -46
  10. package/cjs/parts/NestingSpace.js +35 -43
  11. package/cjs/parts/RadioSelectable.js +37 -52
  12. package/cjs/parts/TreeItem.js +147 -128
  13. package/cjs/parts/TreeItemText.js +95 -88
  14. package/cjs/parts/TreeList.js +130 -117
  15. package/cjs/plugins/dnd/TreeDndPlugin.js +36 -51
  16. package/cjs/plugins/dnd/index.js +10 -28
  17. package/cjs/plugins/index.js +22 -34
  18. package/cjs/plugins/roving/TreeRovingPlugin.js +7 -35
  19. package/cjs/plugins/roving/index.js +9 -28
  20. package/cjs/plugins/searchable/SearchableTreePlugin.js +7 -35
  21. package/cjs/plugins/searchable/index.js +9 -28
  22. package/cjs/plugins/selectable/SelectablePluginTree.js +7 -35
  23. package/cjs/plugins/selectable/index.js +9 -28
  24. package/cjs/plugins/toolbar/TreeToolbarPlugin.js +7 -35
  25. package/cjs/plugins/toolbar/index.js +9 -28
  26. package/cjs/plugins/tree/TreeDataPlugin.js +7 -35
  27. package/cjs/plugins/tree/index.js +9 -28
  28. package/cjs/plugins/virtualization/TreeVirtualizationPlugin.js +7 -35
  29. package/cjs/plugins/virtualization/index.js +9 -28
  30. package/cjs/react-desc-prop-types.js +53 -82
  31. package/cjs/related-components/TreeViewSearchBar.js +40 -42
  32. package/cjs/sharedTypes.js +2 -27
  33. package/cjs/utils/array-helpers.js +11 -35
  34. package/cjs/utils/dnd-helpers.js +84 -90
  35. package/cjs/utils/group-expands-helpers.js +59 -86
  36. package/cjs/utils/keyboard-helpers.js +88 -84
  37. package/cjs/utils/object-helpers.js +36 -43
  38. package/cjs/utils/refs-helpers.js +22 -43
  39. package/cjs/utils/selectable-helper.js +53 -61
  40. package/cjs/utils/string-helpers.js +7 -35
  41. package/cjs/utils/tree-helpers.js +135 -105
  42. package/cjs/utils/useDnDHelpers.js +118 -97
  43. package/cjs/utils/useInstanceRefActions.js +43 -54
  44. package/cjs/utils/useTree.js +78 -76
  45. package/esm/TreeView.js +20 -18
  46. package/esm/TreeViewContext.js +29 -24
  47. package/esm/config/cssClassesConstants.js +6 -12
  48. package/esm/config/useTreeview.js +54 -61
  49. package/esm/index.js +9 -8
  50. package/esm/parts/CheckboxSelectable.js +46 -36
  51. package/esm/parts/ChildrenCountDisplayer.js +20 -16
  52. package/esm/parts/ExpandCaret.js +72 -54
  53. package/esm/parts/Icon.js +22 -16
  54. package/esm/parts/NestingSpace.js +27 -14
  55. package/esm/parts/RadioSelectable.js +28 -20
  56. package/esm/parts/TreeItem.js +127 -91
  57. package/esm/parts/TreeItemText.js +85 -58
  58. package/esm/parts/TreeList.js +117 -88
  59. package/esm/plugins/dnd/TreeDndPlugin.js +26 -21
  60. package/esm/plugins/dnd/index.js +1 -3
  61. package/esm/plugins/index.js +7 -9
  62. package/esm/plugins/roving/TreeRovingPlugin.js +3 -6
  63. package/esm/plugins/roving/index.js +1 -3
  64. package/esm/plugins/searchable/SearchableTreePlugin.js +3 -6
  65. package/esm/plugins/searchable/index.js +1 -3
  66. package/esm/plugins/selectable/SelectablePluginTree.js +3 -6
  67. package/esm/plugins/selectable/index.js +1 -3
  68. package/esm/plugins/toolbar/TreeToolbarPlugin.js +3 -6
  69. package/esm/plugins/toolbar/index.js +1 -3
  70. package/esm/plugins/tree/TreeDataPlugin.js +3 -6
  71. package/esm/plugins/tree/index.js +1 -3
  72. package/esm/plugins/virtualization/TreeVirtualizationPlugin.js +3 -6
  73. package/esm/plugins/virtualization/index.js +1 -3
  74. package/esm/react-desc-prop-types.js +43 -47
  75. package/esm/related-components/TreeViewSearchBar.js +32 -13
  76. package/esm/sharedTypes.js +1 -2
  77. package/esm/utils/array-helpers.js +6 -6
  78. package/esm/utils/dnd-helpers.js +73 -58
  79. package/esm/utils/group-expands-helpers.js +46 -56
  80. package/esm/utils/keyboard-helpers.js +72 -45
  81. package/esm/utils/object-helpers.js +31 -14
  82. package/esm/utils/refs-helpers.js +19 -15
  83. package/esm/utils/selectable-helper.js +43 -32
  84. package/esm/utils/string-helpers.js +3 -6
  85. package/esm/utils/tree-helpers.js +119 -74
  86. package/esm/utils/useDnDHelpers.js +106 -60
  87. package/esm/utils/useInstanceRefActions.js +35 -21
  88. package/esm/utils/useTree.js +57 -35
  89. package/package.json +10 -10
  90. package/types/TreeView.d.ts +1 -1
  91. package/cjs/TreeView.js.map +0 -7
  92. package/cjs/TreeViewContext.js.map +0 -7
  93. package/cjs/config/cssClassesConstants.js.map +0 -7
  94. package/cjs/config/useTreeview.js.map +0 -7
  95. package/cjs/index.js.map +0 -7
  96. package/cjs/parts/CheckboxSelectable.js.map +0 -7
  97. package/cjs/parts/ChildrenCountDisplayer.js.map +0 -7
  98. package/cjs/parts/ExpandCaret.js.map +0 -7
  99. package/cjs/parts/Icon.js.map +0 -7
  100. package/cjs/parts/NestingSpace.js.map +0 -7
  101. package/cjs/parts/RadioSelectable.js.map +0 -7
  102. package/cjs/parts/TreeItem.js.map +0 -7
  103. package/cjs/parts/TreeItemText.js.map +0 -7
  104. package/cjs/parts/TreeList.js.map +0 -7
  105. package/cjs/plugins/dnd/TreeDndPlugin.js.map +0 -7
  106. package/cjs/plugins/dnd/index.js.map +0 -7
  107. package/cjs/plugins/index.js.map +0 -7
  108. package/cjs/plugins/roving/TreeRovingPlugin.js.map +0 -7
  109. package/cjs/plugins/roving/index.js.map +0 -7
  110. package/cjs/plugins/searchable/SearchableTreePlugin.js.map +0 -7
  111. package/cjs/plugins/searchable/index.js.map +0 -7
  112. package/cjs/plugins/selectable/SelectablePluginTree.js.map +0 -7
  113. package/cjs/plugins/selectable/index.js.map +0 -7
  114. package/cjs/plugins/toolbar/TreeToolbarPlugin.js.map +0 -7
  115. package/cjs/plugins/toolbar/index.js.map +0 -7
  116. package/cjs/plugins/tree/TreeDataPlugin.js.map +0 -7
  117. package/cjs/plugins/tree/index.js.map +0 -7
  118. package/cjs/plugins/virtualization/TreeVirtualizationPlugin.js.map +0 -7
  119. package/cjs/plugins/virtualization/index.js.map +0 -7
  120. package/cjs/react-desc-prop-types.js.map +0 -7
  121. package/cjs/related-components/TreeViewSearchBar.js.map +0 -7
  122. package/cjs/sharedTypes.js.map +0 -7
  123. package/cjs/utils/array-helpers.js.map +0 -7
  124. package/cjs/utils/dnd-helpers.js.map +0 -7
  125. package/cjs/utils/group-expands-helpers.js.map +0 -7
  126. package/cjs/utils/keyboard-helpers.js.map +0 -7
  127. package/cjs/utils/object-helpers.js.map +0 -7
  128. package/cjs/utils/refs-helpers.js.map +0 -7
  129. package/cjs/utils/selectable-helper.js.map +0 -7
  130. package/cjs/utils/string-helpers.js.map +0 -7
  131. package/cjs/utils/tree-helpers.js.map +0 -7
  132. package/cjs/utils/useDnDHelpers.js.map +0 -7
  133. package/cjs/utils/useInstanceRefActions.js.map +0 -7
  134. package/cjs/utils/useTree.js.map +0 -7
  135. package/esm/TreeView.js.map +0 -7
  136. package/esm/TreeViewContext.js.map +0 -7
  137. package/esm/config/cssClassesConstants.js.map +0 -7
  138. package/esm/config/useTreeview.js.map +0 -7
  139. package/esm/index.js.map +0 -7
  140. package/esm/parts/CheckboxSelectable.js.map +0 -7
  141. package/esm/parts/ChildrenCountDisplayer.js.map +0 -7
  142. package/esm/parts/ExpandCaret.js.map +0 -7
  143. package/esm/parts/Icon.js.map +0 -7
  144. package/esm/parts/NestingSpace.js.map +0 -7
  145. package/esm/parts/RadioSelectable.js.map +0 -7
  146. package/esm/parts/TreeItem.js.map +0 -7
  147. package/esm/parts/TreeItemText.js.map +0 -7
  148. package/esm/parts/TreeList.js.map +0 -7
  149. package/esm/plugins/dnd/TreeDndPlugin.js.map +0 -7
  150. package/esm/plugins/dnd/index.js.map +0 -7
  151. package/esm/plugins/index.js.map +0 -7
  152. package/esm/plugins/roving/TreeRovingPlugin.js.map +0 -7
  153. package/esm/plugins/roving/index.js.map +0 -7
  154. package/esm/plugins/searchable/SearchableTreePlugin.js.map +0 -7
  155. package/esm/plugins/searchable/index.js.map +0 -7
  156. package/esm/plugins/selectable/SelectablePluginTree.js.map +0 -7
  157. package/esm/plugins/selectable/index.js.map +0 -7
  158. package/esm/plugins/toolbar/TreeToolbarPlugin.js.map +0 -7
  159. package/esm/plugins/toolbar/index.js.map +0 -7
  160. package/esm/plugins/tree/TreeDataPlugin.js.map +0 -7
  161. package/esm/plugins/tree/index.js.map +0 -7
  162. package/esm/plugins/virtualization/TreeVirtualizationPlugin.js.map +0 -7
  163. package/esm/plugins/virtualization/index.js.map +0 -7
  164. package/esm/react-desc-prop-types.js.map +0 -7
  165. package/esm/related-components/TreeViewSearchBar.js.map +0 -7
  166. package/esm/sharedTypes.js.map +0 -7
  167. package/esm/utils/array-helpers.js.map +0 -7
  168. package/esm/utils/dnd-helpers.js.map +0 -7
  169. package/esm/utils/group-expands-helpers.js.map +0 -7
  170. package/esm/utils/keyboard-helpers.js.map +0 -7
  171. package/esm/utils/object-helpers.js.map +0 -7
  172. package/esm/utils/refs-helpers.js.map +0 -7
  173. package/esm/utils/selectable-helper.js.map +0 -7
  174. package/esm/utils/string-helpers.js.map +0 -7
  175. package/esm/utils/tree-helpers.js.map +0 -7
  176. package/esm/utils/useDnDHelpers.js.map +0 -7
  177. package/esm/utils/useInstanceRefActions.js.map +0 -7
  178. package/esm/utils/useTree.js.map +0 -7
@@ -1,45 +1,30 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var keyboard_helpers_exports = {};
29
- __export(keyboard_helpers_exports, {
30
- useGlobalKeyboardListener: () => useGlobalKeyboardListener,
31
- useGlobalToggleAllExpandShortcut: () => useGlobalToggleAllExpandShortcut,
32
- useOnItemKeyDown: () => useOnItemKeyDown
33
- });
34
- var React = __toESM(require("react"));
35
- var import_react = __toESM(require("react"));
36
- var import_TreeViewContext = __toESM(require("../TreeViewContext"));
37
- var import_tree_helpers = __toESM(require("./tree-helpers"));
38
- var import_group_expands_helpers = __toESM(require("./group-expands-helpers"));
39
- const useOnItemKeyDown = (item) => {
40
- const ctx = (0, import_react.useContext)(import_TreeViewContext.default);
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var TreeViewContext = require('../TreeViewContext.js');
7
+ var treeHelpers = require('./tree-helpers.js');
8
+ var groupExpandsHelpers = require('./group-expands-helpers.js');
9
+
10
+ /* eslint-disable max-params */
11
+ // 9 tab
12
+ // 13 enter
13
+ // 32 space
14
+ // 37 left arrow
15
+ // 38 up arrow
16
+ // 39 right arrow
17
+ // 40 down arrow
18
+ // 35 end
19
+ // 36 home
20
+ // 56 number 8
21
+ // 106 (NumPad) *
22
+ const useOnItemKeyDown = item => {
23
+ const ctx = React.useContext(TreeViewContext["default"]);
41
24
  const {
42
- props: { onItemFocus },
25
+ props: {
26
+ onItemFocus
27
+ },
43
28
  triggerTreeRerender,
44
29
  isDragging,
45
30
  visibleItems,
@@ -47,70 +32,95 @@ const useOnItemKeyDown = (item) => {
47
32
  setSelectedItem,
48
33
  setLatestToggledItem,
49
34
  updateUserExpandedState,
50
- virtualListHelpers: { scrollToIndex }
35
+ virtualListHelpers: {
36
+ scrollToIndex
37
+ }
51
38
  } = ctx;
52
- const { isGroup, isExpanded } = item;
53
- const onItemFocusCurry = (0, import_react.useCallback)((newFocusItem) => onItemFocus({
39
+ const {
40
+ isGroup,
41
+ isExpanded
42
+ } = item;
43
+ const onItemFocusCurry = React.useCallback(newFocusItem => onItemFocus({
54
44
  itemIndex: newFocusItem.virtualIndex,
55
- scrollToItem: (opts = { align: "start" }) => scrollToIndex(newFocusItem.virtualIndex, opts),
45
+ scrollToItem: function () {
46
+ let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
47
+ align: 'start'
48
+ };
49
+ return scrollToIndex(newFocusItem.virtualIndex, opts);
50
+ },
56
51
  item: newFocusItem
57
52
  }), [onItemFocus, scrollToIndex]);
58
- const onItemKeyDown = (0, import_react.useCallback)((e) => {
59
- const { keyCode } = e;
53
+ const onItemKeyDown = React.useCallback(e => {
54
+ const {
55
+ keyCode
56
+ } = e;
57
+
60
58
  if (!isDragging) {
61
- if (keyCode !== 9)
62
- e.preventDefault();
63
- if (keyCode === 13 || keyCode === 32)
64
- setSelectedItem(item);
59
+ if (keyCode !== 9) e.preventDefault(); // allow tab/shift+tab
60
+
61
+ if (keyCode === 13 || keyCode === 32) setSelectedItem(item);
62
+
65
63
  if (keyCode === 37) {
66
64
  if (isGroup && isExpanded) {
67
- (0, import_group_expands_helpers.toggleItemExpand)(item, triggerTreeRerender, updateUserExpandedState, scrollToIndex);
65
+ groupExpandsHelpers.toggleItemExpand(item, triggerTreeRerender, updateUserExpandedState, scrollToIndex);
68
66
  setLatestToggledItem(item);
69
67
  }
70
68
  }
69
+
71
70
  if (keyCode === 39) {
72
71
  if (isGroup && !isExpanded) {
73
- (0, import_group_expands_helpers.toggleItemExpand)(item, triggerTreeRerender, updateUserExpandedState, scrollToIndex);
72
+ groupExpandsHelpers.toggleItemExpand(item, triggerTreeRerender, updateUserExpandedState, scrollToIndex);
74
73
  setLatestToggledItem(item);
75
74
  }
76
75
  }
77
- const { virtualIndex } = item;
78
- if (typeof virtualIndex === "number") {
76
+
77
+ const {
78
+ virtualIndex
79
+ } = item;
80
+
81
+ if (typeof virtualIndex === 'number') {
79
82
  const lastItemIndex = visibleItems.length - 1;
83
+
80
84
  if (keyCode === 38) {
81
85
  const isLoopedFocus = virtualIndex === 0;
82
86
  const newFocusIndex = isLoopedFocus ? lastItemIndex : virtualIndex - 1;
83
87
  const newFocusItem = visibleItems[newFocusIndex];
84
88
  scrollToIndex(newFocusIndex);
89
+
85
90
  if (isLoopedFocus) {
91
+ // when looping the list from start to end we need to wait a bit before focusing
86
92
  setTimeout(() => {
87
93
  setFocusedItem(newFocusItem);
88
- (0, import_tree_helpers.focusItem)(newFocusItem);
94
+ treeHelpers.focusItem(newFocusItem);
89
95
  onItemFocusCurry(newFocusItem);
90
96
  }, 300);
91
97
  } else {
92
98
  setFocusedItem(newFocusItem);
93
99
  onItemFocusCurry(newFocusItem);
94
- (0, import_tree_helpers.focusItem)(newFocusItem);
100
+ treeHelpers.focusItem(newFocusItem);
95
101
  }
96
102
  }
103
+
97
104
  if (keyCode === 40) {
98
105
  const isLoopedFocus = virtualIndex === lastItemIndex;
99
106
  const newFocusIndex = isLoopedFocus ? 0 : virtualIndex + 1;
100
107
  const newFocusItem = visibleItems[newFocusIndex];
101
108
  scrollToIndex(newFocusIndex);
109
+
102
110
  if (isLoopedFocus) {
111
+ // when looping the list from start to end we need to wait a bit before focusing
103
112
  setTimeout(() => {
104
113
  setFocusedItem(newFocusItem);
105
114
  onItemFocusCurry(newFocusItem);
106
- (0, import_tree_helpers.focusItem)(newFocusItem);
115
+ treeHelpers.focusItem(newFocusItem);
107
116
  }, 300);
108
117
  } else {
109
118
  setFocusedItem(newFocusItem);
110
119
  onItemFocusCurry(newFocusItem);
111
- (0, import_tree_helpers.focusItem)(newFocusItem);
120
+ treeHelpers.focusItem(newFocusItem);
112
121
  }
113
122
  }
123
+
114
124
  if (keyCode === 35) {
115
125
  if (virtualIndex !== lastItemIndex) {
116
126
  const newFocusItem = visibleItems[lastItemIndex];
@@ -118,10 +128,11 @@ const useOnItemKeyDown = (item) => {
118
128
  setTimeout(() => {
119
129
  setFocusedItem(newFocusItem);
120
130
  onItemFocusCurry(newFocusItem);
121
- (0, import_tree_helpers.focusItem)(newFocusItem);
131
+ treeHelpers.focusItem(newFocusItem);
122
132
  }, 300);
123
133
  }
124
134
  }
135
+
125
136
  if (keyCode === 36) {
126
137
  if (virtualIndex !== 0) {
127
138
  const newFocusItem = visibleItems[0];
@@ -129,42 +140,35 @@ const useOnItemKeyDown = (item) => {
129
140
  setTimeout(() => {
130
141
  setFocusedItem(newFocusItem);
131
142
  onItemFocusCurry(newFocusItem);
132
- (0, import_tree_helpers.focusItem)(newFocusItem);
143
+ treeHelpers.focusItem(newFocusItem);
133
144
  }, 300);
134
145
  }
135
146
  }
136
147
  }
137
148
  }
138
- }, [
139
- isDragging,
140
- setSelectedItem,
141
- item,
142
- isGroup,
143
- isExpanded,
144
- triggerTreeRerender,
145
- scrollToIndex,
146
- setLatestToggledItem,
147
- visibleItems,
148
- setFocusedItem,
149
- onItemFocusCurry,
150
- updateUserExpandedState
151
- ]);
149
+ }, [isDragging, setSelectedItem, item, isGroup, isExpanded, triggerTreeRerender, scrollToIndex, setLatestToggledItem, visibleItems, setFocusedItem, onItemFocusCurry, updateUserExpandedState]);
152
150
  return onItemKeyDown;
153
151
  };
154
- const useGlobalKeyboardListener = (func) => {
155
- (0, import_react.useEffect)(() => {
156
- document.addEventListener("keydown", func);
157
- return () => document.removeEventListener("keydown", func);
152
+ const useGlobalKeyboardListener = func => {
153
+ React.useEffect(() => {
154
+ document.addEventListener('keydown', func);
155
+ return () => document.removeEventListener('keydown', func);
158
156
  }, [func]);
159
157
  };
160
158
  const useGlobalToggleAllExpandShortcut = (treeRoot, triggerTreeRerender, setLatestToggledItem, updateUserExpandedState) => {
161
- const memoizedToggleAllKeyboardShortcut = (0, import_react.useCallback)((e) => {
162
- const { shiftKey, keyCode } = e;
159
+ const memoizedToggleAllKeyboardShortcut = React.useCallback(e => {
160
+ const {
161
+ shiftKey,
162
+ keyCode
163
+ } = e;
164
+
163
165
  if (shiftKey && keyCode === 56) {
164
- (0, import_group_expands_helpers.toggleExpandAllHelper)("toggle", treeRoot, triggerTreeRerender, setLatestToggledItem, updateUserExpandedState);
166
+ groupExpandsHelpers.toggleExpandAllHelper('toggle', treeRoot, triggerTreeRerender, setLatestToggledItem, updateUserExpandedState);
165
167
  }
166
168
  }, [setLatestToggledItem, treeRoot, triggerTreeRerender, updateUserExpandedState]);
167
169
  return useGlobalKeyboardListener(memoizedToggleAllKeyboardShortcut);
168
170
  };
169
- module.exports = __toCommonJS(keyboard_helpers_exports);
170
- //# sourceMappingURL=keyboard-helpers.js.map
171
+
172
+ exports.useGlobalKeyboardListener = useGlobalKeyboardListener;
173
+ exports.useGlobalToggleAllExpandShortcut = useGlobalToggleAllExpandShortcut;
174
+ exports.useOnItemKeyDown = useOnItemKeyDown;
@@ -1,76 +1,69 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var object_helpers_exports = {};
29
- __export(object_helpers_exports, {
30
- filterObject: () => filterObject,
31
- unfreeze: () => unfreeze
32
- });
33
- var React = __toESM(require("react"));
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.for-each.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
8
+ require('core-js/modules/esnext.async-iterator.reduce.js');
9
+ require('core-js/modules/esnext.iterator.reduce.js');
10
+
11
+ /* eslint-disable no-sequences */
12
+
13
+ /* eslint-disable no-return-assign */
14
+
15
+ /* eslint-disable no-restricted-syntax */
16
+
17
+ /* eslint-disable guard-for-in */
34
18
  function isObjectADate(o) {
35
- return o?.constructor?.name === "Date";
19
+ var _o$constructor;
20
+
21
+ return (o === null || o === void 0 ? void 0 : (_o$constructor = o.constructor) === null || _o$constructor === void 0 ? void 0 : _o$constructor.name) === 'Date';
36
22
  }
23
+
37
24
  function isObjectAnArray(o) {
38
25
  return Array.isArray(o);
39
26
  }
27
+
40
28
  function isObjectAString(o) {
41
- return typeof o === "object";
29
+ return typeof o === 'object';
42
30
  }
43
- const unfreeze = (o) => {
31
+
32
+ const unfreeze = o => {
44
33
  let oo;
34
+
45
35
  if (o === null) {
46
36
  oo = null;
47
- } else if (o === void 0) {
48
- oo = void 0;
37
+ } else if (o === undefined) {
38
+ oo = undefined;
49
39
  } else if (isObjectADate(o)) {
50
40
  oo = new Date(o);
51
41
  } else if (isObjectAnArray(o)) {
52
42
  oo = [];
53
- o.forEach((v) => {
43
+ o.forEach(v => {
54
44
  oo.push(v);
55
45
  });
56
46
  } else if (isObjectAString(o)) {
57
47
  oo = String(o);
58
48
  } else if (isObjectAString(o)) {
59
49
  oo = {};
50
+
60
51
  for (const property in o) {
61
52
  oo[property] = o[property];
62
53
  }
63
54
  } else {
64
55
  oo = o;
65
56
  }
57
+
66
58
  return oo;
67
59
  };
60
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
61
  function filterObject(obj, predicate) {
69
62
  return Object.keys(obj).reduce((res, key) => {
70
- if (predicate(obj[key]))
71
- res[key] = obj[key];
63
+ if (predicate(obj[key])) res[key] = obj[key];
72
64
  return res;
73
65
  }, {});
74
66
  }
75
- module.exports = __toCommonJS(object_helpers_exports);
76
- //# sourceMappingURL=object-helpers.js.map
67
+
68
+ exports.filterObject = filterObject;
69
+ exports.unfreeze = unfreeze;
@@ -1,46 +1,25 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+
11
+ // allow multiple refs to be set to point to the same DOM element
12
+ const setMultipleRefs = function () {
13
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
14
+ refs[_key] = arguments[_key];
17
15
  }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var refs_helpers_exports = {};
29
- __export(refs_helpers_exports, {
30
- setMultipleRefs: () => setMultipleRefs
31
- });
32
- var React = __toESM(require("react"));
33
- const setMultipleRefs = (...refs) => {
16
+
34
17
  const filteredRefs = refs.filter(Boolean);
35
- if (!filteredRefs.length)
36
- return () => {
37
- };
38
- if (filteredRefs.length === 0)
39
- return () => {
40
- };
41
- return (newRef) => {
42
- filteredRefs.forEach((refToBeUpdated) => {
43
- if (typeof refToBeUpdated === "function") {
18
+ if (!filteredRefs.length) return () => {};
19
+ if (filteredRefs.length === 0) return () => {};
20
+ return newRef => {
21
+ filteredRefs.forEach(refToBeUpdated => {
22
+ if (typeof refToBeUpdated === 'function') {
44
23
  refToBeUpdated(newRef);
45
24
  } else if (refToBeUpdated) {
46
25
  refToBeUpdated.current = newRef;
@@ -48,5 +27,5 @@ const setMultipleRefs = (...refs) => {
48
27
  });
49
28
  };
50
29
  };
51
- module.exports = __toCommonJS(refs_helpers_exports);
52
- //# sourceMappingURL=refs-helpers.js.map
30
+
31
+ exports.setMultipleRefs = setMultipleRefs;
@@ -1,88 +1,80 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var selectable_helper_exports = {};
29
- __export(selectable_helper_exports, {
30
- getGroupCheckState: () => getGroupCheckState,
31
- selectCheckboxItemModelParentsTillRoot: () => selectCheckboxItemModelParentsTillRoot,
32
- toggleCheckboxItem: () => toggleCheckboxItem
33
- });
34
- var React = __toESM(require("react"));
35
- var import_tree_helpers = __toESM(require("./tree-helpers"));
36
- const getGroupCheckState = (node) => {
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var treeHelpers = require('./tree-helpers.js');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
+
17
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ const getGroupCheckState = node => {
37
21
  let childAllChecked = true;
38
22
  let anyChildChecked = false;
39
- (0, import_tree_helpers.walkAllNodeChildren)(node, (childNode) => {
23
+ treeHelpers.walkAllNodeChildren(node, childNode => {
40
24
  const {
41
- model: { isChecked }
25
+ model: {
26
+ isChecked
27
+ }
42
28
  } = childNode;
43
- if (isChecked === "mixed" || isChecked === true)
44
- anyChildChecked = true;
45
- else
46
- childAllChecked = false;
29
+ if (isChecked === 'mixed' || isChecked === true) anyChildChecked = true;else childAllChecked = false;
47
30
  });
48
- if (childAllChecked)
49
- return true;
50
- if (anyChildChecked)
51
- return "mixed";
31
+ if (childAllChecked) return true;
32
+ if (anyChildChecked) return 'mixed';
52
33
  return false;
53
34
  };
54
- const selectCheckboxItemModelParentsTillRoot = (modelToCheck, triggerTreeRerender = null) => {
35
+ const selectCheckboxItemModelParentsTillRoot = function (modelToCheck) {
36
+ let triggerTreeRerender = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
55
37
  const newSelections = {};
56
- const { nodePath } = modelToCheck;
57
- (0, import_tree_helpers.walkParents)(nodePath, (parentNode) => {
38
+ const {
39
+ nodePath
40
+ } = modelToCheck;
41
+ treeHelpers.walkParents(nodePath, parentNode => {
58
42
  const nextState = getGroupCheckState(parentNode);
59
43
  parentNode.model.isChecked = nextState;
60
44
  newSelections[parentNode.model.id] = nextState;
61
45
  });
62
- if (triggerTreeRerender)
63
- triggerTreeRerender();
46
+ if (triggerTreeRerender) triggerTreeRerender();
64
47
  return newSelections;
65
48
  };
66
- const toggleCheckboxItem = (itemToSelect, triggerTreeRerender = null) => {
49
+ const toggleCheckboxItem = function (itemToSelect) {
50
+ let triggerTreeRerender = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
67
51
  const {
68
52
  node: {
69
- model: { id, isChecked, children = [] }
53
+ model: {
54
+ id,
55
+ isChecked,
56
+ children = []
57
+ }
70
58
  }
71
59
  } = itemToSelect;
72
- const newSelections = {};
73
- const nextState = isChecked === "mixed" ? true : !isChecked;
60
+ const newSelections = {}; // 'mixed' -> true -> false -> true [...->false -> true]
61
+
62
+ const nextState = isChecked === 'mixed' ? true : !isChecked;
74
63
  itemToSelect.node.model.isChecked = nextState;
75
64
  newSelections[id] = nextState;
65
+
76
66
  if (children.length > 0 && (nextState === true || nextState === false)) {
77
- (0, import_tree_helpers.walkAllNodeChildren)(itemToSelect.node, (childNode) => {
67
+ treeHelpers.walkAllNodeChildren(itemToSelect.node, childNode => {
78
68
  childNode.model.isChecked = nextState;
79
69
  newSelections[childNode.model.id] = nextState;
80
70
  });
81
71
  }
72
+
82
73
  const parentsNewSelections = selectCheckboxItemModelParentsTillRoot(itemToSelect);
83
- if (triggerTreeRerender)
84
- triggerTreeRerender();
85
- return { ...parentsNewSelections, ...newSelections };
74
+ if (triggerTreeRerender) triggerTreeRerender();
75
+ return _objectSpread(_objectSpread({}, parentsNewSelections), newSelections);
86
76
  };
87
- module.exports = __toCommonJS(selectable_helper_exports);
88
- //# sourceMappingURL=selectable-helper.js.map
77
+
78
+ exports.getGroupCheckState = getGroupCheckState;
79
+ exports.selectCheckboxItemModelParentsTillRoot = selectCheckboxItemModelParentsTillRoot;
80
+ exports.toggleCheckboxItem = toggleCheckboxItem;
@@ -1,35 +1,7 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var string_helpers_exports = {};
29
- __export(string_helpers_exports, {
30
- standardizeSearchQueryString: () => standardizeSearchQueryString
31
- });
32
- var React = __toESM(require("react"));
33
- const standardizeSearchQueryString = (input) => input.trim().toLowerCase();
34
- module.exports = __toCommonJS(string_helpers_exports);
35
- //# sourceMappingURL=string-helpers.js.map
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const standardizeSearchQueryString = input => input.trim().toLowerCase();
6
+
7
+ exports.standardizeSearchQueryString = standardizeSearchQueryString;