@elliemae/ds-treeview 2.3.0-alpha.8 → 2.3.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/cjs/TreeView.js +30 -0
  2. package/cjs/TreeViewContext.js +98 -0
  3. package/cjs/config/cssClassesConstants.js +13 -0
  4. package/cjs/config/useTreeview.js +127 -0
  5. package/cjs/hoc/DnDTreeContext.js +18 -0
  6. package/cjs/hoc/SortableItemContext.js +21 -0
  7. package/cjs/hoc/WithConditionalDnDContext.js +138 -0
  8. package/cjs/hoc/WithDnDSortableItemContext.js +70 -0
  9. package/cjs/index.js +26 -0
  10. package/cjs/parts/CheckboxSelectable.js +86 -0
  11. package/cjs/parts/ChildrenCountDisplayer.js +30 -0
  12. package/cjs/parts/DnDHandle.js +46 -0
  13. package/cjs/parts/DropIndicator.js +75 -0
  14. package/cjs/parts/ExpandCaret.js +94 -0
  15. package/cjs/parts/Icon.js +37 -0
  16. package/cjs/parts/NestingSpace.js +47 -0
  17. package/cjs/parts/RadioSelectable.js +59 -0
  18. package/cjs/parts/TreeItem.js +185 -0
  19. package/cjs/parts/TreeItemText.js +108 -0
  20. package/cjs/parts/TreeList.js +139 -0
  21. package/cjs/plugins/dnd/TreeDndPlugin.js +7 -0
  22. package/cjs/plugins/dnd/index.js +9 -0
  23. package/cjs/plugins/index.js +21 -0
  24. package/cjs/plugins/roving/TreeRovingPlugin.js +7 -0
  25. package/cjs/plugins/roving/index.js +9 -0
  26. package/cjs/plugins/searchable/SearchableTreePlugin.js +7 -0
  27. package/cjs/plugins/searchable/index.js +9 -0
  28. package/cjs/plugins/selectable/SelectablePluginTree.js +7 -0
  29. package/cjs/plugins/selectable/index.js +9 -0
  30. package/cjs/plugins/toolbar/TreeToolbarPlugin.js +7 -0
  31. package/cjs/plugins/toolbar/index.js +9 -0
  32. package/cjs/plugins/tree/TreeDataPlugin.js +7 -0
  33. package/cjs/plugins/tree/index.js +9 -0
  34. package/cjs/plugins/virtualization/TreeVirtualizationPlugin.js +7 -0
  35. package/cjs/plugins/virtualization/index.js +9 -0
  36. package/cjs/react-desc-prop-types.js +56 -0
  37. package/cjs/related-components/TreeViewSearchBar.js +48 -0
  38. package/cjs/sharedTypes.js +2 -0
  39. package/cjs/utils/array-helpers.js +24 -0
  40. package/cjs/utils/group-expands-helpers.js +111 -0
  41. package/cjs/utils/keyboard-helpers.js +175 -0
  42. package/cjs/utils/object-helpers.js +69 -0
  43. package/cjs/utils/refs-helpers.js +31 -0
  44. package/cjs/utils/selectable-helper.js +80 -0
  45. package/cjs/utils/string-helpers.js +7 -0
  46. package/cjs/utils/tree-helpers.js +220 -0
  47. package/cjs/utils/useInstanceRefActions.js +87 -0
  48. package/cjs/utils/useTree.js +108 -0
  49. package/esm/TreeView.js +21 -0
  50. package/{dist/esm → esm}/TreeViewContext.js +29 -24
  51. package/esm/config/cssClassesConstants.js +6 -0
  52. package/esm/config/useTreeview.js +119 -0
  53. package/esm/hoc/DnDTreeContext.js +14 -0
  54. package/esm/hoc/SortableItemContext.js +17 -0
  55. package/esm/hoc/WithConditionalDnDContext.js +128 -0
  56. package/esm/hoc/WithDnDSortableItemContext.js +61 -0
  57. package/esm/index.js +9 -0
  58. package/esm/parts/CheckboxSelectable.js +78 -0
  59. package/esm/parts/ChildrenCountDisplayer.js +22 -0
  60. package/esm/parts/DnDHandle.js +38 -0
  61. package/esm/parts/DropIndicator.js +68 -0
  62. package/esm/parts/ExpandCaret.js +85 -0
  63. package/esm/parts/Icon.js +29 -0
  64. package/esm/parts/NestingSpace.js +39 -0
  65. package/esm/parts/RadioSelectable.js +53 -0
  66. package/esm/parts/TreeItem.js +173 -0
  67. package/esm/parts/TreeItemText.js +99 -0
  68. package/esm/parts/TreeList.js +127 -0
  69. package/esm/plugins/dnd/TreeDndPlugin.js +3 -0
  70. package/esm/plugins/dnd/index.js +1 -0
  71. package/esm/plugins/index.js +7 -0
  72. package/esm/plugins/roving/TreeRovingPlugin.js +3 -0
  73. package/esm/plugins/roving/index.js +1 -0
  74. package/esm/plugins/searchable/SearchableTreePlugin.js +3 -0
  75. package/esm/plugins/searchable/index.js +1 -0
  76. package/esm/plugins/selectable/SelectablePluginTree.js +3 -0
  77. package/esm/plugins/selectable/index.js +1 -0
  78. package/esm/plugins/toolbar/TreeToolbarPlugin.js +3 -0
  79. package/esm/plugins/toolbar/index.js +1 -0
  80. package/esm/plugins/tree/TreeDataPlugin.js +3 -0
  81. package/esm/plugins/tree/index.js +1 -0
  82. package/esm/plugins/virtualization/TreeVirtualizationPlugin.js +3 -0
  83. package/esm/plugins/virtualization/index.js +1 -0
  84. package/esm/react-desc-prop-types.js +52 -0
  85. package/esm/related-components/TreeViewSearchBar.js +40 -0
  86. package/esm/sharedTypes.js +1 -0
  87. package/{dist/esm → esm}/utils/array-helpers.js +6 -6
  88. package/esm/utils/group-expands-helpers.js +99 -0
  89. package/{dist/esm → esm}/utils/keyboard-helpers.js +71 -43
  90. package/esm/utils/object-helpers.js +64 -0
  91. package/esm/utils/refs-helpers.js +27 -0
  92. package/esm/utils/selectable-helper.js +70 -0
  93. package/esm/utils/string-helpers.js +3 -0
  94. package/esm/utils/tree-helpers.js +205 -0
  95. package/{dist/esm → esm}/utils/useInstanceRefActions.js +35 -21
  96. package/esm/utils/useTree.js +99 -0
  97. package/package.json +121 -124
  98. package/types/TreeView.d.ts +13 -0
  99. package/types/TreeViewContext.d.ts +17 -0
  100. package/types/config/cssClassesConstants.d.ts +4 -0
  101. package/types/config/useTreeview.d.ts +7 -0
  102. package/types/hoc/DnDTreeContext.d.ts +14 -0
  103. package/types/hoc/SortableItemContext.d.ts +19 -0
  104. package/types/hoc/WithConditionalDnDContext.d.ts +4 -0
  105. package/types/hoc/WithDnDSortableItemContext.d.ts +4 -0
  106. package/types/index.d.ts +3 -0
  107. package/types/parts/CheckboxSelectable.d.ts +8 -0
  108. package/types/parts/ChildrenCountDisplayer.d.ts +7 -0
  109. package/types/parts/DnDHandle.d.ts +6 -0
  110. package/types/parts/DropIndicator.d.ts +10 -0
  111. package/types/parts/ExpandCaret.d.ts +7 -0
  112. package/types/parts/Icon.d.ts +7 -0
  113. package/types/parts/NestingSpace.d.ts +8 -0
  114. package/types/parts/RadioSelectable.d.ts +8 -0
  115. package/types/parts/TreeItem.d.ts +17 -0
  116. package/types/parts/TreeItemText.d.ts +7 -0
  117. package/types/parts/TreeList.d.ts +20 -0
  118. package/types/plugins/dnd/TreeDndPlugin.d.ts +1 -0
  119. package/types/plugins/dnd/index.d.ts +1 -0
  120. package/types/plugins/index.d.ts +7 -0
  121. package/types/plugins/roving/TreeRovingPlugin.d.ts +1 -0
  122. package/types/plugins/roving/index.d.ts +1 -0
  123. package/types/plugins/searchable/SearchableTreePlugin.d.ts +1 -0
  124. package/types/plugins/searchable/index.d.ts +1 -0
  125. package/types/plugins/selectable/SelectablePluginTree.d.ts +1 -0
  126. package/types/plugins/selectable/index.d.ts +1 -0
  127. package/types/plugins/toolbar/TreeToolbarPlugin.d.ts +1 -0
  128. package/types/plugins/toolbar/index.d.ts +1 -0
  129. package/types/plugins/tree/TreeDataPlugin.d.ts +1 -0
  130. package/types/plugins/tree/index.d.ts +1 -0
  131. package/types/plugins/virtualization/TreeVirtualizationPlugin.d.ts +1 -0
  132. package/types/plugins/virtualization/index.d.ts +1 -0
  133. package/types/react-desc-prop-types.d.ts +210 -0
  134. package/types/related-components/TreeViewSearchBar.d.ts +16 -0
  135. package/types/sharedTypes.d.ts +47 -0
  136. package/types/utils/array-helpers.d.ts +2 -0
  137. package/types/utils/group-expands-helpers.d.ts +14 -0
  138. package/types/utils/keyboard-helpers.d.ts +6 -0
  139. package/types/utils/object-helpers.d.ts +6 -0
  140. package/types/utils/refs-helpers.d.ts +4 -0
  141. package/types/utils/selectable-helper.d.ts +7 -0
  142. package/types/utils/string-helpers.d.ts +1 -0
  143. package/types/utils/tree-helpers.d.ts +28 -0
  144. package/types/utils/useInstanceRefActions.d.ts +3 -0
  145. package/types/utils/useTree.d.ts +14 -0
  146. package/dist/cjs/TreeView.js +0 -50
  147. package/dist/cjs/TreeView.js.map +0 -7
  148. package/dist/cjs/TreeViewContext.js +0 -116
  149. package/dist/cjs/TreeViewContext.js.map +0 -7
  150. package/dist/cjs/config/cssClassesConstants.js +0 -41
  151. package/dist/cjs/config/cssClassesConstants.js.map +0 -7
  152. package/dist/cjs/config/useTreeview.js +0 -151
  153. package/dist/cjs/config/useTreeview.js.map +0 -7
  154. package/dist/cjs/hoc/DnDTreeContext.js +0 -45
  155. package/dist/cjs/hoc/DnDTreeContext.js.map +0 -7
  156. package/dist/cjs/hoc/SortableItemContext.js +0 -46
  157. package/dist/cjs/hoc/SortableItemContext.js.map +0 -7
  158. package/dist/cjs/hoc/WithConditionalDnDContext.js +0 -128
  159. package/dist/cjs/hoc/WithConditionalDnDContext.js.map +0 -7
  160. package/dist/cjs/hoc/WithDnDSortableItemContext.js +0 -69
  161. package/dist/cjs/hoc/WithDnDSortableItemContext.js.map +0 -7
  162. package/dist/cjs/index.js +0 -37
  163. package/dist/cjs/index.js.map +0 -7
  164. package/dist/cjs/parts/CheckboxSelectable.js +0 -97
  165. package/dist/cjs/parts/CheckboxSelectable.js.map +0 -7
  166. package/dist/cjs/parts/ChildrenCountDisplayer.js +0 -47
  167. package/dist/cjs/parts/ChildrenCountDisplayer.js.map +0 -7
  168. package/dist/cjs/parts/DnDHandle.js +0 -57
  169. package/dist/cjs/parts/DnDHandle.js.map +0 -7
  170. package/dist/cjs/parts/DropIndicator.js +0 -80
  171. package/dist/cjs/parts/DropIndicator.js.map +0 -7
  172. package/dist/cjs/parts/ExpandCaret.js +0 -96
  173. package/dist/cjs/parts/ExpandCaret.js.map +0 -7
  174. package/dist/cjs/parts/Icon.js +0 -52
  175. package/dist/cjs/parts/Icon.js.map +0 -7
  176. package/dist/cjs/parts/NestingSpace.js +0 -55
  177. package/dist/cjs/parts/NestingSpace.js.map +0 -7
  178. package/dist/cjs/parts/RadioSelectable.js +0 -74
  179. package/dist/cjs/parts/RadioSelectable.js.map +0 -7
  180. package/dist/cjs/parts/TreeItem.js +0 -166
  181. package/dist/cjs/parts/TreeItem.js.map +0 -7
  182. package/dist/cjs/parts/TreeItemText.js +0 -101
  183. package/dist/cjs/parts/TreeItemText.js.map +0 -7
  184. package/dist/cjs/parts/TreeList.js +0 -123
  185. package/dist/cjs/parts/TreeList.js.map +0 -7
  186. package/dist/cjs/plugins/dnd/TreeDndPlugin.js +0 -35
  187. package/dist/cjs/plugins/dnd/TreeDndPlugin.js.map +0 -7
  188. package/dist/cjs/plugins/dnd/index.js +0 -28
  189. package/dist/cjs/plugins/dnd/index.js.map +0 -7
  190. package/dist/cjs/plugins/index.js +0 -34
  191. package/dist/cjs/plugins/index.js.map +0 -7
  192. package/dist/cjs/plugins/roving/TreeRovingPlugin.js +0 -35
  193. package/dist/cjs/plugins/roving/TreeRovingPlugin.js.map +0 -7
  194. package/dist/cjs/plugins/roving/index.js +0 -28
  195. package/dist/cjs/plugins/roving/index.js.map +0 -7
  196. package/dist/cjs/plugins/searchable/SearchableTreePlugin.js +0 -35
  197. package/dist/cjs/plugins/searchable/SearchableTreePlugin.js.map +0 -7
  198. package/dist/cjs/plugins/searchable/index.js +0 -28
  199. package/dist/cjs/plugins/searchable/index.js.map +0 -7
  200. package/dist/cjs/plugins/selectable/SelectablePluginTree.js +0 -35
  201. package/dist/cjs/plugins/selectable/SelectablePluginTree.js.map +0 -7
  202. package/dist/cjs/plugins/selectable/index.js +0 -28
  203. package/dist/cjs/plugins/selectable/index.js.map +0 -7
  204. package/dist/cjs/plugins/toolbar/TreeToolbarPlugin.js +0 -35
  205. package/dist/cjs/plugins/toolbar/TreeToolbarPlugin.js.map +0 -7
  206. package/dist/cjs/plugins/toolbar/index.js +0 -28
  207. package/dist/cjs/plugins/toolbar/index.js.map +0 -7
  208. package/dist/cjs/plugins/tree/TreeDataPlugin.js +0 -35
  209. package/dist/cjs/plugins/tree/TreeDataPlugin.js.map +0 -7
  210. package/dist/cjs/plugins/tree/index.js +0 -28
  211. package/dist/cjs/plugins/tree/index.js.map +0 -7
  212. package/dist/cjs/plugins/virtualization/TreeVirtualizationPlugin.js +0 -35
  213. package/dist/cjs/plugins/virtualization/TreeVirtualizationPlugin.js.map +0 -7
  214. package/dist/cjs/plugins/virtualization/index.js +0 -28
  215. package/dist/cjs/plugins/virtualization/index.js.map +0 -7
  216. package/dist/cjs/react-desc-prop-types.js +0 -85
  217. package/dist/cjs/react-desc-prop-types.js.map +0 -7
  218. package/dist/cjs/related-components/TreeViewSearchBar.js +0 -50
  219. package/dist/cjs/related-components/TreeViewSearchBar.js.map +0 -7
  220. package/dist/cjs/sharedTypes.js +0 -27
  221. package/dist/cjs/sharedTypes.js.map +0 -7
  222. package/dist/cjs/utils/array-helpers.js +0 -48
  223. package/dist/cjs/utils/array-helpers.js.map +0 -7
  224. package/dist/cjs/utils/group-expands-helpers.js +0 -138
  225. package/dist/cjs/utils/group-expands-helpers.js.map +0 -7
  226. package/dist/cjs/utils/keyboard-helpers.js +0 -170
  227. package/dist/cjs/utils/keyboard-helpers.js.map +0 -7
  228. package/dist/cjs/utils/object-helpers.js +0 -76
  229. package/dist/cjs/utils/object-helpers.js.map +0 -7
  230. package/dist/cjs/utils/refs-helpers.js +0 -52
  231. package/dist/cjs/utils/refs-helpers.js.map +0 -7
  232. package/dist/cjs/utils/selectable-helper.js +0 -88
  233. package/dist/cjs/utils/selectable-helper.js.map +0 -7
  234. package/dist/cjs/utils/string-helpers.js +0 -35
  235. package/dist/cjs/utils/string-helpers.js.map +0 -7
  236. package/dist/cjs/utils/tree-helpers.js +0 -184
  237. package/dist/cjs/utils/tree-helpers.js.map +0 -7
  238. package/dist/cjs/utils/useInstanceRefActions.js +0 -98
  239. package/dist/cjs/utils/useInstanceRefActions.js.map +0 -7
  240. package/dist/cjs/utils/useTree.js +0 -106
  241. package/dist/cjs/utils/useTree.js.map +0 -7
  242. package/dist/esm/TreeView.js +0 -21
  243. package/dist/esm/TreeView.js.map +0 -7
  244. package/dist/esm/TreeViewContext.js.map +0 -7
  245. package/dist/esm/config/cssClassesConstants.js +0 -12
  246. package/dist/esm/config/cssClassesConstants.js.map +0 -7
  247. package/dist/esm/config/useTreeview.js +0 -122
  248. package/dist/esm/config/useTreeview.js.map +0 -7
  249. package/dist/esm/hoc/DnDTreeContext.js +0 -16
  250. package/dist/esm/hoc/DnDTreeContext.js.map +0 -7
  251. package/dist/esm/hoc/SortableItemContext.js +0 -17
  252. package/dist/esm/hoc/SortableItemContext.js.map +0 -7
  253. package/dist/esm/hoc/WithConditionalDnDContext.js +0 -99
  254. package/dist/esm/hoc/WithConditionalDnDContext.js.map +0 -7
  255. package/dist/esm/hoc/WithDnDSortableItemContext.js +0 -40
  256. package/dist/esm/hoc/WithDnDSortableItemContext.js.map +0 -7
  257. package/dist/esm/index.js +0 -8
  258. package/dist/esm/index.js.map +0 -7
  259. package/dist/esm/parts/CheckboxSelectable.js +0 -68
  260. package/dist/esm/parts/CheckboxSelectable.js.map +0 -7
  261. package/dist/esm/parts/ChildrenCountDisplayer.js +0 -18
  262. package/dist/esm/parts/ChildrenCountDisplayer.js.map +0 -7
  263. package/dist/esm/parts/DnDHandle.js +0 -28
  264. package/dist/esm/parts/DnDHandle.js.map +0 -7
  265. package/dist/esm/parts/DropIndicator.js +0 -51
  266. package/dist/esm/parts/DropIndicator.js.map +0 -7
  267. package/dist/esm/parts/ExpandCaret.js +0 -67
  268. package/dist/esm/parts/ExpandCaret.js.map +0 -7
  269. package/dist/esm/parts/Icon.js +0 -23
  270. package/dist/esm/parts/Icon.js.map +0 -7
  271. package/dist/esm/parts/NestingSpace.js +0 -26
  272. package/dist/esm/parts/NestingSpace.js.map +0 -7
  273. package/dist/esm/parts/RadioSelectable.js +0 -45
  274. package/dist/esm/parts/RadioSelectable.js.map +0 -7
  275. package/dist/esm/parts/TreeItem.js +0 -137
  276. package/dist/esm/parts/TreeItem.js.map +0 -7
  277. package/dist/esm/parts/TreeItemText.js +0 -72
  278. package/dist/esm/parts/TreeItemText.js.map +0 -7
  279. package/dist/esm/parts/TreeList.js +0 -94
  280. package/dist/esm/parts/TreeList.js.map +0 -7
  281. package/dist/esm/plugins/dnd/TreeDndPlugin.js +0 -6
  282. package/dist/esm/plugins/dnd/TreeDndPlugin.js.map +0 -7
  283. package/dist/esm/plugins/dnd/index.js +0 -3
  284. package/dist/esm/plugins/dnd/index.js.map +0 -7
  285. package/dist/esm/plugins/index.js +0 -9
  286. package/dist/esm/plugins/index.js.map +0 -7
  287. package/dist/esm/plugins/roving/TreeRovingPlugin.js +0 -6
  288. package/dist/esm/plugins/roving/TreeRovingPlugin.js.map +0 -7
  289. package/dist/esm/plugins/roving/index.js +0 -3
  290. package/dist/esm/plugins/roving/index.js.map +0 -7
  291. package/dist/esm/plugins/searchable/SearchableTreePlugin.js +0 -6
  292. package/dist/esm/plugins/searchable/SearchableTreePlugin.js.map +0 -7
  293. package/dist/esm/plugins/searchable/index.js +0 -3
  294. package/dist/esm/plugins/searchable/index.js.map +0 -7
  295. package/dist/esm/plugins/selectable/SelectablePluginTree.js +0 -6
  296. package/dist/esm/plugins/selectable/SelectablePluginTree.js.map +0 -7
  297. package/dist/esm/plugins/selectable/index.js +0 -3
  298. package/dist/esm/plugins/selectable/index.js.map +0 -7
  299. package/dist/esm/plugins/toolbar/TreeToolbarPlugin.js +0 -6
  300. package/dist/esm/plugins/toolbar/TreeToolbarPlugin.js.map +0 -7
  301. package/dist/esm/plugins/toolbar/index.js +0 -3
  302. package/dist/esm/plugins/toolbar/index.js.map +0 -7
  303. package/dist/esm/plugins/tree/TreeDataPlugin.js +0 -6
  304. package/dist/esm/plugins/tree/TreeDataPlugin.js.map +0 -7
  305. package/dist/esm/plugins/tree/index.js +0 -3
  306. package/dist/esm/plugins/tree/index.js.map +0 -7
  307. package/dist/esm/plugins/virtualization/TreeVirtualizationPlugin.js +0 -6
  308. package/dist/esm/plugins/virtualization/TreeVirtualizationPlugin.js.map +0 -7
  309. package/dist/esm/plugins/virtualization/index.js +0 -3
  310. package/dist/esm/plugins/virtualization/index.js.map +0 -7
  311. package/dist/esm/react-desc-prop-types.js +0 -56
  312. package/dist/esm/react-desc-prop-types.js.map +0 -7
  313. package/dist/esm/related-components/TreeViewSearchBar.js +0 -21
  314. package/dist/esm/related-components/TreeViewSearchBar.js.map +0 -7
  315. package/dist/esm/sharedTypes.js +0 -2
  316. package/dist/esm/sharedTypes.js.map +0 -7
  317. package/dist/esm/utils/array-helpers.js.map +0 -7
  318. package/dist/esm/utils/group-expands-helpers.js +0 -109
  319. package/dist/esm/utils/group-expands-helpers.js.map +0 -7
  320. package/dist/esm/utils/keyboard-helpers.js.map +0 -7
  321. package/dist/esm/utils/object-helpers.js +0 -47
  322. package/dist/esm/utils/object-helpers.js.map +0 -7
  323. package/dist/esm/utils/refs-helpers.js +0 -23
  324. package/dist/esm/utils/refs-helpers.js.map +0 -7
  325. package/dist/esm/utils/selectable-helper.js +0 -59
  326. package/dist/esm/utils/selectable-helper.js.map +0 -7
  327. package/dist/esm/utils/string-helpers.js +0 -6
  328. package/dist/esm/utils/string-helpers.js.map +0 -7
  329. package/dist/esm/utils/tree-helpers.js +0 -155
  330. package/dist/esm/utils/tree-helpers.js.map +0 -7
  331. package/dist/esm/utils/useInstanceRefActions.js.map +0 -7
  332. package/dist/esm/utils/useTree.js +0 -77
  333. package/dist/esm/utils/useTree.js.map +0 -7
