@fluentui/react-tree 9.16.4 → 9.16.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -2
- package/dist/index.d.cts +941 -0
- package/lib/FlatTree.js +1 -1
- package/lib/FlatTree.js.map +1 -1
- package/lib/FlatTreeItem.js +1 -1
- package/lib/FlatTreeItem.js.map +1 -1
- package/lib/Tree.js +1 -1
- package/lib/Tree.js.map +1 -1
- package/lib/TreeItem.js +1 -1
- package/lib/TreeItem.js.map +1 -1
- package/lib/TreeItemLayout.js +1 -1
- package/lib/TreeItemLayout.js.map +1 -1
- package/lib/TreeItemPersonaLayout.js +1 -1
- package/lib/TreeItemPersonaLayout.js.map +1 -1
- package/lib/components/FlatTree/FlatTree.js +6 -6
- package/lib/components/FlatTree/FlatTree.js.map +1 -1
- package/lib/components/FlatTree/index.js +6 -6
- package/lib/components/FlatTree/index.js.map +1 -1
- package/lib/components/FlatTree/renderFlatTree.js +1 -1
- package/lib/components/FlatTree/renderFlatTree.js.map +1 -1
- package/lib/components/FlatTree/useFlatControllableCheckedItems.js +4 -4
- package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -1
- package/lib/components/FlatTree/useFlatTree.js +8 -8
- package/lib/components/FlatTree/useFlatTree.js.map +1 -1
- package/lib/components/FlatTree/useFlatTreeContextValues.js +1 -1
- package/lib/components/FlatTree/useFlatTreeStyles.styles.js +2 -2
- package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -1
- package/lib/components/FlatTree/useFlatTreeStyles.styles.raw.js +2 -2
- package/lib/components/FlatTree/useHeadlessFlatTree.js +10 -10
- package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -1
- package/lib/components/FlatTreeItem/FlatTreeItem.js +1 -1
- package/lib/components/FlatTreeItem/FlatTreeItem.js.map +1 -1
- package/lib/components/FlatTreeItem/index.js +1 -1
- package/lib/components/FlatTreeItem/index.js.map +1 -1
- package/lib/components/Tree/Tree.js +6 -6
- package/lib/components/Tree/Tree.js.map +1 -1
- package/lib/components/Tree/index.js +5 -5
- package/lib/components/Tree/index.js.map +1 -1
- package/lib/components/Tree/renderTree.js +2 -2
- package/lib/components/Tree/renderTree.js.map +1 -1
- package/lib/components/Tree/useNestedControllableCheckedItems.js +3 -3
- package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -1
- package/lib/components/Tree/useTree.js +11 -11
- package/lib/components/Tree/useTree.js.map +1 -1
- package/lib/components/Tree/useTreeContextValues.js +1 -1
- package/lib/components/Tree/useTreeStyles.styles.js +2 -2
- package/lib/components/Tree/useTreeStyles.styles.js.map +1 -1
- package/lib/components/Tree/useTreeStyles.styles.raw.js +2 -2
- package/lib/components/TreeItem/TreeItem.js +6 -6
- package/lib/components/TreeItem/TreeItem.js.map +1 -1
- package/lib/components/TreeItem/index.js +5 -5
- package/lib/components/TreeItem/index.js.map +1 -1
- package/lib/components/TreeItem/renderTreeItem.js +2 -2
- package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItem.js +9 -9
- package/lib/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemContextValues.js +1 -1
- package/lib/components/TreeItem/useTreeItemStyles.styles.js +6 -6
- package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemStyles.styles.raw.js +6 -6
- package/lib/components/TreeItem/useTreeItemStyles.styles.raw.js.map +1 -1
- package/lib/components/TreeItemChevron.js +5 -5
- package/lib/components/TreeItemChevron.js.map +1 -1
- package/lib/components/TreeItemLayout/TreeItemLayout.js +5 -5
- package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/index.js +4 -4
- package/lib/components/TreeItemLayout/index.js.map +1 -1
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js +2 -2
- package/lib/components/TreeItemLayout/useTreeItemLayout.js +8 -8
- package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +5 -5
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.raw.js +5 -5
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.raw.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +6 -6
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/index.js +4 -4
- package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +3 -3
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +6 -6
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +5 -5
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.raw.js +5 -5
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.raw.js.map +1 -1
- package/lib/components/TreeProvider.js +2 -2
- package/lib/components/TreeProvider.js.map +1 -1
- package/lib/contexts/index.js +3 -3
- package/lib/contexts/index.js.map +1 -1
- package/lib/contexts/subtreeContext.js +1 -1
- package/lib/contexts/treeContext.js +3 -3
- package/lib/contexts/treeContext.js.map +1 -1
- package/lib/contexts/treeItemContext.js +3 -3
- package/lib/contexts/treeItemContext.js.map +1 -1
- package/lib/hooks/useControllableOpenItems.js +3 -3
- package/lib/hooks/useControllableOpenItems.js.map +1 -1
- package/lib/hooks/useFlatTreeNavigation.js +9 -9
- package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib/hooks/useHTMLElementWalkerRef.js +4 -4
- package/lib/hooks/useHTMLElementWalkerRef.js.map +1 -1
- package/lib/hooks/useRootTree.js +8 -8
- package/lib/hooks/useRootTree.js.map +1 -1
- package/lib/hooks/useRovingTabIndexes.js +3 -3
- package/lib/hooks/useSubtree.js +4 -4
- package/lib/hooks/useSubtree.js.map +1 -1
- package/lib/hooks/useTreeNavigation.js +8 -8
- package/lib/hooks/useTreeNavigation.js.map +1 -1
- package/lib/index.js +12 -12
- package/lib/index.js.map +1 -1
- package/lib/utils/createCheckedItems.js +1 -1
- package/lib/utils/createCheckedItems.js.map +1 -1
- package/lib/utils/createHTMLElementWalker.js +1 -1
- package/lib/utils/tokens.js +1 -1
- package/lib-commonjs/{FlatTree.js → FlatTree.cjs} +1 -1
- package/lib-commonjs/{FlatTree.js.map → FlatTree.cjs.map} +1 -1
- package/lib-commonjs/{FlatTreeItem.js → FlatTreeItem.cjs} +1 -1
- package/lib-commonjs/{FlatTreeItem.js.map → FlatTreeItem.cjs.map} +1 -1
- package/lib-commonjs/{Tree.js → Tree.cjs} +1 -1
- package/lib-commonjs/{Tree.js.map → Tree.cjs.map} +1 -1
- package/lib-commonjs/{TreeItem.js → TreeItem.cjs} +1 -1
- package/lib-commonjs/{TreeItem.js.map → TreeItem.cjs.map} +1 -1
- package/lib-commonjs/{TreeItemLayout.js → TreeItemLayout.cjs} +1 -1
- package/lib-commonjs/{TreeItemLayout.js.map → TreeItemLayout.cjs.map} +1 -1
- package/lib-commonjs/{TreeItemPersonaLayout.js → TreeItemPersonaLayout.cjs} +1 -1
- package/lib-commonjs/{TreeItemPersonaLayout.js.map → TreeItemPersonaLayout.cjs.map} +1 -1
- package/lib-commonjs/components/FlatTree/{FlatTree.js → FlatTree.cjs} +4 -4
- package/lib-commonjs/components/FlatTree/{FlatTree.js.map → FlatTree.cjs.map} +1 -1
- package/lib-commonjs/components/FlatTree/{index.js → index.cjs} +6 -6
- package/lib-commonjs/components/FlatTree/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/FlatTree/{renderFlatTree.js → renderFlatTree.cjs} +1 -1
- package/lib-commonjs/components/FlatTree/{renderFlatTree.js.map → renderFlatTree.cjs.map} +1 -1
- package/lib-commonjs/components/FlatTree/{useFlatControllableCheckedItems.js → useFlatControllableCheckedItems.cjs} +2 -2
- package/lib-commonjs/components/FlatTree/{useFlatControllableCheckedItems.js.map → useFlatControllableCheckedItems.cjs.map} +1 -1
- package/lib-commonjs/components/FlatTree/{useFlatTree.js → useFlatTree.cjs} +6 -6
- package/lib-commonjs/components/FlatTree/{useFlatTree.js.map → useFlatTree.cjs.map} +1 -1
- package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/FlatTree/{useHeadlessFlatTree.js → useHeadlessFlatTree.cjs} +8 -8
- package/lib-commonjs/components/FlatTree/{useHeadlessFlatTree.js.map → useHeadlessFlatTree.cjs.map} +1 -1
- package/lib-commonjs/components/FlatTreeItem/{FlatTreeItem.js → FlatTreeItem.cjs} +1 -1
- package/lib-commonjs/components/FlatTreeItem/{FlatTreeItem.js.map → FlatTreeItem.cjs.map} +1 -1
- package/lib-commonjs/components/FlatTreeItem/{index.js → index.cjs} +1 -1
- package/lib-commonjs/components/FlatTreeItem/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/Tree/{Tree.js → Tree.cjs} +4 -4
- package/lib-commonjs/components/Tree/{Tree.js.map → Tree.cjs.map} +1 -1
- package/lib-commonjs/components/Tree/{index.js → index.cjs} +5 -5
- package/lib-commonjs/components/Tree/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/Tree/{renderTree.js → renderTree.cjs} +1 -1
- package/lib-commonjs/components/Tree/{renderTree.js.map → renderTree.cjs.map} +1 -1
- package/lib-commonjs/components/Tree/{useNestedControllableCheckedItems.js → useNestedControllableCheckedItems.cjs} +2 -2
- package/lib-commonjs/components/Tree/{useNestedControllableCheckedItems.js.map → useNestedControllableCheckedItems.cjs.map} +1 -1
- package/lib-commonjs/components/Tree/{useTree.js → useTree.cjs} +9 -9
- package/lib-commonjs/components/Tree/{useTree.js.map → useTree.cjs.map} +1 -1
- package/lib-commonjs/components/Tree/useTreeStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/TreeItem/{TreeItem.js → TreeItem.cjs} +4 -4
- package/lib-commonjs/components/TreeItem/{TreeItem.js.map → TreeItem.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItem/{index.js → index.cjs} +5 -5
- package/lib-commonjs/components/TreeItem/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItem/{renderTreeItem.js → renderTreeItem.cjs} +2 -2
- package/lib-commonjs/components/TreeItem/{renderTreeItem.js.map → renderTreeItem.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItem/{useTreeItem.js → useTreeItem.cjs} +14 -14
- package/lib-commonjs/components/TreeItem/{useTreeItem.js.map → useTreeItem.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItem/{useTreeItemStyles.styles.js → useTreeItemStyles.styles.cjs} +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/TreeItem/{useTreeItemStyles.styles.raw.js → useTreeItemStyles.styles.raw.cjs} +3 -3
- package/lib-commonjs/components/TreeItem/{useTreeItemStyles.styles.raw.js.map → useTreeItemStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/{TreeItemChevron.js → TreeItemChevron.cjs} +1 -1
- package/lib-commonjs/components/{TreeItemChevron.js.map → TreeItemChevron.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItemLayout/{TreeItemLayout.js → TreeItemLayout.cjs} +3 -3
- package/lib-commonjs/components/TreeItemLayout/{TreeItemLayout.js.map → TreeItemLayout.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItemLayout/{index.js → index.cjs} +4 -4
- package/lib-commonjs/components/TreeItemLayout/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayout.js → useTreeItemLayout.cjs} +12 -12
- package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayout.js.map → useTreeItemLayout.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayoutStyles.styles.js → useTreeItemLayoutStyles.styles.cjs} +2 -2
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayoutStyles.styles.raw.js → useTreeItemLayoutStyles.styles.raw.cjs} +3 -3
- package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayoutStyles.styles.raw.js.map → useTreeItemLayoutStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/{TreeItemPersonaLayout.js → TreeItemPersonaLayout.cjs} +4 -4
- package/lib-commonjs/components/TreeItemPersonaLayout/{TreeItemPersonaLayout.js.map → TreeItemPersonaLayout.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/{index.js → index.cjs} +4 -4
- package/lib-commonjs/components/TreeItemPersonaLayout/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayout.js → useTreeItemPersonaLayout.cjs} +5 -5
- package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayout.js.map → useTreeItemPersonaLayout.cjs.map} +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.styles.js → useTreeItemPersonaLayoutStyles.styles.cjs} +2 -2
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.styles.raw.js → useTreeItemPersonaLayoutStyles.styles.raw.cjs} +3 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.styles.raw.js.map → useTreeItemPersonaLayoutStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/{TreeProvider.js → TreeProvider.cjs} +5 -5
- package/lib-commonjs/components/{TreeProvider.js.map → TreeProvider.cjs.map} +1 -1
- package/lib-commonjs/contexts/{index.js → index.cjs} +3 -3
- package/lib-commonjs/contexts/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/contexts/{treeContext.js → treeContext.cjs} +2 -2
- package/lib-commonjs/contexts/{treeContext.js.map → treeContext.cjs.map} +1 -1
- package/lib-commonjs/contexts/{treeItemContext.js → treeItemContext.cjs} +1 -1
- package/lib-commonjs/contexts/{treeItemContext.js.map → treeItemContext.cjs.map} +1 -1
- package/lib-commonjs/hooks/{useControllableOpenItems.js → useControllableOpenItems.cjs} +1 -1
- package/lib-commonjs/hooks/{useControllableOpenItems.js.map → useControllableOpenItems.cjs.map} +1 -1
- package/lib-commonjs/hooks/{useFlatTreeNavigation.js → useFlatTreeNavigation.cjs} +6 -6
- package/lib-commonjs/hooks/{useFlatTreeNavigation.js.map → useFlatTreeNavigation.cjs.map} +1 -1
- package/lib-commonjs/hooks/{useHTMLElementWalkerRef.js → useHTMLElementWalkerRef.cjs} +2 -2
- package/lib-commonjs/hooks/{useHTMLElementWalkerRef.js.map → useHTMLElementWalkerRef.cjs.map} +1 -1
- package/lib-commonjs/hooks/{useRootTree.js → useRootTree.cjs} +5 -5
- package/lib-commonjs/hooks/{useRootTree.js.map → useRootTree.cjs.map} +1 -1
- package/lib-commonjs/hooks/{useSubtree.js → useSubtree.cjs} +1 -1
- package/lib-commonjs/hooks/{useSubtree.js.map → useSubtree.cjs.map} +1 -1
- package/lib-commonjs/hooks/{useTreeNavigation.js → useTreeNavigation.cjs} +5 -5
- package/lib-commonjs/hooks/{useTreeNavigation.js.map → useTreeNavigation.cjs.map} +1 -1
- package/lib-commonjs/{index.js → index.cjs} +16 -16
- package/lib-commonjs/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/utils/{createCheckedItems.js → createCheckedItems.cjs} +1 -1
- package/lib-commonjs/utils/{createCheckedItems.js.map → createCheckedItems.cjs.map} +1 -1
- package/package.json +27 -21
- package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +0 -1
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +0 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +0 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +0 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +0 -1
- /package/lib-commonjs/components/FlatTree/{FlatTree.types.js → FlatTree.types.cjs} +0 -0
- /package/lib-commonjs/components/FlatTree/{FlatTree.types.js.map → FlatTree.types.cjs.map} +0 -0
- /package/lib-commonjs/components/FlatTree/{useFlatTreeContextValues.js → useFlatTreeContextValues.cjs} +0 -0
- /package/lib-commonjs/components/FlatTree/{useFlatTreeContextValues.js.map → useFlatTreeContextValues.cjs.map} +0 -0
- /package/lib-commonjs/components/FlatTree/{useFlatTreeStyles.styles.js → useFlatTreeStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/FlatTree/{useFlatTreeStyles.styles.raw.js → useFlatTreeStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/FlatTree/{useFlatTreeStyles.styles.raw.js.map → useFlatTreeStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/FlatTreeItem/{FlatTreeItem.types.js → FlatTreeItem.types.cjs} +0 -0
- /package/lib-commonjs/components/FlatTreeItem/{FlatTreeItem.types.js.map → FlatTreeItem.types.cjs.map} +0 -0
- /package/lib-commonjs/components/Tree/{Tree.types.js → Tree.types.cjs} +0 -0
- /package/lib-commonjs/components/Tree/{Tree.types.js.map → Tree.types.cjs.map} +0 -0
- /package/lib-commonjs/components/Tree/{useTreeContextValues.js → useTreeContextValues.cjs} +0 -0
- /package/lib-commonjs/components/Tree/{useTreeContextValues.js.map → useTreeContextValues.cjs.map} +0 -0
- /package/lib-commonjs/components/Tree/{useTreeStyles.styles.js → useTreeStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/Tree/{useTreeStyles.styles.raw.js → useTreeStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/Tree/{useTreeStyles.styles.raw.js.map → useTreeStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/TreeItem/{TreeItem.types.js → TreeItem.types.cjs} +0 -0
- /package/lib-commonjs/components/TreeItem/{TreeItem.types.js.map → TreeItem.types.cjs.map} +0 -0
- /package/lib-commonjs/components/TreeItem/{useTreeItemContextValues.js → useTreeItemContextValues.cjs} +0 -0
- /package/lib-commonjs/components/TreeItem/{useTreeItemContextValues.js.map → useTreeItemContextValues.cjs.map} +0 -0
- /package/lib-commonjs/components/TreeItemLayout/{TreeItemLayout.types.js → TreeItemLayout.types.cjs} +0 -0
- /package/lib-commonjs/components/TreeItemLayout/{TreeItemLayout.types.js.map → TreeItemLayout.types.cjs.map} +0 -0
- /package/lib-commonjs/components/TreeItemLayout/{renderTreeItemLayout.js → renderTreeItemLayout.cjs} +0 -0
- /package/lib-commonjs/components/TreeItemLayout/{renderTreeItemLayout.js.map → renderTreeItemLayout.cjs.map} +0 -0
- /package/lib-commonjs/components/TreeItemPersonaLayout/{TreeItemPersonaLayout.types.js → TreeItemPersonaLayout.types.cjs} +0 -0
- /package/lib-commonjs/components/TreeItemPersonaLayout/{TreeItemPersonaLayout.types.js.map → TreeItemPersonaLayout.types.cjs.map} +0 -0
- /package/lib-commonjs/components/TreeItemPersonaLayout/{renderTreeItemPersonaLayout.js → renderTreeItemPersonaLayout.cjs} +0 -0
- /package/lib-commonjs/components/TreeItemPersonaLayout/{renderTreeItemPersonaLayout.js.map → renderTreeItemPersonaLayout.cjs.map} +0 -0
- /package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutContextValues.js → useTreeItemPersonaLayoutContextValues.cjs} +0 -0
- /package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutContextValues.js.map → useTreeItemPersonaLayoutContextValues.cjs.map} +0 -0
- /package/lib-commonjs/contexts/{subtreeContext.js → subtreeContext.cjs} +0 -0
- /package/lib-commonjs/contexts/{subtreeContext.js.map → subtreeContext.cjs.map} +0 -0
- /package/lib-commonjs/hooks/{useRovingTabIndexes.js → useRovingTabIndexes.cjs} +0 -0
- /package/lib-commonjs/hooks/{useRovingTabIndexes.js.map → useRovingTabIndexes.cjs.map} +0 -0
- /package/lib-commonjs/utils/{ImmutableMap.js → ImmutableMap.cjs} +0 -0
- /package/lib-commonjs/utils/{ImmutableMap.js.map → ImmutableMap.cjs.map} +0 -0
- /package/lib-commonjs/utils/{ImmutableSet.js → ImmutableSet.cjs} +0 -0
- /package/lib-commonjs/utils/{ImmutableSet.js.map → ImmutableSet.cjs.map} +0 -0
- /package/lib-commonjs/utils/{assert.js → assert.cjs} +0 -0
- /package/lib-commonjs/utils/{assert.js.map → assert.cjs.map} +0 -0
- /package/lib-commonjs/utils/{createHTMLElementWalker.js → createHTMLElementWalker.cjs} +0 -0
- /package/lib-commonjs/utils/{createHTMLElementWalker.js.map → createHTMLElementWalker.cjs.map} +0 -0
- /package/lib-commonjs/utils/{createHeadlessTree.js → createHeadlessTree.cjs} +0 -0
- /package/lib-commonjs/utils/{createHeadlessTree.js.map → createHeadlessTree.cjs.map} +0 -0
- /package/lib-commonjs/utils/{flattenTree.js → flattenTree.cjs} +0 -0
- /package/lib-commonjs/utils/{flattenTree.js.map → flattenTree.cjs.map} +0 -0
- /package/lib-commonjs/utils/{getTreeItemValueFromElement.js → getTreeItemValueFromElement.cjs} +0 -0
- /package/lib-commonjs/utils/{getTreeItemValueFromElement.js.map → getTreeItemValueFromElement.cjs.map} +0 -0
- /package/lib-commonjs/utils/{nextTypeAheadElement.js → nextTypeAheadElement.cjs} +0 -0
- /package/lib-commonjs/utils/{nextTypeAheadElement.js.map → nextTypeAheadElement.cjs.map} +0 -0
- /package/lib-commonjs/utils/{normalizeOpenItems.js → normalizeOpenItems.cjs} +0 -0
- /package/lib-commonjs/utils/{normalizeOpenItems.js.map → normalizeOpenItems.cjs.map} +0 -0
- /package/lib-commonjs/utils/{tokens.js → tokens.cjs} +0 -0
- /package/lib-commonjs/utils/{tokens.js.map → tokens.cjs.map} +0 -0
- /package/lib-commonjs/utils/{treeItemFilter.js → treeItemFilter.cjs} +0 -0
- /package/lib-commonjs/utils/{treeItemFilter.js.map → treeItemFilter.cjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useControllableOpenItems.ts"],"sourcesContent":["'use client';\n\nimport { useControllableState } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport type { TreeItemValue } from '../components/TreeItem/TreeItem.types';\nimport type { TreeOpenChangeData, TreeProps } from '../Tree';\n\n/**\n * @internal\n */\nexport function useControllableOpenItems(\n props: Pick<TreeProps, 'openItems' | 'defaultOpenItems'>,\n): [ImmutableSet<TreeItemValue>, React.Dispatch<React.SetStateAction<ImmutableSet<TreeItemValue>>>] {\n return useControllableState({\n state: React.useMemo(() => props.openItems && ImmutableSet.from(props.openItems), [props.openItems]),\n defaultState: props.defaultOpenItems && (() => ImmutableSet.from(props.defaultOpenItems)),\n initialState: ImmutableSet.empty,\n });\n}\n\n/**\n * @internal\n */\nexport function createNextOpenItems(\n data: Pick<TreeOpenChangeData, 'value' | 'open'>,\n previousOpenItems: ImmutableSet<TreeItemValue>,\n): ImmutableSet<TreeItemValue> {\n return data.open ? previousOpenItems.add(data.value) : previousOpenItems.delete(data.value);\n}\n"],"names":["useControllableState","React","ImmutableSet","useControllableOpenItems","props","state","useMemo","openItems","from","defaultState","defaultOpenItems","initialState","empty","createNextOpenItems","data","previousOpenItems","open","add","value","delete"],"mappings":"AAAA;AAEA,SAASA,oBAAoB,QAAQ,4BAA4B;AACjE,YAAYC,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useControllableOpenItems.ts"],"sourcesContent":["'use client';\n\nimport { useControllableState } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport type { TreeItemValue } from '../components/TreeItem/TreeItem.types';\nimport type { TreeOpenChangeData, TreeProps } from '../Tree';\n\n/**\n * @internal\n */\nexport function useControllableOpenItems(\n props: Pick<TreeProps, 'openItems' | 'defaultOpenItems'>,\n): [ImmutableSet<TreeItemValue>, React.Dispatch<React.SetStateAction<ImmutableSet<TreeItemValue>>>] {\n return useControllableState({\n state: React.useMemo(() => props.openItems && ImmutableSet.from(props.openItems), [props.openItems]),\n defaultState: props.defaultOpenItems && (() => ImmutableSet.from(props.defaultOpenItems)),\n initialState: ImmutableSet.empty,\n });\n}\n\n/**\n * @internal\n */\nexport function createNextOpenItems(\n data: Pick<TreeOpenChangeData, 'value' | 'open'>,\n previousOpenItems: ImmutableSet<TreeItemValue>,\n): ImmutableSet<TreeItemValue> {\n return data.open ? previousOpenItems.add(data.value) : previousOpenItems.delete(data.value);\n}\n"],"names":["useControllableState","React","ImmutableSet","useControllableOpenItems","props","state","useMemo","openItems","from","defaultState","defaultOpenItems","initialState","empty","createNextOpenItems","data","previousOpenItems","open","add","value","delete"],"mappings":"AAAA;AAEA,SAASA,oBAAoB,QAAQ,4BAA4B;AACjE,YAAYC,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,2BAAwB;AAIrD;;CAEC,GACD,OAAO,SAASC,yBACdC,KAAwD;IAExD,OAAOJ,qBAAqB;QAC1BK,OAAOJ,MAAMK,OAAO,CAAC,IAAMF,MAAMG,SAAS,IAAIL,aAAaM,IAAI,CAACJ,MAAMG,SAAS,GAAG;YAACH,MAAMG,SAAS;SAAC;QACnGE,cAAcL,MAAMM,gBAAgB,IAAK,CAAA,IAAMR,aAAaM,IAAI,CAACJ,MAAMM,gBAAgB,CAAA;QACvFC,cAAcT,aAAaU,KAAK;IAClC;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,oBACdC,IAAgD,EAChDC,iBAA8C;IAE9C,OAAOD,KAAKE,IAAI,GAAGD,kBAAkBE,GAAG,CAACH,KAAKI,KAAK,IAAIH,kBAAkBI,MAAM,CAACL,KAAKI,KAAK;AAC5F"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { useEventCallback, useMergedRefs } from
|
|
3
|
-
import { nextTypeAheadElement } from
|
|
4
|
-
import { treeDataTypes } from
|
|
5
|
-
import { useRovingTabIndex } from
|
|
6
|
-
import { dataTreeItemValueAttrName } from
|
|
7
|
-
import * as React from
|
|
8
|
-
import { useHTMLElementWalkerRef } from
|
|
9
|
-
import { useFocusFinders } from
|
|
10
|
-
import { treeItemLayoutClassNames } from
|
|
2
|
+
import { useEventCallback, useMergedRefs } from "@fluentui/react-utilities";
|
|
3
|
+
import { nextTypeAheadElement } from "../utils/nextTypeAheadElement.js";
|
|
4
|
+
import { treeDataTypes } from "../utils/tokens.js";
|
|
5
|
+
import { useRovingTabIndex } from "./useRovingTabIndexes.js";
|
|
6
|
+
import { dataTreeItemValueAttrName } from "../utils/getTreeItemValueFromElement.js";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { useHTMLElementWalkerRef } from "./useHTMLElementWalkerRef.js";
|
|
9
|
+
import { useFocusFinders } from "@fluentui/react-tabster";
|
|
10
|
+
import { treeItemLayoutClassNames } from "../TreeItemLayout.js";
|
|
11
11
|
export function useFlatTreeNavigation(navigationMode = 'tree') {
|
|
12
12
|
'use no memo'; // justified: compiler would optimize useFlatTreeNavigation — manual opt-out to preserve runtime behavior
|
|
13
13
|
const { walkerRef, rootRef: walkerRootRef } = useHTMLElementWalkerRef();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useFlatTreeNavigation.ts"],"sourcesContent":["'use client';\n\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport type { TreeNavigationData_unstable } from '../Tree';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nimport type { HTMLElementWalker } from '../utils/createHTMLElementWalker';\nimport type { TreeItemValue } from '../TreeItem';\nimport { dataTreeItemValueAttrName } from '../utils/getTreeItemValueFromElement';\nimport * as React from 'react';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalkerRef';\nimport type { TreeNavigationMode } from '../components/Tree/Tree.types';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { treeItemLayoutClassNames } from '../TreeItemLayout';\n\nexport function useFlatTreeNavigation(navigationMode: TreeNavigationMode = 'tree'): {\n navigate: (data: TreeNavigationData_unstable) => void;\n rootRef: React.RefCallback<HTMLElement>;\n forceUpdateRovingTabIndex: () => void;\n} {\n 'use no memo'; // justified: compiler would optimize useFlatTreeNavigation — manual opt-out to preserve runtime behavior\n\n const { walkerRef, rootRef: walkerRootRef } = useHTMLElementWalkerRef();\n const { rove, forceUpdate: forceUpdateRovingTabIndex, initialize: initializeRovingTabIndex } = useRovingTabIndex();\n const { findFirstFocusable } = useFocusFinders();\n\n const rootRefCallback: React.RefCallback<HTMLElement> = React.useCallback(\n root => {\n if (walkerRef.current && root) {\n initializeRovingTabIndex(walkerRef.current);\n }\n },\n [initializeRovingTabIndex, walkerRef],\n );\n\n function getNextElement(data: TreeNavigationData_unstable) {\n if (!walkerRef.current) {\n return null;\n }\n switch (data.type) {\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n walkerRef.current.currentElement = data.target;\n return nextTypeAheadElement(walkerRef.current, data.event.key);\n case treeDataTypes.ArrowLeft: {\n const actions = queryActions(data.target);\n if (navigationMode === 'treegrid' && actions?.contains(data.target.ownerDocument.activeElement)) {\n return data.target;\n }\n const nextElement = parentElement(data.parentValue, walkerRef.current);\n if (!nextElement && process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\n /* #__DE-INDENT__ */ `\n @fluentui/react-tree [useFlatTreeNavigation]:\n \\'ArrowLeft\\' navigation was not possible.\n No parent element found for the current element:\n `,\n data.target,\n );\n }\n return nextElement;\n }\n case treeDataTypes.ArrowRight: {\n if (navigationMode === 'treegrid') {\n const actions = queryActions(data.target);\n if (actions) {\n findFirstFocusable(actions)?.focus();\n }\n return null;\n }\n walkerRef.current.currentElement = data.target;\n const nextElement = firstChild(data.target, walkerRef.current);\n if (!nextElement && process.env.NODE_ENV !== 'production') {\n const ariaLevel = Number(data.target.getAttribute('aria-level'));\n // eslint-disable-next-line no-console\n console.warn(\n /* #__DE-INDENT__ */ `\n @fluentui/react-tree [useFlatTreeNavigation]:\n \\'ArrowRight\\' navigation was not possible.\n No element with \"aria-posinset=1\" and \"aria-level=${ariaLevel + 1}\"\n was found after the current element!\n `,\n data.target,\n );\n }\n return nextElement;\n }\n case treeDataTypes.End:\n walkerRef.current.currentElement = walkerRef.current.root;\n return walkerRef.current.lastChild();\n case treeDataTypes.Home:\n walkerRef.current.currentElement = walkerRef.current.root;\n return walkerRef.current.firstChild();\n case treeDataTypes.ArrowDown:\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.nextElement();\n case treeDataTypes.ArrowUp:\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.previousElement();\n }\n }\n const navigate = useEventCallback((data: TreeNavigationData_unstable) => {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n });\n return {\n navigate,\n rootRef: useMergedRefs<HTMLElement>(walkerRootRef, rootRefCallback),\n forceUpdateRovingTabIndex,\n } as const;\n}\n\nfunction firstChild(target: HTMLElement, treeWalker: HTMLElementWalker): HTMLElement | null {\n const nextElement = treeWalker.nextElement();\n if (!nextElement) {\n return null;\n }\n const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');\n const nextElementAriaLevel = nextElement.getAttribute('aria-level');\n const targetAriaLevel = target.getAttribute('aria-level');\n if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {\n return nextElement;\n }\n return null;\n}\n\nfunction parentElement(parentValue: TreeItemValue | undefined, treeWalker: HTMLElementWalker) {\n if (parentValue === undefined) {\n return null;\n }\n return treeWalker.root.querySelector<HTMLElement>(`[${dataTreeItemValueAttrName}=\"${parentValue}\"]`);\n}\n\nconst queryActions = (target: HTMLElement) =>\n target.querySelector<HTMLElement>(\n `:scope > .${treeItemLayoutClassNames.root} > .${treeItemLayoutClassNames.actions}`,\n );\n"],"names":["useEventCallback","useMergedRefs","nextTypeAheadElement","treeDataTypes","useRovingTabIndex","dataTreeItemValueAttrName","React","useHTMLElementWalkerRef","useFocusFinders","treeItemLayoutClassNames","useFlatTreeNavigation","navigationMode","walkerRef","rootRef","walkerRootRef","rove","forceUpdate","forceUpdateRovingTabIndex","initialize","initializeRovingTabIndex","findFirstFocusable","rootRefCallback","useCallback","root","current","getNextElement","data","type","Click","target","TypeAhead","currentElement","event","key","ArrowLeft","actions","queryActions","contains","ownerDocument","activeElement","nextElement","parentElement","parentValue","process","env","NODE_ENV","console","warn","ArrowRight","focus","firstChild","ariaLevel","Number","getAttribute","End","lastChild","Home","ArrowDown","ArrowUp","previousElement","navigate","treeWalker","nextElementAriaPosInSet","nextElementAriaLevel","targetAriaLevel","undefined","querySelector"],"mappings":"AAAA;AAEA,SAASA,gBAAgB,EAAEC,aAAa,QAAQ,4BAA4B;AAE5E,SAASC,oBAAoB,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useFlatTreeNavigation.ts"],"sourcesContent":["'use client';\n\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport type { TreeNavigationData_unstable } from '../Tree';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nimport type { HTMLElementWalker } from '../utils/createHTMLElementWalker';\nimport type { TreeItemValue } from '../TreeItem';\nimport { dataTreeItemValueAttrName } from '../utils/getTreeItemValueFromElement';\nimport * as React from 'react';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalkerRef';\nimport type { TreeNavigationMode } from '../components/Tree/Tree.types';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { treeItemLayoutClassNames } from '../TreeItemLayout';\n\nexport function useFlatTreeNavigation(navigationMode: TreeNavigationMode = 'tree'): {\n navigate: (data: TreeNavigationData_unstable) => void;\n rootRef: React.RefCallback<HTMLElement>;\n forceUpdateRovingTabIndex: () => void;\n} {\n 'use no memo'; // justified: compiler would optimize useFlatTreeNavigation — manual opt-out to preserve runtime behavior\n\n const { walkerRef, rootRef: walkerRootRef } = useHTMLElementWalkerRef();\n const { rove, forceUpdate: forceUpdateRovingTabIndex, initialize: initializeRovingTabIndex } = useRovingTabIndex();\n const { findFirstFocusable } = useFocusFinders();\n\n const rootRefCallback: React.RefCallback<HTMLElement> = React.useCallback(\n root => {\n if (walkerRef.current && root) {\n initializeRovingTabIndex(walkerRef.current);\n }\n },\n [initializeRovingTabIndex, walkerRef],\n );\n\n function getNextElement(data: TreeNavigationData_unstable) {\n if (!walkerRef.current) {\n return null;\n }\n switch (data.type) {\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n walkerRef.current.currentElement = data.target;\n return nextTypeAheadElement(walkerRef.current, data.event.key);\n case treeDataTypes.ArrowLeft: {\n const actions = queryActions(data.target);\n if (navigationMode === 'treegrid' && actions?.contains(data.target.ownerDocument.activeElement)) {\n return data.target;\n }\n const nextElement = parentElement(data.parentValue, walkerRef.current);\n if (!nextElement && process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\n /* #__DE-INDENT__ */ `\n @fluentui/react-tree [useFlatTreeNavigation]:\n \\'ArrowLeft\\' navigation was not possible.\n No parent element found for the current element:\n `,\n data.target,\n );\n }\n return nextElement;\n }\n case treeDataTypes.ArrowRight: {\n if (navigationMode === 'treegrid') {\n const actions = queryActions(data.target);\n if (actions) {\n findFirstFocusable(actions)?.focus();\n }\n return null;\n }\n walkerRef.current.currentElement = data.target;\n const nextElement = firstChild(data.target, walkerRef.current);\n if (!nextElement && process.env.NODE_ENV !== 'production') {\n const ariaLevel = Number(data.target.getAttribute('aria-level'));\n // eslint-disable-next-line no-console\n console.warn(\n /* #__DE-INDENT__ */ `\n @fluentui/react-tree [useFlatTreeNavigation]:\n \\'ArrowRight\\' navigation was not possible.\n No element with \"aria-posinset=1\" and \"aria-level=${ariaLevel + 1}\"\n was found after the current element!\n `,\n data.target,\n );\n }\n return nextElement;\n }\n case treeDataTypes.End:\n walkerRef.current.currentElement = walkerRef.current.root;\n return walkerRef.current.lastChild();\n case treeDataTypes.Home:\n walkerRef.current.currentElement = walkerRef.current.root;\n return walkerRef.current.firstChild();\n case treeDataTypes.ArrowDown:\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.nextElement();\n case treeDataTypes.ArrowUp:\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.previousElement();\n }\n }\n const navigate = useEventCallback((data: TreeNavigationData_unstable) => {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n });\n return {\n navigate,\n rootRef: useMergedRefs<HTMLElement>(walkerRootRef, rootRefCallback),\n forceUpdateRovingTabIndex,\n } as const;\n}\n\nfunction firstChild(target: HTMLElement, treeWalker: HTMLElementWalker): HTMLElement | null {\n const nextElement = treeWalker.nextElement();\n if (!nextElement) {\n return null;\n }\n const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');\n const nextElementAriaLevel = nextElement.getAttribute('aria-level');\n const targetAriaLevel = target.getAttribute('aria-level');\n if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {\n return nextElement;\n }\n return null;\n}\n\nfunction parentElement(parentValue: TreeItemValue | undefined, treeWalker: HTMLElementWalker) {\n if (parentValue === undefined) {\n return null;\n }\n return treeWalker.root.querySelector<HTMLElement>(`[${dataTreeItemValueAttrName}=\"${parentValue}\"]`);\n}\n\nconst queryActions = (target: HTMLElement) =>\n target.querySelector<HTMLElement>(\n `:scope > .${treeItemLayoutClassNames.root} > .${treeItemLayoutClassNames.actions}`,\n );\n"],"names":["useEventCallback","useMergedRefs","nextTypeAheadElement","treeDataTypes","useRovingTabIndex","dataTreeItemValueAttrName","React","useHTMLElementWalkerRef","useFocusFinders","treeItemLayoutClassNames","useFlatTreeNavigation","navigationMode","walkerRef","rootRef","walkerRootRef","rove","forceUpdate","forceUpdateRovingTabIndex","initialize","initializeRovingTabIndex","findFirstFocusable","rootRefCallback","useCallback","root","current","getNextElement","data","type","Click","target","TypeAhead","currentElement","event","key","ArrowLeft","actions","queryActions","contains","ownerDocument","activeElement","nextElement","parentElement","parentValue","process","env","NODE_ENV","console","warn","ArrowRight","focus","firstChild","ariaLevel","Number","getAttribute","End","lastChild","Home","ArrowDown","ArrowUp","previousElement","navigate","treeWalker","nextElementAriaPosInSet","nextElementAriaLevel","targetAriaLevel","undefined","querySelector"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import * as React from
|
|
3
|
-
import { useFluent_unstable } from
|
|
4
|
-
import { createHTMLElementWalker } from
|
|
5
|
-
import { treeItemFilter } from
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { useFluent_unstable } from "@fluentui/react-shared-contexts";
|
|
4
|
+
import { createHTMLElementWalker } from "../utils/createHTMLElementWalker.js";
|
|
5
|
+
import { treeItemFilter } from "../utils/treeItemFilter.js";
|
|
6
6
|
export function useHTMLElementWalkerRef() {
|
|
7
7
|
const { targetDocument } = useFluent_unstable();
|
|
8
8
|
const walkerRef = React.useRef(undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useHTMLElementWalkerRef.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport type { HTMLElementWalker } from '../utils/createHTMLElementWalker';\nimport { createHTMLElementWalker } from '../utils/createHTMLElementWalker';\nimport { treeItemFilter } from '../utils/treeItemFilter';\n\nexport function useHTMLElementWalkerRef(): {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n walkerRef: React.MutableRefObject<HTMLElementWalker | undefined>;\n rootRef: React.Ref<HTMLElement>;\n} {\n const { targetDocument } = useFluent_unstable();\n\n const walkerRef = React.useRef<HTMLElementWalker>(undefined);\n\n const rootRef: React.Ref<HTMLElement> = React.useCallback(\n (root: HTMLElement) => {\n walkerRef.current =\n targetDocument && root ? createHTMLElementWalker(root, targetDocument, treeItemFilter) : undefined;\n },\n [targetDocument],\n );\n return { walkerRef, rootRef } as const;\n}\n"],"names":["React","useFluent_unstable","createHTMLElementWalker","treeItemFilter","useHTMLElementWalkerRef","targetDocument","walkerRef","useRef","undefined","rootRef","useCallback","root","current"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ,kCAAkC;AAErE,SAASC,uBAAuB,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useHTMLElementWalkerRef.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport type { HTMLElementWalker } from '../utils/createHTMLElementWalker';\nimport { createHTMLElementWalker } from '../utils/createHTMLElementWalker';\nimport { treeItemFilter } from '../utils/treeItemFilter';\n\nexport function useHTMLElementWalkerRef(): {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n walkerRef: React.MutableRefObject<HTMLElementWalker | undefined>;\n rootRef: React.Ref<HTMLElement>;\n} {\n const { targetDocument } = useFluent_unstable();\n\n const walkerRef = React.useRef<HTMLElementWalker>(undefined);\n\n const rootRef: React.Ref<HTMLElement> = React.useCallback(\n (root: HTMLElement) => {\n walkerRef.current =\n targetDocument && root ? createHTMLElementWalker(root, targetDocument, treeItemFilter) : undefined;\n },\n [targetDocument],\n );\n return { walkerRef, rootRef } as const;\n}\n"],"names":["React","useFluent_unstable","createHTMLElementWalker","treeItemFilter","useHTMLElementWalkerRef","targetDocument","walkerRef","useRef","undefined","rootRef","useCallback","root","current"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ,kCAAkC;AAErE,SAASC,uBAAuB,QAAQ,sCAAmC;AAC3E,SAASC,cAAc,QAAQ,6BAA0B;AAEzD,OAAO,SAASC;IAKd,MAAM,EAAEC,cAAc,EAAE,GAAGJ;IAE3B,MAAMK,YAAYN,MAAMO,MAAM,CAAoBC;IAElD,MAAMC,UAAkCT,MAAMU,WAAW,CACvD,CAACC;QACCL,UAAUM,OAAO,GACfP,kBAAkBM,OAAOT,wBAAwBS,MAAMN,gBAAgBF,kBAAkBK;IAC7F,GACA;QAACH;KAAe;IAElB,OAAO;QAAEC;QAAWG;IAAQ;AAC9B"}
|
package/lib/hooks/useRootTree.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { getIntrinsicElementProps, useEventCallback, slot } from
|
|
3
|
-
import * as React from
|
|
4
|
-
import { Collapse } from
|
|
5
|
-
import { createCheckedItems } from
|
|
6
|
-
import { treeDataTypes } from
|
|
7
|
-
import { createNextOpenItems } from
|
|
8
|
-
import { ImmutableSet } from
|
|
9
|
-
import { ImmutableMap } from
|
|
2
|
+
import { getIntrinsicElementProps, useEventCallback, slot } from "@fluentui/react-utilities";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Collapse } from "@fluentui/react-motion-components-preview";
|
|
5
|
+
import { createCheckedItems } from "../utils/createCheckedItems.js";
|
|
6
|
+
import { treeDataTypes } from "../utils/tokens.js";
|
|
7
|
+
import { createNextOpenItems } from "./useControllableOpenItems.js";
|
|
8
|
+
import { ImmutableSet } from "../utils/ImmutableSet.js";
|
|
9
|
+
import { ImmutableMap } from "../utils/ImmutableMap.js";
|
|
10
10
|
/**
|
|
11
11
|
* Create the state required to render the root level tree.
|
|
12
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useRootTree.ts"],"sourcesContent":["'use client';\n\nimport { getIntrinsicElementProps, useEventCallback, slot } from '@fluentui/react-utilities';\nimport type { TreeCheckedChangeData, TreeProps, TreeState } from '../Tree';\nimport * as React from 'react';\nimport { Collapse } from '@fluentui/react-motion-components-preview';\nimport type { TreeContextValue, TreeItemRequest } from '../contexts/treeContext';\nimport { createCheckedItems } from '../utils/createCheckedItems';\nimport { treeDataTypes } from '../utils/tokens';\nimport { createNextOpenItems } from './useControllableOpenItems';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport { ImmutableMap } from '../utils/ImmutableMap';\n\n/**\n * Create the state required to render the root level tree.\n *\n * @param props - props from this instance of tree\n * @param ref - reference to root HTMLElement of tree\n */\nexport function useRootTree(\n props: TreeProps,\n ref: React.Ref<HTMLElement>,\n): Omit<TreeState & TreeContextValue, 'treeType'> {\n warnIfNoProperPropsRootTree(props);\n\n const { appearance = 'subtle', size = 'medium', selectionMode = 'none' } = props;\n\n const openItems = React.useMemo(() => ImmutableSet.from(props.openItems), [props.openItems]);\n const checkedItems = React.useMemo(() => createCheckedItems(props.checkedItems), [props.checkedItems]);\n\n const requestOpenChange = (request: Extract<TreeItemRequest, { requestType: 'open' }>) => {\n props.onOpenChange?.(request.event, {\n ...request,\n openItems: ImmutableSet.dangerouslyGetInternalSet(createNextOpenItems(request, openItems)),\n });\n };\n\n const requestCheckedChange = (request: Extract<TreeItemRequest, { requestType: 'selection' }>) => {\n if (selectionMode === 'none') {\n return;\n }\n props.onCheckedChange?.(request.event, {\n ...request,\n selectionMode,\n checkedItems: ImmutableMap.dangerouslyGetInternalMap(checkedItems),\n // Casting is required here due to selection | multiselection spreading the union problem\n } as TreeCheckedChangeData);\n };\n\n const requestNavigation = (request: Extract<TreeItemRequest, { requestType: 'navigate' }>) => {\n let isScrollPrevented = false;\n props.onNavigation?.(request.event, {\n ...request,\n preventScroll: () => {\n isScrollPrevented = true;\n },\n isScrollPrevented: () => isScrollPrevented,\n });\n switch (request.type) {\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.Home:\n case treeDataTypes.End:\n // stop the default behavior of the event\n // which is to scroll the page\n request.event.preventDefault();\n }\n };\n\n const requestTreeResponse = useEventCallback((request: TreeItemRequest) => {\n switch (request.requestType) {\n case 'navigate':\n return requestNavigation(request);\n case 'open':\n return requestOpenChange(request);\n case 'selection':\n return requestCheckedChange(request);\n }\n });\n\n return {\n components: {\n root: 'div',\n collapseMotion: Collapse,\n },\n contextType: 'root',\n selectionMode,\n navigationMode: props.navigationMode ?? 'tree',\n open: true,\n appearance,\n size,\n level: 1,\n openItems,\n checkedItems,\n requestTreeResponse,\n forceUpdateRovingTabIndex: () => {\n // noop\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref as React.Ref<HTMLDivElement>,\n role: 'tree',\n 'aria-multiselectable': selectionMode === 'multiselect' ? true : undefined,\n ...props,\n }),\n { elementType: 'div' },\n ),\n collapseMotion: undefined,\n };\n}\n\nfunction warnIfNoProperPropsRootTree(props: Pick<TreeProps, 'aria-label' | 'aria-labelledby'>) {\n if (process.env.NODE_ENV === 'development') {\n if (!props['aria-label'] && !props['aria-labelledby']) {\n // eslint-disable-next-line no-console\n console.warn(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useRootTree]:\n Tree must have either a \\`aria-label\\` or \\`aria-labelledby\\` property defined\n `);\n }\n }\n}\n"],"names":["getIntrinsicElementProps","useEventCallback","slot","React","Collapse","createCheckedItems","treeDataTypes","createNextOpenItems","ImmutableSet","ImmutableMap","useRootTree","props","ref","warnIfNoProperPropsRootTree","appearance","size","selectionMode","openItems","useMemo","from","checkedItems","requestOpenChange","request","onOpenChange","event","dangerouslyGetInternalSet","requestCheckedChange","onCheckedChange","dangerouslyGetInternalMap","requestNavigation","isScrollPrevented","onNavigation","preventScroll","type","ArrowDown","ArrowUp","Home","End","preventDefault","requestTreeResponse","requestType","components","root","collapseMotion","contextType","navigationMode","open","level","forceUpdateRovingTabIndex","always","role","undefined","elementType","process","env","NODE_ENV","console","warn"],"mappings":"AAAA;AAEA,SAASA,wBAAwB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,4BAA4B;AAE7F,YAAYC,WAAW,QAAQ;AAC/B,SAASC,QAAQ,QAAQ,4CAA4C;AAErE,SAASC,kBAAkB,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useRootTree.ts"],"sourcesContent":["'use client';\n\nimport { getIntrinsicElementProps, useEventCallback, slot } from '@fluentui/react-utilities';\nimport type { TreeCheckedChangeData, TreeProps, TreeState } from '../Tree';\nimport * as React from 'react';\nimport { Collapse } from '@fluentui/react-motion-components-preview';\nimport type { TreeContextValue, TreeItemRequest } from '../contexts/treeContext';\nimport { createCheckedItems } from '../utils/createCheckedItems';\nimport { treeDataTypes } from '../utils/tokens';\nimport { createNextOpenItems } from './useControllableOpenItems';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport { ImmutableMap } from '../utils/ImmutableMap';\n\n/**\n * Create the state required to render the root level tree.\n *\n * @param props - props from this instance of tree\n * @param ref - reference to root HTMLElement of tree\n */\nexport function useRootTree(\n props: TreeProps,\n ref: React.Ref<HTMLElement>,\n): Omit<TreeState & TreeContextValue, 'treeType'> {\n warnIfNoProperPropsRootTree(props);\n\n const { appearance = 'subtle', size = 'medium', selectionMode = 'none' } = props;\n\n const openItems = React.useMemo(() => ImmutableSet.from(props.openItems), [props.openItems]);\n const checkedItems = React.useMemo(() => createCheckedItems(props.checkedItems), [props.checkedItems]);\n\n const requestOpenChange = (request: Extract<TreeItemRequest, { requestType: 'open' }>) => {\n props.onOpenChange?.(request.event, {\n ...request,\n openItems: ImmutableSet.dangerouslyGetInternalSet(createNextOpenItems(request, openItems)),\n });\n };\n\n const requestCheckedChange = (request: Extract<TreeItemRequest, { requestType: 'selection' }>) => {\n if (selectionMode === 'none') {\n return;\n }\n props.onCheckedChange?.(request.event, {\n ...request,\n selectionMode,\n checkedItems: ImmutableMap.dangerouslyGetInternalMap(checkedItems),\n // Casting is required here due to selection | multiselection spreading the union problem\n } as TreeCheckedChangeData);\n };\n\n const requestNavigation = (request: Extract<TreeItemRequest, { requestType: 'navigate' }>) => {\n let isScrollPrevented = false;\n props.onNavigation?.(request.event, {\n ...request,\n preventScroll: () => {\n isScrollPrevented = true;\n },\n isScrollPrevented: () => isScrollPrevented,\n });\n switch (request.type) {\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.Home:\n case treeDataTypes.End:\n // stop the default behavior of the event\n // which is to scroll the page\n request.event.preventDefault();\n }\n };\n\n const requestTreeResponse = useEventCallback((request: TreeItemRequest) => {\n switch (request.requestType) {\n case 'navigate':\n return requestNavigation(request);\n case 'open':\n return requestOpenChange(request);\n case 'selection':\n return requestCheckedChange(request);\n }\n });\n\n return {\n components: {\n root: 'div',\n collapseMotion: Collapse,\n },\n contextType: 'root',\n selectionMode,\n navigationMode: props.navigationMode ?? 'tree',\n open: true,\n appearance,\n size,\n level: 1,\n openItems,\n checkedItems,\n requestTreeResponse,\n forceUpdateRovingTabIndex: () => {\n // noop\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref as React.Ref<HTMLDivElement>,\n role: 'tree',\n 'aria-multiselectable': selectionMode === 'multiselect' ? true : undefined,\n ...props,\n }),\n { elementType: 'div' },\n ),\n collapseMotion: undefined,\n };\n}\n\nfunction warnIfNoProperPropsRootTree(props: Pick<TreeProps, 'aria-label' | 'aria-labelledby'>) {\n if (process.env.NODE_ENV === 'development') {\n if (!props['aria-label'] && !props['aria-labelledby']) {\n // eslint-disable-next-line no-console\n console.warn(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useRootTree]:\n Tree must have either a \\`aria-label\\` or \\`aria-labelledby\\` property defined\n `);\n }\n }\n}\n"],"names":["getIntrinsicElementProps","useEventCallback","slot","React","Collapse","createCheckedItems","treeDataTypes","createNextOpenItems","ImmutableSet","ImmutableMap","useRootTree","props","ref","warnIfNoProperPropsRootTree","appearance","size","selectionMode","openItems","useMemo","from","checkedItems","requestOpenChange","request","onOpenChange","event","dangerouslyGetInternalSet","requestCheckedChange","onCheckedChange","dangerouslyGetInternalMap","requestNavigation","isScrollPrevented","onNavigation","preventScroll","type","ArrowDown","ArrowUp","Home","End","preventDefault","requestTreeResponse","requestType","components","root","collapseMotion","contextType","navigationMode","open","level","forceUpdateRovingTabIndex","always","role","undefined","elementType","process","env","NODE_ENV","console","warn"],"mappings":"AAAA;AAEA,SAASA,wBAAwB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,4BAA4B;AAE7F,YAAYC,WAAW,QAAQ;AAC/B,SAASC,QAAQ,QAAQ,4CAA4C;AAErE,SAASC,kBAAkB,QAAQ,iCAA8B;AACjE,SAASC,aAAa,QAAQ,qBAAkB;AAChD,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,YAAY,QAAQ,2BAAwB;AAErD;;;;;CAKC,GACD,OAAO,SAASC,YACdC,KAAgB,EAChBC,GAA2B;IAE3BC,4BAA4BF;IAE5B,MAAM,EAAEG,aAAa,QAAQ,EAAEC,OAAO,QAAQ,EAAEC,gBAAgB,MAAM,EAAE,GAAGL;IAE3E,MAAMM,YAAYd,MAAMe,OAAO,CAAC,IAAMV,aAAaW,IAAI,CAACR,MAAMM,SAAS,GAAG;QAACN,MAAMM,SAAS;KAAC;IAC3F,MAAMG,eAAejB,MAAMe,OAAO,CAAC,IAAMb,mBAAmBM,MAAMS,YAAY,GAAG;QAACT,MAAMS,YAAY;KAAC;IAErG,MAAMC,oBAAoB,CAACC;YACzBX;SAAAA,sBAAAA,MAAMY,YAAY,cAAlBZ,0CAAAA,yBAAAA,OAAqBW,QAAQE,KAAK,EAAE;YAClC,GAAGF,OAAO;YACVL,WAAWT,aAAaiB,yBAAyB,CAAClB,oBAAoBe,SAASL;QACjF;IACF;IAEA,MAAMS,uBAAuB,CAACJ;YAI5BX;QAHA,IAAIK,kBAAkB,QAAQ;YAC5B;QACF;SACAL,yBAAAA,MAAMgB,eAAe,cAArBhB,6CAAAA,4BAAAA,OAAwBW,QAAQE,KAAK,EAAE;YACrC,GAAGF,OAAO;YACVN;YACAI,cAAcX,aAAamB,yBAAyB,CAACR;QAEvD;IACF;IAEA,MAAMS,oBAAoB,CAACP;YAEzBX;QADA,IAAImB,oBAAoB;SACxBnB,sBAAAA,MAAMoB,YAAY,cAAlBpB,0CAAAA,yBAAAA,OAAqBW,QAAQE,KAAK,EAAE;YAClC,GAAGF,OAAO;YACVU,eAAe;gBACbF,oBAAoB;YACtB;YACAA,mBAAmB,IAAMA;QAC3B;QACA,OAAQR,QAAQW,IAAI;YAClB,KAAK3B,cAAc4B,SAAS;YAC5B,KAAK5B,cAAc6B,OAAO;YAC1B,KAAK7B,cAAc8B,IAAI;YACvB,KAAK9B,cAAc+B,GAAG;gBACpB,yCAAyC;gBACzC,8BAA8B;gBAC9Bf,QAAQE,KAAK,CAACc,cAAc;QAChC;IACF;IAEA,MAAMC,sBAAsBtC,iBAAiB,CAACqB;QAC5C,OAAQA,QAAQkB,WAAW;YACzB,KAAK;gBACH,OAAOX,kBAAkBP;YAC3B,KAAK;gBACH,OAAOD,kBAAkBC;YAC3B,KAAK;gBACH,OAAOI,qBAAqBJ;QAChC;IACF;QASkBX;IAPlB,OAAO;QACL8B,YAAY;YACVC,MAAM;YACNC,gBAAgBvC;QAClB;QACAwC,aAAa;QACb5B;QACA6B,gBAAgBlC,CAAAA,wBAAAA,MAAMkC,cAAc,cAApBlC,mCAAAA,wBAAwB;QACxCmC,MAAM;QACNhC;QACAC;QACAgC,OAAO;QACP9B;QACAG;QACAmB;QACAS,2BAA2B;QACzB,OAAO;QACT;QACAN,MAAMxC,KAAK+C,MAAM,CACfjD,yBAAyB,OAAO;YAC9B,SAAS;YACT,4EAA4E;YAC5E,4FAA4F;YAC5FY,KAAKA;YACLsC,MAAM;YACN,wBAAwBlC,kBAAkB,gBAAgB,OAAOmC;YACjE,GAAGxC,KAAK;QACV,IACA;YAAEyC,aAAa;QAAM;QAEvBT,gBAAgBQ;IAClB;AACF;AAEA,SAAStC,4BAA4BF,KAAwD;IAC3F,IAAI0C,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,IAAI,CAAC5C,KAAK,CAAC,aAAa,IAAI,CAACA,KAAK,CAAC,kBAAkB,EAAE;YACrD,sCAAsC;YACtC6C,QAAQC,IAAI,CAAsB,CAAC;8EAGnC,CAAC;QACH;IACF;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import * as React from
|
|
3
|
-
import { useFluent_unstable as useFluent } from
|
|
4
|
-
import { useFocusedElementChange } from
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { useFluent_unstable as useFluent } from "@fluentui/react-shared-contexts";
|
|
4
|
+
import { useFocusedElementChange } from "@fluentui/react-tabster";
|
|
5
5
|
const findTreeItemRoot = (element)=>{
|
|
6
6
|
let parent = element.parentElement;
|
|
7
7
|
while(parent && parent.getAttribute('role') !== 'tree'){
|
package/lib/hooks/useSubtree.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { useSubtreeContext_unstable, useTreeItemContext_unstable } from
|
|
3
|
-
import { getIntrinsicElementProps, useMergedRefs, slot } from
|
|
4
|
-
import { Collapse } from
|
|
5
|
-
import { presenceMotionSlot } from
|
|
2
|
+
import { useSubtreeContext_unstable, useTreeItemContext_unstable } from "../contexts/index.js";
|
|
3
|
+
import { getIntrinsicElementProps, useMergedRefs, slot } from "@fluentui/react-utilities";
|
|
4
|
+
import { Collapse } from "@fluentui/react-motion-components-preview";
|
|
5
|
+
import { presenceMotionSlot } from "@fluentui/react-motion";
|
|
6
6
|
/**
|
|
7
7
|
* Create the state required to render a sub-level tree.
|
|
8
8
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useSubtree.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport type { TreeProps, TreeState } from '../Tree';\nimport type { SubtreeContextValue } from '../contexts/index';\nimport { useSubtreeContext_unstable, useTreeItemContext_unstable } from '../contexts/index';\nimport { getIntrinsicElementProps, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { Collapse } from '@fluentui/react-motion-components-preview';\nimport { presenceMotionSlot } from '@fluentui/react-motion';\n\n/**\n * Create the state required to render a sub-level tree.\n *\n * @param props - props from this instance of tree\n * @param ref - reference to root HTMLElement of tree\n */\nexport function useSubtree(\n props: TreeProps,\n ref: React.Ref<HTMLElement>,\n): Omit<TreeState & SubtreeContextValue, 'treeType'> {\n const subtreeRef = useTreeItemContext_unstable(ctx => ctx.subtreeRef);\n\n const { level: parentLevel } = useSubtreeContext_unstable();\n\n const open = useTreeItemContext_unstable(ctx => ctx.open);\n\n return {\n contextType: 'subtree',\n open,\n components: {\n root: 'div',\n collapseMotion: Collapse,\n },\n level: parentLevel + 1,\n root: slot.always(\n getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, subtreeRef) as React.Ref<HTMLDivElement>,\n role: 'group',\n ...props,\n }),\n { elementType: 'div' },\n ),\n collapseMotion: presenceMotionSlot(props.collapseMotion, {\n elementType: Collapse,\n defaultProps: {\n visible: open,\n unmountOnExit: true,\n },\n }),\n };\n}\n"],"names":["useSubtreeContext_unstable","useTreeItemContext_unstable","getIntrinsicElementProps","useMergedRefs","slot","Collapse","presenceMotionSlot","useSubtree","props","ref","subtreeRef","ctx","level","parentLevel","open","contextType","components","root","collapseMotion","always","role","elementType","defaultProps","visible","unmountOnExit"],"mappings":"AAAA;AAKA,SAASA,0BAA0B,EAAEC,2BAA2B,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useSubtree.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport type { TreeProps, TreeState } from '../Tree';\nimport type { SubtreeContextValue } from '../contexts/index';\nimport { useSubtreeContext_unstable, useTreeItemContext_unstable } from '../contexts/index';\nimport { getIntrinsicElementProps, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { Collapse } from '@fluentui/react-motion-components-preview';\nimport { presenceMotionSlot } from '@fluentui/react-motion';\n\n/**\n * Create the state required to render a sub-level tree.\n *\n * @param props - props from this instance of tree\n * @param ref - reference to root HTMLElement of tree\n */\nexport function useSubtree(\n props: TreeProps,\n ref: React.Ref<HTMLElement>,\n): Omit<TreeState & SubtreeContextValue, 'treeType'> {\n const subtreeRef = useTreeItemContext_unstable(ctx => ctx.subtreeRef);\n\n const { level: parentLevel } = useSubtreeContext_unstable();\n\n const open = useTreeItemContext_unstable(ctx => ctx.open);\n\n return {\n contextType: 'subtree',\n open,\n components: {\n root: 'div',\n collapseMotion: Collapse,\n },\n level: parentLevel + 1,\n root: slot.always(\n getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, subtreeRef) as React.Ref<HTMLDivElement>,\n role: 'group',\n ...props,\n }),\n { elementType: 'div' },\n ),\n collapseMotion: presenceMotionSlot(props.collapseMotion, {\n elementType: Collapse,\n defaultProps: {\n visible: open,\n unmountOnExit: true,\n },\n }),\n };\n}\n"],"names":["useSubtreeContext_unstable","useTreeItemContext_unstable","getIntrinsicElementProps","useMergedRefs","slot","Collapse","presenceMotionSlot","useSubtree","props","ref","subtreeRef","ctx","level","parentLevel","open","contextType","components","root","collapseMotion","always","role","elementType","defaultProps","visible","unmountOnExit"],"mappings":"AAAA;AAKA,SAASA,0BAA0B,EAAEC,2BAA2B,QAAQ,uBAAoB;AAC5F,SAASC,wBAAwB,EAAEC,aAAa,EAAEC,IAAI,QAAQ,4BAA4B;AAC1F,SAASC,QAAQ,QAAQ,4CAA4C;AACrE,SAASC,kBAAkB,QAAQ,yBAAyB;AAE5D;;;;;CAKC,GACD,OAAO,SAASC,WACdC,KAAgB,EAChBC,GAA2B;IAE3B,MAAMC,aAAaT,4BAA4BU,CAAAA,MAAOA,IAAID,UAAU;IAEpE,MAAM,EAAEE,OAAOC,WAAW,EAAE,GAAGb;IAE/B,MAAMc,OAAOb,4BAA4BU,CAAAA,MAAOA,IAAIG,IAAI;IAExD,OAAO;QACLC,aAAa;QACbD;QACAE,YAAY;YACVC,MAAM;YACNC,gBAAgBb;QAClB;QACAO,OAAOC,cAAc;QACrBI,MAAMb,KAAKe,MAAM,CACfjB,yBAAyB,OAAO;YAC9B,SAAS;YACT,4EAA4E;YAC5E,4FAA4F;YAC5FO,KAAKN,cAAcM,KAAKC;YACxBU,MAAM;YACN,GAAGZ,KAAK;QACV,IACA;YAAEa,aAAa;QAAM;QAEvBH,gBAAgBZ,mBAAmBE,MAAMU,cAAc,EAAE;YACvDG,aAAahB;YACbiB,cAAc;gBACZC,SAAST;gBACTU,eAAe;YACjB;QACF;IACF;AACF"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { nextTypeAheadElement } from
|
|
3
|
-
import { treeDataTypes } from
|
|
4
|
-
import { useRovingTabIndex } from
|
|
5
|
-
import * as React from
|
|
6
|
-
import { useHTMLElementWalkerRef } from
|
|
7
|
-
import { useMergedRefs } from
|
|
8
|
-
import { treeItemLayoutClassNames } from
|
|
9
|
-
import { useFocusFinders } from
|
|
2
|
+
import { nextTypeAheadElement } from "../utils/nextTypeAheadElement.js";
|
|
3
|
+
import { treeDataTypes } from "../utils/tokens.js";
|
|
4
|
+
import { useRovingTabIndex } from "./useRovingTabIndexes.js";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { useHTMLElementWalkerRef } from "./useHTMLElementWalkerRef.js";
|
|
7
|
+
import { useMergedRefs } from "@fluentui/react-utilities";
|
|
8
|
+
import { treeItemLayoutClassNames } from "../TreeItemLayout.js";
|
|
9
|
+
import { useFocusFinders } from "@fluentui/react-tabster";
|
|
10
10
|
/***
|
|
11
11
|
* Hook used to manage navigation in the tree.
|
|
12
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useTreeNavigation.ts"],"sourcesContent":["'use client';\n\nimport type { TreeNavigationData_unstable, TreeNavigationMode } from '../components/Tree/Tree.types';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nimport type { HTMLElementWalker } from '../utils/createHTMLElementWalker';\nimport * as React from 'react';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalkerRef';\nimport { useMergedRefs } from '@fluentui/react-utilities';\nimport { treeItemLayoutClassNames } from '../TreeItemLayout';\nimport { useFocusFinders } from '@fluentui/react-tabster';\n\n/***\n * Hook used to manage navigation in the tree.\n *\n * @param navigationMode - the navigation mode of the tree, 'tree' (default) or 'treegrid'\n */\nexport function useTreeNavigation(navigationMode: TreeNavigationMode = 'tree'): {\n navigate: (data: TreeNavigationData_unstable, focusOptions?: FocusOptions) => HTMLElement | null;\n treeRef: React.RefCallback<HTMLElement>;\n forceUpdateRovingTabIndex: () => void;\n} {\n 'use no memo'; // justified: compiler would optimize useTreeNavigation — manual opt-out to preserve runtime behavior\n\n const { rove, initialize: initializeRovingTabIndex, forceUpdate: forceUpdateRovingTabIndex } = useRovingTabIndex();\n const { findFirstFocusable } = useFocusFinders();\n const { walkerRef, rootRef: walkerRootRef } = useHTMLElementWalkerRef();\n\n const rootRefCallback: React.RefCallback<HTMLElement> = React.useCallback(\n root => {\n if (root && walkerRef.current) {\n initializeRovingTabIndex(walkerRef.current);\n }\n },\n [walkerRef, initializeRovingTabIndex],\n );\n\n const getNextElement = (data: TreeNavigationData_unstable) => {\n if (!walkerRef.current) {\n return null;\n }\n switch (data.type) {\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n walkerRef.current.currentElement = data.target;\n return nextTypeAheadElement(walkerRef.current, data.event.key);\n case treeDataTypes.ArrowLeft: {\n const actions = queryActions(data.target);\n if (navigationMode === 'treegrid' && actions?.contains(data.target.ownerDocument.activeElement)) {\n return data.target;\n }\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.parentElement();\n }\n case treeDataTypes.ArrowRight:\n if (navigationMode === 'treegrid') {\n const actions = queryActions(data.target);\n if (actions) {\n findFirstFocusable(actions)?.focus();\n }\n return null;\n }\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.firstChild();\n case treeDataTypes.End:\n walkerRef.current.currentElement = walkerRef.current.root;\n return lastChildRecursive(walkerRef.current);\n case treeDataTypes.Home:\n walkerRef.current.currentElement = walkerRef.current.root;\n return walkerRef.current.firstChild();\n case treeDataTypes.ArrowDown:\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.nextElement();\n case treeDataTypes.ArrowUp:\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.previousElement();\n }\n };\n function navigate(data: TreeNavigationData_unstable, focusOptions?: FocusOptions) {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement, focusOptions);\n }\n return nextElement;\n }\n return {\n navigate,\n treeRef: useMergedRefs(walkerRootRef, rootRefCallback) as React.RefCallback<HTMLElement>,\n forceUpdateRovingTabIndex,\n } as const;\n}\n\nfunction lastChildRecursive(walker: HTMLElementWalker) {\n let lastElement: HTMLElement | null = null;\n let nextElement: HTMLElement | null = null;\n while ((nextElement = walker.lastChild())) {\n lastElement = nextElement;\n }\n return lastElement;\n}\n\nconst queryActions = (target: HTMLElement) =>\n target.querySelector<HTMLElement>(\n `:scope > .${treeItemLayoutClassNames.root} > .${treeItemLayoutClassNames.actions}`,\n );\n"],"names":["nextTypeAheadElement","treeDataTypes","useRovingTabIndex","React","useHTMLElementWalkerRef","useMergedRefs","treeItemLayoutClassNames","useFocusFinders","useTreeNavigation","navigationMode","rove","initialize","initializeRovingTabIndex","forceUpdate","forceUpdateRovingTabIndex","findFirstFocusable","walkerRef","rootRef","walkerRootRef","rootRefCallback","useCallback","root","current","getNextElement","data","type","Click","target","TypeAhead","currentElement","event","key","ArrowLeft","actions","queryActions","contains","ownerDocument","activeElement","parentElement","ArrowRight","focus","firstChild","End","lastChildRecursive","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","focusOptions","treeRef","walker","lastElement","lastChild","querySelector"],"mappings":"AAAA;AAGA,SAASA,oBAAoB,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useTreeNavigation.ts"],"sourcesContent":["'use client';\n\nimport type { TreeNavigationData_unstable, TreeNavigationMode } from '../components/Tree/Tree.types';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nimport type { HTMLElementWalker } from '../utils/createHTMLElementWalker';\nimport * as React from 'react';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalkerRef';\nimport { useMergedRefs } from '@fluentui/react-utilities';\nimport { treeItemLayoutClassNames } from '../TreeItemLayout';\nimport { useFocusFinders } from '@fluentui/react-tabster';\n\n/***\n * Hook used to manage navigation in the tree.\n *\n * @param navigationMode - the navigation mode of the tree, 'tree' (default) or 'treegrid'\n */\nexport function useTreeNavigation(navigationMode: TreeNavigationMode = 'tree'): {\n navigate: (data: TreeNavigationData_unstable, focusOptions?: FocusOptions) => HTMLElement | null;\n treeRef: React.RefCallback<HTMLElement>;\n forceUpdateRovingTabIndex: () => void;\n} {\n 'use no memo'; // justified: compiler would optimize useTreeNavigation — manual opt-out to preserve runtime behavior\n\n const { rove, initialize: initializeRovingTabIndex, forceUpdate: forceUpdateRovingTabIndex } = useRovingTabIndex();\n const { findFirstFocusable } = useFocusFinders();\n const { walkerRef, rootRef: walkerRootRef } = useHTMLElementWalkerRef();\n\n const rootRefCallback: React.RefCallback<HTMLElement> = React.useCallback(\n root => {\n if (root && walkerRef.current) {\n initializeRovingTabIndex(walkerRef.current);\n }\n },\n [walkerRef, initializeRovingTabIndex],\n );\n\n const getNextElement = (data: TreeNavigationData_unstable) => {\n if (!walkerRef.current) {\n return null;\n }\n switch (data.type) {\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n walkerRef.current.currentElement = data.target;\n return nextTypeAheadElement(walkerRef.current, data.event.key);\n case treeDataTypes.ArrowLeft: {\n const actions = queryActions(data.target);\n if (navigationMode === 'treegrid' && actions?.contains(data.target.ownerDocument.activeElement)) {\n return data.target;\n }\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.parentElement();\n }\n case treeDataTypes.ArrowRight:\n if (navigationMode === 'treegrid') {\n const actions = queryActions(data.target);\n if (actions) {\n findFirstFocusable(actions)?.focus();\n }\n return null;\n }\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.firstChild();\n case treeDataTypes.End:\n walkerRef.current.currentElement = walkerRef.current.root;\n return lastChildRecursive(walkerRef.current);\n case treeDataTypes.Home:\n walkerRef.current.currentElement = walkerRef.current.root;\n return walkerRef.current.firstChild();\n case treeDataTypes.ArrowDown:\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.nextElement();\n case treeDataTypes.ArrowUp:\n walkerRef.current.currentElement = data.target;\n return walkerRef.current.previousElement();\n }\n };\n function navigate(data: TreeNavigationData_unstable, focusOptions?: FocusOptions) {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement, focusOptions);\n }\n return nextElement;\n }\n return {\n navigate,\n treeRef: useMergedRefs(walkerRootRef, rootRefCallback) as React.RefCallback<HTMLElement>,\n forceUpdateRovingTabIndex,\n } as const;\n}\n\nfunction lastChildRecursive(walker: HTMLElementWalker) {\n let lastElement: HTMLElement | null = null;\n let nextElement: HTMLElement | null = null;\n while ((nextElement = walker.lastChild())) {\n lastElement = nextElement;\n }\n return lastElement;\n}\n\nconst queryActions = (target: HTMLElement) =>\n target.querySelector<HTMLElement>(\n `:scope > .${treeItemLayoutClassNames.root} > .${treeItemLayoutClassNames.actions}`,\n );\n"],"names":["nextTypeAheadElement","treeDataTypes","useRovingTabIndex","React","useHTMLElementWalkerRef","useMergedRefs","treeItemLayoutClassNames","useFocusFinders","useTreeNavigation","navigationMode","rove","initialize","initializeRovingTabIndex","forceUpdate","forceUpdateRovingTabIndex","findFirstFocusable","walkerRef","rootRef","walkerRootRef","rootRefCallback","useCallback","root","current","getNextElement","data","type","Click","target","TypeAhead","currentElement","event","key","ArrowLeft","actions","queryActions","contains","ownerDocument","activeElement","parentElement","ArrowRight","focus","firstChild","End","lastChildRecursive","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","focusOptions","treeRef","walker","lastElement","lastChild","querySelector"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { Tree, treeClassNames, useTree_unstable, useTreeStyles_unstable, useTreeContextValues_unstable, renderTree_unstable } from
|
|
2
|
-
export { FlatTree, flatTreeClassNames, useFlatTree_unstable, useFlatTreeStyles_unstable, useFlatTreeContextValues_unstable, renderFlatTree_unstable } from
|
|
3
|
-
export { TreeProvider, TreeRootReset } from
|
|
4
|
-
export { useTreeContext_unstable, useTreeItemContext_unstable, useSubtreeContext_unstable, TreeItemProvider } from
|
|
5
|
-
export { treeItemLevelToken } from
|
|
6
|
-
export { useHeadlessFlatTree_unstable } from
|
|
7
|
-
export { TreeItem, treeItemClassNames, renderTreeItem_unstable, useTreeItemStyles_unstable, useTreeItemContextValues_unstable, useTreeItem_unstable } from
|
|
8
|
-
export { FlatTreeItem } from
|
|
9
|
-
export { TreeItemLayout, treeItemLayoutClassNames, renderTreeItemLayout_unstable, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from
|
|
10
|
-
export { TreeItemPersonaLayout, treeItemPersonaLayoutClassNames, renderTreeItemPersonaLayout_unstable, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from
|
|
11
|
-
export { flattenTree_unstable } from
|
|
12
|
-
export { useTreeNavigation } from
|
|
1
|
+
export { Tree, treeClassNames, useTree_unstable, useTreeStyles_unstable, useTreeContextValues_unstable, renderTree_unstable } from "./Tree.js";
|
|
2
|
+
export { FlatTree, flatTreeClassNames, useFlatTree_unstable, useFlatTreeStyles_unstable, useFlatTreeContextValues_unstable, renderFlatTree_unstable } from "./FlatTree.js";
|
|
3
|
+
export { TreeProvider, TreeRootReset } from "./components/TreeProvider.js";
|
|
4
|
+
export { useTreeContext_unstable, useTreeItemContext_unstable, useSubtreeContext_unstable, TreeItemProvider } from "./contexts/index.js";
|
|
5
|
+
export { treeItemLevelToken } from "./utils/tokens.js";
|
|
6
|
+
export { useHeadlessFlatTree_unstable } from "./components/FlatTree/useHeadlessFlatTree.js";
|
|
7
|
+
export { TreeItem, treeItemClassNames, renderTreeItem_unstable, useTreeItemStyles_unstable, useTreeItemContextValues_unstable, useTreeItem_unstable } from "./TreeItem.js";
|
|
8
|
+
export { FlatTreeItem } from "./FlatTreeItem.js";
|
|
9
|
+
export { TreeItemLayout, treeItemLayoutClassNames, renderTreeItemLayout_unstable, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from "./TreeItemLayout.js";
|
|
10
|
+
export { TreeItemPersonaLayout, treeItemPersonaLayoutClassNames, renderTreeItemPersonaLayout_unstable, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from "./TreeItemPersonaLayout.js";
|
|
11
|
+
export { flattenTree_unstable } from "./utils/flattenTree.js";
|
|
12
|
+
export { useTreeNavigation } from "./hooks/useTreeNavigation.js";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Tree,\n treeClassNames,\n useTree_unstable,\n useTreeStyles_unstable,\n useTreeContextValues_unstable,\n renderTree_unstable,\n} from './Tree';\n\nexport type {\n TreeSlots,\n TreeProps,\n TreeState,\n TreeContextValues,\n TreeOpenChangeData,\n TreeSelectionValue,\n TreeOpenChangeEvent,\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeNavigationMode,\n TreeNavigationDataParam,\n} from './Tree';\n\nexport {\n FlatTree,\n flatTreeClassNames,\n useFlatTree_unstable,\n useFlatTreeStyles_unstable,\n useFlatTreeContextValues_unstable,\n renderFlatTree_unstable,\n} from './FlatTree';\n\nexport type { FlatTreeSlots, FlatTreeProps, FlatTreeState } from './FlatTree';\n\nexport { TreeProvider, TreeRootReset } from './components/TreeProvider';\n\nexport {\n useTreeContext_unstable,\n useTreeItemContext_unstable,\n useSubtreeContext_unstable,\n TreeItemProvider,\n} from './contexts';\nexport type { TreeContextValue, SubtreeContextValue, TreeItemContextValue } from './contexts';\n\nexport { treeItemLevelToken } from './utils/tokens';\n\nexport { useHeadlessFlatTree_unstable } from './components/FlatTree/useHeadlessFlatTree';\nexport type {\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './components/FlatTree/useHeadlessFlatTree';\n\nexport {\n TreeItem,\n treeItemClassNames,\n renderTreeItem_unstable,\n useTreeItemStyles_unstable,\n useTreeItemContextValues_unstable,\n useTreeItem_unstable,\n} from './TreeItem';\nexport type {\n TreeItemProps,\n TreeItemState,\n TreeItemSlots,\n TreeItemType,\n TreeItemValue,\n TreeItemOpenChangeData,\n TreeItemOpenChangeEvent,\n TreeItemCSSProperties,\n} from './TreeItem';\n\nexport { FlatTreeItem } from './FlatTreeItem';\nexport type { FlatTreeItemProps } from './FlatTreeItem';\n\nexport {\n TreeItemLayout,\n treeItemLayoutClassNames,\n renderTreeItemLayout_unstable,\n useTreeItemLayoutStyles_unstable,\n useTreeItemLayout_unstable,\n} from './TreeItemLayout';\nexport type { TreeItemLayoutProps, TreeItemLayoutSlots, TreeItemLayoutState } from './TreeItemLayout';\n\nexport {\n TreeItemPersonaLayout,\n treeItemPersonaLayoutClassNames,\n renderTreeItemPersonaLayout_unstable,\n useTreeItemPersonaLayoutStyles_unstable,\n useTreeItemPersonaLayout_unstable,\n} from './TreeItemPersonaLayout';\nexport type {\n TreeItemPersonaLayoutProps,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutState,\n} from './TreeItemPersonaLayout';\n\nexport { flattenTree_unstable } from './utils/flattenTree';\nexport type { FlattenTreeItem } from './utils/flattenTree';\n\nexport { useTreeNavigation } from './hooks/useTreeNavigation';\n"],"names":["Tree","treeClassNames","useTree_unstable","useTreeStyles_unstable","useTreeContextValues_unstable","renderTree_unstable","FlatTree","flatTreeClassNames","useFlatTree_unstable","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable","TreeProvider","TreeRootReset","useTreeContext_unstable","useTreeItemContext_unstable","useSubtreeContext_unstable","TreeItemProvider","treeItemLevelToken","useHeadlessFlatTree_unstable","TreeItem","treeItemClassNames","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItemContextValues_unstable","useTreeItem_unstable","FlatTreeItem","TreeItemLayout","treeItemLayoutClassNames","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable","TreeItemPersonaLayout","treeItemPersonaLayoutClassNames","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable","flattenTree_unstable","useTreeNavigation"],"mappings":"AAAA,SACEA,IAAI,EACJC,cAAc,EACdC,gBAAgB,EAChBC,sBAAsB,EACtBC,6BAA6B,EAC7BC,mBAAmB,QACd,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Tree,\n treeClassNames,\n useTree_unstable,\n useTreeStyles_unstable,\n useTreeContextValues_unstable,\n renderTree_unstable,\n} from './Tree';\n\nexport type {\n TreeSlots,\n TreeProps,\n TreeState,\n TreeContextValues,\n TreeOpenChangeData,\n TreeSelectionValue,\n TreeOpenChangeEvent,\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeNavigationMode,\n TreeNavigationDataParam,\n} from './Tree';\n\nexport {\n FlatTree,\n flatTreeClassNames,\n useFlatTree_unstable,\n useFlatTreeStyles_unstable,\n useFlatTreeContextValues_unstable,\n renderFlatTree_unstable,\n} from './FlatTree';\n\nexport type { FlatTreeSlots, FlatTreeProps, FlatTreeState } from './FlatTree';\n\nexport { TreeProvider, TreeRootReset } from './components/TreeProvider';\n\nexport {\n useTreeContext_unstable,\n useTreeItemContext_unstable,\n useSubtreeContext_unstable,\n TreeItemProvider,\n} from './contexts';\nexport type { TreeContextValue, SubtreeContextValue, TreeItemContextValue } from './contexts';\n\nexport { treeItemLevelToken } from './utils/tokens';\n\nexport { useHeadlessFlatTree_unstable } from './components/FlatTree/useHeadlessFlatTree';\nexport type {\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './components/FlatTree/useHeadlessFlatTree';\n\nexport {\n TreeItem,\n treeItemClassNames,\n renderTreeItem_unstable,\n useTreeItemStyles_unstable,\n useTreeItemContextValues_unstable,\n useTreeItem_unstable,\n} from './TreeItem';\nexport type {\n TreeItemProps,\n TreeItemState,\n TreeItemSlots,\n TreeItemType,\n TreeItemValue,\n TreeItemOpenChangeData,\n TreeItemOpenChangeEvent,\n TreeItemCSSProperties,\n} from './TreeItem';\n\nexport { FlatTreeItem } from './FlatTreeItem';\nexport type { FlatTreeItemProps } from './FlatTreeItem';\n\nexport {\n TreeItemLayout,\n treeItemLayoutClassNames,\n renderTreeItemLayout_unstable,\n useTreeItemLayoutStyles_unstable,\n useTreeItemLayout_unstable,\n} from './TreeItemLayout';\nexport type { TreeItemLayoutProps, TreeItemLayoutSlots, TreeItemLayoutState } from './TreeItemLayout';\n\nexport {\n TreeItemPersonaLayout,\n treeItemPersonaLayoutClassNames,\n renderTreeItemPersonaLayout_unstable,\n useTreeItemPersonaLayoutStyles_unstable,\n useTreeItemPersonaLayout_unstable,\n} from './TreeItemPersonaLayout';\nexport type {\n TreeItemPersonaLayoutProps,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutState,\n} from './TreeItemPersonaLayout';\n\nexport { flattenTree_unstable } from './utils/flattenTree';\nexport type { FlattenTreeItem } from './utils/flattenTree';\n\nexport { useTreeNavigation } from './hooks/useTreeNavigation';\n"],"names":["Tree","treeClassNames","useTree_unstable","useTreeStyles_unstable","useTreeContextValues_unstable","renderTree_unstable","FlatTree","flatTreeClassNames","useFlatTree_unstable","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable","TreeProvider","TreeRootReset","useTreeContext_unstable","useTreeItemContext_unstable","useSubtreeContext_unstable","TreeItemProvider","treeItemLevelToken","useHeadlessFlatTree_unstable","TreeItem","treeItemClassNames","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItemContextValues_unstable","useTreeItem_unstable","FlatTreeItem","TreeItemLayout","treeItemLayoutClassNames","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable","TreeItemPersonaLayout","treeItemPersonaLayoutClassNames","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable","flattenTree_unstable","useTreeNavigation"],"mappings":"AAAA,SACEA,IAAI,EACJC,cAAc,EACdC,gBAAgB,EAChBC,sBAAsB,EACtBC,6BAA6B,EAC7BC,mBAAmB,QACd,YAAS;AAkBhB,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,oBAAoB,EACpBC,0BAA0B,EAC1BC,iCAAiC,EACjCC,uBAAuB,QAClB,gBAAa;AAIpB,SAASC,YAAY,EAAEC,aAAa,QAAQ,+BAA4B;AAExE,SACEC,uBAAuB,EACvBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,gBAAgB,QACX,sBAAa;AAGpB,SAASC,kBAAkB,QAAQ,oBAAiB;AAEpD,SAASC,4BAA4B,QAAQ,+CAA4C;AAQzF,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,iCAAiC,EACjCC,oBAAoB,QACf,gBAAa;AAYpB,SAASC,YAAY,QAAQ,oBAAiB;AAG9C,SACEC,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,QACrB,sBAAmB;AAG1B,SACEC,qBAAqB,EACrBC,+BAA+B,EAC/BC,oCAAoC,EACpCC,uCAAuC,EACvCC,iCAAiC,QAC5B,6BAA0B;AAOjC,SAASC,oBAAoB,QAAQ,yBAAsB;AAG3D,SAASC,iBAAiB,QAAQ,+BAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/createCheckedItems.ts"],"sourcesContent":["import type { TreeSelectionValue } from '../Tree';\nimport type { TreeItemValue } from '../TreeItem';\nimport { ImmutableMap } from './ImmutableMap';\n\nconst tuplifyCheckedItem = (\n value: TreeItemValue | [TreeItemValue, TreeSelectionValue],\n): [TreeItemValue, TreeSelectionValue] => (Array.isArray(value) ? value : [value, true]);\n\nexport const createCheckedItems = (\n iterable?: Iterable<TreeItemValue | [TreeItemValue, TreeSelectionValue]>,\n): ImmutableMap<TreeItemValue, TreeSelectionValue> => ImmutableMap.from(iterable, tuplifyCheckedItem);\n"],"names":["ImmutableMap","tuplifyCheckedItem","value","Array","isArray","createCheckedItems","iterable","from"],"mappings":"AAEA,SAASA,YAAY,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/utils/createCheckedItems.ts"],"sourcesContent":["import type { TreeSelectionValue } from '../Tree';\nimport type { TreeItemValue } from '../TreeItem';\nimport { ImmutableMap } from './ImmutableMap';\n\nconst tuplifyCheckedItem = (\n value: TreeItemValue | [TreeItemValue, TreeSelectionValue],\n): [TreeItemValue, TreeSelectionValue] => (Array.isArray(value) ? value : [value, true]);\n\nexport const createCheckedItems = (\n iterable?: Iterable<TreeItemValue | [TreeItemValue, TreeSelectionValue]>,\n): ImmutableMap<TreeItemValue, TreeSelectionValue> => ImmutableMap.from(iterable, tuplifyCheckedItem);\n"],"names":["ImmutableMap","tuplifyCheckedItem","value","Array","isArray","createCheckedItems","iterable","from"],"mappings":"AAEA,SAASA,YAAY,QAAQ,oBAAiB;AAE9C,MAAMC,qBAAqB,CACzBC,QACyCC,MAAMC,OAAO,CAACF,SAASA,QAAQ;QAACA;QAAO;KAAK;AAEvF,OAAO,MAAMG,qBAAqB,CAChCC,WACoDN,aAAaO,IAAI,CAACD,UAAUL,oBAAoB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isHTMLElement } from
|
|
1
|
+
import { isHTMLElement } from "@fluentui/react-utilities";
|
|
2
2
|
export function createHTMLElementWalker(root, targetDocument, filter = ()=>NodeFilter.FILTER_ACCEPT) {
|
|
3
3
|
let temporaryFilter;
|
|
4
4
|
const treeWalker = targetDocument.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {
|
package/lib/utils/tokens.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home, Enter } from
|
|
1
|
+
import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home, Enter } from "@fluentui/keyboard-keys";
|
|
2
2
|
export const treeItemLevelToken = '--fluent-TreeItem--level';
|
|
3
3
|
export const treeAvatarSize = {
|
|
4
4
|
medium: 32,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/FlatTree.ts"],"sourcesContent":["export type {\n FlatTreeContextValues,\n FlatTreeProps,\n FlatTreeSlots,\n FlatTreeState,\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './components/FlatTree/index';\nexport {\n FlatTree,\n flatTreeClassNames,\n renderFlatTree_unstable,\n useFlatTreeContextValues_unstable,\n useFlatTreeStyles_unstable,\n useFlatTree_unstable,\n useHeadlessFlatTree_unstable,\n} from './components/FlatTree/index';\n"],"names":["FlatTree","flatTreeClassNames","renderFlatTree_unstable","useFlatTreeContextValues_unstable","useFlatTreeStyles_unstable","useFlatTree_unstable","useHeadlessFlatTree_unstable"],"mappings":";;;;;;;;;;;;eAWEA,eAAQ;;;eACRC,yBAAkB;;;eAClBC,8BAAuB;;;eACvBC,wCAAiC;;;eACjCC,iCAA0B;;;eAC1BC,2BAAoB;;;eACpBC,mCAA4B;;;uBACvB,
|
|
1
|
+
{"version":3,"sources":["../src/FlatTree.ts"],"sourcesContent":["export type {\n FlatTreeContextValues,\n FlatTreeProps,\n FlatTreeSlots,\n FlatTreeState,\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './components/FlatTree/index';\nexport {\n FlatTree,\n flatTreeClassNames,\n renderFlatTree_unstable,\n useFlatTreeContextValues_unstable,\n useFlatTreeStyles_unstable,\n useFlatTree_unstable,\n useHeadlessFlatTree_unstable,\n} from './components/FlatTree/index';\n"],"names":["FlatTree","flatTreeClassNames","renderFlatTree_unstable","useFlatTreeContextValues_unstable","useFlatTreeStyles_unstable","useFlatTree_unstable","useHeadlessFlatTree_unstable"],"mappings":";;;;;;;;;;;;eAWEA,eAAQ;;;eACRC,yBAAkB;;;eAClBC,8BAAuB;;;eACvBC,wCAAiC;;;eACjCC,iCAA0B;;;eAC1BC,2BAAoB;;;eACpBC,mCAA4B;;;uBACvB,iCAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/FlatTreeItem.ts"],"sourcesContent":["export type { FlatTreeItemProps } from './components/FlatTreeItem/index';\nexport { FlatTreeItem } from './components/FlatTreeItem/index';\n"],"names":["FlatTreeItem"],"mappings":";;;;;;;eACSA,mBAAY;;;uBAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/FlatTreeItem.ts"],"sourcesContent":["export type { FlatTreeItemProps } from './components/FlatTreeItem/index';\nexport { FlatTreeItem } from './components/FlatTreeItem/index';\n"],"names":["FlatTreeItem"],"mappings":";;;;;;;eACSA,mBAAY;;;uBAAQ,qCAAkC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Tree.ts"],"sourcesContent":["export type {\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeContextValues,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n TreeSelectionValue,\n TreeSlots,\n TreeState,\n TreeNavigationMode,\n TreeNavigationDataParam,\n} from './components/Tree/index';\nexport {\n Tree,\n renderTree_unstable,\n treeClassNames,\n useTreeContextValues_unstable,\n useTreeStyles_unstable,\n useTree_unstable,\n} from './components/Tree/index';\n"],"names":["Tree","renderTree_unstable","treeClassNames","useTreeContextValues_unstable","useTreeStyles_unstable","useTree_unstable"],"mappings":";;;;;;;;;;;;eAgBEA,WAAI;;;eACJC,0BAAmB;;;eACnBC,qBAAc;;;eACdC,oCAA6B;;;eAC7BC,6BAAsB;;;eACtBC,uBAAgB;;;uBACX,
|
|
1
|
+
{"version":3,"sources":["../src/Tree.ts"],"sourcesContent":["export type {\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeContextValues,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n TreeSelectionValue,\n TreeSlots,\n TreeState,\n TreeNavigationMode,\n TreeNavigationDataParam,\n} from './components/Tree/index';\nexport {\n Tree,\n renderTree_unstable,\n treeClassNames,\n useTreeContextValues_unstable,\n useTreeStyles_unstable,\n useTree_unstable,\n} from './components/Tree/index';\n"],"names":["Tree","renderTree_unstable","treeClassNames","useTreeContextValues_unstable","useTreeStyles_unstable","useTree_unstable"],"mappings":";;;;;;;;;;;;eAgBEA,WAAI;;;eACJC,0BAAmB;;;eACnBC,qBAAc;;;eACdC,oCAA6B;;;eAC7BC,6BAAsB;;;eACtBC,uBAAgB;;;uBACX,6BAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/TreeItem.ts"],"sourcesContent":["export type {\n TreeItemCSSProperties,\n TreeItemContextValues,\n TreeItemOpenChangeData,\n TreeItemOpenChangeEvent,\n TreeItemProps,\n TreeItemSlots,\n TreeItemState,\n TreeItemType,\n TreeItemValue,\n} from './components/TreeItem/index';\nexport {\n TreeItem,\n renderTreeItem_unstable,\n treeItemClassNames,\n useTreeItemContextValues_unstable,\n useTreeItemStyles_unstable,\n useTreeItem_unstable,\n} from './components/TreeItem/index';\n"],"names":["TreeItem","renderTreeItem_unstable","treeItemClassNames","useTreeItemContextValues_unstable","useTreeItemStyles_unstable","useTreeItem_unstable"],"mappings":";;;;;;;;;;;;eAYEA,eAAQ;;;eACRC,8BAAuB;;;eACvBC,yBAAkB;;;eAClBC,wCAAiC;;;eACjCC,iCAA0B;;;eAC1BC,2BAAoB;;;uBACf,
|
|
1
|
+
{"version":3,"sources":["../src/TreeItem.ts"],"sourcesContent":["export type {\n TreeItemCSSProperties,\n TreeItemContextValues,\n TreeItemOpenChangeData,\n TreeItemOpenChangeEvent,\n TreeItemProps,\n TreeItemSlots,\n TreeItemState,\n TreeItemType,\n TreeItemValue,\n} from './components/TreeItem/index';\nexport {\n TreeItem,\n renderTreeItem_unstable,\n treeItemClassNames,\n useTreeItemContextValues_unstable,\n useTreeItemStyles_unstable,\n useTreeItem_unstable,\n} from './components/TreeItem/index';\n"],"names":["TreeItem","renderTreeItem_unstable","treeItemClassNames","useTreeItemContextValues_unstable","useTreeItemStyles_unstable","useTreeItem_unstable"],"mappings":";;;;;;;;;;;;eAYEA,eAAQ;;;eACRC,8BAAuB;;;eACvBC,yBAAkB;;;eAClBC,wCAAiC;;;eACjCC,iCAA0B;;;eAC1BC,2BAAoB;;;uBACf,iCAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/TreeItemLayout.ts"],"sourcesContent":["export type {\n TreeItemLayoutActionSlotProps,\n TreeItemLayoutActionVisibilityChangeData,\n TreeItemLayoutProps,\n TreeItemLayoutSlots,\n TreeItemLayoutState,\n} from './components/TreeItemLayout/index';\nexport {\n TreeItemLayout,\n renderTreeItemLayout_unstable,\n treeItemLayoutClassNames,\n useTreeItemLayoutStyles_unstable,\n useTreeItemLayout_unstable,\n} from './components/TreeItemLayout/index';\n"],"names":["TreeItemLayout","renderTreeItemLayout_unstable","treeItemLayoutClassNames","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable"],"mappings":";;;;;;;;;;;;eAQEA,qBAAc;;;eACdC,oCAA6B;;;eAC7BC,+BAAwB;;;eACxBC,uCAAgC;;;eAChCC,iCAA0B;;;uBACrB,
|
|
1
|
+
{"version":3,"sources":["../src/TreeItemLayout.ts"],"sourcesContent":["export type {\n TreeItemLayoutActionSlotProps,\n TreeItemLayoutActionVisibilityChangeData,\n TreeItemLayoutProps,\n TreeItemLayoutSlots,\n TreeItemLayoutState,\n} from './components/TreeItemLayout/index';\nexport {\n TreeItemLayout,\n renderTreeItemLayout_unstable,\n treeItemLayoutClassNames,\n useTreeItemLayoutStyles_unstable,\n useTreeItemLayout_unstable,\n} from './components/TreeItemLayout/index';\n"],"names":["TreeItemLayout","renderTreeItemLayout_unstable","treeItemLayoutClassNames","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable"],"mappings":";;;;;;;;;;;;eAQEA,qBAAc;;;eACdC,oCAA6B;;;eAC7BC,+BAAwB;;;eACxBC,uCAAgC;;;eAChCC,iCAA0B;;;uBACrB,uCAAoC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/TreeItemPersonaLayout.ts"],"sourcesContent":["export type {\n TreeItemPersonaLayoutContextValues,\n TreeItemPersonaLayoutProps,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutState,\n} from './components/TreeItemPersonaLayout/index';\nexport {\n TreeItemPersonaLayout,\n renderTreeItemPersonaLayout_unstable,\n treeItemPersonaLayoutClassNames,\n useTreeItemPersonaLayoutStyles_unstable,\n useTreeItemPersonaLayout_unstable,\n} from './components/TreeItemPersonaLayout/index';\n"],"names":["TreeItemPersonaLayout","renderTreeItemPersonaLayout_unstable","treeItemPersonaLayoutClassNames","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable"],"mappings":";;;;;;;;;;;;eAOEA,4BAAqB;;;eACrBC,2CAAoC;;;eACpCC,sCAA+B;;;eAC/BC,8CAAuC;;;eACvCC,wCAAiC;;;uBAC5B,
|
|
1
|
+
{"version":3,"sources":["../src/TreeItemPersonaLayout.ts"],"sourcesContent":["export type {\n TreeItemPersonaLayoutContextValues,\n TreeItemPersonaLayoutProps,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutState,\n} from './components/TreeItemPersonaLayout/index';\nexport {\n TreeItemPersonaLayout,\n renderTreeItemPersonaLayout_unstable,\n treeItemPersonaLayoutClassNames,\n useTreeItemPersonaLayoutStyles_unstable,\n useTreeItemPersonaLayout_unstable,\n} from './components/TreeItemPersonaLayout/index';\n"],"names":["TreeItemPersonaLayout","renderTreeItemPersonaLayout_unstable","treeItemPersonaLayoutClassNames","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable"],"mappings":";;;;;;;;;;;;eAOEA,4BAAqB;;;eACrBC,2CAAoC;;;eACpCC,sCAA+B;;;eAC/BC,8CAAuC;;;eACvCC,wCAAiC;;;uBAC5B,8CAA2C"}
|
|
@@ -11,10 +11,10 @@ Object.defineProperty(exports, "FlatTree", {
|
|
|
11
11
|
});
|
|
12
12
|
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
13
13
|
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
14
|
-
const _useFlatTree = require("./useFlatTree");
|
|
15
|
-
const _useFlatTreeStylesstyles = require("./useFlatTreeStyles.styles");
|
|
16
|
-
const _useFlatTreeContextValues = require("./useFlatTreeContextValues");
|
|
17
|
-
const _renderFlatTree = require("./renderFlatTree");
|
|
14
|
+
const _useFlatTree = require("./useFlatTree.cjs");
|
|
15
|
+
const _useFlatTreeStylesstyles = require("./useFlatTreeStyles.styles.cjs");
|
|
16
|
+
const _useFlatTreeContextValues = require("./useFlatTreeContextValues.cjs");
|
|
17
|
+
const _renderFlatTree = require("./renderFlatTree.cjs");
|
|
18
18
|
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
|
|
19
19
|
const FlatTree = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
20
20
|
const state = (0, _useFlatTree.useFlatTree_unstable)(props, ref);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/FlatTree/FlatTree.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FlatTreeProps } from './FlatTree.types';\nimport { useFlatTree_unstable } from './useFlatTree';\nimport { useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nimport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nimport { renderFlatTree_unstable } from './renderFlatTree';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * The `FlatTree` component is a variation of the `Tree` component that deals with a flattened data structure.\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n */\nexport const FlatTree: ForwardRefComponent<FlatTreeProps> = React.forwardRef((props, ref) => {\n const state = useFlatTree_unstable(props, ref);\n const contextValues = useFlatTreeContextValues_unstable(state);\n useFlatTreeStyles_unstable(state);\n useCustomStyleHook_unstable('useFlatTreeStyles_unstable')(state);\n\n return renderFlatTree_unstable(state, contextValues);\n});\n\nFlatTree.displayName = 'FlatTree';\n"],"names":["React","useFlatTree_unstable","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable","useCustomStyleHook_unstable","FlatTree","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;6BAGM,
|
|
1
|
+
{"version":3,"sources":["../src/components/FlatTree/FlatTree.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FlatTreeProps } from './FlatTree.types';\nimport { useFlatTree_unstable } from './useFlatTree';\nimport { useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nimport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nimport { renderFlatTree_unstable } from './renderFlatTree';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * The `FlatTree` component is a variation of the `Tree` component that deals with a flattened data structure.\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n */\nexport const FlatTree: ForwardRefComponent<FlatTreeProps> = React.forwardRef((props, ref) => {\n const state = useFlatTree_unstable(props, ref);\n const contextValues = useFlatTreeContextValues_unstable(state);\n useFlatTreeStyles_unstable(state);\n useCustomStyleHook_unstable('useFlatTreeStyles_unstable')(state);\n\n return renderFlatTree_unstable(state, contextValues);\n});\n\nFlatTree.displayName = 'FlatTree';\n"],"names":["React","useFlatTree_unstable","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable","useCustomStyleHook_unstable","FlatTree","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;6BAGM,mBAAgB;yCACV,gCAA6B;0CACtB,gCAA6B;gCACvC,sBAAmB;qCACf,kCAAkC;AAQvE,MAAMM,WAAAA,WAAAA,GAA+CN,OAAMO,UAAU,CAAC,CAACC,OAAOC;IACnF,MAAMC,YAAQT,iCAAAA,EAAqBO,OAAOC;IAC1C,MAAME,oBAAgBR,2DAAAA,EAAkCO;QACxDR,mDAAAA,EAA2BQ;QAC3BL,gDAAAA,EAA4B,8BAA8BK;IAE1D,WAAON,uCAAAA,EAAwBM,OAAOC;AACxC,GAAG;AAEHL,SAASM,WAAW,GAAG"}
|
|
@@ -31,9 +31,9 @@ _export(exports, {
|
|
|
31
31
|
return _useHeadlessFlatTree.useHeadlessFlatTree_unstable;
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
const _FlatTree = require("./FlatTree");
|
|
35
|
-
const _useHeadlessFlatTree = require("./useHeadlessFlatTree");
|
|
36
|
-
const _useFlatTree = require("./useFlatTree");
|
|
37
|
-
const _useFlatTreeStylesstyles = require("./useFlatTreeStyles.styles");
|
|
38
|
-
const _useFlatTreeContextValues = require("./useFlatTreeContextValues");
|
|
39
|
-
const _renderFlatTree = require("./renderFlatTree");
|
|
34
|
+
const _FlatTree = require("./FlatTree.cjs");
|
|
35
|
+
const _useHeadlessFlatTree = require("./useHeadlessFlatTree.cjs");
|
|
36
|
+
const _useFlatTree = require("./useFlatTree.cjs");
|
|
37
|
+
const _useFlatTreeStylesstyles = require("./useFlatTreeStyles.styles.cjs");
|
|
38
|
+
const _useFlatTreeContextValues = require("./useFlatTreeContextValues.cjs");
|
|
39
|
+
const _renderFlatTree = require("./renderFlatTree.cjs");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/FlatTree/index.ts"],"sourcesContent":["export { FlatTree } from './FlatTree';\nexport type { FlatTreeContextValues, FlatTreeProps, FlatTreeSlots, FlatTreeState } from './FlatTree.types';\nexport type {\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './useHeadlessFlatTree';\nexport { useHeadlessFlatTree_unstable } from './useHeadlessFlatTree';\nexport { useFlatTree_unstable } from './useFlatTree';\nexport { flatTreeClassNames, useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nexport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nexport { renderFlatTree_unstable } from './renderFlatTree';\n"],"names":["FlatTree","useHeadlessFlatTree_unstable","useFlatTree_unstable","flatTreeClassNames","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable"],"mappings":";;;;;;;;;;;IAASA;iCAAQ;;IAURG;0DAAkB;;;eAElBG,uCAAuB;;;eADvBD,2DAAiC;;;eADbD,mDAA0B;;;eAD9CF,iCAAoB;;;eADpBD,iDAA4B;;;0BARZ,
|
|
1
|
+
{"version":3,"sources":["../src/components/FlatTree/index.ts"],"sourcesContent":["export { FlatTree } from './FlatTree';\nexport type { FlatTreeContextValues, FlatTreeProps, FlatTreeSlots, FlatTreeState } from './FlatTree.types';\nexport type {\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './useHeadlessFlatTree';\nexport { useHeadlessFlatTree_unstable } from './useHeadlessFlatTree';\nexport { useFlatTree_unstable } from './useFlatTree';\nexport { flatTreeClassNames, useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nexport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nexport { renderFlatTree_unstable } from './renderFlatTree';\n"],"names":["FlatTree","useHeadlessFlatTree_unstable","useFlatTree_unstable","flatTreeClassNames","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable"],"mappings":";;;;;;;;;;;IAASA;iCAAQ;;IAURG;0DAAkB;;;eAElBG,uCAAuB;;;eADvBD,2DAAiC;;;eADbD,mDAA0B;;;eAD9CF,iCAAoB;;;eADpBD,iDAA4B;;;0BARZ,gBAAa;qCAQO,2BAAwB;6BAChC,mBAAgB;yCACU,gCAA6B;0CAC1C,gCAA6B;gCACvC,sBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/FlatTree/renderFlatTree.ts"],"sourcesContent":["import { renderTree_unstable } from '../../Tree';\nimport type { FlatTreeContextValues, FlatTreeState } from './FlatTree.types';\nimport type { JSXElement } from '@fluentui/react-utilities';\nexport const renderFlatTree_unstable: (state: FlatTreeState, contextValues: FlatTreeContextValues) => JSXElement =\n renderTree_unstable;\n"],"names":["renderTree_unstable","renderFlatTree_unstable"],"mappings":";;;;;;;;;;sBAAoC,
|
|
1
|
+
{"version":3,"sources":["../src/components/FlatTree/renderFlatTree.ts"],"sourcesContent":["import { renderTree_unstable } from '../../Tree';\nimport type { FlatTreeContextValues, FlatTreeState } from './FlatTree.types';\nimport type { JSXElement } from '@fluentui/react-utilities';\nexport const renderFlatTree_unstable: (state: FlatTreeState, contextValues: FlatTreeContextValues) => JSXElement =\n renderTree_unstable;\n"],"names":["renderTree_unstable","renderFlatTree_unstable"],"mappings":";;;;;;;;;;sBAAoC,gBAAa;AAG1C,MAAMC,0BACXD,yBAAAA,CAAoB"}
|
|
@@ -19,9 +19,9 @@ _export(exports, {
|
|
|
19
19
|
});
|
|
20
20
|
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
21
21
|
const _reactutilities = require("@fluentui/react-utilities");
|
|
22
|
-
const _ImmutableMap = require("../../utils/ImmutableMap");
|
|
22
|
+
const _ImmutableMap = require("../../utils/ImmutableMap.cjs");
|
|
23
23
|
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
24
|
-
const _createCheckedItems = require("../../utils/createCheckedItems");
|
|
24
|
+
const _createCheckedItems = require("../../utils/createCheckedItems.cjs");
|
|
25
25
|
function useFlatControllableCheckedItems(props, headlessTree) {
|
|
26
26
|
return (0, _reactutilities.useControllableState)({
|
|
27
27
|
initialState: _ImmutableMap.ImmutableMap.empty,
|