@fluentui/react-tree 9.0.0-beta.5 → 9.0.0-beta.7
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/.swcrc +30 -0
- package/CHANGELOG.json +145 -1
- package/CHANGELOG.md +39 -2
- package/dist/index.d.ts +26 -20
- package/lib/Tree.js.map +1 -1
- package/lib/TreeItem.js.map +1 -1
- package/lib/TreeItemLayout.js.map +1 -1
- package/lib/TreeItemPersonaLayout.js.map +1 -1
- package/lib/components/Tree/Tree.js.map +1 -1
- package/lib/components/Tree/Tree.types.js +1 -1
- package/lib/components/Tree/Tree.types.js.map +1 -1
- package/lib/components/Tree/index.js.map +1 -1
- package/lib/components/Tree/renderTree.js +1 -3
- package/lib/components/Tree/renderTree.js.map +1 -1
- package/lib/components/Tree/useTree.js +5 -4
- package/lib/components/Tree/useTree.js.map +1 -1
- package/lib/components/Tree/useTreeContextValues.js +3 -3
- package/lib/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib/components/Tree/useTreeStyles.js.map +1 -1
- package/lib/components/TreeItem/TreeItem.js.map +1 -1
- package/lib/components/TreeItem/TreeItem.types.js +1 -1
- package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib/components/TreeItem/index.js.map +1 -1
- package/lib/components/TreeItem/renderTreeItem.js +2 -12
- package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemStyles.js.map +1 -1
- package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
- package/lib/components/TreeItemLayout/index.js.map +1 -1
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js +1 -9
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayout.js +1 -0
- package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +2 -14
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +1 -0
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +1 -1
- package/lib/contexts/index.js.map +1 -1
- package/lib/contexts/treeContext.js +1 -2
- package/lib/contexts/treeContext.js.map +1 -1
- package/lib/contexts/treeItemContext.js +2 -4
- package/lib/contexts/treeItemContext.js.map +1 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useFlatTree.js +42 -22
- package/lib/hooks/useFlatTree.js.map +1 -1
- package/lib/hooks/useFlatTreeNavigation.js +7 -7
- package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib/hooks/useHTMLElementWalker.js +5 -5
- package/lib/hooks/useHTMLElementWalker.js.map +1 -1
- package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
- package/lib/hooks/useOpenItemsState.js.map +1 -1
- package/lib/hooks/useRovingTabIndexes.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/utils/ImmutableSet.js.map +1 -1
- package/lib/utils/assert.js +1 -0
- package/lib/utils/assert.js.map +1 -1
- package/lib/utils/createFlatTreeItems.js +109 -0
- package/lib/utils/createFlatTreeItems.js.map +1 -0
- package/lib/utils/flattenTree.js +3 -4
- package/lib/utils/flattenTree.js.map +1 -1
- package/lib/utils/nextTypeAheadElement.js +2 -2
- package/lib/utils/nextTypeAheadElement.js.map +1 -1
- package/lib/utils/normalizeOpenItems.js.map +1 -1
- package/lib/utils/tokens.js.map +1 -1
- package/lib/utils/treeItemFilter.js.map +1 -1
- package/lib-commonjs/Tree.js +5 -4
- package/lib-commonjs/Tree.js.map +1 -1
- package/lib-commonjs/TreeItem.js +5 -4
- package/lib-commonjs/TreeItem.js.map +1 -1
- package/lib-commonjs/TreeItemLayout.js +5 -4
- package/lib-commonjs/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/TreeItemPersonaLayout.js +5 -4
- package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/Tree/Tree.js +18 -22
- package/lib-commonjs/components/Tree/Tree.js.map +1 -1
- package/lib-commonjs/components/Tree/Tree.types.js +5 -2
- package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
- package/lib-commonjs/components/Tree/index.js +10 -9
- package/lib-commonjs/components/Tree/index.js.map +1 -1
- package/lib-commonjs/components/Tree/renderTree.js +16 -18
- package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTree.js +88 -101
- package/lib-commonjs/components/Tree/useTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeContextValues.js +22 -28
- package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeStyles.js +31 -20
- package/lib-commonjs/components/Tree/useTreeStyles.js.map +1 -1
- package/lib-commonjs/components/TreeItem/TreeItem.js +18 -17
- package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/TreeItem.types.js +5 -3
- package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib-commonjs/components/TreeItem/index.js +9 -8
- package/lib-commonjs/components/TreeItem/index.js.map +1 -1
- package/lib-commonjs/components/TreeItem/renderTreeItem.js +19 -32
- package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItem.js +229 -249
- package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +24 -20
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +353 -188
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +16 -15
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +3 -2
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/index.js +9 -8
- package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +14 -27
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +42 -52
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +126 -88
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +18 -17
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +3 -2
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js +9 -8
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +17 -34
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +46 -61
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +18 -15
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +165 -101
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +1 -1
- package/lib-commonjs/contexts/index.js +6 -5
- package/lib-commonjs/contexts/index.js.map +1 -1
- package/lib-commonjs/contexts/treeContext.js +25 -17
- package/lib-commonjs/contexts/treeContext.js.map +1 -1
- package/lib-commonjs/contexts/treeItemContext.js +20 -12
- package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
- package/lib-commonjs/hooks/index.js +7 -6
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/useFlatTree.js +74 -52
- package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
- package/lib-commonjs/hooks/useFlatTreeNavigation.js +73 -72
- package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useHTMLElementWalker.js +94 -83
- package/lib-commonjs/hooks/useHTMLElementWalker.js.map +1 -1
- package/lib-commonjs/hooks/useNestedTreeNavigation.js +61 -58
- package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useOpenItemsState.js +32 -22
- package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
- package/lib-commonjs/hooks/useRovingTabIndexes.js +56 -53
- package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
- package/lib-commonjs/index.js +48 -180
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/ImmutableSet.js +39 -38
- package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
- package/lib-commonjs/utils/assert.js +13 -9
- package/lib-commonjs/utils/assert.js.map +1 -1
- package/lib-commonjs/utils/createFlatTreeItems.js +126 -0
- package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -0
- package/lib-commonjs/utils/flattenTree.js +25 -29
- package/lib-commonjs/utils/flattenTree.js.map +1 -1
- package/lib-commonjs/utils/nextTypeAheadElement.js +18 -16
- package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
- package/lib-commonjs/utils/normalizeOpenItems.js +13 -9
- package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
- package/lib-commonjs/utils/tokens.js +30 -20
- package/lib-commonjs/utils/tokens.js.map +1 -1
- package/lib-commonjs/utils/treeItemFilter.js +9 -7
- package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
- package/package.json +19 -15
- package/lib/utils/createUnfilteredFlatTree.js +0 -77
- package/lib/utils/createUnfilteredFlatTree.js.map +0 -1
- package/lib/utils/createVisibleFlatTree.js +0 -80
- package/lib/utils/createVisibleFlatTree.js.map +0 -1
- package/lib-commonjs/utils/createUnfilteredFlatTree.js +0 -84
- package/lib-commonjs/utils/createUnfilteredFlatTree.js.map +0 -1
- package/lib-commonjs/utils/createVisibleFlatTree.js +0 -87
- package/lib-commonjs/utils/createVisibleFlatTree.js.map +0 -1
package/.swcrc
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/swcrc",
|
|
3
|
+
"exclude": [
|
|
4
|
+
"/testing",
|
|
5
|
+
"/**/*.cy.ts",
|
|
6
|
+
"/**/*.cy.tsx",
|
|
7
|
+
"/**/*.spec.ts",
|
|
8
|
+
"/**/*.spec.tsx",
|
|
9
|
+
"/**/*.test.ts",
|
|
10
|
+
"/**/*.test.tsx"
|
|
11
|
+
],
|
|
12
|
+
"jsc": {
|
|
13
|
+
"parser": {
|
|
14
|
+
"syntax": "typescript",
|
|
15
|
+
"tsx": true,
|
|
16
|
+
"decorators": false,
|
|
17
|
+
"dynamicImport": false
|
|
18
|
+
},
|
|
19
|
+
"externalHelpers": true,
|
|
20
|
+
"transform": {
|
|
21
|
+
"react": {
|
|
22
|
+
"runtime": "classic",
|
|
23
|
+
"useSpread": true
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"target": "es2019"
|
|
27
|
+
},
|
|
28
|
+
"minify": false,
|
|
29
|
+
"sourceMaps": true
|
|
30
|
+
}
|
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,151 @@
|
|
|
2
2
|
"name": "@fluentui/react-tree",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "Thu,
|
|
5
|
+
"date": "Thu, 23 Mar 2023 12:28:44 GMT",
|
|
6
|
+
"tag": "@fluentui/react-tree_v9.0.0-beta.7",
|
|
7
|
+
"version": "9.0.0-beta.7",
|
|
8
|
+
"comments": {
|
|
9
|
+
"prerelease": [
|
|
10
|
+
{
|
|
11
|
+
"author": "bernardo.sunderhus@gmail.com",
|
|
12
|
+
"package": "@fluentui/react-tree",
|
|
13
|
+
"commit": "1ebc61cab902debf662b757e534d736b8ac96c4f",
|
|
14
|
+
"comment": "chore: improves internals mechanism to ensure memoization"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "beachball",
|
|
18
|
+
"package": "@fluentui/react-tree",
|
|
19
|
+
"comment": "Bump @fluentui/react-avatar to v9.4.6",
|
|
20
|
+
"commit": "be0ca69899300abe3c8478c435e0f6837138479b"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "beachball",
|
|
24
|
+
"package": "@fluentui/react-tree",
|
|
25
|
+
"comment": "Bump @fluentui/react-button to v9.3.6",
|
|
26
|
+
"commit": "be0ca69899300abe3c8478c435e0f6837138479b"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"author": "beachball",
|
|
30
|
+
"package": "@fluentui/react-tree",
|
|
31
|
+
"comment": "Bump @fluentui/react-portal to v9.2.3",
|
|
32
|
+
"commit": "be0ca69899300abe3c8478c435e0f6837138479b"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"author": "beachball",
|
|
36
|
+
"package": "@fluentui/react-tree",
|
|
37
|
+
"comment": "Bump @fluentui/react-shared-contexts to v9.3.3",
|
|
38
|
+
"commit": "be0ca69899300abe3c8478c435e0f6837138479b"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"author": "beachball",
|
|
42
|
+
"package": "@fluentui/react-tree",
|
|
43
|
+
"comment": "Bump @fluentui/react-tabster to v9.6.2",
|
|
44
|
+
"commit": "be0ca69899300abe3c8478c435e0f6837138479b"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"date": "Tue, 21 Mar 2023 21:23:13 GMT",
|
|
51
|
+
"tag": "@fluentui/react-tree_v9.0.0-beta.6",
|
|
52
|
+
"version": "9.0.0-beta.6",
|
|
53
|
+
"comments": {
|
|
54
|
+
"prerelease": [
|
|
55
|
+
{
|
|
56
|
+
"author": "tristan.watanabe@gmail.com",
|
|
57
|
+
"package": "@fluentui/react-tree",
|
|
58
|
+
"commit": "2fac1a139149bd13b76b1306207bc988dca9c72c",
|
|
59
|
+
"comment": "chore: migrate to swc transpilation approach."
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"author": "olfedias@microsoft.com",
|
|
63
|
+
"package": "@fluentui/react-tree",
|
|
64
|
+
"commit": "7fde5c94869ff9841b142b7ff1d0a3df0ab58f74",
|
|
65
|
+
"comment": "chore: Bumping version of @fluentui/react-icons to ^2.0.196."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"author": "tristan.watanabe@gmail.com",
|
|
69
|
+
"package": "@fluentui/react-tree",
|
|
70
|
+
"commit": "ead1c6d4c2ac3f3596b62b8cbc07b0a03041f11f",
|
|
71
|
+
"comment": "fix: add node field to package.json exports map."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"author": "email not defined",
|
|
75
|
+
"package": "@fluentui/react-tree",
|
|
76
|
+
"commit": "d7016bf89107ba2c8b22596b5e4b5ce4d32f99b0",
|
|
77
|
+
"comment": "chore: adds initial e2e cypress tests"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"author": "beachball",
|
|
81
|
+
"package": "@fluentui/react-tree",
|
|
82
|
+
"comment": "Bump @fluentui/keyboard-keys to v9.0.2",
|
|
83
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"author": "beachball",
|
|
87
|
+
"package": "@fluentui/react-tree",
|
|
88
|
+
"comment": "Bump @fluentui/react-aria to v9.3.15",
|
|
89
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"author": "beachball",
|
|
93
|
+
"package": "@fluentui/react-tree",
|
|
94
|
+
"comment": "Bump @fluentui/react-avatar to v9.4.5",
|
|
95
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"author": "beachball",
|
|
99
|
+
"package": "@fluentui/react-tree",
|
|
100
|
+
"comment": "Bump @fluentui/react-button to v9.3.5",
|
|
101
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"author": "beachball",
|
|
105
|
+
"package": "@fluentui/react-tree",
|
|
106
|
+
"comment": "Bump @fluentui/react-context-selector to v9.1.15",
|
|
107
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"author": "beachball",
|
|
111
|
+
"package": "@fluentui/react-tree",
|
|
112
|
+
"comment": "Bump @fluentui/react-portal to v9.2.2",
|
|
113
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"author": "beachball",
|
|
117
|
+
"package": "@fluentui/react-tree",
|
|
118
|
+
"comment": "Bump @fluentui/react-shared-contexts to v9.3.2",
|
|
119
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"author": "beachball",
|
|
123
|
+
"package": "@fluentui/react-tree",
|
|
124
|
+
"comment": "Bump @fluentui/react-tabster to v9.6.1",
|
|
125
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"author": "beachball",
|
|
129
|
+
"package": "@fluentui/react-tree",
|
|
130
|
+
"comment": "Bump @fluentui/react-theme to v9.1.7",
|
|
131
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"author": "beachball",
|
|
135
|
+
"package": "@fluentui/react-tree",
|
|
136
|
+
"comment": "Bump @fluentui/react-utilities to v9.7.2",
|
|
137
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"author": "beachball",
|
|
141
|
+
"package": "@fluentui/react-tree",
|
|
142
|
+
"comment": "Bump @fluentui/react-conformance-griffel to v9.0.0-beta.20",
|
|
143
|
+
"commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5"
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"date": "Thu, 16 Mar 2023 14:36:59 GMT",
|
|
6
150
|
"tag": "@fluentui/react-tree_v9.0.0-beta.5",
|
|
7
151
|
"version": "9.0.0-beta.5",
|
|
8
152
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,49 @@
|
|
|
1
1
|
# Change Log - @fluentui/react-tree
|
|
2
2
|
|
|
3
|
-
This log was last generated on Thu,
|
|
3
|
+
This log was last generated on Thu, 23 Mar 2023 12:28:44 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## [9.0.0-beta.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.0.0-beta.7)
|
|
8
|
+
|
|
9
|
+
Thu, 23 Mar 2023 12:28:44 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tree_v9.0.0-beta.6..@fluentui/react-tree_v9.0.0-beta.7)
|
|
11
|
+
|
|
12
|
+
### Changes
|
|
13
|
+
|
|
14
|
+
- chore: improves internals mechanism to ensure memoization ([PR #27260](https://github.com/microsoft/fluentui/pull/27260) by bernardo.sunderhus@gmail.com)
|
|
15
|
+
- Bump @fluentui/react-avatar to v9.4.6 ([PR #27286](https://github.com/microsoft/fluentui/pull/27286) by beachball)
|
|
16
|
+
- Bump @fluentui/react-button to v9.3.6 ([PR #27286](https://github.com/microsoft/fluentui/pull/27286) by beachball)
|
|
17
|
+
- Bump @fluentui/react-portal to v9.2.3 ([PR #27286](https://github.com/microsoft/fluentui/pull/27286) by beachball)
|
|
18
|
+
- Bump @fluentui/react-shared-contexts to v9.3.3 ([PR #27286](https://github.com/microsoft/fluentui/pull/27286) by beachball)
|
|
19
|
+
- Bump @fluentui/react-tabster to v9.6.2 ([PR #27286](https://github.com/microsoft/fluentui/pull/27286) by beachball)
|
|
20
|
+
|
|
21
|
+
## [9.0.0-beta.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.0.0-beta.6)
|
|
22
|
+
|
|
23
|
+
Tue, 21 Mar 2023 21:23:13 GMT
|
|
24
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tree_v9.0.0-beta.5..@fluentui/react-tree_v9.0.0-beta.6)
|
|
25
|
+
|
|
26
|
+
### Changes
|
|
27
|
+
|
|
28
|
+
- chore: migrate to swc transpilation approach. ([PR #27250](https://github.com/microsoft/fluentui/pull/27250) by tristan.watanabe@gmail.com)
|
|
29
|
+
- chore: Bumping version of @fluentui/react-icons to ^2.0.196. ([PR #27100](https://github.com/microsoft/fluentui/pull/27100) by olfedias@microsoft.com)
|
|
30
|
+
- fix: add node field to package.json exports map. ([PR #27154](https://github.com/microsoft/fluentui/pull/27154) by tristan.watanabe@gmail.com)
|
|
31
|
+
- chore: adds initial e2e cypress tests ([PR #27266](https://github.com/microsoft/fluentui/pull/27266) by email not defined)
|
|
32
|
+
- Bump @fluentui/keyboard-keys to v9.0.2 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
33
|
+
- Bump @fluentui/react-aria to v9.3.15 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
34
|
+
- Bump @fluentui/react-avatar to v9.4.5 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
35
|
+
- Bump @fluentui/react-button to v9.3.5 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
36
|
+
- Bump @fluentui/react-context-selector to v9.1.15 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
37
|
+
- Bump @fluentui/react-portal to v9.2.2 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
38
|
+
- Bump @fluentui/react-shared-contexts to v9.3.2 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
39
|
+
- Bump @fluentui/react-tabster to v9.6.1 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
40
|
+
- Bump @fluentui/react-theme to v9.1.7 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
41
|
+
- Bump @fluentui/react-utilities to v9.7.2 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
42
|
+
- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.20 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball)
|
|
43
|
+
|
|
7
44
|
## [9.0.0-beta.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.0.0-beta.5)
|
|
8
45
|
|
|
9
|
-
Thu, 16 Mar 2023 14:
|
|
46
|
+
Thu, 16 Mar 2023 14:36:59 GMT
|
|
10
47
|
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tree_v9.0.0-beta.4..@fluentui/react-tree_v9.0.0-beta.5)
|
|
11
48
|
|
|
12
49
|
### Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -57,7 +57,7 @@ export declare type FlatTree = {
|
|
|
57
57
|
* event.preventDefault();
|
|
58
58
|
* const nextItem = tree.getNextNavigableItem(data);
|
|
59
59
|
* // scroll to item using virtualization scroll mechanism
|
|
60
|
-
* if (nextItem &&
|
|
60
|
+
* if (nextItem && document.getElementById(nextItem.id)) {
|
|
61
61
|
* listRef.current.scrollToItem(nextItem.index);
|
|
62
62
|
* }
|
|
63
63
|
* // wait for scrolling to happen and then invoke navigate method
|
|
@@ -72,28 +72,20 @@ export declare type FlatTree = {
|
|
|
72
72
|
* returns next item to be focused on a navigation.
|
|
73
73
|
* This method is provided to decouple the element that needs to be focused from
|
|
74
74
|
* the action of focusing it itself.
|
|
75
|
+
*
|
|
76
|
+
* On the case of TypeAhead navigation this method returns the current item.
|
|
75
77
|
*/
|
|
76
|
-
getNextNavigableItem(data: TreeNavigationData_unstable): FlatTreeItem |
|
|
77
|
-
/**
|
|
78
|
-
* returns a single flat tree item by id without iterating over the whole collection
|
|
79
|
-
*/
|
|
80
|
-
getItem(id: string): FlatTreeItem | null;
|
|
78
|
+
getNextNavigableItem(visibleItems: FlatTreeItem[], data: TreeNavigationData_unstable): FlatTreeItem | undefined;
|
|
81
79
|
/**
|
|
82
|
-
*
|
|
80
|
+
* an iterable containing all visually available flat tree items
|
|
83
81
|
*/
|
|
84
|
-
items():
|
|
82
|
+
items(): IterableIterator<FlatTreeItem>;
|
|
85
83
|
};
|
|
86
84
|
|
|
87
|
-
export declare type FlatTreeItem =
|
|
88
|
-
getTreeItemProps(): Required<Pick<TreeItemProps, 'id' | 'aria-setsize' | 'aria-level' | 'aria-posinset' | 'leaf'>> & TreeItemProps;
|
|
89
|
-
parentId?: string;
|
|
90
|
-
childrenSize: number;
|
|
91
|
-
index: number;
|
|
92
|
-
id: string;
|
|
93
|
-
level: number;
|
|
94
|
-
};
|
|
85
|
+
export declare type FlatTreeItem = Readonly<MutableFlatTreeItem>;
|
|
95
86
|
|
|
96
|
-
export declare type FlatTreeItemProps =
|
|
87
|
+
export declare type FlatTreeItemProps = TreeItemProps & {
|
|
88
|
+
id: TreeItemId;
|
|
97
89
|
parentId?: string;
|
|
98
90
|
};
|
|
99
91
|
|
|
@@ -127,6 +119,20 @@ declare interface ImmutableSet<Value> {
|
|
|
127
119
|
[Symbol.iterator](): IterableIterator<Value>;
|
|
128
120
|
}
|
|
129
121
|
|
|
122
|
+
/**
|
|
123
|
+
* @internal
|
|
124
|
+
* Used internally on createFlatTreeItems and VisibleFlatTreeItemGenerator
|
|
125
|
+
* to ensure required properties when building a FlatTreeITem
|
|
126
|
+
*/
|
|
127
|
+
declare type MutableFlatTreeItem = {
|
|
128
|
+
parentId?: string;
|
|
129
|
+
childrenSize: number;
|
|
130
|
+
index: number;
|
|
131
|
+
id: string;
|
|
132
|
+
level: number;
|
|
133
|
+
getTreeItemProps(): Required<Pick<TreeItemProps, 'id' | 'aria-setsize' | 'aria-level' | 'aria-posinset' | 'leaf'>> & TreeItemProps;
|
|
134
|
+
};
|
|
135
|
+
|
|
130
136
|
export declare type NestedTreeItem = Omit<TreeItemProps, 'subtree'> & {
|
|
131
137
|
subtree?: NestedTreeItem[];
|
|
132
138
|
};
|
|
@@ -196,7 +202,7 @@ declare type TreeItemCSSProperties = React_2.CSSProperties & {
|
|
|
196
202
|
[treeItemLevelToken]?: string | number;
|
|
197
203
|
};
|
|
198
204
|
|
|
199
|
-
export declare type TreeItemId = string
|
|
205
|
+
export declare type TreeItemId = string;
|
|
200
206
|
|
|
201
207
|
/**
|
|
202
208
|
* TreeItemLayout component - TODO: add more docs
|
|
@@ -452,10 +458,10 @@ export declare type TreeState = ComponentState<TreeSlots> & TreeContextValue;
|
|
|
452
458
|
* It should be used on cases where more complex interactions with a Tree is required.
|
|
453
459
|
* On simple scenarios it is advised to simply use a nested structure instead.
|
|
454
460
|
*
|
|
455
|
-
* @param
|
|
461
|
+
* @param flatTreeItemProps - a list of tree items
|
|
456
462
|
* @param options - in case control over the internal openItems is required
|
|
457
463
|
*/
|
|
458
|
-
export declare function useFlatTree_unstable(
|
|
464
|
+
export declare function useFlatTree_unstable(flatTreeItemProps: FlatTreeItemProps[], options?: Pick<TreeProps, 'openItems' | 'defaultOpenItems'>): FlatTree;
|
|
459
465
|
|
|
460
466
|
/**
|
|
461
467
|
* Create the state required to render Tree.
|
package/lib/Tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["../src/Tree.ts"],"sourcesContent":["export * from './components/Tree/index';\n"],"mappings":"AAAA,cAAc"}
|
package/lib/TreeItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["../src/TreeItem.ts"],"sourcesContent":["export * from './components/TreeItem/index';\n"],"mappings":"AAAA,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["../src/TreeItemLayout.ts"],"sourcesContent":["export * from './components/TreeItemLayout/index';\n"],"mappings":"AAAA,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["../src/TreeItemPersonaLayout.ts"],"sourcesContent":["export * from './components/TreeItemPersonaLayout/index';\n"],"mappings":"AAAA,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useTree_unstable","renderTree_unstable","useTreeStyles_unstable","useTreeContextValues_unstable","Tree","forwardRef","props","ref","state","contextValues","displayName"],"sources":["
|
|
1
|
+
{"version":3,"names":["React","useTree_unstable","renderTree_unstable","useTreeStyles_unstable","useTreeContextValues_unstable","Tree","forwardRef","props","ref","state","contextValues","displayName"],"sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTree_unstable } from './useTree';\nimport { renderTree_unstable } from './renderTree';\nimport { useTreeStyles_unstable } from './useTreeStyles';\nimport type { TreeProps } from './Tree.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\n\n/**\n * A tree view widget presents a hierarchical list.\n * Any item in the hierarchy may have child items,\n * and items that have children may be expanded or collapsed to show or hide the children.\n * For example, in a file system navigator that uses a tree view to display folders and files,\n * an item representing a folder can be expanded to reveal the contents of the folder,\n * which may be files, folders, or both.\n */\nexport const Tree: ForwardRefComponent<TreeProps> = React.forwardRef((props, ref) => {\n const state = useTree_unstable(props, ref);\n useTreeStyles_unstable(state);\n const contextValues = useTreeContextValues_unstable(state);\n return renderTree_unstable(state, contextValues);\n});\n\nTree.displayName = 'Tree';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,sBAAsB,QAAQ;AAGvC,SAASC,6BAA6B,QAAQ;AAE9C;;;;;;;;AAQA,OAAO,MAAMC,IAAA,gBAAuCL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACnF,MAAMC,KAAA,GAAQR,gBAAA,CAAiBM,KAAA,EAAOC,GAAA;EACtCL,sBAAA,CAAuBM,KAAA;EACvB,MAAMC,aAAA,GAAgBN,6BAAA,CAA8BK,KAAA;EACpD,OAAOP,mBAAA,CAAoBO,KAAA,EAAOC,aAAA;AACpC;AAEAL,IAAA,CAAKM,WAAW,GAAG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
//# sourceMappingURL=Tree.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React"],"sources":["../../../src/components/Tree/Tree.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { TreeContextValue } from '../../contexts/treeContext';\nimport { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Enter, Home } from '@fluentui/keyboard-keys';\nimport { TreeItemId } from '../TreeItem/TreeItem.types';\n\nexport type TreeSlots = {\n root: Slot<'div'>;\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type TreeNavigationData_unstable =\n | { event: React.MouseEvent<HTMLElement>; target: HTMLElement; type: 'Click' }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: 'TypeAhead' }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof ArrowRight }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof ArrowLeft }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof ArrowUp }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof ArrowDown }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof Home }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof End };\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type TreeNavigationEvent_unstable = TreeNavigationData_unstable['event'];\n\nexport type TreeOpenChangeData = { open: boolean } & (\n | {\n event: React.MouseEvent<HTMLElement>;\n target: HTMLElement;\n type: 'ExpandIconClick';\n }\n | {\n event: React.MouseEvent<HTMLElement>;\n target: HTMLElement;\n type: 'Click';\n }\n | {\n event: React.KeyboardEvent<HTMLElement>;\n target: HTMLElement;\n type: typeof Enter;\n }\n | {\n event: React.KeyboardEvent<HTMLElement>;\n target: HTMLElement;\n type: typeof ArrowRight;\n }\n | {\n event: React.KeyboardEvent<HTMLElement>;\n target: HTMLElement;\n type: typeof ArrowLeft;\n }\n);\n\nexport type TreeOpenChangeEvent = TreeOpenChangeData['event'];\n\nexport type TreeContextValues = {\n tree: TreeContextValue;\n};\n\nexport type TreeProps = ComponentProps<TreeSlots> & {\n /**\n * A tree item can have various appearances:\n * - 'subtle' (default): The default tree item styles.\n * - 'subtle-alpha': Minimizes emphasis on hovered or focused states.\n * - 'transparent': Removes background color.\n * @default 'subtle'\n */\n appearance?: 'subtle' | 'subtle-alpha' | 'transparent';\n /**\n * Size of the tree item.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n /**\n * This refers to a list of ids of opened tree items.\n * Controls the state of the open tree items.\n * These property is ignored for subtrees.\n */\n openItems?: Iterable<TreeItemId>;\n /**\n * This refers to a list of ids of opened tree items.\n * Default value for the uncontrolled state of open tree items.\n * These property is ignored for subtrees.\n */\n defaultOpenItems?: Iterable<TreeItemId>;\n /**\n * Callback fired when the component changes value from open state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as open value and type of interaction that created the event.\n */\n onOpenChange?(event: TreeOpenChangeEvent, data: TreeOpenChangeData): void;\n\n /**\n * Callback fired when navigation happens inside the component.\n * These property is ignored for subtrees.\n *\n * FIXME: This method is not ideal, as navigation should be handled internally by tabster.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable?(event: TreeNavigationEvent_unstable, data: TreeNavigationData_unstable): void;\n};\n\n/**\n * State used in rendering Tree\n */\nexport type TreeState = ComponentState<TreeSlots> & TreeContextValue;\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/Tree/index.ts"],"sourcesContent":["export * from './Tree';\nexport * from './Tree.types';\nexport * from './renderTree';\nexport * from './useTree';\nexport * from './useTreeStyles';\nexport * from './useTreeContextValues';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
@@ -8,8 +8,6 @@ export const renderTree_unstable = (state, contextValues) => {
|
|
|
8
8
|
} = getSlots(state);
|
|
9
9
|
return /*#__PURE__*/React.createElement(TreeProvider, {
|
|
10
10
|
value: contextValues.tree
|
|
11
|
-
}, /*#__PURE__*/React.createElement(slots.root,
|
|
12
|
-
...slotProps.root
|
|
13
|
-
}, slotProps.root.children));
|
|
11
|
+
}, /*#__PURE__*/React.createElement(slots.root, slotProps.root, slotProps.root.children));
|
|
14
12
|
};
|
|
15
13
|
//# sourceMappingURL=renderTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","getSlots","TreeProvider","renderTree_unstable","state","contextValues","slots","slotProps","createElement","value","tree","root","children"],"sources":["
|
|
1
|
+
{"version":3,"names":["React","getSlots","TreeProvider","renderTree_unstable","state","contextValues","slots","slotProps","createElement","value","tree","root","children"],"sources":["../../../src/components/Tree/renderTree.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { TreeState, TreeSlots, TreeContextValues } from './Tree.types';\nimport { TreeProvider } from '../../contexts';\n\nexport const renderTree_unstable = (state: TreeState, contextValues: TreeContextValues) => {\n const { slots, slotProps } = getSlots<TreeSlots>(state);\n\n return (\n <TreeProvider value={contextValues.tree}>\n <slots.root {...slotProps.root}>{slotProps.root.children}</slots.root>\n </TreeProvider>\n );\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,QAAQ,QAAQ;AAEzB,SAASC,YAAY,QAAQ;AAE7B,OAAO,MAAMC,mBAAA,GAAsBA,CAACC,KAAA,EAAkBC,aAAA,KAAqC;EACzF,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGN,QAAA,CAAoBG,KAAA;EAEjD,oBACEJ,KAAA,CAAAQ,aAAA,CAACN,YAAA;IAAaO,KAAA,EAAOJ,aAAA,CAAcK;kBACjCV,KAAA,CAAAQ,aAAA,CAACF,KAAA,CAAMK,IAAI,EAAKJ,SAAA,CAAUI,IAAI,EAAGJ,SAAA,CAAUI,IAAI,CAACC,QAAQ;AAG9D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { getNativeElementProps, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';
|
|
2
3
|
import { useTreeContext_unstable } from '../../contexts';
|
|
3
4
|
import { useNestedTreeNavigation, useOpenItemsState } from '../../hooks';
|
|
@@ -67,16 +68,16 @@ function useRootTree(props, ref) {
|
|
|
67
68
|
const [openItems, updateOpenItems] = useOpenItemsState(props);
|
|
68
69
|
const [navigate, navigationRef] = useNestedTreeNavigation();
|
|
69
70
|
const requestOpenChange = useEventCallback(data => {
|
|
70
|
-
var
|
|
71
|
-
(
|
|
71
|
+
var _props_onOpenChange;
|
|
72
|
+
(_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, data.event, data);
|
|
72
73
|
if (data.event.isDefaultPrevented()) {
|
|
73
74
|
return;
|
|
74
75
|
}
|
|
75
76
|
return updateOpenItems(data);
|
|
76
77
|
});
|
|
77
78
|
const requestNavigation = useEventCallback(data => {
|
|
78
|
-
var
|
|
79
|
-
(
|
|
79
|
+
var _props_onNavigation_unstable;
|
|
80
|
+
(_props_onNavigation_unstable = props.onNavigation_unstable) === null || _props_onNavigation_unstable === void 0 ? void 0 : _props_onNavigation_unstable.call(props, data.event, data);
|
|
80
81
|
if (data.event.isDefaultPrevented()) {
|
|
81
82
|
return;
|
|
82
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getNativeElementProps","useEventCallback","useMergedRefs","useTreeContext_unstable","useNestedTreeNavigation","useOpenItemsState","treeDataTypes","useTree_unstable","props","ref","isSubtree","ctx","level","useSubtree","useRootTree","contextAppearance","appearance","contextSize","size","parentLevel","openItems","requestOpenChange","requestNavigation","components","root","role","warnIfNoProperPropsRootTree","updateOpenItems","navigate","navigationRef","data","
|
|
1
|
+
{"version":3,"names":["React","getNativeElementProps","useEventCallback","useMergedRefs","useTreeContext_unstable","useNestedTreeNavigation","useOpenItemsState","treeDataTypes","useTree_unstable","props","ref","isSubtree","ctx","level","useSubtree","useRootTree","contextAppearance","appearance","contextSize","size","parentLevel","openItems","requestOpenChange","requestNavigation","components","root","role","warnIfNoProperPropsRootTree","updateOpenItems","navigate","navigationRef","data","_props_onOpenChange","onOpenChange","call","event","isDefaultPrevented","_props_onNavigation_unstable","onNavigation_unstable","type","arrowDown","arrowUp","preventDefault","process","env","NODE_ENV","console","warn"],"sources":["../../../src/components/Tree/useTree.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { TreeOpenChangeData, TreeProps, TreeState, TreeNavigationData_unstable } from './Tree.types';\nimport { useTreeContext_unstable } from '../../contexts';\nimport { useNestedTreeNavigation, useOpenItemsState } from '../../hooks';\nimport { treeDataTypes } from '../../utils/tokens';\n\n/**\n * Create the state required to render Tree.\n *\n * The returned state can be modified with hooks such as useTreeStyles_unstable,\n * before being passed to renderTree_unstable.\n *\n * @param props - props from this instance of Tree\n * @param ref - reference to root HTMLElement of Tree\n */\nexport const useTree_unstable = (props: TreeProps, ref: React.Ref<HTMLElement>): TreeState => {\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) : useRootTree(props, ref);\n};\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 */\nfunction useSubtree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeState {\n const contextAppearance = useTreeContext_unstable(ctx => ctx.appearance);\n const contextSize = useTreeContext_unstable(ctx => ctx.size);\n\n const { appearance = contextAppearance ?? 'subtle', size = contextSize ?? 'medium' } = props;\n\n const parentLevel = useTreeContext_unstable(ctx => ctx.level);\n const openItems = useTreeContext_unstable(ctx => ctx.openItems);\n const requestOpenChange = useTreeContext_unstable(ctx => ctx.requestOpenChange);\n const requestNavigation = useTreeContext_unstable(ctx => ctx.requestNavigation);\n\n return {\n components: {\n root: 'div',\n },\n appearance,\n size,\n level: parentLevel + 1,\n root: getNativeElementProps('div', {\n ref,\n role: 'group',\n ...props,\n }),\n openItems,\n requestOpenChange,\n requestNavigation,\n };\n}\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 */\nfunction useRootTree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeState {\n warnIfNoProperPropsRootTree(props);\n\n const { appearance = 'subtle', size = 'medium' } = props;\n\n const [openItems, updateOpenItems] = useOpenItemsState(props);\n const [navigate, navigationRef] = useNestedTreeNavigation();\n\n const requestOpenChange = useEventCallback((data: TreeOpenChangeData) => {\n props.onOpenChange?.(data.event, data);\n if (data.event.isDefaultPrevented()) {\n return;\n }\n return updateOpenItems(data);\n });\n\n const requestNavigation = useEventCallback((data: TreeNavigationData_unstable) => {\n props.onNavigation_unstable?.(data.event, data);\n if (data.event.isDefaultPrevented()) {\n return;\n }\n navigate(data);\n if (data.type === treeDataTypes.arrowDown || data.type === treeDataTypes.arrowUp) {\n data.event.preventDefault();\n }\n });\n\n return {\n components: {\n root: 'div',\n },\n appearance,\n size,\n level: 1,\n openItems,\n requestOpenChange,\n requestNavigation,\n root: getNativeElementProps('div', {\n ref: useMergedRefs(navigationRef, ref),\n role: 'tree',\n ...props,\n }),\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('Tree must have either a `aria-label` or `aria-labelledby` property defined');\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ export function useTreeContextValues_unstable(state) {
|
|
|
8
8
|
requestNavigation
|
|
9
9
|
} = state;
|
|
10
10
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
* This context is created with "@fluentui/react-context-selector",
|
|
12
|
+
* there is no sense to memoize it
|
|
13
|
+
*/
|
|
14
14
|
const tree = {
|
|
15
15
|
appearance,
|
|
16
16
|
size,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTreeContextValues_unstable","state","openItems","level","appearance","size","requestOpenChange","requestNavigation","tree"],"sources":["
|
|
1
|
+
{"version":3,"names":["useTreeContextValues_unstable","state","openItems","level","appearance","size","requestOpenChange","requestNavigation","tree"],"sources":["../../../src/components/Tree/useTreeContextValues.ts"],"sourcesContent":["import { TreeContextValue } from '../../contexts';\nimport type { TreeContextValues, TreeState } from './Tree.types';\n\nexport function useTreeContextValues_unstable(state: TreeState): TreeContextValues {\n const { openItems, level, appearance, size, requestOpenChange, requestNavigation } = state;\n /**\n * This context is created with \"@fluentui/react-context-selector\",\n * there is no sense to memoize it\n */\n const tree: TreeContextValue = {\n appearance,\n size,\n level,\n openItems,\n requestOpenChange,\n requestNavigation,\n };\n\n return { tree };\n}\n"],"mappings":"AAGA,OAAO,SAASA,8BAA8BC,KAAgB,EAAqB;EACjF,MAAM;IAAEC,SAAA;IAAWC,KAAA;IAAOC,UAAA;IAAYC,IAAA;IAAMC,iBAAA;IAAmBC;EAAiB,CAAE,GAAGN,KAAA;EACrF;;;;EAIA,MAAMO,IAAA,GAAyB;IAC7BJ,UAAA;IACAC,IAAA;IACAF,KAAA;IACAD,SAAA;IACAI,iBAAA;IACAC;EACF;EAEA,OAAO;IAAEC;EAAK;AAChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__styles","mergeClasses","tokens","treeClassNames","root","useStyles","mc9l5x","Beiy3e4","Belr9w4","d","useTreeStyles_unstable","state","styles","className"],"sources":["
|
|
1
|
+
{"version":3,"names":["__styles","mergeClasses","tokens","treeClassNames","root","useStyles","mc9l5x","Beiy3e4","Belr9w4","d","useTreeStyles_unstable","state","styles","className"],"sources":["../../../src/components/Tree/useTreeStyles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { TreeSlots, TreeState } from './Tree.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\n\nexport const treeClassNames: SlotClassNames<TreeSlots> = {\n root: 'fui-Tree',\n};\n\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n rowGap: tokens.spacingVerticalXXS,\n },\n});\n\nexport const useTreeStyles_unstable = (state: TreeState): TreeState => {\n const styles = useStyles();\n state.root.className = mergeClasses(treeClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,QAAQ;AAGzC,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,cAAA,GAA4C;EACvDC,IAAA,EAAM;AACR;AAEA,MAAMC,SAAA,gBAAYL,QAAA;EAAAI,IAAA;IAAAE,MAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,EAMlB;AAEA,OAAO,MAAMC,sBAAA,GAA0BC,KAAA,IAAgC;EACrE,MAAMC,MAAA,GAASP,SAAA;EACfM,KAAA,CAAMP,IAAI,CAACS,SAAS,GAAGZ,YAAA,CAAaE,cAAA,CAAeC,IAAI,EAAEQ,MAAA,CAAOR,IAAI,EAAEO,KAAA,CAAMP,IAAI,CAACS,SAAS;EAE1F,OAAOF,KAAA;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useTreeItem_unstable","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItemContextValues_unstable","TreeItem","forwardRef","props","ref","state","contextValues","displayName"],"sources":["
|
|
1
|
+
{"version":3,"names":["React","useTreeItem_unstable","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItemContextValues_unstable","TreeItem","forwardRef","props","ref","state","contextValues","displayName"],"sources":["../../../src/components/TreeItem/TreeItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItem_unstable } from './useTreeItem';\nimport { renderTreeItem_unstable } from './renderTreeItem';\nimport { useTreeItemStyles_unstable } from './useTreeItemStyles';\nimport type { TreeItemProps } from './TreeItem.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeItemContextValues_unstable } from './useTreeItemContextValues';\n\n/**\n * TreeItem component - TODO: add more docs\n */\nexport const TreeItem: ForwardRefComponent<TreeItemProps> = React.forwardRef((props, ref) => {\n const state = useTreeItem_unstable(props, ref);\n\n useTreeItemStyles_unstable(state);\n const contextValues = useTreeItemContextValues_unstable(state);\n return renderTreeItem_unstable(state, contextValues);\n});\n\nTreeItem.displayName = 'TreeItem';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,uBAAuB,QAAQ;AACxC,SAASC,0BAA0B,QAAQ;AAG3C,SAASC,iCAAiC,QAAQ;AAElD;;;AAGA,OAAO,MAAMC,QAAA,gBAA+CL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EAC3F,MAAMC,KAAA,GAAQR,oBAAA,CAAqBM,KAAA,EAAOC,GAAA;EAE1CL,0BAAA,CAA2BM,KAAA;EAC3B,MAAMC,aAAA,GAAgBN,iCAAA,CAAkCK,KAAA;EACxD,OAAOP,uBAAA,CAAwBO,KAAA,EAAOC,aAAA;AACxC;AAEAL,QAAA,CAASM,WAAW,GAAG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
//# sourceMappingURL=TreeItem.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React"],"sources":["../../../src/components/TreeItem/TreeItem.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, ExtractSlotProps, Slot } from '@fluentui/react-utilities';\nimport type { ButtonContextValue } from '@fluentui/react-button';\nimport type { TreeItemContextValue } from '../../contexts';\nimport { treeItemLevelToken } from '../../utils/tokens';\nimport * as React from 'react';\n\nexport type TreeItemCSSProperties = React.CSSProperties & { [treeItemLevelToken]?: string | number };\nexport type TreeItemId = string;\n\nexport type TreeItemSlots = {\n root: Slot<ExtractSlotProps<Slot<'div'> & { style?: TreeItemCSSProperties }>>;\n content: NonNullable<Slot<'div'>>;\n subtree?: Slot<'span'>;\n /**\n * Expand icon slot,\n * by default renders a chevron icon to indicate opening and closing\n */\n expandIcon?: Slot<'span'>;\n /**\n * Actions slot that renders on the end of tree item\n * when the item is hovered/focused\n */\n actions?: Slot<'span'>;\n};\n\nexport type TreeItemContextValues = {\n treeItem: TreeItemContextValue;\n button: ButtonContextValue;\n};\n\n/**\n * TreeItem Props\n */\nexport type TreeItemProps = ComponentProps<Partial<TreeItemSlots>> & {\n /**\n * If a TreeItem is a leaf, it'll not present the `expandIcon` slot by default.\n * This attribute is used to force the decision if a TreeItem is a leaf or not. By not providing this property\n * this will be inferred by the presence of a subtree as part of the TreeItem children.\n */\n leaf?: boolean;\n};\n\n/**\n * State used in rendering TreeItem\n */\nexport type TreeItemState = ComponentState<TreeItemSlots> & {\n open: boolean;\n isLeaf: boolean;\n level: number;\n /**\n * By design, a button included on the actions slot should be small\n */\n buttonSize: 'small';\n isActionsVisible: boolean;\n};\n"],"mappings":"AAIA,YAAYA,KAAA,MAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/TreeItem/index.ts"],"sourcesContent":["export * from './TreeItem';\nexport * from './TreeItem.types';\nexport * from './renderTreeItem';\nexport * from './useTreeItem';\nexport * from './useTreeItemStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
@@ -12,18 +12,8 @@ export const renderTreeItem_unstable = (state, contextValues) => {
|
|
|
12
12
|
} = getSlots(state);
|
|
13
13
|
return /*#__PURE__*/React.createElement(TreeItemProvider, {
|
|
14
14
|
value: contextValues.treeItem
|
|
15
|
-
}, /*#__PURE__*/React.createElement(slots.root, {
|
|
16
|
-
...slotProps.root
|
|
17
|
-
}, /*#__PURE__*/React.createElement(slots.content, {
|
|
18
|
-
...slotProps.content
|
|
19
|
-
}, slots.expandIcon && /*#__PURE__*/React.createElement(slots.expandIcon, {
|
|
20
|
-
...slotProps.expandIcon
|
|
21
|
-
}), slotProps.content.children, /*#__PURE__*/React.createElement(ButtonContextProvider, {
|
|
15
|
+
}, /*#__PURE__*/React.createElement(slots.root, slotProps.root, /*#__PURE__*/React.createElement(slots.content, slotProps.content, slots.expandIcon && /*#__PURE__*/React.createElement(slots.expandIcon, slotProps.expandIcon), slotProps.content.children, /*#__PURE__*/React.createElement(ButtonContextProvider, {
|
|
22
16
|
value: contextValues.button
|
|
23
|
-
}, slots.actions && /*#__PURE__*/React.createElement(slots.actions,
|
|
24
|
-
...slotProps.actions
|
|
25
|
-
}))), state.open && slots.subtree && /*#__PURE__*/React.createElement(slots.subtree, {
|
|
26
|
-
...slotProps.subtree
|
|
27
|
-
})));
|
|
17
|
+
}, slots.actions && /*#__PURE__*/React.createElement(slots.actions, slotProps.actions))), state.open && slots.subtree && /*#__PURE__*/React.createElement(slots.subtree, slotProps.subtree)));
|
|
28
18
|
};
|
|
29
19
|
//# sourceMappingURL=renderTreeItem.js.map
|