@fluentui/react-tree 9.4.9 → 9.4.11

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.
Files changed (28) hide show
  1. package/CHANGELOG.json +31 -1
  2. package/CHANGELOG.md +20 -2
  3. package/dist/index.d.ts +7 -0
  4. package/lib/components/FlatTree/useFlatTree.js +4 -17
  5. package/lib/components/FlatTree/useFlatTree.js.map +1 -1
  6. package/lib/components/Tree/useTree.js +9 -4
  7. package/lib/components/Tree/useTree.js.map +1 -1
  8. package/lib/components/TreeItem/useTreeItem.js +9 -46
  9. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  10. package/lib/components/TreeItem/useTreeItemContextValues.js +4 -1
  11. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  12. package/lib/components/TreeItemLayout/useTreeItemLayout.js +84 -6
  13. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  14. package/lib/contexts/treeItemContext.js +1 -0
  15. package/lib/contexts/treeItemContext.js.map +1 -1
  16. package/lib-commonjs/components/FlatTree/useFlatTree.js +3 -16
  17. package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -1
  18. package/lib-commonjs/components/Tree/useTree.js +9 -4
  19. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  20. package/lib-commonjs/components/TreeItem/useTreeItem.js +8 -45
  21. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  22. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +2 -1
  23. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  24. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +83 -5
  25. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  26. package/lib-commonjs/contexts/treeItemContext.js +1 -0
  27. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  28. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["useTreeItemLayout.js"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, isResolvedShorthand, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { useTreeItemContext_unstable, useTreeContext_unstable } from '../../contexts';\nimport { Checkbox } from '@fluentui/react-checkbox';\nimport { Radio } from '@fluentui/react-radio';\nimport { TreeItemChevron } from '../TreeItemChevron';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\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 */ export const useTreeItemLayout_unstable = (props, ref)=>{\n const { main, iconAfter, iconBefore } = props;\n const layoutRef = useTreeItemContext_unstable((ctx)=>ctx.layoutRef);\n const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);\n const [isActionsVisibleExternal, actionsShorthand] = isResolvedShorthand(props.actions) ? [\n props.actions.visible,\n {\n ...props.actions,\n visible: undefined\n }\n ] : [\n undefined,\n props.actions\n ];\n const isActionsVisible = useTreeItemContext_unstable((ctx)=>ctx.isActionsVisible) || isActionsVisibleExternal;\n const isAsideVisible = useTreeItemContext_unstable((ctx)=>ctx.isAsideVisible);\n const selectionRef = useTreeItemContext_unstable((ctx)=>ctx.selectionRef);\n const expandIconRef = useTreeItemContext_unstable((ctx)=>ctx.expandIconRef);\n const actionsRef = useTreeItemContext_unstable((ctx)=>ctx.actionsRef);\n const checked = useTreeItemContext_unstable((ctx)=>ctx.checked);\n const isBranch = useTreeItemContext_unstable((ctx)=>ctx.itemType === 'branch');\n const expandIcon = slot.optional(props.expandIcon, {\n renderByDefault: isBranch,\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(TreeItemChevron, null),\n 'aria-hidden': true\n },\n elementType: 'div'\n });\n const expandIconRefs = useMergedRefs(expandIcon === null || expandIcon === void 0 ? void 0 : expandIcon.ref, expandIconRef);\n if (expandIcon) {\n expandIcon.ref = expandIconRefs;\n }\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: true,\n axis: 'horizontal'\n });\n const actions = isActionsVisible ? slot.optional(actionsShorthand, {\n defaultProps: {\n ...arrowNavigationProps,\n role: 'toolbar'\n },\n elementType: 'div'\n }) : undefined;\n const actionsRefs = useMergedRefs(actions === null || actions === void 0 ? void 0 : actions.ref, actionsRef);\n if (actions) {\n actions.ref = actionsRefs;\n }\n return {\n components: {\n root: 'div',\n expandIcon: 'div',\n iconBefore: 'div',\n main: 'div',\n iconAfter: 'div',\n actions: 'div',\n aside: 'div',\n // Casting here to a union between checkbox and radio\n selector: selectionMode === 'multiselect' ? Checkbox : Radio\n },\n buttonContextValue: {\n size: 'small'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ...props,\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, layoutRef)\n }), {\n elementType: 'div'\n }),\n iconBefore: slot.optional(iconBefore, {\n defaultProps: {\n 'aria-hidden': true\n },\n elementType: 'div'\n }),\n main: slot.always(main, {\n elementType: 'div'\n }),\n iconAfter: slot.optional(iconAfter, {\n defaultProps: {\n 'aria-hidden': true\n },\n elementType: 'div'\n }),\n aside: isAsideVisible ? slot.optional(props.aside, {\n defaultProps: {\n 'aria-hidden': true\n },\n elementType: 'div'\n }) : undefined,\n actions,\n expandIcon,\n selector: slot.optional(props.selector, {\n renderByDefault: selectionMode !== 'none',\n defaultProps: {\n checked,\n tabIndex: -1,\n 'aria-hidden': true,\n ref: selectionRef\n },\n elementType: selectionMode === 'multiselect' ? Checkbox : Radio\n })\n };\n};\n"],"names":["useTreeItemLayout_unstable","props","ref","main","iconAfter","iconBefore","layoutRef","useTreeItemContext_unstable","ctx","selectionMode","useTreeContext_unstable","isActionsVisibleExternal","actionsShorthand","isResolvedShorthand","actions","visible","undefined","isActionsVisible","isAsideVisible","selectionRef","expandIconRef","actionsRef","checked","isBranch","itemType","expandIcon","slot","optional","renderByDefault","defaultProps","children","React","createElement","TreeItemChevron","elementType","expandIconRefs","useMergedRefs","arrowNavigationProps","useArrowNavigationGroup","circular","axis","role","actionsRefs","components","root","aside","selector","Checkbox","Radio","buttonContextValue","size","always","getIntrinsicElementProps","tabIndex"],"mappings":"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"}
1
+ {"version":3,"sources":["useTreeItemLayout.js"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, isResolvedShorthand, useMergedRefs, slot, useEventCallback, elementContains, useControllableState } from '@fluentui/react-utilities';\nimport { useTreeItemContext_unstable, useTreeContext_unstable } from '../../contexts';\nimport { Checkbox } from '@fluentui/react-checkbox';\nimport { Radio } from '@fluentui/react-radio';\nimport { TreeItemChevron } from '../TreeItemChevron';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\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 */ export const useTreeItemLayout_unstable = (props, ref)=>{\n const { main, iconAfter, iconBefore } = props;\n const layoutRef = useTreeItemContext_unstable((ctx)=>ctx.layoutRef);\n const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);\n const [isActionsVisibleFromProps, actionsShorthand] = isResolvedShorthand(props.actions) ? [\n props.actions.visible,\n {\n ...props.actions,\n visible: undefined\n }\n ] : [\n undefined,\n props.actions\n ];\n const [isActionsVisible, setIsActionsVisible] = useControllableState({\n state: isActionsVisibleFromProps,\n initialState: false\n });\n const selectionRef = useTreeItemContext_unstable((ctx)=>ctx.selectionRef);\n const expandIconRef = useTreeItemContext_unstable((ctx)=>ctx.expandIconRef);\n const actionsRef = useTreeItemContext_unstable((ctx)=>ctx.actionsRef);\n const actionsRefInternal = React.useRef(null);\n const treeItemRef = useTreeItemContext_unstable((ctx)=>ctx.treeItemRef);\n const subtreeRef = useTreeItemContext_unstable((ctx)=>ctx.subtreeRef);\n const checked = useTreeItemContext_unstable((ctx)=>ctx.checked);\n const isBranch = useTreeItemContext_unstable((ctx)=>ctx.itemType === 'branch');\n // FIXME: Asserting is required here, as converting this to RefObject on context type would be a breaking change\n assertIsRefObject(treeItemRef);\n // FIXME: Asserting is required here, as converting this to RefObject on context type would be a breaking change\n assertIsRefObject(subtreeRef);\n const setActionsVisibleIfNotFromSubtree = React.useCallback((event)=>{\n const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));\n if (!isTargetFromSubtree) {\n setIsActionsVisible(true);\n }\n }, [\n subtreeRef,\n setIsActionsVisible\n ]);\n const setActionsInvisibleIfNotFromSubtree = React.useCallback((event)=>{\n const isRelatedTargetFromActions = Boolean(actionsRefInternal.current && elementContains(actionsRefInternal.current, event.relatedTarget));\n if (isRelatedTargetFromActions) {\n setIsActionsVisible(true);\n return;\n }\n const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));\n if (!isTargetFromSubtree) {\n setIsActionsVisible(false);\n return;\n }\n }, [\n subtreeRef,\n setIsActionsVisible\n ]);\n const expandIcon = slot.optional(props.expandIcon, {\n renderByDefault: isBranch,\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(TreeItemChevron, null),\n 'aria-hidden': true\n },\n elementType: 'div'\n });\n const expandIconRefs = useMergedRefs(expandIcon === null || expandIcon === void 0 ? void 0 : expandIcon.ref, expandIconRef);\n if (expandIcon) {\n expandIcon.ref = expandIconRefs;\n }\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: true,\n axis: 'horizontal'\n });\n const actions = isActionsVisible ? slot.optional(actionsShorthand, {\n defaultProps: {\n ...arrowNavigationProps,\n role: 'toolbar'\n },\n elementType: 'div'\n }) : undefined;\n const actionsRefs = useMergedRefs(actions === null || actions === void 0 ? void 0 : actions.ref, actionsRef, actionsRefInternal);\n const handleActionsBlur = useEventCallback((event)=>{\n if (isResolvedShorthand(actionsShorthand)) {\n var _actionsShorthand_onBlur;\n (_actionsShorthand_onBlur = actionsShorthand.onBlur) === null || _actionsShorthand_onBlur === void 0 ? void 0 : _actionsShorthand_onBlur.call(actionsShorthand, event);\n }\n const isRelatedTargetFromActions = Boolean(elementContains(event.currentTarget, event.relatedTarget));\n setIsActionsVisible(isRelatedTargetFromActions);\n });\n if (actions) {\n actions.ref = actionsRefs;\n actions.onBlur = handleActionsBlur;\n }\n const hasActions = Boolean(actionsShorthand);\n React.useEffect(()=>{\n if (treeItemRef.current && hasActions && isActionsVisibleFromProps === undefined) {\n const treeItemElement = treeItemRef.current;\n const handleMouseOver = setActionsVisibleIfNotFromSubtree;\n const handleMouseOut = setActionsInvisibleIfNotFromSubtree;\n const handleFocus = setActionsVisibleIfNotFromSubtree;\n const handleBlur = setActionsInvisibleIfNotFromSubtree;\n treeItemElement.addEventListener('mouseover', handleMouseOver);\n treeItemElement.addEventListener('mouseout', handleMouseOut);\n treeItemElement.addEventListener('focus', handleFocus);\n treeItemElement.addEventListener('blur', handleBlur);\n return ()=>{\n treeItemElement.removeEventListener('mouseover', handleMouseOver);\n treeItemElement.removeEventListener('mouseout', handleMouseOut);\n treeItemElement.removeEventListener('focus', handleFocus);\n treeItemElement.removeEventListener('blur', handleBlur);\n };\n }\n }, [\n hasActions,\n treeItemRef,\n isActionsVisibleFromProps,\n setActionsVisibleIfNotFromSubtree,\n setActionsInvisibleIfNotFromSubtree\n ]);\n return {\n components: {\n root: 'div',\n expandIcon: 'div',\n iconBefore: 'div',\n main: 'div',\n iconAfter: 'div',\n actions: 'div',\n aside: 'div',\n // Casting here to a union between checkbox and radio\n selector: selectionMode === 'multiselect' ? Checkbox : Radio\n },\n buttonContextValue: {\n size: 'small'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ...props,\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, layoutRef)\n }), {\n elementType: 'div'\n }),\n iconBefore: slot.optional(iconBefore, {\n defaultProps: {\n 'aria-hidden': true\n },\n elementType: 'div'\n }),\n main: slot.always(main, {\n elementType: 'div'\n }),\n iconAfter: slot.optional(iconAfter, {\n defaultProps: {\n 'aria-hidden': true\n },\n elementType: 'div'\n }),\n aside: !isActionsVisible ? slot.optional(props.aside, {\n defaultProps: {\n 'aria-hidden': true\n },\n elementType: 'div'\n }) : undefined,\n actions,\n expandIcon,\n selector: slot.optional(props.selector, {\n renderByDefault: selectionMode !== 'none',\n defaultProps: {\n checked,\n tabIndex: -1,\n 'aria-hidden': true,\n ref: selectionRef\n },\n elementType: selectionMode === 'multiselect' ? Checkbox : Radio\n })\n };\n};\nfunction assertIsRefObject(ref) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof ref !== 'object' || ref === null || !('current' in ref)) {\n throw new Error(`\n @fluentui/react-tree [${useTreeItemLayout_unstable.name}]:\n Internal Error: contextual ref is not a RefObject! Please report this bug immediately, as contextual refs should be RefObjects.\n `);\n }\n }\n}\n"],"names":["useTreeItemLayout_unstable","props","ref","main","iconAfter","iconBefore","layoutRef","useTreeItemContext_unstable","ctx","selectionMode","useTreeContext_unstable","isActionsVisibleFromProps","actionsShorthand","isResolvedShorthand","actions","visible","undefined","isActionsVisible","setIsActionsVisible","useControllableState","state","initialState","selectionRef","expandIconRef","actionsRef","actionsRefInternal","React","useRef","treeItemRef","subtreeRef","checked","isBranch","itemType","assertIsRefObject","setActionsVisibleIfNotFromSubtree","useCallback","event","isTargetFromSubtree","Boolean","current","elementContains","target","setActionsInvisibleIfNotFromSubtree","isRelatedTargetFromActions","relatedTarget","expandIcon","slot","optional","renderByDefault","defaultProps","children","createElement","TreeItemChevron","elementType","expandIconRefs","useMergedRefs","arrowNavigationProps","useArrowNavigationGroup","circular","axis","role","actionsRefs","handleActionsBlur","useEventCallback","_actionsShorthand_onBlur","onBlur","call","currentTarget","hasActions","useEffect","treeItemElement","handleMouseOver","handleMouseOut","handleFocus","handleBlur","addEventListener","removeEventListener","components","root","aside","selector","Checkbox","Radio","buttonContextValue","size","always","getIntrinsicElementProps","tabIndex","process","env","NODE_ENV","Error","name"],"mappings":";;;;+BAeiBA;;;eAAAA;;;;iEAfM;gCACqH;0BACvE;+BAC5C;4BACH;iCACU;8BACQ;AAS7B,MAAMA,6BAA6B,CAACC,OAAOC;IAClD,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,UAAU,EAAE,GAAGJ;IACxC,MAAMK,YAAYC,IAAAA,qCAA2B,EAAC,CAACC,MAAMA,IAAIF,SAAS;IAClE,MAAMG,gBAAgBC,IAAAA,iCAAuB,EAAC,CAACF,MAAMA,IAAIC,aAAa;IACtE,MAAM,CAACE,2BAA2BC,iBAAiB,GAAGC,IAAAA,mCAAmB,EAACZ,MAAMa,OAAO,IAAI;QACvFb,MAAMa,OAAO,CAACC,OAAO;QACrB;YACI,GAAGd,MAAMa,OAAO;YAChBC,SAASC;QACb;KACH,GAAG;QACAA;QACAf,MAAMa,OAAO;KAChB;IACD,MAAM,CAACG,kBAAkBC,oBAAoB,GAAGC,IAAAA,oCAAoB,EAAC;QACjEC,OAAOT;QACPU,cAAc;IAClB;IACA,MAAMC,eAAef,IAAAA,qCAA2B,EAAC,CAACC,MAAMA,IAAIc,YAAY;IACxE,MAAMC,gBAAgBhB,IAAAA,qCAA2B,EAAC,CAACC,MAAMA,IAAIe,aAAa;IAC1E,MAAMC,aAAajB,IAAAA,qCAA2B,EAAC,CAACC,MAAMA,IAAIgB,UAAU;IACpE,MAAMC,qBAAqBC,OAAMC,MAAM,CAAC;IACxC,MAAMC,cAAcrB,IAAAA,qCAA2B,EAAC,CAACC,MAAMA,IAAIoB,WAAW;IACtE,MAAMC,aAAatB,IAAAA,qCAA2B,EAAC,CAACC,MAAMA,IAAIqB,UAAU;IACpE,MAAMC,UAAUvB,IAAAA,qCAA2B,EAAC,CAACC,MAAMA,IAAIsB,OAAO;IAC9D,MAAMC,WAAWxB,IAAAA,qCAA2B,EAAC,CAACC,MAAMA,IAAIwB,QAAQ,KAAK;IACrE,gHAAgH;IAChHC,kBAAkBL;IAClB,gHAAgH;IAChHK,kBAAkBJ;IAClB,MAAMK,oCAAoCR,OAAMS,WAAW,CAAC,CAACC;QACzD,MAAMC,sBAAsBC,QAAQT,WAAWU,OAAO,IAAIC,IAAAA,+BAAe,EAACX,WAAWU,OAAO,EAAEH,MAAMK,MAAM;QAC1G,IAAI,CAACJ,qBAAqB;YACtBnB,oBAAoB;QACxB;IACJ,GAAG;QACCW;QACAX;KACH;IACD,MAAMwB,sCAAsChB,OAAMS,WAAW,CAAC,CAACC;QAC3D,MAAMO,6BAA6BL,QAAQb,mBAAmBc,OAAO,IAAIC,IAAAA,+BAAe,EAACf,mBAAmBc,OAAO,EAAEH,MAAMQ,aAAa;QACxI,IAAID,4BAA4B;YAC5BzB,oBAAoB;YACpB;QACJ;QACA,MAAMmB,sBAAsBC,QAAQT,WAAWU,OAAO,IAAIC,IAAAA,+BAAe,EAACX,WAAWU,OAAO,EAAEH,MAAMK,MAAM;QAC1G,IAAI,CAACJ,qBAAqB;YACtBnB,oBAAoB;YACpB;QACJ;IACJ,GAAG;QACCW;QACAX;KACH;IACD,MAAM2B,aAAaC,oBAAI,CAACC,QAAQ,CAAC9C,MAAM4C,UAAU,EAAE;QAC/CG,iBAAiBjB;QACjBkB,cAAc;YACVC,UAAU,WAAW,GAAGxB,OAAMyB,aAAa,CAACC,gCAAe,EAAE;YAC7D,eAAe;QACnB;QACAC,aAAa;IACjB;IACA,MAAMC,iBAAiBC,IAAAA,6BAAa,EAACV,eAAe,QAAQA,eAAe,KAAK,IAAI,KAAK,IAAIA,WAAW3C,GAAG,EAAEqB;IAC7G,IAAIsB,YAAY;QACZA,WAAW3C,GAAG,GAAGoD;IACrB;IACA,MAAME,uBAAuBC,IAAAA,qCAAuB,EAAC;QACjDC,UAAU;QACVC,MAAM;IACV;IACA,MAAM7C,UAAUG,mBAAmB6B,oBAAI,CAACC,QAAQ,CAACnC,kBAAkB;QAC/DqC,cAAc;YACV,GAAGO,oBAAoB;YACvBI,MAAM;QACV;QACAP,aAAa;IACjB,KAAKrC;IACL,MAAM6C,cAAcN,IAAAA,6BAAa,EAACzC,YAAY,QAAQA,YAAY,KAAK,IAAI,KAAK,IAAIA,QAAQZ,GAAG,EAAEsB,YAAYC;IAC7G,MAAMqC,oBAAoBC,IAAAA,gCAAgB,EAAC,CAAC3B;QACxC,IAAIvB,IAAAA,mCAAmB,EAACD,mBAAmB;YACvC,IAAIoD;YACHA,CAAAA,2BAA2BpD,iBAAiBqD,MAAM,AAAD,MAAO,QAAQD,6BAA6B,KAAK,IAAI,KAAK,IAAIA,yBAAyBE,IAAI,CAACtD,kBAAkBwB;QACpK;QACA,MAAMO,6BAA6BL,QAAQE,IAAAA,+BAAe,EAACJ,MAAM+B,aAAa,EAAE/B,MAAMQ,aAAa;QACnG1B,oBAAoByB;IACxB;IACA,IAAI7B,SAAS;QACTA,QAAQZ,GAAG,GAAG2D;QACd/C,QAAQmD,MAAM,GAAGH;IACrB;IACA,MAAMM,aAAa9B,QAAQ1B;IAC3Bc,OAAM2C,SAAS,CAAC;QACZ,IAAIzC,YAAYW,OAAO,IAAI6B,cAAczD,8BAA8BK,WAAW;YAC9E,MAAMsD,kBAAkB1C,YAAYW,OAAO;YAC3C,MAAMgC,kBAAkBrC;YACxB,MAAMsC,iBAAiB9B;YACvB,MAAM+B,cAAcvC;YACpB,MAAMwC,aAAahC;YACnB4B,gBAAgBK,gBAAgB,CAAC,aAAaJ;YAC9CD,gBAAgBK,gBAAgB,CAAC,YAAYH;YAC7CF,gBAAgBK,gBAAgB,CAAC,SAASF;YAC1CH,gBAAgBK,gBAAgB,CAAC,QAAQD;YACzC,OAAO;gBACHJ,gBAAgBM,mBAAmB,CAAC,aAAaL;gBACjDD,gBAAgBM,mBAAmB,CAAC,YAAYJ;gBAChDF,gBAAgBM,mBAAmB,CAAC,SAASH;gBAC7CH,gBAAgBM,mBAAmB,CAAC,QAAQF;YAChD;QACJ;IACJ,GAAG;QACCN;QACAxC;QACAjB;QACAuB;QACAQ;KACH;IACD,OAAO;QACHmC,YAAY;YACRC,MAAM;YACNjC,YAAY;YACZxC,YAAY;YACZF,MAAM;YACNC,WAAW;YACXU,SAAS;YACTiE,OAAO;YACP,qDAAqD;YACrDC,UAAUvE,kBAAkB,gBAAgBwE,uBAAQ,GAAGC,iBAAK;QAChE;QACAC,oBAAoB;YAChBC,MAAM;QACV;QACAN,MAAMhC,oBAAI,CAACuC,MAAM,CAACC,IAAAA,wCAAwB,EAAC,OAAO;YAC9C,GAAGrF,KAAK;YACR,SAAS;YACT,4EAA4E;YAC5E,4FAA4F;YAC5FC,KAAKqD,IAAAA,6BAAa,EAACrD,KAAKI;QAC5B,IAAI;YACA+C,aAAa;QACjB;QACAhD,YAAYyC,oBAAI,CAACC,QAAQ,CAAC1C,YAAY;YAClC4C,cAAc;gBACV,eAAe;YACnB;YACAI,aAAa;QACjB;QACAlD,MAAM2C,oBAAI,CAACuC,MAAM,CAAClF,MAAM;YACpBkD,aAAa;QACjB;QACAjD,WAAW0C,oBAAI,CAACC,QAAQ,CAAC3C,WAAW;YAChC6C,cAAc;gBACV,eAAe;YACnB;YACAI,aAAa;QACjB;QACA0B,OAAO,CAAC9D,mBAAmB6B,oBAAI,CAACC,QAAQ,CAAC9C,MAAM8E,KAAK,EAAE;YAClD9B,cAAc;gBACV,eAAe;YACnB;YACAI,aAAa;QACjB,KAAKrC;QACLF;QACA+B;QACAmC,UAAUlC,oBAAI,CAACC,QAAQ,CAAC9C,MAAM+E,QAAQ,EAAE;YACpChC,iBAAiBvC,kBAAkB;YACnCwC,cAAc;gBACVnB;gBACAyD,UAAU,CAAC;gBACX,eAAe;gBACfrF,KAAKoB;YACT;YACA+B,aAAa5C,kBAAkB,gBAAgBwE,uBAAQ,GAAGC,iBAAK;QACnE;IACJ;AACJ;AACA,SAASjD,kBAAkB/B,GAAG;IAC1B,IAAIsF,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACvC,IAAI,OAAOxF,QAAQ,YAAYA,QAAQ,QAAQ,CAAE,CAAA,aAAaA,GAAE,GAAI;YAChE,MAAM,IAAIyF,MAAM,CAAC;8BACC,EAAE3F,2BAA2B4F,IAAI,CAAC;;MAE1D,CAAC;QACC;IACJ;AACJ"}
@@ -27,6 +27,7 @@ const defaultContextValue = {
27
27
  value: _createHeadlessTree.headlessTreeRootId,
28
28
  selectionRef: /*#__PURE__*/ _react.createRef(),
29
29
  layoutRef: /*#__PURE__*/ _react.createRef(),
30
+ treeItemRef: /*#__PURE__*/ _react.createRef(),
30
31
  subtreeRef: /*#__PURE__*/ _react.createRef(),
31
32
  actionsRef: /*#__PURE__*/ _react.createRef(),
32
33
  expandIconRef: /*#__PURE__*/ _react.createRef(),
@@ -1 +1 @@
1
- {"version":3,"sources":["treeItemContext.js"],"sourcesContent":["import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { headlessTreeRootId } from '../utils/createHeadlessTree';\nconst defaultContextValue = {\n value: headlessTreeRootId,\n selectionRef: React.createRef(),\n layoutRef: React.createRef(),\n subtreeRef: React.createRef(),\n actionsRef: React.createRef(),\n expandIconRef: React.createRef(),\n isActionsVisible: false,\n isAsideVisible: false,\n itemType: 'leaf',\n open: false,\n checked: false\n};\nexport const TreeItemContext = createContext(undefined);\nexport const { Provider: TreeItemProvider } = TreeItemContext;\nexport const useTreeItemContext_unstable = (selector)=>useContextSelector(TreeItemContext, (ctx = defaultContextValue)=>selector(ctx));\n"],"names":["TreeItemContext","TreeItemProvider","useTreeItemContext_unstable","defaultContextValue","value","headlessTreeRootId","selectionRef","React","createRef","layoutRef","subtreeRef","actionsRef","expandIconRef","isActionsVisible","isAsideVisible","itemType","open","checked","createContext","undefined","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAgBaA,eAAe;eAAfA;;IACYC,gBAAgB;eAAhBA;;IACZC,2BAA2B;eAA3BA;;;;iEAlBU;sCAC2B;oCACf;AACnC,MAAMC,sBAAsB;IACxBC,OAAOC,sCAAkB;IACzBC,4BAAcC,OAAMC,SAAS;IAC7BC,yBAAWF,OAAMC,SAAS;IAC1BE,0BAAYH,OAAMC,SAAS;IAC3BG,0BAAYJ,OAAMC,SAAS;IAC3BI,6BAAeL,OAAMC,SAAS;IAC9BK,kBAAkB;IAClBC,gBAAgB;IAChBC,UAAU;IACVC,MAAM;IACNC,SAAS;AACb;AACO,MAAMjB,kBAAkBkB,IAAAA,mCAAa,EAACC;AACtC,MAAM,EAAEC,UAAUnB,gBAAgB,EAAE,GAAGD;AACvC,MAAME,8BAA8B,CAACmB,WAAWC,IAAAA,wCAAkB,EAACtB,iBAAiB,CAACuB,MAAMpB,mBAAmB,GAAGkB,SAASE"}
1
+ {"version":3,"sources":["treeItemContext.js"],"sourcesContent":["import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { headlessTreeRootId } from '../utils/createHeadlessTree';\nconst defaultContextValue = {\n value: headlessTreeRootId,\n selectionRef: React.createRef(),\n layoutRef: React.createRef(),\n treeItemRef: React.createRef(),\n subtreeRef: React.createRef(),\n actionsRef: React.createRef(),\n expandIconRef: React.createRef(),\n isActionsVisible: false,\n isAsideVisible: false,\n itemType: 'leaf',\n open: false,\n checked: false\n};\nexport const TreeItemContext = createContext(undefined);\nexport const { Provider: TreeItemProvider } = TreeItemContext;\nexport const useTreeItemContext_unstable = (selector)=>useContextSelector(TreeItemContext, (ctx = defaultContextValue)=>selector(ctx));\n"],"names":["TreeItemContext","TreeItemProvider","useTreeItemContext_unstable","defaultContextValue","value","headlessTreeRootId","selectionRef","React","createRef","layoutRef","treeItemRef","subtreeRef","actionsRef","expandIconRef","isActionsVisible","isAsideVisible","itemType","open","checked","createContext","undefined","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAiBaA,eAAe;eAAfA;;IACYC,gBAAgB;eAAhBA;;IACZC,2BAA2B;eAA3BA;;;;iEAnBU;sCAC2B;oCACf;AACnC,MAAMC,sBAAsB;IACxBC,OAAOC,sCAAkB;IACzBC,4BAAcC,OAAMC,SAAS;IAC7BC,yBAAWF,OAAMC,SAAS;IAC1BE,2BAAaH,OAAMC,SAAS;IAC5BG,0BAAYJ,OAAMC,SAAS;IAC3BI,0BAAYL,OAAMC,SAAS;IAC3BK,6BAAeN,OAAMC,SAAS;IAC9BM,kBAAkB;IAClBC,gBAAgB;IAChBC,UAAU;IACVC,MAAM;IACNC,SAAS;AACb;AACO,MAAMlB,kBAAkBmB,IAAAA,mCAAa,EAACC;AACtC,MAAM,EAAEC,UAAUpB,gBAAgB,EAAE,GAAGD;AACvC,MAAME,8BAA8B,CAACoB,WAAWC,IAAAA,wCAAkB,EAACvB,iBAAiB,CAACwB,MAAMrB,mBAAmB,GAAGmB,SAASE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-tree",
3
- "version": "9.4.9",
3
+ "version": "9.4.11",
4
4
  "description": "Tree component for Fluent UI React",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",