@fluentui/react-tree 9.0.0-beta.16 → 9.0.0-beta.18
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 +127 -1
- package/CHANGELOG.md +36 -2
- package/lib/Tree.js +0 -1
- package/lib/Tree.js.map +1 -1
- package/lib/TreeItem.js +0 -1
- package/lib/TreeItem.js.map +1 -1
- package/lib/TreeItemAside.js +0 -1
- package/lib/TreeItemAside.js.map +1 -1
- package/lib/TreeItemLayout.js +0 -1
- package/lib/TreeItemLayout.js.map +1 -1
- package/lib/TreeItemPersonaLayout.js +0 -1
- package/lib/TreeItemPersonaLayout.js.map +1 -1
- package/lib/components/Tree/Tree.js +5 -7
- package/lib/components/Tree/Tree.js.map +1 -1
- package/lib/components/Tree/Tree.types.js +0 -1
- package/lib/components/Tree/Tree.types.js.map +1 -1
- package/lib/components/Tree/index.js +0 -1
- package/lib/components/Tree/index.js.map +1 -1
- package/lib/components/Tree/renderTree.js +6 -10
- package/lib/components/Tree/renderTree.js.map +1 -1
- package/lib/components/Tree/useRootTree.js +127 -142
- package/lib/components/Tree/useRootTree.js.map +1 -1
- package/lib/components/Tree/useSubtree.js +26 -31
- package/lib/components/Tree/useSubtree.js.map +1 -1
- package/lib/components/Tree/useTree.js +6 -8
- package/lib/components/Tree/useTree.js.map +1 -1
- package/lib/components/Tree/useTreeContextValues.js +14 -22
- package/lib/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib/components/Tree/useTreeStyles.styles.js.map +1 -1
- package/lib/components/TreeItem/TreeItem.js +5 -7
- package/lib/components/TreeItem/TreeItem.js.map +1 -1
- package/lib/components/TreeItem/TreeItem.types.js +0 -1
- package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib/components/TreeItem/index.js +0 -1
- package/lib/components/TreeItem/index.js.map +1 -1
- package/lib/components/TreeItem/renderTreeItem.js +6 -11
- package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItem.js +113 -123
- package/lib/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemContextValues.js +18 -30
- package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemStyles.styles.js +5 -5
- package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
- package/lib/components/TreeItemAside/TreeItemAside.js +4 -6
- package/lib/components/TreeItemAside/TreeItemAside.js.map +1 -1
- package/lib/components/TreeItemAside/TreeItemAside.types.js +1 -2
- package/lib/components/TreeItemAside/TreeItemAside.types.js.map +1 -1
- package/lib/components/TreeItemAside/index.js +0 -1
- package/lib/components/TreeItemAside/index.js.map +1 -1
- package/lib/components/TreeItemAside/renderTreeItemAside.js +9 -14
- package/lib/components/TreeItemAside/renderTreeItemAside.js.map +1 -1
- package/lib/components/TreeItemAside/useTreeItemAside.js +18 -23
- package/lib/components/TreeItemAside/useTreeItemAside.js.map +1 -1
- package/lib/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -1
- package/lib/components/TreeItemChevron.js +16 -19
- package/lib/components/TreeItemChevron.js.map +1 -1
- package/lib/components/TreeItemLayout/TreeItemLayout.js +4 -6
- package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
- package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
- package/lib/components/TreeItemLayout/index.js +0 -1
- package/lib/components/TreeItemLayout/index.js.map +1 -1
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js +4 -9
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayout.js +35 -42
- package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +5 -7
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/index.js +0 -1
- package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +6 -11
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +33 -41
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
- package/lib/contexts/index.js +0 -1
- package/lib/contexts/index.js.map +1 -1
- package/lib/contexts/treeContext.js +9 -12
- package/lib/contexts/treeContext.js.map +1 -1
- package/lib/contexts/treeItemContext.js +12 -15
- package/lib/contexts/treeItemContext.js.map +1 -1
- package/lib/hooks/index.js +0 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useFlatTree.js +68 -59
- package/lib/hooks/useFlatTree.js.map +1 -1
- package/lib/hooks/useFlatTreeNavigation.js +59 -61
- package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib/hooks/useHTMLElementWalker.js +78 -76
- package/lib/hooks/useHTMLElementWalker.js.map +1 -1
- package/lib/hooks/useNestedTreeNavigation.js +48 -48
- package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
- package/lib/hooks/useOpenItemsState.js +18 -14
- package/lib/hooks/useOpenItemsState.js.map +1 -1
- package/lib/hooks/useRovingTabIndexes.js +46 -45
- package/lib/hooks/useRovingTabIndexes.js.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/utils/ImmutableSet.js +27 -30
- package/lib/utils/ImmutableSet.js.map +1 -1
- package/lib/utils/assert.js +4 -5
- package/lib/utils/assert.js.map +1 -1
- package/lib/utils/createFlatTreeItems.js +101 -101
- package/lib/utils/createFlatTreeItems.js.map +1 -1
- package/lib/utils/flattenTree.js +19 -23
- package/lib/utils/flattenTree.js.map +1 -1
- package/lib/utils/nextTypeAheadElement.js +11 -12
- package/lib/utils/nextTypeAheadElement.js.map +1 -1
- package/lib/utils/normalizeOpenItems.js +6 -5
- package/lib/utils/normalizeOpenItems.js.map +1 -1
- package/lib/utils/tokens.js +12 -13
- package/lib/utils/tokens.js.map +1 -1
- package/lib/utils/treeItemFilter.js +2 -3
- package/lib/utils/treeItemFilter.js.map +1 -1
- package/lib-commonjs/Tree.js +0 -3
- package/lib-commonjs/Tree.js.map +1 -1
- package/lib-commonjs/TreeItem.js +0 -3
- package/lib-commonjs/TreeItem.js.map +1 -1
- package/lib-commonjs/TreeItemAside.js +0 -3
- package/lib-commonjs/TreeItemAside.js.map +1 -1
- package/lib-commonjs/TreeItemLayout.js +0 -3
- package/lib-commonjs/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/TreeItemPersonaLayout.js +0 -3
- package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/Tree/Tree.js +1 -3
- package/lib-commonjs/components/Tree/Tree.js.map +1 -1
- package/lib-commonjs/components/Tree/Tree.types.js +0 -3
- package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
- package/lib-commonjs/components/Tree/index.js +0 -3
- package/lib-commonjs/components/Tree/index.js.map +1 -1
- package/lib-commonjs/components/Tree/renderTree.js +1 -3
- package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useRootTree.js +1 -3
- package/lib-commonjs/components/Tree/useRootTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useSubtree.js +1 -3
- package/lib-commonjs/components/Tree/useSubtree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTree.js +1 -3
- package/lib-commonjs/components/Tree/useTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeContextValues.js +4 -6
- package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js +0 -2
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItem/TreeItem.js +1 -3
- package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/TreeItem.types.js +0 -3
- package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib-commonjs/components/TreeItem/index.js +0 -3
- package/lib-commonjs/components/TreeItem/index.js.map +1 -1
- package/lib-commonjs/components/TreeItem/renderTreeItem.js +1 -3
- package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItem.js +1 -3
- package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +4 -6
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +12 -14
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItemAside/TreeItemAside.js +1 -3
- package/lib-commonjs/components/TreeItemAside/TreeItemAside.js.map +1 -1
- package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js +0 -3
- package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemAside/index.js +0 -3
- package/lib-commonjs/components/TreeItemAside/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js +1 -3
- package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js.map +1 -1
- package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js +1 -3
- package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js.map +1 -1
- package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js +0 -2
- package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItemChevron.js +1 -3
- package/lib-commonjs/components/TreeItemChevron.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +1 -3
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +0 -3
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/index.js +0 -3
- package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +1 -3
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +1 -3
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +0 -2
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +1 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +0 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js +0 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +1 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +1 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +0 -2
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
- package/lib-commonjs/contexts/index.js +0 -3
- package/lib-commonjs/contexts/index.js.map +1 -1
- package/lib-commonjs/contexts/treeContext.js +2 -4
- package/lib-commonjs/contexts/treeContext.js.map +1 -1
- package/lib-commonjs/contexts/treeItemContext.js +2 -4
- package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
- package/lib-commonjs/hooks/index.js +0 -3
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/useFlatTree.js +2 -5
- package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
- package/lib-commonjs/hooks/useFlatTreeNavigation.js +1 -3
- package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useHTMLElementWalker.js +1 -3
- package/lib-commonjs/hooks/useHTMLElementWalker.js.map +1 -1
- package/lib-commonjs/hooks/useNestedTreeNavigation.js +1 -3
- package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useOpenItemsState.js +1 -3
- package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
- package/lib-commonjs/hooks/useRovingTabIndexes.js +1 -3
- package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
- package/lib-commonjs/index.js +0 -3
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/ImmutableSet.js +2 -4
- package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
- package/lib-commonjs/utils/assert.js +1 -3
- package/lib-commonjs/utils/assert.js.map +1 -1
- package/lib-commonjs/utils/createFlatTreeItems.js +1 -3
- package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -1
- package/lib-commonjs/utils/flattenTree.js +1 -3
- package/lib-commonjs/utils/flattenTree.js.map +1 -1
- package/lib-commonjs/utils/nextTypeAheadElement.js +1 -3
- package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
- package/lib-commonjs/utils/normalizeOpenItems.js +1 -3
- package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
- package/lib-commonjs/utils/tokens.js +1 -3
- package/lib-commonjs/utils/tokens.js.map +1 -1
- package/lib-commonjs/utils/treeItemFilter.js +1 -3
- package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useFlatTreeNavigation.js"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nexport function useFlatTreeNavigation(flatTreeItems) {\n const { targetDocument } = useFluent_unstable();\n const [treeItemWalkerRef, treeItemWalkerRootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const [{ rove }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n function getNextElement(data) {\n if (!targetDocument || !treeItemWalkerRef.current) {\n return null;\n }\n const treeItemWalker = treeItemWalkerRef.current;\n switch(data.type){\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n treeItemWalker.currentElement = data.target;\n return nextTypeAheadElement(treeItemWalker, data.event.key);\n case treeDataTypes.ArrowLeft:\n return parentElement(flatTreeItems, data.value);\n case treeDataTypes.ArrowRight:\n treeItemWalker.currentElement = data.target;\n return firstChild(data.target, treeItemWalker);\n case treeDataTypes.End:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.lastChild();\n case treeDataTypes.Home:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.firstChild();\n case treeDataTypes.ArrowDown:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.nextElement();\n case treeDataTypes.ArrowUp:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.previousElement();\n }\n }\n const navigate = useEventCallback((data)=>{\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n });\n return [\n navigate,\n useMergedRefs(treeItemWalkerRootRef, rovingRootRef)\n ];\n}\nfunction firstChild(target, treeWalker) {\n const nextElement = treeWalker.nextElement();\n if (!nextElement) {\n return null;\n }\n const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');\n const nextElementAriaLevel = nextElement.getAttribute('aria-level');\n const targetAriaLevel = target.getAttribute('aria-level');\n if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {\n return nextElement;\n }\n return null;\n}\nfunction parentElement(flatTreeItems, value) {\n const flatTreeItem = flatTreeItems.get(value);\n if (flatTreeItem === null || flatTreeItem === void 0 ? void 0 : flatTreeItem.parentValue) {\n const parentItem = flatTreeItems.get(flatTreeItem.parentValue);\n var _parentItem_ref_current;\n return (_parentItem_ref_current = parentItem === null || parentItem === void 0 ? void 0 : parentItem.ref.current) !== null && _parentItem_ref_current !== void 0 ? _parentItem_ref_current : null;\n }\n return null;\n}\n"],"names":["useFlatTreeNavigation","flatTreeItems","targetDocument","useFluent_unstable","treeItemWalkerRef","treeItemWalkerRootRef","useHTMLElementWalkerRef","treeItemFilter","rove","rovingRootRef","useRovingTabIndex","getNextElement","data","current","treeItemWalker","type","treeDataTypes","Click","target","TypeAhead","currentElement","nextTypeAheadElement","event","key","ArrowLeft","parentElement","value","ArrowRight","firstChild","End","root","lastChild","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","useEventCallback","useMergedRefs","treeWalker","nextElementAriaPosInSet","getAttribute","nextElementAriaLevel","targetAriaLevel","Number","flatTreeItem","get","parentValue","parentItem","_parentItem_ref_current","ref"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useHTMLElementWalker.js"],"sourcesContent":["import { isHTMLElement } from '@fluentui/react-utilities';\nimport * as React from 'react';\nexport function createHTMLElementWalker(root, filter = ()=>NodeFilter.FILTER_ACCEPT) {\n let temporaryFilter;\n const treeWalker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode (node) {\n if (!isHTMLElement(node)) {\n return NodeFilter.FILTER_REJECT;\n }\n const filterResult = filter(node);\n var _temporaryFilter;\n return filterResult === NodeFilter.FILTER_ACCEPT ? (_temporaryFilter = temporaryFilter === null || temporaryFilter === void 0 ? void 0 : temporaryFilter(node)) !== null && _temporaryFilter !== void 0 ? _temporaryFilter : filterResult : filterResult;\n }\n });\n return {\n get root () {\n return treeWalker.root;\n },\n get currentElement () {\n return treeWalker.currentNode;\n },\n set currentElement (element){\n treeWalker.currentNode = element;\n },\n firstChild: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.firstChild();\n temporaryFilter = undefined;\n return result;\n },\n lastChild: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.lastChild();\n temporaryFilter = undefined;\n return result;\n },\n nextElement: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.nextNode();\n temporaryFilter = undefined;\n return result;\n },\n nextSibling: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.nextSibling();\n temporaryFilter = undefined;\n return result;\n },\n parentElement: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.parentNode();\n temporaryFilter = undefined;\n return result;\n },\n previousElement: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.previousNode();\n temporaryFilter = undefined;\n return result;\n },\n previousSibling: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.previousSibling();\n temporaryFilter = undefined;\n return result;\n }\n };\n}\nexport const useHTMLElementWalkerRef = (filter)=>{\n const walkerRef = React.useRef();\n const rootRefCallback = (element1)=>{\n if (!element1) {\n walkerRef.current = undefined;\n return;\n }\n walkerRef.current = createHTMLElementWalker(element1, filter);\n };\n return [\n walkerRef,\n rootRefCallback\n ];\n};\n"],"names":["createHTMLElementWalker","useHTMLElementWalkerRef","root","filter","NodeFilter","FILTER_ACCEPT","temporaryFilter","treeWalker","document","createTreeWalker","SHOW_ELEMENT","acceptNode","node","isHTMLElement","FILTER_REJECT","filterResult","_temporaryFilter","currentElement","currentNode","element","firstChild","localFilter","result","undefined","lastChild","nextElement","nextNode","nextSibling","parentElement","parentNode","previousElement","previousNode","previousSibling","walkerRef","React","useRef","rootRefCallback","element1","current"],"mappings":";;;;;;;;;;;IAEgBA,uBAAuB,MAAvBA;IAkEHC,uBAAuB,MAAvBA;;;gCApEiB;6DACP;AAChB,SAASD,wBAAwBE,IAAI,EAAEC,SAAS,IAAIC,WAAWC,aAAa,EAAE;IACjF,IAAIC;IACJ,MAAMC,aAAaC,SAASC,gBAAgB,CAACP,MAAME,WAAWM,YAAY,EAAE;QACxEC,YAAYC,IAAI,EAAE;YACd,IAAI,CAACC,IAAAA,6BAAa,EAACD,OAAO;gBACtB,OAAOR,WAAWU,aAAa;YACnC,CAAC;YACD,MAAMC,eAAeZ,OAAOS;YAC5B,IAAII;YACJ,OAAOD,iBAAiBX,WAAWC,aAAa,GAAG,AAACW,CAAAA,mBAAmBV,oBAAoB,IAAI,IAAIA,oBAAoB,KAAK,IAAI,KAAK,IAAIA,gBAAgBM,KAAK,AAAD,MAAO,IAAI,IAAII,qBAAqB,KAAK,IAAIA,mBAAmBD,YAAY,GAAGA,YAAY;QAC5P;IACJ;IACA,OAAO;QACH,IAAIb,QAAQ;YACR,OAAOK,WAAWL,IAAI;QAC1B;QACA,IAAIe,kBAAkB;YAClB,OAAOV,WAAWW,WAAW;QACjC;QACA,IAAID,gBAAgBE,QAAQ;YACxBZ,WAAWW,WAAW,GAAGC;QAC7B;QACAC,YAAY,CAACC,cAAc;YACvBf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWa,UAAU;YACpCd,kBAAkBiB;YAClB,OAAOD;QACX;QACAE,WAAW,CAACH,cAAc;YACtBf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWiB,SAAS;YACnClB,kBAAkBiB;YAClB,OAAOD;QACX;QACAG,aAAa,CAACJ,cAAc;YACxBf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWmB,QAAQ;YAClCpB,kBAAkBiB;YAClB,OAAOD;QACX;QACAK,aAAa,CAACN,cAAc;YACxBf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWoB,WAAW;YACrCrB,kBAAkBiB;YAClB,OAAOD;QACX;QACAM,eAAe,CAACP,cAAc;YAC1Bf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWsB,UAAU;YACpCvB,kBAAkBiB;YAClB,OAAOD;QACX;QACAQ,iBAAiB,CAACT,cAAc;YAC5Bf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWwB,YAAY;YACtCzB,kBAAkBiB;YAClB,OAAOD;QACX;QACAU,iBAAiB,CAACX,cAAc;YAC5Bf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWyB,eAAe;YACzC1B,kBAAkBiB;YAClB,OAAOD;QACX;IACJ;AACJ;AACO,MAAMrB,0BAA0B,CAACE,SAAS;IAC7C,MAAM8B,YAAYC,OAAMC,MAAM;IAC9B,MAAMC,kBAAkB,CAACC,WAAW;QAChC,IAAI,CAACA,UAAU;YACXJ,UAAUK,OAAO,GAAGf;YACpB;QACJ,CAAC;QACDU,UAAUK,OAAO,GAAGtC,wBAAwBqC,UAAUlC;IAC1D;IACA,OAAO;QACH8B;QACAG;KACH;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useNestedTreeNavigation.js"],"sourcesContent":["import { useMergedRefs } from '@fluentui/react-utilities';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nexport function useNestedTreeNavigation() {\n const [{ rove }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n const [walkerRef, rootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const getNextElement = (data)=>{\n if (!walkerRef.current) {\n return;\n }\n const treeItemWalker = walkerRef.current;\n switch(data.type){\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n treeItemWalker.currentElement = data.target;\n return nextTypeAheadElement(treeItemWalker, data.event.key);\n case treeDataTypes.ArrowLeft:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.parentElement();\n case treeDataTypes.ArrowRight:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.firstChild();\n case treeDataTypes.End:\n treeItemWalker.currentElement = treeItemWalker.root;\n return lastChildRecursive(treeItemWalker);\n case treeDataTypes.Home:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.firstChild();\n case treeDataTypes.ArrowDown:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.nextElement();\n case treeDataTypes.ArrowUp:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.previousElement();\n }\n };\n function navigate(data) {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n }\n return [\n navigate,\n useMergedRefs(rootRef, rovingRootRef)\n ];\n}\nfunction lastChildRecursive(walker) {\n let lastElement = null;\n let nextElement = null;\n while(nextElement = walker.lastChild()){\n lastElement = nextElement;\n }\n return lastElement;\n}\n"],"names":["useNestedTreeNavigation","rove","rovingRootRef","useRovingTabIndex","treeItemFilter","walkerRef","rootRef","useHTMLElementWalkerRef","getNextElement","data","current","treeItemWalker","type","treeDataTypes","Click","target","TypeAhead","currentElement","nextTypeAheadElement","event","key","ArrowLeft","parentElement","ArrowRight","firstChild","End","root","lastChildRecursive","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","useMergedRefs","walker","lastElement","lastChild"],"mappings":";;;;+BAMgBA;;aAAAA;;gCANc;sCACU;sCACH;wBACP;gCACC;qCACG;AAC3B,SAASA,0BAA0B;IACtC,MAAM,CAAC,EAAEC,KAAI,EAAG,EAAEC,cAAc,GAAGC,IAAAA,sCAAiB,EAACC,8BAAc;IACnE,MAAM,CAACC,WAAWC,QAAQ,GAAGC,IAAAA,6CAAuB,EAACH,8BAAc;IACnE,MAAMI,iBAAiB,CAACC,OAAO;QAC3B,IAAI,CAACJ,UAAUK,OAAO,EAAE;YACpB;QACJ,CAAC;QACD,MAAMC,iBAAiBN,UAAUK,OAAO;QACxC,OAAOD,KAAKG,IAAI;YACZ,KAAKC,qBAAa,CAACC,KAAK;gBACpB,OAAOL,KAAKM,MAAM;YACtB,KAAKF,qBAAa,CAACG,SAAS;gBACxBL,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOG,IAAAA,0CAAoB,EAACP,gBAAgBF,KAAKU,KAAK,CAACC,GAAG;YAC9D,KAAKP,qBAAa,CAACQ,SAAS;gBACxBV,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAeW,aAAa;YACvC,KAAKT,qBAAa,CAACU,UAAU;gBACzBZ,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAea,UAAU;YACpC,KAAKX,qBAAa,CAACY,GAAG;gBAClBd,eAAeM,cAAc,GAAGN,eAAee,IAAI;gBACnD,OAAOC,mBAAmBhB;YAC9B,KAAKE,qBAAa,CAACe,IAAI;gBACnBjB,eAAeM,cAAc,GAAGN,eAAee,IAAI;gBACnD,OAAOf,eAAea,UAAU;YACpC,KAAKX,qBAAa,CAACgB,SAAS;gBACxBlB,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAemB,WAAW;YACrC,KAAKjB,qBAAa,CAACkB,OAAO;gBACtBpB,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAeqB,eAAe;QAC7C;IACJ;IACA,SAASC,SAASxB,IAAI,EAAE;QACpB,MAAMqB,cAActB,eAAeC;QACnC,IAAIqB,aAAa;YACb7B,KAAK6B;QACT,CAAC;IACL;IACA,OAAO;QACHG;QACAC,IAAAA,6BAAa,EAAC5B,SAASJ;KAC1B;AACL;AACA,SAASyB,mBAAmBQ,MAAM,EAAE;IAChC,IAAIC,cAAc,IAAI;IACtB,IAAIN,cAAc,IAAI;IACtB,MAAMA,cAAcK,OAAOE,SAAS,GAAG;QACnCD,cAAcN;IAClB;IACA,OAAOM;AACX"}
|
|
@@ -31,6 +31,4 @@ function createNextOpenItems(data, previousOpenItems) {
|
|
|
31
31
|
}
|
|
32
32
|
const nextOpenItems = (0, _immutableSet.createImmutableSet)(previousOpenItems);
|
|
33
33
|
return data.open ? nextOpenItems.add(data.value) : nextOpenItems.delete(data.value);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=useOpenItemsState.js.map
|
|
34
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useOpenItemsState.js"],"sourcesContent":["import { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createImmutableSet, emptyImmutableSet } from '../utils/ImmutableSet';\nexport function useOpenItemsState(props) {\n const [openItems, setOpenItems] = useControllableState({\n state: React.useMemo(()=>props.openItems && createImmutableSet(props.openItems), [\n props.openItems\n ]),\n defaultState: props.defaultOpenItems && (()=>createImmutableSet(props.defaultOpenItems)),\n initialState: emptyImmutableSet\n });\n const updateOpenItems = useEventCallback((data)=>setOpenItems((currentOpenItems)=>createNextOpenItems(data, currentOpenItems)));\n return [\n openItems,\n updateOpenItems\n ];\n}\nfunction createNextOpenItems(data, previousOpenItems) {\n const previousOpenItemsHasId = previousOpenItems.has(data.value);\n if (data.open ? previousOpenItemsHasId : !previousOpenItemsHasId) {\n return previousOpenItems;\n }\n const nextOpenItems = createImmutableSet(previousOpenItems);\n return data.open ? nextOpenItems.add(data.value) : nextOpenItems.delete(data.value);\n}\n"],"names":["useOpenItemsState","props","openItems","setOpenItems","useControllableState","state","React","useMemo","createImmutableSet","defaultState","defaultOpenItems","initialState","emptyImmutableSet","updateOpenItems","useEventCallback","data","currentOpenItems","createNextOpenItems","previousOpenItems","previousOpenItemsHasId","has","value","open","nextOpenItems","add","delete"],"mappings":";;;;+BAGgBA;;aAAAA;;;gCAHuC;6DAChC;8BAC+B;AAC/C,SAASA,kBAAkBC,KAAK,EAAE;IACrC,MAAM,CAACC,WAAWC,aAAa,GAAGC,IAAAA,oCAAoB,EAAC;QACnDC,OAAOC,OAAMC,OAAO,CAAC,IAAIN,MAAMC,SAAS,IAAIM,IAAAA,gCAAkB,EAACP,MAAMC,SAAS,GAAG;YAC7ED,MAAMC,SAAS;SAClB;QACDO,cAAcR,MAAMS,gBAAgB,IAAK,CAAA,IAAIF,IAAAA,gCAAkB,EAACP,MAAMS,gBAAgB,CAAA;QACtFC,cAAcC,+BAAiB;IACnC;IACA,MAAMC,kBAAkBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOZ,aAAa,CAACa,mBAAmBC,oBAAoBF,MAAMC;IAC5G,OAAO;QACHd;QACAW;KACH;AACL;AACA,SAASI,oBAAoBF,IAAI,EAAEG,iBAAiB,EAAE;IAClD,MAAMC,yBAAyBD,kBAAkBE,GAAG,CAACL,KAAKM,KAAK;IAC/D,IAAIN,KAAKO,IAAI,GAAGH,yBAAyB,CAACA,sBAAsB,EAAE;QAC9D,OAAOD;IACX,CAAC;IACD,MAAMK,gBAAgBf,IAAAA,gCAAkB,EAACU;IACzC,OAAOH,KAAKO,IAAI,GAAGC,cAAcC,GAAG,CAACT,KAAKM,KAAK,IAAIE,cAAcE,MAAM,CAACV,KAAKM,KAAK,CAAC;AACvF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useRovingTabIndexes.js"],"sourcesContent":["import { useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalker';\n/**\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_roving_tabindex\n */ export function useRovingTabIndex(filter) {\n const currentElementRef = React.useRef();\n const [walkerRef, rootRef] = useHTMLElementWalkerRef(filter);\n const rootRefCallback = (element)=>{\n if (!element) {\n return;\n }\n reset();\n };\n function reset() {\n if (!walkerRef.current) {\n return;\n }\n const walker = walkerRef.current;\n walker.currentElement = walker.root;\n let tabbableChild = walker.firstChild((element)=>element.tabIndex === 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP);\n walker.currentElement = walker.root;\n tabbableChild !== null && tabbableChild !== void 0 ? tabbableChild : tabbableChild = walker.firstChild();\n if (!tabbableChild) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('useRovingTabIndexes: internal error, no tabbable element was found');\n }\n return;\n }\n tabbableChild.tabIndex = 0;\n currentElementRef.current = tabbableChild;\n let nextElement = null;\n while((nextElement = walker.nextElement()) && nextElement !== tabbableChild){\n nextElement.tabIndex = -1;\n }\n }\n function rove(nextElement) {\n if (!currentElementRef.current) {\n return;\n }\n currentElementRef.current.tabIndex = -1;\n nextElement.tabIndex = 0;\n nextElement.focus();\n currentElementRef.current = nextElement;\n }\n return [\n {\n rove,\n reset\n },\n useMergedRefs(rootRef, rootRefCallback)\n ];\n}\n"],"names":["useRovingTabIndex","filter","currentElementRef","React","useRef","walkerRef","rootRef","useHTMLElementWalkerRef","rootRefCallback","element","reset","current","walker","currentElement","root","tabbableChild","firstChild","tabIndex","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","process","env","NODE_ENV","console","warn","nextElement","rove","focus","useMergedRefs"],"mappings":";;;;+BAKoBA;;aAAAA;;;gCALU;6DACP;sCACiB;AAG7B,SAASA,kBAAkBC,MAAM,EAAE;IAC1C,MAAMC,oBAAoBC,OAAMC,MAAM;IACtC,MAAM,CAACC,WAAWC,QAAQ,GAAGC,IAAAA,6CAAuB,EAACN;IACrD,MAAMO,kBAAkB,CAACC,UAAU;QAC/B,IAAI,CAACA,SAAS;YACV;QACJ,CAAC;QACDC;IACJ;IACA,SAASA,QAAQ;QACb,IAAI,CAACL,UAAUM,OAAO,EAAE;YACpB;QACJ,CAAC;QACD,MAAMC,SAASP,UAAUM,OAAO;QAChCC,OAAOC,cAAc,GAAGD,OAAOE,IAAI;QACnC,IAAIC,gBAAgBH,OAAOI,UAAU,CAAC,CAACP,UAAUA,QAAQQ,QAAQ,KAAK,IAAIC,WAAWC,aAAa,GAAGD,WAAWE,WAAW;QAC3HR,OAAOC,cAAc,GAAGD,OAAOE,IAAI;QACnCC,kBAAkB,IAAI,IAAIA,kBAAkB,KAAK,IAAIA,gBAAgBA,gBAAgBH,OAAOI,UAAU,EAAE;QACxG,IAAI,CAACD,eAAe;YAChB,IAAIM,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;gBACxC,sCAAsC;gBACtCC,QAAQC,IAAI,CAAC;YACjB,CAAC;YACD;QACJ,CAAC;QACDV,cAAcE,QAAQ,GAAG;QACzBf,kBAAkBS,OAAO,GAAGI;QAC5B,IAAIW,cAAc,IAAI;QACtB,MAAM,AAACA,CAAAA,cAAcd,OAAOc,WAAW,EAAC,KAAMA,gBAAgBX,cAAc;YACxEW,YAAYT,QAAQ,GAAG,CAAC;QAC5B;IACJ;IACA,SAASU,KAAKD,WAAW,EAAE;QACvB,IAAI,CAACxB,kBAAkBS,OAAO,EAAE;YAC5B;QACJ,CAAC;QACDT,kBAAkBS,OAAO,CAACM,QAAQ,GAAG,CAAC;QACtCS,YAAYT,QAAQ,GAAG;QACvBS,YAAYE,KAAK;QACjB1B,kBAAkBS,OAAO,GAAGe;IAChC;IACA,OAAO;QACH;YACIC;YACAjB;QACJ;QACAmB,IAAAA,6BAAa,EAACvB,SAASE;KAC1B;AACL"}
|
package/lib-commonjs/index.js
CHANGED
|
@@ -52,6 +52,3 @@ const _treeItemPersonaLayout = require("./TreeItemPersonaLayout");
|
|
|
52
52
|
const _treeItemAside = require("./TreeItemAside");
|
|
53
53
|
const _index = require("./hooks/index");
|
|
54
54
|
const _flattenTree = require("./utils/flattenTree");
|
|
55
|
-
//# sourceMappingURL=index.js.map
|
|
56
|
-
|
|
57
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export { Tree, treeClassNames, renderTree_unstable, useTreeStyles_unstable, useTree_unstable, useTreeContextValues_unstable } from './Tree';\nexport { TreeProvider, useTreeContext_unstable, useTreeItemContext_unstable, TreeItemProvider } from './contexts';\nexport { treeItemLevelToken } from './utils/tokens';\nexport { TreeItem, treeItemClassNames, renderTreeItem_unstable, useTreeItemStyles_unstable, useTreeItem_unstable } from './TreeItem';\nexport { TreeItemLayout, treeItemLayoutClassNames, renderTreeItemLayout_unstable, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from './TreeItemLayout';\nexport { TreeItemPersonaLayout, treeItemPersonaLayoutClassNames, renderTreeItemPersonaLayout_unstable, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from './TreeItemPersonaLayout';\nexport { TreeItemAside, treeItemAsideClassNames, renderTreeItemAside_unstable, useTreeItemAsideStyles_unstable, useTreeItemAside_unstable } from './TreeItemAside';\nexport { useFlatTree_unstable } from './hooks/index';\nexport { flattenTree_unstable } from './utils/flattenTree';\n"],"names":["Tree","treeClassNames","renderTree_unstable","useTreeStyles_unstable","useTree_unstable","useTreeContextValues_unstable","TreeProvider","useTreeContext_unstable","useTreeItemContext_unstable","TreeItemProvider","treeItemLevelToken","TreeItem","treeItemClassNames","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItem_unstable","TreeItemLayout","treeItemLayoutClassNames","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable","TreeItemPersonaLayout","treeItemPersonaLayoutClassNames","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable","TreeItemAside","treeItemAsideClassNames","renderTreeItemAside_unstable","useTreeItemAsideStyles_unstable","useTreeItemAside_unstable","useFlatTree_unstable","flattenTree_unstable"],"mappings":";;;;;;;;;;;IAASA,IAAI,MAAJA,UAAI;IAAEC,cAAc,MAAdA,oBAAc;IAAEC,mBAAmB,MAAnBA,yBAAmB;IAAEC,sBAAsB,MAAtBA,4BAAsB;IAAEC,gBAAgB,MAAhBA,sBAAgB;IAAEC,6BAA6B,MAA7BA,mCAA6B;IAClHC,YAAY,MAAZA,sBAAY;IAAEC,uBAAuB,MAAvBA,iCAAuB;IAAEC,2BAA2B,MAA3BA,qCAA2B;IAAEC,gBAAgB,MAAhBA,0BAAgB;IACpFC,kBAAkB,MAAlBA,0BAAkB;IAClBC,QAAQ,MAARA,kBAAQ;IAAEC,kBAAkB,MAAlBA,4BAAkB;IAAEC,uBAAuB,MAAvBA,iCAAuB;IAAEC,0BAA0B,MAA1BA,oCAA0B;IAAEC,oBAAoB,MAApBA,8BAAoB;IACvGC,cAAc,MAAdA,8BAAc;IAAEC,wBAAwB,MAAxBA,wCAAwB;IAAEC,6BAA6B,MAA7BA,6CAA6B;IAAEC,gCAAgC,MAAhCA,gDAAgC;IAAEC,0BAA0B,MAA1BA,0CAA0B;IACrIC,qBAAqB,MAArBA,4CAAqB;IAAEC,+BAA+B,MAA/BA,sDAA+B;IAAEC,oCAAoC,MAApCA,2DAAoC;IAAEC,uCAAuC,MAAvCA,8DAAuC;IAAEC,iCAAiC,MAAjCA,wDAAiC;IACxKC,aAAa,MAAbA,4BAAa;IAAEC,uBAAuB,MAAvBA,sCAAuB;IAAEC,4BAA4B,MAA5BA,2CAA4B;IAAEC,+BAA+B,MAA/BA,8CAA+B;IAAEC,yBAAyB,MAAzBA,wCAAyB;IAChIC,oBAAoB,MAApBA,2BAAoB;IACpBC,oBAAoB,MAApBA,iCAAoB;;sBARsG;0BAC9B;wBAClE;0BACqF;gCAC8B;uCACmC;+BACxC;uBAC5G;6BACA"}
|
|
@@ -13,7 +13,7 @@ _export(exports, {
|
|
|
13
13
|
createImmutableSet: ()=>createImmutableSet,
|
|
14
14
|
dangerouslyCreateImmutableSet: ()=>dangerouslyCreateImmutableSet
|
|
15
15
|
});
|
|
16
|
-
const emptyImmutableSet =
|
|
16
|
+
const emptyImmutableSet = createImmutableSet();
|
|
17
17
|
function createImmutableSet(iterable) {
|
|
18
18
|
const internalSet = new Set(iterable);
|
|
19
19
|
return dangerouslyCreateImmutableSet(internalSet);
|
|
@@ -41,6 +41,4 @@ function dangerouslyCreateImmutableSet(internalSet) {
|
|
|
41
41
|
return internalSet[Symbol.iterator]();
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=ImmutableSet.js.map
|
|
44
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["ImmutableSet.js"],"sourcesContent":["export const emptyImmutableSet = createImmutableSet();\n/**\n * properly creates an ImmutableSet instance from an iterable\n */ export function createImmutableSet(iterable) {\n const internalSet = new Set(iterable);\n return dangerouslyCreateImmutableSet(internalSet);\n}\n/**\n * Avoid using *dangerouslyCreateImmutableSet*, since this method will expose internally used set, use createImmutableSet instead,\n * @param internalSet - a set that is used internally to store values.\n */ export function dangerouslyCreateImmutableSet(internalSet) {\n return {\n size: internalSet.size,\n add (value) {\n const nextSet = new Set(internalSet);\n nextSet.add(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n clear () {\n return emptyImmutableSet;\n },\n delete (value) {\n const nextSet = new Set(internalSet);\n nextSet.delete(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n has (value) {\n return internalSet.has(value);\n },\n [Symbol.iterator] () {\n return internalSet[Symbol.iterator]();\n }\n };\n}\n"],"names":["emptyImmutableSet","createImmutableSet","dangerouslyCreateImmutableSet","iterable","internalSet","Set","size","add","value","nextSet","clear","delete","has","Symbol","iterator"],"mappings":";;;;;;;;;;;IAAaA,iBAAiB,MAAjBA;IAGOC,kBAAkB,MAAlBA;IAOAC,6BAA6B,MAA7BA;;AAVb,MAAMF,oBAAoBC;AAGtB,SAASA,mBAAmBE,QAAQ,EAAE;IAC7C,MAAMC,cAAc,IAAIC,IAAIF;IAC5B,OAAOD,8BAA8BE;AACzC;AAIW,SAASF,8BAA8BE,WAAW,EAAE;IAC3D,OAAO;QACHE,MAAMF,YAAYE,IAAI;QACtBC,KAAKC,KAAK,EAAE;YACR,MAAMC,UAAU,IAAIJ,IAAID;YACxBK,QAAQF,GAAG,CAACC;YACZ,OAAON,8BAA8BO;QACzC;QACAC,SAAS;YACL,OAAOV;QACX;QACAW,QAAQH,KAAK,EAAE;YACX,MAAMC,UAAU,IAAIJ,IAAID;YACxBK,QAAQE,MAAM,CAACH;YACf,OAAON,8BAA8BO;QACzC;QACAG,KAAKJ,KAAK,EAAE;YACR,OAAOJ,YAAYQ,GAAG,CAACJ;QAC3B;QACA,CAACK,OAAOC,QAAQ,CAAC,IAAI;YACjB,OAAOV,WAAW,CAACS,OAAOC,QAAQ,CAAC;QACvC;IACJ;AACJ"}
|
|
@@ -13,6 +13,4 @@ function assertIsDefinedRef(refObject, msg = `assertIsDefinedRef: reference not
|
|
|
13
13
|
if (refObject.current == undefined && process.env.NODE_ENV === 'development') {
|
|
14
14
|
throw new TypeError(msg);
|
|
15
15
|
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=assert.js.map
|
|
16
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["assert.js"],"sourcesContent":["import * as React from 'react';\nexport function assertIsDefinedRef(refObject, msg = `assertIsDefinedRef: reference not properly defined ${refObject}`) {\n // eslint-disable-next-line eqeqeq\n if (refObject.current == undefined && process.env.NODE_ENV === 'development') {\n throw new TypeError(msg);\n }\n}\n"],"names":["assertIsDefinedRef","refObject","msg","current","undefined","process","env","NODE_ENV","TypeError"],"mappings":";;;;+BACgBA;;aAAAA;;;6DADO;AAChB,SAASA,mBAAmBC,SAAS,EAAEC,MAAM,CAAC,mDAAmD,EAAED,UAAU,CAAC,EAAE;IACnH,kCAAkC;IAClC,IAAIA,UAAUE,OAAO,IAAIC,aAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1E,MAAM,IAAIC,UAAUN,KAAK;IAC7B,CAAC;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["createFlatTreeItems.js"],"sourcesContent":["import * as React from 'react';\n/**\n * creates a list of flat tree items\n * and provides a map to access each item by id\n */ export function createFlatTreeItems(flatTreeItemProps) {\n const root = createFlatTreeRootItem();\n const itemsPerValue = new Map([\n [\n root.value,\n root\n ]\n ]);\n const items = [];\n for(let index = 0; index < flatTreeItemProps.length; index++){\n const { parentValue =flatTreeRootId , ...treeItemProps } = flatTreeItemProps[index];\n const nextItemProps = flatTreeItemProps[index + 1];\n const currentParent = itemsPerValue.get(parentValue);\n if (!currentParent) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(`useFlatTree: item ${flatTreeItemProps[index].id} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized`);\n }\n break;\n }\n var _treeItemProps_itemType;\n const itemType = (_treeItemProps_itemType = treeItemProps.itemType) !== null && _treeItemProps_itemType !== void 0 ? _treeItemProps_itemType : treeItemProps.value === undefined || (nextItemProps === null || nextItemProps === void 0 ? void 0 : nextItemProps.parentValue) !== treeItemProps.value ? 'leaf' : 'branch';\n var _currentParent_level;\n const currentLevel = ((_currentParent_level = currentParent.level) !== null && _currentParent_level !== void 0 ? _currentParent_level : 0) + 1;\n const currentChildrenSize = ++currentParent.childrenSize;\n const ref = React.createRef();\n const flatTreeItem = {\n value: treeItemProps.value,\n getTreeItemProps: ()=>({\n ...treeItemProps,\n 'aria-level': currentLevel,\n 'aria-posinset': currentChildrenSize,\n 'aria-setsize': currentParent.childrenSize,\n itemType,\n // a reference to every parent element is necessary to ensure navigation\n ref: flatTreeItem.childrenSize > 0 ? ref : undefined\n }),\n ref,\n level: currentLevel,\n parentValue,\n childrenSize: 0,\n index: -1\n };\n itemsPerValue.set(flatTreeItem.value, flatTreeItem);\n items.push(flatTreeItem);\n }\n const flatTreeItems = {\n root,\n size: items.length,\n getByIndex: (index)=>items[index],\n get: (key)=>itemsPerValue.get(key),\n set: (key, value)=>itemsPerValue.set(key, value)\n };\n return flatTreeItems;\n}\nexport const flatTreeRootId = '__fuiFlatTreeRoot';\nfunction createFlatTreeRootItem() {\n return {\n ref: {\n current: null\n },\n value: flatTreeRootId,\n parentValue: undefined,\n getTreeItemProps: ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');\n }\n return {\n value: flatTreeRootId,\n 'aria-setsize': -1,\n 'aria-level': -1,\n 'aria-posinset': -1,\n itemType: 'branch'\n };\n },\n childrenSize: 0,\n get index () {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');\n }\n return -1;\n },\n level: 0\n };\n}\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function* VisibleFlatTreeItemGenerator(openItems, flatTreeItems) {\n for(let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++){\n const item = flatTreeItems.getByIndex(index);\n if (isItemVisible(item, openItems, flatTreeItems)) {\n item.index = visibleIndex++;\n yield item;\n } else {\n // Jump the amount of children the current item has, since those items will also be hidden\n index += item.childrenSize;\n }\n }\n}\nfunction isItemVisible(item, openItems, flatTreeItems) {\n if (item.level === 1) {\n return true;\n }\n while(item.parentValue && item.parentValue !== flatTreeItems.root.value){\n if (!openItems.has(item.parentValue)) {\n return false;\n }\n const parent = flatTreeItems.get(item.parentValue);\n if (!parent) {\n return false;\n }\n item = parent;\n }\n return true;\n}\n"],"names":["createFlatTreeItems","flatTreeRootId","VisibleFlatTreeItemGenerator","flatTreeItemProps","root","createFlatTreeRootItem","itemsPerValue","Map","value","items","index","length","parentValue","treeItemProps","nextItemProps","currentParent","get","process","env","NODE_ENV","console","error","id","_treeItemProps_itemType","itemType","undefined","_currentParent_level","currentLevel","level","currentChildrenSize","childrenSize","ref","React","createRef","flatTreeItem","getTreeItemProps","set","push","flatTreeItems","size","getByIndex","key","current","openItems","visibleIndex","item","isItemVisible","has","parent"],"mappings":"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"}
|
|
@@ -27,6 +27,4 @@ function flattenTreeRecursive(items, parent, level = 1) {
|
|
|
27
27
|
return acc;
|
|
28
28
|
}, []);
|
|
29
29
|
}
|
|
30
|
-
const flattenTree_unstable = (items)=>flattenTreeRecursive(items);
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=flattenTree.js.map
|
|
30
|
+
const flattenTree_unstable = (items)=>flattenTreeRecursive(items);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["flattenTree.js"],"sourcesContent":["let count = 1;\nfunction flattenTreeRecursive(items, parent, level = 1) {\n return items.reduce((acc, { subtree , ...item }, index)=>{\n var _item_id;\n const id = (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`;\n var _item_value;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': items.length,\n parentValue: parent === null || parent === void 0 ? void 0 : parent.value,\n value: (_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : id,\n ...item\n };\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeRecursive(subtree, flatTreeItem, level + 1));\n }\n return acc;\n }, []);\n}\n/**\n * Converts a nested structure to a flat one which can be consumed by `useFlatTreeItems`\n * @example\n * ```tsx\n * const defaultItems = flattenTree_unstable([\n * {\n * children: <TreeItemLayout>level 1, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 2</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 3</TreeItemLayout>,\n * },\n * ],\n * },\n * {\n * children: <TreeItemLayout>level 1, item 2</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 3, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 4, item 1</TreeItemLayout>,\n * },\n * ],\n * },\n * ],\n * },\n * ],\n * },\n * ]);\n * ```\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nexport const flattenTree_unstable = (items)=>flattenTreeRecursive(items);\n"],"names":["flattenTree_unstable","count","flattenTreeRecursive","items","parent","level","reduce","acc","subtree","item","index","_item_id","id","_item_value","flatTreeItem","length","parentValue","value","push","undefined"],"mappings":";;;;+BA6DaA;;aAAAA;;AA7Db,IAAIC,QAAQ;AACZ,SAASC,qBAAqBC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,CAAC,EAAE;IACpD,OAAOF,MAAMG,MAAM,CAAC,CAACC,KAAK,EAAEC,QAAO,EAAG,GAAGC,MAAM,EAAEC,QAAQ;QACrD,IAAIC;QACJ,MAAMC,KAAK,AAACD,CAAAA,WAAWF,KAAKG,EAAE,AAAD,MAAO,IAAI,IAAID,aAAa,KAAK,IAAIA,WAAW,CAAC,iBAAiB,EAAEV,QAAQ,CAAC;QAC1G,IAAIY;QACJ,MAAMC,eAAe;YACjB,cAAcT;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBP,MAAMY,MAAM;YAC5BC,aAAaZ,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOa,KAAK;YACzEA,OAAO,AAACJ,CAAAA,cAAcJ,KAAKQ,KAAK,AAAD,MAAO,IAAI,IAAIJ,gBAAgB,KAAK,IAAIA,cAAcD,EAAE;YACvF,GAAGH,IAAI;QACX;QACAF,IAAIW,IAAI,CAACJ;QACT,IAAIN,YAAYW,WAAW;YACvBZ,IAAIW,IAAI,IAAIhB,qBAAqBM,SAASM,cAAcT,QAAQ;QACpE,CAAC;QACD,OAAOE;IACX,GAAG,EAAE;AACT;AAyCO,MAAMP,uBAAuB,CAACG,QAAQD,qBAAqBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["nextTypeAheadElement.js"],"sourcesContent":["export function nextTypeAheadElement(treeWalker, key) {\n const keyToLowerCase = key.toLowerCase();\n const typeAheadFilter = (element)=>{\n var _element_textContent;\n return ((_element_textContent = element.textContent) === null || _element_textContent === void 0 ? void 0 : _element_textContent.trim().charAt(0).toLowerCase()) === keyToLowerCase ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n };\n let nextElement = treeWalker.nextElement(typeAheadFilter);\n if (!nextElement) {\n treeWalker.currentElement = treeWalker.root;\n nextElement = treeWalker.nextElement(typeAheadFilter);\n }\n return nextElement;\n}\n"],"names":["nextTypeAheadElement","treeWalker","key","keyToLowerCase","toLowerCase","typeAheadFilter","element","_element_textContent","textContent","trim","charAt","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","nextElement","currentElement","root"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,qBAAqBC,UAAU,EAAEC,GAAG,EAAE;IAClD,MAAMC,iBAAiBD,IAAIE,WAAW;IACtC,MAAMC,kBAAkB,CAACC,UAAU;QAC/B,IAAIC;QACJ,OAAO,AAAC,CAAA,AAACA,CAAAA,uBAAuBD,QAAQE,WAAW,AAAD,MAAO,IAAI,IAAID,yBAAyB,KAAK,IAAI,KAAK,IAAIA,qBAAqBE,IAAI,GAAGC,MAAM,CAAC,GAAGN,WAAW,EAAE,AAAD,MAAOD,iBAAiBQ,WAAWC,aAAa,GAAGD,WAAWE,WAAW;IAC3O;IACA,IAAIC,cAAcb,WAAWa,WAAW,CAACT;IACzC,IAAI,CAACS,aAAa;QACdb,WAAWc,cAAc,GAAGd,WAAWe,IAAI;QAC3CF,cAAcb,WAAWa,WAAW,CAACT;IACzC,CAAC;IACD,OAAOS;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["normalizeOpenItems.js"],"sourcesContent":["export function normalizeOpenItems(openSubtrees, options) {\n if (!openSubtrees) {\n return (options === null || options === void 0 ? void 0 : options.keepUndefined) ? undefined : [];\n }\n return Array.isArray(openSubtrees) ? openSubtrees : [\n openSubtrees\n ];\n}\n"],"names":["normalizeOpenItems","openSubtrees","options","keepUndefined","undefined","Array","isArray"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,mBAAmBC,YAAY,EAAEC,OAAO,EAAE;IACtD,IAAI,CAACD,cAAc;QACf,OAAO,AAACC,CAAAA,YAAY,IAAI,IAAIA,YAAY,KAAK,IAAI,KAAK,IAAIA,QAAQC,aAAa,AAAD,IAAKC,YAAY,EAAE;IACrG,CAAC;IACD,OAAOC,MAAMC,OAAO,CAACL,gBAAgBA,eAAe;QAChDA;KACH;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["tokens.js"],"sourcesContent":["import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home, Enter } from '@fluentui/keyboard-keys';\nexport const treeItemLevelToken = '--fluent-TreeItem--level';\nexport const treeAvatarSize = {\n medium: 32,\n small: 24\n};\nexport const treeDataTypes = {\n ArrowLeft,\n ArrowRight,\n Enter,\n Click: 'Click',\n ExpandIconClick: 'ExpandIconClick',\n End,\n Home,\n ArrowUp,\n ArrowDown,\n TypeAhead: 'TypeAhead'\n};\n"],"names":["treeItemLevelToken","treeAvatarSize","treeDataTypes","medium","small","ArrowLeft","ArrowRight","Enter","Click","ExpandIconClick","End","Home","ArrowUp","ArrowDown","TypeAhead"],"mappings":";;;;;;;;;;;IACaA,kBAAkB,MAAlBA;IACAC,cAAc,MAAdA;IAIAC,aAAa,MAAbA;;8BAN+D;AACrE,MAAMF,qBAAqB;AAC3B,MAAMC,iBAAiB;IAC1BE,QAAQ;IACRC,OAAO;AACX;AACO,MAAMF,gBAAgB;IACzBG,WAAAA,uBAAS;IACTC,YAAAA,wBAAU;IACVC,OAAAA,mBAAK;IACLC,OAAO;IACPC,iBAAiB;IACjBC,KAAAA,iBAAG;IACHC,MAAAA,kBAAI;IACJC,SAAAA,qBAAO;IACPC,WAAAA,uBAAS;IACTC,WAAW;AACf"}
|
|
@@ -8,6 +8,4 @@ Object.defineProperty(exports, "treeItemFilter", {
|
|
|
8
8
|
});
|
|
9
9
|
const treeItemFilter = (element)=>{
|
|
10
10
|
return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=treeItemFilter.js.map
|
|
11
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["treeItemFilter.js"],"sourcesContent":["export const treeItemFilter = (element)=>{\n return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n};\n"],"names":["treeItemFilter","element","getAttribute","NodeFilter","FILTER_ACCEPT","FILTER_SKIP"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,iBAAiB,CAACC,UAAU;IACrC,OAAOA,QAAQC,YAAY,CAAC,YAAY,aAAaC,WAAWC,aAAa,GAAGD,WAAWE,WAAW;AAC1G"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-tree",
|
|
3
|
-
"version": "9.0.0-beta.
|
|
3
|
+
"version": "9.0.0-beta.18",
|
|
4
4
|
"description": "React components for building web experiences",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@fluentui/eslint-plugin": "*",
|
|
31
31
|
"@fluentui/react-conformance": "*",
|
|
32
|
-
"@fluentui/react-conformance-griffel": "9.0.0-beta.
|
|
32
|
+
"@fluentui/react-conformance-griffel": "9.0.0-beta.22",
|
|
33
33
|
"@fluentui/scripts-api-extractor": "*",
|
|
34
34
|
"@fluentui/scripts-tasks": "*",
|
|
35
35
|
"@fluentui/scripts-cypress": "*",
|
|
@@ -37,18 +37,18 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@fluentui/keyboard-keys": "^9.0.3",
|
|
40
|
-
"@fluentui/react-aria": "^9.3.
|
|
41
|
-
"@fluentui/react-avatar": "^9.5.
|
|
42
|
-
"@fluentui/react-button": "^9.3.
|
|
43
|
-
"@fluentui/react-context-selector": "^9.1.
|
|
40
|
+
"@fluentui/react-aria": "^9.3.22",
|
|
41
|
+
"@fluentui/react-avatar": "^9.5.5",
|
|
42
|
+
"@fluentui/react-button": "^9.3.16",
|
|
43
|
+
"@fluentui/react-context-selector": "^9.1.22",
|
|
44
44
|
"@fluentui/react-icons": "^2.0.196",
|
|
45
|
-
"@fluentui/react-portal": "^9.2.
|
|
45
|
+
"@fluentui/react-portal": "^9.2.12",
|
|
46
46
|
"@fluentui/react-shared-contexts": "^9.5.0",
|
|
47
|
-
"@fluentui/react-tabster": "^9.7.
|
|
47
|
+
"@fluentui/react-tabster": "^9.7.5",
|
|
48
48
|
"@fluentui/react-theme": "^9.1.8",
|
|
49
|
-
"@fluentui/react-utilities": "^9.9.
|
|
50
|
-
"@fluentui/react-jsx-runtime": "9.0.0-alpha.
|
|
51
|
-
"@griffel/react": "^1.5.
|
|
49
|
+
"@fluentui/react-utilities": "^9.9.2",
|
|
50
|
+
"@fluentui/react-jsx-runtime": "9.0.0-alpha.6",
|
|
51
|
+
"@griffel/react": "^1.5.7",
|
|
52
52
|
"@swc/helpers": "^0.4.14"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|