@fluentui/react-tree 9.0.0-beta.30 → 9.0.0-beta.32
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.json +169 -1
- package/CHANGELOG.md +43 -2
- package/dist/index.d.ts +16 -15
- package/lib/components/FlatTree/FlatTree.js +6 -2
- package/lib/components/FlatTree/FlatTree.js.map +1 -1
- package/lib/components/FlatTree/index.js +2 -1
- package/lib/components/FlatTree/index.js.map +1 -1
- package/lib/components/FlatTree/renderFlatTree.js +2 -0
- package/lib/components/FlatTree/renderFlatTree.js.map +1 -0
- package/lib/components/FlatTree/useFlatControllableCheckedItems.js +27 -14
- package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -1
- package/lib/components/FlatTree/useFlatTreeContextValues.js +2 -0
- package/lib/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
- package/lib/components/FlatTree/useFlatTreeStyles.styles.js +1 -1
- package/lib/components/FlatTree/useHeadlessFlatTree.js +13 -5
- package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -1
- package/lib/components/Tree/Tree.js +2 -1
- package/lib/components/Tree/Tree.js.map +1 -1
- package/lib/components/Tree/Tree.types.js.map +1 -1
- package/lib/components/Tree/renderTree.js +3 -3
- package/lib/components/Tree/renderTree.js.map +1 -1
- package/lib/components/Tree/useNestedControllableCheckedItems.js +22 -0
- package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
- package/lib/components/Tree/useTree.js +27 -17
- package/lib/components/Tree/useTree.js.map +1 -1
- package/lib/components/Tree/useTreeStyles.styles.js +1 -1
- package/lib/components/TreeItem/renderTreeItem.js +4 -4
- package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItem.js +7 -11
- package/lib/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemStyles.styles.js +1 -1
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js +4 -4
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayout.js +27 -19
- package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +5 -5
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +5 -5
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +9 -7
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +7 -7
- package/lib/contexts/treeItemContext.js +1 -1
- package/lib/contexts/treeItemContext.js.map +1 -1
- package/lib/hooks/useRootTree.js +4 -2
- package/lib/hooks/useRootTree.js.map +1 -1
- package/lib/hooks/useSubtree.js +4 -2
- package/lib/hooks/useSubtree.js.map +1 -1
- package/lib/utils/createHeadlessTree.js +2 -1
- package/lib/utils/createHeadlessTree.js.map +1 -1
- package/lib/utils/getTreeItemValueFromElement.js.map +1 -1
- package/lib-commonjs/components/FlatTree/FlatTree.js +4 -3
- package/lib-commonjs/components/FlatTree/FlatTree.js.map +1 -1
- package/lib-commonjs/components/FlatTree/index.js +2 -11
- package/lib-commonjs/components/FlatTree/index.js.map +1 -1
- package/lib-commonjs/components/FlatTree/renderFlatTree.js +10 -0
- package/lib-commonjs/components/FlatTree/renderFlatTree.js.map +1 -0
- package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +27 -14
- package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -1
- package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js +10 -0
- package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
- package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +2 -2
- package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -1
- package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js +13 -5
- package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js.map +1 -1
- package/lib-commonjs/components/Tree/Tree.js.map +1 -1
- package/lib-commonjs/components/Tree/renderTree.js +2 -2
- package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js +37 -0
- package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
- package/lib-commonjs/components/Tree/useTree.js +27 -17
- package/lib-commonjs/components/Tree/useTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js +2 -2
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItem/renderTreeItem.js +3 -3
- package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItem.js +5 -8
- package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +2 -2
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +3 -3
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +26 -18
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +26 -26
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +4 -4
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +8 -6
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +40 -40
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
- package/lib-commonjs/contexts/treeItemContext.js +1 -1
- package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
- package/lib-commonjs/hooks/useRootTree.js +3 -1
- package/lib-commonjs/hooks/useRootTree.js.map +1 -1
- package/lib-commonjs/hooks/useSubtree.js +3 -1
- package/lib-commonjs/hooks/useSubtree.js.map +1 -1
- package/lib-commonjs/utils/createHeadlessTree.js +2 -1
- package/lib-commonjs/utils/createHeadlessTree.js.map +1 -1
- package/package.json +14 -14
- package/lib/components/Tree/useControllableCheckedItems.js +0 -94
- package/lib/components/Tree/useControllableCheckedItems.js.map +0 -1
- package/lib-commonjs/components/Tree/useControllableCheckedItems.js +0 -103
- package/lib-commonjs/components/Tree/useControllableCheckedItems.js.map +0 -1
|
@@ -17,20 +17,17 @@ const _reactUtilities = require("@fluentui/react-utilities");
|
|
|
17
17
|
const _immutableMap = require("../../utils/ImmutableMap");
|
|
18
18
|
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
19
19
|
const _createCheckedItems = require("../../utils/createCheckedItems");
|
|
20
|
-
function useFlatControllableCheckedItems(props) {
|
|
21
|
-
|
|
20
|
+
function useFlatControllableCheckedItems(props, headlessTree) {
|
|
21
|
+
return (0, _reactUtilities.useControllableState)({
|
|
22
22
|
initialState: _immutableMap.ImmutableMap.empty,
|
|
23
|
-
state: _react.useMemo(()=>props.checkedItems && (0, _createCheckedItems.createCheckedItems)(props.checkedItems), [
|
|
24
|
-
props.checkedItems
|
|
23
|
+
state: _react.useMemo(()=>props.selectionMode ? props.checkedItems && (0, _createCheckedItems.createCheckedItems)(props.checkedItems) : undefined, [
|
|
24
|
+
props.checkedItems,
|
|
25
|
+
props.selectionMode
|
|
25
26
|
]),
|
|
26
|
-
defaultState: ()=>(
|
|
27
|
+
defaultState: ()=>initializeCheckedItems(props, headlessTree)
|
|
27
28
|
});
|
|
28
|
-
return [
|
|
29
|
-
checkedItems,
|
|
30
|
-
setCheckedItems
|
|
31
|
-
];
|
|
32
29
|
}
|
|
33
|
-
function createNextFlatCheckedItems(data, previousCheckedItems,
|
|
30
|
+
function createNextFlatCheckedItems(data, previousCheckedItems, headlessTree) {
|
|
34
31
|
if (data.selectionMode === 'single') {
|
|
35
32
|
return _immutableMap.ImmutableMap.create([
|
|
36
33
|
[
|
|
@@ -39,7 +36,7 @@ function createNextFlatCheckedItems(data, previousCheckedItems, virtualTree) {
|
|
|
39
36
|
]
|
|
40
37
|
]);
|
|
41
38
|
}
|
|
42
|
-
const treeItem =
|
|
39
|
+
const treeItem = headlessTree.get(data.value);
|
|
43
40
|
if (!treeItem) {
|
|
44
41
|
if (process.env.NODE_ENV !== 'production') {
|
|
45
42
|
// eslint-disable-next-line no-console
|
|
@@ -48,19 +45,19 @@ function createNextFlatCheckedItems(data, previousCheckedItems, virtualTree) {
|
|
|
48
45
|
return previousCheckedItems;
|
|
49
46
|
}
|
|
50
47
|
const nextCheckedItems = new Map(previousCheckedItems);
|
|
51
|
-
for (const children of
|
|
48
|
+
for (const children of headlessTree.subtree(data.value)){
|
|
52
49
|
nextCheckedItems.set(children.value, data.checked);
|
|
53
50
|
}
|
|
54
51
|
nextCheckedItems.set(data.value, data.checked);
|
|
55
52
|
let isAncestorsMixed = false;
|
|
56
|
-
for (const parent of
|
|
53
|
+
for (const parent of headlessTree.ancestors(treeItem.value)){
|
|
57
54
|
// if one parent is mixed, all ancestors are mixed
|
|
58
55
|
if (isAncestorsMixed) {
|
|
59
56
|
nextCheckedItems.set(parent.value, 'mixed');
|
|
60
57
|
continue;
|
|
61
58
|
}
|
|
62
59
|
const checkedChildren = [];
|
|
63
|
-
for (const child of
|
|
60
|
+
for (const child of headlessTree.children(parent.value)){
|
|
64
61
|
var _nextCheckedItems_get;
|
|
65
62
|
if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {
|
|
66
63
|
checkedChildren.push(child);
|
|
@@ -76,3 +73,19 @@ function createNextFlatCheckedItems(data, previousCheckedItems, virtualTree) {
|
|
|
76
73
|
}
|
|
77
74
|
return _immutableMap.ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);
|
|
78
75
|
}
|
|
76
|
+
function initializeCheckedItems(props, headlessTree) {
|
|
77
|
+
if (!props.selectionMode) {
|
|
78
|
+
return _immutableMap.ImmutableMap.empty;
|
|
79
|
+
}
|
|
80
|
+
let state = (0, _createCheckedItems.createCheckedItems)(props.defaultCheckedItems);
|
|
81
|
+
if (props.selectionMode === 'multiselect') {
|
|
82
|
+
for (const [value, checked] of state){
|
|
83
|
+
state = createNextFlatCheckedItems({
|
|
84
|
+
value,
|
|
85
|
+
checked,
|
|
86
|
+
selectionMode: props.selectionMode
|
|
87
|
+
}, state, headlessTree);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return state;
|
|
91
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useFlatControllableCheckedItems.js"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport * as React from 'react';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useFlatControllableCheckedItems(props) {\n
|
|
1
|
+
{"version":3,"sources":["useFlatControllableCheckedItems.js"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport * as React from 'react';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useFlatControllableCheckedItems(props, headlessTree) {\n return useControllableState({\n initialState: ImmutableMap.empty,\n state: React.useMemo(()=>props.selectionMode ? props.checkedItems && createCheckedItems(props.checkedItems) : undefined, [\n props.checkedItems,\n props.selectionMode\n ]),\n defaultState: ()=>initializeCheckedItems(props, headlessTree)\n });\n}\nexport function createNextFlatCheckedItems(data, previousCheckedItems, headlessTree) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n const treeItem = headlessTree.get(data.value);\n if (!treeItem) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(`useHeadlessFlatTree: tree item ${data.value} not found`);\n }\n return previousCheckedItems;\n }\n const nextCheckedItems = new Map(previousCheckedItems);\n for (const children of headlessTree.subtree(data.value)){\n nextCheckedItems.set(children.value, data.checked);\n }\n nextCheckedItems.set(data.value, data.checked);\n let isAncestorsMixed = false;\n for (const parent of headlessTree.ancestors(treeItem.value)){\n // if one parent is mixed, all ancestors are mixed\n if (isAncestorsMixed) {\n nextCheckedItems.set(parent.value, 'mixed');\n continue;\n }\n const checkedChildren = [];\n for (const child of headlessTree.children(parent.value)){\n var _nextCheckedItems_get;\n if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {\n checkedChildren.push(child);\n }\n }\n if (checkedChildren.length === parent.childrenValues.length) {\n nextCheckedItems.set(parent.value, data.checked);\n } else {\n // if one parent is mixed, all ancestors are mixed\n isAncestorsMixed = true;\n nextCheckedItems.set(parent.value, 'mixed');\n }\n }\n return ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);\n}\nfunction initializeCheckedItems(props, headlessTree) {\n if (!props.selectionMode) {\n return ImmutableMap.empty;\n }\n let state = createCheckedItems(props.defaultCheckedItems);\n if (props.selectionMode === 'multiselect') {\n for (const [value, checked] of state){\n state = createNextFlatCheckedItems({\n value,\n checked,\n selectionMode: props.selectionMode\n }, state, headlessTree);\n }\n }\n return state;\n}\n"],"names":["useFlatControllableCheckedItems","createNextFlatCheckedItems","props","headlessTree","useControllableState","initialState","ImmutableMap","empty","state","React","useMemo","selectionMode","checkedItems","createCheckedItems","undefined","defaultState","initializeCheckedItems","data","previousCheckedItems","create","value","checked","treeItem","get","process","env","NODE_ENV","console","error","nextCheckedItems","Map","children","subtree","set","isAncestorsMixed","parent","ancestors","checkedChildren","child","_nextCheckedItems_get","push","length","childrenValues","dangerouslyCreate_unstable","defaultCheckedItems"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useFlatTreeContextValues_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useFlatTreeContextValues_unstable
|
|
8
|
+
});
|
|
9
|
+
const _tree = require("../../Tree");
|
|
10
|
+
const useFlatTreeContextValues_unstable = _tree.useTreeContextValues_unstable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useFlatTreeContextValues.js"],"sourcesContent":["import { useTreeContextValues_unstable } from '../../Tree';\nexport const useFlatTreeContextValues_unstable = useTreeContextValues_unstable;\n"],"names":["useFlatTreeContextValues_unstable","useTreeContextValues_unstable"],"mappings":";;;;+BACaA;;aAAAA;;sBADiC;AACvC,MAAMA,oCAAoCC,mCAA6B"}
|
|
@@ -24,8 +24,8 @@ const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
24
24
|
}
|
|
25
25
|
}, {
|
|
26
26
|
d: [
|
|
27
|
-
".f22iagw{display
|
|
28
|
-
".f1vx9l62{
|
|
27
|
+
".f22iagw{display:flex;}",
|
|
28
|
+
".f1vx9l62{flex-direction:column;}",
|
|
29
29
|
".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}"
|
|
30
30
|
]
|
|
31
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useFlatTreeStyles.styles.js"],"sourcesContent":["import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const flatTreeClassNames = {\n root: 'fui-FlatTree'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n Belr9w4: \"f1j0q4x9\"\n }\n}, {\n d: [\".f22iagw{display
|
|
1
|
+
{"version":3,"sources":["useFlatTreeStyles.styles.js"],"sourcesContent":["import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const flatTreeClassNames = {\n root: 'fui-FlatTree'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n Belr9w4: \"f1j0q4x9\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\", \".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}\"]\n});\nexport const useFlatTreeStyles_unstable = state => {\n const styles = useStyles();\n state.root.className = mergeClasses(flatTreeClassNames.root, styles.root, state.root.className);\n return state;\n};\n//# sourceMappingURL=useFlatTreeStyles.styles.js.map"],"names":["flatTreeClassNames","useFlatTreeStyles_unstable","root","useStyles","__styles","mc9l5x","Beiy3e4","Belr9w4","d","state","styles","className","mergeClasses"],"mappings":";;;;;;;;;;;IAEaA,kBAAkB,MAAlBA;IAYAC,0BAA0B,MAA1BA;;uBAd0B;AAEhC,MAAMD,qBAAqB;IAChCE,MAAM;AACR;AACA,MAAMC,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCF,MAAM;QACJG,QAAQ;QACRC,SAAS;QACTC,SAAS;IACX;AACF,GAAG;IACDC,GAAG;QAAC;QAA2B;QAAqC;KAAgD;AACtH;AACO,MAAMP,6BAA6BQ,CAAAA,QAAS;IACjD,MAAMC,SAASP;IACfM,MAAMP,IAAI,CAACS,SAAS,GAAGC,IAAAA,mBAAY,EAACZ,mBAAmBE,IAAI,EAAEQ,OAAOR,IAAI,EAAEO,MAAMP,IAAI,CAACS,SAAS;IAC9F,OAAOF;AACT,GACA,oDAAoD"}
|
|
@@ -22,7 +22,7 @@ function useHeadlessFlatTree_unstable(props, options = {}) {
|
|
|
22
22
|
props
|
|
23
23
|
]);
|
|
24
24
|
const [openItems, setOpenItems] = (0, _useControllableOpenItems.useControllableOpenItems)(options);
|
|
25
|
-
const [checkedItems, setCheckedItems] = (0, _useFlatControllableCheckedItems.useFlatControllableCheckedItems)(options);
|
|
25
|
+
const [checkedItems, setCheckedItems] = (0, _useFlatControllableCheckedItems.useFlatControllableCheckedItems)(options, headlessTree);
|
|
26
26
|
const { initialize , navigate } = (0, _useFlatTreeNavigation.useFlatTreeNavigation)(headlessTree);
|
|
27
27
|
const walkerRef = _react.useRef();
|
|
28
28
|
const initializeWalker = _react.useCallback((root)=>{
|
|
@@ -36,13 +36,21 @@ function useHeadlessFlatTree_unstable(props, options = {}) {
|
|
|
36
36
|
const treeRef = _react.useRef(null);
|
|
37
37
|
const handleOpenChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
38
38
|
var _options_onOpenChange;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const nextOpenItems = (0, _useControllableOpenItems.createNextOpenItems)(data, openItems);
|
|
40
|
+
(_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, {
|
|
41
|
+
...data,
|
|
42
|
+
openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()
|
|
43
|
+
});
|
|
44
|
+
setOpenItems(nextOpenItems);
|
|
41
45
|
});
|
|
42
46
|
const handleCheckedChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
43
47
|
var _options_onCheckedChange;
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
const nextCheckedItems = (0, _useFlatControllableCheckedItems.createNextFlatCheckedItems)(data, checkedItems, headlessTree);
|
|
49
|
+
(_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, {
|
|
50
|
+
...data,
|
|
51
|
+
checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()
|
|
52
|
+
});
|
|
53
|
+
setCheckedItems(nextCheckedItems);
|
|
46
54
|
});
|
|
47
55
|
const handleNavigation = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
48
56
|
var _options_onNavigation_unstable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useHeadlessFlatTree.js"],"sourcesContent":["import { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createHeadlessTree } from '../../utils/createHeadlessTree';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { createNextFlatCheckedItems, useFlatControllableCheckedItems } from './useFlatControllableCheckedItems';\nimport { createHTMLElementWalker } from '../../utils/createHTMLElementWalker';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\n/**\n * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\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 *\n * @param props - a list of tree items\n * @param options - in case control over the internal openItems is required\n */ export function useHeadlessFlatTree_unstable(props, options = {}) {\n const headlessTree = React.useMemo(()=>createHeadlessTree(props), [\n props\n ]);\n const [openItems, setOpenItems] = useControllableOpenItems(options);\n const [checkedItems, setCheckedItems] = useFlatControllableCheckedItems(options);\n const { initialize , navigate } = useFlatTreeNavigation(headlessTree);\n const walkerRef = React.useRef();\n const initializeWalker = React.useCallback((root)=>{\n if (root) {\n walkerRef.current = createHTMLElementWalker(root, treeItemFilter);\n initialize(walkerRef.current);\n }\n }, [\n initialize\n ]);\n const treeRef = React.useRef(null);\n const handleOpenChange = useEventCallback((event, data)=>{\n var _options_onOpenChange;\n (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, data);\n setOpenItems(createNextOpenItems(data, openItems));\n });\n const handleCheckedChange = useEventCallback((event, data)=>{\n var _options_onCheckedChange;\n (_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, data);\n setCheckedItems(createNextFlatCheckedItems(data, checkedItems, headlessTree));\n });\n const handleNavigation = useEventCallback((event, data)=>{\n var _options_onNavigation_unstable;\n (_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n });\n const getNextNavigableItem = useEventCallback((visibleItems, data)=>{\n const item = headlessTree.get(data.value);\n if (item) {\n switch(data.type){\n case treeDataTypes.TypeAhead:\n return item;\n case treeDataTypes.ArrowLeft:\n return headlessTree.get(item.parentValue);\n case treeDataTypes.ArrowRight:\n return visibleItems[item.index + 1];\n case treeDataTypes.End:\n return visibleItems[visibleItems.length - 1];\n case treeDataTypes.Home:\n return visibleItems[0];\n case treeDataTypes.ArrowDown:\n return visibleItems[item.index + 1];\n case treeDataTypes.ArrowUp:\n return visibleItems[item.index - 1];\n }\n }\n });\n const getElementFromItem = React.useCallback((item)=>{\n var _treeRef_current;\n return (_treeRef_current = treeRef.current) === null || _treeRef_current === void 0 ? void 0 : _treeRef_current.querySelector(`[${dataTreeItemValueAttrName}=\"${item.value}\"]`);\n }, []);\n const ref = useMergedRefs(treeRef, initializeWalker);\n const getTreeProps = React.useCallback(()=>({\n ref,\n openItems,\n selectionMode: options.selectionMode,\n checkedItems,\n onOpenChange: handleOpenChange,\n onCheckedChange: handleCheckedChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n openItems,\n checkedItems\n ]);\n const items = React.useCallback(()=>headlessTree.visibleItems(openItems), [\n openItems,\n headlessTree\n ]);\n return React.useMemo(()=>({\n navigate: (data)=>{\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n },\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n }), [\n navigate,\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n ]);\n}\n"],"names":["useHeadlessFlatTree_unstable","props","options","headlessTree","React","useMemo","createHeadlessTree","openItems","setOpenItems","useControllableOpenItems","checkedItems","setCheckedItems","useFlatControllableCheckedItems","initialize","navigate","useFlatTreeNavigation","walkerRef","useRef","initializeWalker","useCallback","root","current","createHTMLElementWalker","treeItemFilter","treeRef","handleOpenChange","useEventCallback","event","data","_options_onOpenChange","onOpenChange","call","createNextOpenItems","handleCheckedChange","_options_onCheckedChange","onCheckedChange","createNextFlatCheckedItems","handleNavigation","_options_onNavigation_unstable","onNavigation_unstable","getNextNavigableItem","visibleItems","item","get","value","type","treeDataTypes","TypeAhead","ArrowLeft","parentValue","ArrowRight","index","End","length","Home","ArrowDown","ArrowUp","getElementFromItem","_treeRef_current","querySelector","dataTreeItemValueAttrName","ref","useMergedRefs","getTreeProps","selectionMode","items"],"mappings":";;;;+BAqBoBA;;aAAAA;;;gCArB4B;6DACzB;oCACY;wBACL;uCACQ;0CACwB;6CACpB;iDACkC;yCACpC;gCACT;AAYpB,SAASA,6BAA6BC,KAAK,EAAEC,UAAU,CAAC,CAAC,EAAE;IAClE,MAAMC,eAAeC,OAAMC,OAAO,CAAC,IAAIC,IAAAA,sCAAkB,EAACL,QAAQ;QAC9DA;KACH;IACD,MAAM,CAACM,WAAWC,aAAa,GAAGC,IAAAA,kDAAwB,EAACP;IAC3D,MAAM,CAACQ,cAAcC,gBAAgB,GAAGC,IAAAA,gEAA+B,EAACV;IACxE,MAAM,EAAEW,WAAU,EAAGC,SAAQ,EAAG,GAAGC,IAAAA,4CAAqB,EAACZ;IACzD,MAAMa,YAAYZ,OAAMa,MAAM;IAC9B,MAAMC,mBAAmBd,OAAMe,WAAW,CAAC,CAACC,OAAO;QAC/C,IAAIA,MAAM;YACNJ,UAAUK,OAAO,GAAGC,IAAAA,gDAAuB,EAACF,MAAMG,8BAAc;YAChEV,WAAWG,UAAUK,OAAO;QAChC,CAAC;IACL,GAAG;QACCR;KACH;IACD,MAAMW,UAAUpB,OAAMa,MAAM,CAAC,IAAI;IACjC,MAAMQ,mBAAmBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIC;QACHA,CAAAA,wBAAwB3B,QAAQ4B,YAAY,AAAD,MAAO,IAAI,IAAID,0BAA0B,KAAK,IAAI,KAAK,IAAIA,sBAAsBE,IAAI,CAAC7B,SAASyB,OAAOC,KAAK;QACvJpB,aAAawB,IAAAA,6CAAmB,EAACJ,MAAMrB;IAC3C;IACA,MAAM0B,sBAAsBP,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACxD,IAAIM;QACHA,CAAAA,2BAA2BhC,QAAQiC,eAAe,AAAD,MAAO,IAAI,IAAID,6BAA6B,KAAK,IAAI,KAAK,IAAIA,yBAAyBH,IAAI,CAAC7B,SAASyB,OAAOC,KAAK;QACnKjB,gBAAgByB,IAAAA,2DAA0B,EAACR,MAAMlB,cAAcP;IACnE;IACA,MAAMkC,mBAAmBX,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIU;QACHA,CAAAA,iCAAiCpC,QAAQqC,qBAAqB,AAAD,MAAO,IAAI,IAAID,mCAAmC,KAAK,IAAI,KAAK,IAAIA,+BAA+BP,IAAI,CAAC7B,SAASyB,OAAOC,KAAK;QAC3L,IAAIZ,UAAUK,OAAO,EAAE;YACnBP,SAASc,MAAMZ,UAAUK,OAAO;QACpC,CAAC;IACL;IACA,MAAMmB,uBAAuBd,IAAAA,gCAAgB,EAAC,CAACe,cAAcb,OAAO;QAChE,MAAMc,OAAOvC,aAAawC,GAAG,CAACf,KAAKgB,KAAK;QACxC,IAAIF,MAAM;YACN,OAAOd,KAAKiB,IAAI;gBACZ,KAAKC,qBAAa,CAACC,SAAS;oBACxB,OAAOL;gBACX,KAAKI,qBAAa,CAACE,SAAS;oBACxB,OAAO7C,aAAawC,GAAG,CAACD,KAAKO,WAAW;gBAC5C,KAAKH,qBAAa,CAACI,UAAU;oBACzB,OAAOT,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACvC,KAAKL,qBAAa,CAACM,GAAG;oBAClB,OAAOX,YAAY,CAACA,aAAaY,MAAM,GAAG,EAAE;gBAChD,KAAKP,qBAAa,CAACQ,IAAI;oBACnB,OAAOb,YAAY,CAAC,EAAE;gBAC1B,KAAKK,qBAAa,CAACS,SAAS;oBACxB,OAAOd,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACvC,KAAKL,qBAAa,CAACU,OAAO;oBACtB,OAAOf,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;YAC3C;QACJ,CAAC;IACL;IACA,MAAMM,qBAAqBrD,OAAMe,WAAW,CAAC,CAACuB,OAAO;QACjD,IAAIgB;QACJ,OAAO,AAACA,CAAAA,mBAAmBlC,QAAQH,OAAO,AAAD,MAAO,IAAI,IAAIqC,qBAAqB,KAAK,IAAI,KAAK,IAAIA,iBAAiBC,aAAa,CAAC,CAAC,CAAC,EAAEC,sDAAyB,CAAC,EAAE,EAAElB,KAAKE,KAAK,CAAC,EAAE,CAAC,CAAC;IACnL,GAAG,EAAE;IACL,MAAMiB,MAAMC,IAAAA,6BAAa,EAACtC,SAASN;IACnC,MAAM6C,eAAe3D,OAAMe,WAAW,CAAC,IAAK,CAAA;YACpC0C;YACAtD;YACAyD,eAAe9D,QAAQ8D,aAAa;YACpCtD;YACAoB,cAAcL;YACdU,iBAAiBF;YACjB,gEAAgE;YAChEM,uBAAuBF;QAC3B,CAAA,GACJ;QACI9B;QACAG;KACH;IACD,MAAMuD,QAAQ7D,OAAMe,WAAW,CAAC,IAAIhB,aAAasC,YAAY,CAAClC,YAAY;QACtEA;QACAJ;KACH;IACD,OAAOC,OAAMC,OAAO,CAAC,IAAK,CAAA;YAClBS,UAAU,CAACc,OAAO;gBACd,IAAIZ,UAAUK,OAAO,EAAE;oBACnBP,SAASc,MAAMZ,UAAUK,OAAO;gBACpC,CAAC;YACL;YACA0C;YACAvB;YACAiB;YACAQ;QACJ,CAAA,GAAI;QACJnD;QACAiD;QACAvB;QACAiB;QACAQ;KACH;AACL"}
|
|
1
|
+
{"version":3,"sources":["useHeadlessFlatTree.js"],"sourcesContent":["import { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createHeadlessTree } from '../../utils/createHeadlessTree';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { createNextFlatCheckedItems, useFlatControllableCheckedItems } from './useFlatControllableCheckedItems';\nimport { createHTMLElementWalker } from '../../utils/createHTMLElementWalker';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\n/**\n * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\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 *\n * @param props - a list of tree items\n * @param options - in case control over the internal openItems is required\n */ export function useHeadlessFlatTree_unstable(props, options = {}) {\n const headlessTree = React.useMemo(()=>createHeadlessTree(props), [\n props\n ]);\n const [openItems, setOpenItems] = useControllableOpenItems(options);\n const [checkedItems, setCheckedItems] = useFlatControllableCheckedItems(options, headlessTree);\n const { initialize , navigate } = useFlatTreeNavigation(headlessTree);\n const walkerRef = React.useRef();\n const initializeWalker = React.useCallback((root)=>{\n if (root) {\n walkerRef.current = createHTMLElementWalker(root, treeItemFilter);\n initialize(walkerRef.current);\n }\n }, [\n initialize\n ]);\n const treeRef = React.useRef(null);\n const handleOpenChange = useEventCallback((event, data)=>{\n var _options_onOpenChange;\n const nextOpenItems = createNextOpenItems(data, openItems);\n (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, {\n ...data,\n openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()\n });\n setOpenItems(nextOpenItems);\n });\n const handleCheckedChange = useEventCallback((event, data)=>{\n var _options_onCheckedChange;\n const nextCheckedItems = createNextFlatCheckedItems(data, checkedItems, headlessTree);\n (_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, {\n ...data,\n checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()\n });\n setCheckedItems(nextCheckedItems);\n });\n const handleNavigation = useEventCallback((event, data)=>{\n var _options_onNavigation_unstable;\n (_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n });\n const getNextNavigableItem = useEventCallback((visibleItems, data)=>{\n const item = headlessTree.get(data.value);\n if (item) {\n switch(data.type){\n case treeDataTypes.TypeAhead:\n return item;\n case treeDataTypes.ArrowLeft:\n return headlessTree.get(item.parentValue);\n case treeDataTypes.ArrowRight:\n return visibleItems[item.index + 1];\n case treeDataTypes.End:\n return visibleItems[visibleItems.length - 1];\n case treeDataTypes.Home:\n return visibleItems[0];\n case treeDataTypes.ArrowDown:\n return visibleItems[item.index + 1];\n case treeDataTypes.ArrowUp:\n return visibleItems[item.index - 1];\n }\n }\n });\n const getElementFromItem = React.useCallback((item)=>{\n var _treeRef_current;\n return (_treeRef_current = treeRef.current) === null || _treeRef_current === void 0 ? void 0 : _treeRef_current.querySelector(`[${dataTreeItemValueAttrName}=\"${item.value}\"]`);\n }, []);\n const ref = useMergedRefs(treeRef, initializeWalker);\n const getTreeProps = React.useCallback(()=>({\n ref,\n openItems,\n selectionMode: options.selectionMode,\n checkedItems,\n onOpenChange: handleOpenChange,\n onCheckedChange: handleCheckedChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n openItems,\n checkedItems\n ]);\n const items = React.useCallback(()=>headlessTree.visibleItems(openItems), [\n openItems,\n headlessTree\n ]);\n return React.useMemo(()=>({\n navigate: (data)=>{\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n },\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n }), [\n navigate,\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n ]);\n}\n"],"names":["useHeadlessFlatTree_unstable","props","options","headlessTree","React","useMemo","createHeadlessTree","openItems","setOpenItems","useControllableOpenItems","checkedItems","setCheckedItems","useFlatControllableCheckedItems","initialize","navigate","useFlatTreeNavigation","walkerRef","useRef","initializeWalker","useCallback","root","current","createHTMLElementWalker","treeItemFilter","treeRef","handleOpenChange","useEventCallback","event","data","_options_onOpenChange","nextOpenItems","createNextOpenItems","onOpenChange","call","dangerouslyGetInternalSet_unstable","handleCheckedChange","_options_onCheckedChange","nextCheckedItems","createNextFlatCheckedItems","onCheckedChange","dangerouslyGetInternalMap_unstable","handleNavigation","_options_onNavigation_unstable","onNavigation_unstable","getNextNavigableItem","visibleItems","item","get","value","type","treeDataTypes","TypeAhead","ArrowLeft","parentValue","ArrowRight","index","End","length","Home","ArrowDown","ArrowUp","getElementFromItem","_treeRef_current","querySelector","dataTreeItemValueAttrName","ref","useMergedRefs","getTreeProps","selectionMode","items"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Tree.js"],"sourcesContent":["import * as React from 'react';\nimport { useTree_unstable } from './useTree';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\nimport { useTreeStyles_unstable } from './useTreeStyles.styles';\nimport { renderTree_unstable } from './renderTree';\n/**\n * Tree component
|
|
1
|
+
{"version":3,"sources":["Tree.js"],"sourcesContent":["import * as React from 'react';\nimport { useTree_unstable } from './useTree';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\nimport { useTreeStyles_unstable } from './useTreeStyles.styles';\nimport { renderTree_unstable } from './renderTree';\n/**\n * The `Tree` component renders nested items in a hierarchical structure.\n * Use it with `TreeItem` component and layouts components `TreeItemLayout` or `TreeItemPersonaLayout`.\n */ export const Tree = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTree_unstable(props, ref);\n const contextValues = useTreeContextValues_unstable(state);\n useTreeStyles_unstable(state);\n return renderTree_unstable(state, contextValues);\n});\nTree.displayName = 'Tree';\n"],"names":["Tree","React","forwardRef","props","ref","state","useTree_unstable","contextValues","useTreeContextValues_unstable","useTreeStyles_unstable","renderTree_unstable","displayName"],"mappings":";;;;+BAQiBA;;aAAAA;;;6DARM;yBACU;sCACa;qCACP;4BACH;AAIzB,MAAMA,OAAO,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACjE,MAAMC,QAAQC,IAAAA,yBAAgB,EAACH,OAAOC;IACtC,MAAMG,gBAAgBC,IAAAA,mDAA6B,EAACH;IACpDI,IAAAA,2CAAsB,EAACJ;IACvB,OAAOK,IAAAA,+BAAmB,EAACL,OAAOE;AACtC;AACAP,KAAKW,WAAW,GAAG"}
|
|
@@ -10,8 +10,8 @@ const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
|
|
|
10
10
|
const _reactUtilities = require("@fluentui/react-utilities");
|
|
11
11
|
const _contexts = require("../../contexts");
|
|
12
12
|
const renderTree_unstable = (state, contextValues)=>{
|
|
13
|
-
|
|
13
|
+
(0, _reactUtilities.assertSlots)(state);
|
|
14
14
|
return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(_contexts.TreeProvider, {
|
|
15
15
|
value: contextValues.tree
|
|
16
|
-
}, state.open && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(
|
|
16
|
+
}, state.open && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null, state.root.children));
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["renderTree.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport {
|
|
1
|
+
{"version":3,"sources":["renderTree.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { TreeProvider } from '../../contexts';\nexport const renderTree_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(TreeProvider, {\n value: contextValues.tree\n }, state.open && /*#__PURE__*/ createElement(state.root, null, state.root.children));\n};\n"],"names":["renderTree_unstable","state","contextValues","assertSlots","createElement","TreeProvider","value","tree","open","root","children"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAGrCA;;aAAAA;;iCAHsE;gCACvD;0BACC;AACtB,MAAMA,sBAAsB,CAACC,OAAOC,gBAAgB;IACvDC,IAAAA,2BAAW,EAACF;IACZ,OAAO,WAAW,GAAGG,IAAAA,8BAAa,EAACC,sBAAY,EAAE;QAC7CC,OAAOJ,cAAcK,IAAI;IAC7B,GAAGN,MAAMO,IAAI,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACH,MAAMQ,IAAI,EAAE,IAAI,EAAER,MAAMQ,IAAI,CAACC,QAAQ;AACtF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
useNestedCheckedItems: ()=>useNestedCheckedItems,
|
|
13
|
+
createNextNestedCheckedItems: ()=>createNextNestedCheckedItems
|
|
14
|
+
});
|
|
15
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
16
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
17
|
+
const _immutableMap = require("../../utils/ImmutableMap");
|
|
18
|
+
const _createCheckedItems = require("../../utils/createCheckedItems");
|
|
19
|
+
function useNestedCheckedItems(props) {
|
|
20
|
+
return _react.useMemo(()=>(0, _createCheckedItems.createCheckedItems)(props.checkedItems), [
|
|
21
|
+
props.checkedItems
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
function createNextNestedCheckedItems(data, previousCheckedItems) {
|
|
25
|
+
if (data.selectionMode === 'single') {
|
|
26
|
+
return _immutableMap.ImmutableMap.create([
|
|
27
|
+
[
|
|
28
|
+
data.value,
|
|
29
|
+
data.checked
|
|
30
|
+
]
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
if (data.selectionMode === 'multiselect') {
|
|
34
|
+
return previousCheckedItems.set(data.value, data.checked);
|
|
35
|
+
}
|
|
36
|
+
return previousCheckedItems;
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useNestedControllableCheckedItems.js"],"sourcesContent":["import * as React from 'react';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useNestedCheckedItems(props) {\n return React.useMemo(()=>createCheckedItems(props.checkedItems), [\n props.checkedItems\n ]);\n}\nexport function createNextNestedCheckedItems(data, previousCheckedItems) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n if (data.selectionMode === 'multiselect') {\n return previousCheckedItems.set(data.value, data.checked);\n }\n return previousCheckedItems;\n}\n"],"names":["useNestedCheckedItems","createNextNestedCheckedItems","props","React","useMemo","createCheckedItems","checkedItems","data","previousCheckedItems","selectionMode","ImmutableMap","create","value","checked","set"],"mappings":";;;;;;;;;;;IAGgBA,qBAAqB,MAArBA;IAKAC,4BAA4B,MAA5BA;;;6DARO;8BACM;oCACM;AAC5B,SAASD,sBAAsBE,KAAK,EAAE;IACzC,OAAOC,OAAMC,OAAO,CAAC,IAAIC,IAAAA,sCAAkB,EAACH,MAAMI,YAAY,GAAG;QAC7DJ,MAAMI,YAAY;KACrB;AACL;AACO,SAASL,6BAA6BM,IAAI,EAAEC,oBAAoB,EAAE;IACrE,IAAID,KAAKE,aAAa,KAAK,UAAU;QACjC,OAAOC,0BAAY,CAACC,MAAM,CAAC;YACvB;gBACIJ,KAAKK,KAAK;gBACVL,KAAKM,OAAO;aACf;SACJ;IACL,CAAC;IACD,IAAIN,KAAKE,aAAa,KAAK,eAAe;QACtC,OAAOD,qBAAqBM,GAAG,CAACP,KAAKK,KAAK,EAAEL,KAAKM,OAAO;IAC5D,CAAC;IACD,OAAOL;AACX"}
|
|
@@ -10,16 +10,23 @@ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildc
|
|
|
10
10
|
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
11
|
const _reactUtilities = require("@fluentui/react-utilities");
|
|
12
12
|
const _useControllableOpenItems = require("../../hooks/useControllableOpenItems");
|
|
13
|
-
const
|
|
14
|
-
const _useControllableCheckedItems = require("./useControllableCheckedItems");
|
|
13
|
+
const _useNestedControllableCheckedItems = require("./useNestedControllableCheckedItems");
|
|
15
14
|
const _treeContext = require("../../contexts/treeContext");
|
|
16
15
|
const _useRootTree = require("../../hooks/useRootTree");
|
|
17
16
|
const _useSubtree = require("../../hooks/useSubtree");
|
|
18
17
|
const _createHTMLElementWalker = require("../../utils/createHTMLElementWalker");
|
|
19
18
|
const _treeItemFilter = require("../../utils/treeItemFilter");
|
|
19
|
+
const _useTreeNavigation = require("./useTreeNavigation");
|
|
20
20
|
const useTree_unstable = (props, ref)=>{
|
|
21
|
+
const isSubtree = (0, _treeContext.useTreeContext_unstable)((ctx)=>ctx.level > 0);
|
|
22
|
+
// as isSubTree is static, this doesn't break rule of hooks
|
|
23
|
+
// and if this becomes an issue later on, this can be easily converted
|
|
24
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
25
|
+
return isSubtree ? (0, _useSubtree.useSubtree)(props, ref) : useNestedRootTree(props, ref);
|
|
26
|
+
};
|
|
27
|
+
function useNestedRootTree(props, ref) {
|
|
21
28
|
const [openItems, setOpenItems] = (0, _useControllableOpenItems.useControllableOpenItems)(props);
|
|
22
|
-
const
|
|
29
|
+
const checkedItems = (0, _useNestedControllableCheckedItems.useNestedCheckedItems)(props);
|
|
23
30
|
const { navigate , initialize } = (0, _useTreeNavigation.useTreeNavigation)();
|
|
24
31
|
const walkerRef = _react.useRef();
|
|
25
32
|
const initializeWalker = _react.useCallback((root)=>{
|
|
@@ -32,13 +39,22 @@ const useTree_unstable = (props, ref)=>{
|
|
|
32
39
|
]);
|
|
33
40
|
const handleOpenChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
34
41
|
var _props_onOpenChange;
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
const nextOpenItems = (0, _useControllableOpenItems.createNextOpenItems)(data, openItems);
|
|
43
|
+
(_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, {
|
|
44
|
+
...data,
|
|
45
|
+
openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()
|
|
46
|
+
});
|
|
47
|
+
setOpenItems(nextOpenItems);
|
|
37
48
|
});
|
|
38
49
|
const handleCheckedChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
50
|
+
if (walkerRef.current) {
|
|
51
|
+
var _props_onCheckedChange;
|
|
52
|
+
const nextCheckedItems = (0, _useNestedControllableCheckedItems.createNextNestedCheckedItems)(data, checkedItems);
|
|
53
|
+
(_props_onCheckedChange = props.onCheckedChange) === null || _props_onCheckedChange === void 0 ? void 0 : _props_onCheckedChange.call(props, event, {
|
|
54
|
+
...data,
|
|
55
|
+
checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()
|
|
56
|
+
});
|
|
57
|
+
}
|
|
42
58
|
});
|
|
43
59
|
const handleNavigation = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
44
60
|
var _props_onNavigation_unstable;
|
|
@@ -47,7 +63,7 @@ const useTree_unstable = (props, ref)=>{
|
|
|
47
63
|
navigate(data, walkerRef.current);
|
|
48
64
|
}
|
|
49
65
|
});
|
|
50
|
-
|
|
66
|
+
return (0, _useRootTree.useRootTree)({
|
|
51
67
|
...props,
|
|
52
68
|
openItems,
|
|
53
69
|
checkedItems,
|
|
@@ -55,11 +71,5 @@ const useTree_unstable = (props, ref)=>{
|
|
|
55
71
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
56
72
|
onNavigation_unstable: handleNavigation,
|
|
57
73
|
onCheckedChange: handleCheckedChange
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const isSubtree = (0, _treeContext.useTreeContext_unstable)((ctx)=>ctx.level > 0);
|
|
61
|
-
// as isSubTree is static, this doesn't break rule of hooks
|
|
62
|
-
// and if this becomes an issue later on, this can be easily converted
|
|
63
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
64
|
-
return isSubtree ? (0, _useSubtree.useSubtree)(baseProps, baseRef) : (0, _useRootTree.useRootTree)(baseProps, baseRef);
|
|
65
|
-
};
|
|
74
|
+
}, (0, _reactUtilities.useMergedRefs)(ref, initializeWalker));
|
|
75
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport {
|
|
1
|
+
{"version":3,"sources":["useTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport { createNextNestedCheckedItems, useNestedCheckedItems } from './useNestedControllableCheckedItems';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\nimport { useRootTree } from '../../hooks/useRootTree';\nimport { useSubtree } from '../../hooks/useSubtree';\nimport { createHTMLElementWalker } from '../../utils/createHTMLElementWalker';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\nimport { useTreeNavigation } from './useTreeNavigation';\nexport const useTree_unstable = (props, ref)=>{\n const isSubtree = useTreeContext_unstable((ctx)=>ctx.level > 0);\n // as isSubTree is static, this doesn't break rule of hooks\n // and if this becomes an issue later on, this can be easily converted\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isSubtree ? useSubtree(props, ref) : useNestedRootTree(props, ref);\n};\nfunction useNestedRootTree(props, ref) {\n const [openItems, setOpenItems] = useControllableOpenItems(props);\n const checkedItems = useNestedCheckedItems(props);\n const { navigate , initialize } = useTreeNavigation();\n const walkerRef = React.useRef();\n const initializeWalker = React.useCallback((root)=>{\n if (root) {\n walkerRef.current = createHTMLElementWalker(root, treeItemFilter);\n initialize(walkerRef.current);\n }\n }, [\n initialize\n ]);\n const handleOpenChange = useEventCallback((event, data)=>{\n var _props_onOpenChange;\n const nextOpenItems = createNextOpenItems(data, openItems);\n (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, {\n ...data,\n openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()\n });\n setOpenItems(nextOpenItems);\n });\n const handleCheckedChange = useEventCallback((event, data)=>{\n if (walkerRef.current) {\n var _props_onCheckedChange;\n const nextCheckedItems = createNextNestedCheckedItems(data, checkedItems);\n (_props_onCheckedChange = props.onCheckedChange) === null || _props_onCheckedChange === void 0 ? void 0 : _props_onCheckedChange.call(props, event, {\n ...data,\n checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()\n });\n }\n });\n const handleNavigation = useEventCallback((event, data)=>{\n var _props_onNavigation_unstable;\n (_props_onNavigation_unstable = props.onNavigation_unstable) === null || _props_onNavigation_unstable === void 0 ? void 0 : _props_onNavigation_unstable.call(props, event, data);\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n });\n return useRootTree({\n ...props,\n openItems,\n checkedItems,\n onOpenChange: handleOpenChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation,\n onCheckedChange: handleCheckedChange\n }, useMergedRefs(ref, initializeWalker));\n}\n"],"names":["useTree_unstable","props","ref","isSubtree","useTreeContext_unstable","ctx","level","useSubtree","useNestedRootTree","openItems","setOpenItems","useControllableOpenItems","checkedItems","useNestedCheckedItems","navigate","initialize","useTreeNavigation","walkerRef","React","useRef","initializeWalker","useCallback","root","current","createHTMLElementWalker","treeItemFilter","handleOpenChange","useEventCallback","event","data","_props_onOpenChange","nextOpenItems","createNextOpenItems","onOpenChange","call","dangerouslyGetInternalSet_unstable","handleCheckedChange","_props_onCheckedChange","nextCheckedItems","createNextNestedCheckedItems","onCheckedChange","dangerouslyGetInternalMap_unstable","handleNavigation","_props_onNavigation_unstable","onNavigation_unstable","useRootTree","useMergedRefs"],"mappings":";;;;+BAUaA;;aAAAA;;;6DAVU;gCACyB;0CACc;mDACM;6BAC5B;6BACZ;4BACD;yCACa;gCACT;mCACG;AAC3B,MAAMA,mBAAmB,CAACC,OAAOC,MAAM;IAC1C,MAAMC,YAAYC,IAAAA,oCAAuB,EAAC,CAACC,MAAMA,IAAIC,KAAK,GAAG;IAC7D,2DAA2D;IAC3D,sEAAsE;IACtE,sDAAsD;IACtD,OAAOH,YAAYI,IAAAA,sBAAU,EAACN,OAAOC,OAAOM,kBAAkBP,OAAOC,IAAI;AAC7E;AACA,SAASM,kBAAkBP,KAAK,EAAEC,GAAG,EAAE;IACnC,MAAM,CAACO,WAAWC,aAAa,GAAGC,IAAAA,kDAAwB,EAACV;IAC3D,MAAMW,eAAeC,IAAAA,wDAAqB,EAACZ;IAC3C,MAAM,EAAEa,SAAQ,EAAGC,WAAU,EAAG,GAAGC,IAAAA,oCAAiB;IACpD,MAAMC,YAAYC,OAAMC,MAAM;IAC9B,MAAMC,mBAAmBF,OAAMG,WAAW,CAAC,CAACC,OAAO;QAC/C,IAAIA,MAAM;YACNL,UAAUM,OAAO,GAAGC,IAAAA,gDAAuB,EAACF,MAAMG,8BAAc;YAChEV,WAAWE,UAAUM,OAAO;QAChC,CAAC;IACL,GAAG;QACCR;KACH;IACD,MAAMW,mBAAmBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIC;QACJ,MAAMC,gBAAgBC,IAAAA,6CAAmB,EAACH,MAAMpB;QAC/CqB,CAAAA,sBAAsB7B,MAAMgC,YAAY,AAAD,MAAO,IAAI,IAAIH,wBAAwB,KAAK,IAAI,KAAK,IAAIA,oBAAoBI,IAAI,CAACjC,OAAO2B,OAAO;YACpI,GAAGC,IAAI;YACPpB,WAAWsB,cAAcI,kCAAkC;QAC/D,EAAE;QACFzB,aAAaqB;IACjB;IACA,MAAMK,sBAAsBT,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACxD,IAAIZ,UAAUM,OAAO,EAAE;YACnB,IAAIc;YACJ,MAAMC,mBAAmBC,IAAAA,+DAA4B,EAACV,MAAMjB;YAC3DyB,CAAAA,yBAAyBpC,MAAMuC,eAAe,AAAD,MAAO,IAAI,IAAIH,2BAA2B,KAAK,IAAI,KAAK,IAAIA,uBAAuBH,IAAI,CAACjC,OAAO2B,OAAO;gBAChJ,GAAGC,IAAI;gBACPjB,cAAc0B,iBAAiBG,kCAAkC;YACrE,EAAE;QACN,CAAC;IACL;IACA,MAAMC,mBAAmBf,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIc;QACHA,CAAAA,+BAA+B1C,MAAM2C,qBAAqB,AAAD,MAAO,IAAI,IAAID,iCAAiC,KAAK,IAAI,KAAK,IAAIA,6BAA6BT,IAAI,CAACjC,OAAO2B,OAAOC,KAAK;QACjL,IAAIZ,UAAUM,OAAO,EAAE;YACnBT,SAASe,MAAMZ,UAAUM,OAAO;QACpC,CAAC;IACL;IACA,OAAOsB,IAAAA,wBAAW,EAAC;QACf,GAAG5C,KAAK;QACRQ;QACAG;QACAqB,cAAcP;QACd,gEAAgE;QAChEkB,uBAAuBF;QACvBF,iBAAiBJ;IACrB,GAAGU,IAAAA,6BAAa,EAAC5C,KAAKkB;AAC1B"}
|
|
@@ -27,8 +27,8 @@ const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
27
27
|
}
|
|
28
28
|
}, {
|
|
29
29
|
d: [
|
|
30
|
-
".f22iagw{display
|
|
31
|
-
".f1vx9l62{
|
|
30
|
+
".f22iagw{display:flex;}",
|
|
31
|
+
".f1vx9l62{flex-direction:column;}",
|
|
32
32
|
".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}",
|
|
33
33
|
".fclwglc{padding-top:var(--spacingVerticalXXS);}"
|
|
34
34
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTreeStyles.styles.js"],"sourcesContent":["import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const treeClassNames = {\n root: 'fui-Tree'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n Belr9w4: \"f1j0q4x9\"\n },\n subtree: {\n z8tnut: \"fclwglc\"\n }\n}, {\n d: [\".f22iagw{display
|
|
1
|
+
{"version":3,"sources":["useTreeStyles.styles.js"],"sourcesContent":["import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const treeClassNames = {\n root: 'fui-Tree'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n Belr9w4: \"f1j0q4x9\"\n },\n subtree: {\n z8tnut: \"fclwglc\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\", \".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}\", \".fclwglc{padding-top:var(--spacingVerticalXXS);}\"]\n});\nexport const useTreeStyles_unstable = state => {\n const styles = useStyles();\n const isSubTree = state.level > 1;\n state.root.className = mergeClasses(treeClassNames.root, styles.root, isSubTree && styles.subtree, state.root.className);\n return state;\n};\n//# sourceMappingURL=useTreeStyles.styles.js.map"],"names":["treeClassNames","useTreeStyles_unstable","root","useStyles","__styles","mc9l5x","Beiy3e4","Belr9w4","subtree","z8tnut","d","state","styles","isSubTree","level","className","mergeClasses"],"mappings":";;;;;;;;;;;IAEaA,cAAc,MAAdA;IAeAC,sBAAsB,MAAtBA;;uBAjB0B;AAEhC,MAAMD,iBAAiB;IAC5BE,MAAM;AACR;AACA,MAAMC,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCF,MAAM;QACJG,QAAQ;QACRC,SAAS;QACTC,SAAS;IACX;IACAC,SAAS;QACPC,QAAQ;IACV;AACF,GAAG;IACDC,GAAG;QAAC;QAA2B;QAAqC;QAAiD;KAAmD;AAC1K;AACO,MAAMT,yBAAyBU,CAAAA,QAAS;IAC7C,MAAMC,SAAST;IACf,MAAMU,YAAYF,MAAMG,KAAK,GAAG;IAChCH,MAAMT,IAAI,CAACa,SAAS,GAAGC,IAAAA,mBAAY,EAAChB,eAAeE,IAAI,EAAEU,OAAOV,IAAI,EAAEW,aAAaD,OAAOJ,OAAO,EAAEG,MAAMT,IAAI,CAACa,SAAS;IACvH,OAAOJ;AACT,GACA,gDAAgD"}
|
|
@@ -10,8 +10,8 @@ const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
|
|
|
10
10
|
const _reactUtilities = require("@fluentui/react-utilities");
|
|
11
11
|
const _contexts = require("../../contexts");
|
|
12
12
|
const renderTreeItem_unstable = (state, contextValues)=>{
|
|
13
|
-
|
|
14
|
-
return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(
|
|
13
|
+
(0, _reactUtilities.assertSlots)(state);
|
|
14
|
+
return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null, /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(_contexts.TreeItemProvider, {
|
|
15
15
|
value: contextValues.treeItem
|
|
16
|
-
},
|
|
16
|
+
}, state.root.children));
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["renderTreeItem.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport {
|
|
1
|
+
{"version":3,"sources":["renderTreeItem.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { TreeItemProvider } from '../../contexts';\n/**\n * Render the final JSX of TreeItem\n */ export const renderTreeItem_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null, /*#__PURE__*/ createElement(TreeItemProvider, {\n value: contextValues.treeItem\n }, state.root.children));\n};\n"],"names":["renderTreeItem_unstable","state","contextValues","assertSlots","createElement","root","TreeItemProvider","value","treeItem","children"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACvD;0BACK;AAGtB,MAAMA,0BAA0B,CAACC,OAAOC,gBAAgB;IAC/DC,IAAAA,2BAAW,EAACF;IACZ,OAAO,WAAW,GAAGG,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAE,IAAI,EAAE,WAAW,GAAGD,IAAAA,8BAAa,EAACE,0BAAgB,EAAE;QAC/FC,OAAOL,cAAcM,QAAQ;IACjC,GAAGP,MAAMI,IAAI,CAACI,QAAQ;AAC1B"}
|
|
@@ -34,13 +34,8 @@ function useTreeItem_unstable(props, ref) {
|
|
|
34
34
|
const selectionRef = _react.useRef(null);
|
|
35
35
|
const open = (0, _index.useTreeContext_unstable)((ctx)=>ctx.openItems.has(value));
|
|
36
36
|
const selectionMode = (0, _index.useTreeContext_unstable)((ctx)=>ctx.selectionMode);
|
|
37
|
-
|
|
38
|
-
const checked = (0, _index.useTreeContext_unstable)((ctx)=>
|
|
39
|
-
if (selectionMode === 'multiselect' && typeof parentChecked === 'boolean') {
|
|
40
|
-
return parentChecked;
|
|
41
|
-
}
|
|
42
|
-
return ctx.checkedItems.get(value);
|
|
43
|
-
});
|
|
37
|
+
var _ctx_checkedItems_get;
|
|
38
|
+
const checked = (0, _index.useTreeContext_unstable)((ctx)=>(_ctx_checkedItems_get = ctx.checkedItems.get(value)) !== null && _ctx_checkedItems_get !== void 0 ? _ctx_checkedItems_get : false);
|
|
44
39
|
const handleClick = (0, _reactUtilities.useEventCallback)((event)=>{
|
|
45
40
|
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
46
41
|
if (event.isDefaultPrevented()) {
|
|
@@ -157,7 +152,7 @@ function useTreeItem_unstable(props, ref) {
|
|
|
157
152
|
},
|
|
158
153
|
isAsideVisible,
|
|
159
154
|
isActionsVisible,
|
|
160
|
-
root: (0, _reactUtilities.getNativeElementProps)(as, {
|
|
155
|
+
root: _reactUtilities.slot.always((0, _reactUtilities.getNativeElementProps)(as, {
|
|
161
156
|
tabIndex: -1,
|
|
162
157
|
...rest,
|
|
163
158
|
ref,
|
|
@@ -174,6 +169,8 @@ function useTreeItem_unstable(props, ref) {
|
|
|
174
169
|
onMouseOut: handleActionsInvisible,
|
|
175
170
|
onBlur: handleActionsInvisible,
|
|
176
171
|
onChange: handleChange
|
|
172
|
+
}), {
|
|
173
|
+
elementType: 'div'
|
|
177
174
|
})
|
|
178
175
|
};
|
|
179
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTreeItem.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId, useMergedRefs } from '@fluentui/react-utilities';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useTreeContext_unstable, useTreeItemContext_unstable } from '../../contexts/index';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { Space } from '@fluentui/keyboard-keys';\nimport { treeDataTypes } from '../../utils/tokens';\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */ export function useTreeItem_unstable(props, ref) {\n var _props_value;\n const contextLevel = useTreeContext_unstable((ctx)=>ctx.level);\n // note, if the value is not externally provided,\n // then selection and expansion will not work properly\n const value = useId('fuiTreeItemValue-', (_props_value = props.value) === null || _props_value === void 0 ? void 0 : _props_value.toString());\n const { onClick , onKeyDown , as ='div' , itemType ='leaf' , 'aria-level': level = contextLevel , ...rest } = props;\n const requestTreeResponse = useTreeContext_unstable((ctx)=>ctx.requestTreeResponse);\n const [isActionsVisible, setActionsVisible] = React.useState(false);\n const [isAsideVisible, setAsideVisible] = React.useState(true);\n const handleActionsRef = (actionsElement)=>{\n setAsideVisible(actionsElement === null);\n };\n const actionsRef = React.useRef(null);\n const expandIconRef = React.useRef(null);\n const layoutRef = React.useRef(null);\n const subtreeRef = React.useRef(null);\n const selectionRef = React.useRef(null);\n const open = useTreeContext_unstable((ctx)=>ctx.openItems.has(value));\n const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);\n const parentChecked = useTreeItemContext_unstable((ctx)=>ctx.checked);\n const checked = useTreeContext_unstable((ctx)=>{\n if (selectionMode === 'multiselect' && typeof parentChecked === 'boolean') {\n return parentChecked;\n }\n return ctx.checkedItems.get(value);\n });\n const handleClick = useEventCallback((event)=>{\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n const isEventFromSelection = selectionRef.current && elementContains(selectionRef.current, event.target);\n if (isEventFromSelection) {\n return;\n }\n const isFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target);\n requestTreeResponse({\n event,\n value,\n itemType,\n target: event.currentTarget,\n type: isFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click\n });\n });\n const handleKeyDown = useEventCallback((event)=>{\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n // Ignore keyboard events that do not originate from the current tree item.\n if (event.isDefaultPrevented() || event.currentTarget !== event.target) {\n return;\n }\n switch(event.key){\n case Space:\n if (selectionMode !== 'none') {\n var _selectionRef_current;\n (_selectionRef_current = selectionRef.current) === null || _selectionRef_current === void 0 ? void 0 : _selectionRef_current.click();\n event.preventDefault();\n }\n return;\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.Enter:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowLeft:\n case treeDataTypes.ArrowRight:\n return requestTreeResponse({\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: event.key\n });\n }\n const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: treeDataTypes.TypeAhead\n });\n }\n });\n const handleActionsVisible = useEventCallback((event)=>{\n const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));\n if (!isTargetFromSubtree) {\n setActionsVisible(true);\n }\n });\n const handleActionsInvisible = useEventCallback((event)=>{\n const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));\n const isRelatedTargetFromActions = Boolean(actionsRef.current && elementContains(actionsRef.current, event.relatedTarget));\n if (isRelatedTargetFromActions) {\n return setActionsVisible(true);\n }\n if (!isTargetFromSubtree) {\n return setActionsVisible(false);\n }\n });\n const handleChange = useEventCallback((event)=>{\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n requestTreeResponse({\n event,\n value,\n itemType,\n type: 'Change',\n target: event.currentTarget,\n checked: checked === 'mixed' ? true : !checked\n });\n });\n const isBranch = itemType === 'branch';\n return {\n value,\n open,\n checked,\n subtreeRef,\n layoutRef,\n selectionRef,\n expandIconRef,\n actionsRef: useMergedRefs(handleActionsRef, actionsRef),\n itemType,\n level,\n components: {\n root: 'div'\n },\n isAsideVisible,\n isActionsVisible,\n root: getNativeElementProps(as, {\n tabIndex: -1,\n ...rest,\n ref,\n role: 'treeitem',\n 'aria-level': level,\n [dataTreeItemValueAttrName]: value,\n 'aria-checked': selectionMode === 'multiselect' ? checked === 'mixed' ? undefined : checked !== null && checked !== void 0 ? checked : false : undefined,\n 'aria-selected': selectionMode === 'single' ? checked : undefined,\n 'aria-expanded': isBranch ? open : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onMouseOver: handleActionsVisible,\n onFocus: handleActionsVisible,\n onMouseOut: handleActionsInvisible,\n onBlur: handleActionsInvisible,\n onChange: handleChange\n })\n };\n}\n"],"names":["useTreeItem_unstable","props","ref","_props_value","contextLevel","useTreeContext_unstable","ctx","level","value","useId","toString","onClick","onKeyDown","as","itemType","rest","requestTreeResponse","isActionsVisible","setActionsVisible","React","useState","isAsideVisible","setAsideVisible","handleActionsRef","actionsElement","actionsRef","useRef","expandIconRef","layoutRef","subtreeRef","selectionRef","open","openItems","has","selectionMode","parentChecked","useTreeItemContext_unstable","checked","checkedItems","get","handleClick","useEventCallback","event","isDefaultPrevented","isEventFromActions","current","elementContains","target","isEventFromSubtree","isEventFromSelection","isFromExpandIcon","currentTarget","type","treeDataTypes","ExpandIconClick","Click","handleKeyDown","key","Space","_selectionRef_current","click","preventDefault","End","Home","Enter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleActionsVisible","isTargetFromSubtree","Boolean","handleActionsInvisible","isRelatedTargetFromActions","relatedTarget","handleChange","isBranch","useMergedRefs","components","root","getNativeElementProps","tabIndex","role","dataTreeItemValueAttrName","undefined","onMouseOver","onFocus","onMouseOut","onBlur","onChange"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["useTreeItem.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId, useMergedRefs, useEventCallback, slot } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useTreeContext_unstable } from '../../contexts/index';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { Space } from '@fluentui/keyboard-keys';\nimport { treeDataTypes } from '../../utils/tokens';\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */ export function useTreeItem_unstable(props, ref) {\n var _props_value;\n const contextLevel = useTreeContext_unstable((ctx)=>ctx.level);\n // note, if the value is not externally provided,\n // then selection and expansion will not work properly\n const value = useId('fuiTreeItemValue-', (_props_value = props.value) === null || _props_value === void 0 ? void 0 : _props_value.toString());\n const { onClick , onKeyDown , as ='div' , itemType ='leaf' , 'aria-level': level = contextLevel , ...rest } = props;\n const requestTreeResponse = useTreeContext_unstable((ctx)=>ctx.requestTreeResponse);\n const [isActionsVisible, setActionsVisible] = React.useState(false);\n const [isAsideVisible, setAsideVisible] = React.useState(true);\n const handleActionsRef = (actionsElement)=>{\n setAsideVisible(actionsElement === null);\n };\n const actionsRef = React.useRef(null);\n const expandIconRef = React.useRef(null);\n const layoutRef = React.useRef(null);\n const subtreeRef = React.useRef(null);\n const selectionRef = React.useRef(null);\n const open = useTreeContext_unstable((ctx)=>ctx.openItems.has(value));\n const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);\n var _ctx_checkedItems_get;\n const checked = useTreeContext_unstable((ctx)=>(_ctx_checkedItems_get = ctx.checkedItems.get(value)) !== null && _ctx_checkedItems_get !== void 0 ? _ctx_checkedItems_get : false);\n const handleClick = useEventCallback((event)=>{\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n const isEventFromSelection = selectionRef.current && elementContains(selectionRef.current, event.target);\n if (isEventFromSelection) {\n return;\n }\n const isFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target);\n requestTreeResponse({\n event,\n value,\n itemType,\n target: event.currentTarget,\n type: isFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click\n });\n });\n const handleKeyDown = useEventCallback((event)=>{\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n // Ignore keyboard events that do not originate from the current tree item.\n if (event.isDefaultPrevented() || event.currentTarget !== event.target) {\n return;\n }\n switch(event.key){\n case Space:\n if (selectionMode !== 'none') {\n var _selectionRef_current;\n (_selectionRef_current = selectionRef.current) === null || _selectionRef_current === void 0 ? void 0 : _selectionRef_current.click();\n event.preventDefault();\n }\n return;\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.Enter:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowLeft:\n case treeDataTypes.ArrowRight:\n return requestTreeResponse({\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: event.key\n });\n }\n const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: treeDataTypes.TypeAhead\n });\n }\n });\n const handleActionsVisible = useEventCallback((event)=>{\n const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));\n if (!isTargetFromSubtree) {\n setActionsVisible(true);\n }\n });\n const handleActionsInvisible = useEventCallback((event)=>{\n const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));\n const isRelatedTargetFromActions = Boolean(actionsRef.current && elementContains(actionsRef.current, event.relatedTarget));\n if (isRelatedTargetFromActions) {\n return setActionsVisible(true);\n }\n if (!isTargetFromSubtree) {\n return setActionsVisible(false);\n }\n });\n const handleChange = useEventCallback((event)=>{\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n requestTreeResponse({\n event,\n value,\n itemType,\n type: 'Change',\n target: event.currentTarget,\n checked: checked === 'mixed' ? true : !checked\n });\n });\n const isBranch = itemType === 'branch';\n return {\n value,\n open,\n checked,\n subtreeRef,\n layoutRef,\n selectionRef,\n expandIconRef,\n actionsRef: useMergedRefs(handleActionsRef, actionsRef),\n itemType,\n level,\n components: {\n root: 'div'\n },\n isAsideVisible,\n isActionsVisible,\n root: slot.always(getNativeElementProps(as, {\n tabIndex: -1,\n ...rest,\n ref,\n role: 'treeitem',\n 'aria-level': level,\n [dataTreeItemValueAttrName]: value,\n 'aria-checked': selectionMode === 'multiselect' ? checked === 'mixed' ? undefined : checked !== null && checked !== void 0 ? checked : false : undefined,\n 'aria-selected': selectionMode === 'single' ? checked : undefined,\n 'aria-expanded': isBranch ? open : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onMouseOver: handleActionsVisible,\n onFocus: handleActionsVisible,\n onMouseOut: handleActionsInvisible,\n onBlur: handleActionsInvisible,\n onChange: handleChange\n }), {\n elementType: 'div'\n })\n };\n}\n"],"names":["useTreeItem_unstable","props","ref","_props_value","contextLevel","useTreeContext_unstable","ctx","level","value","useId","toString","onClick","onKeyDown","as","itemType","rest","requestTreeResponse","isActionsVisible","setActionsVisible","React","useState","isAsideVisible","setAsideVisible","handleActionsRef","actionsElement","actionsRef","useRef","expandIconRef","layoutRef","subtreeRef","selectionRef","open","openItems","has","selectionMode","_ctx_checkedItems_get","checked","checkedItems","get","handleClick","useEventCallback","event","isDefaultPrevented","isEventFromActions","current","elementContains","target","isEventFromSubtree","isEventFromSelection","isFromExpandIcon","currentTarget","type","treeDataTypes","ExpandIconClick","Click","handleKeyDown","key","Space","_selectionRef_current","click","preventDefault","End","Home","Enter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleActionsVisible","isTargetFromSubtree","Boolean","handleActionsInvisible","isRelatedTargetFromActions","relatedTarget","handleChange","isBranch","useMergedRefs","components","root","slot","always","getNativeElementProps","tabIndex","role","dataTreeItemValueAttrName","undefined","onMouseOver","onFocus","onMouseOut","onBlur","onChange","elementType"],"mappings":"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"}
|
|
@@ -148,8 +148,8 @@ const useRootStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
148
148
|
".fyat3t{--fluent-TreeItem--level:10;}",
|
|
149
149
|
".f10pi13n{position:relative;}",
|
|
150
150
|
".f1k6fduh{cursor:pointer;}",
|
|
151
|
-
".f22iagw{display
|
|
152
|
-
".f1vx9l62{
|
|
151
|
+
".f22iagw{display:flex;}",
|
|
152
|
+
".f1vx9l62{flex-direction:column;}",
|
|
153
153
|
".f1ewtqcl{box-sizing:border-box;}",
|
|
154
154
|
".fhovq9v{background-color:var(--colorSubtleBackground);}",
|
|
155
155
|
".fkfq4zb{color:var(--colorNeutralForeground2);}",
|