@elliemae/ds-treeview 1.61.12 → 1.61.13

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 (93) hide show
  1. package/cjs/TreeView.js.map +1 -1
  2. package/cjs/TreeViewContext.js.map +1 -1
  3. package/cjs/deprecated/TreeView.js.map +1 -1
  4. package/cjs/deprecated/__testUtils__/utils.js.map +1 -1
  5. package/cjs/deprecated/plugins/dnd/TreeDndPlugin.js.map +1 -1
  6. package/cjs/deprecated/plugins/dnd/renderers/DraggableItem.js.map +1 -1
  7. package/cjs/deprecated/plugins/dnd/renderers/DroppableList.js.map +1 -1
  8. package/cjs/deprecated/plugins/dnd/utils.js.map +1 -1
  9. package/cjs/deprecated/plugins/roving/TreeRovingPlugin.js.map +1 -1
  10. package/cjs/deprecated/plugins/searchable/SearchableTreePlugin.js.map +1 -1
  11. package/cjs/deprecated/plugins/selectable/SelectablePluginTree.js.map +1 -1
  12. package/cjs/deprecated/plugins/selectable/utils.js.map +1 -1
  13. package/cjs/deprecated/plugins/toolbar/TreeToolbarPlugin.js.map +1 -1
  14. package/cjs/deprecated/plugins/tree/TreeDataPlugin.js.map +1 -1
  15. package/cjs/deprecated/plugins/tree/useExpandTreeState.js.map +1 -1
  16. package/cjs/deprecated/plugins/tree/utils.js.map +1 -1
  17. package/cjs/deprecated/plugins/tree/walkTreeStrategy.js.map +1 -1
  18. package/cjs/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js.map +1 -1
  19. package/cjs/deprecated/renderers.js.map +1 -1
  20. package/cjs/index-69815fd3.js.map +1 -1
  21. package/cjs/index.js.map +1 -1
  22. package/cjs/parts/CheckboxSelectable.js.map +1 -1
  23. package/cjs/parts/ChildrenCountDisplayer.js.map +1 -1
  24. package/cjs/parts/ExpandCaret.js.map +1 -1
  25. package/cjs/parts/Icon.js.map +1 -1
  26. package/cjs/parts/NestingSpace.js.map +1 -1
  27. package/cjs/parts/RadioSelectable.js.map +1 -1
  28. package/cjs/parts/TreeItem.js.map +1 -1
  29. package/cjs/parts/TreeItemText.js.map +1 -1
  30. package/cjs/parts/TreeList.js.map +1 -1
  31. package/cjs/plugins/dnd/TreeDndPlugin.js.map +1 -1
  32. package/cjs/prop-types.js.map +1 -1
  33. package/cjs/react-desc-prop-types.js.map +1 -1
  34. package/cjs/related-components/TreeViewSearchBar.js.map +1 -1
  35. package/cjs/utils/array-helpers.js.map +1 -1
  36. package/cjs/utils/dnd-helpers.js.map +1 -1
  37. package/cjs/utils/group-expands-helpers.js.map +1 -1
  38. package/cjs/utils/keyboard-helpers.js.map +1 -1
  39. package/cjs/utils/object-helpers.js.map +1 -1
  40. package/cjs/utils/refs-helpers.js.map +1 -1
  41. package/cjs/utils/selectable-helper.js.map +1 -1
  42. package/cjs/utils/string-helpers.js.map +1 -1
  43. package/cjs/utils/tree-helpers.js.map +1 -1
  44. package/cjs/utils/useDnDHelpers.js.map +1 -1
  45. package/cjs/utils/useInstanceRefActions.js.map +1 -1
  46. package/cjs/utils/useTree.js.map +1 -1
  47. package/esm/TreeView.js.map +1 -1
  48. package/esm/TreeViewContext.js.map +1 -1
  49. package/esm/deprecated/TreeView.js.map +1 -1
  50. package/esm/deprecated/__testUtils__/utils.js.map +1 -1
  51. package/esm/deprecated/plugins/dnd/TreeDndPlugin.js.map +1 -1
  52. package/esm/deprecated/plugins/dnd/renderers/DraggableItem.js.map +1 -1
  53. package/esm/deprecated/plugins/dnd/renderers/DroppableList.js.map +1 -1
  54. package/esm/deprecated/plugins/dnd/utils.js.map +1 -1
  55. package/esm/deprecated/plugins/roving/TreeRovingPlugin.js.map +1 -1
  56. package/esm/deprecated/plugins/searchable/SearchableTreePlugin.js.map +1 -1
  57. package/esm/deprecated/plugins/selectable/SelectablePluginTree.js.map +1 -1
  58. package/esm/deprecated/plugins/selectable/utils.js.map +1 -1
  59. package/esm/deprecated/plugins/toolbar/TreeToolbarPlugin.js.map +1 -1
  60. package/esm/deprecated/plugins/tree/TreeDataPlugin.js.map +1 -1
  61. package/esm/deprecated/plugins/tree/useExpandTreeState.js.map +1 -1
  62. package/esm/deprecated/plugins/tree/utils.js.map +1 -1
  63. package/esm/deprecated/plugins/tree/walkTreeStrategy.js.map +1 -1
  64. package/esm/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js.map +1 -1
  65. package/esm/deprecated/renderers.js.map +1 -1
  66. package/esm/index-f9def0ea.js.map +1 -1
  67. package/esm/index.js.map +1 -1
  68. package/esm/parts/CheckboxSelectable.js.map +1 -1
  69. package/esm/parts/ChildrenCountDisplayer.js.map +1 -1
  70. package/esm/parts/ExpandCaret.js.map +1 -1
  71. package/esm/parts/Icon.js.map +1 -1
  72. package/esm/parts/NestingSpace.js.map +1 -1
  73. package/esm/parts/RadioSelectable.js.map +1 -1
  74. package/esm/parts/TreeItem.js.map +1 -1
  75. package/esm/parts/TreeItemText.js.map +1 -1
  76. package/esm/parts/TreeList.js.map +1 -1
  77. package/esm/plugins/dnd/TreeDndPlugin.js.map +1 -1
  78. package/esm/prop-types.js.map +1 -1
  79. package/esm/react-desc-prop-types.js.map +1 -1
  80. package/esm/related-components/TreeViewSearchBar.js.map +1 -1
  81. package/esm/utils/array-helpers.js.map +1 -1
  82. package/esm/utils/dnd-helpers.js.map +1 -1
  83. package/esm/utils/group-expands-helpers.js.map +1 -1
  84. package/esm/utils/keyboard-helpers.js.map +1 -1
  85. package/esm/utils/object-helpers.js.map +1 -1
  86. package/esm/utils/refs-helpers.js.map +1 -1
  87. package/esm/utils/selectable-helper.js.map +1 -1
  88. package/esm/utils/string-helpers.js.map +1 -1
  89. package/esm/utils/tree-helpers.js.map +1 -1
  90. package/esm/utils/useDnDHelpers.js.map +1 -1
  91. package/esm/utils/useInstanceRefActions.js.map +1 -1
  92. package/esm/utils/useTree.js.map +1 -1
  93. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"TreeDataPlugin.js","sources":["../../../../../src/deprecated/plugins/tree/TreeDataPlugin.tsx"],"sourcesContent":["/* eslint max-lines: [\"error\", 300] */\nimport React, { useCallback } from 'react';\nimport { cx, isFunction } from '@elliemae/ds-utilities';\nimport Button from '@elliemae/ds-button';\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { walkTreeStrategy } from './walkTreeStrategy';\nimport { getItemChildrenLength, getParentId, findItemOnDocument, getListFromDocument } from './utils';\nimport { treeItemBlockName } from '../../renderers';\nimport { useExpandTreeState } from './useExpandTreeState';\n\nconst ItemContent = aggregatedClasses('div')(`${treeItemBlockName}-content`);\nconst ItemValue = aggregatedClasses('span')(treeItemBlockName, 'value');\n\nconst noop = () => null;\n\nconst getItemNestingLeftPadding = (level, opts) => {\n const { spaceForNestingLevel, isChild } = {\n spaceForNestingLevel: 1.5,\n ...opts,\n };\n const groupLeftPadding = spaceForNestingLevel * (level - 1);\n return isChild ? `${groupLeftPadding + spaceForNestingLevel - 0.1}em` : `${groupLeftPadding}em`;\n};\nconst itemRenderer = (value, itemProps, instance) => {\n const { record } = itemProps;\n const {\n props: { showChildrenAmount = false, labelRenderer, onItemClick = noop },\n } = instance.getInstance();\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const handleItemClick = useCallback(\n (e) => {\n onItemClick(record.data, e);\n },\n [record.data, onItemClick],\n );\n\n const amountChildren = Number(getItemChildrenLength(record));\n\n const renderedLabel = (isFunction(labelRenderer) && labelRenderer(value, itemProps)) || value;\n\n return (\n <ItemContent data-testid={`${treeItemBlockName}-content`} onClick={handleItemClick}>\n <ItemValue>\n {renderedLabel}\n {showChildrenAmount && record.isGroup && ` (${amountChildren})`}\n </ItemValue>\n </ItemContent>\n );\n};\nitemRenderer.order = 100;\n\nexport const TreePluginList = createInstancePlugin('tree-data', {\n state: useExpandTreeState,\n\n recordIterator: (opts) => {\n const shouldWalkChildren = (record) => {\n const {\n state: { expandedAll },\n decorators,\n } = opts.instance.getInstance();\n\n const shouldWalk = decorators.shouldWalkChildren.some((decorator) => decorator(record, opts.instance));\n if (shouldWalk) return true;\n if (expandedAll === true) return true;\n return !record.parentNode.id || record.parentNode.expanded;\n };\n walkTreeStrategy({ ...opts, shouldWalkChildren });\n },\n\n getItemProps(props, instance, { record }) {\n const { nestingLevel } = record;\n const {\n actions: { _toggleExpand },\n props: { itemIcon, groupIcon, spaceForNestingLevel = 1.5 },\n } = instance.getInstance();\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const handleExpandRow = useCallback(() => _toggleExpand(record.data), [record.data]);\n const icon = record.isGroup ? groupIcon : itemIcon;\n\n const itemNestingLeftPadding = getItemNestingLeftPadding(nestingLevel || record.nestingLevel, {\n isChild: !record.isGroup,\n spaceForNestingLevel,\n });\n\n const expandAddon = record.isGroup && (\n <Button\n buttonType=\"text\"\n className=\"expandable-arrow\"\n data-testid=\"tree-item-expand-toggle\"\n key={`${record.id}-expand-addon`}\n icon={\n record.expanded ? (\n <ArrowheadDown data-testid=\"ic-arrow-head-down\" />\n ) : (\n <ArrowheadRight data-testid=\"ic-arrow-head-right\" />\n )\n }\n onClick={(e) => {\n // Avoid item selection on caret click (just expand/hide)\n e.stopPropagation();\n handleExpandRow(e);\n }}\n size=\"s\"\n tabIndex={-1}\n // eslint-disable-next-line max-lines\n />\n );\n\n const iconAddon =\n icon &&\n React.cloneElement(icon, {\n 'data-testid': record.isGroup ? 'tree-item-group-icon' : 'tree-item-icon',\n className: cx(icon.props.className, 'tree-item-icon'),\n });\n\n const spaceAddon = (\n <div\n data-testid=\"tree-item-nested-space\"\n style={{ width: itemNestingLeftPadding }}\n key={`${record.id}-space-addon`}\n />\n );\n\n return {\n ...props,\n 'data-id': record.id,\n 'data-parentid': getParentId(record),\n 'aria-expanded': !!record.expanded,\n leftAddons: [...(props.leftAddons || []), spaceAddon, expandAddon, iconAddon],\n };\n },\n\n record: (record, instance) => {\n const {\n state: { expanded, expandedAll },\n } = instance.getInstance();\n\n const isParentExpanded = !record.parentNode.id || record.parentNode.expanded;\n\n // eslint-disable-next-line no-param-reassign\n if (expandedAll === true) record.expanded = true;\n // eslint-disable-next-line no-param-reassign\n else if (expandedAll === false) record.expanded = false;\n // eslint-disable-next-line no-param-reassign\n else record.expanded = isParentExpanded && !!expanded[record.id];\n\n return isParentExpanded && record;\n },\n\n hotKeys(instance) {\n function handleExpand({ index }) {\n const {\n records,\n actions: { _toggleExpand },\n } = instance.getInstance();\n const record = records[index];\n if (record && record.data.children.length > 0) _toggleExpand(record.data);\n }\n\n function handleCollapse({ index }) {\n const {\n records,\n actions: { collapse },\n } = instance.getInstance();\n const record = records[index];\n if (record && record.expanded) {\n collapse(record);\n }\n }\n\n function handleExpandAll() {\n const {\n actions: { toggleExpandAll },\n } = instance.getInstance();\n const active = document.activeElement;\n\n toggleExpandAll().then(() => {\n const { records } = instance.getInstance();\n const itemToFocus = records.find(\n // eslint-disable-next-line eqeqeq\n (record) => record.id == active.dataset.id,\n );\n if (itemToFocus) {\n // eslint-disable-next-line no-unused-expressions\n // eslint-disable-next-line mdx/no-unused-expressions\n findItemOnDocument(itemToFocus.id)\n ? findItemOnDocument(itemToFocus.id).focus()\n : findItemOnDocument(records[0].id).focus();\n } else {\n getListFromDocument().scrollTo(0, 0);\n setTimeout(() => {\n findItemOnDocument(records[0].id).focus();\n }, 200);\n }\n });\n }\n\n return [\n {\n key: 'right',\n handler: handleExpand,\n },\n {\n key: 'shift+=',\n handler: handleExpand,\n },\n {\n key: '-',\n handler: handleCollapse,\n },\n {\n key: 'enter',\n handler: ({ index }) => {\n const {\n records,\n actions: { select },\n } = instance.getInstance();\n const record = records[index];\n select(record);\n },\n },\n {\n key: 'left',\n handler: handleCollapse,\n },\n {\n key: '/',\n handler: handleCollapse,\n },\n {\n key: 'shift+8',\n allowDocumentHandler: true,\n handler: handleExpandAll,\n },\n ];\n },\n itemRenderer,\n});\n"],"names":["ItemContent","aggregatedClasses","treeItemBlockName","ItemValue","noop","getItemNestingLeftPadding","level","opts","spaceForNestingLevel","isChild","groupLeftPadding","itemRenderer","value","itemProps","instance","record","getInstance","props","showChildrenAmount","labelRenderer","onItemClick","handleItemClick","useCallback","e","data","amountChildren","Number","getItemChildrenLength","renderedLabel","isFunction","React","isGroup","order","TreePluginList","createInstancePlugin","state","useExpandTreeState","recordIterator","shouldWalkChildren","expandedAll","decorators","shouldWalk","some","decorator","parentNode","id","expanded","walkTreeStrategy","getItemProps","nestingLevel","_toggleExpand","actions","itemIcon","groupIcon","handleExpandRow","icon","itemNestingLeftPadding","expandAddon","Button","ArrowheadDown","ArrowheadRight","stopPropagation","iconAddon","cloneElement","className","cx","spaceAddon","width","getParentId","leftAddons","isParentExpanded","hotKeys","handleExpand","index","records","children","length","handleCollapse","collapse","handleExpandAll","toggleExpandAll","active","document","activeElement","then","itemToFocus","find","dataset","findItemOnDocument","focus","getListFromDocument","scrollTo","setTimeout","key","handler","select","allowDocumentHandler"],"mappings":"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"}
