@fluentui/react-tree 9.3.1 → 9.4.1
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 +139 -1
- package/CHANGELOG.md +38 -2
- package/dist/index.d.ts +36 -18
- package/lib/components/FlatTree/FlatTree.types.js.map +1 -1
- package/lib/components/FlatTree/renderFlatTree.js.map +1 -1
- package/lib/components/FlatTree/useFlatTree.js +16 -2
- package/lib/components/FlatTree/useFlatTree.js.map +1 -1
- package/lib/components/FlatTree/useFlatTreeContextValues.js +20 -2
- package/lib/components/FlatTree/useFlatTreeContextValues.js.map +1 -1
- package/lib/components/FlatTree/useFlatTreeStyles.styles.js +4 -12
- package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -1
- package/lib/components/Tree/Tree.types.js.map +1 -1
- package/lib/components/Tree/renderTree.js +1 -1
- package/lib/components/Tree/renderTree.js.map +1 -1
- package/lib/components/Tree/useTree.js +4 -7
- package/lib/components/Tree/useTree.js.map +1 -1
- package/lib/components/Tree/useTreeContextValues.js +29 -15
- package/lib/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib/components/Tree/useTreeStyles.styles.js +5 -8
- package/lib/components/Tree/useTreeStyles.styles.js.map +1 -1
- package/lib/components/TreeItem/useTreeItem.js +2 -2
- package/lib/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemStyles.styles.js +10 -50
- package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +23 -117
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +24 -141
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
- package/lib/components/TreeProvider.js +21 -0
- package/lib/components/TreeProvider.js.map +1 -0
- package/lib/contexts/index.js +1 -0
- package/lib/contexts/index.js.map +1 -1
- package/lib/contexts/subtreeContext.js +14 -0
- package/lib/contexts/subtreeContext.js.map +1 -0
- package/lib/contexts/treeContext.js +9 -5
- package/lib/contexts/treeContext.js.map +1 -1
- package/lib/hooks/useRootTree.js +1 -0
- package/lib/hooks/useRootTree.js.map +1 -1
- package/lib/hooks/useSubtree.js +2 -14
- package/lib/hooks/useSubtree.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib-commonjs/components/FlatTree/useFlatTree.js +16 -2
- package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -1
- package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js +20 -2
- package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js.map +1 -1
- package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +5 -15
- package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.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/useTree.js +4 -7
- package/lib-commonjs/components/Tree/useTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeContextValues.js +30 -15
- package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js +5 -9
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItem.js +8 -8
- package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +15 -134
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +43 -232
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +46 -281
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeProvider.js +32 -0
- package/lib-commonjs/components/TreeProvider.js.map +1 -0
- package/lib-commonjs/contexts/index.js +1 -0
- package/lib-commonjs/contexts/index.js.map +1 -1
- package/lib-commonjs/contexts/subtreeContext.js +31 -0
- package/lib-commonjs/contexts/subtreeContext.js.map +1 -0
- package/lib-commonjs/contexts/treeContext.js +6 -7
- package/lib-commonjs/contexts/treeContext.js.map +1 -1
- package/lib-commonjs/hooks/useRootTree.js +1 -0
- package/lib-commonjs/hooks/useRootTree.js.map +1 -1
- package/lib-commonjs/hooks/useSubtree.js +2 -14
- package/lib-commonjs/hooks/useSubtree.js.map +1 -1
- package/lib-commonjs/index.js +7 -3
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +12 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __styles, mergeClasses, shorthands } from '@griffel/react';
|
|
1
|
+
import { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';
|
|
2
2
|
import { tokens, typographyStyles } from '@fluentui/react-theme';
|
|
3
3
|
import { treeItemLevelToken } from '../../utils/tokens';
|
|
4
4
|
import { useTreeItemContext_unstable } from '../../contexts/treeItemContext';
|
|
@@ -12,27 +12,11 @@ export const treeItemPersonaLayoutClassNames = {
|
|
|
12
12
|
actions: 'fui-TreeItemPersonaLayout__actions',
|
|
13
13
|
selector: 'fui-TreeItemPersonaLayout__selector'
|
|
14
14
|
};
|
|
15
|
+
const useRootBaseStyles = /*#__PURE__*/__resetStyles("r1r98egg", null, [".r1r98egg{display:grid;grid-template-rows:1fr auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"expandIcon media main aside\" \"expandIcon media description aside\";align-items:center;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);}", ".r1r98egg:active{color:var(--colorNeutralForeground2Pressed);background-color:var(--colorSubtleBackgroundPressed);}", ".r1r98egg:active .fui-TreeItemPersonaLayout__expandIcon{color:var(--colorNeutralForeground3Pressed);}", ".r1r98egg:hover{color:var(--colorNeutralForeground2Hover);background-color:var(--colorSubtleBackgroundHover);}", ".r1r98egg:hover .fui-TreeItemPersonaLayout__expandIcon{color:var(--colorNeutralForeground3Hover);}"]);
|
|
15
16
|
/**
|
|
16
17
|
* Styles for the root slot
|
|
17
18
|
*/
|
|
18
19
|
const useRootStyles = /*#__PURE__*/__styles({
|
|
19
|
-
base: {
|
|
20
|
-
mc9l5x: "f13qh94s",
|
|
21
|
-
wkccdc: "f1y0tuzo",
|
|
22
|
-
Budl1dq: "fellwe7",
|
|
23
|
-
zoa1oz: "f1pam7zy",
|
|
24
|
-
Bt984gj: "f122n59",
|
|
25
|
-
Bahqtrf: "fk6fouc",
|
|
26
|
-
Be2twd7: "fkhj508",
|
|
27
|
-
Bhrd7zp: "figsok6",
|
|
28
|
-
Bg96gwp: "f1i3iumi",
|
|
29
|
-
lj723h: "flvvhsy",
|
|
30
|
-
ecr2s2: "f1wfn5kd",
|
|
31
|
-
zt0xaq: "f5na5aj",
|
|
32
|
-
Bi91k9c: "fnwyq0v",
|
|
33
|
-
Jwef8y: "f1t94bn6",
|
|
34
|
-
tbva4x: "f1oboesa"
|
|
35
|
-
},
|
|
36
20
|
leaf: {
|
|
37
21
|
uwmqm3: ["f1k1erfc", "faevyjx"]
|
|
38
22
|
},
|
|
@@ -40,42 +24,14 @@ const useRootStyles = /*#__PURE__*/__styles({
|
|
|
40
24
|
uwmqm3: ["fo100m9", "f6yw3pu"]
|
|
41
25
|
}
|
|
42
26
|
}, {
|
|
43
|
-
d: [".
|
|
44
|
-
a: [".flvvhsy:active{color:var(--colorNeutralForeground2Pressed);}", ".f1wfn5kd:active{background-color:var(--colorSubtleBackgroundPressed);}", ".f5na5aj:active .fui-TreeItemPersonaLayout__expandIcon{color:var(--colorNeutralForeground3Pressed);}"],
|
|
45
|
-
h: [".fnwyq0v:hover{color:var(--colorNeutralForeground2Hover);}", ".f1t94bn6:hover{background-color:var(--colorSubtleBackgroundHover);}", ".f1oboesa:hover .fui-TreeItemPersonaLayout__expandIcon{color:var(--colorNeutralForeground3Hover);}"]
|
|
27
|
+
d: [".f1k1erfc{padding-left:calc(var(--fluent-TreeItem--level, 1) * var(--spacingHorizontalXXL));}", ".faevyjx{padding-right:calc(var(--fluent-TreeItem--level, 1) * var(--spacingHorizontalXXL));}", ".fo100m9{padding-left:calc((var(--fluent-TreeItem--level, 1) - 1) * var(--spacingHorizontalXXL));}", ".f6yw3pu{padding-right:calc((var(--fluent-TreeItem--level, 1) - 1) * var(--spacingHorizontalXXL));}"]
|
|
46
28
|
});
|
|
47
29
|
/**
|
|
48
30
|
* Styles for the expand icon slot
|
|
49
31
|
*/
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
mc9l5x: "f22iagw",
|
|
53
|
-
Bt984gj: "f122n59",
|
|
54
|
-
a9b677: "f1szoe96",
|
|
55
|
-
Bqenvij: "f1d2rq10",
|
|
56
|
-
Ijaq50: "f11uok23",
|
|
57
|
-
Br312pm: "f1qdfnnj",
|
|
58
|
-
nk6f5a: "f1s27gz",
|
|
59
|
-
Bw0ie65: "f86d0yl",
|
|
60
|
-
z8tnut: "f1g0x7ka",
|
|
61
|
-
z189sj: ["f7x41pl", "fruq291"],
|
|
62
|
-
Byoj8tv: "f1qch9an",
|
|
63
|
-
uwmqm3: ["fgiv446", "ffczdla"]
|
|
64
|
-
}
|
|
65
|
-
}, {
|
|
66
|
-
d: [".f22iagw{display:flex;}", ".f122n59{align-items:center;}", ".f1szoe96{width:32px;}", ".f1d2rq10{height:32px;}", ".f11uok23{grid-row-start:media;}", ".f1qdfnnj{grid-column-start:media;}", ".f1s27gz{grid-row-end:media;}", ".f86d0yl{grid-column-end:media;}", ".f1g0x7ka{padding-top:0;}", ".f7x41pl{padding-right:var(--spacingHorizontalXS);}", ".fruq291{padding-left:var(--spacingHorizontalXS);}", ".f1qch9an{padding-bottom:0;}", ".fgiv446{padding-left:var(--spacingHorizontalXXS);}", ".ffczdla{padding-right:var(--spacingHorizontalXXS);}"]
|
|
67
|
-
});
|
|
32
|
+
const useMediaBaseStyles = /*#__PURE__*/__resetStyles("r1hbg5ns", "r1bmcusj", [".r1hbg5ns{display:flex;align-items:center;width:32px;height:32px;grid-row-start:media;grid-column-start:media;grid-row-end:media;grid-column-end:media;padding-top:0;padding-right:var(--spacingHorizontalXS);padding-bottom:0;padding-left:var(--spacingHorizontalXXS);}", ".r1bmcusj{display:flex;align-items:center;width:32px;height:32px;grid-row-start:media;grid-column-start:media;grid-row-end:media;grid-column-end:media;padding-top:0;padding-left:var(--spacingHorizontalXS);padding-bottom:0;padding-right:var(--spacingHorizontalXXS);}"]);
|
|
33
|
+
const useMainBaseStyles = /*#__PURE__*/__resetStyles("r1b2ijmt", "rvlp80t", [".r1b2ijmt{grid-row-start:main;grid-column-start:main;grid-row-end:main;grid-column-end:main;padding-top:var(--spacingVerticalMNudge);padding-right:var(--spacingHorizontalXS);padding-bottom:var(--spacingVerticalMNudge);padding-left:var(--spacingHorizontalS);}", ".rvlp80t{grid-row-start:main;grid-column-start:main;grid-row-end:main;grid-column-end:main;padding-top:var(--spacingVerticalMNudge);padding-left:var(--spacingHorizontalXS);padding-bottom:var(--spacingVerticalMNudge);padding-right:var(--spacingHorizontalS);}"]);
|
|
68
34
|
const useMainStyles = /*#__PURE__*/__styles({
|
|
69
|
-
base: {
|
|
70
|
-
Ijaq50: "f17iroih",
|
|
71
|
-
Br312pm: "fppdkoh",
|
|
72
|
-
nk6f5a: "fsb8d6n",
|
|
73
|
-
Bw0ie65: "f6k5g14",
|
|
74
|
-
z8tnut: "f1ngh7ph",
|
|
75
|
-
z189sj: ["f7x41pl", "fruq291"],
|
|
76
|
-
Byoj8tv: "f5o476b",
|
|
77
|
-
uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
|
|
78
|
-
},
|
|
79
35
|
withDescription: {
|
|
80
36
|
z8tnut: "f1ngh7ph",
|
|
81
37
|
z189sj: ["f7x41pl", "fruq291"],
|
|
@@ -83,124 +39,51 @@ const useMainStyles = /*#__PURE__*/__styles({
|
|
|
83
39
|
uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
|
|
84
40
|
}
|
|
85
41
|
}, {
|
|
86
|
-
d: [".
|
|
87
|
-
});
|
|
88
|
-
const useDescriptionStyles = /*#__PURE__*/__styles({
|
|
89
|
-
base: {
|
|
90
|
-
Ijaq50: "ffekjdo",
|
|
91
|
-
Br312pm: "f12wtlaa",
|
|
92
|
-
nk6f5a: "f1blqr63",
|
|
93
|
-
Bw0ie65: "f2ve1i",
|
|
94
|
-
Bahqtrf: "fk6fouc",
|
|
95
|
-
Be2twd7: "fy9rknc",
|
|
96
|
-
Bhrd7zp: "figsok6",
|
|
97
|
-
Bg96gwp: "fwrc4pm",
|
|
98
|
-
z8tnut: "f1g0x7ka",
|
|
99
|
-
z189sj: ["f7x41pl", "fruq291"],
|
|
100
|
-
Byoj8tv: "f5o476b",
|
|
101
|
-
uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
|
|
102
|
-
}
|
|
103
|
-
}, {
|
|
104
|
-
d: [".ffekjdo{grid-row-start:description;}", ".f12wtlaa{grid-column-start:description;}", ".f1blqr63{grid-row-end:description;}", ".f2ve1i{grid-column-end:description;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".f1g0x7ka{padding-top:0;}", ".f7x41pl{padding-right:var(--spacingHorizontalXS);}", ".fruq291{padding-left:var(--spacingHorizontalXS);}", ".f5o476b{padding-bottom:var(--spacingVerticalMNudge);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}"]
|
|
42
|
+
d: [".f1ngh7ph{padding-top:var(--spacingVerticalMNudge);}", ".f7x41pl{padding-right:var(--spacingHorizontalXS);}", ".fruq291{padding-left:var(--spacingHorizontalXS);}", ".f1qch9an{padding-bottom:0;}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}"]
|
|
105
43
|
});
|
|
44
|
+
const useDescriptionBaseStyles = /*#__PURE__*/__resetStyles("r12nfoo7", "r1fcaudz", [".r12nfoo7{grid-row-start:description;grid-column-start:description;grid-row-end:description;grid-column-end:description;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase200);padding-top:0;padding-right:var(--spacingHorizontalXS);padding-bottom:var(--spacingVerticalMNudge);padding-left:var(--spacingHorizontalS);}", ".r1fcaudz{grid-row-start:description;grid-column-start:description;grid-row-end:description;grid-column-end:description;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase200);padding-top:0;padding-left:var(--spacingHorizontalXS);padding-bottom:var(--spacingVerticalMNudge);padding-right:var(--spacingHorizontalS);}"]);
|
|
106
45
|
/**
|
|
107
46
|
* Styles for the action icon slot
|
|
108
47
|
*/
|
|
109
|
-
const
|
|
110
|
-
base: {
|
|
111
|
-
mc9l5x: "f22iagw",
|
|
112
|
-
Frg6f3: ["fcgxt0o", "f1ujusj6"],
|
|
113
|
-
qhf8xq: "f10pi13n",
|
|
114
|
-
Bj3rh1h: "f19g0ac",
|
|
115
|
-
Ijaq50: "fobksn0",
|
|
116
|
-
Br312pm: "fmy5l6f",
|
|
117
|
-
nk6f5a: "fzqypwc",
|
|
118
|
-
Bw0ie65: "f1tmftl3",
|
|
119
|
-
z8tnut: "f1g0x7ka",
|
|
120
|
-
z189sj: ["f1vdfbxk", "f1f5gg8d"],
|
|
121
|
-
Byoj8tv: "f1qch9an",
|
|
122
|
-
uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
|
|
123
|
-
}
|
|
124
|
-
}, {
|
|
125
|
-
d: [".f22iagw{display:flex;}", ".fcgxt0o{margin-left:auto;}", ".f1ujusj6{margin-right:auto;}", ".f10pi13n{position:relative;}", ".f19g0ac{z-index:1;}", ".fobksn0{grid-row-start:aside;}", ".fmy5l6f{grid-column-start:aside;}", ".fzqypwc{grid-row-end:aside;}", ".f1tmftl3{grid-column-end:aside;}", ".f1g0x7ka{padding-top:0;}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1qch9an{padding-bottom:0;}"]
|
|
126
|
-
});
|
|
48
|
+
const useActionsBaseStyles = /*#__PURE__*/__resetStyles("r1i8xcbw", "r12wgp0u", [".r1i8xcbw{display:flex;margin-left:auto;position:relative;z-index:1;grid-row-start:aside;grid-column-start:aside;grid-row-end:aside;grid-column-end:aside;padding-top:0;padding-right:var(--spacingHorizontalS);padding-bottom:0;padding-left:var(--spacingHorizontalS);}", ".r12wgp0u{display:flex;margin-right:auto;position:relative;z-index:1;grid-row-start:aside;grid-column-start:aside;grid-row-end:aside;grid-column-end:aside;padding-top:0;padding-left:var(--spacingHorizontalS);padding-bottom:0;padding-right:var(--spacingHorizontalS);}"]);
|
|
127
49
|
/**
|
|
128
50
|
* Styles for the action icon slot
|
|
129
51
|
*/
|
|
130
|
-
const
|
|
131
|
-
base: {
|
|
132
|
-
mc9l5x: "f22iagw",
|
|
133
|
-
Frg6f3: ["fcgxt0o", "f1ujusj6"],
|
|
134
|
-
Bt984gj: "f122n59",
|
|
135
|
-
Bj3rh1h: "f11zp4z2",
|
|
136
|
-
Ijaq50: "fobksn0",
|
|
137
|
-
Br312pm: "fmy5l6f",
|
|
138
|
-
nk6f5a: "fzqypwc",
|
|
139
|
-
Bw0ie65: "f1tmftl3",
|
|
140
|
-
z8tnut: "f1g0x7ka",
|
|
141
|
-
z189sj: ["fw5db7e", "f1uw59to"],
|
|
142
|
-
Byoj8tv: "f1qch9an",
|
|
143
|
-
uwmqm3: ["f1uw59to", "fw5db7e"],
|
|
144
|
-
i8kkvl: "f1ufnopg",
|
|
145
|
-
Belr9w4: "f14sijuj"
|
|
146
|
-
}
|
|
147
|
-
}, {
|
|
148
|
-
d: [".f22iagw{display:flex;}", ".fcgxt0o{margin-left:auto;}", ".f1ujusj6{margin-right:auto;}", ".f122n59{align-items:center;}", ".f11zp4z2{z-index:0;}", ".fobksn0{grid-row-start:aside;}", ".fmy5l6f{grid-column-start:aside;}", ".fzqypwc{grid-row-end:aside;}", ".f1tmftl3{grid-column-end:aside;}", ".f1g0x7ka{padding-top:0;}", ".fw5db7e{padding-right:var(--spacingHorizontalM);}", ".f1uw59to{padding-left:var(--spacingHorizontalM);}", ".f1qch9an{padding-bottom:0;}", ".f1ufnopg{column-gap:var(--spacingHorizontalXS);}", ".f14sijuj{row-gap:var(--spacingHorizontalXS);}"]
|
|
149
|
-
});
|
|
52
|
+
const useAsideBaseStyles = /*#__PURE__*/__resetStyles("rviw63k", "r1kawtgt", [".rviw63k{display:flex;margin-left:auto;align-items:center;z-index:0;grid-row-start:aside;grid-column-start:aside;grid-row-end:aside;grid-column-end:aside;padding-top:0;padding-right:var(--spacingHorizontalM);padding-bottom:0;padding-left:var(--spacingHorizontalM);column-gap:var(--spacingHorizontalXS);row-gap:var(--spacingHorizontalXS);}", ".r1kawtgt{display:flex;margin-right:auto;align-items:center;z-index:0;grid-row-start:aside;grid-column-start:aside;grid-row-end:aside;grid-column-end:aside;padding-top:0;padding-left:var(--spacingHorizontalM);padding-bottom:0;padding-right:var(--spacingHorizontalM);column-gap:var(--spacingHorizontalXS);row-gap:var(--spacingHorizontalXS);}"]);
|
|
150
53
|
/**
|
|
151
54
|
* Styles for the expand icon slot
|
|
152
55
|
*/
|
|
153
|
-
const
|
|
154
|
-
base: {
|
|
155
|
-
mc9l5x: "f22iagw",
|
|
156
|
-
Bt984gj: "f122n59",
|
|
157
|
-
Brf1p80: "f4d9j23",
|
|
158
|
-
Bf4jedk: "f17fgpbq",
|
|
159
|
-
B7ck84d: "f1ewtqcl",
|
|
160
|
-
sj55zd: "f11d4kpn",
|
|
161
|
-
Ijaq50: "f1e6rimv",
|
|
162
|
-
Br312pm: "f10hsf66",
|
|
163
|
-
nk6f5a: "foflfm0",
|
|
164
|
-
Bw0ie65: "f1b3ebjb",
|
|
165
|
-
Bh6795r: "f1jhi6b8",
|
|
166
|
-
Bnnss6s: "fi64zpg",
|
|
167
|
-
xawz: "f1rmlqtg",
|
|
168
|
-
z8tnut: "f1ywm7hm",
|
|
169
|
-
z189sj: ["fhxju0i", "f1cnd47f"],
|
|
170
|
-
Byoj8tv: "f14wxoun",
|
|
171
|
-
uwmqm3: ["f1cnd47f", "fhxju0i"]
|
|
172
|
-
}
|
|
173
|
-
}, {
|
|
174
|
-
d: [".f22iagw{display:flex;}", ".f122n59{align-items:center;}", ".f4d9j23{justify-content:center;}", ".f17fgpbq{min-width:24px;}", ".f1ewtqcl{box-sizing:border-box;}", ".f11d4kpn{color:var(--colorNeutralForeground3);}", ".f1e6rimv{grid-row-start:expandIcon;}", ".f10hsf66{grid-column-start:expandIcon;}", ".foflfm0{grid-row-end:expandIcon;}", ".f1b3ebjb{grid-column-end:expandIcon;}", ".f1jhi6b8{flex-grow:0;}", ".fi64zpg{flex-shrink:0;}", ".f1rmlqtg{flex-basis:auto;}", ".f1ywm7hm{padding-top:var(--spacingVerticalXS);}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f14wxoun{padding-bottom:var(--spacingVerticalXS);}"]
|
|
175
|
-
});
|
|
56
|
+
const useExpandIconBaseStyles = /*#__PURE__*/__resetStyles("r15sjth9", "rzkr3gy", [".r15sjth9{display:flex;align-items:center;justify-content:center;min-width:24px;box-sizing:border-box;color:var(--colorNeutralForeground3);grid-row-start:expandIcon;grid-column-start:expandIcon;grid-row-end:expandIcon;grid-column-end:expandIcon;flex-grow:0;flex-shrink:0;flex-basis:auto;padding-top:var(--spacingVerticalXS);padding-right:0;padding-bottom:var(--spacingVerticalXS);padding-left:0;}", ".rzkr3gy{display:flex;align-items:center;justify-content:center;min-width:24px;box-sizing:border-box;color:var(--colorNeutralForeground3);grid-row-start:expandIcon;grid-column-start:expandIcon;grid-row-end:expandIcon;grid-column-end:expandIcon;flex-grow:0;flex-shrink:0;flex-basis:auto;padding-top:var(--spacingVerticalXS);padding-left:0;padding-bottom:var(--spacingVerticalXS);padding-right:0;}"]);
|
|
176
57
|
/**
|
|
177
58
|
* Apply styling to the TreeItemPersonaLayout slots based on the state
|
|
178
59
|
*/
|
|
179
60
|
export const useTreeItemPersonaLayoutStyles_unstable = state => {
|
|
61
|
+
const rootBaseStyles = useRootBaseStyles();
|
|
180
62
|
const rootStyles = useRootStyles();
|
|
181
|
-
const
|
|
182
|
-
const
|
|
183
|
-
const
|
|
184
|
-
const
|
|
185
|
-
const
|
|
63
|
+
const mediaBaseStyles = useMediaBaseStyles();
|
|
64
|
+
const descriptionBaseStyles = useDescriptionBaseStyles();
|
|
65
|
+
const actionsBaseStyles = useActionsBaseStyles();
|
|
66
|
+
const asideBaseStyles = useAsideBaseStyles();
|
|
67
|
+
const expandIconBaseStyles = useExpandIconBaseStyles();
|
|
68
|
+
const mainBaseStyles = useMainBaseStyles();
|
|
186
69
|
const mainStyles = useMainStyles();
|
|
187
70
|
const itemType = useTreeItemContext_unstable(ctx => ctx.itemType);
|
|
188
|
-
state.root.className = mergeClasses(treeItemPersonaLayoutClassNames.root,
|
|
189
|
-
state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media,
|
|
71
|
+
state.root.className = mergeClasses(treeItemPersonaLayoutClassNames.root, rootBaseStyles, rootStyles[itemType], state.root.className);
|
|
72
|
+
state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaBaseStyles, state.media.className);
|
|
190
73
|
if (state.main) {
|
|
191
|
-
state.main.className = mergeClasses(treeItemPersonaLayoutClassNames.main,
|
|
74
|
+
state.main.className = mergeClasses(treeItemPersonaLayoutClassNames.main, mainBaseStyles, state.description && mainStyles.withDescription, state.main.className);
|
|
192
75
|
}
|
|
193
76
|
if (state.description) {
|
|
194
|
-
state.description.className = mergeClasses(treeItemPersonaLayoutClassNames.description,
|
|
77
|
+
state.description.className = mergeClasses(treeItemPersonaLayoutClassNames.description, descriptionBaseStyles, state.description.className);
|
|
195
78
|
}
|
|
196
79
|
if (state.actions) {
|
|
197
|
-
state.actions.className = mergeClasses(treeItemPersonaLayoutClassNames.actions,
|
|
80
|
+
state.actions.className = mergeClasses(treeItemPersonaLayoutClassNames.actions, actionsBaseStyles, state.actions.className);
|
|
198
81
|
}
|
|
199
82
|
if (state.aside) {
|
|
200
|
-
state.aside.className = mergeClasses(treeItemPersonaLayoutClassNames.aside,
|
|
83
|
+
state.aside.className = mergeClasses(treeItemPersonaLayoutClassNames.aside, asideBaseStyles, state.aside.className);
|
|
201
84
|
}
|
|
202
85
|
if (state.expandIcon) {
|
|
203
|
-
state.expandIcon.className = mergeClasses(treeItemPersonaLayoutClassNames.expandIcon,
|
|
86
|
+
state.expandIcon.className = mergeClasses(treeItemPersonaLayoutClassNames.expandIcon, expandIconBaseStyles, state.expandIcon.className);
|
|
204
87
|
}
|
|
205
88
|
if (state.selector) {
|
|
206
89
|
state.selector.className = mergeClasses(treeItemPersonaLayoutClassNames.selector, state.selector.className);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","treeItemLevelToken","useTreeItemContext_unstable","treeItemPersonaLayoutClassNames","root","media","description","main","expandIcon","aside","actions","selector","useRootStyles","base","mc9l5x","wkccdc","Budl1dq","zoa1oz","Bt984gj","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","lj723h","ecr2s2","zt0xaq","Bi91k9c","Jwef8y","tbva4x","leaf","uwmqm3","branch","d","a","h","useMediaStyles","a9b677","Bqenvij","Ijaq50","Br312pm","nk6f5a","Bw0ie65","z8tnut","z189sj","Byoj8tv","useMainStyles","withDescription","useDescriptionStyles","useActionsStyles","Frg6f3","qhf8xq","Bj3rh1h","useAsideStyles","i8kkvl","Belr9w4","useExpandIconStyles","Brf1p80","Bf4jedk","B7ck84d","sj55zd","Bh6795r","Bnnss6s","xawz","useTreeItemPersonaLayoutStyles_unstable","state","rootStyles","mediaStyles","descriptionStyles","actionsStyles","asideStyles","expandIconStyles","mainStyles","itemType","ctx","className"],"sources":["useTreeItemPersonaLayoutStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { treeItemLevelToken } from '../../utils/tokens';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\nexport const treeItemPersonaLayoutClassNames = {\n root: 'fui-TreeItemPersonaLayout',\n media: 'fui-TreeItemPersonaLayout__media',\n description: 'fui-TreeItemPersonaLayout__description',\n main: 'fui-TreeItemPersonaLayout__main',\n expandIcon: 'fui-TreeItemPersonaLayout__expandIcon',\n aside: 'fui-TreeItemPersonaLayout__aside',\n actions: 'fui-TreeItemPersonaLayout__actions',\n selector: 'fui-TreeItemPersonaLayout__selector'\n};\n/**\n * Styles for the root slot\n */ const useRootStyles = makeStyles({\n base: {\n display: 'grid',\n gridTemplateRows: '1fr auto',\n gridTemplateColumns: 'auto auto 1fr auto',\n gridTemplateAreas: `\n \"expandIcon media main aside\"\n \"expandIcon media description aside\"\n `,\n alignItems: 'center',\n ...typographyStyles.body1,\n ':active': {\n color: tokens.colorNeutralForeground2Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n // TODO: stop using treeItemPersonaLayoutClassNames.expandIcon for styling\n [`& .${treeItemPersonaLayoutClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Pressed\n }\n },\n ':hover': {\n color: tokens.colorNeutralForeground2Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n // TODO: stop using treeItemPersonaLayoutClassNames.expandIcon for styling\n [`& .${treeItemPersonaLayoutClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Hover\n }\n }\n },\n leaf: {\n paddingLeft: `calc(var(${treeItemLevelToken}, 1) * ${tokens.spacingHorizontalXXL})`\n },\n branch: {\n paddingLeft: `calc((var(${treeItemLevelToken}, 1) - 1) * ${tokens.spacingHorizontalXXL})`\n }\n});\n/**\n * Styles for the expand icon slot\n */ const useMediaStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n ...shorthands.gridArea('media'),\n ...shorthands.padding(0, tokens.spacingHorizontalXS, 0, tokens.spacingHorizontalXXS)\n }\n});\nconst useMainStyles = makeStyles({\n base: {\n ...shorthands.gridArea('main'),\n ...shorthands.padding(tokens.spacingVerticalMNudge, tokens.spacingHorizontalXS, tokens.spacingVerticalMNudge, tokens.spacingHorizontalS)\n },\n withDescription: {\n ...shorthands.padding(tokens.spacingVerticalMNudge, tokens.spacingHorizontalXS, 0, tokens.spacingHorizontalS)\n }\n});\nconst useDescriptionStyles = makeStyles({\n base: {\n ...shorthands.gridArea('description'),\n ...typographyStyles.caption1,\n ...shorthands.padding(0, tokens.spacingHorizontalXS, tokens.spacingVerticalMNudge, tokens.spacingHorizontalS)\n }\n});\n/**\n * Styles for the action icon slot\n */ const useActionsStyles = makeStyles({\n base: {\n display: 'flex',\n marginLeft: 'auto',\n position: 'relative',\n zIndex: 1,\n ...shorthands.gridArea('aside'),\n ...shorthands.padding(0, tokens.spacingHorizontalS)\n }\n});\n/**\n * Styles for the action icon slot\n */ const useAsideStyles = makeStyles({\n base: {\n display: 'flex',\n marginLeft: 'auto',\n alignItems: 'center',\n zIndex: 0,\n ...shorthands.gridArea('aside'),\n ...shorthands.padding(0, tokens.spacingHorizontalM),\n ...shorthands.gap(tokens.spacingHorizontalXS)\n }\n});\n/**\n * Styles for the expand icon slot\n */ const useExpandIconStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '24px',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground3,\n ...shorthands.gridArea('expandIcon'),\n ...shorthands.flex(0, 0, 'auto'),\n ...shorthands.padding(tokens.spacingVerticalXS, 0)\n }\n});\n/**\n * Apply styling to the TreeItemPersonaLayout slots based on the state\n */ export const useTreeItemPersonaLayoutStyles_unstable = (state)=>{\n const rootStyles = useRootStyles();\n const mediaStyles = useMediaStyles();\n const descriptionStyles = useDescriptionStyles();\n const actionsStyles = useActionsStyles();\n const asideStyles = useAsideStyles();\n const expandIconStyles = useExpandIconStyles();\n const mainStyles = useMainStyles();\n const itemType = useTreeItemContext_unstable((ctx)=>ctx.itemType);\n state.root.className = mergeClasses(treeItemPersonaLayoutClassNames.root, rootStyles.base, rootStyles[itemType], state.root.className);\n state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaStyles.base, state.media.className);\n if (state.main) {\n state.main.className = mergeClasses(treeItemPersonaLayoutClassNames.main, mainStyles.base, state.description && mainStyles.withDescription, state.main.className);\n }\n if (state.description) {\n state.description.className = mergeClasses(treeItemPersonaLayoutClassNames.description, descriptionStyles.base, state.description.className);\n }\n if (state.actions) {\n state.actions.className = mergeClasses(treeItemPersonaLayoutClassNames.actions, actionsStyles.base, state.actions.className);\n }\n if (state.aside) {\n state.aside.className = mergeClasses(treeItemPersonaLayoutClassNames.aside, asideStyles.base, state.aside.className);\n }\n if (state.expandIcon) {\n state.expandIcon.className = mergeClasses(treeItemPersonaLayoutClassNames.expandIcon, expandIconStyles.base, state.expandIcon.className);\n }\n if (state.selector) {\n state.selector.className = mergeClasses(treeItemPersonaLayoutClassNames.selector, state.selector.className);\n }\n return state;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__resetStyles","__styles","mergeClasses","shorthands","tokens","typographyStyles","treeItemLevelToken","useTreeItemContext_unstable","treeItemPersonaLayoutClassNames","root","media","description","main","expandIcon","aside","actions","selector","useRootBaseStyles","useRootStyles","leaf","uwmqm3","branch","d","useMediaBaseStyles","useMainBaseStyles","useMainStyles","withDescription","z8tnut","z189sj","Byoj8tv","useDescriptionBaseStyles","useActionsBaseStyles","useAsideBaseStyles","useExpandIconBaseStyles","useTreeItemPersonaLayoutStyles_unstable","state","rootBaseStyles","rootStyles","mediaBaseStyles","descriptionBaseStyles","actionsBaseStyles","asideBaseStyles","expandIconBaseStyles","mainBaseStyles","mainStyles","itemType","ctx","className"],"sources":["useTreeItemPersonaLayoutStyles.styles.js"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { treeItemLevelToken } from '../../utils/tokens';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\nexport const treeItemPersonaLayoutClassNames = {\n root: 'fui-TreeItemPersonaLayout',\n media: 'fui-TreeItemPersonaLayout__media',\n description: 'fui-TreeItemPersonaLayout__description',\n main: 'fui-TreeItemPersonaLayout__main',\n expandIcon: 'fui-TreeItemPersonaLayout__expandIcon',\n aside: 'fui-TreeItemPersonaLayout__aside',\n actions: 'fui-TreeItemPersonaLayout__actions',\n selector: 'fui-TreeItemPersonaLayout__selector'\n};\nconst useRootBaseStyles = makeResetStyles({\n display: 'grid',\n gridTemplateRows: '1fr auto',\n gridTemplateColumns: 'auto auto 1fr auto',\n gridTemplateAreas: `\n \"expandIcon media main aside\"\n \"expandIcon media description aside\"\n `,\n alignItems: 'center',\n ...typographyStyles.body1,\n ':active': {\n color: tokens.colorNeutralForeground2Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n // TODO: stop using treeItemPersonaLayoutClassNames.expandIcon for styling\n [`& .${treeItemPersonaLayoutClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Pressed\n }\n },\n ':hover': {\n color: tokens.colorNeutralForeground2Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n // TODO: stop using treeItemPersonaLayoutClassNames.expandIcon for styling\n [`& .${treeItemPersonaLayoutClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Hover\n }\n }\n});\n/**\n * Styles for the root slot\n */ const useRootStyles = makeStyles({\n leaf: {\n paddingLeft: `calc(var(${treeItemLevelToken}, 1) * ${tokens.spacingHorizontalXXL})`\n },\n branch: {\n paddingLeft: `calc((var(${treeItemLevelToken}, 1) - 1) * ${tokens.spacingHorizontalXXL})`\n }\n});\n/**\n * Styles for the expand icon slot\n */ const useMediaBaseStyles = makeResetStyles({\n display: 'flex',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n ...shorthands.gridArea('media'),\n ...shorthands.padding(0, tokens.spacingHorizontalXS, 0, tokens.spacingHorizontalXXS)\n});\nconst useMainBaseStyles = makeResetStyles({\n ...shorthands.gridArea('main'),\n ...shorthands.padding(tokens.spacingVerticalMNudge, tokens.spacingHorizontalXS, tokens.spacingVerticalMNudge, tokens.spacingHorizontalS)\n});\nconst useMainStyles = makeStyles({\n withDescription: {\n ...shorthands.padding(tokens.spacingVerticalMNudge, tokens.spacingHorizontalXS, 0, tokens.spacingHorizontalS)\n }\n});\nconst useDescriptionBaseStyles = makeResetStyles({\n ...shorthands.gridArea('description'),\n ...typographyStyles.caption1,\n ...shorthands.padding(0, tokens.spacingHorizontalXS, tokens.spacingVerticalMNudge, tokens.spacingHorizontalS)\n});\n/**\n * Styles for the action icon slot\n */ const useActionsBaseStyles = makeResetStyles({\n display: 'flex',\n marginLeft: 'auto',\n position: 'relative',\n zIndex: 1,\n ...shorthands.gridArea('aside'),\n ...shorthands.padding(0, tokens.spacingHorizontalS)\n});\n/**\n * Styles for the action icon slot\n */ const useAsideBaseStyles = makeResetStyles({\n display: 'flex',\n marginLeft: 'auto',\n alignItems: 'center',\n zIndex: 0,\n ...shorthands.gridArea('aside'),\n ...shorthands.padding(0, tokens.spacingHorizontalM),\n ...shorthands.gap(tokens.spacingHorizontalXS)\n});\n/**\n * Styles for the expand icon slot\n */ const useExpandIconBaseStyles = makeResetStyles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '24px',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground3,\n ...shorthands.gridArea('expandIcon'),\n ...shorthands.flex(0, 0, 'auto'),\n ...shorthands.padding(tokens.spacingVerticalXS, 0)\n});\n/**\n * Apply styling to the TreeItemPersonaLayout slots based on the state\n */ export const useTreeItemPersonaLayoutStyles_unstable = (state)=>{\n const rootBaseStyles = useRootBaseStyles();\n const rootStyles = useRootStyles();\n const mediaBaseStyles = useMediaBaseStyles();\n const descriptionBaseStyles = useDescriptionBaseStyles();\n const actionsBaseStyles = useActionsBaseStyles();\n const asideBaseStyles = useAsideBaseStyles();\n const expandIconBaseStyles = useExpandIconBaseStyles();\n const mainBaseStyles = useMainBaseStyles();\n const mainStyles = useMainStyles();\n const itemType = useTreeItemContext_unstable((ctx)=>ctx.itemType);\n state.root.className = mergeClasses(treeItemPersonaLayoutClassNames.root, rootBaseStyles, rootStyles[itemType], state.root.className);\n state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaBaseStyles, state.media.className);\n if (state.main) {\n state.main.className = mergeClasses(treeItemPersonaLayoutClassNames.main, mainBaseStyles, state.description && mainStyles.withDescription, state.main.className);\n }\n if (state.description) {\n state.description.className = mergeClasses(treeItemPersonaLayoutClassNames.description, descriptionBaseStyles, state.description.className);\n }\n if (state.actions) {\n state.actions.className = mergeClasses(treeItemPersonaLayoutClassNames.actions, actionsBaseStyles, state.actions.className);\n }\n if (state.aside) {\n state.aside.className = mergeClasses(treeItemPersonaLayoutClassNames.aside, asideBaseStyles, state.aside.className);\n }\n if (state.expandIcon) {\n state.expandIcon.className = mergeClasses(treeItemPersonaLayoutClassNames.expandIcon, expandIconBaseStyles, state.expandIcon.className);\n }\n if (state.selector) {\n state.selector.className = mergeClasses(treeItemPersonaLayoutClassNames.selector, state.selector.className);\n }\n return state;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { SubtreeContext, TreeContext } from '../contexts';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/ const rootSubtreeContextValue = {
|
|
6
|
+
level: 1,
|
|
7
|
+
contextType: 'subtree'
|
|
8
|
+
};
|
|
9
|
+
export const TreeProvider = (props)=>{
|
|
10
|
+
if (props.value.contextType === 'subtree') {
|
|
11
|
+
return /*#__PURE__*/ React.createElement(SubtreeContext.Provider, {
|
|
12
|
+
value: props.value
|
|
13
|
+
}, props.children);
|
|
14
|
+
}
|
|
15
|
+
return /*#__PURE__*/ React.createElement(TreeContext.Provider, {
|
|
16
|
+
value: props.value
|
|
17
|
+
}, /*#__PURE__*/ React.createElement(SubtreeContext.Provider, {
|
|
18
|
+
value: rootSubtreeContextValue
|
|
19
|
+
}, props.children));
|
|
20
|
+
};
|
|
21
|
+
TreeProvider.displayName = 'TreeProvider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TreeProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { SubtreeContext, SubtreeContextValue, TreeContextValue, TreeContext } from '../contexts';\n\n/**\n * @internal\n */\nconst rootSubtreeContextValue: SubtreeContextValue = {\n level: 1,\n contextType: 'subtree',\n};\n\nexport const TreeProvider = (props: React.ProviderProps<TreeContextValue | SubtreeContextValue>) => {\n if (props.value.contextType === 'subtree') {\n return <SubtreeContext.Provider value={props.value}>{props.children}</SubtreeContext.Provider>;\n }\n return (\n <TreeContext.Provider value={props.value}>\n <SubtreeContext.Provider value={rootSubtreeContextValue}>{props.children}</SubtreeContext.Provider>\n </TreeContext.Provider>\n );\n};\n\nTreeProvider.displayName = 'TreeProvider';\n"],"names":["React","SubtreeContext","TreeContext","rootSubtreeContextValue","level","contextType","TreeProvider","props","value","Provider","children","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,cAAc,EAAyCC,WAAW,QAAQ,cAAc;AAEjG;;CAEC,GACD,MAAMC,0BAA+C;IACnDC,OAAO;IACPC,aAAa;AACf;AAEA,OAAO,MAAMC,eAAe,CAACC;IAC3B,IAAIA,MAAMC,KAAK,CAACH,WAAW,KAAK,WAAW;QACzC,qBAAO,oBAACJ,eAAeQ,QAAQ;YAACD,OAAOD,MAAMC,KAAK;WAAGD,MAAMG,QAAQ;IACrE;IACA,qBACE,oBAACR,YAAYO,QAAQ;QAACD,OAAOD,MAAMC,KAAK;qBACtC,oBAACP,eAAeQ,QAAQ;QAACD,OAAOL;OAA0BI,MAAMG,QAAQ;AAG9E,EAAE;AAEFJ,aAAaK,WAAW,GAAG"}
|
package/lib/contexts/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './treeContext';\nexport * from './treeItemContext';\n"],"names":[],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,oBAAoB"}
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './treeContext';\nexport * from './subtreeContext';\nexport * from './treeItemContext';\n"],"names":[],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,oBAAoB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/ const defaultSubTreeContextValue = {
|
|
5
|
+
level: 0,
|
|
6
|
+
contextType: 'subtree'
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/ export const SubtreeContext = React.createContext(undefined);
|
|
11
|
+
export const useSubtreeContext_unstable = ()=>{
|
|
12
|
+
var _React_useContext;
|
|
13
|
+
return (_React_useContext = React.useContext(SubtreeContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultSubTreeContextValue;
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["subtreeContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type SubtreeContextValue = {\n contextType: 'subtree';\n level: number;\n};\n\n/**\n * @internal\n */\nconst defaultSubTreeContextValue: SubtreeContextValue = {\n level: 0,\n contextType: 'subtree',\n};\n\n/**\n * @internal\n */\nexport const SubtreeContext: React.Context<SubtreeContextValue> = React.createContext<SubtreeContextValue | undefined>(\n undefined,\n) as React.Context<SubtreeContextValue>;\n\nexport const useSubtreeContext_unstable = () => {\n return React.useContext(SubtreeContext) ?? defaultSubTreeContextValue;\n};\n"],"names":["React","defaultSubTreeContextValue","level","contextType","SubtreeContext","createContext","undefined","useSubtreeContext_unstable","useContext"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAO/B;;CAEC,GACD,MAAMC,6BAAkD;IACtDC,OAAO;IACPC,aAAa;AACf;AAEA;;CAEC,GACD,OAAO,MAAMC,iBAAqDJ,MAAMK,aAAa,CACnFC,WACsC;AAExC,OAAO,MAAMC,6BAA6B;QACjCP;IAAP,OAAOA,CAAAA,oBAAAA,MAAMQ,UAAU,CAACJ,6BAAjBJ,+BAAAA,oBAAoCC;AAC7C,EAAE"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { createContext, useContextSelector } from '@fluentui/react-context-selector';
|
|
2
2
|
import { ImmutableSet } from '../utils/ImmutableSet';
|
|
3
3
|
import { ImmutableMap } from '../utils/ImmutableMap';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/ const defaultTreeContextValue = {
|
|
6
7
|
level: 0,
|
|
8
|
+
contextType: 'root',
|
|
9
|
+
treeType: 'nested',
|
|
7
10
|
selectionMode: 'none',
|
|
8
11
|
openItems: ImmutableSet.empty,
|
|
9
12
|
checkedItems: ImmutableMap.empty,
|
|
@@ -13,6 +16,7 @@ const defaultContextValue = {
|
|
|
13
16
|
};
|
|
14
17
|
function noop() {
|
|
15
18
|
/* noop */ }
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export const
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/ export const TreeContext = createContext(undefined);
|
|
22
|
+
export const useTreeContext_unstable = (selector)=>useContextSelector(TreeContext, (ctx = defaultTreeContextValue)=>selector(ctx));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["treeContext.ts"],"sourcesContent":["import { Context, ContextSelector, createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { TreeItemType, TreeItemValue } from '../TreeItem';\nimport { SelectionMode } from '@fluentui/react-utilities';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport { ImmutableMap } from '../utils/ImmutableMap';\nimport { TreeCheckedChangeData, TreeNavigationData_unstable, TreeOpenChangeData } from '../Tree';\n\nexport type TreeContextValue = {\n treeType: 'nested' | 'flat';\n
|
|
1
|
+
{"version":3,"sources":["treeContext.ts"],"sourcesContent":["import { Context, ContextSelector, createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { TreeItemType, TreeItemValue } from '../TreeItem';\nimport { SelectionMode } from '@fluentui/react-utilities';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport { ImmutableMap } from '../utils/ImmutableMap';\nimport { TreeCheckedChangeData, TreeNavigationData_unstable, TreeOpenChangeData } from '../Tree';\n\nexport type TreeContextValue = {\n contextType?: 'root';\n level: number;\n treeType: 'nested' | 'flat';\n selectionMode: 'none' | SelectionMode;\n appearance: 'subtle' | 'subtle-alpha' | 'transparent';\n size: 'small' | 'medium';\n openItems: ImmutableSet<TreeItemValue>;\n checkedItems: ImmutableMap<TreeItemValue, 'mixed' | boolean>;\n /**\n * requests root Tree component to respond to some tree item event,\n */\n requestTreeResponse(request: TreeItemRequest): void;\n};\n\nexport type TreeItemRequest = { itemType: TreeItemType } & (\n | (OmitWithoutExpanding<TreeOpenChangeData, 'open' | 'openItems'> & { requestType: 'open' })\n | (TreeNavigationData_unstable & { requestType: 'navigate' })\n | (OmitWithoutExpanding<TreeCheckedChangeData, 'selectionMode' | 'checkedItems'> & { requestType: 'selection' })\n);\n\n/**\n * helper type that avoids the expansion of unions while inferring it,\n * should work exactly the same as Omit\n */\ntype OmitWithoutExpanding<P, K extends string | number | symbol> = P extends unknown ? Omit<P, K> : P;\n\n/**\n * @internal\n */\nconst defaultTreeContextValue: TreeContextValue = {\n level: 0,\n contextType: 'root',\n treeType: 'nested',\n selectionMode: 'none',\n openItems: ImmutableSet.empty,\n checkedItems: ImmutableMap.empty,\n requestTreeResponse: noop,\n appearance: 'subtle',\n size: 'medium',\n};\n\nfunction noop() {\n /* noop */\n}\n\n/**\n * @internal\n */\nexport const TreeContext: Context<TreeContextValue> = createContext<TreeContextValue | undefined>(\n undefined,\n) as Context<TreeContextValue>;\n\nexport const useTreeContext_unstable = <T>(selector: ContextSelector<TreeContextValue, T>): T =>\n useContextSelector(TreeContext, (ctx = defaultTreeContextValue) => selector(ctx));\n"],"names":["createContext","useContextSelector","ImmutableSet","ImmutableMap","defaultTreeContextValue","level","contextType","treeType","selectionMode","openItems","empty","checkedItems","requestTreeResponse","noop","appearance","size","TreeContext","undefined","useTreeContext_unstable","selector","ctx"],"mappings":"AAAA,SAAmCA,aAAa,EAAEC,kBAAkB,QAAQ,mCAAmC;AAG/G,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AA8BrD;;CAEC,GACD,MAAMC,0BAA4C;IAChDC,OAAO;IACPC,aAAa;IACbC,UAAU;IACVC,eAAe;IACfC,WAAWP,aAAaQ,KAAK;IAC7BC,cAAcR,aAAaO,KAAK;IAChCE,qBAAqBC;IACrBC,YAAY;IACZC,MAAM;AACR;AAEA,SAASF;AACP,QAAQ,GACV;AAEA;;CAEC,GACD,OAAO,MAAMG,cAAyChB,cACpDiB,WAC6B;AAE/B,OAAO,MAAMC,0BAA0B,CAAIC,WACzClB,mBAAmBe,aAAa,CAACI,MAAMhB,uBAAuB,GAAKe,SAASC,MAAM"}
|
package/lib/hooks/useRootTree.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useRootTree.ts"],"sourcesContent":["import { SelectionMode, getNativeElementProps, useEventCallback, slot } from '@fluentui/react-utilities';\nimport type {\n TreeCheckedChangeData,\n TreeNavigationData_unstable,\n TreeOpenChangeData,\n TreeProps,\n TreeState,\n} from '../Tree';\nimport * as React from 'react';\nimport { TreeItemRequest } from '../contexts/treeContext';\nimport { createOpenItems } from '../utils/createOpenItems';\nimport { createCheckedItems } from '../utils/createCheckedItems';\nimport { treeDataTypes } from '../utils/tokens';\nimport { createNextOpenItems } from './useControllableOpenItems';\n\n/**\n * Create the state required to render the root level tree.\n *\n * @param props - props from this instance of tree\n * @param ref - reference to root HTMLElement of tree\n */\nexport function useRootTree(\n props: Pick<\n TreeProps,\n | 'selectionMode'\n | 'appearance'\n | 'size'\n | 'openItems'\n | 'checkedItems'\n | 'onOpenChange'\n | 'onCheckedChange'\n | 'onNavigation'\n | 'aria-label'\n | 'aria-labelledby'\n >,\n\n ref: React.Ref<HTMLElement>,\n): Omit<TreeState, 'treeType'> {\n warnIfNoProperPropsRootTree(props);\n\n const { appearance = 'subtle', size = 'medium', selectionMode = 'none' } = props;\n\n const openItems = React.useMemo(() => createOpenItems(props.openItems), [props.openItems]);\n const checkedItems = React.useMemo(() => createCheckedItems(props.checkedItems), [props.checkedItems]);\n const requestOpenChange = (data: TreeOpenChangeData) => {\n const nextOpenItems = createNextOpenItems(data, openItems);\n props.onOpenChange?.(data.event, {\n ...data,\n openItems: nextOpenItems.dangerouslyGetInternalSet_unstable(),\n });\n };\n\n const requestCheckedChange = (data: TreeCheckedChangeData) => props.onCheckedChange?.(data.event, data);\n\n const requestNavigation = (data: TreeNavigationData_unstable) => {\n props.onNavigation?.(data.event, data);\n switch (data.type) {\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.Home:\n case treeDataTypes.End:\n // stop the default behavior of the event\n // which is to scroll the page\n data.event.preventDefault();\n }\n };\n\n const requestTreeResponse = useEventCallback((request: TreeItemRequest) => {\n switch (request.requestType) {\n case 'navigate':\n return requestNavigation(request);\n case 'open':\n return requestOpenChange({\n ...request,\n open: request.itemType === 'branch' && !openItems.has(request.value),\n openItems: openItems.dangerouslyGetInternalSet_unstable(),\n });\n case 'selection':\n return requestCheckedChange({\n ...request,\n selectionMode: selectionMode as SelectionMode,\n checkedItems: checkedItems.dangerouslyGetInternalMap_unstable(),\n } as TreeCheckedChangeData);\n }\n });\n\n return {\n components: {\n root: 'div',\n },\n selectionMode,\n open: true,\n appearance,\n size,\n level: 1,\n openItems,\n checkedItems,\n requestTreeResponse,\n root: slot.always(\n getNativeElementProps('div', {\n ref,\n role: 'tree',\n 'aria-multiselectable': selectionMode === 'multiselect' ? true : undefined,\n ...props,\n }),\n { elementType: 'div' },\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(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useRootTree]:\n Tree must have either a \\`aria-label\\` or \\`aria-labelledby\\` property defined\n `);\n }\n }\n}\n"],"names":["getNativeElementProps","useEventCallback","slot","React","createOpenItems","createCheckedItems","treeDataTypes","createNextOpenItems","useRootTree","props","ref","warnIfNoProperPropsRootTree","appearance","size","selectionMode","openItems","useMemo","checkedItems","requestOpenChange","data","nextOpenItems","onOpenChange","event","dangerouslyGetInternalSet_unstable","requestCheckedChange","onCheckedChange","requestNavigation","onNavigation","type","ArrowDown","ArrowUp","Home","End","preventDefault","requestTreeResponse","request","requestType","open","itemType","has","value","dangerouslyGetInternalMap_unstable","components","root","level","always","role","undefined","elementType","process","env","NODE_ENV","console","warn"],"mappings":"AAAA,SAAwBA,qBAAqB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,4BAA4B;AAQzG,YAAYC,WAAW,QAAQ;AAE/B,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,kBAAkB,QAAQ,8BAA8B;AACjE,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,mBAAmB,QAAQ,6BAA6B;AAEjE;;;;;CAKC,GACD,OAAO,SAASC,YACdC,KAYC,EAEDC,GAA2B;IAE3BC,4BAA4BF;IAE5B,MAAM,EAAEG,aAAa,QAAQ,EAAEC,OAAO,QAAQ,EAAEC,gBAAgB,MAAM,EAAE,GAAGL;IAE3E,MAAMM,YAAYZ,MAAMa,OAAO,CAAC,IAAMZ,gBAAgBK,MAAMM,SAAS,GAAG;QAACN,MAAMM,SAAS;KAAC;IACzF,MAAME,eAAed,MAAMa,OAAO,CAAC,IAAMX,mBAAmBI,MAAMQ,YAAY,GAAG;QAACR,MAAMQ,YAAY;KAAC;IACrG,MAAMC,oBAAoB,CAACC;YAEzBV;QADA,MAAMW,gBAAgBb,oBAAoBY,MAAMJ;SAChDN,sBAAAA,MAAMY,YAAY,cAAlBZ,0CAAAA,yBAAAA,OAAqBU,KAAKG,KAAK,EAAE;YAC/B,GAAGH,IAAI;YACPJ,WAAWK,cAAcG,kCAAkC;QAC7D;IACF;IAEA,MAAMC,uBAAuB,CAACL;YAAgCV;gBAAAA,yBAAAA,MAAMgB,eAAe,cAArBhB,6CAAAA,4BAAAA,OAAwBU,KAAKG,KAAK,EAAEH;;IAElG,MAAMO,oBAAoB,CAACP;YACzBV;SAAAA,sBAAAA,MAAMkB,YAAY,cAAlBlB,0CAAAA,yBAAAA,OAAqBU,KAAKG,KAAK,EAAEH;QACjC,OAAQA,KAAKS,IAAI;YACf,KAAKtB,cAAcuB,SAAS;YAC5B,KAAKvB,cAAcwB,OAAO;YAC1B,KAAKxB,cAAcyB,IAAI;YACvB,KAAKzB,cAAc0B,GAAG;gBACpB,yCAAyC;gBACzC,8BAA8B;gBAC9Bb,KAAKG,KAAK,CAACW,cAAc;QAC7B;IACF;IAEA,MAAMC,sBAAsBjC,iBAAiB,CAACkC;QAC5C,OAAQA,QAAQC,WAAW;YACzB,KAAK;gBACH,OAAOV,kBAAkBS;YAC3B,KAAK;gBACH,OAAOjB,kBAAkB;oBACvB,GAAGiB,OAAO;oBACVE,MAAMF,QAAQG,QAAQ,KAAK,YAAY,CAACvB,UAAUwB,GAAG,CAACJ,QAAQK,KAAK;oBACnEzB,WAAWA,UAAUQ,kCAAkC;gBACzD;YACF,KAAK;gBACH,OAAOC,qBAAqB;oBAC1B,GAAGW,OAAO;oBACVrB,eAAeA;oBACfG,cAAcA,aAAawB,kCAAkC;gBAC/D;QACJ;IACF;IAEA,OAAO;QACLC,YAAY;YACVC,MAAM;QACR;
|
|
1
|
+
{"version":3,"sources":["useRootTree.ts"],"sourcesContent":["import { SelectionMode, getNativeElementProps, useEventCallback, slot } from '@fluentui/react-utilities';\nimport type {\n TreeCheckedChangeData,\n TreeNavigationData_unstable,\n TreeOpenChangeData,\n TreeProps,\n TreeState,\n} from '../Tree';\nimport * as React from 'react';\nimport { TreeContextValue, TreeItemRequest } from '../contexts/treeContext';\nimport { createOpenItems } from '../utils/createOpenItems';\nimport { createCheckedItems } from '../utils/createCheckedItems';\nimport { treeDataTypes } from '../utils/tokens';\nimport { createNextOpenItems } from './useControllableOpenItems';\n\n/**\n * Create the state required to render the root level tree.\n *\n * @param props - props from this instance of tree\n * @param ref - reference to root HTMLElement of tree\n */\nexport function useRootTree(\n props: Pick<\n TreeProps,\n | 'selectionMode'\n | 'appearance'\n | 'size'\n | 'openItems'\n | 'checkedItems'\n | 'onOpenChange'\n | 'onCheckedChange'\n | 'onNavigation'\n | 'aria-label'\n | 'aria-labelledby'\n >,\n\n ref: React.Ref<HTMLElement>,\n): Omit<TreeState & TreeContextValue, 'treeType'> {\n warnIfNoProperPropsRootTree(props);\n\n const { appearance = 'subtle', size = 'medium', selectionMode = 'none' } = props;\n\n const openItems = React.useMemo(() => createOpenItems(props.openItems), [props.openItems]);\n const checkedItems = React.useMemo(() => createCheckedItems(props.checkedItems), [props.checkedItems]);\n const requestOpenChange = (data: TreeOpenChangeData) => {\n const nextOpenItems = createNextOpenItems(data, openItems);\n props.onOpenChange?.(data.event, {\n ...data,\n openItems: nextOpenItems.dangerouslyGetInternalSet_unstable(),\n });\n };\n\n const requestCheckedChange = (data: TreeCheckedChangeData) => props.onCheckedChange?.(data.event, data);\n\n const requestNavigation = (data: TreeNavigationData_unstable) => {\n props.onNavigation?.(data.event, data);\n switch (data.type) {\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.Home:\n case treeDataTypes.End:\n // stop the default behavior of the event\n // which is to scroll the page\n data.event.preventDefault();\n }\n };\n\n const requestTreeResponse = useEventCallback((request: TreeItemRequest) => {\n switch (request.requestType) {\n case 'navigate':\n return requestNavigation(request);\n case 'open':\n return requestOpenChange({\n ...request,\n open: request.itemType === 'branch' && !openItems.has(request.value),\n openItems: openItems.dangerouslyGetInternalSet_unstable(),\n });\n case 'selection':\n return requestCheckedChange({\n ...request,\n selectionMode: selectionMode as SelectionMode,\n checkedItems: checkedItems.dangerouslyGetInternalMap_unstable(),\n } as TreeCheckedChangeData);\n }\n });\n\n return {\n components: {\n root: 'div',\n },\n contextType: 'root',\n selectionMode,\n open: true,\n appearance,\n size,\n level: 1,\n openItems,\n checkedItems,\n requestTreeResponse,\n root: slot.always(\n getNativeElementProps('div', {\n ref,\n role: 'tree',\n 'aria-multiselectable': selectionMode === 'multiselect' ? true : undefined,\n ...props,\n }),\n { elementType: 'div' },\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(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useRootTree]:\n Tree must have either a \\`aria-label\\` or \\`aria-labelledby\\` property defined\n `);\n }\n }\n}\n"],"names":["getNativeElementProps","useEventCallback","slot","React","createOpenItems","createCheckedItems","treeDataTypes","createNextOpenItems","useRootTree","props","ref","warnIfNoProperPropsRootTree","appearance","size","selectionMode","openItems","useMemo","checkedItems","requestOpenChange","data","nextOpenItems","onOpenChange","event","dangerouslyGetInternalSet_unstable","requestCheckedChange","onCheckedChange","requestNavigation","onNavigation","type","ArrowDown","ArrowUp","Home","End","preventDefault","requestTreeResponse","request","requestType","open","itemType","has","value","dangerouslyGetInternalMap_unstable","components","root","contextType","level","always","role","undefined","elementType","process","env","NODE_ENV","console","warn"],"mappings":"AAAA,SAAwBA,qBAAqB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,4BAA4B;AAQzG,YAAYC,WAAW,QAAQ;AAE/B,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,kBAAkB,QAAQ,8BAA8B;AACjE,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,mBAAmB,QAAQ,6BAA6B;AAEjE;;;;;CAKC,GACD,OAAO,SAASC,YACdC,KAYC,EAEDC,GAA2B;IAE3BC,4BAA4BF;IAE5B,MAAM,EAAEG,aAAa,QAAQ,EAAEC,OAAO,QAAQ,EAAEC,gBAAgB,MAAM,EAAE,GAAGL;IAE3E,MAAMM,YAAYZ,MAAMa,OAAO,CAAC,IAAMZ,gBAAgBK,MAAMM,SAAS,GAAG;QAACN,MAAMM,SAAS;KAAC;IACzF,MAAME,eAAed,MAAMa,OAAO,CAAC,IAAMX,mBAAmBI,MAAMQ,YAAY,GAAG;QAACR,MAAMQ,YAAY;KAAC;IACrG,MAAMC,oBAAoB,CAACC;YAEzBV;QADA,MAAMW,gBAAgBb,oBAAoBY,MAAMJ;SAChDN,sBAAAA,MAAMY,YAAY,cAAlBZ,0CAAAA,yBAAAA,OAAqBU,KAAKG,KAAK,EAAE;YAC/B,GAAGH,IAAI;YACPJ,WAAWK,cAAcG,kCAAkC;QAC7D;IACF;IAEA,MAAMC,uBAAuB,CAACL;YAAgCV;gBAAAA,yBAAAA,MAAMgB,eAAe,cAArBhB,6CAAAA,4BAAAA,OAAwBU,KAAKG,KAAK,EAAEH;;IAElG,MAAMO,oBAAoB,CAACP;YACzBV;SAAAA,sBAAAA,MAAMkB,YAAY,cAAlBlB,0CAAAA,yBAAAA,OAAqBU,KAAKG,KAAK,EAAEH;QACjC,OAAQA,KAAKS,IAAI;YACf,KAAKtB,cAAcuB,SAAS;YAC5B,KAAKvB,cAAcwB,OAAO;YAC1B,KAAKxB,cAAcyB,IAAI;YACvB,KAAKzB,cAAc0B,GAAG;gBACpB,yCAAyC;gBACzC,8BAA8B;gBAC9Bb,KAAKG,KAAK,CAACW,cAAc;QAC7B;IACF;IAEA,MAAMC,sBAAsBjC,iBAAiB,CAACkC;QAC5C,OAAQA,QAAQC,WAAW;YACzB,KAAK;gBACH,OAAOV,kBAAkBS;YAC3B,KAAK;gBACH,OAAOjB,kBAAkB;oBACvB,GAAGiB,OAAO;oBACVE,MAAMF,QAAQG,QAAQ,KAAK,YAAY,CAACvB,UAAUwB,GAAG,CAACJ,QAAQK,KAAK;oBACnEzB,WAAWA,UAAUQ,kCAAkC;gBACzD;YACF,KAAK;gBACH,OAAOC,qBAAqB;oBAC1B,GAAGW,OAAO;oBACVrB,eAAeA;oBACfG,cAAcA,aAAawB,kCAAkC;gBAC/D;QACJ;IACF;IAEA,OAAO;QACLC,YAAY;YACVC,MAAM;QACR;QACAC,aAAa;QACb9B;QACAuB,MAAM;QACNzB;QACAC;QACAgC,OAAO;QACP9B;QACAE;QACAiB;QACAS,MAAMzC,KAAK4C,MAAM,CACf9C,sBAAsB,OAAO;YAC3BU;YACAqC,MAAM;YACN,wBAAwBjC,kBAAkB,gBAAgB,OAAOkC;YACjE,GAAGvC,KAAK;QACV,IACA;YAAEwC,aAAa;QAAM;IAEzB;AACF;AAEA,SAAStC,4BAA4BF,KAAwD;IAC3F,IAAIyC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,IAAI,CAAC3C,KAAK,CAAC,aAAa,IAAI,CAACA,KAAK,CAAC,kBAAkB,EAAE;YACrD,sCAAsC;YACtC4C,QAAQC,IAAI,CAAsB,CAAC;8EAGnC,CAAC;QACH;IACF;AACF"}
|
package/lib/hooks/useSubtree.js
CHANGED
|
@@ -7,24 +7,15 @@ import { getNativeElementProps, useMergedRefs, slot } from '@fluentui/react-util
|
|
|
7
7
|
* @param props - props from this instance of tree
|
|
8
8
|
* @param ref - reference to root HTMLElement of tree
|
|
9
9
|
*/ export function useSubtree(props, ref) {
|
|
10
|
-
const contextAppearance = useTreeContext_unstable((ctx)=>ctx.appearance);
|
|
11
|
-
const contextSize = useTreeContext_unstable((ctx)=>ctx.size);
|
|
12
10
|
const subtreeRef = useTreeItemContext_unstable((ctx)=>ctx.subtreeRef);
|
|
13
|
-
const { appearance = contextAppearance !== null && contextAppearance !== void 0 ? contextAppearance : 'subtle', size = contextSize !== null && contextSize !== void 0 ? contextSize : 'medium' } = props;
|
|
14
11
|
const parentLevel = useTreeContext_unstable((ctx)=>ctx.level);
|
|
15
|
-
const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);
|
|
16
|
-
const openItems = useTreeContext_unstable((ctx)=>ctx.openItems);
|
|
17
|
-
const checkedItems = useTreeContext_unstable((ctx)=>ctx.checkedItems);
|
|
18
|
-
const requestTreeResponse = useTreeContext_unstable((ctx)=>ctx.requestTreeResponse);
|
|
19
12
|
const open = useTreeItemContext_unstable((ctx)=>ctx.open);
|
|
20
13
|
return {
|
|
14
|
+
contextType: 'subtree',
|
|
21
15
|
open,
|
|
22
16
|
components: {
|
|
23
17
|
root: 'div'
|
|
24
18
|
},
|
|
25
|
-
appearance,
|
|
26
|
-
size,
|
|
27
|
-
selectionMode,
|
|
28
19
|
level: parentLevel + 1,
|
|
29
20
|
root: slot.always(getNativeElementProps('div', {
|
|
30
21
|
ref: useMergedRefs(ref, subtreeRef),
|
|
@@ -32,9 +23,6 @@ import { getNativeElementProps, useMergedRefs, slot } from '@fluentui/react-util
|
|
|
32
23
|
...props
|
|
33
24
|
}), {
|
|
34
25
|
elementType: 'div'
|
|
35
|
-
})
|
|
36
|
-
openItems,
|
|
37
|
-
checkedItems,
|
|
38
|
-
requestTreeResponse
|
|
26
|
+
})
|
|
39
27
|
};
|
|
40
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useSubtree.ts"],"sourcesContent":["import * as React from 'react';\nimport { TreeProps, TreeState } from '../Tree';\nimport { useTreeContext_unstable, useTreeItemContext_unstable } from '../contexts/index';\nimport { getNativeElementProps, useMergedRefs, slot } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render a sub-level tree.\n *\n * @param props - props from this instance of tree\n * @param ref - reference to root HTMLElement of tree\n */\nexport function useSubtree(\n props: Pick<TreeProps, 'appearance' | 'size'>,\n ref: React.Ref<HTMLElement>,\n): Omit<TreeState, 'treeType'> {\n const
|
|
1
|
+
{"version":3,"sources":["useSubtree.ts"],"sourcesContent":["import * as React from 'react';\nimport { TreeProps, TreeState } from '../Tree';\nimport { SubtreeContextValue, useTreeContext_unstable, useTreeItemContext_unstable } from '../contexts/index';\nimport { getNativeElementProps, useMergedRefs, slot } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render a sub-level tree.\n *\n * @param props - props from this instance of tree\n * @param ref - reference to root HTMLElement of tree\n */\nexport function useSubtree(\n props: Pick<TreeProps, 'appearance' | 'size'>,\n ref: React.Ref<HTMLElement>,\n): Omit<TreeState & SubtreeContextValue, 'treeType'> {\n const subtreeRef = useTreeItemContext_unstable(ctx => ctx.subtreeRef);\n\n const parentLevel = useTreeContext_unstable(ctx => ctx.level);\n\n const open = useTreeItemContext_unstable(ctx => ctx.open);\n\n return {\n contextType: 'subtree',\n open,\n components: {\n root: 'div',\n },\n level: parentLevel + 1,\n root: slot.always(\n getNativeElementProps('div', {\n ref: useMergedRefs(ref, subtreeRef),\n role: 'group',\n ...props,\n }),\n { elementType: 'div' },\n ),\n };\n}\n"],"names":["React","useTreeContext_unstable","useTreeItemContext_unstable","getNativeElementProps","useMergedRefs","slot","useSubtree","props","ref","subtreeRef","ctx","parentLevel","level","open","contextType","components","root","always","role","elementType"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SAA8BC,uBAAuB,EAAEC,2BAA2B,QAAQ,oBAAoB;AAC9G,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,IAAI,QAAQ,4BAA4B;AAEvF;;;;;CAKC,GACD,OAAO,SAASC,WACdC,KAA6C,EAC7CC,GAA2B;IAE3B,MAAMC,aAAaP,4BAA4BQ,CAAAA,MAAOA,IAAID,UAAU;IAEpE,MAAME,cAAcV,wBAAwBS,CAAAA,MAAOA,IAAIE,KAAK;IAE5D,MAAMC,OAAOX,4BAA4BQ,CAAAA,MAAOA,IAAIG,IAAI;IAExD,OAAO;QACLC,aAAa;QACbD;QACAE,YAAY;YACVC,MAAM;QACR;QACAJ,OAAOD,cAAc;QACrBK,MAAMX,KAAKY,MAAM,CACfd,sBAAsB,OAAO;YAC3BK,KAAKJ,cAAcI,KAAKC;YACxBS,MAAM;YACN,GAAGX,KAAK;QACV,IACA;YAAEY,aAAa;QAAM;IAEzB;AACF"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Tree, treeClassNames, useTree_unstable, useTreeStyles_unstable, useTreeContextValues_unstable, renderTree_unstable } from './Tree';
|
|
2
2
|
export { FlatTree, flatTreeClassNames, useFlatTree_unstable, useFlatTreeStyles_unstable, useFlatTreeContextValues_unstable, renderFlatTree_unstable } from './FlatTree';
|
|
3
|
-
export {
|
|
3
|
+
export { TreeProvider } from './components/TreeProvider';
|
|
4
|
+
export { useTreeContext_unstable, useTreeItemContext_unstable, useSubtreeContext_unstable, TreeItemProvider } from './contexts';
|
|
4
5
|
export { treeItemLevelToken } from './utils/tokens';
|
|
5
6
|
export { useHeadlessFlatTree_unstable } from './components/FlatTree/useHeadlessFlatTree';
|
|
6
7
|
export { TreeItem, treeItemClassNames, renderTreeItem_unstable, useTreeItemStyles_unstable, useTreeItemContextValues_unstable, useTreeItem_unstable } from './TreeItem';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"sourcesContent":["export {\n Tree,\n treeClassNames,\n useTree_unstable,\n useTreeStyles_unstable,\n useTreeContextValues_unstable,\n renderTree_unstable,\n} from './Tree';\n\nexport type {\n TreeSlots,\n TreeProps,\n TreeState,\n TreeContextValues,\n TreeOpenChangeData,\n TreeSelectionValue,\n TreeOpenChangeEvent,\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n} from './Tree';\n\nexport {\n FlatTree,\n flatTreeClassNames,\n useFlatTree_unstable,\n useFlatTreeStyles_unstable,\n useFlatTreeContextValues_unstable,\n renderFlatTree_unstable,\n} from './FlatTree';\n\nexport type { FlatTreeSlots, FlatTreeProps, FlatTreeState } from './FlatTree';\n\nexport {
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export {\n Tree,\n treeClassNames,\n useTree_unstable,\n useTreeStyles_unstable,\n useTreeContextValues_unstable,\n renderTree_unstable,\n} from './Tree';\n\nexport type {\n TreeSlots,\n TreeProps,\n TreeState,\n TreeContextValues,\n TreeOpenChangeData,\n TreeSelectionValue,\n TreeOpenChangeEvent,\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n} from './Tree';\n\nexport {\n FlatTree,\n flatTreeClassNames,\n useFlatTree_unstable,\n useFlatTreeStyles_unstable,\n useFlatTreeContextValues_unstable,\n renderFlatTree_unstable,\n} from './FlatTree';\n\nexport type { FlatTreeSlots, FlatTreeProps, FlatTreeState } from './FlatTree';\n\nexport { TreeProvider } from './components/TreeProvider';\n\nexport {\n useTreeContext_unstable,\n useTreeItemContext_unstable,\n useSubtreeContext_unstable,\n TreeItemProvider,\n} from './contexts';\nexport type { TreeContextValue, SubtreeContextValue, TreeItemContextValue } from './contexts';\n\nexport { treeItemLevelToken } from './utils/tokens';\n\nexport { useHeadlessFlatTree_unstable } from './components/FlatTree/useHeadlessFlatTree';\nexport type {\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './components/FlatTree/useHeadlessFlatTree';\n\nexport {\n TreeItem,\n treeItemClassNames,\n renderTreeItem_unstable,\n useTreeItemStyles_unstable,\n useTreeItemContextValues_unstable,\n useTreeItem_unstable,\n} from './TreeItem';\nexport type {\n TreeItemProps,\n TreeItemState,\n TreeItemSlots,\n TreeItemValue,\n TreeItemOpenChangeData,\n TreeItemOpenChangeEvent,\n} from './TreeItem';\n\nexport { FlatTreeItem } from './FlatTreeItem';\nexport type { FlatTreeItemProps } from './FlatTreeItem';\n\nexport {\n TreeItemLayout,\n treeItemLayoutClassNames,\n renderTreeItemLayout_unstable,\n useTreeItemLayoutStyles_unstable,\n useTreeItemLayout_unstable,\n} from './TreeItemLayout';\nexport type { TreeItemLayoutProps, TreeItemLayoutSlots, TreeItemLayoutState } from './TreeItemLayout';\n\nexport {\n TreeItemPersonaLayout,\n treeItemPersonaLayoutClassNames,\n renderTreeItemPersonaLayout_unstable,\n useTreeItemPersonaLayoutStyles_unstable,\n useTreeItemPersonaLayout_unstable,\n} from './TreeItemPersonaLayout';\nexport type {\n TreeItemPersonaLayoutProps,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutState,\n} from './TreeItemPersonaLayout';\n\nexport { flattenTree_unstable } from './utils/flattenTree';\nexport type { FlattenTreeItem } from './utils/flattenTree';\n"],"names":["Tree","treeClassNames","useTree_unstable","useTreeStyles_unstable","useTreeContextValues_unstable","renderTree_unstable","FlatTree","flatTreeClassNames","useFlatTree_unstable","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable","TreeProvider","useTreeContext_unstable","useTreeItemContext_unstable","useSubtreeContext_unstable","TreeItemProvider","treeItemLevelToken","useHeadlessFlatTree_unstable","TreeItem","treeItemClassNames","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItemContextValues_unstable","useTreeItem_unstable","FlatTreeItem","TreeItemLayout","treeItemLayoutClassNames","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable","TreeItemPersonaLayout","treeItemPersonaLayoutClassNames","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable","flattenTree_unstable"],"mappings":"AAAA,SACEA,IAAI,EACJC,cAAc,EACdC,gBAAgB,EAChBC,sBAAsB,EACtBC,6BAA6B,EAC7BC,mBAAmB,QACd,SAAS;AAgBhB,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,oBAAoB,EACpBC,0BAA0B,EAC1BC,iCAAiC,EACjCC,uBAAuB,QAClB,aAAa;AAIpB,SAASC,YAAY,QAAQ,4BAA4B;AAEzD,SACEC,uBAAuB,EACvBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,gBAAgB,QACX,aAAa;AAGpB,SAASC,kBAAkB,QAAQ,iBAAiB;AAEpD,SAASC,4BAA4B,QAAQ,4CAA4C;AAQzF,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,iCAAiC,EACjCC,oBAAoB,QACf,aAAa;AAUpB,SAASC,YAAY,QAAQ,iBAAiB;AAG9C,SACEC,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,QACrB,mBAAmB;AAG1B,SACEC,qBAAqB,EACrBC,+BAA+B,EAC/BC,oCAAoC,EACpCC,uCAAuC,EACvCC,iCAAiC,QAC5B,0BAA0B;AAOjC,SAASC,oBAAoB,QAAQ,sBAAsB"}
|
|
@@ -18,6 +18,8 @@ const _treeItemFilter = require("../../utils/treeItemFilter");
|
|
|
18
18
|
const _reactutilities = require("@fluentui/react-utilities");
|
|
19
19
|
const _treeContext = require("../../contexts/treeContext");
|
|
20
20
|
const _useSubtree = require("../../hooks/useSubtree");
|
|
21
|
+
const _ImmutableSet = require("../../utils/ImmutableSet");
|
|
22
|
+
const _ImmutableMap = require("../../utils/ImmutableMap");
|
|
21
23
|
const useFlatTree_unstable = (props, ref)=>{
|
|
22
24
|
const level = (0, _treeContext.useTreeContext_unstable)((ctx)=>ctx.level);
|
|
23
25
|
// as level is static, this doesn't break rule of hooks
|
|
@@ -62,13 +64,25 @@ You cannot use a <FlatTree> component inside of another <FlatTree> component.`);
|
|
|
62
64
|
}
|
|
63
65
|
return {
|
|
64
66
|
...(0, _useSubtree.useSubtree)(props, ref),
|
|
67
|
+
// ------ defaultTreeContextValue
|
|
68
|
+
level: 0,
|
|
69
|
+
contextType: 'root',
|
|
70
|
+
treeType: 'nested',
|
|
71
|
+
selectionMode: 'none',
|
|
72
|
+
openItems: _ImmutableSet.ImmutableSet.empty,
|
|
73
|
+
checkedItems: _ImmutableMap.ImmutableMap.empty,
|
|
74
|
+
requestTreeResponse: noop,
|
|
75
|
+
appearance: 'subtle',
|
|
76
|
+
size: 'medium',
|
|
77
|
+
// ------ defaultTreeContextValue
|
|
65
78
|
open: false,
|
|
66
|
-
treeType: 'flat',
|
|
67
79
|
components: {
|
|
68
80
|
root: _react.Fragment
|
|
69
81
|
},
|
|
70
|
-
root: _reactutilities.slot.always(
|
|
82
|
+
root: _reactutilities.slot.always(props, {
|
|
71
83
|
elementType: _react.Fragment
|
|
72
84
|
})
|
|
73
85
|
};
|
|
74
86
|
}
|
|
87
|
+
function noop() {
|
|
88
|
+
/* do nothing */ }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useFlatTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useRootTree } from '../../hooks/useRootTree';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { createHTMLElementWalker } from '../../utils/createHTMLElementWalker';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\nimport { slot, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\nimport { useSubtree } from '../../hooks/useSubtree';\nexport const useFlatTree_unstable = (props, ref)=>{\n const level = useTreeContext_unstable((ctx)=>ctx.level);\n // as level 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 level > 1 ? useSubFlatTree(props, ref) : useRootFlatTree(props, ref);\n};\nfunction useRootFlatTree(props, ref) {\n const { navigate, initialize } = useFlatTreeNavigation();\n const walkerRef = React.useRef();\n const { targetDocument } = useFluent_unstable();\n const initializeWalker = React.useCallback((root)=>{\n if (root && targetDocument) {\n walkerRef.current = createHTMLElementWalker(root, targetDocument, treeItemFilter);\n initialize(walkerRef.current);\n }\n }, [\n initialize,\n targetDocument\n ]);\n const handleNavigation = useEventCallback((event, data)=>{\n var _props_onNavigation;\n (_props_onNavigation = props.onNavigation) === null || _props_onNavigation === void 0 ? void 0 : _props_onNavigation.call(props, event, data);\n if (walkerRef.current && !event.isDefaultPrevented()) {\n navigate(data, walkerRef.current);\n }\n });\n return {\n treeType: 'flat',\n ...useRootTree({\n ...props,\n onNavigation: handleNavigation\n }, useMergedRefs(ref, initializeWalker))\n };\n}\nfunction useSubFlatTree(props, ref) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-tree [useFlatTree]:\nSubtrees are not allowed in a FlatTree!\nYou cannot use a <FlatTree> component inside of another <FlatTree> component.`);\n }\n return {\n ...useSubtree(props, ref),\n
|
|
1
|
+
{"version":3,"sources":["useFlatTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useRootTree } from '../../hooks/useRootTree';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { createHTMLElementWalker } from '../../utils/createHTMLElementWalker';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\nimport { slot, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\nimport { useSubtree } from '../../hooks/useSubtree';\nimport { ImmutableSet } from '../../utils/ImmutableSet';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nexport const useFlatTree_unstable = (props, ref)=>{\n const level = useTreeContext_unstable((ctx)=>ctx.level);\n // as level 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 level > 1 ? useSubFlatTree(props, ref) : useRootFlatTree(props, ref);\n};\nfunction useRootFlatTree(props, ref) {\n const { navigate, initialize } = useFlatTreeNavigation();\n const walkerRef = React.useRef();\n const { targetDocument } = useFluent_unstable();\n const initializeWalker = React.useCallback((root)=>{\n if (root && targetDocument) {\n walkerRef.current = createHTMLElementWalker(root, targetDocument, treeItemFilter);\n initialize(walkerRef.current);\n }\n }, [\n initialize,\n targetDocument\n ]);\n const handleNavigation = useEventCallback((event, data)=>{\n var _props_onNavigation;\n (_props_onNavigation = props.onNavigation) === null || _props_onNavigation === void 0 ? void 0 : _props_onNavigation.call(props, event, data);\n if (walkerRef.current && !event.isDefaultPrevented()) {\n navigate(data, walkerRef.current);\n }\n });\n return {\n treeType: 'flat',\n ...useRootTree({\n ...props,\n onNavigation: handleNavigation\n }, useMergedRefs(ref, initializeWalker))\n };\n}\nfunction useSubFlatTree(props, ref) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-tree [useFlatTree]:\nSubtrees are not allowed in a FlatTree!\nYou cannot use a <FlatTree> component inside of another <FlatTree> component.`);\n }\n return {\n ...useSubtree(props, ref),\n // ------ defaultTreeContextValue\n level: 0,\n contextType: 'root',\n treeType: 'nested',\n selectionMode: 'none',\n openItems: ImmutableSet.empty,\n checkedItems: ImmutableMap.empty,\n requestTreeResponse: noop,\n appearance: 'subtle',\n size: 'medium',\n // ------ defaultTreeContextValue\n open: false,\n components: {\n root: React.Fragment\n },\n root: slot.always(props, {\n elementType: React.Fragment\n })\n };\n}\nfunction noop() {\n/* do nothing */ }\n"],"names":["useFlatTree_unstable","props","ref","level","useTreeContext_unstable","ctx","useSubFlatTree","useRootFlatTree","navigate","initialize","useFlatTreeNavigation","walkerRef","React","useRef","targetDocument","useFluent_unstable","initializeWalker","useCallback","root","current","createHTMLElementWalker","treeItemFilter","handleNavigation","useEventCallback","event","data","_props_onNavigation","onNavigation","call","isDefaultPrevented","treeType","useRootTree","useMergedRefs","process","env","NODE_ENV","console","error","useSubtree","contextType","selectionMode","openItems","ImmutableSet","empty","checkedItems","ImmutableMap","requestTreeResponse","noop","appearance","size","open","components","Fragment","slot","always","elementType"],"mappings":";;;;+BAWaA;;;eAAAA;;;;iEAXU;6BACK;uCACU;yCACE;qCACL;gCACJ;gCACuB;6BACd;4BACb;8BACE;8BACA;AACtB,MAAMA,uBAAuB,CAACC,OAAOC;IACxC,MAAMC,QAAQC,IAAAA,oCAAuB,EAAC,CAACC,MAAMA,IAAIF,KAAK;IACtD,uDAAuD;IACvD,sEAAsE;IACtE,sDAAsD;IACtD,OAAOA,QAAQ,IAAIG,eAAeL,OAAOC,OAAOK,gBAAgBN,OAAOC;AAC3E;AACA,SAASK,gBAAgBN,KAAK,EAAEC,GAAG;IAC/B,MAAM,EAAEM,QAAQ,EAAEC,UAAU,EAAE,GAAGC,IAAAA,4CAAqB;IACtD,MAAMC,YAAYC,OAAMC,MAAM;IAC9B,MAAM,EAAEC,cAAc,EAAE,GAAGC,IAAAA,uCAAkB;IAC7C,MAAMC,mBAAmBJ,OAAMK,WAAW,CAAC,CAACC;QACxC,IAAIA,QAAQJ,gBAAgB;YACxBH,UAAUQ,OAAO,GAAGC,IAAAA,gDAAuB,EAACF,MAAMJ,gBAAgBO,8BAAc;YAChFZ,WAAWE,UAAUQ,OAAO;QAChC;IACJ,GAAG;QACCV;QACAK;KACH;IACD,MAAMQ,mBAAmBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOC;QAC9C,IAAIC;QACHA,CAAAA,sBAAsBzB,MAAM0B,YAAY,AAAD,MAAO,QAAQD,wBAAwB,KAAK,IAAI,KAAK,IAAIA,oBAAoBE,IAAI,CAAC3B,OAAOuB,OAAOC;QACxI,IAAId,UAAUQ,OAAO,IAAI,CAACK,MAAMK,kBAAkB,IAAI;YAClDrB,SAASiB,MAAMd,UAAUQ,OAAO;QACpC;IACJ;IACA,OAAO;QACHW,UAAU;QACV,GAAGC,IAAAA,wBAAW,EAAC;YACX,GAAG9B,KAAK;YACR0B,cAAcL;QAClB,GAAGU,IAAAA,6BAAa,EAAC9B,KAAKc,kBAAkB;IAC5C;AACJ;AACA,SAASV,eAAeL,KAAK,EAAEC,GAAG;IAC9B,IAAI+B,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QACxC,sCAAsC;QACtCC,QAAQC,KAAK,CAAC,CAAC;;6EAEsD,CAAC;IAC1E;IACA,OAAO;QACH,GAAGC,IAAAA,sBAAU,EAACrC,OAAOC,IAAI;QACzB,iCAAiC;QACjCC,OAAO;QACPoC,aAAa;QACbT,UAAU;QACVU,eAAe;QACfC,WAAWC,0BAAY,CAACC,KAAK;QAC7BC,cAAcC,0BAAY,CAACF,KAAK;QAChCG,qBAAqBC;QACrBC,YAAY;QACZC,MAAM;QACN,iCAAiC;QACjCC,MAAM;QACNC,YAAY;YACRjC,MAAMN,OAAMwC,QAAQ;QACxB;QACAlC,MAAMmC,oBAAI,CAACC,MAAM,CAACrD,OAAO;YACrBsD,aAAa3C,OAAMwC,QAAQ;QAC/B;IACJ;AACJ;AACA,SAASL;AACT,cAAc,GAAG"}
|