@@ -0,0 +1,46 @@
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 React = require('react');
12
+ var dsIcons = require('@elliemae/ds-icons');
13
+ var SortableItemContext = require('../hoc/SortableItemContext.js');
14
+
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
18
+
19
+ 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; }
20
+
21
+ 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; }
22
+ const DnDHandle = _ref => {
23
+ let {
24
+ id,
25
+ isDragOverlay
26
+ } = _ref;
27
+ const {
28
+ draggableProps
29
+ } = React.useContext(SortableItemContext.SortableItemContext);
30
+ const isDragging = draggableProps && draggableProps.isDragging;
31
+ return /*#__PURE__*/React.createElement(dsIcons.GripperVertical, _objectSpread(_objectSpread({
32
+ role: "button"
33
+ }, draggableProps && _objectSpread(_objectSpread({}, draggableProps.listeners), draggableProps.attributes)), {}, {
34
+ "data-testid": "drag-handle",
35
+ "data-isactive": draggableProps && !!draggableProps.active,
36
+ "data-isdragoverlay": isDragOverlay,
37
+ id: "".concat(id, "-drag-handle"),
38
+ key: "".concat(id, "-drag-handle"),
39
+ className: "drag-handle ".concat(isDragging ? '' : 'focuseable'),
40
+ color: ['brand-primary', '800'],
41
+ size: "s",
42
+ tabIndex: 0
43
+ }));
44
+ };
45
+
46
+ exports.DnDHandle = DnDHandle;
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('react');
5
+ var styled = require('styled-components');
6
+ var SortableItemContext = require('../hoc/SortableItemContext.js');
7
+ var jsxRuntime = require('react/jsx-runtime');
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
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
+
14
+ const getPositionStyles = _ref => {
15
+ let {
16
+ dropIndicatorPosition
17
+ } = _ref;
18
+ return "\n top: ".concat(dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Before ? '0' : 'unset', ";\n bottom: ").concat(dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.After ? '0' : 'unset', ";\n left: -2px;\n ");
19
+ };
20
+
21
+ const getCircleStyles = _ref2 => {
22
+ let {
23
+ dropIndicatorPosition
24
+ } = _ref2;
25
+ return {
26
+ position: 'absolute',
27
+ zIndex: 20,
28
+ top: dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.After ? 'unset' : '-2px',
29
+ bottom: dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Before ? 'unset' : '-2px',
30
+ left: '0px',
31
+ opacity: 1
32
+ };
33
+ };
34
+
35
+ const StyledIndicator = /*#__PURE__*/styled__default["default"].div.withConfig({
36
+ componentId: "sc-1812zh0-0"
37
+ })(["position:absolute;", " box-sizing:border-box;width:", ";height:", ";background-color:", ";z-index:20;"], getPositionStyles, props => props.vertical ? '2px' : '100%', props => props.vertical ? '100%' : '2px', _ref3 => {
38
+ let {
39
+ isDropValid,
40
+ theme
41
+ } = _ref3;
42
+ return isDropValid ? theme.colors.brand[600] : theme.colors.danger[900];
43
+ });
44
+
45
+ const CircleIndicator = (style, isDropValid) => /*#__PURE__*/_jsx__default["default"]("svg", {
46
+ height: "6",
47
+ width: "6",
48
+ style: style
49
+ }, void 0, /*#__PURE__*/_jsx__default["default"]("circle", {
50
+ cx: "3",
51
+ cy: "3",
52
+ r: "3",
53
+ strokeWidth: "0",
54
+ fill: isDropValid ? '#1E79C2' : '#C64252'
55
+ }));
56
+
57
+ const DropIndicator = _ref4 => {
58
+ let {
59
+ dropIndicatorPosition,
60
+ isLast,
61
+ isDropValid
62
+ } = _ref4;
63
+ if (![SortableItemContext.DropIndicatorPosition.After, SortableItemContext.DropIndicatorPosition.Before].includes(dropIndicatorPosition)) return null;
64
+ const safeDropIndicatorPosition = isLast ? SortableItemContext.DropIndicatorPosition.Before : dropIndicatorPosition;
65
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
66
+ children: [CircleIndicator(getCircleStyles({
67
+ dropIndicatorPosition: safeDropIndicatorPosition
68
+ }), isDropValid), /*#__PURE__*/_jsx__default["default"](StyledIndicator, {
69
+ dropIndicatorPosition: safeDropIndicatorPosition,
70
+ isDropValid: isDropValid
71
+ })]
72
+ });
73
+ };
74
+
75
+ module.exports = DropIndicator;
@@ -0,0 +1,94 @@
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;
30
+ const isGroupOrHasChildrens = isGroup || Array.isArray(children) && children.length > 0;
31
+ const ctx = React.useContext(TreeViewContext["default"]);
32
+ const {
33
+ props: {
34
+ onItemFocus
35
+ },
36
+ handleExpandGroup = defaultHandleExpandGroup,
37
+ triggerTreeRerender,
38
+ updateUserExpandedState,
39
+ setLatestToggledItem,
40
+ setFocusedItem,
41
+ virtualListHelpers: {
42
+ scrollToIndex
43
+ }
44
+ } = ctx;
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, {
53
+ size: "s",
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
+ }
91
+ });
92
+ };
93
+
94
+ exports.ExpandCaret = ExpandCaret;
@@ -0,0 +1,37 @@
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;
17
+ const isGroupOrHasChildrens = item.isGroup || Array.isArray(item.children) && item.children.length > 0;
18
+ const ctx = React.useContext(TreeViewContext["default"]);
19
+ const {
20
+ props: {
21
+ groupIcon,
22
+ itemIcon
23
+ }
24
+ } = ctx;
25
+ const icon = isGroupOrHasChildrens ? groupIcon : itemIcon;
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')
34
+ });
35
+ };
36
+
37
+ exports.Icon = Icon;
@@ -0,0 +1,47 @@
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
+
12
+ const getItemNestingLeftPadding = (level, opts) => {
13
+ const {
14
+ spaceForNestingLevel = 1.5
15
+ } = opts;
16
+ const groupLeftPadding = spaceForNestingLevel * (level - 1);
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';
21
+ };
22
+
23
+ const NestingSpace = props => {
24
+ const {
25
+ item,
26
+ spaceForNestingLevel
27
+ } = props;
28
+ const {
29
+ treeDepth
30
+ } = item;
31
+
32
+ if (treeDepth) {
33
+ const itemNestingLeftPadding = getItemNestingLeftPadding(treeDepth - 1, {
34
+ spaceForNestingLevel
35
+ });
36
+ return /*#__PURE__*/_jsx__default["default"]("div", {
37
+ "data-testid": "tree-item-nested-space",
38
+ style: {
39
+ width: itemNestingLeftPadding
40
+ }
41
+ });
42
+ }
43
+
44
+ return null;
45
+ };
46
+
47
+ exports.NestingSpace = NestingSpace;
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ var React = require('react');
5
+ var dsForm = require('@elliemae/ds-form');
6
+ var TreeViewContext = require('../TreeViewContext.js');
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
+
12
+ function RadioSelectable(props) {
13
+ const {
14
+ item,
15
+ itemIndex
16
+ } = props;
17
+ const ctx = React.useContext(TreeViewContext["default"]);
18
+ const {
19
+ props: {
20
+ onSelectionChange,
21
+ isItemDisabled
22
+ },
23
+ virtualListHelpers: {
24
+ scrollToIndex
25
+ },
26
+ uniqueTreeViewUUID,
27
+ selectedCheckboxes,
28
+ setSelectedCheckboxes
29
+ } = ctx;
30
+ const {
31
+ id
32
+ } = item;
33
+ const onRadioChange = React.useCallback(() => {
34
+ const newSelectionHasmap = {
35
+ [id]: true
36
+ };
37
+ setSelectedCheckboxes(newSelectionHasmap);
38
+ const indexAndScrollTo = {
39
+ scrollToItem: () => {
40
+ if (item.virtualIndex) scrollToIndex(item.virtualIndex);
41
+ },
42
+ itemIndex
43
+ };
44
+ if (onSelectionChange) onSelectionChange(newSelectionHasmap, item, indexAndScrollTo);
45
+ }, [id, setSelectedCheckboxes, itemIndex, onSelectionChange, item, scrollToIndex]);
46
+ const radioName = React.useMemo(() => "radios-".concat(uniqueTreeViewUUID), [uniqueTreeViewUUID]);
47
+ const isDisabled = React.useMemo(() => isItemDisabled(item), [item, isItemDisabled]);
48
+ return /*#__PURE__*/_jsx__default["default"](dsForm.DSRadio, {
49
+ checked: selectedCheckboxes[id] === true,
50
+ name: radioName,
51
+ disabled: isDisabled,
52
+ className: "em-ds-tree-item-radio",
53
+ "data-testid": "tree-item-radio",
54
+ onChange: onRadioChange,
55
+ tabIndex: 0
56
+ });
57
+ }
58
+
59
+ module.exports = RadioSelectable;
@@ -0,0 +1,185 @@
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 _jsx = require('@babel/runtime/helpers/jsx');
11
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
12
+ var React = require('react');
13
+ var dsClassnames = require('@elliemae/ds-classnames');
14
+ var RadioSelectable = require('./RadioSelectable.js');
15
+ var CheckboxSelectable = require('./CheckboxSelectable.js');
16
+ var TreeViewContext = require('../TreeViewContext.js');
17
+ var refsHelpers = require('../utils/refs-helpers.js');
18
+ var keyboardHelpers = require('../utils/keyboard-helpers.js');
19
+ var NestingSpace = require('./NestingSpace.js');
20
+ var Icon = require('./Icon.js');
21
+ var ExpandCaret = require('./ExpandCaret.js');
22
+ var TreeItemText = require('./TreeItemText.js');
23
+ var cssClassesConstants = require('../config/cssClassesConstants.js');
24
+ var DnDHandle = require('./DnDHandle.js');
25
+ var WithDnDSortableItemContext = require('../hoc/WithDnDSortableItemContext.js');
26
+ var SortableItemContext = require('../hoc/SortableItemContext.js');
27
+ var DropIndicator = require('./DropIndicator.js');
28
+ var jsxRuntime = require('react/jsx-runtime');
29
+
30
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
31
+
32
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
33
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
34
+
35
+ 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; }
36
+
37
+ 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; }
38
+ const TreeListItem = dsClassnames.aggregatedClasses('li', {
39
+ 'data-testid': cssClassesConstants.treeItemBlockName,
40
+ role: 'treeitem' // temp fix untill we move to styled components
41
+
42
+ })(cssClassesConstants.treeItemBlockName);
43
+ const TreeListItemAddonsWrapper = dsClassnames.aggregatedClasses('div')(cssClassesConstants.treeItemBlockName, 'addons' // temp fix untill we move to styled components
44
+ );
45
+ const TreeItem = props => {
46
+ const {
47
+ item,
48
+ itemIndex,
49
+ itemWrapperStyle = {},
50
+ virtualItemRef,
51
+ spaceForNestingLevel = 1.5,
52
+ isDragOverlay = false
53
+ } = props;
54
+ const {
55
+ id,
56
+ node
57
+ } = item;
58
+ const {
59
+ nodeItemRef
60
+ } = node.model;
61
+ const {
62
+ draggableProps
63
+ } = React.useContext(SortableItemContext.SortableItemContext);
64
+ const onItemKeyDown = keyboardHelpers.useOnItemKeyDown(item, draggableProps);
65
+ const ctx = React.useContext(TreeViewContext["default"]);
66
+ const {
67
+ props: {
68
+ disableIcons,
69
+ rightAddons,
70
+ onItemClick,
71
+ onItemFocus,
72
+ rowSize,
73
+ labelOverflow
74
+ },
75
+ withRadioChecks,
76
+ withCheckboxChecks,
77
+ withDragAndDrop,
78
+ selectedItem,
79
+ selectedCheckboxes,
80
+ hoverItem,
81
+ virtualListHelpers: {
82
+ scrollToIndex
83
+ },
84
+ setHoverItem,
85
+ setSelectedItem,
86
+ setFocusedItem
87
+ } = ctx; // Sortable Items needs to update
88
+ // - the virtual list ref (for react-virtual requirement)
89
+ // - nodeItemRef which is a prop avaiable in the TreeModel nodes
90
+ // - the drag and drop node reference
91
+
92
+ const setItemRefs = ref => {
93
+ refsHelpers.setMultipleRefs(virtualItemRef, !isDragOverlay && nodeItemRef, !isDragOverlay && draggableProps && draggableProps.setNodeRef)(ref);
94
+ };
95
+
96
+ const dropIndicatorPosition = draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;
97
+ const isDropIndicatorPositionInside = dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Inside;
98
+ const isDragging = draggableProps && draggableProps.isDragging;
99
+ const isDropValid = draggableProps && draggableProps.isDropValid;
100
+ const dropPreviewClassName = React.useMemo(() => {
101
+ if (isDropIndicatorPositionInside) {
102
+ const className = "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName).concat(isDropValid ? '--valid' : '--invalid', "-drop-in");
103
+ return className;
104
+ }
105
+
106
+ return '';
107
+ }, [isDropIndicatorPositionInside, isDropValid]);
108
+ const dragOverlayClassName = React.useMemo(() => isDragOverlay ? 'drag-overlay' : '', [isDragOverlay]);
109
+ const selectedClassName = React.useMemo(() => (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id) === item.id && !isDragOverlay ? 'selected' : '', [isDragOverlay, item.id, selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id]);
110
+ const hoverClassName = React.useMemo(() => !isDragOverlay && ((hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id) === item.id || isDragging) ? 'hover' : '', [isDragOverlay, hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id, item.id, isDragging]);
111
+ const fixedHeightClassname = React.useMemo(() => {
112
+ if (labelOverflow === 'truncate') {
113
+ if (rowSize === 'compact') return "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "--fixed-height-compact");
114
+ return "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "--fixed-height");
115
+ }
116
+
117
+ return '';
118
+ }, [labelOverflow, rowSize]);
119
+ const finalClassName = React.useMemo(() => "".concat(dropPreviewClassName, " ").concat(fixedHeightClassname, " ").concat(selectedClassName, " ").concat(hoverClassName, " ").concat(dragOverlayClassName), [dropPreviewClassName, selectedClassName, hoverClassName, fixedHeightClassname, dragOverlayClassName]);
120
+ const handleItemClick = React.useCallback(e => {
121
+ onItemClick(item, e);
122
+ setFocusedItem(item);
123
+ setSelectedItem(item);
124
+ const itemVirtualIndex = typeof item.virtualIndex === 'number' ? item.virtualIndex : -1;
125
+ onItemFocus({
126
+ itemIndex: itemVirtualIndex,
127
+ scrollToItem: function () {
128
+ let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
129
+ align: 'start'
130
+ };
131
+ return scrollToIndex(itemVirtualIndex, opts);
132
+ },
133
+ item
134
+ });
135
+ }, [item, scrollToIndex, onItemClick, onItemFocus, setSelectedItem, setFocusedItem]);
136
+ return /*#__PURE__*/jsxRuntime.jsxs(TreeListItem, {
137
+ tabIndex: 0,
138
+ onMouseLeave: () => {
139
+ if ((hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id) === item.id) {
140
+ setHoverItem(null);
141
+ }
142
+ },
143
+ onMouseEnter: () => {
144
+ setHoverItem(item);
145
+ },
146
+ onClick: handleItemClick,
147
+ onBlur: () => setFocusedItem(null),
148
+ ref: setItemRefs,
149
+ style: _objectSpread({}, itemWrapperStyle),
150
+ className: finalClassName,
151
+ "aria-expanded": !!item.isExpanded,
152
+ "aria-selected": !!selectedCheckboxes[item.id],
153
+ "data-id": item.id,
154
+ "data-index": item.virtualIndex,
155
+ onKeyDown: onItemKeyDown,
156
+ children: [/*#__PURE__*/_jsx__default["default"](TreeListItemAddonsWrapper, {}, void 0, withDragAndDrop ? /*#__PURE__*/_jsx__default["default"](DnDHandle.DnDHandle, {
157
+ id: id,
158
+ isDragOverlay: isDragOverlay
159
+ }) : null, withRadioChecks && !isDragOverlay ? /*#__PURE__*/_jsx__default["default"](RadioSelectable, {
160
+ item: item,
161
+ itemIndex: itemIndex
162
+ }) : null, withCheckboxChecks && !isDragOverlay ? /*#__PURE__*/_jsx__default["default"](CheckboxSelectable, {
163
+ item: item,
164
+ itemIndex: itemIndex
165
+ }) : null, !isDragOverlay && /*#__PURE__*/_jsx__default["default"](NestingSpace.NestingSpace, {
166
+ item: item,
167
+ spaceForNestingLevel: spaceForNestingLevel
168
+ }), !isDragOverlay && /*#__PURE__*/_jsx__default["default"](ExpandCaret.ExpandCaret, {
169
+ item: item
170
+ }), !disableIcons ? /*#__PURE__*/_jsx__default["default"](Icon.Icon, {
171
+ item: item
172
+ }) : null), /*#__PURE__*/_jsx__default["default"](TreeItemText.TreeItemText, {
173
+ item: item
174
+ }), rightAddons && /*#__PURE__*/_jsx__default["default"](TreeListItemAddonsWrapper, {}, void 0, typeof rightAddons === 'function' ? rightAddons(item) : rightAddons), /*#__PURE__*/_jsx__default["default"](DropIndicator, {
175
+ dropIndicatorPosition: dropIndicatorPosition,
176
+ isDropValid: isDropValid
177
+ })]
178
+ });
179
+ };
180
+ var TreeItem$1 = WithDnDSortableItemContext.withDnDSortableItemContext(TreeItem);
181
+
182
+ exports.TreeItem = TreeItem;
183
+ exports.TreeListItem = TreeListItem;
184
+ exports.TreeListItemAddonsWrapper = TreeListItemAddonsWrapper;
185
+ exports["default"] = TreeItem$1;
@@ -0,0 +1,108 @@
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 Highlighter = require('react-highlight-words');
8
+ var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
9
+ var dsClassnames = require('@elliemae/ds-classnames');
10
+ var ChildrenCountDisplayer = require('./ChildrenCountDisplayer.js');
11
+ var cssClassesConstants = require('../config/cssClassesConstants.js');
12
+ var TreeViewContext = require('../TreeViewContext.js');
13
+ var jsxRuntime = require('react/jsx-runtime');
14
+
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
18
+ var Highlighter__default = /*#__PURE__*/_interopDefaultLegacy(Highlighter);
19
+
20
+ const ItemContent = dsClassnames.aggregatedClasses('div')("".concat(cssClassesConstants.treeItemBlockName, "-content"));
21
+ const ItemValue = dsClassnames.aggregatedClasses('span')(cssClassesConstants.treeItemBlockName, 'value'); // const wrapperClassName = `${DSTreeViewPrefix}-${treeItemBlockName}-content`;
22
+
23
+ const classNameModifierWrapAll = "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "__value--wrap-all");
24
+ const classNameModifierTruncate = "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "__value--truncate"); // eslint-disable-next-line react/prop-types
25
+
26
+ const CustomHighlight = _ref => {
27
+ let {
28
+ children
29
+ } = _ref;
30
+ return /*#__PURE__*/_jsx__default["default"]("mark", {
31
+ className: "tree-text-highlight",
32
+ "data-testid": "tree-text-highlight"
33
+ }, void 0, children);
34
+ };
35
+
36
+ function TreeItemText(props) {
37
+ var _ChildrenCountDisplay, _ChildrenCountDisplay2, _ChildrenCountDisplay3, _ChildrenCountDisplay4;
38
+
39
+ const {
40
+ item
41
+ } = props;
42
+ const ctx = React.useContext(TreeViewContext["default"]);
43
+ const {
44
+ props: {
45
+ searchQuery,
46
+ showChildrenAmount,
47
+ labelOverflow,
48
+ nameKey
49
+ }
50
+ } = ctx;
51
+ const Text = React.useMemo(() => {
52
+ const itemLabelText = item[nameKey];
53
+
54
+ if (searchQuery) {
55
+ if (labelOverflow === 'truncate') {
56
+ return /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
57
+ value: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
58
+ children: [/*#__PURE__*/_jsx__default["default"](Highlighter__default["default"], {
59
+ autoEscape: true,
60
+ highlightTag: CustomHighlight,
61
+ searchWords: [searchQuery],
62
+ textToHighlight: itemLabelText
63
+ }), showChildrenAmount ? _ChildrenCountDisplay || (_ChildrenCountDisplay = /*#__PURE__*/_jsx__default["default"](ChildrenCountDisplayer.ChildrenCountDisplayer, {
64
+ item: item
65
+ })) : null]
66
+ })
67
+ });
68
+ }
69
+
70
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
71
+ children: [/*#__PURE__*/_jsx__default["default"](Highlighter__default["default"], {
72
+ autoEscape: true,
73
+ highlightTag: CustomHighlight,
74
+ searchWords: [searchQuery],
75
+ textToHighlight: itemLabelText
76
+ }), showChildrenAmount ? _ChildrenCountDisplay2 || (_ChildrenCountDisplay2 = /*#__PURE__*/_jsx__default["default"](ChildrenCountDisplayer.ChildrenCountDisplayer, {
77
+ item: item
78
+ })) : null]
79
+ });
80
+ }
81
+
82
+ if (labelOverflow === 'truncate') {
83
+ return /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
84
+ value: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
85
+ children: [itemLabelText, showChildrenAmount ? _ChildrenCountDisplay3 || (_ChildrenCountDisplay3 = /*#__PURE__*/_jsx__default["default"](ChildrenCountDisplayer.ChildrenCountDisplayer, {
86
+ item: item
87
+ })) : null]
88
+ })
89
+ });
90
+ }
91
+
92
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
93
+ children: [itemLabelText, showChildrenAmount ? _ChildrenCountDisplay4 || (_ChildrenCountDisplay4 = /*#__PURE__*/_jsx__default["default"](ChildrenCountDisplayer.ChildrenCountDisplayer, {
94
+ item: item
95
+ })) : null]
96
+ });
97
+ }, [item, searchQuery, nameKey, showChildrenAmount, labelOverflow]);
98
+ let className = '';
99
+ if (labelOverflow === 'wrap-all') className += "".concat(classNameModifierWrapAll, " ");
100
+ if (labelOverflow === 'truncate') className += "".concat(classNameModifierTruncate, " ");
101
+ return /*#__PURE__*/_jsx__default["default"](ItemContent, {
102
+ "data-testid": "".concat(cssClassesConstants.treeItemBlockName, "-content")
103
+ }, void 0, /*#__PURE__*/_jsx__default["default"](ItemValue, {
104
+ className: className
105
+ }, void 0, Text));
106
+ }
107
+
108
+ exports.TreeItemText = TreeItemText;