1
+ {"version":3,"file":"TreeDataPlugin.js","sources":["../../../../../src/deprecated/plugins/tree/TreeDataPlugin.tsx"],"sourcesContent":["/* eslint max-lines: [\"error\", 300] */\nimport React, { useCallback } from 'react';\nimport { cx, isFunction } from '@elliemae/ds-utilities';\nimport Button from '@elliemae/ds-button';\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { walkTreeStrategy } from './walkTreeStrategy';\nimport { getItemChildrenLength, getParentId, findItemOnDocument, getListFromDocument } from './utils';\nimport { treeItemBlockName } from '../../renderers';\nimport { useExpandTreeState } from './useExpandTreeState';\n\nconst ItemContent = aggregatedClasses('div')(`${treeItemBlockName}-content`);\nconst ItemValue = aggregatedClasses('span')(treeItemBlockName, 'value');\n\nconst noop = () => null;\n\nconst getItemNestingLeftPadding = (level, opts) => {\n const { spaceForNestingLevel, isChild } = {\n spaceForNestingLevel: 1.5,\n ...opts,\n };\n const groupLeftPadding = spaceForNestingLevel * (level - 1);\n return isChild ? `${groupLeftPadding + spaceForNestingLevel - 0.1}em` : `${groupLeftPadding}em`;\n};\nconst itemRenderer = (value, itemProps, instance) => {\n const { record } = itemProps;\n const {\n props: { showChildrenAmount = false, labelRenderer, onItemClick = noop },\n } = instance.getInstance();\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const handleItemClick = useCallback(\n (e) => {\n onItemClick(record.data, e);\n },\n [record.data, onItemClick],\n );\n\n const amountChildren = Number(getItemChildrenLength(record));\n\n const renderedLabel = (isFunction(labelRenderer) && labelRenderer(value, itemProps)) || value;\n\n return (\n <ItemContent data-testid={`${treeItemBlockName}-content`} onClick={handleItemClick}>\n <ItemValue>\n {renderedLabel}\n {showChildrenAmount && record.isGroup && ` (${amountChildren})`}\n </ItemValue>\n </ItemContent>\n );\n};\nitemRenderer.order = 100;\n\nexport const TreePluginList = createInstancePlugin('tree-data', {\n state: useExpandTreeState,\n\n recordIterator: (opts) => {\n const shouldWalkChildren = (record) => {\n const {\n state: { expandedAll },\n decorators,\n } = opts.instance.getInstance();\n\n const shouldWalk = decorators.shouldWalkChildren.some((decorator) => decorator(record, opts.instance));\n if (shouldWalk) return true;\n if (expandedAll === true) return true;\n return !record.parentNode.id || record.parentNode.expanded;\n };\n walkTreeStrategy({ ...opts, shouldWalkChildren });\n },\n\n getItemProps(props, instance, { record }) {\n const { nestingLevel } = record;\n const {\n actions: { _toggleExpand },\n props: { itemIcon, groupIcon, spaceForNestingLevel = 1.5 },\n } = instance.getInstance();\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const handleExpandRow = useCallback(() => _toggleExpand(record.data), [record.data]);\n const icon = record.isGroup ? groupIcon : itemIcon;\n\n const itemNestingLeftPadding = getItemNestingLeftPadding(nestingLevel || record.nestingLevel, {\n isChild: !record.isGroup,\n spaceForNestingLevel,\n });\n\n const expandAddon = record.isGroup && (\n <Button\n buttonType=\"text\"\n className=\"expandable-arrow\"\n data-testid=\"tree-item-expand-toggle\"\n key={`${record.id}-expand-addon`}\n icon={\n record.expanded ? (\n <ArrowheadDown data-testid=\"ic-arrow-head-down\" />\n ) : (\n <ArrowheadRight data-testid=\"ic-arrow-head-right\" />\n )\n }\n onClick={(e) => {\n // Avoid item selection on caret click (just expand/hide)\n e.stopPropagation();\n handleExpandRow(e);\n }}\n size=\"s\"\n tabIndex={-1}\n // eslint-disable-next-line max-lines\n />\n );\n\n const iconAddon =\n icon &&\n React.cloneElement(icon, {\n 'data-testid': record.isGroup ? 'tree-item-group-icon' : 'tree-item-icon',\n className: cx(icon.props.className, 'tree-item-icon'),\n });\n\n const spaceAddon = (\n <div\n data-testid=\"tree-item-nested-space\"\n style={{ width: itemNestingLeftPadding }}\n key={`${record.id}-space-addon`}\n />\n );\n\n return {\n ...props,\n 'data-id': record.id,\n 'data-parentid': getParentId(record),\n 'aria-expanded': !!record.expanded,\n leftAddons: [...(props.leftAddons || []), spaceAddon, expandAddon, iconAddon],\n };\n },\n\n record: (record, instance) => {\n const {\n state: { expanded, expandedAll },\n } = instance.getInstance();\n\n const isParentExpanded = !record.parentNode.id || record.parentNode.expanded;\n\n // eslint-disable-next-line no-param-reassign\n if (expandedAll === true) record.expanded = true;\n // eslint-disable-next-line no-param-reassign\n else if (expandedAll === false) record.expanded = false;\n // eslint-disable-next-line no-param-reassign\n else record.expanded = isParentExpanded && !!expanded[record.id];\n\n return isParentExpanded && record;\n },\n\n hotKeys(instance) {\n function handleExpand({ index }) {\n const {\n records,\n actions: { _toggleExpand },\n } = instance.getInstance();\n const record = records[index];\n if (record && record.data.children.length > 0) _toggleExpand(record.data);\n }\n\n function handleCollapse({ index }) {\n const {\n records,\n actions: { collapse },\n } = instance.getInstance();\n const record = records[index];\n if (record && record.expanded) {\n collapse(record);\n }\n }\n\n function handleExpandAll() {\n const {\n actions: { toggleExpandAll },\n } = instance.getInstance();\n const active = document.activeElement;\n\n toggleExpandAll().then(() => {\n const { records } = instance.getInstance();\n const itemToFocus = records.find(\n // eslint-disable-next-line eqeqeq\n (record) => record.id == active.dataset.id,\n );\n if (itemToFocus) {\n // eslint-disable-next-line no-unused-expressions\n // eslint-disable-next-line mdx/no-unused-expressions\n findItemOnDocument(itemToFocus.id)\n ? findItemOnDocument(itemToFocus.id).focus()\n : findItemOnDocument(records[0].id).focus();\n } else {\n getListFromDocument().scrollTo(0, 0);\n setTimeout(() => {\n findItemOnDocument(records[0].id).focus();\n }, 200);\n }\n });\n }\n\n return [\n {\n key: 'right',\n handler: handleExpand,\n },\n {\n key: 'shift+=',\n handler: handleExpand,\n },\n {\n key: '-',\n handler: handleCollapse,\n },\n {\n key: 'enter',\n handler: ({ index }) => {\n const {\n records,\n actions: { select },\n } = instance.getInstance();\n const record = records[index];\n select(record);\n },\n },\n {\n key: 'left',\n handler: handleCollapse,\n },\n {\n key: '/',\n handler: handleCollapse,\n },\n {\n key: 'shift+8',\n allowDocumentHandler: true,\n handler: handleExpandAll,\n },\n ];\n },\n itemRenderer,\n});\n"],"names":["ItemContent","aggregatedClasses","treeItemBlockName","ItemValue","noop","getItemNestingLeftPadding","level","opts","spaceForNestingLevel","isChild","groupLeftPadding","itemRenderer","value","itemProps","instance","record","getInstance","props","showChildrenAmount","labelRenderer","onItemClick","handleItemClick","useCallback","e","data","amountChildren","Number","getItemChildrenLength","renderedLabel","isFunction","React","isGroup","order","TreePluginList","createInstancePlugin","state","useExpandTreeState","recordIterator","shouldWalkChildren","expandedAll","decorators","shouldWalk","some","decorator","parentNode","id","expanded","walkTreeStrategy","getItemProps","nestingLevel","_toggleExpand","actions","itemIcon","groupIcon","handleExpandRow","icon","itemNestingLeftPadding","expandAddon","Button","ArrowheadDown","ArrowheadRight","stopPropagation","iconAddon","cloneElement","className","cx","spaceAddon","width","getParentId","leftAddons","isParentExpanded","hotKeys","handleExpand","index","records","children","length","handleCollapse","collapse","handleExpandAll","toggleExpandAll","active","document","activeElement","then","itemToFocus","find","dataset","findItemOnDocument","focus","getListFromDocument","scrollTo","setTimeout","key","handler","select","allowDocumentHandler"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useExpandTreeState.js","sources":["../../../../../src/deprecated/plugins/tree/useExpandTreeState.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { isFunction, useExpandState } from '@elliemae/ds-utilities';\nimport { walkTreeStrategy } from './walkTreeStrategy';\n\nconst toggleExpandAllAsync = (expand, data) =>\n new Promise((resolve) => {\n const nextState = {};\n if (expand) {\n walkTreeStrategy({\n data,\n cb: (node) => {\n if (node.isGroup) nextState[node.id] = true;\n },\n });\n }\n resolve(nextState);\n });\n\nexport const useExpandTreeState = (instance) => {\n const {\n originalData,\n props: {\n searchQuery,\n expandedRows: expandedItemsProp = {},\n itemKey = 'id',\n onExpand,\n onExpandChange,\n onExpandAll,\n onToggleExpand,\n onCollapse,\n },\n } = instance;\n const expandedState = useExpandState({\n items: originalData,\n itemKey,\n expanded: expandedItemsProp,\n onExpand,\n onExpandChange,\n onExpandAll,\n onToggleExpand,\n onCollapse,\n });\n const totalExpandableRecords = useRef(0);\n const [expandedAll, setExpandAll] = useState(false);\n\n useEffect(() => {\n totalExpandableRecords.current = 0;\n walkTreeStrategy({\n data: originalData,\n cb: (node) => {\n if (node.isGroup) totalExpandableRecords.current += 1;\n },\n });\n }, [originalData]);\n\n useEffect(() => {\n const currLength = Object.keys(expandedState.state.expanded || {}).length;\n let isExpandedAll;\n\n if (currLength === 0) isExpandedAll = false;\n else if (totalExpandableRecords.current !== currLength)\n isExpandedAll = 'mixed';\n else if (currLength === totalExpandableRecords.current)\n isExpandedAll = true;\n\n setExpandAll(isExpandedAll);\n }, [expandedState.state.expanded, originalData]);\n\n const toggleExpand = (item, opts) => {\n const { expandAllChildren } = opts || {};\n expandedState.setExpanded((prevState) => {\n const nextExpandState = { ...prevState };\n const nextState = !prevState[item[itemKey]];\n\n if (nextState) nextExpandState[item[itemKey]] = true;\n else delete nextExpandState[item[itemKey]];\n\n if (expandAllChildren) {\n walkTreeStrategy({\n data: item.children,\n cb: (node) => {\n if (node.isGroup) {\n if (nextState) nextExpandState[node.id] = true;\n else delete nextExpandState[node.id];\n }\n },\n });\n }\n if (onExpandChange) {\n onExpandChange(nextExpandState, item);\n }\n return nextExpandState;\n });\n };\n\n const handleToggleExpand = (item, opts) => {\n if (isFunction(onToggleExpand)) {\n onToggleExpand(item);\n } else {\n toggleExpand(item, opts);\n }\n };\n\n const toggleExpandAll = (expanded) => {\n let nextExpanded = true;\n // if no param is passed, keep toggle behavior\n if (typeof expandedAll === 'boolean') nextExpanded = !expandedAll;\n if (typeof expanded !== 'undefined') nextExpanded = expanded;\n setExpandAll(nextExpanded);\n\n return toggleExpandAllAsync(nextExpanded, originalData).then((nextState) =>\n expandedState.setExpanded(nextState),\n );\n };\n\n useEffect(() => {\n if (searchQuery && (!expandedAll || expandedAll === 'mixed'))\n toggleExpandAll(true);\n }, [searchQuery]);\n\n // eslint-disable-next-line max-lines\n return {\n state: { ...expandedState.state, expandedAll },\n actions: {\n ...expandedState.actions,\n toggleExpandAll,\n toggleExpand,\n _toggleExpand: handleToggleExpand,\n },\n };\n};\n"],"names":["toggleExpandAllAsync","expand","data","Promise","resolve","nextState","walkTreeStrategy","cb","node","isGroup","id","useExpandTreeState","instance","originalData","props","searchQuery","expandedRows","expandedItemsProp","itemKey","onExpand","onExpandChange","onExpandAll","onToggleExpand","onCollapse","expandedState","useExpandState","items","expanded","totalExpandableRecords","useRef","useState","expandedAll","setExpandAll","useEffect","current","currLength","Object","keys","state","length","isExpandedAll","toggleExpand","item","opts","expandAllChildren","setExpanded","prevState","nextExpandState","children","handleToggleExpand","isFunction","toggleExpandAll","nextExpanded","then","actions","_toggleExpand"],"mappings":"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"}
1
+ {"version":3,"file":"useExpandTreeState.js","sources":["../../../../../src/deprecated/plugins/tree/useExpandTreeState.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { isFunction, useExpandState } from '@elliemae/ds-utilities';\nimport { walkTreeStrategy } from './walkTreeStrategy';\n\nconst toggleExpandAllAsync = (expand, data) =>\n new Promise((resolve) => {\n const nextState = {};\n if (expand) {\n walkTreeStrategy({\n data,\n cb: (node) => {\n if (node.isGroup) nextState[node.id] = true;\n },\n });\n }\n resolve(nextState);\n });\n\nexport const useExpandTreeState = (instance) => {\n const {\n originalData,\n props: {\n searchQuery,\n expandedRows: expandedItemsProp = {},\n itemKey = 'id',\n onExpand,\n onExpandChange,\n onExpandAll,\n onToggleExpand,\n onCollapse,\n },\n } = instance;\n const expandedState = useExpandState({\n items: originalData,\n itemKey,\n expanded: expandedItemsProp,\n onExpand,\n onExpandChange,\n onExpandAll,\n onToggleExpand,\n onCollapse,\n });\n const totalExpandableRecords = useRef(0);\n const [expandedAll, setExpandAll] = useState(false);\n\n useEffect(() => {\n totalExpandableRecords.current = 0;\n walkTreeStrategy({\n data: originalData,\n cb: (node) => {\n if (node.isGroup) totalExpandableRecords.current += 1;\n },\n });\n }, [originalData]);\n\n useEffect(() => {\n const currLength = Object.keys(expandedState.state.expanded || {}).length;\n let isExpandedAll;\n\n if (currLength === 0) isExpandedAll = false;\n else if (totalExpandableRecords.current !== currLength)\n isExpandedAll = 'mixed';\n else if (currLength === totalExpandableRecords.current)\n isExpandedAll = true;\n\n setExpandAll(isExpandedAll);\n }, [expandedState.state.expanded, originalData]);\n\n const toggleExpand = (item, opts) => {\n const { expandAllChildren } = opts || {};\n expandedState.setExpanded((prevState) => {\n const nextExpandState = { ...prevState };\n const nextState = !prevState[item[itemKey]];\n\n if (nextState) nextExpandState[item[itemKey]] = true;\n else delete nextExpandState[item[itemKey]];\n\n if (expandAllChildren) {\n walkTreeStrategy({\n data: item.children,\n cb: (node) => {\n if (node.isGroup) {\n if (nextState) nextExpandState[node.id] = true;\n else delete nextExpandState[node.id];\n }\n },\n });\n }\n if (onExpandChange) {\n onExpandChange(nextExpandState, item);\n }\n return nextExpandState;\n });\n };\n\n const handleToggleExpand = (item, opts) => {\n if (isFunction(onToggleExpand)) {\n onToggleExpand(item);\n } else {\n toggleExpand(item, opts);\n }\n };\n\n const toggleExpandAll = (expanded) => {\n let nextExpanded = true;\n // if no param is passed, keep toggle behavior\n if (typeof expandedAll === 'boolean') nextExpanded = !expandedAll;\n if (typeof expanded !== 'undefined') nextExpanded = expanded;\n setExpandAll(nextExpanded);\n\n return toggleExpandAllAsync(nextExpanded, originalData).then((nextState) =>\n expandedState.setExpanded(nextState),\n );\n };\n\n useEffect(() => {\n if (searchQuery && (!expandedAll || expandedAll === 'mixed'))\n toggleExpandAll(true);\n }, [searchQuery]);\n\n // eslint-disable-next-line max-lines\n return {\n state: { ...expandedState.state, expandedAll },\n actions: {\n ...expandedState.actions,\n toggleExpandAll,\n toggleExpand,\n _toggleExpand: handleToggleExpand,\n },\n };\n};\n"],"names":["toggleExpandAllAsync","expand","data","Promise","resolve","nextState","walkTreeStrategy","cb","node","isGroup","id","useExpandTreeState","instance","originalData","props","searchQuery","expandedRows","expandedItemsProp","itemKey","onExpand","onExpandChange","onExpandAll","onToggleExpand","onCollapse","expandedState","useExpandState","items","expanded","totalExpandableRecords","useRef","useState","expandedAll","setExpandAll","useEffect","current","currLength","Object","keys","state","length","isExpandedAll","toggleExpand","item","opts","expandAllChildren","setExpanded","prevState","nextExpandState","children","handleToggleExpand","isFunction","toggleExpandAll","nextExpanded","then","actions","_toggleExpand"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/deprecated/plugins/tree/utils.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nexport const getParentId = (record) => get(record, ['parentNode', 'id']);\nexport const findItemOnDocument = (id) =>\n document.querySelector(`[data-id=\"${id}\"]`);\nexport const getListFromDocument = () =>\n document.querySelector(`[data-testid=\"tree-list\"]`);\nexport const getParentChildren = (record, childrenKey = 'children') =>\n get(record, ['parentNode', 'data', childrenKey]);\nexport const getItemLabel = (record, nameKey = 'name') =>\n get(record, ['data', nameKey]);\nexport const getItemChildren = (record, childrenKey = 'children') =>\n get(record, ['data', childrenKey]);\nexport const getItemChildrenLength = (record, childrenKey = 'children') => {\n const children = get(record, ['data', childrenKey]);\n return children && children.length;\n};\nexport const findItemById = (records, id) =>\n records.find((record) => String(record.id) === id);\n"],"names":["getParentId","record","get","findItemOnDocument","id","document","querySelector","getListFromDocument","getParentChildren","childrenKey","getItemLabel","nameKey","getItemChildren","getItemChildrenLength","children","length","findItemById","records","find","String"],"mappings":";;;;;;;;;;IAEaA,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD;AAAA,SAAYC,uBAAG,CAACD,MAAD,EAAS,CAAC,YAAD,EAAe,IAAf,CAAT,CAAf;AAAA;IACdE,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,EAAD;AAAA,SAChCC,QAAQ,CAACC,aAAT,sBAAoCF,EAApC,SADgC;AAAA;IAErBG,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SACjCF,QAAQ,CAACC,aAAT,+BADiC;AAAA;IAEtBE,iBAAiB,GAAG,SAApBA,iBAAoB,CAACP,MAAD;AAAA,MAASQ,WAAT,uEAAuB,UAAvB;AAAA,SAC/BP,uBAAG,CAACD,MAAD,EAAS,CAAC,YAAD,EAAe,MAAf,EAAuBQ,WAAvB,CAAT,CAD4B;AAAA;IAEpBC,YAAY,GAAG,SAAfA,YAAe,CAACT,MAAD;AAAA,MAASU,OAAT,uEAAmB,MAAnB;AAAA,SAC1BT,uBAAG,CAACD,MAAD,EAAS,CAAC,MAAD,EAASU,OAAT,CAAT,CADuB;AAAA;IAEfC,eAAe,GAAG,SAAlBA,eAAkB,CAACX,MAAD;AAAA,MAASQ,WAAT,uEAAuB,UAAvB;AAAA,SAC7BP,uBAAG,CAACD,MAAD,EAAS,CAAC,MAAD,EAASQ,WAAT,CAAT,CAD0B;AAAA;IAElBI,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACZ,MAAD,EAAsC;AAAA,MAA7BQ,WAA6B,uEAAf,UAAe;AACzE,MAAMK,QAAQ,GAAGZ,uBAAG,CAACD,MAAD,EAAS,CAAC,MAAD,EAASQ,WAAT,CAAT,CAApB;AACA,SAAOK,QAAQ,IAAIA,QAAQ,CAACC,MAA5B;AACD;IACYC,YAAY,GAAG,SAAfA,YAAe,CAACC,OAAD,EAAUb,EAAV;AAAA,SAC1Ba,OAAO,CAACC,IAAR,CAAa,UAACjB,MAAD;AAAA,WAAYkB,MAAM,CAAClB,MAAM,CAACG,EAAR,CAAN,KAAsBA,EAAlC;AAAA,GAAb,CAD0B;AAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/deprecated/plugins/tree/utils.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nexport const getParentId = (record) => get(record, ['parentNode', 'id']);\nexport const findItemOnDocument = (id) =>\n document.querySelector(`[data-id=\"${id}\"]`);\nexport const getListFromDocument = () =>\n document.querySelector(`[data-testid=\"tree-list\"]`);\nexport const getParentChildren = (record, childrenKey = 'children') =>\n get(record, ['parentNode', 'data', childrenKey]);\nexport const getItemLabel = (record, nameKey = 'name') =>\n get(record, ['data', nameKey]);\nexport const getItemChildren = (record, childrenKey = 'children') =>\n get(record, ['data', childrenKey]);\nexport const getItemChildrenLength = (record, childrenKey = 'children') => {\n const children = get(record, ['data', childrenKey]);\n return children && children.length;\n};\nexport const findItemById = (records, id) =>\n records.find((record) => String(record.id) === id);\n"],"names":["getParentId","record","get","findItemOnDocument","id","document","querySelector","getListFromDocument","getParentChildren","childrenKey","getItemLabel","nameKey","getItemChildren","getItemChildrenLength","children","length","findItemById","records","find","String"],"mappings":";;;;;;;;;;IAEaA,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD;EAAA,OAAYC,uBAAG,CAACD,MAAD,EAAS,CAAC,YAAD,EAAe,IAAf,CAAT,CAAf;AAAA;IACdE,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,EAAD;EAAA,OAChCC,QAAQ,CAACC,aAAT,sBAAoCF,EAApC,SADgC;AAAA;IAErBG,mBAAmB,GAAG,SAAtBA,mBAAsB;EAAA,OACjCF,QAAQ,CAACC,aAAT,+BADiC;AAAA;IAEtBE,iBAAiB,GAAG,SAApBA,iBAAoB,CAACP,MAAD;EAAA,IAASQ,WAAT,uEAAuB,UAAvB;EAAA,OAC/BP,uBAAG,CAACD,MAAD,EAAS,CAAC,YAAD,EAAe,MAAf,EAAuBQ,WAAvB,CAAT,CAD4B;AAAA;IAEpBC,YAAY,GAAG,SAAfA,YAAe,CAACT,MAAD;EAAA,IAASU,OAAT,uEAAmB,MAAnB;EAAA,OAC1BT,uBAAG,CAACD,MAAD,EAAS,CAAC,MAAD,EAASU,OAAT,CAAT,CADuB;AAAA;IAEfC,eAAe,GAAG,SAAlBA,eAAkB,CAACX,MAAD;EAAA,IAASQ,WAAT,uEAAuB,UAAvB;EAAA,OAC7BP,uBAAG,CAACD,MAAD,EAAS,CAAC,MAAD,EAASQ,WAAT,CAAT,CAD0B;AAAA;IAElBI,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACZ,MAAD,EAAsC;EAAA,IAA7BQ,WAA6B,uEAAf,UAAe;EACzE,IAAMK,QAAQ,GAAGZ,uBAAG,CAACD,MAAD,EAAS,CAAC,MAAD,EAASQ,WAAT,CAAT,CAApB;EACA,OAAOK,QAAQ,IAAIA,QAAQ,CAACC,MAA5B;AACD;IACYC,YAAY,GAAG,SAAfA,YAAe,CAACC,OAAD,EAAUb,EAAV;EAAA,OAC1Ba,OAAO,CAACC,IAAR,CAAa,UAACjB,MAAD;IAAA,OAAYkB,MAAM,CAAClB,MAAM,CAACG,EAAR,CAAN,KAAsBA,EAAlC;GAAb,CAD0B;AAAA;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"walkTreeStrategy.js","sources":["../../../../../src/deprecated/plugins/tree/walkTreeStrategy.tsx"],"sourcesContent":["function getPath(parentNode, index, childrenKey) {\n if (!parentNode) return [index];\n return [...parentNode.path, childrenKey, index];\n}\n\nexport function walkTreeStrategy({\n data,\n childrenKey = 'children',\n level = 0,\n getId = (item) => item.id,\n parentNode,\n shouldWalkChildren = () => true,\n cb,\n}) {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < data.length; i++) {\n const currLevel = level + 1;\n const item = data[i];\n\n if (!item)\n throw new Error('no item received, invalid tree walking strategy!');\n\n const children = item[childrenKey];\n const { isGroup } = item;\n\n const node = {\n index: i,\n id: getId(item),\n data: item,\n path: getPath(parentNode, i, childrenKey),\n isGroup: (children && !!children.length) || isGroup,\n nestingLevel: currLevel,\n parentNode: parentNode || {\n isGroup: true,\n data: { children: data },\n },\n };\n\n cb(node);\n\n if (shouldWalkChildren(node) && children && children.length) {\n walkTreeStrategy({\n data: children,\n level: currLevel,\n parentNode: node,\n shouldWalkChildren,\n cb,\n });\n }\n }\n}\n"],"names":["getPath","parentNode","index","childrenKey","path","walkTreeStrategy","data","level","getId","item","id","shouldWalkChildren","cb","i","length","currLevel","Error","children","isGroup","node","nestingLevel"],"mappings":";;;;;;;;;;AAAA,SAASA,OAAT,CAAiBC,UAAjB,EAA6BC,KAA7B,EAAoCC,WAApC,EAAiD;AAC/C,MAAI,CAACF,UAAL,EAAiB,OAAO,CAACC,KAAD,CAAP;AACjB,0DAAWD,UAAU,CAACG,IAAtB,IAA4BD,WAA5B,EAAyCD,KAAzC;AACD;;AAEM,SAASG,gBAAT,OAQJ;AAAA,MAPDC,IAOC,QAPDA,IAOC;AAAA,8BANDH,WAMC;AAAA,MANDA,WAMC,iCANa,UAMb;AAAA,wBALDI,KAKC;AAAA,MALDA,KAKC,2BALO,CAKP;AAAA,wBAJDC,KAIC;AAAA,MAJDA,KAIC,2BAJO,UAACC,IAAD;AAAA,WAAUA,IAAI,CAACC,EAAf;AAAA,GAIP;AAAA,MAHDT,UAGC,QAHDA,UAGC;AAAA,mCAFDU,kBAEC;AAAA,MAFDA,kBAEC,sCAFoB;AAAA,WAAM,IAAN;AAAA,GAEpB;AAAA,MADDC,EACC,QADDA,EACC;;AACD;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,IAAI,CAACQ,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AACpC,QAAME,SAAS,GAAGR,KAAK,GAAG,CAA1B;AACA,QAAME,IAAI,GAAGH,IAAI,CAACO,CAAD,CAAjB;AAEA,QAAI,CAACJ,IAAL,EACE,MAAM,IAAIO,KAAJ,CAAU,kDAAV,CAAN;AAEF,QAAMC,QAAQ,GAAGR,IAAI,CAACN,WAAD,CAArB;AACA,QAAQe,OAAR,GAAoBT,IAApB,CAAQS,OAAR;AAEA,QAAMC,IAAI,GAAG;AACXjB,MAAAA,KAAK,EAAEW,CADI;AAEXH,MAAAA,EAAE,EAAEF,KAAK,CAACC,IAAD,CAFE;AAGXH,MAAAA,IAAI,EAAEG,IAHK;AAIXL,MAAAA,IAAI,EAAEJ,OAAO,CAACC,UAAD,EAAaY,CAAb,EAAgBV,WAAhB,CAJF;AAKXe,MAAAA,OAAO,EAAGD,QAAQ,IAAI,CAAC,CAACA,QAAQ,CAACH,MAAxB,IAAmCI,OALjC;AAMXE,MAAAA,YAAY,EAAEL,SANH;AAOXd,MAAAA,UAAU,EAAEA,UAAU,IAAI;AACxBiB,QAAAA,OAAO,EAAE,IADe;AAExBZ,QAAAA,IAAI,EAAE;AAAEW,UAAAA,QAAQ,EAAEX;AAAZ;AAFkB;AAPf,KAAb;AAaAM,IAAAA,EAAE,CAACO,IAAD,CAAF;;AAEA,QAAIR,kBAAkB,CAACQ,IAAD,CAAlB,IAA4BF,QAA5B,IAAwCA,QAAQ,CAACH,MAArD,EAA6D;AAC3DT,MAAAA,gBAAgB,CAAC;AACfC,QAAAA,IAAI,EAAEW,QADS;AAEfV,QAAAA,KAAK,EAAEQ,SAFQ;AAGfd,QAAAA,UAAU,EAAEkB,IAHG;AAIfR,QAAAA,kBAAkB,EAAlBA,kBAJe;AAKfC,QAAAA,EAAE,EAAFA;AALe,OAAD,CAAhB;AAOD;AACF;AACF;;;;"}
1
+ {"version":3,"file":"walkTreeStrategy.js","sources":["../../../../../src/deprecated/plugins/tree/walkTreeStrategy.tsx"],"sourcesContent":["function getPath(parentNode, index, childrenKey) {\n if (!parentNode) return [index];\n return [...parentNode.path, childrenKey, index];\n}\n\nexport function walkTreeStrategy({\n data,\n childrenKey = 'children',\n level = 0,\n getId = (item) => item.id,\n parentNode,\n shouldWalkChildren = () => true,\n cb,\n}) {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < data.length; i++) {\n const currLevel = level + 1;\n const item = data[i];\n\n if (!item)\n throw new Error('no item received, invalid tree walking strategy!');\n\n const children = item[childrenKey];\n const { isGroup } = item;\n\n const node = {\n index: i,\n id: getId(item),\n data: item,\n path: getPath(parentNode, i, childrenKey),\n isGroup: (children && !!children.length) || isGroup,\n nestingLevel: currLevel,\n parentNode: parentNode || {\n isGroup: true,\n data: { children: data },\n },\n };\n\n cb(node);\n\n if (shouldWalkChildren(node) && children && children.length) {\n walkTreeStrategy({\n data: children,\n level: currLevel,\n parentNode: node,\n shouldWalkChildren,\n cb,\n });\n }\n }\n}\n"],"names":["getPath","parentNode","index","childrenKey","path","walkTreeStrategy","data","level","getId","item","id","shouldWalkChildren","cb","i","length","currLevel","Error","children","isGroup","node","nestingLevel"],"mappings":";;;;;;;;;;AAAA,SAASA,OAAT,CAAiBC,UAAjB,EAA6BC,KAA7B,EAAoCC,WAApC,EAAiD;EAC/C,IAAI,CAACF,UAAL,EAAiB,OAAO,CAACC,KAAD,CAAP;EACjB,wDAAWD,UAAU,CAACG,IAAtB,IAA4BD,WAA5B,EAAyCD,KAAzC;AACD;;AAEM,SAASG,gBAAT,OAQJ;EAAA,IAPDC,IAOC,QAPDA,IAOC;8BANDH,WAMC;MANDA,WAMC,iCANa,UAMb;wBALDI,KAKC;MALDA,KAKC,2BALO,CAKP;wBAJDC,KAIC;MAJDA,KAIC,2BAJO,UAACC,IAAD;IAAA,OAAUA,IAAI,CAACC,EAAf;GAIP;MAHDT,UAGC,QAHDA,UAGC;mCAFDU,kBAEC;MAFDA,kBAEC,sCAFoB;IAAA,OAAM,IAAN;GAEpB;MADDC,EACC,QADDA,EACC;;;EAED,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,IAAI,CAACQ,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;IACpC,IAAME,SAAS,GAAGR,KAAK,GAAG,CAA1B;IACA,IAAME,IAAI,GAAGH,IAAI,CAACO,CAAD,CAAjB;IAEA,IAAI,CAACJ,IAAL,EACE,MAAM,IAAIO,KAAJ,CAAU,kDAAV,CAAN;IAEF,IAAMC,QAAQ,GAAGR,IAAI,CAACN,WAAD,CAArB;IACA,IAAQe,OAAR,GAAoBT,IAApB,CAAQS,OAAR;IAEA,IAAMC,IAAI,GAAG;MACXjB,KAAK,EAAEW,CADI;MAEXH,EAAE,EAAEF,KAAK,CAACC,IAAD,CAFE;MAGXH,IAAI,EAAEG,IAHK;MAIXL,IAAI,EAAEJ,OAAO,CAACC,UAAD,EAAaY,CAAb,EAAgBV,WAAhB,CAJF;MAKXe,OAAO,EAAGD,QAAQ,IAAI,CAAC,CAACA,QAAQ,CAACH,MAAxB,IAAmCI,OALjC;MAMXE,YAAY,EAAEL,SANH;MAOXd,UAAU,EAAEA,UAAU,IAAI;QACxBiB,OAAO,EAAE,IADe;QAExBZ,IAAI,EAAE;UAAEW,QAAQ,EAAEX;;;KATtB;IAaAM,EAAE,CAACO,IAAD,CAAF;;IAEA,IAAIR,kBAAkB,CAACQ,IAAD,CAAlB,IAA4BF,QAA5B,IAAwCA,QAAQ,CAACH,MAArD,EAA6D;MAC3DT,gBAAgB,CAAC;QACfC,IAAI,EAAEW,QADS;QAEfV,KAAK,EAAEQ,SAFQ;QAGfd,UAAU,EAAEkB,IAHG;QAIfR,kBAAkB,EAAlBA,kBAJe;QAKfC,EAAE,EAAFA;OALc,CAAhB;;;AASL;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeVirtualizationPlugin.js","sources":["../../../../../src/deprecated/plugins/virtualization/TreeVirtualizationPlugin.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable react/prop-types, max-lines */\nimport React, { useMemo, useRef } from 'react';\nimport { DynamicSizeList } from '@john-osullivan/react-window-dynamic-fork';\nimport { getVirtualListComponent } from '@elliemae/ds-shared/virtualization';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { TreeListNoItems } from '../../renderers';\n\n// from react-window 1.8.5\nfunction shallowDiffers(prev, next) {\n // eslint-disable-next-line no-restricted-syntax\n for (const attribute in prev) {\n if (!(attribute in next)) {\n return true;\n }\n }\n // eslint-disable-next-line no-restricted-syntax\n for (const attribute in next) {\n if (prev[attribute] !== next[attribute]) {\n return true;\n }\n }\n return false;\n}\n\n// more performant alternative to areEqual from react-window 1.8.5\nfunction areEqualRecords(prevProps, nextProps) {\n const { style: prevStyle, index: pIdx, data: pData } = prevProps;\n const { style: nextStyle, index: nIdx, data: nData } = nextProps;\n\n return (\n !shallowDiffers(prevStyle, nextStyle) &&\n !shallowDiffers(pData?.records[pIdx], nData?.records[nIdx])\n );\n}\n\n// memoized list items strategy\n// https://react-window.now.sh/#/examples/list/memoized-list-items\nconst VirtualizedTreeItem = React.memo(\n React.forwardRef(({ index, style, data }, ref) => {\n const { instance, records, listRef } = data;\n const { itemRenderer, getItemProps, renderers } = instance.getInstance();\n const record = records[index];\n\n const ItemComponent = renderers.item;\n\n // needed to show the shadow below the row and because\n // of absolute positioning from react-window\n const mixedProps = getItemProps(\n {\n index,\n record,\n style,\n listRef,\n innerRef: ref,\n },\n { record },\n );\n\n record.style = style;\n\n return (\n <ItemComponent {...mixedProps} tabIndex={-1}>\n {itemRenderer(mixedProps)}\n </ItemComponent>\n );\n }),\n areEqualRecords,\n);\n\n// eslint-disable-next-line react/display-name\nconst VirtualizedTree = (renderers, instance) => ({\n records,\n itemRenderer,\n innerRef,\n ...rest\n}) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const {\n props: {\n autoHeight,\n fluid,\n width,\n height = 500,\n noItemsPlaceholder = 'No items found',\n initialOffset,\n },\n state: { listRef },\n renderers: currRenderers,\n setListRef,\n } = instance.getInstance();\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const ListComponent = useMemo(\n () =>\n getVirtualListComponent({\n component: DynamicSizeList,\n height,\n fluid,\n autoHeight,\n }),\n [height, autoHeight],\n );\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const itemData = useMemo(\n () => ({\n instance,\n listRef,\n renderers: currRenderers,\n records,\n }),\n [records, currRenderers, listRef],\n ); // todo: revise this\n\n if (records && !records.length) {\n return <TreeListNoItems>{noItemsPlaceholder}</TreeListNoItems>;\n }\n\n return (\n <ListComponent\n innerRef={setListRef}\n {...rest}\n ref={listRef}\n component={DynamicSizeList}\n height={height}\n initialScrollOffset={initialOffset}\n itemCount={records.length}\n itemData={itemData}\n outerElementType={renderers.list}\n outerRef={innerRef}\n width={width}\n >\n {VirtualizedTreeItem}\n </ListComponent>\n );\n};\n\nexport const TreeVirtualizationPlugin = createInstancePlugin(\n 'tree-virtualization',\n {\n state() {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const listRef = useRef();\n return {\n state: { listRef },\n actions: {\n scrollTo: (...args) => {\n if (listRef?.current?.scrollTo) {\n listRef.current.scrollTo(args);\n }\n },\n scrollToItem: (...args) => {\n if (listRef?.current?.scrollToItem) {\n listRef.current.scrollToItem(args);\n }\n },\n },\n };\n },\n renderers(renderers, instance) {\n return {\n item: renderers.item,\n // eslint-disable-next-line react-hooks/rules-of-hooks\n list: useMemo(() => VirtualizedTree(renderers, instance), []),\n };\n },\n },\n);\n"],"names":["shallowDiffers","prev","next","attribute","areEqualRecords","prevProps","nextProps","prevStyle","style","pIdx","index","pData","data","nextStyle","nIdx","nData","records","VirtualizedTreeItem","React","memo","forwardRef","ref","instance","listRef","getInstance","itemRenderer","getItemProps","renderers","record","ItemComponent","item","mixedProps","innerRef","VirtualizedTree","rest","props","autoHeight","fluid","width","height","noItemsPlaceholder","initialOffset","state","currRenderers","setListRef","ListComponent","useMemo","getVirtualListComponent","component","DynamicSizeList","itemData","length","TreeListNoItems","list","TreeVirtualizationPlugin","createInstancePlugin","useRef","actions","scrollTo","current","args","scrollToItem"],"mappings":"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"}
1
+ {"version":3,"file":"TreeVirtualizationPlugin.js","sources":["../../../../../src/deprecated/plugins/virtualization/TreeVirtualizationPlugin.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable react/prop-types, max-lines */\nimport React, { useMemo, useRef } from 'react';\nimport { DynamicSizeList } from '@john-osullivan/react-window-dynamic-fork';\nimport { getVirtualListComponent } from '@elliemae/ds-shared/virtualization';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { TreeListNoItems } from '../../renderers';\n\n// from react-window 1.8.5\nfunction shallowDiffers(prev, next) {\n // eslint-disable-next-line no-restricted-syntax\n for (const attribute in prev) {\n if (!(attribute in next)) {\n return true;\n }\n }\n // eslint-disable-next-line no-restricted-syntax\n for (const attribute in next) {\n if (prev[attribute] !== next[attribute]) {\n return true;\n }\n }\n return false;\n}\n\n// more performant alternative to areEqual from react-window 1.8.5\nfunction areEqualRecords(prevProps, nextProps) {\n const { style: prevStyle, index: pIdx, data: pData } = prevProps;\n const { style: nextStyle, index: nIdx, data: nData } = nextProps;\n\n return (\n !shallowDiffers(prevStyle, nextStyle) &&\n !shallowDiffers(pData?.records[pIdx], nData?.records[nIdx])\n );\n}\n\n// memoized list items strategy\n// https://react-window.now.sh/#/examples/list/memoized-list-items\nconst VirtualizedTreeItem = React.memo(\n React.forwardRef(({ index, style, data }, ref) => {\n const { instance, records, listRef } = data;\n const { itemRenderer, getItemProps, renderers } = instance.getInstance();\n const record = records[index];\n\n const ItemComponent = renderers.item;\n\n // needed to show the shadow below the row and because\n // of absolute positioning from react-window\n const mixedProps = getItemProps(\n {\n index,\n record,\n style,\n listRef,\n innerRef: ref,\n },\n { record },\n );\n\n record.style = style;\n\n return (\n <ItemComponent {...mixedProps} tabIndex={-1}>\n {itemRenderer(mixedProps)}\n </ItemComponent>\n );\n }),\n areEqualRecords,\n);\n\n// eslint-disable-next-line react/display-name\nconst VirtualizedTree = (renderers, instance) => ({\n records,\n itemRenderer,\n innerRef,\n ...rest\n}) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const {\n props: {\n autoHeight,\n fluid,\n width,\n height = 500,\n noItemsPlaceholder = 'No items found',\n initialOffset,\n },\n state: { listRef },\n renderers: currRenderers,\n setListRef,\n } = instance.getInstance();\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const ListComponent = useMemo(\n () =>\n getVirtualListComponent({\n component: DynamicSizeList,\n height,\n fluid,\n autoHeight,\n }),\n [height, autoHeight],\n );\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const itemData = useMemo(\n () => ({\n instance,\n listRef,\n renderers: currRenderers,\n records,\n }),\n [records, currRenderers, listRef],\n ); // todo: revise this\n\n if (records && !records.length) {\n return <TreeListNoItems>{noItemsPlaceholder}</TreeListNoItems>;\n }\n\n return (\n <ListComponent\n innerRef={setListRef}\n {...rest}\n ref={listRef}\n component={DynamicSizeList}\n height={height}\n initialScrollOffset={initialOffset}\n itemCount={records.length}\n itemData={itemData}\n outerElementType={renderers.list}\n outerRef={innerRef}\n width={width}\n >\n {VirtualizedTreeItem}\n </ListComponent>\n );\n};\n\nexport const TreeVirtualizationPlugin = createInstancePlugin(\n 'tree-virtualization',\n {\n state() {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const listRef = useRef();\n return {\n state: { listRef },\n actions: {\n scrollTo: (...args) => {\n if (listRef?.current?.scrollTo) {\n listRef.current.scrollTo(args);\n }\n },\n scrollToItem: (...args) => {\n if (listRef?.current?.scrollToItem) {\n listRef.current.scrollToItem(args);\n }\n },\n },\n };\n },\n renderers(renderers, instance) {\n return {\n item: renderers.item,\n // eslint-disable-next-line react-hooks/rules-of-hooks\n list: useMemo(() => VirtualizedTree(renderers, instance), []),\n };\n },\n },\n);\n"],"names":["shallowDiffers","prev","next","attribute","areEqualRecords","prevProps","nextProps","prevStyle","style","pIdx","index","pData","data","nextStyle","nIdx","nData","records","VirtualizedTreeItem","React","memo","forwardRef","ref","instance","listRef","getInstance","itemRenderer","getItemProps","renderers","record","ItemComponent","item","mixedProps","innerRef","VirtualizedTree","rest","props","autoHeight","fluid","width","height","noItemsPlaceholder","initialOffset","state","currRenderers","setListRef","ListComponent","useMemo","getVirtualListComponent","component","DynamicSizeList","itemData","length","TreeListNoItems","list","TreeVirtualizationPlugin","createInstancePlugin","useRef","actions","scrollTo","current","args","scrollToItem"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.js","sources":["../../../src/deprecated/renderers.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport React from 'react';\n\nexport const treeListBlockName = 'tree-list';\nexport const treeItemBlockName = 'tree-item';\nexport const treeListNoItemsBn = `${treeListBlockName}-no-items`;\n\nexport const TreeListItem = aggregatedClasses('li', {\n 'data-testid': treeItemBlockName,\n role: 'treeitem',\n})(treeItemBlockName);\nexport const TreeListItemAddonsWrapper = aggregatedClasses('div')(\n treeItemBlockName,\n 'addons',\n);\nexport const TreeList = aggregatedClasses('ul', {\n 'data-testid': treeListBlockName,\n role: 'tree',\n})(treeListBlockName, null, ({ rowSize }) => ({\n [`rowsize-${rowSize}`]: rowSize,\n}));\nexport const TreeListNoItems = aggregatedClasses('div', {\n 'data-testid': treeListNoItemsBn,\n})(treeListNoItemsBn);\n\nfunction TreeItem({ leftAddons, rightAddons, children, ...rest }) {\n return (\n <TreeListItem {...rest}>\n {leftAddons && (\n <TreeListItemAddonsWrapper>{leftAddons}</TreeListItemAddonsWrapper>\n )}\n {children}\n {rightAddons && (\n <TreeListItemAddonsWrapper>{rightAddons}</TreeListItemAddonsWrapper>\n )}\n </TreeListItem>\n );\n}\n\nexport const TreeRenderers = {\n list: TreeList,\n item: TreeItem,\n};\n"],"names":["treeListBlockName","treeItemBlockName","treeListNoItemsBn","TreeListItem","aggregatedClasses","role","TreeListItemAddonsWrapper","TreeList","rowSize","TreeListNoItems","TreeItem","leftAddons","rightAddons","children","rest","React","TreeRenderers","list","item"],"mappings":";;;;;;;;;;;;;;;;IAIaA,iBAAiB,GAAG;IACpBC,iBAAiB,GAAG;IACpBC,iBAAiB,aAAMF,iBAAN;IAEjBG,YAAY,GAAGC,8BAAiB,CAAC,IAAD,EAAO;AAClD,iBAAeH,iBADmC;AAElDI,EAAAA,IAAI,EAAE;AAF4C,CAAP,CAAjB,CAGzBJ,iBAHyB;IAIfK,yBAAyB,GAAGF,8BAAiB,CAAC,KAAD,CAAjB,CACvCH,iBADuC,EAEvC,QAFuC;IAI5BM,QAAQ,GAAGH,8BAAiB,CAAC,IAAD,EAAO;AAC9C,iBAAeJ,iBAD+B;AAE9CK,EAAAA,IAAI,EAAE;AAFwC,CAAP,CAAjB,CAGrBL,iBAHqB,EAGF,IAHE,EAGI;AAAA,MAAGQ,OAAH,QAAGA,OAAH;AAAA,mEACdA,OADc,GACFA,OADE;AAAA,CAHJ;IAMXC,eAAe,GAAGL,8BAAiB,CAAC,KAAD,EAAQ;AACtD,iBAAeF;AADuC,CAAR,CAAjB,CAE5BA,iBAF4B;;AAI/B,SAASQ,QAAT,QAAkE;AAAA,MAA9CC,UAA8C,SAA9CA,UAA8C;AAAA,MAAlCC,WAAkC,SAAlCA,WAAkC;AAAA,MAArBC,QAAqB,SAArBA,QAAqB;AAAA,MAARC,IAAQ;;AAChE,sBACEC,wCAAC,YAAD,EAAkBD,IAAlB,EACGH,UAAU,iBACTI,wCAAC,yBAAD,QAA4BJ,UAA5B,CAFJ,EAIGE,QAJH,EAKGD,WAAW,iBACVG,wCAAC,yBAAD,QAA4BH,WAA5B,CANJ,CADF;AAWD;;IAEYI,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAEV,QADqB;AAE3BW,EAAAA,IAAI,EAAER;AAFqB;;;;;;;;;;;"}
1
+ {"version":3,"file":"renderers.js","sources":["../../../src/deprecated/renderers.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport React from 'react';\n\nexport const treeListBlockName = 'tree-list';\nexport const treeItemBlockName = 'tree-item';\nexport const treeListNoItemsBn = `${treeListBlockName}-no-items`;\n\nexport const TreeListItem = aggregatedClasses('li', {\n 'data-testid': treeItemBlockName,\n role: 'treeitem',\n})(treeItemBlockName);\nexport const TreeListItemAddonsWrapper = aggregatedClasses('div')(\n treeItemBlockName,\n 'addons',\n);\nexport const TreeList = aggregatedClasses('ul', {\n 'data-testid': treeListBlockName,\n role: 'tree',\n})(treeListBlockName, null, ({ rowSize }) => ({\n [`rowsize-${rowSize}`]: rowSize,\n}));\nexport const TreeListNoItems = aggregatedClasses('div', {\n 'data-testid': treeListNoItemsBn,\n})(treeListNoItemsBn);\n\nfunction TreeItem({ leftAddons, rightAddons, children, ...rest }) {\n return (\n <TreeListItem {...rest}>\n {leftAddons && (\n <TreeListItemAddonsWrapper>{leftAddons}</TreeListItemAddonsWrapper>\n )}\n {children}\n {rightAddons && (\n <TreeListItemAddonsWrapper>{rightAddons}</TreeListItemAddonsWrapper>\n )}\n </TreeListItem>\n );\n}\n\nexport const TreeRenderers = {\n list: TreeList,\n item: TreeItem,\n};\n"],"names":["treeListBlockName","treeItemBlockName","treeListNoItemsBn","TreeListItem","aggregatedClasses","role","TreeListItemAddonsWrapper","TreeList","rowSize","TreeListNoItems","TreeItem","leftAddons","rightAddons","children","rest","React","TreeRenderers","list","item"],"mappings":";;;;;;;;;;;;;;;;IAIaA,iBAAiB,GAAG;IACpBC,iBAAiB,GAAG;IACpBC,iBAAiB,aAAMF,iBAAN;IAEjBG,YAAY,GAAGC,8BAAiB,CAAC,IAAD,EAAO;EAClD,eAAeH,iBADmC;EAElDI,IAAI,EAAE;AAF4C,CAAP,CAAjB,CAGzBJ,iBAHyB;IAIfK,yBAAyB,GAAGF,8BAAiB,CAAC,KAAD,CAAjB,CACvCH,iBADuC,EAEvC,QAFuC;IAI5BM,QAAQ,GAAGH,8BAAiB,CAAC,IAAD,EAAO;EAC9C,eAAeJ,iBAD+B;EAE9CK,IAAI,EAAE;AAFwC,CAAP,CAAjB,CAGrBL,iBAHqB,EAGF,IAHE,EAGI;EAAA,IAAGQ,OAAH,QAAGA,OAAH;EAAA,iEACdA,OADc,GACFA,OADE;AAAA,CAHJ;IAMXC,eAAe,GAAGL,8BAAiB,CAAC,KAAD,EAAQ;EACtD,eAAeF;AADuC,CAAR,CAAjB,CAE5BA,iBAF4B;;AAI/B,SAASQ,QAAT,QAAkE;EAAA,IAA9CC,UAA8C,SAA9CA,UAA8C;MAAlCC,WAAkC,SAAlCA,WAAkC;MAArBC,QAAqB,SAArBA,QAAqB;MAARC,IAAQ;;EAChE,oBACEC,wCAAC,YAAD,EAAkBD,IAAlB,EACGH,UAAU,iBACTI,wCAAC,yBAAD,QAA4BJ,UAA5B,CAFJ,EAIGE,QAJH,EAKGD,WAAW,iBACVG,wCAAC,yBAAD,QAA4BH,WAA5B,CANJ,CADF;AAWD;;IAEYI,aAAa,GAAG;EAC3BC,IAAI,EAAEV,QADqB;EAE3BW,IAAI,EAAER;AAFqB;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index-69815fd3.js","sources":["../../src/deprecated/index.tsx"],"sourcesContent":["/* eslint-disable global-require */\n// Polyfill ResizeObserver for demo\nif (typeof ResizeObserver === 'undefined') {\n global.ResizeObserver = require('resize-observer-polyfill').default;\n}\n\nexport * from './TreeView';\nexport * from './plugins';\n"],"names":["ResizeObserver","global","require","default"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA,IAAI,OAAOA,cAAP,KAA0B,WAA9B,EAA2C;AACzCC,EAAAA,MAAM,CAACD,cAAP,GAAwBE,OAAO,CAAC,0BAAD,CAAP,CAAoCC,OAA5D;AACD;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index-69815fd3.js","sources":["../../src/deprecated/index.tsx"],"sourcesContent":["/* eslint-disable global-require */\n// Polyfill ResizeObserver for demo\nif (typeof ResizeObserver === 'undefined') {\n global.ResizeObserver = require('resize-observer-polyfill').default;\n}\n\nexport * from './TreeView';\nexport * from './plugins';\n"],"names":["ResizeObserver","global","require","default"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA,IAAI,OAAOA,cAAP,KAA0B,WAA9B,EAA2C;EACzCC,MAAM,CAACD,cAAP,GAAwBE,OAAO,CAAC,0BAAD,CAAP,CAAoCC,OAA5D;AACD;;;;;;;;;;;;;;;;"}
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["/* eslint-disable global-require */\n// Polyfill ResizeObserver for demo\nif (typeof ResizeObserver === 'undefined') {\n global.ResizeObserver = require('resize-observer-polyfill').default;\n}\n\nexport * from './TreeView';\nexport * from './plugins';\n\nexport { TreeViewSearchBar } from './related-components/TreeViewSearchBar';\nexport * as DEPRECATED from './deprecated';\n"],"names":["ResizeObserver","global","require","default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA,IAAI,OAAOA,cAAP,KAA0B,WAA9B,EAA2C;AACzCC,EAAAA,MAAM,CAACD,cAAP,GAAwBE,OAAO,CAAC,0BAAD,CAAP,CAAoCC,OAA5D;AACD;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["/* eslint-disable global-require */\n// Polyfill ResizeObserver for demo\nif (typeof ResizeObserver === 'undefined') {\n global.ResizeObserver = require('resize-observer-polyfill').default;\n}\n\nexport * from './TreeView';\nexport * from './plugins';\n\nexport { TreeViewSearchBar } from './related-components/TreeViewSearchBar';\nexport * as DEPRECATED from './deprecated';\n"],"names":["ResizeObserver","global","require","default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA,IAAI,OAAOA,cAAP,KAA0B,WAA9B,EAA2C;EACzCC,MAAM,CAACD,cAAP,GAAwBE,OAAO,CAAC,0BAAD,CAAP,CAAoCC,OAA5D;AACD;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxSelectable.js","sources":["../../../src/parts/CheckboxSelectable.tsx"],"sourcesContent":["import React, { useContext, useCallback, useMemo } from 'react';\nimport { DSCheckbox } from '@elliemae/ds-form';\nimport styled from 'styled-components';\nimport { TreeItemCheckboxPropTypes } from '../prop-types';\nimport TreeViewContext from '../TreeViewContext';\nimport { toggleCheckboxItem } from '../utils/selectable-helper';\nimport { filterObject } from '../utils/object-helpers';\n\nconst StyledCheckboxWrapper = styled.span`\n padding-top: 3px;\n`;\nfunction CheckboxSelectable(props) {\n const { item, itemIndex } = props;\n const { id } = item;\n\n const ctx = useContext(TreeViewContext);\n const {\n props: {\n disableGroups, // radio allows disabling this, checkbox doesnt? check specs\n disableLeafs, // radio allows disabling this, checkbox doesnt? check specs\n onSelectionChange,\n },\n virtualListHelpers: { scrollToIndex },\n triggerTreeRerender,\n selectedCheckboxes,\n setSelectedCheckboxes,\n } = ctx;\n\n const onCheckboxChange = useCallback(() => {\n const newSelections = toggleCheckboxItem(item);\n const newSelectionHasmap = filterObject({ ...selectedCheckboxes, ...newSelections }, (value) => value !== false);\n setSelectedCheckboxes(newSelectionHasmap);\n triggerTreeRerender();\n\n const indexAndScrollTo = {\n scrollToItem: () => {\n scrollToIndex(item.virtualIndex);\n },\n itemIndex,\n };\n if (onSelectionChange) onSelectionChange(newSelectionHasmap, item, indexAndScrollTo);\n }, [\n item,\n triggerTreeRerender,\n onSelectionChange,\n itemIndex,\n scrollToIndex,\n selectedCheckboxes,\n setSelectedCheckboxes,\n ]);\n const isChecked = useMemo(() => {\n if (selectedCheckboxes[id] === 'mixed') {\n return 'mixed';\n }\n if (selectedCheckboxes[id] === true) {\n return true;\n }\n return false;\n }, [selectedCheckboxes, id]);\n\n return (\n <StyledCheckboxWrapper>\n <DSCheckbox\n checked={isChecked}\n disabled={item.isGroup ? disableGroups : disableLeafs}\n className=\"em-ds-tree-item-checkbox\"\n data-testid=\"tree-item-checkbox\"\n onChange={onCheckboxChange}\n tabIndex=\"0\"\n />\n </StyledCheckboxWrapper>\n );\n}\n\nCheckboxSelectable.propTypes = TreeItemCheckboxPropTypes;\n\nexport default CheckboxSelectable;\n"],"names":["StyledCheckboxWrapper","styled","span","CheckboxSelectable","props","item","itemIndex","id","ctx","useContext","TreeViewContext","disableGroups","disableLeafs","onSelectionChange","scrollToIndex","virtualListHelpers","triggerTreeRerender","selectedCheckboxes","setSelectedCheckboxes","onCheckboxChange","useCallback","newSelections","toggleCheckboxItem","newSelectionHasmap","filterObject","value","indexAndScrollTo","scrollToItem","virtualIndex","isChecked","useMemo","React","DSCheckbox","isGroup","propTypes","TreeItemCheckboxPropTypes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,qBAAqB,gBAAGC,0BAAM,CAACC,IAAV;AAAA;AAAA,wBAA3B;;AAGA,SAASC,kBAAT,CAA4BC,KAA5B,EAAmC;AACjC,MAAQC,IAAR,GAA4BD,KAA5B,CAAQC,IAAR;AAAA,MAAcC,SAAd,GAA4BF,KAA5B,CAAcE,SAAd;AACA,MAAQC,EAAR,GAAeF,IAAf,CAAQE,EAAR;AAEA,MAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;AACA,mBAUIF,GAVJ,CACEJ,KADF;AAAA,MAEIO,aAFJ,cAEIA,aAFJ;AAAA,MAGIC,YAHJ,cAGIA,YAHJ;AAAA,MAIIC,iBAJJ,cAIIA,iBAJJ;AAAA,MAMwBC,aANxB,GAUIN,GAVJ,CAMEO,kBANF,CAMwBD,aANxB;AAAA,MAOEE,mBAPF,GAUIR,GAVJ,CAOEQ,mBAPF;AAAA,MAQEC,kBARF,GAUIT,GAVJ,CAQES,kBARF;AAAA,MASEC,qBATF,GAUIV,GAVJ,CASEU,qBATF;AAYA,MAAMC,gBAAgB,GAAGC,iBAAW,CAAC,YAAM;AACzC,QAAMC,aAAa,GAAGC,yCAAkB,CAACjB,IAAD,CAAxC;AACA,QAAMkB,kBAAkB,GAAGC,gCAAY,iCAAMP,kBAAN,GAA6BI,aAA7B,GAA8C,UAACI,KAAD;AAAA,aAAWA,KAAK,KAAK,KAArB;AAAA,KAA9C,CAAvC;AACAP,IAAAA,qBAAqB,CAACK,kBAAD,CAArB;AACAP,IAAAA,mBAAmB;AAEnB,QAAMU,gBAAgB,GAAG;AACvBC,MAAAA,YAAY,EAAE,wBAAM;AAClBb,QAAAA,aAAa,CAACT,IAAI,CAACuB,YAAN,CAAb;AACD,OAHsB;AAIvBtB,MAAAA,SAAS,EAATA;AAJuB,KAAzB;AAMA,QAAIO,iBAAJ,EAAuBA,iBAAiB,CAACU,kBAAD,EAAqBlB,IAArB,EAA2BqB,gBAA3B,CAAjB;AACxB,GAbmC,EAajC,CACDrB,IADC,EAEDW,mBAFC,EAGDH,iBAHC,EAIDP,SAJC,EAKDQ,aALC,EAMDG,kBANC,EAODC,qBAPC,CAbiC,CAApC;AAsBA,MAAMW,SAAS,GAAGC,aAAO,CAAC,YAAM;AAC9B,QAAIb,kBAAkB,CAACV,EAAD,CAAlB,KAA2B,OAA/B,EAAwC;AACtC,aAAO,OAAP;AACD;;AACD,QAAIU,kBAAkB,CAACV,EAAD,CAAlB,KAA2B,IAA/B,EAAqC;AACnC,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD,GARwB,EAQtB,CAACU,kBAAD,EAAqBV,EAArB,CARsB,CAAzB;AAUA,sBACEwB,wCAAC,qBAAD,qBACEA,wCAACC,iBAAD;AACE,IAAA,OAAO,EAAEH,SADX;AAEE,IAAA,QAAQ,EAAExB,IAAI,CAAC4B,OAAL,GAAetB,aAAf,GAA+BC,YAF3C;AAGE,IAAA,SAAS,EAAC,0BAHZ;AAIE,mBAAY,oBAJd;AAKE,IAAA,QAAQ,EAAEO,gBALZ;AAME,IAAA,QAAQ,EAAC;AANX,IADF,CADF;AAYD;;AAEDhB,kBAAkB,CAAC+B,SAAnB,GAA+BC,mCAA/B;;;;"}
1
+ {"version":3,"file":"CheckboxSelectable.js","sources":["../../../src/parts/CheckboxSelectable.tsx"],"sourcesContent":["import React, { useContext, useCallback, useMemo } from 'react';\nimport { DSCheckbox } from '@elliemae/ds-form';\nimport styled from 'styled-components';\nimport { TreeItemCheckboxPropTypes } from '../prop-types';\nimport TreeViewContext from '../TreeViewContext';\nimport { toggleCheckboxItem } from '../utils/selectable-helper';\nimport { filterObject } from '../utils/object-helpers';\n\nconst StyledCheckboxWrapper = styled.span`\n padding-top: 3px;\n`;\nfunction CheckboxSelectable(props) {\n const { item, itemIndex } = props;\n const { id } = item;\n\n const ctx = useContext(TreeViewContext);\n const {\n props: {\n disableGroups, // radio allows disabling this, checkbox doesnt? check specs\n disableLeafs, // radio allows disabling this, checkbox doesnt? check specs\n onSelectionChange,\n },\n virtualListHelpers: { scrollToIndex },\n triggerTreeRerender,\n selectedCheckboxes,\n setSelectedCheckboxes,\n } = ctx;\n\n const onCheckboxChange = useCallback(() => {\n const newSelections = toggleCheckboxItem(item);\n const newSelectionHasmap = filterObject({ ...selectedCheckboxes, ...newSelections }, (value) => value !== false);\n setSelectedCheckboxes(newSelectionHasmap);\n triggerTreeRerender();\n\n const indexAndScrollTo = {\n scrollToItem: () => {\n scrollToIndex(item.virtualIndex);\n },\n itemIndex,\n };\n if (onSelectionChange) onSelectionChange(newSelectionHasmap, item, indexAndScrollTo);\n }, [\n item,\n triggerTreeRerender,\n onSelectionChange,\n itemIndex,\n scrollToIndex,\n selectedCheckboxes,\n setSelectedCheckboxes,\n ]);\n const isChecked = useMemo(() => {\n if (selectedCheckboxes[id] === 'mixed') {\n return 'mixed';\n }\n if (selectedCheckboxes[id] === true) {\n return true;\n }\n return false;\n }, [selectedCheckboxes, id]);\n\n return (\n <StyledCheckboxWrapper>\n <DSCheckbox\n checked={isChecked}\n disabled={item.isGroup ? disableGroups : disableLeafs}\n className=\"em-ds-tree-item-checkbox\"\n data-testid=\"tree-item-checkbox\"\n onChange={onCheckboxChange}\n tabIndex=\"0\"\n />\n </StyledCheckboxWrapper>\n );\n}\n\nCheckboxSelectable.propTypes = TreeItemCheckboxPropTypes;\n\nexport default CheckboxSelectable;\n"],"names":["StyledCheckboxWrapper","styled","span","CheckboxSelectable","props","item","itemIndex","id","ctx","useContext","TreeViewContext","disableGroups","disableLeafs","onSelectionChange","scrollToIndex","virtualListHelpers","triggerTreeRerender","selectedCheckboxes","setSelectedCheckboxes","onCheckboxChange","useCallback","newSelections","toggleCheckboxItem","newSelectionHasmap","filterObject","value","indexAndScrollTo","scrollToItem","virtualIndex","isChecked","useMemo","React","DSCheckbox","isGroup","propTypes","TreeItemCheckboxPropTypes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,qBAAqB,gBAAGC,0BAAM,CAACC,IAAV;EAAA;AAAA,wBAA3B;;AAGA,SAASC,kBAAT,CAA4BC,KAA5B,EAAmC;EACjC,IAAQC,IAAR,GAA4BD,KAA5B,CAAQC,IAAR;MAAcC,SAAd,GAA4BF,KAA5B,CAAcE,SAAd;EACA,IAAQC,EAAR,GAAeF,IAAf,CAAQE,EAAR;EAEA,IAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;EACA,iBAUIF,GAVJ,CACEJ,KADF;MAEIO,aAFJ,cAEIA,aAFJ;MAGIC,YAHJ,cAGIA,YAHJ;MAIIC,iBAJJ,cAIIA,iBAJJ;MAMwBC,aANxB,GAUIN,GAVJ,CAMEO,kBANF,CAMwBD,aANxB;MAOEE,mBAPF,GAUIR,GAVJ,CAOEQ,mBAPF;MAQEC,kBARF,GAUIT,GAVJ,CAQES,kBARF;MASEC,qBATF,GAUIV,GAVJ,CASEU,qBATF;EAYA,IAAMC,gBAAgB,GAAGC,iBAAW,CAAC,YAAM;IACzC,IAAMC,aAAa,GAAGC,yCAAkB,CAACjB,IAAD,CAAxC;IACA,IAAMkB,kBAAkB,GAAGC,gCAAY,iCAAMP,kBAAN,GAA6BI,aAA7B,GAA8C,UAACI,KAAD;MAAA,OAAWA,KAAK,KAAK,KAArB;KAA9C,CAAvC;IACAP,qBAAqB,CAACK,kBAAD,CAArB;IACAP,mBAAmB;IAEnB,IAAMU,gBAAgB,GAAG;MACvBC,YAAY,EAAE,wBAAM;QAClBb,aAAa,CAACT,IAAI,CAACuB,YAAN,CAAb;OAFqB;MAIvBtB,SAAS,EAATA;KAJF;IAMA,IAAIO,iBAAJ,EAAuBA,iBAAiB,CAACU,kBAAD,EAAqBlB,IAArB,EAA2BqB,gBAA3B,CAAjB;GAZW,EAajC,CACDrB,IADC,EAEDW,mBAFC,EAGDH,iBAHC,EAIDP,SAJC,EAKDQ,aALC,EAMDG,kBANC,EAODC,qBAPC,CAbiC,CAApC;EAsBA,IAAMW,SAAS,GAAGC,aAAO,CAAC,YAAM;IAC9B,IAAIb,kBAAkB,CAACV,EAAD,CAAlB,KAA2B,OAA/B,EAAwC;MACtC,OAAO,OAAP;;;IAEF,IAAIU,kBAAkB,CAACV,EAAD,CAAlB,KAA2B,IAA/B,EAAqC;MACnC,OAAO,IAAP;;;IAEF,OAAO,KAAP;GAPuB,EAQtB,CAACU,kBAAD,EAAqBV,EAArB,CARsB,CAAzB;EAUA,oBACEwB,wCAAC,qBAAD,qBACEA,wCAACC,iBAAD;IACE,OAAO,EAAEH,SADX;IAEE,QAAQ,EAAExB,IAAI,CAAC4B,OAAL,GAAetB,aAAf,GAA+BC,YAF3C;IAGE,SAAS,EAAC,0BAHZ;IAIE,eAAY,oBAJd;IAKE,QAAQ,EAAEO,gBALZ;IAME,QAAQ,EAAC;IAPb,CADF;AAYD;;AAEDhB,kBAAkB,CAAC+B,SAAnB,GAA+BC,mCAA/B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChildrenCountDisplayer.js","sources":["../../../src/parts/ChildrenCountDisplayer.tsx"],"sourcesContent":["import React from 'react';\nimport { TreeViewItemPropType } from '../prop-types';\nimport {\n DSTreeViewPrefix,\n treeItemBlockName,\n} from '../config/cssClassesConstants';\n\nconst className = `${DSTreeViewPrefix}-${treeItemBlockName}-children-count-displayer`;\n\nexport const ChildrenCountDisplayer = (props) => {\n const { item } = props;\n const { isGroup, children } = item;\n\n if (!isGroup) return null;\n // return ` | ${children.length} Items`;\n return (\n <span\n data-testid=\"tree-item-children-count-displayer\"\n className={className}\n >{` | ${children.length} Items`}</span>\n );\n};\nChildrenCountDisplayer.propTypes = { item: TreeViewItemPropType.isRequired };\n"],"names":["className","DSTreeViewPrefix","treeItemBlockName","ChildrenCountDisplayer","props","item","isGroup","children","React","length","propTypes","TreeViewItemPropType","isRequired"],"mappings":";;;;;;;;;;;;;AAOA,IAAMA,SAAS,aAAMC,2CAAN,cAA0BC,4CAA1B,8BAAf;IAEaC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,KAAD,EAAW;AAC/C,MAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;AACA,MAAQC,OAAR,GAA8BD,IAA9B,CAAQC,OAAR;AAAA,MAAiBC,QAAjB,GAA8BF,IAA9B,CAAiBE,QAAjB;AAEA,MAAI,CAACD,OAAL,EAAc,OAAO,IAAP,CAJiC;;AAM/C,sBACEE;AACE,mBAAY,oCADd;AAEE,IAAA,SAAS,EAAER;AAFb,kBAGQO,QAAQ,CAACE,MAHjB,YADF;AAMD;AACDN,sBAAsB,CAACO,SAAvB,GAAmC;AAAEL,EAAAA,IAAI,EAAEM,8BAAoB,CAACC;AAA7B,CAAnC;;;;"}
1
+ {"version":3,"file":"ChildrenCountDisplayer.js","sources":["../../../src/parts/ChildrenCountDisplayer.tsx"],"sourcesContent":["import React from 'react';\nimport { TreeViewItemPropType } from '../prop-types';\nimport {\n DSTreeViewPrefix,\n treeItemBlockName,\n} from '../config/cssClassesConstants';\n\nconst className = `${DSTreeViewPrefix}-${treeItemBlockName}-children-count-displayer`;\n\nexport const ChildrenCountDisplayer = (props) => {\n const { item } = props;\n const { isGroup, children } = item;\n\n if (!isGroup) return null;\n // return ` | ${children.length} Items`;\n return (\n <span\n data-testid=\"tree-item-children-count-displayer\"\n className={className}\n >{` | ${children.length} Items`}</span>\n );\n};\nChildrenCountDisplayer.propTypes = { item: TreeViewItemPropType.isRequired };\n"],"names":["className","DSTreeViewPrefix","treeItemBlockName","ChildrenCountDisplayer","props","item","isGroup","children","React","length","propTypes","TreeViewItemPropType","isRequired"],"mappings":";;;;;;;;;;;;;AAOA,IAAMA,SAAS,aAAMC,2CAAN,cAA0BC,4CAA1B,8BAAf;IAEaC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,KAAD,EAAW;EAC/C,IAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;EACA,IAAQC,OAAR,GAA8BD,IAA9B,CAAQC,OAAR;MAAiBC,QAAjB,GAA8BF,IAA9B,CAAiBE,QAAjB;EAEA,IAAI,CAACD,OAAL,EAAc,OAAO,IAAP,CAJiC;;EAM/C,oBACEE;IACE,eAAY,oCADd;IAEE,SAAS,EAAER;kBACLO,QAAQ,CAACE,MAHjB,YADF;AAMD;AACDN,sBAAsB,CAACO,SAAvB,GAAmC;EAAEL,IAAI,EAAEM,8BAAoB,CAACC;AAA7B,CAAnC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandCaret.js","sources":["../../../src/parts/ExpandCaret.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react';\nimport Button from '@elliemae/ds-button';\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport { toggleItemExpand } from '../utils/group-expands-helpers';\nimport { focusItem } from '../utils/tree-helpers';\nimport TreeViewContext from '../TreeViewContext';\nimport { TreeItemExpandCaretPropTypes } from '../prop-types';\n\nexport const ExpandCaret = (props) => {\n const defaultHandleExpandGroup = useCallback(toggleItemExpand, []);\n const { item } = props;\n const { id, isExpanded, isGroup, children } = item;\n const isGroupOrHasChildrens = isGroup || (Array.isArray(children) && children.length > 0);\n const ctx = useContext(TreeViewContext);\n const {\n props: { onItemFocus },\n handleExpandGroup = defaultHandleExpandGroup,\n triggerTreeRerender,\n setLatestToggledItem,\n setFocusedItem,\n virtualListHelpers: { scrollToIndex },\n } = ctx;\n\n if (isGroupOrHasChildrens)\n return (\n <Button\n buttonType=\"text\"\n className=\"expandable-arrow\"\n data-testid=\"tree-item-expand-toggle\"\n key={`${id}-expand-addon`}\n icon={\n isExpanded ? (\n <ArrowheadDown size=\"s\" data-testid=\"ic-arrow-head-down\" />\n ) : (\n <ArrowheadRight size=\"s\" data-testid=\"ic-arrow-head-right\" />\n )\n }\n onMouseDown={(e) => {\n // prevent focusing the caret\n if (e) {\n e.preventDefault();\n }\n }}\n onClick={(e) => {\n e.stopPropagation();\n handleExpandGroup(item, triggerTreeRerender, scrollToIndex, e);\n setLatestToggledItem(item);\n onItemFocus({\n itemIndex: item.virtualIndex,\n scrollToItem: (opts = { align: 'start' }) => scrollToIndex(item.virtualIndex, opts),\n item,\n });\n setFocusedItem(item);\n focusItem(item);\n }}\n size=\"s\"\n tabIndex={-1}\n />\n );\n return <div style={{ width: '24px' }} />;\n};\n\nExpandCaret.propTypes = TreeItemExpandCaretPropTypes;\n"],"names":["ExpandCaret","props","defaultHandleExpandGroup","useCallback","toggleItemExpand","item","id","isExpanded","isGroup","children","isGroupOrHasChildrens","Array","isArray","length","ctx","useContext","TreeViewContext","onItemFocus","handleExpandGroup","triggerTreeRerender","setLatestToggledItem","setFocusedItem","scrollToIndex","virtualListHelpers","React","Button","ArrowheadDown","ArrowheadRight","e","preventDefault","stopPropagation","itemIndex","virtualIndex","scrollToItem","opts","align","focusItem","width","propTypes","TreeItemExpandCaretPropTypes"],"mappings":";;;;;;;;;;;;;;;;;;;;IAQaA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAW;AACpC,MAAMC,wBAAwB,GAAGC,iBAAW,CAACC,0CAAD,EAAmB,EAAnB,CAA5C;AACA,MAAQC,IAAR,GAAiBJ,KAAjB,CAAQI,IAAR;AACA,MAAQC,EAAR,GAA8CD,IAA9C,CAAQC,EAAR;AAAA,MAAYC,UAAZ,GAA8CF,IAA9C,CAAYE,UAAZ;AAAA,MAAwBC,OAAxB,GAA8CH,IAA9C,CAAwBG,OAAxB;AAAA,MAAiCC,QAAjC,GAA8CJ,IAA9C,CAAiCI,QAAjC;AACA,MAAMC,qBAAqB,GAAGF,OAAO,IAAKG,KAAK,CAACC,OAAN,CAAcH,QAAd,KAA2BA,QAAQ,CAACI,MAAT,GAAkB,CAAvF;AACA,MAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;AACA,MACWC,WADX,GAOIH,GAPJ,CACEb,KADF,CACWgB,WADX;AAAA,8BAOIH,GAPJ,CAEEI,iBAFF;AAAA,MAEEA,iBAFF,sCAEsBhB,wBAFtB;AAAA,MAGEiB,mBAHF,GAOIL,GAPJ,CAGEK,mBAHF;AAAA,MAIEC,oBAJF,GAOIN,GAPJ,CAIEM,oBAJF;AAAA,MAKEC,cALF,GAOIP,GAPJ,CAKEO,cALF;AAAA,MAMwBC,aANxB,GAOIR,GAPJ,CAMES,kBANF,CAMwBD,aANxB;AASA,MAAIZ,qBAAJ,EACE,oBACEc,wCAACC,0BAAD;AACE,IAAA,UAAU,EAAC,MADb;AAEE,IAAA,SAAS,EAAC,kBAFZ;AAGE,mBAAY,yBAHd;AAIE,IAAA,GAAG,YAAKnB,EAAL,kBAJL;AAKE,IAAA,IAAI,EACFC,UAAU,gBACRiB,wCAACE,qBAAD;AAAe,MAAA,IAAI,EAAC,GAApB;AAAwB,qBAAY;AAApC,MADQ,gBAGRF,wCAACG,sBAAD;AAAgB,MAAA,IAAI,EAAC,GAArB;AAAyB,qBAAY;AAArC,MATN;AAYE,IAAA,WAAW,EAAE,qBAACC,CAAD,EAAO;AAClB;AACA,UAAIA,CAAJ,EAAO;AACLA,QAAAA,CAAC,CAACC,cAAF;AACD;AACF,KAjBH;AAkBE,IAAA,OAAO,EAAE,iBAACD,CAAD,EAAO;AACdA,MAAAA,CAAC,CAACE,eAAF;AACAZ,MAAAA,iBAAiB,CAACb,IAAD,EAAOc,mBAAP,EAA4BG,aAA5B,EAA2CM,CAA3C,CAAjB;AACAR,MAAAA,oBAAoB,CAACf,IAAD,CAApB;AACAY,MAAAA,WAAW,CAAC;AACVc,QAAAA,SAAS,EAAE1B,IAAI,CAAC2B,YADN;AAEVC,QAAAA,YAAY,EAAE;AAAA,cAACC,IAAD,uEAAQ;AAAEC,YAAAA,KAAK,EAAE;AAAT,WAAR;AAAA,iBAA+Bb,aAAa,CAACjB,IAAI,CAAC2B,YAAN,EAAoBE,IAApB,CAA5C;AAAA,SAFJ;AAGV7B,QAAAA,IAAI,EAAJA;AAHU,OAAD,CAAX;AAKAgB,MAAAA,cAAc,CAAChB,IAAD,CAAd;AACA+B,MAAAA,2BAAS,CAAC/B,IAAD,CAAT;AACD,KA7BH;AA8BE,IAAA,IAAI,EAAC,GA9BP;AA+BE,IAAA,QAAQ,EAAE,CAAC;AA/Bb,IADF;AAmCF,sBAAOmB;AAAK,IAAA,KAAK,EAAE;AAAEa,MAAAA,KAAK,EAAE;AAAT;AAAZ,IAAP;AACD;AAEDrC,WAAW,CAACsC,SAAZ,GAAwBC,sCAAxB;;;;"}
1
+ {"version":3,"file":"ExpandCaret.js","sources":["../../../src/parts/ExpandCaret.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react';\nimport Button from '@elliemae/ds-button';\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport { toggleItemExpand } from '../utils/group-expands-helpers';\nimport { focusItem } from '../utils/tree-helpers';\nimport TreeViewContext from '../TreeViewContext';\nimport { TreeItemExpandCaretPropTypes } from '../prop-types';\n\nexport const ExpandCaret = (props) => {\n const defaultHandleExpandGroup = useCallback(toggleItemExpand, []);\n const { item } = props;\n const { id, isExpanded, isGroup, children } = item;\n const isGroupOrHasChildrens = isGroup || (Array.isArray(children) && children.length > 0);\n const ctx = useContext(TreeViewContext);\n const {\n props: { onItemFocus },\n handleExpandGroup = defaultHandleExpandGroup,\n triggerTreeRerender,\n setLatestToggledItem,\n setFocusedItem,\n virtualListHelpers: { scrollToIndex },\n } = ctx;\n\n if (isGroupOrHasChildrens)\n return (\n <Button\n buttonType=\"text\"\n className=\"expandable-arrow\"\n data-testid=\"tree-item-expand-toggle\"\n key={`${id}-expand-addon`}\n icon={\n isExpanded ? (\n <ArrowheadDown size=\"s\" data-testid=\"ic-arrow-head-down\" />\n ) : (\n <ArrowheadRight size=\"s\" data-testid=\"ic-arrow-head-right\" />\n )\n }\n onMouseDown={(e) => {\n // prevent focusing the caret\n if (e) {\n e.preventDefault();\n }\n }}\n onClick={(e) => {\n e.stopPropagation();\n handleExpandGroup(item, triggerTreeRerender, scrollToIndex, e);\n setLatestToggledItem(item);\n onItemFocus({\n itemIndex: item.virtualIndex,\n scrollToItem: (opts = { align: 'start' }) => scrollToIndex(item.virtualIndex, opts),\n item,\n });\n setFocusedItem(item);\n focusItem(item);\n }}\n size=\"s\"\n tabIndex={-1}\n />\n );\n return <div style={{ width: '24px' }} />;\n};\n\nExpandCaret.propTypes = TreeItemExpandCaretPropTypes;\n"],"names":["ExpandCaret","props","defaultHandleExpandGroup","useCallback","toggleItemExpand","item","id","isExpanded","isGroup","children","isGroupOrHasChildrens","Array","isArray","length","ctx","useContext","TreeViewContext","onItemFocus","handleExpandGroup","triggerTreeRerender","setLatestToggledItem","setFocusedItem","scrollToIndex","virtualListHelpers","React","Button","ArrowheadDown","ArrowheadRight","e","preventDefault","stopPropagation","itemIndex","virtualIndex","scrollToItem","opts","align","focusItem","width","propTypes","TreeItemExpandCaretPropTypes"],"mappings":";;;;;;;;;;;;;;;;;;;;IAQaA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAW;EACpC,IAAMC,wBAAwB,GAAGC,iBAAW,CAACC,0CAAD,EAAmB,EAAnB,CAA5C;EACA,IAAQC,IAAR,GAAiBJ,KAAjB,CAAQI,IAAR;EACA,IAAQC,EAAR,GAA8CD,IAA9C,CAAQC,EAAR;MAAYC,UAAZ,GAA8CF,IAA9C,CAAYE,UAAZ;MAAwBC,OAAxB,GAA8CH,IAA9C,CAAwBG,OAAxB;MAAiCC,QAAjC,GAA8CJ,IAA9C,CAAiCI,QAAjC;EACA,IAAMC,qBAAqB,GAAGF,OAAO,IAAKG,KAAK,CAACC,OAAN,CAAcH,QAAd,KAA2BA,QAAQ,CAACI,MAAT,GAAkB,CAAvF;EACA,IAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;EACA,IACWC,WADX,GAOIH,GAPJ,CACEb,KADF,CACWgB,WADX;8BAOIH,GAPJ,CAEEI,iBAFF;MAEEA,iBAFF,sCAEsBhB,wBAFtB;MAGEiB,mBAHF,GAOIL,GAPJ,CAGEK,mBAHF;MAIEC,oBAJF,GAOIN,GAPJ,CAIEM,oBAJF;MAKEC,cALF,GAOIP,GAPJ,CAKEO,cALF;MAMwBC,aANxB,GAOIR,GAPJ,CAMES,kBANF,CAMwBD,aANxB;EASA,IAAIZ,qBAAJ,EACE,oBACEc,wCAACC,0BAAD;IACE,UAAU,EAAC,MADb;IAEE,SAAS,EAAC,kBAFZ;IAGE,eAAY,yBAHd;IAIE,GAAG,YAAKnB,EAAL,kBAJL;IAKE,IAAI,EACFC,UAAU,gBACRiB,wCAACE,qBAAD;MAAe,IAAI,EAAC,GAApB;MAAwB,eAAY;MAD5B,gBAGRF,wCAACG,sBAAD;MAAgB,IAAI,EAAC,GAArB;MAAyB,eAAY;MAT3C;IAYE,WAAW,EAAE,qBAACC,CAAD,EAAO;;MAElB,IAAIA,CAAJ,EAAO;QACLA,CAAC,CAACC,cAAF;;KAfN;IAkBE,OAAO,EAAE,iBAACD,CAAD,EAAO;MACdA,CAAC,CAACE,eAAF;MACAZ,iBAAiB,CAACb,IAAD,EAAOc,mBAAP,EAA4BG,aAA5B,EAA2CM,CAA3C,CAAjB;MACAR,oBAAoB,CAACf,IAAD,CAApB;MACAY,WAAW,CAAC;QACVc,SAAS,EAAE1B,IAAI,CAAC2B,YADN;QAEVC,YAAY,EAAE;UAAA,IAACC,IAAD,uEAAQ;YAAEC,KAAK,EAAE;WAAjB;UAAA,OAA+Bb,aAAa,CAACjB,IAAI,CAAC2B,YAAN,EAAoBE,IAApB,CAA5C;SAFJ;QAGV7B,IAAI,EAAJA;OAHS,CAAX;MAKAgB,cAAc,CAAChB,IAAD,CAAd;MACA+B,2BAAS,CAAC/B,IAAD,CAAT;KA5BJ;IA8BE,IAAI,EAAC,GA9BP;IA+BE,QAAQ,EAAE,CAAC;IAhCf;EAmCF,oBAAOmB;IAAK,KAAK,EAAE;MAAEa,KAAK,EAAE;;IAA5B;AACD;AAEDrC,WAAW,CAACsC,SAAZ,GAAwBC,sCAAxB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sources":["../../../src/parts/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { cx } from '@elliemae/ds-utilities';\n\nimport TreeViewContext from '../TreeViewContext';\n\nexport const Icon = (props) => {\n const { item } = props;\n const isGroupOrHasChildrens =\n item.isGroup || (Array.isArray(item.children) && item.children.length > 0);\n const ctx = useContext(TreeViewContext);\n const {\n props: { groupIcon, itemIcon },\n } = ctx;\n const icon = isGroupOrHasChildrens ? groupIcon : itemIcon;\n if (!icon) return null;\n\n return React.cloneElement(icon, {\n 'data-testid': isGroupOrHasChildrens\n ? 'tree-item-group-icon'\n : 'tree-item-icon',\n className: cx(icon.props.className, 'tree-item-icon'),\n });\n};\n"],"names":["Icon","props","item","isGroupOrHasChildrens","isGroup","Array","isArray","children","length","ctx","useContext","TreeViewContext","groupIcon","itemIcon","icon","React","cloneElement","className","cx"],"mappings":";;;;;;;;;;;;IAKaA,IAAI,GAAG,SAAPA,IAAO,CAACC,KAAD,EAAW;AAC7B,MAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;AACA,MAAMC,qBAAqB,GACzBD,IAAI,CAACE,OAAL,IAAiBC,KAAK,CAACC,OAAN,CAAcJ,IAAI,CAACK,QAAnB,KAAgCL,IAAI,CAACK,QAAL,CAAcC,MAAd,GAAuB,CAD1E;AAEA,MAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;AACA,mBAEIF,GAFJ,CACER,KADF;AAAA,MACWW,SADX,cACWA,SADX;AAAA,MACsBC,QADtB,cACsBA,QADtB;AAGA,MAAMC,IAAI,GAAGX,qBAAqB,GAAGS,SAAH,GAAeC,QAAjD;AACA,MAAI,CAACC,IAAL,EAAW,OAAO,IAAP;AAEX,sBAAOC,yBAAK,CAACC,YAAN,CAAmBF,IAAnB,EAAyB;AAC9B,mBAAeX,qBAAqB,GAChC,sBADgC,GAEhC,gBAH0B;AAI9Bc,IAAAA,SAAS,EAAEC,cAAE,CAACJ,IAAI,CAACb,KAAL,CAAWgB,SAAZ,EAAuB,gBAAvB;AAJiB,GAAzB,CAAP;AAMD;;;;"}
1
+ {"version":3,"file":"Icon.js","sources":["../../../src/parts/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { cx } from '@elliemae/ds-utilities';\n\nimport TreeViewContext from '../TreeViewContext';\n\nexport const Icon = (props) => {\n const { item } = props;\n const isGroupOrHasChildrens =\n item.isGroup || (Array.isArray(item.children) && item.children.length > 0);\n const ctx = useContext(TreeViewContext);\n const {\n props: { groupIcon, itemIcon },\n } = ctx;\n const icon = isGroupOrHasChildrens ? groupIcon : itemIcon;\n if (!icon) return null;\n\n return React.cloneElement(icon, {\n 'data-testid': isGroupOrHasChildrens\n ? 'tree-item-group-icon'\n : 'tree-item-icon',\n className: cx(icon.props.className, 'tree-item-icon'),\n });\n};\n"],"names":["Icon","props","item","isGroupOrHasChildrens","isGroup","Array","isArray","children","length","ctx","useContext","TreeViewContext","groupIcon","itemIcon","icon","React","cloneElement","className","cx"],"mappings":";;;;;;;;;;;;IAKaA,IAAI,GAAG,SAAPA,IAAO,CAACC,KAAD,EAAW;EAC7B,IAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;EACA,IAAMC,qBAAqB,GACzBD,IAAI,CAACE,OAAL,IAAiBC,KAAK,CAACC,OAAN,CAAcJ,IAAI,CAACK,QAAnB,KAAgCL,IAAI,CAACK,QAAL,CAAcC,MAAd,GAAuB,CAD1E;EAEA,IAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;EACA,iBAEIF,GAFJ,CACER,KADF;MACWW,SADX,cACWA,SADX;MACsBC,QADtB,cACsBA,QADtB;EAGA,IAAMC,IAAI,GAAGX,qBAAqB,GAAGS,SAAH,GAAeC,QAAjD;EACA,IAAI,CAACC,IAAL,EAAW,OAAO,IAAP;EAEX,oBAAOC,yBAAK,CAACC,YAAN,CAAmBF,IAAnB,EAAyB;IAC9B,eAAeX,qBAAqB,GAChC,sBADgC,GAEhC,gBAH0B;IAI9Bc,SAAS,EAAEC,cAAE,CAACJ,IAAI,CAACb,KAAL,CAAWgB,SAAZ,EAAuB,gBAAvB;GAJR,CAAP;AAMD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NestingSpace.js","sources":["../../../src/parts/NestingSpace.tsx"],"sourcesContent":["import React from 'react';\nimport { TreeItemNestingSpacePropTypes } from '../prop-types';\n\nconst getItemNestingLeftPadding = (level, opts) => {\n const { spaceForNestingLevel = 1.5 } = {\n ...opts,\n };\n const groupLeftPadding = spaceForNestingLevel * (level - 1);\n const finalLeftPadding = groupLeftPadding + spaceForNestingLevel - 0.1;\n // root level left-padding would be negative and would not be applied\n // if \"root-level\" nesting, then defaults to 0 left-padding.\n return finalLeftPadding > 0 ? `${finalLeftPadding}em` : '0';\n};\n\ntype NestingSpacePropsType = {\n item: Record<string, any>;\n spaceForNestingLevel: number;\n};\n\nexport const NestingSpace = (props: NestingSpacePropsType): JSX.Element => {\n const { item, spaceForNestingLevel } = props;\n const { treeDepth } = item;\n\n const itemNestingLeftPadding = getItemNestingLeftPadding(treeDepth - 1, {\n spaceForNestingLevel,\n });\n\n return (\n <div\n data-testid=\"tree-item-nested-space\"\n style={{ width: itemNestingLeftPadding }}\n />\n );\n};\nNestingSpace.propTypes = TreeItemNestingSpacePropTypes;\n"],"names":["getItemNestingLeftPadding","level","opts","spaceForNestingLevel","groupLeftPadding","finalLeftPadding","NestingSpace","props","item","treeDepth","itemNestingLeftPadding","React","width","propTypes","TreeItemNestingSpacePropTypes"],"mappings":";;;;;;;;;;;;;;;;;;AAGA,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACjD,gCACKA,IADL;AAAA,oCAAQC,oBAAR;AAAA,MAAQA,oBAAR,sCAA+B,GAA/B;;AAGA,MAAMC,gBAAgB,GAAGD,oBAAoB,IAAIF,KAAK,GAAG,CAAZ,CAA7C;AACA,MAAMI,gBAAgB,GAAGD,gBAAgB,GAAGD,oBAAnB,GAA0C,GAAnE,CALiD;AAOjD;;AACA,SAAOE,gBAAgB,GAAG,CAAnB,aAA0BA,gBAA1B,UAAiD,GAAxD;AACD,CATD;;IAgBaC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA+C;AACzE,MAAQC,IAAR,GAAuCD,KAAvC,CAAQC,IAAR;AAAA,MAAcL,oBAAd,GAAuCI,KAAvC,CAAcJ,oBAAd;AACA,MAAQM,SAAR,GAAsBD,IAAtB,CAAQC,SAAR;AAEA,MAAMC,sBAAsB,GAAGV,yBAAyB,CAACS,SAAS,GAAG,CAAb,EAAgB;AACtEN,IAAAA,oBAAoB,EAApBA;AADsE,GAAhB,CAAxD;AAIA,sBACEQ;AACE,mBAAY,wBADd;AAEE,IAAA,KAAK,EAAE;AAAEC,MAAAA,KAAK,EAAEF;AAAT;AAFT,IADF;AAMD;AACDJ,YAAY,CAACO,SAAb,GAAyBC,uCAAzB;;;;"}
1
+ {"version":3,"file":"NestingSpace.js","sources":["../../../src/parts/NestingSpace.tsx"],"sourcesContent":["import React from 'react';\nimport { TreeItemNestingSpacePropTypes } from '../prop-types';\n\nconst getItemNestingLeftPadding = (level, opts) => {\n const { spaceForNestingLevel = 1.5 } = {\n ...opts,\n };\n const groupLeftPadding = spaceForNestingLevel * (level - 1);\n const finalLeftPadding = groupLeftPadding + spaceForNestingLevel - 0.1;\n // root level left-padding would be negative and would not be applied\n // if \"root-level\" nesting, then defaults to 0 left-padding.\n return finalLeftPadding > 0 ? `${finalLeftPadding}em` : '0';\n};\n\ntype NestingSpacePropsType = {\n item: Record<string, any>;\n spaceForNestingLevel: number;\n};\n\nexport const NestingSpace = (props: NestingSpacePropsType): JSX.Element => {\n const { item, spaceForNestingLevel } = props;\n const { treeDepth } = item;\n\n const itemNestingLeftPadding = getItemNestingLeftPadding(treeDepth - 1, {\n spaceForNestingLevel,\n });\n\n return (\n <div\n data-testid=\"tree-item-nested-space\"\n style={{ width: itemNestingLeftPadding }}\n />\n );\n};\nNestingSpace.propTypes = TreeItemNestingSpacePropTypes;\n"],"names":["getItemNestingLeftPadding","level","opts","spaceForNestingLevel","groupLeftPadding","finalLeftPadding","NestingSpace","props","item","treeDepth","itemNestingLeftPadding","React","width","propTypes","TreeItemNestingSpacePropTypes"],"mappings":";;;;;;;;;;;;;;;;;;AAGA,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,KAAD,EAAQC,IAAR,EAAiB;EACjD,8BACKA,IADL;oCAAQC,oBAAR;MAAQA,oBAAR,sCAA+B,GAA/B;;EAGA,IAAMC,gBAAgB,GAAGD,oBAAoB,IAAIF,KAAK,GAAG,CAAZ,CAA7C;EACA,IAAMI,gBAAgB,GAAGD,gBAAgB,GAAGD,oBAAnB,GAA0C,GAAnE,CALiD;;;EAQjD,OAAOE,gBAAgB,GAAG,CAAnB,aAA0BA,gBAA1B,UAAiD,GAAxD;AACD,CATD;;IAgBaC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA+C;EACzE,IAAQC,IAAR,GAAuCD,KAAvC,CAAQC,IAAR;MAAcL,oBAAd,GAAuCI,KAAvC,CAAcJ,oBAAd;EACA,IAAQM,SAAR,GAAsBD,IAAtB,CAAQC,SAAR;EAEA,IAAMC,sBAAsB,GAAGV,yBAAyB,CAACS,SAAS,GAAG,CAAb,EAAgB;IACtEN,oBAAoB,EAApBA;GADsD,CAAxD;EAIA,oBACEQ;IACE,eAAY,wBADd;IAEE,KAAK,EAAE;MAAEC,KAAK,EAAEF;;IAHpB;AAMD;AACDJ,YAAY,CAACO,SAAb,GAAyBC,uCAAzB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioSelectable.js","sources":["../../../src/parts/RadioSelectable.tsx"],"sourcesContent":["import React, { useContext, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { DSRadio } from '@elliemae/ds-form';\nimport { TreeViewItemPropType } from '../prop-types';\nimport TreeViewContext from '../TreeViewContext';\n\nfunction RadioSelectable(props) {\n const { item, itemIndex } = props;\n\n const ctx = useContext(TreeViewContext);\n const {\n props: {\n disableGroups, // radio allows disabling this, checkbox doesnt? check specs\n disableLeafs, // radio allows disabling this, checkbox doesnt? check specs\n onSelectionChange,\n },\n virtualListHelpers: { scrollToIndex },\n uniqueTreeViewUUID,\n selectedCheckboxes,\n setSelectedCheckboxes,\n } = ctx;\n\n const { id } = item;\n\n const onRadioChange = useCallback(() => {\n const newSelectionHasmap = { [id]: true };\n setSelectedCheckboxes(newSelectionHasmap);\n const indexAndScrollTo = {\n scrollToItem: () => {\n scrollToIndex(item.virtualIndex);\n },\n itemIndex,\n };\n if (onSelectionChange) onSelectionChange(newSelectionHasmap, item, indexAndScrollTo);\n }, [item, id, onSelectionChange, scrollToIndex]);\n\n const radioName = useMemo(() => `radios-${uniqueTreeViewUUID}`, [uniqueTreeViewUUID]);\n\n return (\n <DSRadio\n checked={selectedCheckboxes[id] === true}\n name={radioName}\n disabled={item.isGroup ? disableGroups : disableLeafs}\n className=\"em-ds-tree-item-radio\"\n data-testid=\"tree-item-radio\"\n onChange={onRadioChange}\n tabIndex=\"0\"\n />\n );\n}\n\nRadioSelectable.propTypes = {\n item: TreeViewItemPropType.isRequired,\n itemIndex: PropTypes.number.isRequired,\n};\n\nexport default RadioSelectable;\n"],"names":["RadioSelectable","props","item","itemIndex","ctx","useContext","TreeViewContext","disableGroups","disableLeafs","onSelectionChange","scrollToIndex","virtualListHelpers","uniqueTreeViewUUID","selectedCheckboxes","setSelectedCheckboxes","id","onRadioChange","useCallback","newSelectionHasmap","indexAndScrollTo","scrollToItem","virtualIndex","radioName","useMemo","React","DSRadio","isGroup","propTypes","TreeViewItemPropType","isRequired","PropTypes","number"],"mappings":";;;;;;;;;;;;;;;AAMA,SAASA,eAAT,CAAyBC,KAAzB,EAAgC;AAC9B,MAAQC,IAAR,GAA4BD,KAA5B,CAAQC,IAAR;AAAA,MAAcC,SAAd,GAA4BF,KAA5B,CAAcE,SAAd;AAEA,MAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;AACA,mBAUIF,GAVJ,CACEH,KADF;AAAA,MAEIM,aAFJ,cAEIA,aAFJ;AAAA,MAGIC,YAHJ,cAGIA,YAHJ;AAAA,MAIIC,iBAJJ,cAIIA,iBAJJ;AAAA,MAMwBC,aANxB,GAUIN,GAVJ,CAMEO,kBANF,CAMwBD,aANxB;AAAA,MAOEE,kBAPF,GAUIR,GAVJ,CAOEQ,kBAPF;AAAA,MAQEC,kBARF,GAUIT,GAVJ,CAQES,kBARF;AAAA,MASEC,qBATF,GAUIV,GAVJ,CASEU,qBATF;AAYA,MAAQC,EAAR,GAAeb,IAAf,CAAQa,EAAR;AAEA,MAAMC,aAAa,GAAGC,iBAAW,CAAC,YAAM;AACtC,QAAMC,kBAAkB,2CAAMH,EAAN,EAAW,IAAX,CAAxB;;AACAD,IAAAA,qBAAqB,CAACI,kBAAD,CAArB;AACA,QAAMC,gBAAgB,GAAG;AACvBC,MAAAA,YAAY,EAAE,wBAAM;AAClBV,QAAAA,aAAa,CAACR,IAAI,CAACmB,YAAN,CAAb;AACD,OAHsB;AAIvBlB,MAAAA,SAAS,EAATA;AAJuB,KAAzB;AAMA,QAAIM,iBAAJ,EAAuBA,iBAAiB,CAACS,kBAAD,EAAqBhB,IAArB,EAA2BiB,gBAA3B,CAAjB;AACxB,GAVgC,EAU9B,CAACjB,IAAD,EAAOa,EAAP,EAAWN,iBAAX,EAA8BC,aAA9B,CAV8B,CAAjC;AAYA,MAAMY,SAAS,GAAGC,aAAO,CAAC;AAAA,4BAAgBX,kBAAhB;AAAA,GAAD,EAAuC,CAACA,kBAAD,CAAvC,CAAzB;AAEA,sBACEY,wCAACC,cAAD;AACE,IAAA,OAAO,EAAEZ,kBAAkB,CAACE,EAAD,CAAlB,KAA2B,IADtC;AAEE,IAAA,IAAI,EAAEO,SAFR;AAGE,IAAA,QAAQ,EAAEpB,IAAI,CAACwB,OAAL,GAAenB,aAAf,GAA+BC,YAH3C;AAIE,IAAA,SAAS,EAAC,uBAJZ;AAKE,mBAAY,iBALd;AAME,IAAA,QAAQ,EAAEQ,aANZ;AAOE,IAAA,QAAQ,EAAC;AAPX,IADF;AAWD;;AAEDhB,eAAe,CAAC2B,SAAhB,GAA4B;AAC1BzB,EAAAA,IAAI,EAAE0B,8BAAoB,CAACC,UADD;AAE1B1B,EAAAA,SAAS,EAAE2B,6BAAS,CAACC,MAAV,CAAiBF;AAFF,CAA5B;;;;"}
1
+ {"version":3,"file":"RadioSelectable.js","sources":["../../../src/parts/RadioSelectable.tsx"],"sourcesContent":["import React, { useContext, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { DSRadio } from '@elliemae/ds-form';\nimport { TreeViewItemPropType } from '../prop-types';\nimport TreeViewContext from '../TreeViewContext';\n\nfunction RadioSelectable(props) {\n const { item, itemIndex } = props;\n\n const ctx = useContext(TreeViewContext);\n const {\n props: {\n disableGroups, // radio allows disabling this, checkbox doesnt? check specs\n disableLeafs, // radio allows disabling this, checkbox doesnt? check specs\n onSelectionChange,\n },\n virtualListHelpers: { scrollToIndex },\n uniqueTreeViewUUID,\n selectedCheckboxes,\n setSelectedCheckboxes,\n } = ctx;\n\n const { id } = item;\n\n const onRadioChange = useCallback(() => {\n const newSelectionHasmap = { [id]: true };\n setSelectedCheckboxes(newSelectionHasmap);\n const indexAndScrollTo = {\n scrollToItem: () => {\n scrollToIndex(item.virtualIndex);\n },\n itemIndex,\n };\n if (onSelectionChange) onSelectionChange(newSelectionHasmap, item, indexAndScrollTo);\n }, [item, id, onSelectionChange, scrollToIndex]);\n\n const radioName = useMemo(() => `radios-${uniqueTreeViewUUID}`, [uniqueTreeViewUUID]);\n\n return (\n <DSRadio\n checked={selectedCheckboxes[id] === true}\n name={radioName}\n disabled={item.isGroup ? disableGroups : disableLeafs}\n className=\"em-ds-tree-item-radio\"\n data-testid=\"tree-item-radio\"\n onChange={onRadioChange}\n tabIndex=\"0\"\n />\n );\n}\n\nRadioSelectable.propTypes = {\n item: TreeViewItemPropType.isRequired,\n itemIndex: PropTypes.number.isRequired,\n};\n\nexport default RadioSelectable;\n"],"names":["RadioSelectable","props","item","itemIndex","ctx","useContext","TreeViewContext","disableGroups","disableLeafs","onSelectionChange","scrollToIndex","virtualListHelpers","uniqueTreeViewUUID","selectedCheckboxes","setSelectedCheckboxes","id","onRadioChange","useCallback","newSelectionHasmap","indexAndScrollTo","scrollToItem","virtualIndex","radioName","useMemo","React","DSRadio","isGroup","propTypes","TreeViewItemPropType","isRequired","PropTypes","number"],"mappings":";;;;;;;;;;;;;;;AAMA,SAASA,eAAT,CAAyBC,KAAzB,EAAgC;EAC9B,IAAQC,IAAR,GAA4BD,KAA5B,CAAQC,IAAR;MAAcC,SAAd,GAA4BF,KAA5B,CAAcE,SAAd;EAEA,IAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;EACA,iBAUIF,GAVJ,CACEH,KADF;MAEIM,aAFJ,cAEIA,aAFJ;MAGIC,YAHJ,cAGIA,YAHJ;MAIIC,iBAJJ,cAIIA,iBAJJ;MAMwBC,aANxB,GAUIN,GAVJ,CAMEO,kBANF,CAMwBD,aANxB;MAOEE,kBAPF,GAUIR,GAVJ,CAOEQ,kBAPF;MAQEC,kBARF,GAUIT,GAVJ,CAQES,kBARF;MASEC,qBATF,GAUIV,GAVJ,CASEU,qBATF;EAYA,IAAQC,EAAR,GAAeb,IAAf,CAAQa,EAAR;EAEA,IAAMC,aAAa,GAAGC,iBAAW,CAAC,YAAM;IACtC,IAAMC,kBAAkB,2CAAMH,EAAN,EAAW,IAAX,CAAxB;;IACAD,qBAAqB,CAACI,kBAAD,CAArB;IACA,IAAMC,gBAAgB,GAAG;MACvBC,YAAY,EAAE,wBAAM;QAClBV,aAAa,CAACR,IAAI,CAACmB,YAAN,CAAb;OAFqB;MAIvBlB,SAAS,EAATA;KAJF;IAMA,IAAIM,iBAAJ,EAAuBA,iBAAiB,CAACS,kBAAD,EAAqBhB,IAArB,EAA2BiB,gBAA3B,CAAjB;GATQ,EAU9B,CAACjB,IAAD,EAAOa,EAAP,EAAWN,iBAAX,EAA8BC,aAA9B,CAV8B,CAAjC;EAYA,IAAMY,SAAS,GAAGC,aAAO,CAAC;IAAA,wBAAgBX,kBAAhB;GAAD,EAAuC,CAACA,kBAAD,CAAvC,CAAzB;EAEA,oBACEY,wCAACC,cAAD;IACE,OAAO,EAAEZ,kBAAkB,CAACE,EAAD,CAAlB,KAA2B,IADtC;IAEE,IAAI,EAAEO,SAFR;IAGE,QAAQ,EAAEpB,IAAI,CAACwB,OAAL,GAAenB,aAAf,GAA+BC,YAH3C;IAIE,SAAS,EAAC,uBAJZ;IAKE,eAAY,iBALd;IAME,QAAQ,EAAEQ,aANZ;IAOE,QAAQ,EAAC;IARb;AAWD;;AAEDhB,eAAe,CAAC2B,SAAhB,GAA4B;EAC1BzB,IAAI,EAAE0B,8BAAoB,CAACC,UADD;EAE1B1B,SAAS,EAAE2B,6BAAS,CAACC,MAAV,CAAiBF;AAFF,CAA5B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItem.js","sources":["../../../src/parts/TreeItem.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useContext, useState, useMemo, useRef, useCallback } from 'react';\nimport { SortableElement, SortableHandle } from '@elliemae/react-sortable-hoc';\n\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { GripperVertical } from '@elliemae/ds-icons';\n\nimport { TreeItemPropTypes } from '../prop-types';\n\nimport RadioSelectable from './RadioSelectable';\nimport CheckboxSelectable from './CheckboxSelectable';\nimport TreeViewContext from '../TreeViewContext';\nimport { setMultipleRefs } from '../utils/refs-helpers';\nimport { useOnItemKeyDown } from '../utils/keyboard-helpers';\nimport { NestingSpace } from './NestingSpace';\nimport { Icon } from './Icon';\nimport { ExpandCaret } from './ExpandCaret';\nimport { TreeItemText } from './TreeItemText';\nimport { DSTreeViewPrefix, treeItemBlockName } from '../config/cssClassesConstants';\n\nexport const TreeListItem = aggregatedClasses('li', {\n 'data-testid': treeItemBlockName,\n role: 'treeitem',\n})(treeItemBlockName);\nexport const TreeListItemAddonsWrapper = aggregatedClasses('div')(treeItemBlockName, 'addons');\nconst DnDHandle = SortableHandle(({ id }) => (\n <GripperVertical\n data-testid=\"drag-handle\"\n key={`${id}-drag-handle`}\n className=\"drag-handle\"\n size=\"s\"\n onMouseDown={(e) => {\n // prevent focusing the drag-handle to avoid borders\n if (e) {\n e.preventDefault();\n }\n }}\n tabIndex=\"0\"\n />\n));\n\nexport const TreeItem = (props) => {\n const {\n item,\n itemIndex,\n itemWrapperStyle = {},\n virtualItemRef,\n spaceForNestingLevel = 1.5,\n onMouseDragOverItem,\n } = props;\n const { id, node } = item;\n const { nodeItemRef } = node.model;\n const openFolderOnHoverTimeout = useRef();\n\n const [isDraggingOverThis, setIsDraggingOverThis] = useState(false);\n const onItemKeyDown = useOnItemKeyDown(item);\n\n const ctx = useContext(TreeViewContext);\n const {\n props: { disableIcons, rightAddons, onItemClick, onItemFocus, rowSize, labelOverflow },\n relativeMouseCord,\n withRadioChecks,\n withCheckboxChecks,\n withDragAndDrop,\n selectedItem,\n selectedCheckboxes,\n hoverItem,\n isDragging,\n virtualListHelpers: { scrollToIndex },\n setHoverItem,\n setSelectedItem,\n setFocusedItem,\n } = ctx;\n\n // Sortable Items needs to update\n // - the virtual list ref (for react-virtual requirement)\n // - nodeItemRef which is a prop avaiable in the TreeModel nodes\n const setItemRefs = (ref) => {\n setMultipleRefs(virtualItemRef, nodeItemRef)(ref);\n };\n\n const dropPreviewClassName = useMemo(() => {\n if (!withDragAndDrop || !relativeMouseCord || !isDraggingOverThis) return '';\n const { isBefore, isAfter, isValid } = relativeMouseCord;\n let className = `${DSTreeViewPrefix}-${treeItemBlockName}${isValid ? '--valid' : '--invalid'}`;\n\n if (isBefore) className += '-drop-before';\n else if (isAfter) className += '-drop-after';\n else className += '-drop-in';\n return className;\n }, [withDragAndDrop, relativeMouseCord, isDraggingOverThis]);\n\n const selectedClassName = useMemo(() => (selectedItem?.id === item.id ? 'selected' : ''), [selectedItem]);\n const hoverClassName = useMemo(\n () => (hoverItem?.id !== item.id || (withDragAndDrop && isDragging) ? '' : 'hover'),\n [hoverItem, withDragAndDrop, isDragging],\n );\n const fixedHeightClassname = useMemo(() => {\n if (labelOverflow === 'truncate') {\n if (rowSize === 'compact') return `${DSTreeViewPrefix}-${treeItemBlockName}--fixed-height-compact`;\n return `${DSTreeViewPrefix}-${treeItemBlockName}--fixed-height`;\n }\n return '';\n }, [labelOverflow, rowSize]);\n\n const finalClassName = useMemo(\n () => `${dropPreviewClassName} ${fixedHeightClassname} ${selectedClassName} ${hoverClassName}`,\n [dropPreviewClassName, selectedClassName, hoverClassName, fixedHeightClassname],\n );\n\n const handleItemClick = useCallback(\n (e) => {\n onItemClick(item, e);\n setFocusedItem(item);\n setSelectedItem(item);\n onItemFocus({\n itemIndex: item.virtualIndex,\n scrollToItem: (opts = { align: 'start' }) => scrollToIndex(item.virtualIndex, opts),\n item,\n });\n },\n [item, scrollToIndex, onItemClick, onItemFocus, setSelectedItem, setFocusedItem],\n );\n\n return (\n <TreeListItem\n tabIndex=\"0\"\n onMouseMove={(event) => {\n if (withDragAndDrop) {\n onMouseDragOverItem({\n event,\n item,\n itemIndex,\n setIsDraggingOverThis,\n openFolderOnHoverTimeout,\n });\n }\n }}\n onMouseLeave={() => {\n if (withDragAndDrop) {\n setIsDraggingOverThis(false);\n if (openFolderOnHoverTimeout?.current) clearTimeout(openFolderOnHoverTimeout.current);\n }\n if (hoverItem?.id === item.id) {\n setHoverItem(null);\n }\n }}\n onMouseEnter={() => {\n setHoverItem(item);\n }}\n onClick={handleItemClick}\n ref={setItemRefs}\n style={{ ...itemWrapperStyle }}\n className={finalClassName}\n aria-expanded={item.isExpanded}\n aria-selected={selectedCheckboxes[item.id]}\n data-id={item.id}\n data-index={item.virtualIndex}\n onKeyDown={onItemKeyDown}\n >\n <TreeListItemAddonsWrapper>\n {withDragAndDrop ? <DnDHandle id={id} /> : null}\n {withRadioChecks ? <RadioSelectable item={item} itemIndex={itemIndex} /> : null}\n {withCheckboxChecks ? <CheckboxSelectable item={item} itemIndex={itemIndex} /> : null}\n <NestingSpace item={item} spaceForNestingLevel={spaceForNestingLevel} />\n <ExpandCaret item={item} />\n {!disableIcons ? <Icon item={item} /> : null}\n </TreeListItemAddonsWrapper>\n <TreeItemText item={item} />\n {rightAddons && (\n <TreeListItemAddonsWrapper>\n {typeof rightAddons === 'function' ? rightAddons(item) : rightAddons}\n </TreeListItemAddonsWrapper>\n )}\n </TreeListItem>\n );\n};\n\nTreeItem.propTypes = TreeItemPropTypes;\n\nexport const DragAndDropTreeItem = SortableElement(TreeItem);\n"],"names":["TreeListItem","aggregatedClasses","treeItemBlockName","role","TreeListItemAddonsWrapper","DnDHandle","SortableHandle","id","React","GripperVertical","e","preventDefault","TreeItem","props","item","itemIndex","itemWrapperStyle","virtualItemRef","spaceForNestingLevel","onMouseDragOverItem","node","nodeItemRef","model","openFolderOnHoverTimeout","useRef","useState","isDraggingOverThis","setIsDraggingOverThis","onItemKeyDown","useOnItemKeyDown","ctx","useContext","TreeViewContext","disableIcons","rightAddons","onItemClick","onItemFocus","rowSize","labelOverflow","relativeMouseCord","withRadioChecks","withCheckboxChecks","withDragAndDrop","selectedItem","selectedCheckboxes","hoverItem","isDragging","scrollToIndex","virtualListHelpers","setHoverItem","setSelectedItem","setFocusedItem","setItemRefs","ref","setMultipleRefs","dropPreviewClassName","useMemo","isBefore","isAfter","isValid","className","DSTreeViewPrefix","selectedClassName","hoverClassName","fixedHeightClassname","finalClassName","handleItemClick","useCallback","virtualIndex","scrollToItem","opts","align","event","current","clearTimeout","isExpanded","RadioSelectable","CheckboxSelectable","NestingSpace","ExpandCaret","Icon","TreeItemText","propTypes","TreeItemPropTypes","DragAndDropTreeItem","SortableElement"],"mappings":"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"}
1
+ {"version":3,"file":"TreeItem.js","sources":["../../../src/parts/TreeItem.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useContext, useState, useMemo, useRef, useCallback } from 'react';\nimport { SortableElement, SortableHandle } from '@elliemae/react-sortable-hoc';\n\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { GripperVertical } from '@elliemae/ds-icons';\n\nimport { TreeItemPropTypes } from '../prop-types';\n\nimport RadioSelectable from './RadioSelectable';\nimport CheckboxSelectable from './CheckboxSelectable';\nimport TreeViewContext from '../TreeViewContext';\nimport { setMultipleRefs } from '../utils/refs-helpers';\nimport { useOnItemKeyDown } from '../utils/keyboard-helpers';\nimport { NestingSpace } from './NestingSpace';\nimport { Icon } from './Icon';\nimport { ExpandCaret } from './ExpandCaret';\nimport { TreeItemText } from './TreeItemText';\nimport { DSTreeViewPrefix, treeItemBlockName } from '../config/cssClassesConstants';\n\nexport const TreeListItem = aggregatedClasses('li', {\n 'data-testid': treeItemBlockName,\n role: 'treeitem',\n})(treeItemBlockName);\nexport const TreeListItemAddonsWrapper = aggregatedClasses('div')(treeItemBlockName, 'addons');\nconst DnDHandle = SortableHandle(({ id }) => (\n <GripperVertical\n data-testid=\"drag-handle\"\n key={`${id}-drag-handle`}\n className=\"drag-handle\"\n size=\"s\"\n onMouseDown={(e) => {\n // prevent focusing the drag-handle to avoid borders\n if (e) {\n e.preventDefault();\n }\n }}\n tabIndex=\"0\"\n />\n));\n\nexport const TreeItem = (props) => {\n const {\n item,\n itemIndex,\n itemWrapperStyle = {},\n virtualItemRef,\n spaceForNestingLevel = 1.5,\n onMouseDragOverItem,\n } = props;\n const { id, node } = item;\n const { nodeItemRef } = node.model;\n const openFolderOnHoverTimeout = useRef();\n\n const [isDraggingOverThis, setIsDraggingOverThis] = useState(false);\n const onItemKeyDown = useOnItemKeyDown(item);\n\n const ctx = useContext(TreeViewContext);\n const {\n props: { disableIcons, rightAddons, onItemClick, onItemFocus, rowSize, labelOverflow },\n relativeMouseCord,\n withRadioChecks,\n withCheckboxChecks,\n withDragAndDrop,\n selectedItem,\n selectedCheckboxes,\n hoverItem,\n isDragging,\n virtualListHelpers: { scrollToIndex },\n setHoverItem,\n setSelectedItem,\n setFocusedItem,\n } = ctx;\n\n // Sortable Items needs to update\n // - the virtual list ref (for react-virtual requirement)\n // - nodeItemRef which is a prop avaiable in the TreeModel nodes\n const setItemRefs = (ref) => {\n setMultipleRefs(virtualItemRef, nodeItemRef)(ref);\n };\n\n const dropPreviewClassName = useMemo(() => {\n if (!withDragAndDrop || !relativeMouseCord || !isDraggingOverThis) return '';\n const { isBefore, isAfter, isValid } = relativeMouseCord;\n let className = `${DSTreeViewPrefix}-${treeItemBlockName}${isValid ? '--valid' : '--invalid'}`;\n\n if (isBefore) className += '-drop-before';\n else if (isAfter) className += '-drop-after';\n else className += '-drop-in';\n return className;\n }, [withDragAndDrop, relativeMouseCord, isDraggingOverThis]);\n\n const selectedClassName = useMemo(() => (selectedItem?.id === item.id ? 'selected' : ''), [selectedItem]);\n const hoverClassName = useMemo(\n () => (hoverItem?.id !== item.id || (withDragAndDrop && isDragging) ? '' : 'hover'),\n [hoverItem, withDragAndDrop, isDragging],\n );\n const fixedHeightClassname = useMemo(() => {\n if (labelOverflow === 'truncate') {\n if (rowSize === 'compact') return `${DSTreeViewPrefix}-${treeItemBlockName}--fixed-height-compact`;\n return `${DSTreeViewPrefix}-${treeItemBlockName}--fixed-height`;\n }\n return '';\n }, [labelOverflow, rowSize]);\n\n const finalClassName = useMemo(\n () => `${dropPreviewClassName} ${fixedHeightClassname} ${selectedClassName} ${hoverClassName}`,\n [dropPreviewClassName, selectedClassName, hoverClassName, fixedHeightClassname],\n );\n\n const handleItemClick = useCallback(\n (e) => {\n onItemClick(item, e);\n setFocusedItem(item);\n setSelectedItem(item);\n onItemFocus({\n itemIndex: item.virtualIndex,\n scrollToItem: (opts = { align: 'start' }) => scrollToIndex(item.virtualIndex, opts),\n item,\n });\n },\n [item, scrollToIndex, onItemClick, onItemFocus, setSelectedItem, setFocusedItem],\n );\n\n return (\n <TreeListItem\n tabIndex=\"0\"\n onMouseMove={(event) => {\n if (withDragAndDrop) {\n onMouseDragOverItem({\n event,\n item,\n itemIndex,\n setIsDraggingOverThis,\n openFolderOnHoverTimeout,\n });\n }\n }}\n onMouseLeave={() => {\n if (withDragAndDrop) {\n setIsDraggingOverThis(false);\n if (openFolderOnHoverTimeout?.current) clearTimeout(openFolderOnHoverTimeout.current);\n }\n if (hoverItem?.id === item.id) {\n setHoverItem(null);\n }\n }}\n onMouseEnter={() => {\n setHoverItem(item);\n }}\n onClick={handleItemClick}\n ref={setItemRefs}\n style={{ ...itemWrapperStyle }}\n className={finalClassName}\n aria-expanded={item.isExpanded}\n aria-selected={selectedCheckboxes[item.id]}\n data-id={item.id}\n data-index={item.virtualIndex}\n onKeyDown={onItemKeyDown}\n >\n <TreeListItemAddonsWrapper>\n {withDragAndDrop ? <DnDHandle id={id} /> : null}\n {withRadioChecks ? <RadioSelectable item={item} itemIndex={itemIndex} /> : null}\n {withCheckboxChecks ? <CheckboxSelectable item={item} itemIndex={itemIndex} /> : null}\n <NestingSpace item={item} spaceForNestingLevel={spaceForNestingLevel} />\n <ExpandCaret item={item} />\n {!disableIcons ? <Icon item={item} /> : null}\n </TreeListItemAddonsWrapper>\n <TreeItemText item={item} />\n {rightAddons && (\n <TreeListItemAddonsWrapper>\n {typeof rightAddons === 'function' ? rightAddons(item) : rightAddons}\n </TreeListItemAddonsWrapper>\n )}\n </TreeListItem>\n );\n};\n\nTreeItem.propTypes = TreeItemPropTypes;\n\nexport const DragAndDropTreeItem = SortableElement(TreeItem);\n"],"names":["TreeListItem","aggregatedClasses","treeItemBlockName","role","TreeListItemAddonsWrapper","DnDHandle","SortableHandle","id","React","GripperVertical","e","preventDefault","TreeItem","props","item","itemIndex","itemWrapperStyle","virtualItemRef","spaceForNestingLevel","onMouseDragOverItem","node","nodeItemRef","model","openFolderOnHoverTimeout","useRef","useState","isDraggingOverThis","setIsDraggingOverThis","onItemKeyDown","useOnItemKeyDown","ctx","useContext","TreeViewContext","disableIcons","rightAddons","onItemClick","onItemFocus","rowSize","labelOverflow","relativeMouseCord","withRadioChecks","withCheckboxChecks","withDragAndDrop","selectedItem","selectedCheckboxes","hoverItem","isDragging","scrollToIndex","virtualListHelpers","setHoverItem","setSelectedItem","setFocusedItem","setItemRefs","ref","setMultipleRefs","dropPreviewClassName","useMemo","isBefore","isAfter","isValid","className","DSTreeViewPrefix","selectedClassName","hoverClassName","fixedHeightClassname","finalClassName","handleItemClick","useCallback","virtualIndex","scrollToItem","opts","align","event","current","clearTimeout","isExpanded","RadioSelectable","CheckboxSelectable","NestingSpace","ExpandCaret","Icon","TreeItemText","propTypes","TreeItemPropTypes","DragAndDropTreeItem","SortableElement"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItemText.js","sources":["../../../src/parts/TreeItemText.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useMemo, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Highlighter from 'react-highlight-words';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nimport { ChildrenCountDisplayer } from './ChildrenCountDisplayer';\nimport { DSTreeViewPrefix, treeItemBlockName } from '../config/cssClassesConstants';\n\nimport TreeViewContext from '../TreeViewContext';\n\nconst ItemContent = aggregatedClasses('div')(`${treeItemBlockName}-content`);\nconst ItemValue = aggregatedClasses('span')(treeItemBlockName, 'value');\n\n// const wrapperClassName = `${DSTreeViewPrefix}-${treeItemBlockName}-content`;\nconst classNameModifierWrapAll = `${DSTreeViewPrefix}-${treeItemBlockName}__value--wrap-all`;\nconst classNameModifierTruncate = `${DSTreeViewPrefix}-${treeItemBlockName}__value--truncate`;\n\n// eslint-disable-next-line react/prop-types\nconst CustomHighlight = ({ children }) => (\n <mark className=\"tree-text-highlight\" data-testid=\"tree-text-highlight\">\n {children}\n </mark>\n);\nexport function TreeItemText(props) {\n const { item } = props;\n const ctx = useContext(TreeViewContext);\n const {\n props: { searchQuery, showChildrenAmount, labelOverflow, nameKey },\n } = ctx;\n\n const Text = useMemo(() => {\n const itemLabelText = item[nameKey];\n if (searchQuery) {\n if (labelOverflow === 'truncate') {\n return (\n <SimpleTruncatedTooltipText\n value={\n <>\n <Highlighter\n autoEscape\n highlightTag={CustomHighlight}\n searchWords={[searchQuery]}\n textToHighlight={itemLabelText}\n />\n {showChildrenAmount ? <ChildrenCountDisplayer item={item} /> : null}\n </>\n }\n />\n );\n }\n return (\n <>\n <Highlighter\n autoEscape\n highlightTag={CustomHighlight}\n searchWords={[searchQuery]}\n textToHighlight={itemLabelText}\n />\n {showChildrenAmount ? <ChildrenCountDisplayer item={item} /> : null}\n </>\n );\n }\n if (labelOverflow === 'truncate') {\n return (\n <SimpleTruncatedTooltipText\n value={\n <>\n {itemLabelText}\n {showChildrenAmount ? <ChildrenCountDisplayer item={item} /> : null}\n </>\n }\n />\n );\n }\n return (\n <>\n {itemLabelText}\n {showChildrenAmount ? <ChildrenCountDisplayer item={item} /> : null}\n </>\n );\n }, [item, searchQuery, nameKey, showChildrenAmount, labelOverflow]);\n\n let className = '';\n if (labelOverflow === 'wrap-all') className += `${classNameModifierWrapAll} `;\n if (labelOverflow === 'truncate') className += `${classNameModifierTruncate} `;\n\n return (\n <ItemContent data-testid={`${treeItemBlockName}-content`}>\n <ItemValue className={className}>{Text}</ItemValue>\n </ItemContent>\n );\n}\n\nTreeItemText.propTypes = {\n item: PropTypes.object.isRequired,\n};\n"],"names":["ItemContent","aggregatedClasses","treeItemBlockName","ItemValue","classNameModifierWrapAll","DSTreeViewPrefix","classNameModifierTruncate","CustomHighlight","children","React","TreeItemText","props","item","ctx","useContext","TreeViewContext","searchQuery","showChildrenAmount","labelOverflow","nameKey","Text","useMemo","itemLabelText","SimpleTruncatedTooltipText","Highlighter","ChildrenCountDisplayer","className","propTypes","PropTypes","object","isRequired"],"mappings":"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"}
1
+ {"version":3,"file":"TreeItemText.js","sources":["../../../src/parts/TreeItemText.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useMemo, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Highlighter from 'react-highlight-words';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nimport { ChildrenCountDisplayer } from './ChildrenCountDisplayer';\nimport { DSTreeViewPrefix, treeItemBlockName } from '../config/cssClassesConstants';\n\nimport TreeViewContext from '../TreeViewContext';\n\nconst ItemContent = aggregatedClasses('div')(`${treeItemBlockName}-content`);\nconst ItemValue = aggregatedClasses('span')(treeItemBlockName, 'value');\n\n// const wrapperClassName = `${DSTreeViewPrefix}-${treeItemBlockName}-content`;\nconst classNameModifierWrapAll = `${DSTreeViewPrefix}-${treeItemBlockName}__value--wrap-all`;\nconst classNameModifierTruncate = `${DSTreeViewPrefix}-${treeItemBlockName}__value--truncate`;\n\n// eslint-disable-next-line react/prop-types\nconst CustomHighlight = ({ children }) => (\n <mark className=\"tree-text-highlight\" data-testid=\"tree-text-highlight\">\n {children}\n </mark>\n);\nexport function TreeItemText(props) {\n const { item } = props;\n const ctx = useContext(TreeViewContext);\n const {\n props: { searchQuery, showChildrenAmount, labelOverflow, nameKey },\n } = ctx;\n\n const Text = useMemo(() => {\n const itemLabelText = item[nameKey];\n if (searchQuery) {\n if (labelOverflow === 'truncate') {\n return (\n <SimpleTruncatedTooltipText\n value={\n <>\n <Highlighter\n autoEscape\n highlightTag={CustomHighlight}\n searchWords={[searchQuery]}\n textToHighlight={itemLabelText}\n />\n {showChildrenAmount ? <ChildrenCountDisplayer item={item} /> : null}\n </>\n }\n />\n );\n }\n return (\n <>\n <Highlighter\n autoEscape\n highlightTag={CustomHighlight}\n searchWords={[searchQuery]}\n textToHighlight={itemLabelText}\n />\n {showChildrenAmount ? <ChildrenCountDisplayer item={item} /> : null}\n </>\n );\n }\n if (labelOverflow === 'truncate') {\n return (\n <SimpleTruncatedTooltipText\n value={\n <>\n {itemLabelText}\n {showChildrenAmount ? <ChildrenCountDisplayer item={item} /> : null}\n </>\n }\n />\n );\n }\n return (\n <>\n {itemLabelText}\n {showChildrenAmount ? <ChildrenCountDisplayer item={item} /> : null}\n </>\n );\n }, [item, searchQuery, nameKey, showChildrenAmount, labelOverflow]);\n\n let className = '';\n if (labelOverflow === 'wrap-all') className += `${classNameModifierWrapAll} `;\n if (labelOverflow === 'truncate') className += `${classNameModifierTruncate} `;\n\n return (\n <ItemContent data-testid={`${treeItemBlockName}-content`}>\n <ItemValue className={className}>{Text}</ItemValue>\n </ItemContent>\n );\n}\n\nTreeItemText.propTypes = {\n item: PropTypes.object.isRequired,\n};\n"],"names":["ItemContent","aggregatedClasses","treeItemBlockName","ItemValue","classNameModifierWrapAll","DSTreeViewPrefix","classNameModifierTruncate","CustomHighlight","children","React","TreeItemText","props","item","ctx","useContext","TreeViewContext","searchQuery","showChildrenAmount","labelOverflow","nameKey","Text","useMemo","itemLabelText","SimpleTruncatedTooltipText","Highlighter","ChildrenCountDisplayer","className","propTypes","PropTypes","object","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAYA,IAAMA,WAAW,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,WAA4BC,4CAA5B,cAApB;AACA,IAAMC,SAAS,GAAGF,8BAAiB,CAAC,MAAD,CAAjB,CAA0BC,4CAA1B,EAA6C,OAA7C,CAAlB;;AAGA,IAAME,wBAAwB,aAAMC,2CAAN,cAA0BH,4CAA1B,sBAA9B;AACA,IAAMI,yBAAyB,aAAMD,2CAAN,cAA0BH,4CAA1B,sBAA/B;;AAGA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB;EAAA,IAAGC,QAAH,QAAGA,QAAH;EAAA,oBACtBC;IAAM,SAAS,EAAC,qBAAhB;IAAsC,eAAY;KAC/CD,QADH,CADsB;AAAA,CAAxB;;AAKO,SAASE,YAAT,CAAsBC,KAAtB,EAA6B;EAClC,IAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;EACA,IAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;EACA,iBAEIF,GAFJ,CACEF,KADF;MACWK,WADX,cACWA,WADX;MACwBC,kBADxB,cACwBA,kBADxB;MAC4CC,aAD5C,cAC4CA,aAD5C;MAC2DC,OAD3D,cAC2DA,OAD3D;EAIA,IAAMC,IAAI,GAAGC,aAAO,CAAC,YAAM;IACzB,IAAMC,aAAa,GAAGV,IAAI,CAACO,OAAD,CAA1B;;IACA,IAAIH,WAAJ,EAAiB;MACf,IAAIE,aAAa,KAAK,UAAtB,EAAkC;QAChC,oBACET,wCAACc,iDAAD;UACE,KAAK,eACHd,+FACEA,wCAACe,+BAAD;YACE,UAAU,MADZ;YAEE,YAAY,EAAEjB,eAFhB;YAGE,WAAW,EAAE,CAACS,WAAD,CAHf;YAIE,eAAe,EAAEM;YALrB,EAOGL,kBAAkB,gBAAGR,wCAACgB,mDAAD;YAAwB,IAAI,EAAEb;YAAjC,GAA4C,IAPjE;UAHN;;;MAgBF,oBACEH,+FACEA,wCAACe,+BAAD;QACE,UAAU,MADZ;QAEE,YAAY,EAAEjB,eAFhB;QAGE,WAAW,EAAE,CAACS,WAAD,CAHf;QAIE,eAAe,EAAEM;QALrB,EAOGL,kBAAkB,gBAAGR,wCAACgB,mDAAD;QAAwB,IAAI,EAAEb;QAAjC,GAA4C,IAPjE,CADF;;;IAYF,IAAIM,aAAa,KAAK,UAAtB,EAAkC;MAChC,oBACET,wCAACc,iDAAD;QACE,KAAK,eACHd,kFACGa,aADH,EAEGL,kBAAkB,gBAAGR,wCAACgB,mDAAD;UAAwB,IAAI,EAAEb;UAAjC,GAA4C,IAFjE;QAHN;;;IAWF,oBACEH,kFACGa,aADH,EAEGL,kBAAkB,gBAAGR,wCAACgB,mDAAD;MAAwB,IAAI,EAAEb;MAAjC,GAA4C,IAFjE,CADF;GA5CkB,EAkDjB,CAACA,IAAD,EAAOI,WAAP,EAAoBG,OAApB,EAA6BF,kBAA7B,EAAiDC,aAAjD,CAlDiB,CAApB;EAoDA,IAAIQ,SAAS,GAAG,EAAhB;EACA,IAAIR,aAAa,KAAK,UAAtB,EAAkCQ,SAAS,cAAOtB,wBAAP,MAAT;EAClC,IAAIc,aAAa,KAAK,UAAtB,EAAkCQ,SAAS,cAAOpB,yBAAP,MAAT;EAElC,oBACEG,wCAAC,WAAD;IAAa,yBAAgBP,4CAAhB;kBACXO,wCAAC,SAAD;IAAW,SAAS,EAAEiB;KAAYN,IAAlC,CADF,CADF;AAKD;AAEDV,YAAY,CAACiB,SAAb,GAAyB;EACvBf,IAAI,EAAEgB,6BAAS,CAACC,MAAV,CAAiBC;AADA,CAAzB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeList.js","sources":["../../../src/parts/TreeList.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useContext } from 'react';\nimport { SortableContainer } from '@elliemae/react-sortable-hoc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSCircularProgressIndicator } from '@elliemae/ds-circular-progress-indicator';\n\nimport TreeViewContext from '../TreeViewContext';\nimport { TreeListPropTypes } from '../prop-types';\n\nimport { TreeItem, DragAndDropTreeItem } from './TreeItem';\nimport {\n DSTreeViewPrefix,\n treeListBlockName,\n} from '../config/cssClassesConstants';\n\nexport const treeListNoItemsBn = `${treeListBlockName}-no-items`;\nexport const TreeListNoItems = aggregatedClasses('div', {\n 'data-testid': treeListNoItemsBn,\n})(treeListNoItemsBn);\n\nexport const TreeListWrapper = aggregatedClasses('ul', {\n 'data-testid': treeListBlockName,\n role: 'tree',\n})(treeListBlockName, null, ({ rowSize }) => ({\n [`rowsize-${rowSize}`]: rowSize,\n}));\n\nconst compactRowClass = `${DSTreeViewPrefix}-tv-row-size-compact`;\nconst normaRowClass = `${DSTreeViewPrefix}-tv-row-size-normal`;\n\nexport const TreeList = (props) => {\n const { onMouseDragOverItem } = props;\n const ctx = useContext(TreeViewContext);\n const {\n virtualListRef,\n virtualListHelpers,\n visibleItems,\n withDragAndDrop,\n props: { width, height, rowSize, noItemsPlaceholder, isLoading },\n } = ctx;\n const { totalSize, virtualItems } = virtualListHelpers;\n const className = `${\n rowSize === 'compact' ? `${compactRowClass}` : `${normaRowClass}`\n }`;\n\n return (\n <TreeListWrapper\n ref={virtualListRef}\n className={className}\n style={{\n height: `${typeof height === 'number' ? `${height}px` : height}`,\n width: `${typeof width === 'number' ? `${width}px` : width}`,\n overflow: 'auto',\n }}\n >\n {isLoading ? (\n <div\n style={{\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <DSCircularProgressIndicator\n size=\"xl\"\n loading={isLoading}\n showLabel\n waiting={false}\n showTooltip={false}\n />\n </div>\n ) : null}\n {!isLoading && virtualItems.length === 0 ? (\n <TreeListNoItems>{noItemsPlaceholder}</TreeListNoItems>\n ) : null}\n {!isLoading && virtualItems.length !== 0 ? (\n <div\n style={{\n height: `${totalSize}px`,\n width: '100%',\n position: 'relative',\n }}\n >\n {virtualItems.map((virtualItem) => {\n const { index, measureRef, start } = virtualItem;\n const item = visibleItems[index];\n item.virtualIndex = index;\n const { id } = item;\n\n const style = {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${start}px)`,\n };\n\n const listItemProps = {\n key: `DS-TreeView-List-Item-${id}`,\n virtualItemRef: measureRef,\n index, // this is consumed by the DnD HOC\n itemIndex: index,\n item,\n itemWrapperStyle: style,\n };\n\n if (withDragAndDrop)\n return (\n <DragAndDropTreeItem\n {...listItemProps}\n onMouseDragOverItem={onMouseDragOverItem}\n />\n );\n return <TreeItem {...listItemProps} />;\n })}\n </div>\n ) : null}\n </TreeListWrapper>\n );\n};\nTreeList.propTypes = TreeListPropTypes;\nexport const DragAndDropTreeList = SortableContainer(TreeList);\n"],"names":["treeListNoItemsBn","treeListBlockName","TreeListNoItems","aggregatedClasses","TreeListWrapper","role","rowSize","compactRowClass","DSTreeViewPrefix","normaRowClass","TreeList","props","onMouseDragOverItem","ctx","useContext","TreeViewContext","virtualListRef","virtualListHelpers","visibleItems","withDragAndDrop","width","height","noItemsPlaceholder","isLoading","totalSize","virtualItems","className","React","overflow","display","alignItems","justifyContent","DSCircularProgressIndicator","length","position","map","virtualItem","index","measureRef","start","item","virtualIndex","id","style","top","left","transform","listItemProps","key","virtualItemRef","itemIndex","itemWrapperStyle","DragAndDropTreeItem","TreeItem","propTypes","TreeListPropTypes","DragAndDropTreeList","SortableContainer"],"mappings":"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"}
1
+ {"version":3,"file":"TreeList.js","sources":["../../../src/parts/TreeList.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useContext } from 'react';\nimport { SortableContainer } from '@elliemae/react-sortable-hoc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSCircularProgressIndicator } from '@elliemae/ds-circular-progress-indicator';\n\nimport TreeViewContext from '../TreeViewContext';\nimport { TreeListPropTypes } from '../prop-types';\n\nimport { TreeItem, DragAndDropTreeItem } from './TreeItem';\nimport {\n DSTreeViewPrefix,\n treeListBlockName,\n} from '../config/cssClassesConstants';\n\nexport const treeListNoItemsBn = `${treeListBlockName}-no-items`;\nexport const TreeListNoItems = aggregatedClasses('div', {\n 'data-testid': treeListNoItemsBn,\n})(treeListNoItemsBn);\n\nexport const TreeListWrapper = aggregatedClasses('ul', {\n 'data-testid': treeListBlockName,\n role: 'tree',\n})(treeListBlockName, null, ({ rowSize }) => ({\n [`rowsize-${rowSize}`]: rowSize,\n}));\n\nconst compactRowClass = `${DSTreeViewPrefix}-tv-row-size-compact`;\nconst normaRowClass = `${DSTreeViewPrefix}-tv-row-size-normal`;\n\nexport const TreeList = (props) => {\n const { onMouseDragOverItem } = props;\n const ctx = useContext(TreeViewContext);\n const {\n virtualListRef,\n virtualListHelpers,\n visibleItems,\n withDragAndDrop,\n props: { width, height, rowSize, noItemsPlaceholder, isLoading },\n } = ctx;\n const { totalSize, virtualItems } = virtualListHelpers;\n const className = `${\n rowSize === 'compact' ? `${compactRowClass}` : `${normaRowClass}`\n }`;\n\n return (\n <TreeListWrapper\n ref={virtualListRef}\n className={className}\n style={{\n height: `${typeof height === 'number' ? `${height}px` : height}`,\n width: `${typeof width === 'number' ? `${width}px` : width}`,\n overflow: 'auto',\n }}\n >\n {isLoading ? (\n <div\n style={{\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <DSCircularProgressIndicator\n size=\"xl\"\n loading={isLoading}\n showLabel\n waiting={false}\n showTooltip={false}\n />\n </div>\n ) : null}\n {!isLoading && virtualItems.length === 0 ? (\n <TreeListNoItems>{noItemsPlaceholder}</TreeListNoItems>\n ) : null}\n {!isLoading && virtualItems.length !== 0 ? (\n <div\n style={{\n height: `${totalSize}px`,\n width: '100%',\n position: 'relative',\n }}\n >\n {virtualItems.map((virtualItem) => {\n const { index, measureRef, start } = virtualItem;\n const item = visibleItems[index];\n item.virtualIndex = index;\n const { id } = item;\n\n const style = {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${start}px)`,\n };\n\n const listItemProps = {\n key: `DS-TreeView-List-Item-${id}`,\n virtualItemRef: measureRef,\n index, // this is consumed by the DnD HOC\n itemIndex: index,\n item,\n itemWrapperStyle: style,\n };\n\n if (withDragAndDrop)\n return (\n <DragAndDropTreeItem\n {...listItemProps}\n onMouseDragOverItem={onMouseDragOverItem}\n />\n );\n return <TreeItem {...listItemProps} />;\n })}\n </div>\n ) : null}\n </TreeListWrapper>\n );\n};\nTreeList.propTypes = TreeListPropTypes;\nexport const DragAndDropTreeList = SortableContainer(TreeList);\n"],"names":["treeListNoItemsBn","treeListBlockName","TreeListNoItems","aggregatedClasses","TreeListWrapper","role","rowSize","compactRowClass","DSTreeViewPrefix","normaRowClass","TreeList","props","onMouseDragOverItem","ctx","useContext","TreeViewContext","virtualListRef","virtualListHelpers","visibleItems","withDragAndDrop","width","height","noItemsPlaceholder","isLoading","totalSize","virtualItems","className","React","overflow","display","alignItems","justifyContent","DSCircularProgressIndicator","length","position","map","virtualItem","index","measureRef","start","item","virtualIndex","id","style","top","left","transform","listItemProps","key","virtualItemRef","itemIndex","itemWrapperStyle","DragAndDropTreeItem","TreeItem","propTypes","TreeListPropTypes","DragAndDropTreeList","SortableContainer"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeDndPlugin.js","sources":["../../../../src/plugins/dnd/TreeDndPlugin.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { DragAndDropTreeList } from '../../parts/TreeList';\n\nimport { useDnDHelpers } from '../../utils/useDnDHelpers';\nimport { keyCodes } from '../../utils/dnd-helpers';\n\nimport TreeViewContext from '../../TreeViewContext';\nexport const TreeDnD = () => {\n const {\n updateBeforeSortStart,\n onSortStart,\n onMouseDragOverItem,\n onSortEnd,\n } = useDnDHelpers();\n const ctx = useContext(TreeViewContext);\n const { virtualListRef } = ctx;\n return (\n <DragAndDropTreeList\n useDragHandle\n transitionDuration={0}\n keyboardSortingTransitionDuration={0}\n hideSortableGhost={false}\n disableAnimation\n updateBeforeSortStart={updateBeforeSortStart}\n onSortStart={onSortStart}\n onMouseDragOverItem={onMouseDragOverItem}\n onSortEnd={onSortEnd}\n getContainer={() => virtualListRef.current}\n keyCodes={keyCodes}\n />\n );\n};\n\nexport const TreeDndPlugin = 'tree-dnd';\n"],"names":["TreeDnD","useDnDHelpers","updateBeforeSortStart","onSortStart","onMouseDragOverItem","onSortEnd","ctx","useContext","TreeViewContext","virtualListRef","React","DragAndDropTreeList","current","keyCodes","TreeDndPlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQaA,OAAO,GAAG,SAAVA,OAAU,GAAM;AAC3B,uBAKIC,iCAAa,EALjB;AAAA,MACEC,qBADF,kBACEA,qBADF;AAAA,MAEEC,WAFF,kBAEEA,WAFF;AAAA,MAGEC,mBAHF,kBAGEA,mBAHF;AAAA,MAIEC,SAJF,kBAIEA,SAJF;;AAMA,MAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;AACA,MAAQC,cAAR,GAA2BH,GAA3B,CAAQG,cAAR;AACA,sBACEC,wCAACC,kCAAD;AACE,IAAA,aAAa,MADf;AAEE,IAAA,kBAAkB,EAAE,CAFtB;AAGE,IAAA,iCAAiC,EAAE,CAHrC;AAIE,IAAA,iBAAiB,EAAE,KAJrB;AAKE,IAAA,gBAAgB,MALlB;AAME,IAAA,qBAAqB,EAAET,qBANzB;AAOE,IAAA,WAAW,EAAEC,WAPf;AAQE,IAAA,mBAAmB,EAAEC,mBARvB;AASE,IAAA,SAAS,EAAEC,SATb;AAUE,IAAA,YAAY,EAAE;AAAA,aAAMI,cAAc,CAACG,OAArB;AAAA,KAVhB;AAWE,IAAA,QAAQ,EAAEC;AAXZ,IADF;AAeD;IAEYC,aAAa,GAAG;;;;;"}
1
+ {"version":3,"file":"TreeDndPlugin.js","sources":["../../../../src/plugins/dnd/TreeDndPlugin.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { DragAndDropTreeList } from '../../parts/TreeList';\n\nimport { useDnDHelpers } from '../../utils/useDnDHelpers';\nimport { keyCodes } from '../../utils/dnd-helpers';\n\nimport TreeViewContext from '../../TreeViewContext';\nexport const TreeDnD = () => {\n const {\n updateBeforeSortStart,\n onSortStart,\n onMouseDragOverItem,\n onSortEnd,\n } = useDnDHelpers();\n const ctx = useContext(TreeViewContext);\n const { virtualListRef } = ctx;\n return (\n <DragAndDropTreeList\n useDragHandle\n transitionDuration={0}\n keyboardSortingTransitionDuration={0}\n hideSortableGhost={false}\n disableAnimation\n updateBeforeSortStart={updateBeforeSortStart}\n onSortStart={onSortStart}\n onMouseDragOverItem={onMouseDragOverItem}\n onSortEnd={onSortEnd}\n getContainer={() => virtualListRef.current}\n keyCodes={keyCodes}\n />\n );\n};\n\nexport const TreeDndPlugin = 'tree-dnd';\n"],"names":["TreeDnD","useDnDHelpers","updateBeforeSortStart","onSortStart","onMouseDragOverItem","onSortEnd","ctx","useContext","TreeViewContext","virtualListRef","React","DragAndDropTreeList","current","keyCodes","TreeDndPlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQaA,OAAO,GAAG,SAAVA,OAAU,GAAM;EAC3B,qBAKIC,iCAAa,EALjB;MACEC,qBADF,kBACEA,qBADF;MAEEC,WAFF,kBAEEA,WAFF;MAGEC,mBAHF,kBAGEA,mBAHF;MAIEC,SAJF,kBAIEA,SAJF;;EAMA,IAAMC,GAAG,GAAGC,gBAAU,CAACC,0BAAD,CAAtB;EACA,IAAQC,cAAR,GAA2BH,GAA3B,CAAQG,cAAR;EACA,oBACEC,wCAACC,kCAAD;IACE,aAAa,MADf;IAEE,kBAAkB,EAAE,CAFtB;IAGE,iCAAiC,EAAE,CAHrC;IAIE,iBAAiB,EAAE,KAJrB;IAKE,gBAAgB,MALlB;IAME,qBAAqB,EAAET,qBANzB;IAOE,WAAW,EAAEC,WAPf;IAQE,mBAAmB,EAAEC,mBARvB;IASE,SAAS,EAAEC,SATb;IAUE,YAAY,EAAE;MAAA,OAAMI,cAAc,CAACG,OAArB;KAVhB;IAWE,QAAQ,EAAEC;IAZd;AAeD;IAEYC,aAAa,GAAG;;;;;"}