@fluentui/react-tree 9.0.0-beta.11 → 9.0.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +195 -1
- package/CHANGELOG.md +46 -2
- package/dist/index.d.ts +189 -100
- package/lib/TreeItemAside.js +2 -0
- package/lib/TreeItemAside.js.map +1 -0
- package/lib/components/Tree/Tree.js +1 -1
- package/lib/components/Tree/Tree.js.map +1 -1
- package/lib/components/Tree/Tree.types.js.map +1 -1
- package/lib/components/Tree/index.js +1 -1
- package/lib/components/Tree/index.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/useRootTree.js +160 -0
- package/lib/components/Tree/useRootTree.js.map +1 -0
- package/lib/components/Tree/useSubtree.js +40 -0
- package/lib/components/Tree/useSubtree.js.map +1 -0
- package/lib/components/Tree/useTree.js +2 -95
- package/lib/components/Tree/useTree.js.map +1 -1
- package/lib/components/Tree/useTreeContextValues.js +2 -4
- package/lib/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib/components/Tree/useTreeStyles.styles.js +30 -0
- package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
- package/lib/components/TreeItem/TreeItem.js +2 -2
- package/lib/components/TreeItem/TreeItem.js.map +1 -1
- package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib/components/TreeItem/index.js +1 -1
- package/lib/components/TreeItem/index.js.map +1 -1
- package/lib/components/TreeItem/renderTreeItem.js +2 -5
- package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItem.js +65 -175
- package/lib/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemContextValues.js +25 -11
- package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemStyles.styles.js +102 -0
- package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
- package/lib/components/TreeItemAside/TreeItemAside.js +15 -0
- package/lib/components/TreeItemAside/TreeItemAside.js.map +1 -0
- package/lib/components/TreeItemAside/TreeItemAside.types.js +2 -0
- package/lib/components/TreeItemAside/TreeItemAside.types.js.map +1 -0
- package/lib/components/TreeItemAside/index.js +6 -0
- package/lib/components/TreeItemAside/index.js.map +1 -0
- package/lib/components/TreeItemAside/renderTreeItemAside.js +19 -0
- package/lib/components/TreeItemAside/renderTreeItemAside.js.map +1 -0
- package/lib/components/TreeItemAside/useTreeItemAside.js +35 -0
- package/lib/components/TreeItemAside/useTreeItemAside.js.map +1 -0
- package/lib/components/TreeItemAside/useTreeItemAsideStyles.styles.js +47 -0
- package/lib/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -0
- package/lib/components/TreeItemChevron.js +27 -0
- package/lib/components/TreeItemChevron.js.map +1 -0
- package/lib/components/TreeItemLayout/TreeItemLayout.js +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 +1 -1
- package/lib/components/TreeItemLayout/index.js.map +1 -1
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js +1 -4
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayout.js +16 -11
- package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +138 -0
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +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 +1 -1
- package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +2 -5
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +16 -20
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.js → useTreeItemPersonaLayoutStyles.styles.js} +51 -30
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
- package/lib/contexts/treeContext.js +1 -2
- package/lib/contexts/treeContext.js.map +1 -1
- package/lib/contexts/treeItemContext.js +12 -4
- package/lib/contexts/treeItemContext.js.map +1 -1
- package/lib/hooks/useFlatTree.js +9 -9
- package/lib/hooks/useFlatTree.js.map +1 -1
- package/lib/hooks/useFlatTreeNavigation.js +15 -13
- package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib/hooks/useNestedTreeNavigation.js +9 -9
- package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
- package/lib/hooks/useOpenItemsState.js +3 -4
- package/lib/hooks/useOpenItemsState.js.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/createFlatTreeItems.js +32 -21
- package/lib/utils/createFlatTreeItems.js.map +1 -1
- package/lib/utils/flattenTree.js +4 -29
- package/lib/utils/flattenTree.js.map +1 -1
- package/lib/utils/tokens.js +11 -11
- package/lib/utils/tokens.js.map +1 -1
- package/lib-commonjs/TreeItemAside.js +9 -0
- package/lib-commonjs/TreeItemAside.js.map +1 -0
- package/lib-commonjs/components/Tree/Tree.js +2 -2
- package/lib-commonjs/components/Tree/Tree.js.map +1 -1
- package/lib-commonjs/components/Tree/index.js +1 -1
- package/lib-commonjs/components/Tree/index.js.map +1 -1
- package/lib-commonjs/components/Tree/renderTree.js +1 -1
- package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useRootTree.js +151 -0
- package/lib-commonjs/components/Tree/useRootTree.js.map +1 -0
- package/lib-commonjs/components/Tree/useSubtree.js +41 -0
- package/lib-commonjs/components/Tree/useSubtree.js.map +1 -0
- package/lib-commonjs/components/Tree/useTree.js +4 -89
- package/lib-commonjs/components/Tree/useTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeContextValues.js +2 -3
- package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib-commonjs/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +21 -4
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItem/TreeItem.js +2 -2
- package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/index.js +1 -1
- package/lib-commonjs/components/TreeItem/index.js.map +1 -1
- package/lib-commonjs/components/TreeItem/renderTreeItem.js +2 -5
- package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItem.js +60 -165
- package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +16 -15
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +208 -0
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItemAside/TreeItemAside.js +21 -0
- package/lib-commonjs/components/TreeItemAside/TreeItemAside.js.map +1 -0
- package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js +7 -0
- package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js.map +1 -0
- package/lib-commonjs/components/TreeItemAside/index.js +13 -0
- package/lib-commonjs/components/TreeItemAside/index.js.map +1 -0
- package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js +22 -0
- package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js.map +1 -0
- package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js +33 -0
- package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js.map +1 -0
- package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js +92 -0
- package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItemChevron.js +35 -0
- package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +2 -2
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/index.js +1 -1
- package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +1 -2
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +14 -9
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +223 -0
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +2 -2
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +2 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +14 -14
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.js → useTreeItemPersonaLayoutStyles.styles.js} +91 -45
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
- package/lib-commonjs/contexts/treeContext.js +1 -2
- package/lib-commonjs/contexts/treeContext.js.map +1 -1
- package/lib-commonjs/contexts/treeItemContext.js +12 -4
- package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
- package/lib-commonjs/hooks/useFlatTree.js +9 -9
- package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
- package/lib-commonjs/hooks/useFlatTreeNavigation.js +15 -13
- package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useNestedTreeNavigation.js +9 -9
- package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useOpenItemsState.js +3 -6
- package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
- package/lib-commonjs/index.js +6 -0
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/createFlatTreeItems.js +33 -25
- package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -1
- package/lib-commonjs/utils/flattenTree.js +8 -37
- package/lib-commonjs/utils/flattenTree.js.map +1 -1
- package/lib-commonjs/utils/tokens.js +10 -10
- package/lib-commonjs/utils/tokens.js.map +1 -1
- package/package.json +15 -14
- package/.swcrc +0 -30
- package/lib/components/Tree/useTreeStyles.js +0 -20
- package/lib/components/Tree/useTreeStyles.js.map +0 -1
- package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
- package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
- package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -375
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -143
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { getNativeElementProps, useMergedRefs } from '@fluentui/react-utilities';
|
|
3
|
+
import { useTreeItemContext_unstable } from '../../contexts/treeItemContext';
|
|
4
|
+
/**
|
|
5
|
+
* Create the state required to render TreeItemAside.
|
|
6
|
+
*
|
|
7
|
+
* The returned state can be modified with hooks such as useTreeItemAsideStyles_unstable,
|
|
8
|
+
* before being passed to renderTreeItemAside_unstable.
|
|
9
|
+
*
|
|
10
|
+
* @param props - props from this instance of TreeItemAside
|
|
11
|
+
* @param ref - reference to root HTMLElement of TreeItemAside
|
|
12
|
+
*/
|
|
13
|
+
export const useTreeItemAside_unstable = (props, ref) => {
|
|
14
|
+
const actionsRef = useTreeItemContext_unstable(ctx => ctx.actionsRef);
|
|
15
|
+
const contextVisible = useTreeItemContext_unstable(ctx => props.actions ? ctx.isActionsVisible : ctx.isAsideVisible);
|
|
16
|
+
const {
|
|
17
|
+
actions = false,
|
|
18
|
+
visible = contextVisible
|
|
19
|
+
} = props;
|
|
20
|
+
return {
|
|
21
|
+
actions,
|
|
22
|
+
visible,
|
|
23
|
+
buttonContextValue: {
|
|
24
|
+
size: 'small'
|
|
25
|
+
},
|
|
26
|
+
components: {
|
|
27
|
+
root: 'div'
|
|
28
|
+
},
|
|
29
|
+
root: getNativeElementProps('div', {
|
|
30
|
+
ref: useMergedRefs(ref, actions ? actionsRef : undefined),
|
|
31
|
+
...props
|
|
32
|
+
})
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=useTreeItemAside.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","getNativeElementProps","useMergedRefs","useTreeItemContext_unstable","useTreeItemAside_unstable","props","ref","actionsRef","ctx","contextVisible","actions","isActionsVisible","isAsideVisible","visible","buttonContextValue","size","components","root","undefined"],"sources":["../../../src/components/TreeItemAside/useTreeItemAside.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useMergedRefs } from '@fluentui/react-utilities';\nimport type { TreeItemAsideProps, TreeItemAsideState } from './TreeItemAside.types';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\n\n/**\n * Create the state required to render TreeItemAside.\n *\n * The returned state can be modified with hooks such as useTreeItemAsideStyles_unstable,\n * before being passed to renderTreeItemAside_unstable.\n *\n * @param props - props from this instance of TreeItemAside\n * @param ref - reference to root HTMLElement of TreeItemAside\n */\nexport const useTreeItemAside_unstable = (\n props: TreeItemAsideProps,\n ref: React.Ref<HTMLElement>,\n): TreeItemAsideState => {\n const actionsRef = useTreeItemContext_unstable(ctx => ctx.actionsRef);\n const contextVisible = useTreeItemContext_unstable(ctx =>\n props.actions ? ctx.isActionsVisible : ctx.isAsideVisible,\n );\n const { actions = false, visible = contextVisible } = props;\n\n return {\n actions,\n visible,\n buttonContextValue: { size: 'small' },\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref: useMergedRefs(ref, actions ? actionsRef : undefined),\n ...props,\n }),\n };\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,qBAAqB,EAAEC,aAAa,QAAQ;AAErD,SAASC,2BAA2B,QAAQ;AAE5C;;;;;;;;;AASA,OAAO,MAAMC,yBAAA,GAA4BA,CACvCC,KAAA,EACAC,GAAA,KACuB;EACvB,MAAMC,UAAA,GAAaJ,2BAAA,CAA4BK,GAAA,IAAOA,GAAA,CAAID,UAAU;EACpE,MAAME,cAAA,GAAiBN,2BAAA,CAA4BK,GAAA,IACjDH,KAAA,CAAMK,OAAO,GAAGF,GAAA,CAAIG,gBAAgB,GAAGH,GAAA,CAAII,cAAc;EAE3D,MAAM;IAAEF,OAAA,GAAU,KAAK;IAAEG,OAAA,GAAUJ;EAAc,CAAE,GAAGJ,KAAA;EAEtD,OAAO;IACLK,OAAA;IACAG,OAAA;IACAC,kBAAA,EAAoB;MAAEC,IAAA,EAAM;IAAQ;IACpCC,UAAA,EAAY;MACVC,IAAA,EAAM;IACR;IACAA,IAAA,EAAMhB,qBAAA,CAAsB,OAAO;MACjCK,GAAA,EAAKJ,aAAA,CAAcI,GAAA,EAAKI,OAAA,GAAUH,UAAA,GAAaW,SAAS;MACxD,GAAGb;IACL;EACF;AACF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { __styles, mergeClasses, shorthands } from '@griffel/react';
|
|
2
|
+
import { tokens } from '@fluentui/react-theme';
|
|
3
|
+
export const treeItemAsideClassNames = {
|
|
4
|
+
root: 'fui-TreeItemAside'
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Styles for the action icon slot
|
|
8
|
+
*/
|
|
9
|
+
const useStyles = /*#__PURE__*/__styles({
|
|
10
|
+
base: {
|
|
11
|
+
mc9l5x: "f22iagw",
|
|
12
|
+
Frg6f3: ["fcgxt0o", "f1ujusj6"],
|
|
13
|
+
Ijaq50: "fobksn0",
|
|
14
|
+
Br312pm: "fmy5l6f",
|
|
15
|
+
nk6f5a: "fzqypwc",
|
|
16
|
+
Bw0ie65: "f1tmftl3"
|
|
17
|
+
},
|
|
18
|
+
actions: {
|
|
19
|
+
qhf8xq: "f10pi13n",
|
|
20
|
+
Bj3rh1h: "f19g0ac",
|
|
21
|
+
z8tnut: "f1g0x7ka",
|
|
22
|
+
z189sj: ["f1vdfbxk", "f1f5gg8d"],
|
|
23
|
+
Byoj8tv: "f1qch9an",
|
|
24
|
+
uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
|
|
25
|
+
},
|
|
26
|
+
aside: {
|
|
27
|
+
Bt984gj: "f122n59",
|
|
28
|
+
Bj3rh1h: "f11zp4z2",
|
|
29
|
+
z8tnut: "f1g0x7ka",
|
|
30
|
+
z189sj: ["fw5db7e", "f1uw59to"],
|
|
31
|
+
Byoj8tv: "f1qch9an",
|
|
32
|
+
uwmqm3: ["f1uw59to", "fw5db7e"],
|
|
33
|
+
i8kkvl: "f1ufnopg",
|
|
34
|
+
Belr9w4: "f14sijuj"
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
d: [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".fcgxt0o{margin-left:auto;}", ".f1ujusj6{margin-right:auto;}", ".fobksn0{grid-row-start:aside;}", ".fmy5l6f{grid-column-start:aside;}", ".fzqypwc{grid-row-end:aside;}", ".f1tmftl3{grid-column-end:aside;}", ".f10pi13n{position:relative;}", ".f19g0ac{z-index:1;}", ".f1g0x7ka{padding-top:0;}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1qch9an{padding-bottom:0;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f11zp4z2{z-index:0;}", ".fw5db7e{padding-right:var(--spacingHorizontalM);}", ".f1uw59to{padding-left:var(--spacingHorizontalM);}", ".f1ufnopg{-webkit-column-gap:var(--spacingHorizontalXS);column-gap:var(--spacingHorizontalXS);}", ".f14sijuj{row-gap:var(--spacingHorizontalXS);}"]
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Apply styling to the TreeItemAside slots based on the state
|
|
41
|
+
*/
|
|
42
|
+
export const useTreeItemAsideStyles_unstable = state => {
|
|
43
|
+
const styles = useStyles();
|
|
44
|
+
state.root.className = mergeClasses(treeItemAsideClassNames.root, styles.base, state.actions ? styles.actions : styles.aside, state.root.className);
|
|
45
|
+
return state;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=useTreeItemAsideStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__styles","mergeClasses","shorthands","tokens","treeItemAsideClassNames","root","useStyles","base","mc9l5x","Frg6f3","Ijaq50","Br312pm","nk6f5a","Bw0ie65","actions","qhf8xq","Bj3rh1h","z8tnut","z189sj","Byoj8tv","uwmqm3","aside","Bt984gj","i8kkvl","Belr9w4","d","useTreeItemAsideStyles_unstable","state","styles","className"],"sources":["../../../src/components/TreeItemAside/useTreeItemAsideStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { TreeItemAsideSlots, TreeItemAsideState } from './TreeItemAside.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\n\nexport const treeItemAsideClassNames: SlotClassNames<TreeItemAsideSlots> = {\n root: 'fui-TreeItemAside',\n};\n\n/**\n * Styles for the action icon slot\n */\nconst useStyles = makeStyles({\n base: {\n display: 'flex',\n marginLeft: 'auto',\n ...shorthands.gridArea('aside'),\n },\n actions: {\n position: 'relative',\n zIndex: 1,\n ...shorthands.padding(0, tokens.spacingHorizontalS),\n },\n aside: {\n alignItems: 'center',\n zIndex: 0,\n ...shorthands.padding(0, tokens.spacingHorizontalM),\n ...shorthands.gap(tokens.spacingHorizontalXS),\n },\n});\n\n/**\n * Apply styling to the TreeItemAside slots based on the state\n */\nexport const useTreeItemAsideStyles_unstable = (state: TreeItemAsideState): TreeItemAsideState => {\n const styles = useStyles();\n\n state.root.className = mergeClasses(\n treeItemAsideClassNames.root,\n styles.base,\n state.actions ? styles.actions : styles.aside,\n state.root.className,\n );\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ;AAGrD,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,uBAAA,GAA8D;EACzEC,IAAA,EAAM;AACR;AAEA;;;AAGA,MAAMC,SAAA,gBAAYN,QAAA;EAAAO,IAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;EAAAC,KAAA;IAAAC,OAAA;IAAAN,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAG,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,EAiBlB;AAEA;;;AAGA,OAAO,MAAMC,+BAAA,GAAmCC,KAAA,IAAkD;EAChG,MAAMC,MAAA,GAAStB,SAAA;EAEfqB,KAAA,CAAMtB,IAAI,CAACwB,SAAS,GAAG5B,YAAA,CACrBG,uBAAA,CAAwBC,IAAI,EAC5BuB,MAAA,CAAOrB,IAAI,EACXoB,KAAA,CAAMb,OAAO,GAAGc,MAAA,CAAOd,OAAO,GAAGc,MAAA,CAAOP,KAAK,EAC7CM,KAAA,CAAMtB,IAAI,CAACwB,SAAS;EAEtB,OAAOF,KAAA;AACT"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useFluent_unstable } from '@fluentui/react-shared-contexts';
|
|
3
|
+
import { ChevronRight12Regular } from '@fluentui/react-icons';
|
|
4
|
+
import { useTreeItemContext_unstable } from '../contexts/treeItemContext';
|
|
5
|
+
export const TreeItemChevron = /*#__PURE__*/React.memo(() => {
|
|
6
|
+
const open = useTreeItemContext_unstable(ctx => ctx.open);
|
|
7
|
+
const {
|
|
8
|
+
dir
|
|
9
|
+
} = useFluent_unstable();
|
|
10
|
+
const expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;
|
|
11
|
+
return /*#__PURE__*/React.createElement(ChevronRight12Regular, {
|
|
12
|
+
style: expandIconInlineStyles[expandIconRotation]
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
TreeItemChevron.displayName = 'TreeItemChevron';
|
|
16
|
+
const expandIconInlineStyles = {
|
|
17
|
+
90: {
|
|
18
|
+
transform: `rotate(90deg)`
|
|
19
|
+
},
|
|
20
|
+
0: {
|
|
21
|
+
transform: `rotate(0deg)`
|
|
22
|
+
},
|
|
23
|
+
180: {
|
|
24
|
+
transform: `rotate(180deg)`
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=TreeItemChevron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useFluent_unstable","ChevronRight12Regular","useTreeItemContext_unstable","TreeItemChevron","memo","open","ctx","dir","expandIconRotation","createElement","style","expandIconInlineStyles","displayName","transform"],"sources":["../../src/components/TreeItemChevron.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { ChevronRight12Regular } from '@fluentui/react-icons';\nimport { useTreeItemContext_unstable } from '../contexts/treeItemContext';\n\nexport const TreeItemChevron = React.memo(() => {\n const open = useTreeItemContext_unstable(ctx => ctx.open);\n\n const { dir } = useFluent_unstable();\n\n const expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;\n return <ChevronRight12Regular style={expandIconInlineStyles[expandIconRotation]} />;\n});\nTreeItemChevron.displayName = 'TreeItemChevron';\n\nconst expandIconInlineStyles = {\n 90: { transform: `rotate(90deg)` },\n 0: { transform: `rotate(0deg)` },\n 180: { transform: `rotate(180deg)` },\n} as const;\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,2BAA2B,QAAQ;AAE5C,OAAO,MAAMC,eAAA,gBAAkBJ,KAAA,CAAMK,IAAI,CAAC,MAAM;EAC9C,MAAMC,IAAA,GAAOH,2BAAA,CAA4BI,GAAA,IAAOA,GAAA,CAAID,IAAI;EAExD,MAAM;IAAEE;EAAG,CAAE,GAAGP,kBAAA;EAEhB,MAAMQ,kBAAA,GAAqBH,IAAA,GAAO,KAAKE,GAAA,KAAQ,QAAQ,IAAI,GAAG;EAC9D,oBAAOR,KAAA,CAAAU,aAAA,CAACR,qBAAA;IAAsBS,KAAA,EAAOC,sBAAsB,CAACH,kBAAA;;AAC9D;AACAL,eAAA,CAAgBS,WAAW,GAAG;AAE9B,MAAMD,sBAAA,GAAyB;EAC7B,IAAI;IAAEE,SAAA,EAAY;EAAe;EACjC,GAAG;IAAEA,SAAA,EAAY;EAAc;EAC/B,KAAK;IAAEA,SAAA,EAAY;EAAgB;AACrC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useTreeItemLayout_unstable } from './useTreeItemLayout';
|
|
3
3
|
import { renderTreeItemLayout_unstable } from './renderTreeItemLayout';
|
|
4
|
-
import { useTreeItemLayoutStyles_unstable } from './useTreeItemLayoutStyles';
|
|
4
|
+
import { useTreeItemLayoutStyles_unstable } from './useTreeItemLayoutStyles.styles';
|
|
5
5
|
/**
|
|
6
6
|
* The `TreeItemLayout` component is used as a child of `TreeItem` to define the content and layout of a tree item.
|
|
7
7
|
* It provides a consistent visual structure for tree items in a `Tree` component.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useTreeItemLayout_unstable","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","TreeItemLayout","forwardRef","props","ref","state","displayName"],"sources":["../../../src/components/TreeItemLayout/TreeItemLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemLayout_unstable } from './useTreeItemLayout';\nimport { renderTreeItemLayout_unstable } from './renderTreeItemLayout';\nimport { useTreeItemLayoutStyles_unstable } from './useTreeItemLayoutStyles';\nimport type { TreeItemLayoutProps } from './TreeItemLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * The `TreeItemLayout` component is used as a child of `TreeItem` to define the content and layout of a tree item.\n * It provides a consistent visual structure for tree items in a `Tree` component.\n * This component should only be used as a direct child of `TreeItem`.\n */\nexport const TreeItemLayout: ForwardRefComponent<TreeItemLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemLayout_unstable(props, ref);\n\n useTreeItemLayoutStyles_unstable(state);\n return renderTreeItemLayout_unstable(state);\n});\n\nTreeItemLayout.displayName = 'TreeItemLayout';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,6BAA6B,QAAQ;AAC9C,SAASC,gCAAgC,QAAQ;AAIjD;;;;;AAKA,OAAO,MAAMC,cAAA,gBAA2DJ,KAAA,CAAMK,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACvG,MAAMC,KAAA,GAAQP,0BAAA,CAA2BK,KAAA,EAAOC,GAAA;EAEhDJ,gCAAA,CAAiCK,KAAA;EACjC,OAAON,6BAAA,CAA8BM,KAAA;AACvC;AAEAJ,cAAA,CAAeK,WAAW,GAAG"}
|
|
1
|
+
{"version":3,"names":["React","useTreeItemLayout_unstable","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","TreeItemLayout","forwardRef","props","ref","state","displayName"],"sources":["../../../src/components/TreeItemLayout/TreeItemLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemLayout_unstable } from './useTreeItemLayout';\nimport { renderTreeItemLayout_unstable } from './renderTreeItemLayout';\nimport { useTreeItemLayoutStyles_unstable } from './useTreeItemLayoutStyles.styles';\nimport type { TreeItemLayoutProps } from './TreeItemLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * The `TreeItemLayout` component is used as a child of `TreeItem` to define the content and layout of a tree item.\n * It provides a consistent visual structure for tree items in a `Tree` component.\n * This component should only be used as a direct child of `TreeItem`.\n */\nexport const TreeItemLayout: ForwardRefComponent<TreeItemLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemLayout_unstable(props, ref);\n\n useTreeItemLayoutStyles_unstable(state);\n return renderTreeItemLayout_unstable(state);\n});\n\nTreeItemLayout.displayName = 'TreeItemLayout';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,6BAA6B,QAAQ;AAC9C,SAASC,gCAAgC,QAAQ;AAIjD;;;;;AAKA,OAAO,MAAMC,cAAA,gBAA2DJ,KAAA,CAAMK,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACvG,MAAMC,KAAA,GAAQP,0BAAA,CAA2BK,KAAA,EAAOC,GAAA;EAEhDJ,gCAAA,CAAiCK,KAAA;EACjC,OAAON,6BAAA,CAA8BM,KAAA;AACvC;AAEAJ,cAAA,CAAeK,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/components/TreeItemLayout/TreeItemLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/TreeItemLayout/TreeItemLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type TreeItemLayoutSlots = {\n root: Slot<'div'>;\n /**\n * Expand icon slot,\n * by default renders a chevron icon to indicate opening and closing\n */\n expandIcon?: Slot<'div'>;\n /**\n * Icon slot that renders right before main content\n */\n iconBefore?: Slot<'div'>;\n /**\n * Icon slot that renders right after main content\n */\n iconAfter?: Slot<'div'>;\n};\n\n/**\n * TreeItemLayout Props\n */\nexport type TreeItemLayoutProps = ComponentProps<Partial<TreeItemLayoutSlots>>;\n\n/**\n * State used in rendering TreeItemLayout\n */\nexport type TreeItemLayoutState = ComponentState<TreeItemLayoutSlots>;\n"],"mappings":"AAAA"}
|
|
@@ -2,5 +2,5 @@ export * from './TreeItemLayout';
|
|
|
2
2
|
export * from './TreeItemLayout.types';
|
|
3
3
|
export * from './renderTreeItemLayout';
|
|
4
4
|
export * from './useTreeItemLayout';
|
|
5
|
-
export * from './useTreeItemLayoutStyles';
|
|
5
|
+
export * from './useTreeItemLayoutStyles.styles';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/components/TreeItemLayout/index.ts"],"sourcesContent":["export * from './TreeItemLayout';\nexport * from './TreeItemLayout.types';\nexport * from './renderTreeItemLayout';\nexport * from './useTreeItemLayout';\nexport * from './useTreeItemLayoutStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/TreeItemLayout/index.ts"],"sourcesContent":["export * from './TreeItemLayout';\nexport * from './TreeItemLayout.types';\nexport * from './renderTreeItemLayout';\nexport * from './useTreeItemLayout';\nexport * from './useTreeItemLayoutStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
@@ -4,13 +4,10 @@ import { getSlotsNext } from '@fluentui/react-utilities';
|
|
|
4
4
|
* Render the final JSX of TreeItemLayout
|
|
5
5
|
*/
|
|
6
6
|
export const renderTreeItemLayout_unstable = state => {
|
|
7
|
-
const {
|
|
8
|
-
isActionsVisible
|
|
9
|
-
} = state;
|
|
10
7
|
const {
|
|
11
8
|
slots,
|
|
12
9
|
slotProps
|
|
13
10
|
} = getSlotsNext(state);
|
|
14
|
-
return /*#__PURE__*/createElement(slots.root, slotProps.root, slots.
|
|
11
|
+
return /*#__PURE__*/createElement(slots.root, slotProps.root, slots.expandIcon && /*#__PURE__*/createElement(slots.expandIcon, slotProps.expandIcon), slots.iconBefore && /*#__PURE__*/createElement(slots.iconBefore, slotProps.iconBefore), slotProps.root.children, slots.iconAfter && /*#__PURE__*/createElement(slots.iconAfter, slotProps.iconAfter));
|
|
15
12
|
};
|
|
16
13
|
//# sourceMappingURL=renderTreeItemLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createElement","getSlotsNext","renderTreeItemLayout_unstable","state","
|
|
1
|
+
{"version":3,"names":["createElement","getSlotsNext","renderTreeItemLayout_unstable","state","slots","slotProps","root","expandIcon","iconBefore","children","iconAfter"],"sources":["../../../src/components/TreeItemLayout/renderTreeItemLayout.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport type { TreeItemLayoutState, TreeItemLayoutSlots } from './TreeItemLayout.types';\n\n/**\n * Render the final JSX of TreeItemLayout\n */\nexport const renderTreeItemLayout_unstable = (state: TreeItemLayoutState) => {\n const { slots, slotProps } = getSlotsNext<TreeItemLayoutSlots>(state);\n return (\n <slots.root {...slotProps.root}>\n {slots.expandIcon && <slots.expandIcon {...slotProps.expandIcon} />}\n {slots.iconBefore && <slots.iconBefore {...slotProps.iconBefore} />}\n {slotProps.root.children}\n {slots.iconAfter && <slots.iconAfter {...slotProps.iconAfter} />}\n </slots.root>\n );\n};\n"],"mappings":"AAAA,2BACA,yBAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAG7B;;;AAGA,OAAO,MAAMC,6BAAA,GAAiCC,KAAA,IAA+B;EAC3E,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGJ,YAAA,CAAkCE,KAAA;EAC/D,oBACEH,aAZJ,CAYKI,KAAA,CAAME,IAAI,EAAKD,SAAA,CAAUC,IAAI,EAC3BF,KAAA,CAAMG,UAAU,iBAAIP,aAb3B,CAa4BI,KAAA,CAAMG,UAAU,EAAKF,SAAA,CAAUE,UAAU,GAC9DH,KAAA,CAAMI,UAAU,iBAAIR,aAd3B,CAc4BI,KAAA,CAAMI,UAAU,EAAKH,SAAA,CAAUG,UAAU,GAC9DH,SAAA,CAAUC,IAAI,CAACG,QAAQ,EACvBL,KAAA,CAAMM,SAAS,iBAAIV,aAhB1B,CAgB2BI,KAAA,CAAMM,SAAS,EAAKL,SAAA,CAAUK,SAAS;AAGlE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';
|
|
2
|
+
import { getNativeElementProps, isResolvedShorthand, resolveShorthand, useMergedRefs } from '@fluentui/react-utilities';
|
|
3
3
|
import { useTreeItemContext_unstable } from '../../contexts/treeItemContext';
|
|
4
|
+
import { TreeItemChevron } from '../TreeItemChevron';
|
|
4
5
|
/**
|
|
5
6
|
* Create the state required to render TreeItemLayout.
|
|
6
7
|
*
|
|
@@ -14,21 +15,22 @@ export const useTreeItemLayout_unstable = (props, ref) => {
|
|
|
14
15
|
const {
|
|
15
16
|
iconAfter,
|
|
16
17
|
iconBefore,
|
|
17
|
-
|
|
18
|
-
as = '
|
|
18
|
+
expandIcon,
|
|
19
|
+
as = 'span'
|
|
19
20
|
} = props;
|
|
20
|
-
const
|
|
21
|
+
const layoutRef = useTreeItemContext_unstable(ctx => ctx.layoutRef);
|
|
22
|
+
const expandIconRef = useTreeItemContext_unstable(ctx => ctx.expandIconRef);
|
|
23
|
+
const isBranch = useTreeItemContext_unstable(ctx => ctx.itemType === 'branch');
|
|
21
24
|
return {
|
|
22
|
-
...treeItemContext,
|
|
23
25
|
components: {
|
|
24
26
|
root: 'div',
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
expandIcon: 'div',
|
|
28
|
+
iconBefore: 'div',
|
|
29
|
+
iconAfter: 'div'
|
|
28
30
|
},
|
|
29
31
|
root: getNativeElementProps(as, {
|
|
30
32
|
...props,
|
|
31
|
-
ref
|
|
33
|
+
ref: useMergedRefs(ref, layoutRef)
|
|
32
34
|
}),
|
|
33
35
|
iconBefore: resolveShorthand(iconBefore, {
|
|
34
36
|
defaultProps: {
|
|
@@ -40,9 +42,12 @@ export const useTreeItemLayout_unstable = (props, ref) => {
|
|
|
40
42
|
'aria-hidden': true
|
|
41
43
|
}
|
|
42
44
|
}),
|
|
43
|
-
|
|
45
|
+
expandIcon: resolveShorthand(expandIcon, {
|
|
46
|
+
required: isBranch,
|
|
44
47
|
defaultProps: {
|
|
45
|
-
|
|
48
|
+
children: /*#__PURE__*/React.createElement(TreeItemChevron, null),
|
|
49
|
+
'aria-hidden': true,
|
|
50
|
+
ref: useMergedRefs(isResolvedShorthand(expandIcon) ? expandIcon.ref : undefined, expandIconRef)
|
|
46
51
|
}
|
|
47
52
|
})
|
|
48
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","getNativeElementProps","resolveShorthand","useTreeItemContext_unstable","useTreeItemLayout_unstable","props","ref","iconAfter","iconBefore","
|
|
1
|
+
{"version":3,"names":["React","getNativeElementProps","isResolvedShorthand","resolveShorthand","useMergedRefs","useTreeItemContext_unstable","TreeItemChevron","useTreeItemLayout_unstable","props","ref","iconAfter","iconBefore","expandIcon","as","layoutRef","ctx","expandIconRef","isBranch","itemType","components","root","defaultProps","required","children","createElement","undefined"],"sources":["../../../src/components/TreeItemLayout/useTreeItemLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, isResolvedShorthand, resolveShorthand, useMergedRefs } from '@fluentui/react-utilities';\nimport type { TreeItemLayoutProps, TreeItemLayoutState } from './TreeItemLayout.types';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\nimport { TreeItemChevron } from '../TreeItemChevron';\n\n/**\n * Create the state required to render TreeItemLayout.\n *\n * The returned state can be modified with hooks such as useTreeItemLayoutStyles_unstable,\n * before being passed to renderTreeItemLayout_unstable.\n *\n * @param props - props from this instance of TreeItemLayout\n * @param ref - reference to root HTMLElement of TreeItemLayout\n */\nexport const useTreeItemLayout_unstable = (\n props: TreeItemLayoutProps,\n ref: React.Ref<HTMLElement>,\n): TreeItemLayoutState => {\n const { iconAfter, iconBefore, expandIcon, as = 'span' } = props;\n\n const layoutRef = useTreeItemContext_unstable(ctx => ctx.layoutRef);\n const expandIconRef = useTreeItemContext_unstable(ctx => ctx.expandIconRef);\n const isBranch = useTreeItemContext_unstable(ctx => ctx.itemType === 'branch');\n\n return {\n components: {\n root: 'div',\n expandIcon: 'div',\n iconBefore: 'div',\n iconAfter: 'div',\n },\n root: getNativeElementProps(as, { ...props, ref: useMergedRefs(ref, layoutRef) }),\n iconBefore: resolveShorthand(iconBefore, { defaultProps: { 'aria-hidden': true } }),\n iconAfter: resolveShorthand(iconAfter, { defaultProps: { 'aria-hidden': true } }),\n expandIcon: resolveShorthand(expandIcon, {\n required: isBranch,\n defaultProps: {\n children: <TreeItemChevron />,\n 'aria-hidden': true,\n ref: useMergedRefs(isResolvedShorthand(expandIcon) ? expandIcon.ref : undefined, expandIconRef),\n },\n }),\n };\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,qBAAqB,EAAEC,mBAAmB,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ;AAE5F,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,eAAe,QAAQ;AAEhC;;;;;;;;;AASA,OAAO,MAAMC,0BAAA,GAA6BA,CACxCC,KAAA,EACAC,GAAA,KACwB;EACxB,MAAM;IAAEC,SAAA;IAAWC,UAAA;IAAYC,UAAA;IAAYC,EAAA,GAAK;EAAM,CAAE,GAAGL,KAAA;EAE3D,MAAMM,SAAA,GAAYT,2BAAA,CAA4BU,GAAA,IAAOA,GAAA,CAAID,SAAS;EAClE,MAAME,aAAA,GAAgBX,2BAAA,CAA4BU,GAAA,IAAOA,GAAA,CAAIC,aAAa;EAC1E,MAAMC,QAAA,GAAWZ,2BAAA,CAA4BU,GAAA,IAAOA,GAAA,CAAIG,QAAQ,KAAK;EAErE,OAAO;IACLC,UAAA,EAAY;MACVC,IAAA,EAAM;MACNR,UAAA,EAAY;MACZD,UAAA,EAAY;MACZD,SAAA,EAAW;IACb;IACAU,IAAA,EAAMnB,qBAAA,CAAsBY,EAAA,EAAI;MAAE,GAAGL,KAAK;MAAEC,GAAA,EAAKL,aAAA,CAAcK,GAAA,EAAKK,SAAA;IAAW;IAC/EH,UAAA,EAAYR,gBAAA,CAAiBQ,UAAA,EAAY;MAAEU,YAAA,EAAc;QAAE,eAAe;MAAK;IAAE;IACjFX,SAAA,EAAWP,gBAAA,CAAiBO,SAAA,EAAW;MAAEW,YAAA,EAAc;QAAE,eAAe;MAAK;IAAE;IAC/ET,UAAA,EAAYT,gBAAA,CAAiBS,UAAA,EAAY;MACvCU,QAAA,EAAUL,QAAA;MACVI,YAAA,EAAc;QACZE,QAAA,eAAUvB,KAAA,CAAAwB,aAAA,CAAClB,eAAA;QACX,eAAe,IAAI;QACnBG,GAAA,EAAKL,aAAA,CAAcF,mBAAA,CAAoBU,UAAA,IAAcA,UAAA,CAAWH,GAAG,GAAGgB,SAAS,EAAET,aAAA;MACnF;IACF;EACF;AACF"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { __styles, mergeClasses, shorthands } from '@griffel/react';
|
|
2
|
+
import { tokens, typographyStyles } from '@fluentui/react-theme';
|
|
3
|
+
import { useTreeContext_unstable } from '../../contexts/treeContext';
|
|
4
|
+
import { treeItemLevelToken } from '../../utils/tokens';
|
|
5
|
+
import { useTreeItemContext_unstable } from '../../contexts/treeItemContext';
|
|
6
|
+
export const treeItemLayoutClassNames = {
|
|
7
|
+
root: 'fui-TreeItemLayout',
|
|
8
|
+
expandIcon: 'fui-TreeItemLayout__expandIcon',
|
|
9
|
+
iconBefore: 'fui-TreeItemLayout__iconBefore',
|
|
10
|
+
iconAfter: 'fui-TreeItemLayout__iconAfter'
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Styles for the root slot
|
|
14
|
+
*/
|
|
15
|
+
const useRootStyles = /*#__PURE__*/__styles({
|
|
16
|
+
base: {
|
|
17
|
+
mc9l5x: "f22iagw",
|
|
18
|
+
Bt984gj: "f122n59",
|
|
19
|
+
sshi5w: "f1nxs5xn",
|
|
20
|
+
B7ck84d: "f1ewtqcl",
|
|
21
|
+
Ijaq50: "f15ws6j",
|
|
22
|
+
Br312pm: "f135tdbu",
|
|
23
|
+
nk6f5a: "f2e2169",
|
|
24
|
+
Bw0ie65: "f4rqp6x",
|
|
25
|
+
Bbmb7ep: ["f1aa9q02", "f16jpd5f"],
|
|
26
|
+
Beyfa6y: ["f16jpd5f", "f1aa9q02"],
|
|
27
|
+
B7oj6ja: ["f1jar5jt", "fyu767a"],
|
|
28
|
+
Btl43ni: ["fyu767a", "f1jar5jt"],
|
|
29
|
+
lj723h: "flvvhsy",
|
|
30
|
+
ecr2s2: "f1wfn5kd",
|
|
31
|
+
qya0sb: "f1ih54s9",
|
|
32
|
+
Bi91k9c: "fnwyq0v",
|
|
33
|
+
Jwef8y: "f1t94bn6",
|
|
34
|
+
Becwuud: "f1jk1nfw"
|
|
35
|
+
},
|
|
36
|
+
leaf: {
|
|
37
|
+
uwmqm3: ["f1k1erfc", "faevyjx"]
|
|
38
|
+
},
|
|
39
|
+
branch: {
|
|
40
|
+
uwmqm3: ["fo100m9", "f6yw3pu"]
|
|
41
|
+
},
|
|
42
|
+
medium: {
|
|
43
|
+
i8kkvl: "f1rjii52",
|
|
44
|
+
Bahqtrf: "fk6fouc",
|
|
45
|
+
Be2twd7: "fkhj508",
|
|
46
|
+
Bhrd7zp: "figsok6",
|
|
47
|
+
Bg96gwp: "f1i3iumi"
|
|
48
|
+
},
|
|
49
|
+
small: {
|
|
50
|
+
i8kkvl: "f1ufnopg",
|
|
51
|
+
sshi5w: "f1pha7fy",
|
|
52
|
+
Bahqtrf: "fk6fouc",
|
|
53
|
+
Be2twd7: "fy9rknc",
|
|
54
|
+
Bhrd7zp: "figsok6",
|
|
55
|
+
Bg96gwp: "fwrc4pm"
|
|
56
|
+
},
|
|
57
|
+
subtle: {},
|
|
58
|
+
"subtle-alpha": {
|
|
59
|
+
Jwef8y: "f146ro5n",
|
|
60
|
+
ecr2s2: "fkam630"
|
|
61
|
+
},
|
|
62
|
+
transparent: {
|
|
63
|
+
De3pzq: "f1c21dwh",
|
|
64
|
+
Jwef8y: "fjxutwb",
|
|
65
|
+
ecr2s2: "fophhak"
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
d: [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f1nxs5xn{min-height:32px;}", ".f1ewtqcl{box-sizing:border-box;}", ".f15ws6j{grid-row-start:layout;}", ".f135tdbu{grid-column-start:layout;}", ".f2e2169{grid-row-end:layout;}", ".f4rqp6x{grid-column-end:layout;}", ".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}", ".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}", ".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}", ".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));}", ".f1rjii52{-webkit-column-gap:var(--spacingHorizontalSNudge);column-gap:var(--spacingHorizontalSNudge);}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f1ufnopg{-webkit-column-gap:var(--spacingHorizontalXS);column-gap:var(--spacingHorizontalXS);}", ".f1pha7fy{min-height:24px;}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".f1c21dwh{background-color:var(--colorTransparentBackground);}"],
|
|
69
|
+
a: [".flvvhsy:active{color:var(--colorNeutralForeground2Pressed);}", ".f1wfn5kd:active{background-color:var(--colorSubtleBackgroundPressed);}", ".f1ih54s9:active .fui-TreeItemLayout__expandIcon{color:var(--colorNeutralForeground3Pressed);}", ".fkam630:active{background-color:var(--colorSubtleBackgroundLightAlphaPressed);}", ".fophhak:active{background-color:var(--colorTransparentBackgroundPressed);}"],
|
|
70
|
+
h: [".fnwyq0v:hover{color:var(--colorNeutralForeground2Hover);}", ".f1t94bn6:hover{background-color:var(--colorSubtleBackgroundHover);}", ".f1jk1nfw:hover .fui-TreeItemLayout__expandIcon{color:var(--colorNeutralForeground3Hover);}", ".f146ro5n:hover{background-color:var(--colorSubtleBackgroundLightAlphaHover);}", ".fjxutwb:hover{background-color:var(--colorTransparentBackgroundHover);}"]
|
|
71
|
+
});
|
|
72
|
+
/**
|
|
73
|
+
* Styles for the expand icon slot
|
|
74
|
+
*/
|
|
75
|
+
const useExpandIconStyles = /*#__PURE__*/__styles({
|
|
76
|
+
base: {
|
|
77
|
+
mc9l5x: "f22iagw",
|
|
78
|
+
Bt984gj: "f122n59",
|
|
79
|
+
Brf1p80: "f4d9j23",
|
|
80
|
+
Bf4jedk: "f17fgpbq",
|
|
81
|
+
B7ck84d: "f1ewtqcl",
|
|
82
|
+
sj55zd: "f11d4kpn",
|
|
83
|
+
Bh6795r: "f1jhi6b8",
|
|
84
|
+
Bnnss6s: "fi64zpg",
|
|
85
|
+
xawz: "f1rmlqtg",
|
|
86
|
+
z8tnut: "f1ywm7hm",
|
|
87
|
+
z189sj: ["fhxju0i", "f1cnd47f"],
|
|
88
|
+
Byoj8tv: "f14wxoun",
|
|
89
|
+
uwmqm3: ["f1cnd47f", "fhxju0i"]
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
d: [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f4d9j23{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}", ".f17fgpbq{min-width:24px;}", ".f1ewtqcl{box-sizing:border-box;}", ".f11d4kpn{color:var(--colorNeutralForeground3);}", ".f1jhi6b8{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;}", ".fi64zpg{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}", ".f1rmlqtg{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;}", ".f1ywm7hm{padding-top:var(--spacingVerticalXS);}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f14wxoun{padding-bottom:var(--spacingVerticalXS);}"]
|
|
93
|
+
});
|
|
94
|
+
/**
|
|
95
|
+
* Styles for the before/after icon slot
|
|
96
|
+
*/
|
|
97
|
+
const useIconStyles = /*#__PURE__*/__styles({
|
|
98
|
+
base: {
|
|
99
|
+
mc9l5x: "f22iagw",
|
|
100
|
+
Bt984gj: "f122n59",
|
|
101
|
+
sj55zd: "fkfq4zb",
|
|
102
|
+
Bg96gwp: "f106mvju",
|
|
103
|
+
Be2twd7: "f1pp30po"
|
|
104
|
+
},
|
|
105
|
+
iconBefore: {},
|
|
106
|
+
iconAfter: {}
|
|
107
|
+
}, {
|
|
108
|
+
d: [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".f106mvju{line-height:var(--lineHeightBase500);}", ".f1pp30po{font-size:var(--fontSizeBase500);}"]
|
|
109
|
+
});
|
|
110
|
+
/**
|
|
111
|
+
* Apply styling to the TreeItemLayout slots based on the state
|
|
112
|
+
*/
|
|
113
|
+
export const useTreeItemLayoutStyles_unstable = state => {
|
|
114
|
+
const {
|
|
115
|
+
iconAfter,
|
|
116
|
+
iconBefore,
|
|
117
|
+
expandIcon,
|
|
118
|
+
root
|
|
119
|
+
} = state;
|
|
120
|
+
const rootStyles = useRootStyles();
|
|
121
|
+
const iconStyles = useIconStyles();
|
|
122
|
+
const expandIconStyles = useExpandIconStyles();
|
|
123
|
+
const size = useTreeContext_unstable(ctx => ctx.size);
|
|
124
|
+
const appearance = useTreeContext_unstable(ctx => ctx.appearance);
|
|
125
|
+
const itemType = useTreeItemContext_unstable(ctx => ctx.itemType);
|
|
126
|
+
root.className = mergeClasses(treeItemLayoutClassNames.root, rootStyles.base, rootStyles[appearance], rootStyles[size], rootStyles[itemType], root.className);
|
|
127
|
+
if (expandIcon) {
|
|
128
|
+
expandIcon.className = mergeClasses(treeItemLayoutClassNames.expandIcon, expandIconStyles.base, expandIcon.className);
|
|
129
|
+
}
|
|
130
|
+
if (iconBefore) {
|
|
131
|
+
iconBefore.className = mergeClasses(treeItemLayoutClassNames.iconBefore, iconStyles.base, iconStyles.iconBefore, iconBefore.className);
|
|
132
|
+
}
|
|
133
|
+
if (iconAfter) {
|
|
134
|
+
iconAfter.className = mergeClasses(treeItemLayoutClassNames.iconAfter, iconStyles.base, iconStyles.iconAfter, iconAfter.className);
|
|
135
|
+
}
|
|
136
|
+
return state;
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=useTreeItemLayoutStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","useTreeContext_unstable","treeItemLevelToken","useTreeItemContext_unstable","treeItemLayoutClassNames","root","expandIcon","iconBefore","iconAfter","useRootStyles","base","mc9l5x","Bt984gj","sshi5w","B7ck84d","Ijaq50","Br312pm","nk6f5a","Bw0ie65","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","lj723h","ecr2s2","qya0sb","Bi91k9c","Jwef8y","Becwuud","leaf","uwmqm3","branch","medium","i8kkvl","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","small","subtle","transparent","De3pzq","d","a","h","useExpandIconStyles","Brf1p80","Bf4jedk","sj55zd","Bh6795r","Bnnss6s","xawz","z8tnut","z189sj","Byoj8tv","useIconStyles","useTreeItemLayoutStyles_unstable","state","rootStyles","iconStyles","expandIconStyles","size","ctx","appearance","itemType","className"],"sources":["../../../src/components/TreeItemLayout/useTreeItemLayoutStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { TreeItemLayoutSlots, TreeItemLayoutState } from './TreeItemLayout.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\nimport { treeItemLevelToken } from '../../utils/tokens';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\n\nexport const treeItemLayoutClassNames: SlotClassNames<TreeItemLayoutSlots> = {\n root: 'fui-TreeItemLayout',\n expandIcon: 'fui-TreeItemLayout__expandIcon',\n iconBefore: 'fui-TreeItemLayout__iconBefore',\n iconAfter: 'fui-TreeItemLayout__iconAfter',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n minHeight: '32px',\n boxSizing: 'border-box',\n ...shorthands.gridArea('layout'),\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n ':active': {\n color: tokens.colorNeutralForeground2Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n // TODO: stop using treeItemClassNames.expandIcon for styling\n [`& .${treeItemLayoutClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n },\n },\n ':hover': {\n color: tokens.colorNeutralForeground2Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n // TODO: stop using treeItemClassNames.expandIcon for styling\n [`& .${treeItemLayoutClassNames.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 medium: {\n columnGap: tokens.spacingHorizontalSNudge,\n ...typographyStyles.body1,\n },\n small: {\n columnGap: tokens.spacingHorizontalXS,\n minHeight: '24px',\n ...typographyStyles.caption1,\n },\n // Appearance variations\n subtle: {},\n 'subtle-alpha': {\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundLightAlphaHover,\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundLightAlphaPressed,\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n },\n ':active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n },\n },\n});\n\n/**\n * Styles for the expand icon slot\n */\nconst 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.flex(0, 0, 'auto'),\n ...shorthands.padding(tokens.spacingVerticalXS, 0),\n },\n});\n\n/**\n * Styles for the before/after icon slot\n */\nconst useIconStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n color: tokens.colorNeutralForeground2,\n lineHeight: tokens.lineHeightBase500,\n fontSize: tokens.fontSizeBase500,\n },\n iconBefore: {},\n iconAfter: {},\n});\n\n/**\n * Apply styling to the TreeItemLayout slots based on the state\n */\nexport const useTreeItemLayoutStyles_unstable = (state: TreeItemLayoutState): TreeItemLayoutState => {\n const { iconAfter, iconBefore, expandIcon, root } = state;\n const rootStyles = useRootStyles();\n const iconStyles = useIconStyles();\n const expandIconStyles = useExpandIconStyles();\n\n const size = useTreeContext_unstable(ctx => ctx.size);\n const appearance = useTreeContext_unstable(ctx => ctx.appearance);\n const itemType = useTreeItemContext_unstable(ctx => ctx.itemType);\n\n root.className = mergeClasses(\n treeItemLayoutClassNames.root,\n rootStyles.base,\n rootStyles[appearance],\n rootStyles[size],\n rootStyles[itemType],\n root.className,\n );\n\n if (expandIcon) {\n expandIcon.className = mergeClasses(\n treeItemLayoutClassNames.expandIcon,\n expandIconStyles.base,\n expandIcon.className,\n );\n }\n\n if (iconBefore) {\n iconBefore.className = mergeClasses(\n treeItemLayoutClassNames.iconBefore,\n iconStyles.base,\n iconStyles.iconBefore,\n iconBefore.className,\n );\n }\n\n if (iconAfter) {\n iconAfter.className = mergeClasses(\n treeItemLayoutClassNames.iconAfter,\n iconStyles.base,\n iconStyles.iconAfter,\n iconAfter.className,\n );\n }\n\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ;AAGrD,SAASC,MAAM,EAAEC,gBAAgB,QAAQ;AACzC,SAASC,uBAAuB,QAAQ;AACxC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,2BAA2B,QAAQ;AAE5C,OAAO,MAAMC,wBAAA,GAAgE;EAC3EC,IAAA,EAAM;EACNC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,SAAA,EAAW;AACb;AAEA;;;AAGA,MAAMC,aAAA,gBAAgBb,QAAA;EAAAc,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAAC,IAAA;IAAAC,MAAA;EAAA;EAAAC,MAAA;IAAAD,MAAA;EAAA;EAAAE,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAC,KAAA;IAAAL,MAAA;IAAApB,MAAA;IAAAqB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAE,MAAA;EAAA;IAAAZ,MAAA;IAAAH,MAAA;EAAA;EAAAgB,WAAA;IAAAC,MAAA;IAAAd,MAAA;IAAAH,MAAA;EAAA;AAAA;EAAAkB,CAAA;EAAAC,CAAA;EAAAC,CAAA;AAAA,EA2DtB;AAEA;;;AAGA,MAAMC,mBAAA,gBAAsBjD,QAAA;EAAAc,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAkC,OAAA;IAAAC,OAAA;IAAAjC,OAAA;IAAAkC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAxB,MAAA;EAAA;AAAA;EAAAY,CAAA;AAAA,EAW5B;AAEA;;;AAGA,MAAMa,aAAA,gBAAgB3D,QAAA;EAAAc,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAoC,MAAA;IAAAX,OAAA;IAAAF,OAAA;EAAA;EAAA5B,UAAA;EAAAC,SAAA;AAAA;EAAAkC,CAAA;AAAA,EAUtB;AAEA;;;AAGA,OAAO,MAAMc,gCAAA,GAAoCC,KAAA,IAAoD;EACnG,MAAM;IAAEjD,SAAA;IAAWD,UAAA;IAAYD,UAAA;IAAYD;EAAI,CAAE,GAAGoD,KAAA;EACpD,MAAMC,UAAA,GAAajD,aAAA;EACnB,MAAMkD,UAAA,GAAaJ,aAAA;EACnB,MAAMK,gBAAA,GAAmBf,mBAAA;EAEzB,MAAMgB,IAAA,GAAO5D,uBAAA,CAAwB6D,GAAA,IAAOA,GAAA,CAAID,IAAI;EACpD,MAAME,UAAA,GAAa9D,uBAAA,CAAwB6D,GAAA,IAAOA,GAAA,CAAIC,UAAU;EAChE,MAAMC,QAAA,GAAW7D,2BAAA,CAA4B2D,GAAA,IAAOA,GAAA,CAAIE,QAAQ;EAEhE3D,IAAA,CAAK4D,SAAS,GAAGpE,YAAA,CACfO,wBAAA,CAAyBC,IAAI,EAC7BqD,UAAA,CAAWhD,IAAI,EACfgD,UAAU,CAACK,UAAA,CAAW,EACtBL,UAAU,CAACG,IAAA,CAAK,EAChBH,UAAU,CAACM,QAAA,CAAS,EACpB3D,IAAA,CAAK4D,SAAS;EAGhB,IAAI3D,UAAA,EAAY;IACdA,UAAA,CAAW2D,SAAS,GAAGpE,YAAA,CACrBO,wBAAA,CAAyBE,UAAU,EACnCsD,gBAAA,CAAiBlD,IAAI,EACrBJ,UAAA,CAAW2D,SAAS;EAExB;EAEA,IAAI1D,UAAA,EAAY;IACdA,UAAA,CAAW0D,SAAS,GAAGpE,YAAA,CACrBO,wBAAA,CAAyBG,UAAU,EACnCoD,UAAA,CAAWjD,IAAI,EACfiD,UAAA,CAAWpD,UAAU,EACrBA,UAAA,CAAW0D,SAAS;EAExB;EAEA,IAAIzD,SAAA,EAAW;IACbA,SAAA,CAAUyD,SAAS,GAAGpE,YAAA,CACpBO,wBAAA,CAAyBI,SAAS,EAClCmD,UAAA,CAAWjD,IAAI,EACfiD,UAAA,CAAWnD,SAAS,EACpBA,SAAA,CAAUyD,SAAS;EAEvB;EAEA,OAAOR,KAAA;AACT"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useTreeItemPersonaLayout_unstable } from './useTreeItemPersonaLayout';
|
|
3
3
|
import { renderTreeItemPersonaLayout_unstable } from './renderTreeItemPersonaLayout';
|
|
4
|
-
import { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles';
|
|
4
|
+
import { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles.styles';
|
|
5
5
|
import { useTreeItemPersonaLayoutContextValues_unstable } from './useTreeItemPersonaLayoutContextValues';
|
|
6
6
|
/**
|
|
7
7
|
* The `TreeItemPersonaLayout` component is used as a child of `TreeItem` to display a `TreeItem` with a media (typically an avatar) and a description.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useTreeItemPersonaLayout_unstable","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayoutContextValues_unstable","TreeItemPersonaLayout","forwardRef","props","ref","state","contextValues","displayName"],"sources":["../../../src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemPersonaLayout_unstable } from './useTreeItemPersonaLayout';\nimport { renderTreeItemPersonaLayout_unstable } from './renderTreeItemPersonaLayout';\nimport { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles';\nimport type { TreeItemPersonaLayoutProps } from './TreeItemPersonaLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeItemPersonaLayoutContextValues_unstable } from './useTreeItemPersonaLayoutContextValues';\n\n/**\n * The `TreeItemPersonaLayout` component is used as a child of `TreeItem` to display a `TreeItem` with a media (typically an avatar) and a description.\n * It provides a more visually appealing representation of a `TreeItem` and is typically used to display a list of people or topics.\n * This component should only be used as a direct child of `TreeItem`.\n */\nexport const TreeItemPersonaLayout: ForwardRefComponent<TreeItemPersonaLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemPersonaLayout_unstable(props, ref);\n\n useTreeItemPersonaLayoutStyles_unstable(state);\n\n const contextValues = useTreeItemPersonaLayoutContextValues_unstable(state);\n\n return renderTreeItemPersonaLayout_unstable(state, contextValues);\n});\n\nTreeItemPersonaLayout.displayName = 'TreeItemPersonaLayout';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,iCAAiC,QAAQ;AAClD,SAASC,oCAAoC,QAAQ;AACrD,SAASC,uCAAuC,QAAQ;AAGxD,SAASC,8CAA8C,QAAQ;AAE/D;;;;;AAKA,OAAO,MAAMC,qBAAA,gBAAyEL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACrH,MAAMC,KAAA,GAAQR,iCAAA,CAAkCM,KAAA,EAAOC,GAAA;EAEvDL,uCAAA,CAAwCM,KAAA;EAExC,MAAMC,aAAA,GAAgBN,8CAAA,CAA+CK,KAAA;EAErE,OAAOP,oCAAA,CAAqCO,KAAA,EAAOC,aAAA;AACrD;AAEAL,qBAAA,CAAsBM,WAAW,GAAG"}
|
|
1
|
+
{"version":3,"names":["React","useTreeItemPersonaLayout_unstable","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayoutContextValues_unstable","TreeItemPersonaLayout","forwardRef","props","ref","state","contextValues","displayName"],"sources":["../../../src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemPersonaLayout_unstable } from './useTreeItemPersonaLayout';\nimport { renderTreeItemPersonaLayout_unstable } from './renderTreeItemPersonaLayout';\nimport { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles.styles';\nimport type { TreeItemPersonaLayoutProps } from './TreeItemPersonaLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeItemPersonaLayoutContextValues_unstable } from './useTreeItemPersonaLayoutContextValues';\n\n/**\n * The `TreeItemPersonaLayout` component is used as a child of `TreeItem` to display a `TreeItem` with a media (typically an avatar) and a description.\n * It provides a more visually appealing representation of a `TreeItem` and is typically used to display a list of people or topics.\n * This component should only be used as a direct child of `TreeItem`.\n */\nexport const TreeItemPersonaLayout: ForwardRefComponent<TreeItemPersonaLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemPersonaLayout_unstable(props, ref);\n\n useTreeItemPersonaLayoutStyles_unstable(state);\n\n const contextValues = useTreeItemPersonaLayoutContextValues_unstable(state);\n\n return renderTreeItemPersonaLayout_unstable(state, contextValues);\n});\n\nTreeItemPersonaLayout.displayName = 'TreeItemPersonaLayout';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,iCAAiC,QAAQ;AAClD,SAASC,oCAAoC,QAAQ;AACrD,SAASC,uCAAuC,QAAQ;AAGxD,SAASC,8CAA8C,QAAQ;AAE/D;;;;;AAKA,OAAO,MAAMC,qBAAA,gBAAyEL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACrH,MAAMC,KAAA,GAAQR,iCAAA,CAAkCM,KAAA,EAAOC,GAAA;EAEvDL,uCAAA,CAAwCM,KAAA;EAExC,MAAMC,aAAA,GAAgBN,8CAAA,CAA+CK,KAAA;EAErE,OAAOP,oCAAA,CAAqCO,KAAA,EAAOC,aAAA;AACrD;AAEAL,qBAAA,CAAsBM,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AvatarContextValue, AvatarSize } from '@fluentui/react-avatar';\
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AvatarContextValue, AvatarSize } from '@fluentui/react-avatar';\n\nexport type TreeItemPersonaLayoutContextValues = {\n avatar: AvatarContextValue;\n};\n\nexport type TreeItemPersonaLayoutSlots = {\n root: NonNullable<Slot<'div'>>;\n /**\n * Expand icon slot,\n * by default renders a chevron icon to indicate opening and closing\n */\n expandIcon?: Slot<'div'>;\n /**\n * Avatar to display.\n */\n media: NonNullable<Slot<'div'>>;\n /**\n * Main text. Children of the root slot are automatically rendered here\n */\n main: NonNullable<Slot<'div'>>;\n /**\n * Secondary text that describes or complements the main text\n */\n description?: Slot<'div'>;\n /**\n * A layout wrapper for the main and description slots\n */\n content: NonNullable<Slot<'div'>>;\n};\n\n/**\n * TreeItemPersonaLayout Props\n */\nexport type TreeItemPersonaLayoutProps = ComponentProps<Partial<TreeItemPersonaLayoutSlots>>;\n\n/**\n * State used in rendering TreeItemPersonaLayout\n */\nexport type TreeItemPersonaLayoutState = ComponentState<TreeItemPersonaLayoutSlots> & {\n avatarSize: AvatarSize;\n};\n"],"mappings":"AAAA"}
|
|
@@ -2,5 +2,5 @@ export * from './TreeItemPersonaLayout';
|
|
|
2
2
|
export * from './TreeItemPersonaLayout.types';
|
|
3
3
|
export * from './renderTreeItemPersonaLayout';
|
|
4
4
|
export * from './useTreeItemPersonaLayout';
|
|
5
|
-
export * from './useTreeItemPersonaLayoutStyles';
|
|
5
|
+
export * from './useTreeItemPersonaLayoutStyles.styles';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/components/TreeItemPersonaLayout/index.ts"],"sourcesContent":["export * from './TreeItemPersonaLayout';\nexport * from './TreeItemPersonaLayout.types';\nexport * from './renderTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayoutStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/TreeItemPersonaLayout/index.ts"],"sourcesContent":["export * from './TreeItemPersonaLayout';\nexport * from './TreeItemPersonaLayout.types';\nexport * from './renderTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayoutStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
@@ -5,15 +5,12 @@ import { AvatarContextProvider } from '@fluentui/react-avatar';
|
|
|
5
5
|
* Render the final JSX of TreeItemPersonaLayout
|
|
6
6
|
*/
|
|
7
7
|
export const renderTreeItemPersonaLayout_unstable = (state, contextValues) => {
|
|
8
|
-
const {
|
|
9
|
-
isActionsVisible
|
|
10
|
-
} = state;
|
|
11
8
|
const {
|
|
12
9
|
slots,
|
|
13
10
|
slotProps
|
|
14
11
|
} = getSlotsNext(state);
|
|
15
|
-
return /*#__PURE__*/createElement(slots.root, slotProps.root, slots.
|
|
12
|
+
return /*#__PURE__*/createElement(slots.root, slotProps.root, slots.expandIcon && /*#__PURE__*/createElement(slots.expandIcon, slotProps.expandIcon), /*#__PURE__*/createElement(AvatarContextProvider, {
|
|
16
13
|
value: contextValues.avatar
|
|
17
|
-
}, /*#__PURE__*/createElement(slots.media, slotProps.media)),
|
|
14
|
+
}, /*#__PURE__*/createElement(slots.media, slotProps.media)), /*#__PURE__*/createElement(slots.content, slotProps.content, /*#__PURE__*/createElement(slots.main, slotProps.main), slots.description && /*#__PURE__*/createElement(slots.description, slotProps.description)));
|
|
18
15
|
};
|
|
19
16
|
//# sourceMappingURL=renderTreeItemPersonaLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createElement","getSlotsNext","AvatarContextProvider","renderTreeItemPersonaLayout_unstable","state","contextValues","
|
|
1
|
+
{"version":3,"names":["createElement","getSlotsNext","AvatarContextProvider","renderTreeItemPersonaLayout_unstable","state","contextValues","slots","slotProps","root","expandIcon","value","avatar","media","content","main","description"],"sources":["../../../src/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport type {\n TreeItemPersonaLayoutState,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutContextValues,\n} from './TreeItemPersonaLayout.types';\nimport { AvatarContextProvider } from '@fluentui/react-avatar';\n\n/**\n * Render the final JSX of TreeItemPersonaLayout\n */\nexport const renderTreeItemPersonaLayout_unstable = (\n state: TreeItemPersonaLayoutState,\n contextValues: TreeItemPersonaLayoutContextValues,\n) => {\n const { slots, slotProps } = getSlotsNext<TreeItemPersonaLayoutSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.expandIcon && <slots.expandIcon {...slotProps.expandIcon} />}\n <AvatarContextProvider value={contextValues.avatar}>\n <slots.media {...slotProps.media} />\n </AvatarContextProvider>\n <slots.content {...slotProps.content}>\n <slots.main {...slotProps.main} />\n {slots.description && <slots.description {...slotProps.description} />}\n </slots.content>\n </slots.root>\n );\n};\n"],"mappings":"AAAA,2BACA,yBAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAM7B,SAASC,qBAAqB,QAAQ;AAEtC;;;AAGA,OAAO,MAAMC,oCAAA,GAAuCA,CAClDC,KAAA,EACAC,aAAA,KACG;EACH,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGN,YAAA,CAAyCG,KAAA;EAEtE,oBACEJ,aArBJ,CAqBKM,KAAA,CAAME,IAAI,EAAKD,SAAA,CAAUC,IAAI,EAC3BF,KAAA,CAAMG,UAAU,iBAAIT,aAtB3B,CAsB4BM,KAAA,CAAMG,UAAU,EAAKF,SAAA,CAAUE,UAAU,gBAC/DT,aAvBN,CAuBOE,qBAAA;IAAsBQ,KAAA,EAAOL,aAAA,CAAcM;kBAC1CX,aAxBR,CAwBSM,KAAA,CAAMM,KAAK,EAAKL,SAAA,CAAUK,KAAK,iBAElCZ,aA1BN,CA0BOM,KAAA,CAAMO,OAAO,EAAKN,SAAA,CAAUM,OAAO,eAClCb,aA3BR,CA2BSM,KAAA,CAAMQ,IAAI,EAAKP,SAAA,CAAUO,IAAI,GAC7BR,KAAA,CAAMS,WAAW,iBAAIf,aA5B9B,CA4B+BM,KAAA,CAAMS,WAAW,EAAKR,SAAA,CAAUQ,WAAW;AAI1E"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { useTreeContext_unstable
|
|
2
|
+
import { resolveShorthand } from '@fluentui/react-utilities';
|
|
3
|
+
import { useTreeContext_unstable } from '../../contexts';
|
|
4
4
|
import { treeAvatarSize } from '../../utils/tokens';
|
|
5
|
+
import { useTreeItemLayout_unstable } from '../TreeItemLayout/useTreeItemLayout';
|
|
5
6
|
/**
|
|
6
7
|
* Create the state required to render TreeItemPersonaLayout.
|
|
7
8
|
*
|
|
@@ -17,29 +18,25 @@ export const useTreeItemPersonaLayout_unstable = (props, ref) => {
|
|
|
17
18
|
content,
|
|
18
19
|
children,
|
|
19
20
|
main,
|
|
20
|
-
description
|
|
21
|
-
aside,
|
|
22
|
-
as = 'span'
|
|
21
|
+
description
|
|
23
22
|
} = props;
|
|
23
|
+
const treeItemLayoutState = useTreeItemLayout_unstable({
|
|
24
|
+
...props,
|
|
25
|
+
iconBefore: null,
|
|
26
|
+
iconAfter: null
|
|
27
|
+
}, ref);
|
|
24
28
|
const size = useTreeContext_unstable(ctx => ctx.size);
|
|
25
|
-
const {
|
|
26
|
-
isActionsVisible
|
|
27
|
-
} = useTreeItemContext_unstable();
|
|
28
29
|
return {
|
|
30
|
+
...treeItemLayoutState,
|
|
29
31
|
components: {
|
|
32
|
+
expandIcon: 'div',
|
|
30
33
|
content: 'div',
|
|
31
|
-
main: '
|
|
32
|
-
description: '
|
|
33
|
-
root: '
|
|
34
|
-
media: '
|
|
35
|
-
aside: 'span'
|
|
34
|
+
main: 'div',
|
|
35
|
+
description: 'div',
|
|
36
|
+
root: 'div',
|
|
37
|
+
media: 'div'
|
|
36
38
|
},
|
|
37
|
-
isActionsVisible,
|
|
38
39
|
avatarSize: treeAvatarSize[size],
|
|
39
|
-
root: getNativeElementProps(as, {
|
|
40
|
-
...props,
|
|
41
|
-
ref
|
|
42
|
-
}),
|
|
43
40
|
main: resolveShorthand(main, {
|
|
44
41
|
required: true,
|
|
45
42
|
defaultProps: {
|
|
@@ -52,8 +49,7 @@ export const useTreeItemPersonaLayout_unstable = (props, ref) => {
|
|
|
52
49
|
content: resolveShorthand(content, {
|
|
53
50
|
required: true
|
|
54
51
|
}),
|
|
55
|
-
description: resolveShorthand(description)
|
|
56
|
-
aside: resolveShorthand(aside)
|
|
52
|
+
description: resolveShorthand(description)
|
|
57
53
|
};
|
|
58
54
|
};
|
|
59
55
|
//# sourceMappingURL=useTreeItemPersonaLayout.js.map
|