@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,89 +1,79 @@
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 CheckboxSelectable_exports = {};
29
- __export(CheckboxSelectable_exports, {
30
- default: () => CheckboxSelectable_default
31
- });
32
- var React = __toESM(require("react"));
33
- var import_react = __toESM(require("react"));
34
- var import_ds_form = __toESM(require("@elliemae/ds-form"));
35
- var import_styled_components = __toESM(require("styled-components"));
36
- var import_TreeViewContext = __toESM(require("../TreeViewContext"));
37
- var import_selectable_helper = __toESM(require("../utils/selectable-helper"));
38
- var import_object_helpers = __toESM(require("../utils/object-helpers"));
39
- const StyledCheckboxWrapper = import_styled_components.default.span`
40
- padding-top: 3px;
41
- `;
1
+ 'use strict';
2
+
3
+ require('core-js/modules/esnext.async-iterator.filter.js');
4
+ require('core-js/modules/esnext.iterator.constructor.js');
5
+ require('core-js/modules/esnext.iterator.filter.js');
6
+ require('core-js/modules/esnext.async-iterator.for-each.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
8
+ var _jsx = require('@babel/runtime/helpers/jsx');
9
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
+ var React = require('react');
11
+ var dsForm = require('@elliemae/ds-form');
12
+ var styled = require('styled-components');
13
+ var TreeViewContext = require('../TreeViewContext.js');
14
+ var selectableHelper = require('../utils/selectable-helper.js');
15
+ var objectHelpers = require('../utils/object-helpers.js');
16
+
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
20
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
21
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
22
+
23
+ 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; }
24
+
25
+ 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; }
26
+ const StyledCheckboxWrapper = /*#__PURE__*/styled__default["default"].span.withConfig({
27
+ componentId: "sc-1tyhs3t-0"
28
+ })(["padding-top:3px;"]);
29
+
42
30
  function CheckboxSelectable(props) {
43
- const { item, itemIndex } = props;
44
- const { id } = item;
45
- const ctx = (0, import_react.useContext)(import_TreeViewContext.default);
46
31
  const {
47
- props: { onSelectionChange, isItemDisabled },
48
- virtualListHelpers: { scrollToIndex },
32
+ item,
33
+ itemIndex
34
+ } = props;
35
+ const {
36
+ id
37
+ } = item;
38
+ const ctx = React.useContext(TreeViewContext["default"]);
39
+ const {
40
+ props: {
41
+ onSelectionChange,
42
+ isItemDisabled
43
+ },
44
+ virtualListHelpers: {
45
+ scrollToIndex
46
+ },
49
47
  triggerTreeRerender,
50
48
  selectedCheckboxes,
51
49
  setSelectedCheckboxes
52
50
  } = ctx;
53
- const onCheckboxChange = (0, import_react.useCallback)(() => {
54
- const newSelections = (0, import_selectable_helper.toggleCheckboxItem)(item);
55
- const newSelectionHasmap = (0, import_object_helpers.filterObject)({ ...selectedCheckboxes, ...newSelections }, (value) => value !== false);
51
+ const onCheckboxChange = React.useCallback(() => {
52
+ const newSelections = selectableHelper.toggleCheckboxItem(item);
53
+ const newSelectionHasmap = objectHelpers.filterObject(_objectSpread(_objectSpread({}, selectedCheckboxes), newSelections), value => value !== false);
56
54
  setSelectedCheckboxes(newSelectionHasmap);
57
55
  triggerTreeRerender();
58
56
  const indexAndScrollTo = {
59
57
  scrollToItem: () => {
60
- if (typeof item.virtualIndex === "number")
61
- scrollToIndex(item.virtualIndex);
58
+ if (typeof item.virtualIndex === 'number') scrollToIndex(item.virtualIndex);
62
59
  },
63
60
  itemIndex
64
61
  };
65
- if (onSelectionChange)
66
- onSelectionChange(newSelectionHasmap, item, indexAndScrollTo);
67
- }, [
68
- item,
69
- triggerTreeRerender,
70
- onSelectionChange,
71
- itemIndex,
72
- scrollToIndex,
73
- selectedCheckboxes,
74
- setSelectedCheckboxes
75
- ]);
76
- const isChecked = (0, import_react.useMemo)(() => {
77
- if (selectedCheckboxes[id] === "mixed") {
78
- return "mixed";
62
+ if (onSelectionChange) onSelectionChange(newSelectionHasmap, item, indexAndScrollTo);
63
+ }, [item, triggerTreeRerender, onSelectionChange, itemIndex, scrollToIndex, selectedCheckboxes, setSelectedCheckboxes]);
64
+ const isChecked = React.useMemo(() => {
65
+ if (selectedCheckboxes[id] === 'mixed') {
66
+ return 'mixed';
79
67
  }
68
+
80
69
  if (selectedCheckboxes[id] === true) {
81
70
  return true;
82
71
  }
72
+
83
73
  return false;
84
74
  }, [selectedCheckboxes, id]);
85
- const isDisabled = (0, import_react.useMemo)(() => isItemDisabled(item), [item, isItemDisabled]);
86
- return /* @__PURE__ */ import_react.default.createElement(StyledCheckboxWrapper, null, /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSCheckbox, {
75
+ const isDisabled = React.useMemo(() => isItemDisabled(item), [item, isItemDisabled]);
76
+ return /*#__PURE__*/_jsx__default["default"](StyledCheckboxWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSCheckbox, {
87
77
  checked: isChecked,
88
78
  disabled: isDisabled,
89
79
  className: "em-ds-tree-item-checkbox",
@@ -92,6 +82,5 @@ function CheckboxSelectable(props) {
92
82
  tabIndex: "0"
93
83
  }));
94
84
  }
95
- var CheckboxSelectable_default = CheckboxSelectable;
96
- module.exports = __toCommonJS(CheckboxSelectable_exports);
97
- //# sourceMappingURL=CheckboxSelectable.js.map
85
+
86
+ module.exports = CheckboxSelectable;
@@ -1,47 +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 ChildrenCountDisplayer_exports = {};
29
- __export(ChildrenCountDisplayer_exports, {
30
- ChildrenCountDisplayer: () => ChildrenCountDisplayer
31
- });
32
- var React = __toESM(require("react"));
33
- var import_react = __toESM(require("react"));
34
- var import_cssClassesConstants = __toESM(require("../config/cssClassesConstants"));
35
- const className = `${import_cssClassesConstants.DSTreeViewPrefix}-${import_cssClassesConstants.treeItemBlockName}-children-count-displayer`;
36
- const ChildrenCountDisplayer = (props) => {
37
- const { item } = props;
38
- const { isGroup, children } = item;
39
- if (!isGroup)
40
- return null;
41
- return /* @__PURE__ */ import_react.default.createElement("span", {
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('react');
7
+ var cssClassesConstants = require('../config/cssClassesConstants.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
12
+
13
+ const className = "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "-children-count-displayer");
14
+ const ChildrenCountDisplayer = props => {
15
+ const {
16
+ item
17
+ } = props;
18
+ const {
19
+ isGroup,
20
+ children
21
+ } = item;
22
+ if (!isGroup) return null; // return ` | ${children.length} Items`;
23
+
24
+ return /*#__PURE__*/_jsx__default["default"]("span", {
42
25
  "data-testid": "tree-item-children-count-displayer",
43
- className
44
- }, ` | ${children.length} Items`);
26
+ className: className
27
+ }, void 0, " | ".concat(children.length, " Items"));
45
28
  };
46
- module.exports = __toCommonJS(ChildrenCountDisplayer_exports);
47
- //# sourceMappingURL=ChildrenCountDisplayer.js.map
29
+
30
+ exports.ChildrenCountDisplayer = ChildrenCountDisplayer;
@@ -1,96 +1,94 @@
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 ExpandCaret_exports = {};
29
- __export(ExpandCaret_exports, {
30
- ExpandCaret: () => ExpandCaret
31
- });
32
- var React = __toESM(require("react"));
33
- var import_react = __toESM(require("react"));
34
- var import_ds_button = __toESM(require("@elliemae/ds-button"));
35
- var import_ds_icons = __toESM(require("@elliemae/ds-icons"));
36
- var import_group_expands_helpers = __toESM(require("../utils/group-expands-helpers"));
37
- var import_tree_helpers = __toESM(require("../utils/tree-helpers"));
38
- var import_TreeViewContext = __toESM(require("../TreeViewContext"));
39
- const ExpandCaret = (props) => {
40
- const defaultHandleExpandGroup = (0, import_react.useCallback)(import_group_expands_helpers.toggleItemExpand, []);
41
- const { item } = props;
42
- const { id, isExpanded, isGroup, children } = item;
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ var React = require('react');
7
+ var Button = require('@elliemae/ds-button');
8
+ var dsIcons = require('@elliemae/ds-icons');
9
+ var groupExpandsHelpers = require('../utils/group-expands-helpers.js');
10
+ var treeHelpers = require('../utils/tree-helpers.js');
11
+ var TreeViewContext = require('../TreeViewContext.js');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
17
+
18
+ var _ArrowheadDown, _ArrowheadRight;
19
+ const ExpandCaret = props => {
20
+ const defaultHandleExpandGroup = React.useCallback(groupExpandsHelpers.toggleItemExpand, []);
21
+ const {
22
+ item
23
+ } = props;
24
+ const {
25
+ id,
26
+ isExpanded,
27
+ isGroup,
28
+ children
29
+ } = item;
43
30
  const isGroupOrHasChildrens = isGroup || Array.isArray(children) && children.length > 0;
44
- const ctx = (0, import_react.useContext)(import_TreeViewContext.default);
31
+ const ctx = React.useContext(TreeViewContext["default"]);
45
32
  const {
46
- props: { onItemFocus },
33
+ props: {
34
+ onItemFocus
35
+ },
47
36
  handleExpandGroup = defaultHandleExpandGroup,
48
37
  triggerTreeRerender,
49
38
  updateUserExpandedState,
50
39
  setLatestToggledItem,
51
40
  setFocusedItem,
52
- virtualListHelpers: { scrollToIndex }
41
+ virtualListHelpers: {
42
+ scrollToIndex
43
+ }
53
44
  } = ctx;
54
- if (isGroupOrHasChildrens)
55
- return /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
56
- buttonType: "text",
57
- className: "expandable-arrow",
58
- "data-testid": "tree-item-expand-toggle",
59
- key: `${id}-expand-addon`,
60
- icon: isExpanded ? /* @__PURE__ */ import_react.default.createElement(import_ds_icons.ArrowheadDown, {
61
- size: "s",
62
- "data-testid": "ic-arrow-head-down"
63
- }) : /* @__PURE__ */ import_react.default.createElement(import_ds_icons.ArrowheadRight, {
64
- size: "s",
65
- "data-testid": "ic-arrow-head-right"
66
- }),
67
- onMouseDown: (e) => {
68
- if (e) {
69
- e.preventDefault();
70
- }
71
- },
72
- onClick: (e) => {
73
- e.stopPropagation();
74
- if (e)
75
- handleExpandGroup(item, triggerTreeRerender, updateUserExpandedState, scrollToIndex, e);
76
- setLatestToggledItem(item);
77
- const itemVitualIndex = item.virtualIndex;
78
- if (typeof itemVitualIndex === "number") {
79
- onItemFocus({
80
- itemIndex: itemVitualIndex,
81
- scrollToItem: (opts = { align: "start" }) => scrollToIndex(itemVitualIndex, opts),
82
- item
83
- });
84
- }
85
- setFocusedItem(item);
86
- (0, import_tree_helpers.focusItem)(item);
87
- },
45
+ if (isGroupOrHasChildrens) return /*#__PURE__*/_jsx__default["default"](Button__default["default"], {
46
+ buttonType: "text",
47
+ className: "expandable-arrow",
48
+ "data-testid": "tree-item-expand-toggle",
49
+ icon: isExpanded ? _ArrowheadDown || (_ArrowheadDown = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowheadDown, {
50
+ size: "s",
51
+ "data-testid": "ic-arrow-head-down"
52
+ })) : _ArrowheadRight || (_ArrowheadRight = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowheadRight, {
88
53
  size: "s",
89
- tabIndex: -1
90
- });
91
- return /* @__PURE__ */ import_react.default.createElement("div", {
92
- style: { width: "24px" }
54
+ "data-testid": "ic-arrow-head-right"
55
+ })),
56
+ onMouseDown: e => {
57
+ // prevent focusing the caret
58
+ if (e) {
59
+ e.preventDefault();
60
+ }
61
+ },
62
+ onClick: e => {
63
+ e.stopPropagation();
64
+ if (e) handleExpandGroup(item, triggerTreeRerender, updateUserExpandedState, scrollToIndex, e);
65
+ setLatestToggledItem(item);
66
+ const itemVitualIndex = item.virtualIndex;
67
+
68
+ if (typeof itemVitualIndex === 'number') {
69
+ onItemFocus({
70
+ itemIndex: itemVitualIndex,
71
+ scrollToItem: function () {
72
+ let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
73
+ align: 'start'
74
+ };
75
+ return scrollToIndex(itemVitualIndex, opts);
76
+ },
77
+ item
78
+ });
79
+ }
80
+
81
+ setFocusedItem(item);
82
+ treeHelpers.focusItem(item);
83
+ },
84
+ size: "s",
85
+ tabIndex: -1
86
+ }, "".concat(id, "-expand-addon"));
87
+ return /*#__PURE__*/_jsx__default["default"]("div", {
88
+ style: {
89
+ width: '24px'
90
+ }
93
91
  });
94
92
  };
95
- module.exports = __toCommonJS(ExpandCaret_exports);
96
- //# sourceMappingURL=ExpandCaret.js.map
93
+
94
+ exports.ExpandCaret = ExpandCaret;
package/cjs/parts/Icon.js CHANGED
@@ -1,52 +1,37 @@
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 Icon_exports = {};
29
- __export(Icon_exports, {
30
- Icon: () => Icon
31
- });
32
- var React = __toESM(require("react"));
33
- var import_react = __toESM(require("react"));
34
- var import_ds_utilities = __toESM(require("@elliemae/ds-utilities"));
35
- var import_TreeViewContext = __toESM(require("../TreeViewContext"));
36
- const Icon = (props) => {
37
- const { item } = props;
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var dsUtilities = require('@elliemae/ds-utilities');
7
+ var TreeViewContext = require('../TreeViewContext.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+
13
+ const Icon = props => {
14
+ const {
15
+ item
16
+ } = props;
38
17
  const isGroupOrHasChildrens = item.isGroup || Array.isArray(item.children) && item.children.length > 0;
39
- const ctx = (0, import_react.useContext)(import_TreeViewContext.default);
18
+ const ctx = React.useContext(TreeViewContext["default"]);
40
19
  const {
41
- props: { groupIcon, itemIcon }
20
+ props: {
21
+ groupIcon,
22
+ itemIcon
23
+ }
42
24
  } = ctx;
43
25
  const icon = isGroupOrHasChildrens ? groupIcon : itemIcon;
44
- if (!icon)
45
- return null;
46
- return import_react.default.cloneElement(icon, {
47
- "data-testid": isGroupOrHasChildrens ? "tree-item-group-icon" : "tree-item-icon",
48
- className: (0, import_ds_utilities.cx)(icon.props.className, "tree-item-icon")
26
+ if (!icon) return null;
27
+ return /*#__PURE__*/React__default["default"].cloneElement(icon, {
28
+ 'data-testid': isGroupOrHasChildrens ? 'tree-item-group-icon' : 'tree-item-icon',
29
+ // legacy class-name way of handling things,
30
+ // this will eventually be deprecated in favor of styled components
31
+ // untill then, just eslint-ignore and move on
32
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
33
+ className: dsUtilities.cx(icon.props.className, 'tree-item-icon')
49
34
  });
50
35
  };
51
- module.exports = __toCommonJS(Icon_exports);
52
- //# sourceMappingURL=Icon.js.map
36
+
37
+ exports.Icon = Icon;
@@ -1,55 +1,47 @@
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 NestingSpace_exports = {};
29
- __export(NestingSpace_exports, {
30
- NestingSpace: () => NestingSpace
31
- });
32
- var React = __toESM(require("react"));
33
- var import_react = __toESM(require("react"));
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('react');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
11
+
34
12
  const getItemNestingLeftPadding = (level, opts) => {
35
- const { spaceForNestingLevel = 1.5 } = opts;
13
+ const {
14
+ spaceForNestingLevel = 1.5
15
+ } = opts;
36
16
  const groupLeftPadding = spaceForNestingLevel * (level - 1);
37
- const finalLeftPadding = groupLeftPadding + spaceForNestingLevel - 0.1;
38
- return finalLeftPadding > 0 ? `${finalLeftPadding}em` : "0";
17
+ const finalLeftPadding = groupLeftPadding + spaceForNestingLevel - 0.1; // root level left-padding would be negative and would not be applied
18
+ // if "root-level" nesting, then defaults to 0 left-padding.
19
+
20
+ return finalLeftPadding > 0 ? "".concat(finalLeftPadding, "em") : '0';
39
21
  };
40
- const NestingSpace = (props) => {
41
- const { item, spaceForNestingLevel } = props;
42
- const { treeDepth } = item;
22
+
23
+ const NestingSpace = props => {
24
+ const {
25
+ item,
26
+ spaceForNestingLevel
27
+ } = props;
28
+ const {
29
+ treeDepth
30
+ } = item;
31
+
43
32
  if (treeDepth) {
44
33
  const itemNestingLeftPadding = getItemNestingLeftPadding(treeDepth - 1, {
45
34
  spaceForNestingLevel
46
35
  });
47
- return /* @__PURE__ */ import_react.default.createElement("div", {
36
+ return /*#__PURE__*/_jsx__default["default"]("div", {
48
37
  "data-testid": "tree-item-nested-space",
49
- style: { width: itemNestingLeftPadding }
38
+ style: {
39
+ width: itemNestingLeftPadding
40
+ }
50
41
  });
51
42
  }
43
+
52
44
  return null;
53
45
  };
54
- module.exports = __toCommonJS(NestingSpace_exports);
55
- //# sourceMappingURL=NestingSpace.js.map
46
+
47
+ exports.NestingSpace = NestingSpace;