@fluentui/react-tree 9.4.32 → 9.4.34

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 (33) hide show
  1. package/CHANGELOG.md +41 -2
  2. package/lib/components/FlatTree/FlatTree.types.js.map +1 -1
  3. package/lib/components/FlatTreeItem/FlatTreeItem.types.js +3 -1
  4. package/lib/components/FlatTreeItem/FlatTreeItem.types.js.map +1 -1
  5. package/lib/components/Tree/Tree.types.js +3 -1
  6. package/lib/components/Tree/Tree.types.js.map +1 -1
  7. package/lib/components/TreeItem/useTreeItem.js +1 -3
  8. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  9. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +3 -1
  10. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  11. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +3 -1
  12. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  13. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +3 -3
  14. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -1
  15. package/lib-commonjs/components/FlatTreeItem/FlatTreeItem.types.js +3 -1
  16. package/lib-commonjs/components/FlatTreeItem/FlatTreeItem.types.js.map +1 -1
  17. package/lib-commonjs/components/Tree/Tree.types.js +3 -1
  18. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  19. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js +3 -3
  20. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js.map +1 -1
  21. package/lib-commonjs/components/TreeItem/useTreeItem.js +1 -3
  22. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  23. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +3 -1
  24. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  25. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +3 -1
  26. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  27. package/lib-commonjs/hooks/useControllableOpenItems.js +3 -3
  28. package/lib-commonjs/hooks/useControllableOpenItems.js.map +1 -1
  29. package/lib-commonjs/index.js +65 -65
  30. package/lib-commonjs/index.js.map +1 -1
  31. package/lib-commonjs/utils/tokens.js +3 -3
  32. package/lib-commonjs/utils/tokens.js.map +1 -1
  33. package/package.json +12 -12
package/CHANGELOG.md CHANGED
@@ -1,12 +1,51 @@
1
1
  # Change Log - @fluentui/react-tree
2
2
 
3
- This log was last generated on Wed, 28 Feb 2024 02:28:41 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 15 Mar 2024 21:37:57 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.4.34](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.4.34)
8
+
9
+ Fri, 15 Mar 2024 21:37:57 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tree_v9.4.33..@fluentui/react-tree_v9.4.34)
11
+
12
+ ### Patches
13
+
14
+ - Bump @fluentui/react-aria to v9.10.1 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
15
+ - Bump @fluentui/react-avatar to v9.6.18 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
16
+ - Bump @fluentui/react-button to v9.3.72 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
17
+ - Bump @fluentui/react-checkbox to v9.2.16 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
18
+ - Bump @fluentui/react-context-selector to v9.1.55 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
19
+ - Bump @fluentui/react-radio to v9.2.11 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
20
+ - Bump @fluentui/react-shared-contexts to v9.15.1 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
21
+ - Bump @fluentui/react-tabster to v9.19.4 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
22
+ - Bump @fluentui/react-theme to v9.1.18 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
23
+ - Bump @fluentui/react-utilities to v9.18.4 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
24
+ - Bump @fluentui/react-jsx-runtime to v9.0.33 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball)
25
+
26
+ ## [9.4.33](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.4.33)
27
+
28
+ Thu, 07 Mar 2024 19:33:27 GMT
29
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tree_v9.4.32..@fluentui/react-tree_v9.4.33)
30
+
31
+ ### Patches
32
+
33
+ - fix: aria-selected is no longer required for treeitem ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by sarah.higley@microsoft.com)
34
+ - Bump @fluentui/react-aria to v9.10.0 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
35
+ - Bump @fluentui/react-avatar to v9.6.17 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
36
+ - Bump @fluentui/react-button to v9.3.71 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
37
+ - Bump @fluentui/react-checkbox to v9.2.15 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
38
+ - Bump @fluentui/react-context-selector to v9.1.54 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
39
+ - Bump @fluentui/react-radio to v9.2.10 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
40
+ - Bump @fluentui/react-shared-contexts to v9.15.0 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
41
+ - Bump @fluentui/react-tabster to v9.19.3 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
42
+ - Bump @fluentui/react-theme to v9.1.17 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
43
+ - Bump @fluentui/react-utilities to v9.18.3 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
44
+ - Bump @fluentui/react-jsx-runtime to v9.0.32 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball)
45
+
7
46
  ## [9.4.32](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.4.32)
8
47
 
9
- Wed, 28 Feb 2024 02:28:41 GMT
48
+ Wed, 28 Feb 2024 02:34:19 GMT
10
49
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tree_v9.4.31..@fluentui/react-tree_v9.4.32)
11
50
 
12
51
  ### Patches
@@ -1 +1 @@
1
- {"version":3,"sources":["FlatTree.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, SelectionMode } from '@fluentui/react-utilities';\nimport type {\n TreeSlots,\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeSelectionValue,\n} from '../Tree/index';\nimport type { TreeItemValue } from '../TreeItem/index';\nimport type { TreeContextValue } from '../../contexts';\n\nexport type FlatTreeSlots = TreeSlots;\n\nexport type FlatTreeContextValues = {\n tree: TreeContextValue;\n};\n\nexport type FlatTreeProps = ComponentProps<TreeSlots> & {\n /**\n * A tree item can have various appearances:\n * - 'subtle' (default): The default tree item styles.\n * - 'subtle-alpha': Minimizes emphasis on hovered or focused states.\n * - 'transparent': Removes background color.\n * @default 'subtle'\n */\n appearance?: 'subtle' | 'subtle-alpha' | 'transparent';\n /**\n * Size of the tree item.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n /**\n * This refers to a list of ids of opened tree items.\n * Controls the state of the open tree items.\n * These property is ignored for subtrees.\n */\n openItems?: Iterable<TreeItemValue>;\n /**\n * Callback fired when the component changes value from open state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as open value and type of interaction that created the event.\n */\n onOpenChange?(event: TreeOpenChangeEvent, data: TreeOpenChangeData): void;\n\n /**\n * Callback fired when navigation happens inside the component.\n * These property is ignored for subtrees.\n *\n * FIXME: This method is not ideal, as navigation should be handled internally by tabster.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n */\n onNavigation?(event: TreeNavigationEvent_unstable, data: TreeNavigationData_unstable): void;\n\n /**\n * This refers to the selection mode of the tree.\n * - undefined: No selection can be done.\n * - 'single': Only one tree item can be selected, radio buttons are rendered.\n * - 'multiselect': Multiple tree items can be selected, checkboxes are rendered.\n *\n * @default undefined\n */\n selectionMode?: SelectionMode;\n /**\n * This refers to a list of ids of checked tree items, or a list of tuples of ids and checked state.\n * Controls the state of the checked tree items.\n * These property is ignored for subtrees.\n */\n checkedItems?: Iterable<TreeItemValue | [TreeItemValue, TreeSelectionValue]>;\n /**\n * Callback fired when the component changes value from checked state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as checked value and type of interaction that created the event.\n */\n onCheckedChange?(event: TreeCheckedChangeEvent, data: TreeCheckedChangeData): void;\n};\n\nexport type FlatTreeState = ComponentState<FlatTreeSlots> &\n TreeContextValue & {\n open: boolean;\n };\n"],"names":[],"mappings":"AAAA,WA0FI"}
1
+ {"version":3,"sources":["FlatTree.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, SelectionMode } from '@fluentui/react-utilities';\nimport type {\n TreeSlots,\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeSelectionValue,\n} from '../Tree/index';\nimport type { TreeItemValue } from '../TreeItem/index';\nimport type { TreeContextValue } from '../../contexts';\n\nexport type FlatTreeSlots = TreeSlots;\n\nexport type FlatTreeContextValues = {\n tree: TreeContextValue;\n};\n\nexport type FlatTreeProps = ComponentProps<TreeSlots> & {\n /**\n * A tree item can have various appearances:\n * - 'subtle' (default): The default tree item styles.\n * - 'subtle-alpha': Minimizes emphasis on hovered or focused states.\n * - 'transparent': Removes background color.\n * @default 'subtle'\n */\n appearance?: 'subtle' | 'subtle-alpha' | 'transparent';\n /**\n * Size of the tree item.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n /**\n * This refers to a list of ids of opened tree items.\n * Controls the state of the open tree items.\n * These property is ignored for subtrees.\n */\n openItems?: Iterable<TreeItemValue>;\n /**\n * Callback fired when the component changes value from open state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as open value and type of interaction that created the event.\n */\n onOpenChange?(event: TreeOpenChangeEvent, data: TreeOpenChangeData): void;\n\n /**\n * Callback fired when navigation happens inside the component.\n * These property is ignored for subtrees.\n *\n * FIXME: This method is not ideal, as navigation should be handled internally by tabster.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n */\n onNavigation?(event: TreeNavigationEvent_unstable, data: TreeNavigationData_unstable): void;\n\n /**\n * This refers to the selection mode of the tree.\n * - undefined: No selection can be done.\n * - 'single': Only one tree item can be selected, radio buttons are rendered.\n * - 'multiselect': Multiple tree items can be selected, checkboxes are rendered.\n *\n * @default undefined\n */\n selectionMode?: SelectionMode;\n /**\n * This refers to a list of ids of checked tree items, or a list of tuples of ids and checked state.\n * Controls the state of the checked tree items.\n * These property is ignored for subtrees.\n */\n checkedItems?: Iterable<TreeItemValue | [TreeItemValue, TreeSelectionValue]>;\n /**\n * Callback fired when the component changes value from checked state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as checked value and type of interaction that created the event.\n */\n onCheckedChange?(event: TreeCheckedChangeEvent, data: TreeCheckedChangeData): void;\n};\n\nexport type FlatTreeState = ComponentState<FlatTreeSlots> &\n TreeContextValue & {\n open: boolean;\n };\n"],"names":[],"mappings":"AAuFA,WAGI"}
@@ -1 +1,3 @@
1
- export { };
1
+ /**
2
+ * FlatTreeItem Props
3
+ */ export { };
@@ -1 +1 @@
1
- {"version":3,"sources":["FlatTreeItem.types.ts"],"sourcesContent":["import type { TreeItemProps, TreeItemValue } from '../TreeItem/TreeItem.types';\n\n/**\n * FlatTreeItem Props\n */\nexport type FlatTreeItemProps = TreeItemProps & {\n value: TreeItemValue;\n 'aria-level': number;\n 'aria-setsize': number;\n 'aria-posinset': number;\n};\n"],"names":[],"mappings":"AAAA,WAUE"}
1
+ {"version":3,"sources":["FlatTreeItem.types.ts"],"sourcesContent":["import type { TreeItemProps, TreeItemValue } from '../TreeItem/TreeItem.types';\n\n/**\n * FlatTreeItem Props\n */\nexport type FlatTreeItemProps = TreeItemProps & {\n value: TreeItemValue;\n 'aria-level': number;\n 'aria-setsize': number;\n 'aria-posinset': number;\n};\n"],"names":[],"mappings":"AAEA;;CAEC,GACD,WAKE"}
@@ -1 +1,3 @@
1
- export { };
1
+ /**
2
+ * State used in rendering Tree
3
+ */ export { };
@@ -1 +1 @@
1
- {"version":3,"sources":["Tree.types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { ComponentProps, ComponentState, SelectionMode, Slot } from '@fluentui/react-utilities';\nimport type { TreeContextValue, SubtreeContextValue } from '../../contexts';\nimport type { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Enter, Home } from '@fluentui/keyboard-keys';\nimport type { TreeItemValue } from '../TreeItem/TreeItem.types';\nimport { CheckboxProps } from '@fluentui/react-checkbox';\nimport { RadioProps } from '@fluentui/react-radio';\n\ntype MultiSelectValue = NonNullable<CheckboxProps['checked']>;\ntype SingleSelectValue = NonNullable<RadioProps['checked']>;\nexport type TreeSelectionValue = MultiSelectValue | SingleSelectValue;\n\nexport type TreeSlots = {\n root: Slot<'div'>;\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type TreeNavigationData_unstable = {\n target: HTMLElement;\n value: TreeItemValue;\n parentValue: TreeItemValue | undefined;\n} & (\n | { event: React.MouseEvent<HTMLElement>; type: 'Click' }\n | { event: React.KeyboardEvent<HTMLElement>; type: 'TypeAhead' }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowRight }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowLeft }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowUp }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowDown }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof Home }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof End }\n);\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type TreeNavigationEvent_unstable = TreeNavigationData_unstable['event'];\n\nexport type TreeOpenChangeData = {\n open: boolean;\n openItems: Set<TreeItemValue>;\n value: TreeItemValue;\n target: HTMLElement;\n} & (\n | { event: React.MouseEvent<HTMLElement>; type: 'ExpandIconClick' }\n | { event: React.MouseEvent<HTMLElement>; type: 'Click' }\n /**\n * @deprecated\n * Use `type: 'Click'` instead of Enter,\n * an enter press will trigger a click event, which will trigger an open change,\n * so there is no need to have a separate type for it.\n */\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof Enter }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowRight }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowLeft }\n);\n\nexport type TreeOpenChangeEvent = TreeOpenChangeData['event'];\n\nexport type TreeCheckedChangeData = {\n value: TreeItemValue;\n checkedItems: Map<TreeItemValue, TreeSelectionValue>;\n target: HTMLElement;\n event: React.ChangeEvent<HTMLElement>;\n type: 'Change';\n} & (\n | {\n selectionMode: 'multiselect';\n checked: MultiSelectValue;\n }\n | {\n selectionMode: 'single';\n checked: SingleSelectValue;\n }\n);\n\nexport type TreeCheckedChangeEvent = TreeCheckedChangeData['event'];\n\nexport type TreeContextValues = {\n tree: TreeContextValue | SubtreeContextValue;\n};\n\nexport type TreeProps = ComponentProps<TreeSlots> & {\n /**\n * A tree item can have various appearances:\n * - 'subtle' (default): The default tree item styles.\n * - 'subtle-alpha': Minimizes emphasis on hovered or focused states.\n * - 'transparent': Removes background color.\n * @default 'subtle'\n */\n appearance?: 'subtle' | 'subtle-alpha' | 'transparent';\n /**\n * Size of the tree item.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n /**\n * This refers to a list of ids of opened tree items.\n * Controls the state of the open tree items.\n * These property is ignored for subtrees.\n */\n openItems?: Iterable<TreeItemValue>;\n /**\n * This refers to a list of ids of default opened items.\n * This property is ignored for subtrees.\n */\n defaultOpenItems?: Iterable<TreeItemValue>;\n /**\n * Callback fired when the component changes value from open state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as open value and type of interaction that created the event.\n */\n onOpenChange?(event: TreeOpenChangeEvent, data: TreeOpenChangeData): void;\n\n /**\n * Callback fired when navigation happens inside the component.\n * These property is ignored for subtrees.\n *\n * FIXME: This method is not ideal, as navigation should be handled internally by tabster.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n */\n onNavigation?(event: TreeNavigationEvent_unstable, data: TreeNavigationData_unstable): void;\n\n /**\n * This refers to the selection mode of the tree.\n * - undefined: No selection can be done.\n * - 'single': Only one tree item can be selected, radio buttons are rendered.\n * - 'multiselect': Multiple tree items can be selected, checkboxes are rendered.\n *\n * @default undefined\n */\n selectionMode?: SelectionMode;\n /**\n * This refers to a list of ids of checked tree items, or a list of tuples of ids and checked state.\n * Controls the state of the checked tree items.\n * These property is ignored for subtrees.\n */\n checkedItems?: Iterable<TreeItemValue | [TreeItemValue, TreeSelectionValue]>;\n /**\n * Callback fired when the component changes value from checked state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as checked value and type of interaction that created the event.\n */\n onCheckedChange?(event: TreeCheckedChangeEvent, data: TreeCheckedChangeData): void;\n};\n\n/**\n * State used in rendering Tree\n */\nexport type TreeState = ComponentState<TreeSlots> & {\n open: boolean;\n} & (TreeContextValue | SubtreeContextValue);\n"],"names":[],"mappings":"AAAA,WA4J6C"}
1
+ {"version":3,"sources":["Tree.types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { ComponentProps, ComponentState, SelectionMode, Slot } from '@fluentui/react-utilities';\nimport type { TreeContextValue, SubtreeContextValue } from '../../contexts';\nimport type { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Enter, Home } from '@fluentui/keyboard-keys';\nimport type { TreeItemValue } from '../TreeItem/TreeItem.types';\nimport { CheckboxProps } from '@fluentui/react-checkbox';\nimport { RadioProps } from '@fluentui/react-radio';\n\ntype MultiSelectValue = NonNullable<CheckboxProps['checked']>;\ntype SingleSelectValue = NonNullable<RadioProps['checked']>;\nexport type TreeSelectionValue = MultiSelectValue | SingleSelectValue;\n\nexport type TreeSlots = {\n root: Slot<'div'>;\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type TreeNavigationData_unstable = {\n target: HTMLElement;\n value: TreeItemValue;\n parentValue: TreeItemValue | undefined;\n} & (\n | { event: React.MouseEvent<HTMLElement>; type: 'Click' }\n | { event: React.KeyboardEvent<HTMLElement>; type: 'TypeAhead' }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowRight }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowLeft }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowUp }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowDown }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof Home }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof End }\n);\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type TreeNavigationEvent_unstable = TreeNavigationData_unstable['event'];\n\nexport type TreeOpenChangeData = {\n open: boolean;\n openItems: Set<TreeItemValue>;\n value: TreeItemValue;\n target: HTMLElement;\n} & (\n | { event: React.MouseEvent<HTMLElement>; type: 'ExpandIconClick' }\n | { event: React.MouseEvent<HTMLElement>; type: 'Click' }\n /**\n * @deprecated\n * Use `type: 'Click'` instead of Enter,\n * an enter press will trigger a click event, which will trigger an open change,\n * so there is no need to have a separate type for it.\n */\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof Enter }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowRight }\n | { event: React.KeyboardEvent<HTMLElement>; type: typeof ArrowLeft }\n);\n\nexport type TreeOpenChangeEvent = TreeOpenChangeData['event'];\n\nexport type TreeCheckedChangeData = {\n value: TreeItemValue;\n checkedItems: Map<TreeItemValue, TreeSelectionValue>;\n target: HTMLElement;\n event: React.ChangeEvent<HTMLElement>;\n type: 'Change';\n} & (\n | {\n selectionMode: 'multiselect';\n checked: MultiSelectValue;\n }\n | {\n selectionMode: 'single';\n checked: SingleSelectValue;\n }\n);\n\nexport type TreeCheckedChangeEvent = TreeCheckedChangeData['event'];\n\nexport type TreeContextValues = {\n tree: TreeContextValue | SubtreeContextValue;\n};\n\nexport type TreeProps = ComponentProps<TreeSlots> & {\n /**\n * A tree item can have various appearances:\n * - 'subtle' (default): The default tree item styles.\n * - 'subtle-alpha': Minimizes emphasis on hovered or focused states.\n * - 'transparent': Removes background color.\n * @default 'subtle'\n */\n appearance?: 'subtle' | 'subtle-alpha' | 'transparent';\n /**\n * Size of the tree item.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n /**\n * This refers to a list of ids of opened tree items.\n * Controls the state of the open tree items.\n * These property is ignored for subtrees.\n */\n openItems?: Iterable<TreeItemValue>;\n /**\n * This refers to a list of ids of default opened items.\n * This property is ignored for subtrees.\n */\n defaultOpenItems?: Iterable<TreeItemValue>;\n /**\n * Callback fired when the component changes value from open state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as open value and type of interaction that created the event.\n */\n onOpenChange?(event: TreeOpenChangeEvent, data: TreeOpenChangeData): void;\n\n /**\n * Callback fired when navigation happens inside the component.\n * These property is ignored for subtrees.\n *\n * FIXME: This method is not ideal, as navigation should be handled internally by tabster.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n */\n onNavigation?(event: TreeNavigationEvent_unstable, data: TreeNavigationData_unstable): void;\n\n /**\n * This refers to the selection mode of the tree.\n * - undefined: No selection can be done.\n * - 'single': Only one tree item can be selected, radio buttons are rendered.\n * - 'multiselect': Multiple tree items can be selected, checkboxes are rendered.\n *\n * @default undefined\n */\n selectionMode?: SelectionMode;\n /**\n * This refers to a list of ids of checked tree items, or a list of tuples of ids and checked state.\n * Controls the state of the checked tree items.\n * These property is ignored for subtrees.\n */\n checkedItems?: Iterable<TreeItemValue | [TreeItemValue, TreeSelectionValue]>;\n /**\n * Callback fired when the component changes value from checked state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as checked value and type of interaction that created the event.\n */\n onCheckedChange?(event: TreeCheckedChangeEvent, data: TreeCheckedChangeData): void;\n};\n\n/**\n * State used in rendering Tree\n */\nexport type TreeState = ComponentState<TreeSlots> & {\n open: boolean;\n} & (TreeContextValue | SubtreeContextValue);\n"],"names":[],"mappings":"AAuJA;;CAEC,GACD,WAE6C"}
@@ -226,10 +226,8 @@ import { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromEleme
226
226
  role: 'treeitem',
227
227
  'aria-level': level,
228
228
  'aria-checked': selectionMode === 'multiselect' ? checked : undefined,
229
- // aria-selected is required according to WAI-ARIA spec
230
- // https://www.w3.org/TR/wai-aria-1.1/#treeitem
231
229
  // Casting: when selectionMode is 'single', checked is a boolean
232
- 'aria-selected': selectionMode === 'single' ? checked : 'false',
230
+ 'aria-selected': selectionMode === 'single' ? checked : undefined,
233
231
  'aria-expanded': itemType === 'branch' ? open : undefined,
234
232
  onClick: handleClick,
235
233
  onKeyDown: handleKeyDown,
@@ -1 +1 @@
1
- {"version":3,"sources":["useTreeItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport {\n getIntrinsicElementProps,\n useId,\n useEventCallback,\n slot,\n elementContains,\n useMergedRefs,\n} from '@fluentui/react-utilities';\nimport type { TreeItemProps, TreeItemState, TreeItemValue } from './TreeItem.types';\nimport { Space } from '@fluentui/keyboard-keys';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useTreeContext_unstable, useSubtreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\n\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */\nexport function useTreeItem_unstable(props: TreeItemProps, ref: React.Ref<HTMLDivElement>): TreeItemState {\n const treeType = useTreeContext_unstable(ctx => ctx.treeType);\n if (treeType === 'flat') {\n warnIfNoProperPropsFlatTreeItem(props);\n }\n const requestTreeResponse = useTreeContext_unstable(ctx => ctx.requestTreeResponse);\n const { level: contextLevel } = useSubtreeContext_unstable();\n const parentValue = useTreeItemContext_unstable(ctx => props.parentValue ?? ctx.value);\n\n // note, if the value is not externally provided,\n // then selection and expansion will not work properly\n const internalValue = useId('fuiTreeItemValue-');\n const value: TreeItemValue = props.value ?? internalValue;\n\n const {\n onClick,\n onKeyDown,\n onChange,\n as = 'div',\n itemType = 'leaf',\n 'aria-level': level = contextLevel,\n ...rest\n } = props;\n\n const actionsRef = React.useRef<HTMLDivElement>(null);\n const expandIconRef = React.useRef<HTMLDivElement>(null);\n const layoutRef = React.useRef<HTMLDivElement>(null);\n const subtreeRef = React.useRef<HTMLDivElement>(null);\n const selectionRef = React.useRef<HTMLInputElement>(null);\n const treeItemRef = React.useRef<HTMLDivElement>(null);\n\n const open = useTreeContext_unstable(ctx => props.open ?? ctx.openItems.has(value));\n const getNextOpen = () => (itemType === 'branch' ? !open : open);\n const selectionMode = useTreeContext_unstable(ctx => ctx.selectionMode);\n const checked = useTreeContext_unstable(ctx => ctx.checkedItems.get(value) ?? false);\n\n const handleClick = useEventCallback((event: React.MouseEvent<HTMLDivElement>) => {\n onClick?.(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target as Node);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target as Node);\n if (isEventFromSubtree) {\n return;\n }\n const isEventFromSelection = selectionRef.current && elementContains(selectionRef.current, event.target as Node);\n if (isEventFromSelection) {\n return;\n }\n const isEventFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target as Node);\n\n ReactDOM.unstable_batchedUpdates(() => {\n const data = {\n event,\n value,\n open: getNextOpen(),\n target: event.currentTarget,\n type: isEventFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click,\n } as const;\n props.onOpenChange?.(event, data);\n requestTreeResponse({\n ...data,\n itemType,\n requestType: 'open',\n });\n requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: 'navigate',\n type: treeDataTypes.Click,\n });\n });\n });\n\n const handleKeyDown = useEventCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n // Ignore keyboard events that do not originate from the current tree item.\n if (event.isDefaultPrevented() || event.currentTarget !== event.target) {\n return;\n }\n switch (event.key) {\n case Space:\n if (selectionMode !== 'none') {\n selectionRef.current?.click();\n // Prevents the page from scrolling down when the spacebar is pressed\n event.preventDefault();\n }\n return;\n case treeDataTypes.Enter: {\n return event.currentTarget.click();\n }\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n return requestTreeResponse({\n requestType: 'navigate',\n event,\n value,\n itemType,\n parentValue,\n type: event.key,\n target: event.currentTarget,\n });\n case treeDataTypes.ArrowLeft: {\n // do not navigate to parent if the item is on the top level\n if (level === 1 && !open) {\n return;\n }\n const data = {\n value,\n event,\n open: getNextOpen(),\n type: event.key,\n target: event.currentTarget,\n } as const;\n if (open) {\n props.onOpenChange?.(event, data);\n }\n return requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: open ? 'open' : 'navigate',\n });\n }\n case treeDataTypes.ArrowRight:\n // do not navigate or open if the item is a leaf\n if (itemType === 'leaf') {\n return;\n }\n const data = {\n value,\n event,\n open: getNextOpen(),\n type: event.key,\n target: event.currentTarget,\n } as const;\n if (!open) {\n props.onOpenChange?.(event, data);\n }\n return requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: open ? 'navigate' : 'open',\n });\n }\n const isTypeAheadCharacter =\n event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({\n requestType: 'navigate',\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: treeDataTypes.TypeAhead,\n parentValue,\n });\n }\n });\n\n const handleChange = useEventCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target as Node);\n if (isEventFromSubtree) {\n return;\n }\n requestTreeResponse({\n requestType: 'selection',\n event,\n value,\n itemType,\n type: 'Change',\n target: event.currentTarget,\n checked: checked === 'mixed' ? true : !checked,\n });\n });\n\n return {\n value,\n open,\n checked,\n subtreeRef,\n layoutRef,\n selectionRef,\n expandIconRef,\n treeItemRef,\n actionsRef,\n itemType,\n level,\n components: {\n root: 'div',\n },\n // FIXME: this property is not necessary anymore, but as removing it would be a breaking change, we need to keep it as false\n isAsideVisible: false,\n // FIXME: this property is not necessary anymore, but as removing it would be a breaking change, we need to keep it as false\n isActionsVisible: false,\n root: slot.always(\n getIntrinsicElementProps(as, {\n tabIndex: -1,\n [dataTreeItemValueAttrName]: value,\n ...rest,\n ref: useMergedRefs(ref, treeItemRef),\n role: 'treeitem',\n 'aria-level': level,\n 'aria-checked': selectionMode === 'multiselect' ? checked : undefined,\n // aria-selected is required according to WAI-ARIA spec\n // https://www.w3.org/TR/wai-aria-1.1/#treeitem\n // Casting: when selectionMode is 'single', checked is a boolean\n 'aria-selected': selectionMode === 'single' ? (checked as boolean) : 'false',\n 'aria-expanded': itemType === 'branch' ? open : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n } as const),\n { elementType: 'div' },\n ),\n };\n}\n\nfunction warnIfNoProperPropsFlatTreeItem(\n props: Pick<TreeItemProps, 'aria-setsize' | 'aria-posinset' | 'aria-level' | 'parentValue'>,\n) {\n if (process.env.NODE_ENV !== 'production') {\n if (\n props['aria-posinset'] === undefined ||\n props['aria-setsize'] === undefined ||\n props['aria-level'] === undefined ||\n (props.parentValue === undefined && props['aria-level'] !== 1)\n ) {\n // eslint-disable-next-line no-console\n console.error(/** #__DE-INDENT__ */ `\n @fluentui/react-tree [${useTreeItem_unstable.name}]:\n A flat treeitem must have \"aria-posinset\", \"aria-setsize\", \"aria-level\"\n and \"parentValue\" (if \"aria-level\" > 1) to ensure a11y and navigation.\n\n - \"aria-posinset\": the position of this treeitem in the current level of the tree.\n - \"aria-setsize\": the number of siblings in this level of the tree.\n - \"aria-level\": the current level of the treeitem.\n - \"parentValue\": the \"value\" property of the parent item of this item.\n `);\n }\n }\n}\n"],"names":["React","ReactDOM","getIntrinsicElementProps","useId","useEventCallback","slot","elementContains","useMergedRefs","Space","treeDataTypes","useTreeContext_unstable","useSubtreeContext_unstable","useTreeItemContext_unstable","dataTreeItemValueAttrName","useTreeItem_unstable","props","ref","treeType","ctx","warnIfNoProperPropsFlatTreeItem","requestTreeResponse","level","contextLevel","parentValue","value","internalValue","onClick","onKeyDown","onChange","as","itemType","rest","actionsRef","useRef","expandIconRef","layoutRef","subtreeRef","selectionRef","treeItemRef","open","openItems","has","getNextOpen","selectionMode","checked","checkedItems","get","handleClick","event","isDefaultPrevented","isEventFromActions","current","target","isEventFromSubtree","isEventFromSelection","isEventFromExpandIcon","unstable_batchedUpdates","data","currentTarget","type","ExpandIconClick","Click","onOpenChange","requestType","handleKeyDown","key","click","preventDefault","Enter","End","Home","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleChange","components","root","isAsideVisible","isActionsVisible","always","tabIndex","role","undefined","elementType","process","env","NODE_ENV","console","error","name"],"mappings":"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"}
1
+ {"version":3,"sources":["useTreeItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport {\n getIntrinsicElementProps,\n useId,\n useEventCallback,\n slot,\n elementContains,\n useMergedRefs,\n} from '@fluentui/react-utilities';\nimport type { TreeItemProps, TreeItemState, TreeItemValue } from './TreeItem.types';\nimport { Space } from '@fluentui/keyboard-keys';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useTreeContext_unstable, useSubtreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\n\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */\nexport function useTreeItem_unstable(props: TreeItemProps, ref: React.Ref<HTMLDivElement>): TreeItemState {\n const treeType = useTreeContext_unstable(ctx => ctx.treeType);\n if (treeType === 'flat') {\n warnIfNoProperPropsFlatTreeItem(props);\n }\n const requestTreeResponse = useTreeContext_unstable(ctx => ctx.requestTreeResponse);\n const { level: contextLevel } = useSubtreeContext_unstable();\n const parentValue = useTreeItemContext_unstable(ctx => props.parentValue ?? ctx.value);\n\n // note, if the value is not externally provided,\n // then selection and expansion will not work properly\n const internalValue = useId('fuiTreeItemValue-');\n const value: TreeItemValue = props.value ?? internalValue;\n\n const {\n onClick,\n onKeyDown,\n onChange,\n as = 'div',\n itemType = 'leaf',\n 'aria-level': level = contextLevel,\n ...rest\n } = props;\n\n const actionsRef = React.useRef<HTMLDivElement>(null);\n const expandIconRef = React.useRef<HTMLDivElement>(null);\n const layoutRef = React.useRef<HTMLDivElement>(null);\n const subtreeRef = React.useRef<HTMLDivElement>(null);\n const selectionRef = React.useRef<HTMLInputElement>(null);\n const treeItemRef = React.useRef<HTMLDivElement>(null);\n\n const open = useTreeContext_unstable(ctx => props.open ?? ctx.openItems.has(value));\n const getNextOpen = () => (itemType === 'branch' ? !open : open);\n const selectionMode = useTreeContext_unstable(ctx => ctx.selectionMode);\n const checked = useTreeContext_unstable(ctx => ctx.checkedItems.get(value) ?? false);\n\n const handleClick = useEventCallback((event: React.MouseEvent<HTMLDivElement>) => {\n onClick?.(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target as Node);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target as Node);\n if (isEventFromSubtree) {\n return;\n }\n const isEventFromSelection = selectionRef.current && elementContains(selectionRef.current, event.target as Node);\n if (isEventFromSelection) {\n return;\n }\n const isEventFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target as Node);\n\n ReactDOM.unstable_batchedUpdates(() => {\n const data = {\n event,\n value,\n open: getNextOpen(),\n target: event.currentTarget,\n type: isEventFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click,\n } as const;\n props.onOpenChange?.(event, data);\n requestTreeResponse({\n ...data,\n itemType,\n requestType: 'open',\n });\n requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: 'navigate',\n type: treeDataTypes.Click,\n });\n });\n });\n\n const handleKeyDown = useEventCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n // Ignore keyboard events that do not originate from the current tree item.\n if (event.isDefaultPrevented() || event.currentTarget !== event.target) {\n return;\n }\n switch (event.key) {\n case Space:\n if (selectionMode !== 'none') {\n selectionRef.current?.click();\n // Prevents the page from scrolling down when the spacebar is pressed\n event.preventDefault();\n }\n return;\n case treeDataTypes.Enter: {\n return event.currentTarget.click();\n }\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n return requestTreeResponse({\n requestType: 'navigate',\n event,\n value,\n itemType,\n parentValue,\n type: event.key,\n target: event.currentTarget,\n });\n case treeDataTypes.ArrowLeft: {\n // do not navigate to parent if the item is on the top level\n if (level === 1 && !open) {\n return;\n }\n const data = {\n value,\n event,\n open: getNextOpen(),\n type: event.key,\n target: event.currentTarget,\n } as const;\n if (open) {\n props.onOpenChange?.(event, data);\n }\n return requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: open ? 'open' : 'navigate',\n });\n }\n case treeDataTypes.ArrowRight:\n // do not navigate or open if the item is a leaf\n if (itemType === 'leaf') {\n return;\n }\n const data = {\n value,\n event,\n open: getNextOpen(),\n type: event.key,\n target: event.currentTarget,\n } as const;\n if (!open) {\n props.onOpenChange?.(event, data);\n }\n return requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: open ? 'navigate' : 'open',\n });\n }\n const isTypeAheadCharacter =\n event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({\n requestType: 'navigate',\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: treeDataTypes.TypeAhead,\n parentValue,\n });\n }\n });\n\n const handleChange = useEventCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target as Node);\n if (isEventFromSubtree) {\n return;\n }\n requestTreeResponse({\n requestType: 'selection',\n event,\n value,\n itemType,\n type: 'Change',\n target: event.currentTarget,\n checked: checked === 'mixed' ? true : !checked,\n });\n });\n\n return {\n value,\n open,\n checked,\n subtreeRef,\n layoutRef,\n selectionRef,\n expandIconRef,\n treeItemRef,\n actionsRef,\n itemType,\n level,\n components: {\n root: 'div',\n },\n // FIXME: this property is not necessary anymore, but as removing it would be a breaking change, we need to keep it as false\n isAsideVisible: false,\n // FIXME: this property is not necessary anymore, but as removing it would be a breaking change, we need to keep it as false\n isActionsVisible: false,\n root: slot.always(\n getIntrinsicElementProps(as, {\n tabIndex: -1,\n [dataTreeItemValueAttrName]: value,\n ...rest,\n ref: useMergedRefs(ref, treeItemRef),\n role: 'treeitem',\n 'aria-level': level,\n 'aria-checked': selectionMode === 'multiselect' ? checked : undefined,\n // Casting: when selectionMode is 'single', checked is a boolean\n 'aria-selected': selectionMode === 'single' ? (checked as boolean) : undefined,\n 'aria-expanded': itemType === 'branch' ? open : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n } as const),\n { elementType: 'div' },\n ),\n };\n}\n\nfunction warnIfNoProperPropsFlatTreeItem(\n props: Pick<TreeItemProps, 'aria-setsize' | 'aria-posinset' | 'aria-level' | 'parentValue'>,\n) {\n if (process.env.NODE_ENV !== 'production') {\n if (\n props['aria-posinset'] === undefined ||\n props['aria-setsize'] === undefined ||\n props['aria-level'] === undefined ||\n (props.parentValue === undefined && props['aria-level'] !== 1)\n ) {\n // eslint-disable-next-line no-console\n console.error(/** #__DE-INDENT__ */ `\n @fluentui/react-tree [${useTreeItem_unstable.name}]:\n A flat treeitem must have \"aria-posinset\", \"aria-setsize\", \"aria-level\"\n and \"parentValue\" (if \"aria-level\" > 1) to ensure a11y and navigation.\n\n - \"aria-posinset\": the position of this treeitem in the current level of the tree.\n - \"aria-setsize\": the number of siblings in this level of the tree.\n - \"aria-level\": the current level of the treeitem.\n - \"parentValue\": the \"value\" property of the parent item of this item.\n `);\n }\n }\n}\n"],"names":["React","ReactDOM","getIntrinsicElementProps","useId","useEventCallback","slot","elementContains","useMergedRefs","Space","treeDataTypes","useTreeContext_unstable","useSubtreeContext_unstable","useTreeItemContext_unstable","dataTreeItemValueAttrName","useTreeItem_unstable","props","ref","treeType","ctx","warnIfNoProperPropsFlatTreeItem","requestTreeResponse","level","contextLevel","parentValue","value","internalValue","onClick","onKeyDown","onChange","as","itemType","rest","actionsRef","useRef","expandIconRef","layoutRef","subtreeRef","selectionRef","treeItemRef","open","openItems","has","getNextOpen","selectionMode","checked","checkedItems","get","handleClick","event","isDefaultPrevented","isEventFromActions","current","target","isEventFromSubtree","isEventFromSelection","isEventFromExpandIcon","unstable_batchedUpdates","data","currentTarget","type","ExpandIconClick","Click","onOpenChange","requestType","handleKeyDown","key","click","preventDefault","Enter","End","Home","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleChange","components","root","isAsideVisible","isActionsVisible","always","tabIndex","role","undefined","elementType","process","env","NODE_ENV","console","error","name"],"mappings":"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"}
@@ -1 +1,3 @@
1
- export { };
1
+ /**
2
+ * State used in rendering TreeItemLayout
3
+ */ export { };
@@ -1 +1 @@
1
- {"version":3,"sources":["TreeItemLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, ExtractSlotProps, Slot } from '@fluentui/react-utilities';\nimport { ButtonContextValue } from '@fluentui/react-button';\nimport { Checkbox } from '@fluentui/react-checkbox';\nimport { Radio } from '@fluentui/react-radio';\n\nexport type TreeItemLayoutSlots = {\n root: Slot<'div'>;\n /**\n * Content. Children of the root slot are automatically rendered here\n */\n main: NonNullable<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 * Expand icon slot,\n * by default renders a chevron icon to indicate opening and closing\n */\n expandIcon?: Slot<'div'>;\n /**\n * Aside content is normally used to render a badge or other non-actionable content\n * It is aria-hidden by default and is only meant to be used as visual aid.\n */\n aside?: Slot<'div'>;\n /**\n * Actionable elements are normally buttons, menus, or other focusable elements.\n * Those elements are only visibly available if the given tree item is currently active.\n *\n * `actions` and `aside` slots are positioned on the exact same spot,\n * so they won't be visible at the same time.\n * `aside` slot is visible by default meanwhile `actions` slot are only visible when the tree item is active.\n *\n * `actions` slot supports a `visible` prop to force visibility of the actions.\n */\n actions?: Slot<\n ExtractSlotProps<\n Slot<'div'> & {\n /**\n * Forces visibility of the aside/action content\n */\n visible?: boolean;\n }\n >\n >;\n selector?: Slot<typeof Checkbox> | Slot<typeof Radio>;\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 buttonContextValue: ButtonContextValue;\n};\n"],"names":[],"mappings":"AAAA,WA8DE"}
1
+ {"version":3,"sources":["TreeItemLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, ExtractSlotProps, Slot } from '@fluentui/react-utilities';\nimport { ButtonContextValue } from '@fluentui/react-button';\nimport { Checkbox } from '@fluentui/react-checkbox';\nimport { Radio } from '@fluentui/react-radio';\n\nexport type TreeItemLayoutSlots = {\n root: Slot<'div'>;\n /**\n * Content. Children of the root slot are automatically rendered here\n */\n main: NonNullable<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 * Expand icon slot,\n * by default renders a chevron icon to indicate opening and closing\n */\n expandIcon?: Slot<'div'>;\n /**\n * Aside content is normally used to render a badge or other non-actionable content\n * It is aria-hidden by default and is only meant to be used as visual aid.\n */\n aside?: Slot<'div'>;\n /**\n * Actionable elements are normally buttons, menus, or other focusable elements.\n * Those elements are only visibly available if the given tree item is currently active.\n *\n * `actions` and `aside` slots are positioned on the exact same spot,\n * so they won't be visible at the same time.\n * `aside` slot is visible by default meanwhile `actions` slot are only visible when the tree item is active.\n *\n * `actions` slot supports a `visible` prop to force visibility of the actions.\n */\n actions?: Slot<\n ExtractSlotProps<\n Slot<'div'> & {\n /**\n * Forces visibility of the aside/action content\n */\n visible?: boolean;\n }\n >\n >;\n selector?: Slot<typeof Checkbox> | Slot<typeof Radio>;\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 buttonContextValue: ButtonContextValue;\n};\n"],"names":[],"mappings":"AAyDA;;CAEC,GACD,WAEE"}
@@ -1 +1,3 @@
1
- export { };
1
+ /**
2
+ * State used in rendering TreeItemPersonaLayout
3
+ */ export { };
@@ -1 +1 @@
1
- {"version":3,"sources":["TreeItemPersonaLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AvatarContextValue, AvatarSize } from '@fluentui/react-avatar';\nimport { ButtonContextValue } from '@fluentui/react-button';\nimport { TreeItemLayoutSlots } from '../TreeItemLayout/TreeItemLayout.types';\n\nexport type TreeItemPersonaLayoutContextValues = {\n avatar: AvatarContextValue;\n};\n\nexport type TreeItemPersonaLayoutSlots = Pick<TreeItemLayoutSlots, 'actions' | 'aside' | 'expandIcon' | 'selector'> & {\n root: NonNullable<Slot<'div'>>;\n /**\n * Avatar to display.\n */\n media: NonNullable<Slot<'div'>>;\n /**\n * Content. Children of the root slot are automatically rendered here\n */\n main: NonNullable<Slot<'div'>>;\n /**\n * Secondary text that describes or complements the content\n */\n description?: 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 buttonContextValue: ButtonContextValue;\n};\n"],"names":[],"mappings":"AAAA,WAoCE"}
1
+ {"version":3,"sources":["TreeItemPersonaLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AvatarContextValue, AvatarSize } from '@fluentui/react-avatar';\nimport { ButtonContextValue } from '@fluentui/react-button';\nimport { TreeItemLayoutSlots } from '../TreeItemLayout/TreeItemLayout.types';\n\nexport type TreeItemPersonaLayoutContextValues = {\n avatar: AvatarContextValue;\n};\n\nexport type TreeItemPersonaLayoutSlots = Pick<TreeItemLayoutSlots, 'actions' | 'aside' | 'expandIcon' | 'selector'> & {\n root: NonNullable<Slot<'div'>>;\n /**\n * Avatar to display.\n */\n media: NonNullable<Slot<'div'>>;\n /**\n * Content. Children of the root slot are automatically rendered here\n */\n main: NonNullable<Slot<'div'>>;\n /**\n * Secondary text that describes or complements the content\n */\n description?: 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 buttonContextValue: ButtonContextValue;\n};\n"],"names":[],"mappings":"AA8BA;;CAEC,GACD,WAGE"}
@@ -9,11 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- useFlatControllableCheckedItems: function() {
13
- return useFlatControllableCheckedItems;
14
- },
15
12
  createNextFlatCheckedItems: function() {
16
13
  return createNextFlatCheckedItems;
14
+ },
15
+ useFlatControllableCheckedItems: function() {
16
+ return useFlatControllableCheckedItems;
17
17
  }
18
18
  });
19
19
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
@@ -1 +1 @@
1
- {"version":3,"sources":["useFlatControllableCheckedItems.js"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport * as React from 'react';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useFlatControllableCheckedItems(props, headlessTree) {\n return useControllableState({\n initialState: ImmutableMap.empty,\n state: React.useMemo(()=>props.selectionMode ? props.checkedItems && createCheckedItems(props.checkedItems) : undefined, [\n props.checkedItems,\n props.selectionMode\n ]),\n defaultState: ()=>initializeCheckedItems(props, headlessTree)\n });\n}\nexport function createNextFlatCheckedItems(data, previousCheckedItems, headlessTree) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n const treeItem = headlessTree.get(data.value);\n if (!treeItem) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-tree [useHeadlessFlatTree]:\nTree item ${data.value} not found.`);\n }\n return previousCheckedItems;\n }\n const nextCheckedItems = new Map(previousCheckedItems);\n for (const children of headlessTree.subtree(data.value)){\n nextCheckedItems.set(children.value, data.checked);\n }\n nextCheckedItems.set(data.value, data.checked);\n let isAncestorsMixed = false;\n for (const parent of headlessTree.ancestors(treeItem.value)){\n // if one parent is mixed, all ancestors are mixed\n if (isAncestorsMixed) {\n nextCheckedItems.set(parent.value, 'mixed');\n continue;\n }\n const checkedChildren = [];\n for (const child of headlessTree.children(parent.value)){\n var _nextCheckedItems_get;\n if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {\n checkedChildren.push(child);\n }\n }\n if (checkedChildren.length === parent.childrenValues.length) {\n nextCheckedItems.set(parent.value, data.checked);\n } else {\n // if one parent is mixed, all ancestors are mixed\n isAncestorsMixed = true;\n nextCheckedItems.set(parent.value, 'mixed');\n }\n }\n return ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);\n}\nfunction initializeCheckedItems(props, headlessTree) {\n if (!props.selectionMode) {\n return ImmutableMap.empty;\n }\n let state = createCheckedItems(props.defaultCheckedItems);\n if (props.selectionMode === 'multiselect') {\n for (const [value, checked] of state){\n state = createNextFlatCheckedItems({\n value,\n checked,\n selectionMode: props.selectionMode\n }, state, headlessTree);\n }\n }\n return state;\n}\n"],"names":["useFlatControllableCheckedItems","createNextFlatCheckedItems","props","headlessTree","useControllableState","initialState","ImmutableMap","empty","state","React","useMemo","selectionMode","checkedItems","createCheckedItems","undefined","defaultState","initializeCheckedItems","data","previousCheckedItems","create","value","checked","treeItem","get","process","env","NODE_ENV","console","error","nextCheckedItems","Map","children","subtree","set","isAncestorsMixed","parent","ancestors","checkedChildren","child","_nextCheckedItems_get","push","length","childrenValues","dangerouslyCreate_unstable","defaultCheckedItems"],"mappings":";;;;;;;;;;;IAIgBA,+BAA+B;eAA/BA;;IAUAC,0BAA0B;eAA1BA;;;;gCAdqB;8BACR;iEACN;oCACY;AAC5B,SAASD,gCAAgCE,KAAK,EAAEC,YAAY;IAC/D,OAAOC,IAAAA,oCAAoB,EAAC;QACxBC,cAAcC,0BAAY,CAACC,KAAK;QAChCC,OAAOC,OAAMC,OAAO,CAAC,IAAIR,MAAMS,aAAa,GAAGT,MAAMU,YAAY,IAAIC,IAAAA,sCAAkB,EAACX,MAAMU,YAAY,IAAIE,WAAW;YACrHZ,MAAMU,YAAY;YAClBV,MAAMS,aAAa;SACtB;QACDI,cAAc,IAAIC,uBAAuBd,OAAOC;IACpD;AACJ;AACO,SAASF,2BAA2BgB,IAAI,EAAEC,oBAAoB,EAAEf,YAAY;IAC/E,IAAIc,KAAKN,aAAa,KAAK,UAAU;QACjC,OAAOL,0BAAY,CAACa,MAAM,CAAC;YACvB;gBACIF,KAAKG,KAAK;gBACVH,KAAKI,OAAO;aACf;SACJ;IACL;IACA,MAAMC,WAAWnB,aAAaoB,GAAG,CAACN,KAAKG,KAAK;IAC5C,IAAI,CAACE,UAAU;QACX,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACvC,sCAAsC;YACtCC,QAAQC,KAAK,CAAC,CAAC;UACjB,EAAEX,KAAKG,KAAK,CAAC,WAAW,CAAC;QAC3B;QACA,OAAOF;IACX;IACA,MAAMW,mBAAmB,IAAIC,IAAIZ;IACjC,KAAK,MAAMa,YAAY5B,aAAa6B,OAAO,CAACf,KAAKG,KAAK,EAAE;QACpDS,iBAAiBI,GAAG,CAACF,SAASX,KAAK,EAAEH,KAAKI,OAAO;IACrD;IACAQ,iBAAiBI,GAAG,CAAChB,KAAKG,KAAK,EAAEH,KAAKI,OAAO;IAC7C,IAAIa,mBAAmB;IACvB,KAAK,MAAMC,UAAUhC,aAAaiC,SAAS,CAACd,SAASF,KAAK,EAAE;QACxD,kDAAkD;QAClD,IAAIc,kBAAkB;YAClBL,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAE;YACnC;QACJ;QACA,MAAMiB,kBAAkB,EAAE;QAC1B,KAAK,MAAMC,SAASnC,aAAa4B,QAAQ,CAACI,OAAOf,KAAK,EAAE;YACpD,IAAImB;YACJ,IAAI,AAAC,CAAA,AAACA,CAAAA,wBAAwBV,iBAAiBN,GAAG,CAACe,MAAMlB,KAAK,CAAA,MAAO,QAAQmB,0BAA0B,KAAK,IAAIA,wBAAwB,KAAI,MAAOtB,KAAKI,OAAO,EAAE;gBAC7JgB,gBAAgBG,IAAI,CAACF;YACzB;QACJ;QACA,IAAID,gBAAgBI,MAAM,KAAKN,OAAOO,cAAc,CAACD,MAAM,EAAE;YACzDZ,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAEH,KAAKI,OAAO;QACnD,OAAO;YACH,kDAAkD;YAClDa,mBAAmB;YACnBL,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAE;QACvC;IACJ;IACA,OAAOd,0BAAY,CAACqC,0BAA0B,CAACd;AACnD;AACA,SAASb,uBAAuBd,KAAK,EAAEC,YAAY;IAC/C,IAAI,CAACD,MAAMS,aAAa,EAAE;QACtB,OAAOL,0BAAY,CAACC,KAAK;IAC7B;IACA,IAAIC,QAAQK,IAAAA,sCAAkB,EAACX,MAAM0C,mBAAmB;IACxD,IAAI1C,MAAMS,aAAa,KAAK,eAAe;QACvC,KAAK,MAAM,CAACS,OAAOC,QAAQ,IAAIb,MAAM;YACjCA,QAAQP,2BAA2B;gBAC/BmB;gBACAC;gBACAV,eAAeT,MAAMS,aAAa;YACtC,GAAGH,OAAOL;QACd;IACJ;IACA,OAAOK;AACX"}
1
+ {"version":3,"sources":["useFlatControllableCheckedItems.js"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport * as React from 'react';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useFlatControllableCheckedItems(props, headlessTree) {\n return useControllableState({\n initialState: ImmutableMap.empty,\n state: React.useMemo(()=>props.selectionMode ? props.checkedItems && createCheckedItems(props.checkedItems) : undefined, [\n props.checkedItems,\n props.selectionMode\n ]),\n defaultState: ()=>initializeCheckedItems(props, headlessTree)\n });\n}\nexport function createNextFlatCheckedItems(data, previousCheckedItems, headlessTree) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n const treeItem = headlessTree.get(data.value);\n if (!treeItem) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-tree [useHeadlessFlatTree]:\nTree item ${data.value} not found.`);\n }\n return previousCheckedItems;\n }\n const nextCheckedItems = new Map(previousCheckedItems);\n for (const children of headlessTree.subtree(data.value)){\n nextCheckedItems.set(children.value, data.checked);\n }\n nextCheckedItems.set(data.value, data.checked);\n let isAncestorsMixed = false;\n for (const parent of headlessTree.ancestors(treeItem.value)){\n // if one parent is mixed, all ancestors are mixed\n if (isAncestorsMixed) {\n nextCheckedItems.set(parent.value, 'mixed');\n continue;\n }\n const checkedChildren = [];\n for (const child of headlessTree.children(parent.value)){\n var _nextCheckedItems_get;\n if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {\n checkedChildren.push(child);\n }\n }\n if (checkedChildren.length === parent.childrenValues.length) {\n nextCheckedItems.set(parent.value, data.checked);\n } else {\n // if one parent is mixed, all ancestors are mixed\n isAncestorsMixed = true;\n nextCheckedItems.set(parent.value, 'mixed');\n }\n }\n return ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);\n}\nfunction initializeCheckedItems(props, headlessTree) {\n if (!props.selectionMode) {\n return ImmutableMap.empty;\n }\n let state = createCheckedItems(props.defaultCheckedItems);\n if (props.selectionMode === 'multiselect') {\n for (const [value, checked] of state){\n state = createNextFlatCheckedItems({\n value,\n checked,\n selectionMode: props.selectionMode\n }, state, headlessTree);\n }\n }\n return state;\n}\n"],"names":["createNextFlatCheckedItems","useFlatControllableCheckedItems","props","headlessTree","useControllableState","initialState","ImmutableMap","empty","state","React","useMemo","selectionMode","checkedItems","createCheckedItems","undefined","defaultState","initializeCheckedItems","data","previousCheckedItems","create","value","checked","treeItem","get","process","env","NODE_ENV","console","error","nextCheckedItems","Map","children","subtree","set","isAncestorsMixed","parent","ancestors","checkedChildren","child","_nextCheckedItems_get","push","length","childrenValues","dangerouslyCreate_unstable","defaultCheckedItems"],"mappings":";;;;;;;;;;;IAcgBA,0BAA0B;eAA1BA;;IAVAC,+BAA+B;eAA/BA;;;;gCAJqB;8BACR;iEACN;oCACY;AAC5B,SAASA,gCAAgCC,KAAK,EAAEC,YAAY;IAC/D,OAAOC,IAAAA,oCAAoB,EAAC;QACxBC,cAAcC,0BAAY,CAACC,KAAK;QAChCC,OAAOC,OAAMC,OAAO,CAAC,IAAIR,MAAMS,aAAa,GAAGT,MAAMU,YAAY,IAAIC,IAAAA,sCAAkB,EAACX,MAAMU,YAAY,IAAIE,WAAW;YACrHZ,MAAMU,YAAY;YAClBV,MAAMS,aAAa;SACtB;QACDI,cAAc,IAAIC,uBAAuBd,OAAOC;IACpD;AACJ;AACO,SAASH,2BAA2BiB,IAAI,EAAEC,oBAAoB,EAAEf,YAAY;IAC/E,IAAIc,KAAKN,aAAa,KAAK,UAAU;QACjC,OAAOL,0BAAY,CAACa,MAAM,CAAC;YACvB;gBACIF,KAAKG,KAAK;gBACVH,KAAKI,OAAO;aACf;SACJ;IACL;IACA,MAAMC,WAAWnB,aAAaoB,GAAG,CAACN,KAAKG,KAAK;IAC5C,IAAI,CAACE,UAAU;QACX,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACvC,sCAAsC;YACtCC,QAAQC,KAAK,CAAC,CAAC;UACjB,EAAEX,KAAKG,KAAK,CAAC,WAAW,CAAC;QAC3B;QACA,OAAOF;IACX;IACA,MAAMW,mBAAmB,IAAIC,IAAIZ;IACjC,KAAK,MAAMa,YAAY5B,aAAa6B,OAAO,CAACf,KAAKG,KAAK,EAAE;QACpDS,iBAAiBI,GAAG,CAACF,SAASX,KAAK,EAAEH,KAAKI,OAAO;IACrD;IACAQ,iBAAiBI,GAAG,CAAChB,KAAKG,KAAK,EAAEH,KAAKI,OAAO;IAC7C,IAAIa,mBAAmB;IACvB,KAAK,MAAMC,UAAUhC,aAAaiC,SAAS,CAACd,SAASF,KAAK,EAAE;QACxD,kDAAkD;QAClD,IAAIc,kBAAkB;YAClBL,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAE;YACnC;QACJ;QACA,MAAMiB,kBAAkB,EAAE;QAC1B,KAAK,MAAMC,SAASnC,aAAa4B,QAAQ,CAACI,OAAOf,KAAK,EAAE;YACpD,IAAImB;YACJ,IAAI,AAAC,CAAA,AAACA,CAAAA,wBAAwBV,iBAAiBN,GAAG,CAACe,MAAMlB,KAAK,CAAA,MAAO,QAAQmB,0BAA0B,KAAK,IAAIA,wBAAwB,KAAI,MAAOtB,KAAKI,OAAO,EAAE;gBAC7JgB,gBAAgBG,IAAI,CAACF;YACzB;QACJ;QACA,IAAID,gBAAgBI,MAAM,KAAKN,OAAOO,cAAc,CAACD,MAAM,EAAE;YACzDZ,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAEH,KAAKI,OAAO;QACnD,OAAO;YACH,kDAAkD;YAClDa,mBAAmB;YACnBL,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAE;QACvC;IACJ;IACA,OAAOd,0BAAY,CAACqC,0BAA0B,CAACd;AACnD;AACA,SAASb,uBAAuBd,KAAK,EAAEC,YAAY;IAC/C,IAAI,CAACD,MAAMS,aAAa,EAAE;QACtB,OAAOL,0BAAY,CAACC,KAAK;IAC7B;IACA,IAAIC,QAAQK,IAAAA,sCAAkB,EAACX,MAAM0C,mBAAmB;IACxD,IAAI1C,MAAMS,aAAa,KAAK,eAAe;QACvC,KAAK,MAAM,CAACS,OAAOC,QAAQ,IAAIb,MAAM;YACjCA,QAAQR,2BAA2B;gBAC/BoB;gBACAC;gBACAV,eAAeT,MAAMS,aAAa;YACtC,GAAGH,OAAOL;QACd;IACJ;IACA,OAAOK;AACX"}
@@ -1,4 +1,6 @@
1
- "use strict";
1
+ /**
2
+ * FlatTreeItem Props
3
+ */ "use strict";
2
4
  Object.defineProperty(exports, "__esModule", {
3
5
  value: true
4
6
  });
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
1
+ {"version":3,"sources":["FlatTreeItem.types.js"],"sourcesContent":["/**\n * FlatTreeItem Props\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
@@ -1,4 +1,6 @@
1
- "use strict";
1
+ /**
2
+ * State used in rendering Tree
3
+ */ "use strict";
2
4
  Object.defineProperty(exports, "__esModule", {
3
5
  value: true
4
6
  });
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
1
+ {"version":3,"sources":["Tree.types.js"],"sourcesContent":["/**\n * State used in rendering Tree\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
@@ -9,11 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- useNestedCheckedItems: function() {
13
- return useNestedCheckedItems;
14
- },
15
12
  createNextNestedCheckedItems: function() {
16
13
  return createNextNestedCheckedItems;
14
+ },
15
+ useNestedCheckedItems: function() {
16
+ return useNestedCheckedItems;
17
17
  }
18
18
  });
19
19
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
@@ -1 +1 @@
1
- {"version":3,"sources":["useNestedControllableCheckedItems.js"],"sourcesContent":["import * as React from 'react';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useNestedCheckedItems(props) {\n return React.useMemo(()=>createCheckedItems(props.checkedItems), [\n props.checkedItems\n ]);\n}\nexport function createNextNestedCheckedItems(data, previousCheckedItems) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n if (data.selectionMode === 'multiselect') {\n return previousCheckedItems.set(data.value, data.checked);\n }\n return previousCheckedItems;\n}\n"],"names":["useNestedCheckedItems","createNextNestedCheckedItems","props","React","useMemo","createCheckedItems","checkedItems","data","previousCheckedItems","selectionMode","ImmutableMap","create","value","checked","set"],"mappings":";;;;;;;;;;;IAGgBA,qBAAqB;eAArBA;;IAKAC,4BAA4B;eAA5BA;;;;iEARO;8BACM;oCACM;AAC5B,SAASD,sBAAsBE,KAAK;IACvC,OAAOC,OAAMC,OAAO,CAAC,IAAIC,IAAAA,sCAAkB,EAACH,MAAMI,YAAY,GAAG;QAC7DJ,MAAMI,YAAY;KACrB;AACL;AACO,SAASL,6BAA6BM,IAAI,EAAEC,oBAAoB;IACnE,IAAID,KAAKE,aAAa,KAAK,UAAU;QACjC,OAAOC,0BAAY,CAACC,MAAM,CAAC;YACvB;gBACIJ,KAAKK,KAAK;gBACVL,KAAKM,OAAO;aACf;SACJ;IACL;IACA,IAAIN,KAAKE,aAAa,KAAK,eAAe;QACtC,OAAOD,qBAAqBM,GAAG,CAACP,KAAKK,KAAK,EAAEL,KAAKM,OAAO;IAC5D;IACA,OAAOL;AACX"}
1
+ {"version":3,"sources":["useNestedControllableCheckedItems.js"],"sourcesContent":["import * as React from 'react';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useNestedCheckedItems(props) {\n return React.useMemo(()=>createCheckedItems(props.checkedItems), [\n props.checkedItems\n ]);\n}\nexport function createNextNestedCheckedItems(data, previousCheckedItems) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n if (data.selectionMode === 'multiselect') {\n return previousCheckedItems.set(data.value, data.checked);\n }\n return previousCheckedItems;\n}\n"],"names":["createNextNestedCheckedItems","useNestedCheckedItems","props","React","useMemo","createCheckedItems","checkedItems","data","previousCheckedItems","selectionMode","ImmutableMap","create","value","checked","set"],"mappings":";;;;;;;;;;;IAQgBA,4BAA4B;eAA5BA;;IALAC,qBAAqB;eAArBA;;;;iEAHO;8BACM;oCACM;AAC5B,SAASA,sBAAsBC,KAAK;IACvC,OAAOC,OAAMC,OAAO,CAAC,IAAIC,IAAAA,sCAAkB,EAACH,MAAMI,YAAY,GAAG;QAC7DJ,MAAMI,YAAY;KACrB;AACL;AACO,SAASN,6BAA6BO,IAAI,EAAEC,oBAAoB;IACnE,IAAID,KAAKE,aAAa,KAAK,UAAU;QACjC,OAAOC,0BAAY,CAACC,MAAM,CAAC;YACvB;gBACIJ,KAAKK,KAAK;gBACVL,KAAKM,OAAO;aACf;SACJ;IACL;IACA,IAAIN,KAAKE,aAAa,KAAK,eAAe;QACtC,OAAOD,qBAAqBM,GAAG,CAACP,KAAKK,KAAK,EAAEL,KAAKM,OAAO;IAC5D;IACA,OAAOL;AACX"}
@@ -229,10 +229,8 @@ function useTreeItem_unstable(props, ref) {
229
229
  role: 'treeitem',
230
230
  'aria-level': level,
231
231
  'aria-checked': selectionMode === 'multiselect' ? checked : undefined,
232
- // aria-selected is required according to WAI-ARIA spec
233
- // https://www.w3.org/TR/wai-aria-1.1/#treeitem
234
232
  // Casting: when selectionMode is 'single', checked is a boolean
235
- 'aria-selected': selectionMode === 'single' ? checked : 'false',
233
+ 'aria-selected': selectionMode === 'single' ? checked : undefined,
236
234
  'aria-expanded': itemType === 'branch' ? open : undefined,
237
235
  onClick: handleClick,
238
236
  onKeyDown: handleKeyDown,
@@ -1 +1 @@
1
- {"version":3,"sources":["useTreeItem.js"],"sourcesContent":["import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { getIntrinsicElementProps, useId, useEventCallback, slot, elementContains, useMergedRefs } from '@fluentui/react-utilities';\nimport { Space } from '@fluentui/keyboard-keys';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useTreeContext_unstable, useSubtreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */ export function useTreeItem_unstable(props, ref) {\n const treeType = useTreeContext_unstable((ctx)=>ctx.treeType);\n if (treeType === 'flat') {\n warnIfNoProperPropsFlatTreeItem(props);\n }\n const requestTreeResponse = useTreeContext_unstable((ctx)=>ctx.requestTreeResponse);\n const { level: contextLevel } = useSubtreeContext_unstable();\n const parentValue = useTreeItemContext_unstable((ctx)=>{\n var _props_parentValue;\n return (_props_parentValue = props.parentValue) !== null && _props_parentValue !== void 0 ? _props_parentValue : ctx.value;\n });\n // note, if the value is not externally provided,\n // then selection and expansion will not work properly\n const internalValue = useId('fuiTreeItemValue-');\n var _props_value;\n const value = (_props_value = props.value) !== null && _props_value !== void 0 ? _props_value : internalValue;\n const { onClick, onKeyDown, onChange, as = 'div', itemType = 'leaf', 'aria-level': level = contextLevel, ...rest } = props;\n const actionsRef = React.useRef(null);\n const expandIconRef = React.useRef(null);\n const layoutRef = React.useRef(null);\n const subtreeRef = React.useRef(null);\n const selectionRef = React.useRef(null);\n const treeItemRef = React.useRef(null);\n const open = useTreeContext_unstable((ctx)=>{\n var _props_open;\n return (_props_open = props.open) !== null && _props_open !== void 0 ? _props_open : ctx.openItems.has(value);\n });\n const getNextOpen = ()=>itemType === 'branch' ? !open : open;\n const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);\n const checked = useTreeContext_unstable((ctx)=>{\n var _ctx_checkedItems_get;\n return (_ctx_checkedItems_get = ctx.checkedItems.get(value)) !== null && _ctx_checkedItems_get !== void 0 ? _ctx_checkedItems_get : false;\n });\n const handleClick = useEventCallback((event)=>{\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n const isEventFromSelection = selectionRef.current && elementContains(selectionRef.current, event.target);\n if (isEventFromSelection) {\n return;\n }\n const isEventFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target);\n ReactDOM.unstable_batchedUpdates(()=>{\n var _props_onOpenChange;\n const data = {\n event,\n value,\n open: getNextOpen(),\n target: event.currentTarget,\n type: isEventFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click\n };\n (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, data);\n requestTreeResponse({\n ...data,\n itemType,\n requestType: 'open'\n });\n requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: 'navigate',\n type: treeDataTypes.Click\n });\n });\n });\n const handleKeyDown = useEventCallback((event)=>{\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n // Ignore keyboard events that do not originate from the current tree item.\n if (event.isDefaultPrevented() || event.currentTarget !== event.target) {\n return;\n }\n switch(event.key){\n case Space:\n if (selectionMode !== 'none') {\n var _selectionRef_current;\n (_selectionRef_current = selectionRef.current) === null || _selectionRef_current === void 0 ? void 0 : _selectionRef_current.click();\n // Prevents the page from scrolling down when the spacebar is pressed\n event.preventDefault();\n }\n return;\n case treeDataTypes.Enter:\n {\n return event.currentTarget.click();\n }\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n return requestTreeResponse({\n requestType: 'navigate',\n event,\n value,\n itemType,\n parentValue,\n type: event.key,\n target: event.currentTarget\n });\n case treeDataTypes.ArrowLeft:\n {\n // do not navigate to parent if the item is on the top level\n if (level === 1 && !open) {\n return;\n }\n const data = {\n value,\n event,\n open: getNextOpen(),\n type: event.key,\n target: event.currentTarget\n };\n if (open) {\n var _props_onOpenChange;\n (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, data);\n }\n return requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: open ? 'open' : 'navigate'\n });\n }\n case treeDataTypes.ArrowRight:\n // do not navigate or open if the item is a leaf\n if (itemType === 'leaf') {\n return;\n }\n const data = {\n value,\n event,\n open: getNextOpen(),\n type: event.key,\n target: event.currentTarget\n };\n if (!open) {\n var _props_onOpenChange1;\n (_props_onOpenChange1 = props.onOpenChange) === null || _props_onOpenChange1 === void 0 ? void 0 : _props_onOpenChange1.call(props, event, data);\n }\n return requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: open ? 'navigate' : 'open'\n });\n }\n const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({\n requestType: 'navigate',\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: treeDataTypes.TypeAhead,\n parentValue\n });\n }\n });\n const handleChange = useEventCallback((event)=>{\n onChange === null || onChange === void 0 ? void 0 : onChange(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n requestTreeResponse({\n requestType: 'selection',\n event,\n value,\n itemType,\n type: 'Change',\n target: event.currentTarget,\n checked: checked === 'mixed' ? true : !checked\n });\n });\n return {\n value,\n open,\n checked,\n subtreeRef,\n layoutRef,\n selectionRef,\n expandIconRef,\n treeItemRef,\n actionsRef,\n itemType,\n level,\n components: {\n root: 'div'\n },\n // FIXME: this property is not necessary anymore, but as removing it would be a breaking change, we need to keep it as false\n isAsideVisible: false,\n // FIXME: this property is not necessary anymore, but as removing it would be a breaking change, we need to keep it as false\n isActionsVisible: false,\n root: slot.always(getIntrinsicElementProps(as, {\n tabIndex: -1,\n [dataTreeItemValueAttrName]: value,\n ...rest,\n ref: useMergedRefs(ref, treeItemRef),\n role: 'treeitem',\n 'aria-level': level,\n 'aria-checked': selectionMode === 'multiselect' ? checked : undefined,\n // aria-selected is required according to WAI-ARIA spec\n // https://www.w3.org/TR/wai-aria-1.1/#treeitem\n // Casting: when selectionMode is 'single', checked is a boolean\n 'aria-selected': selectionMode === 'single' ? checked : 'false',\n 'aria-expanded': itemType === 'branch' ? open : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onChange: handleChange\n }), {\n elementType: 'div'\n })\n };\n}\nfunction warnIfNoProperPropsFlatTreeItem(props) {\n if (process.env.NODE_ENV !== 'production') {\n if (props['aria-posinset'] === undefined || props['aria-setsize'] === undefined || props['aria-level'] === undefined || props.parentValue === undefined && props['aria-level'] !== 1) {\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-tree [${useTreeItem_unstable.name}]:\nA flat treeitem must have \"aria-posinset\", \"aria-setsize\", \"aria-level\"\nand \"parentValue\" (if \"aria-level\" > 1) to ensure a11y and navigation.\n\n- \"aria-posinset\": the position of this treeitem in the current level of the tree.\n- \"aria-setsize\": the number of siblings in this level of the tree.\n- \"aria-level\": the current level of the treeitem.\n- \"parentValue\": the \"value\" property of the parent item of this item.`);\n }\n }\n}\n"],"names":["useTreeItem_unstable","props","ref","treeType","useTreeContext_unstable","ctx","warnIfNoProperPropsFlatTreeItem","requestTreeResponse","level","contextLevel","useSubtreeContext_unstable","parentValue","useTreeItemContext_unstable","_props_parentValue","value","internalValue","useId","_props_value","onClick","onKeyDown","onChange","as","itemType","rest","actionsRef","React","useRef","expandIconRef","layoutRef","subtreeRef","selectionRef","treeItemRef","open","_props_open","openItems","has","getNextOpen","selectionMode","checked","_ctx_checkedItems_get","checkedItems","get","handleClick","useEventCallback","event","isDefaultPrevented","isEventFromActions","current","elementContains","target","isEventFromSubtree","isEventFromSelection","isEventFromExpandIcon","ReactDOM","unstable_batchedUpdates","_props_onOpenChange","data","currentTarget","type","treeDataTypes","ExpandIconClick","Click","onOpenChange","call","requestType","handleKeyDown","key","Space","_selectionRef_current","click","preventDefault","Enter","End","Home","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","_props_onOpenChange1","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleChange","components","root","isAsideVisible","isActionsVisible","slot","always","getIntrinsicElementProps","tabIndex","dataTreeItemValueAttrName","useMergedRefs","role","undefined","elementType","process","env","NODE_ENV","console","error","name"],"mappings":";;;;+BAeoBA;;;eAAAA;;;;iEAfG;oEACG;gCAC8E;8BAClF;wBACQ;0BACmE;6CACvD;AAS/B,SAASA,qBAAqBC,KAAK,EAAEC,GAAG;IAC/C,MAAMC,WAAWC,IAAAA,iCAAuB,EAAC,CAACC,MAAMA,IAAIF,QAAQ;IAC5D,IAAIA,aAAa,QAAQ;QACrBG,gCAAgCL;IACpC;IACA,MAAMM,sBAAsBH,IAAAA,iCAAuB,EAAC,CAACC,MAAMA,IAAIE,mBAAmB;IAClF,MAAM,EAAEC,OAAOC,YAAY,EAAE,GAAGC,IAAAA,oCAA0B;IAC1D,MAAMC,cAAcC,IAAAA,qCAA2B,EAAC,CAACP;QAC7C,IAAIQ;QACJ,OAAO,AAACA,CAAAA,qBAAqBZ,MAAMU,WAAW,AAAD,MAAO,QAAQE,uBAAuB,KAAK,IAAIA,qBAAqBR,IAAIS,KAAK;IAC9H;IACA,iDAAiD;IACjD,sDAAsD;IACtD,MAAMC,gBAAgBC,IAAAA,qBAAK,EAAC;IAC5B,IAAIC;IACJ,MAAMH,QAAQ,AAACG,CAAAA,eAAehB,MAAMa,KAAK,AAAD,MAAO,QAAQG,iBAAiB,KAAK,IAAIA,eAAeF;IAChG,MAAM,EAAEG,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,KAAK,KAAK,EAAEC,WAAW,MAAM,EAAE,cAAcd,QAAQC,YAAY,EAAE,GAAGc,MAAM,GAAGtB;IACrH,MAAMuB,aAAaC,OAAMC,MAAM,CAAC;IAChC,MAAMC,gBAAgBF,OAAMC,MAAM,CAAC;IACnC,MAAME,YAAYH,OAAMC,MAAM,CAAC;IAC/B,MAAMG,aAAaJ,OAAMC,MAAM,CAAC;IAChC,MAAMI,eAAeL,OAAMC,MAAM,CAAC;IAClC,MAAMK,cAAcN,OAAMC,MAAM,CAAC;IACjC,MAAMM,OAAO5B,IAAAA,iCAAuB,EAAC,CAACC;QAClC,IAAI4B;QACJ,OAAO,AAACA,CAAAA,cAAchC,MAAM+B,IAAI,AAAD,MAAO,QAAQC,gBAAgB,KAAK,IAAIA,cAAc5B,IAAI6B,SAAS,CAACC,GAAG,CAACrB;IAC3G;IACA,MAAMsB,cAAc,IAAId,aAAa,WAAW,CAACU,OAAOA;IACxD,MAAMK,gBAAgBjC,IAAAA,iCAAuB,EAAC,CAACC,MAAMA,IAAIgC,aAAa;IACtE,MAAMC,UAAUlC,IAAAA,iCAAuB,EAAC,CAACC;QACrC,IAAIkC;QACJ,OAAO,AAACA,CAAAA,wBAAwBlC,IAAImC,YAAY,CAACC,GAAG,CAAC3B,MAAK,MAAO,QAAQyB,0BAA0B,KAAK,IAAIA,wBAAwB;IACxI;IACA,MAAMG,cAAcC,IAAAA,gCAAgB,EAAC,CAACC;QAClC1B,YAAY,QAAQA,YAAY,KAAK,IAAI,KAAK,IAAIA,QAAQ0B;QAC1D,IAAIA,MAAMC,kBAAkB,IAAI;YAC5B;QACJ;QACA,MAAMC,qBAAqBtB,WAAWuB,OAAO,IAAIC,IAAAA,+BAAe,EAACxB,WAAWuB,OAAO,EAAEH,MAAMK,MAAM;QACjG,IAAIH,oBAAoB;YACpB;QACJ;QACA,MAAMI,qBAAqBrB,WAAWkB,OAAO,IAAIC,IAAAA,+BAAe,EAACnB,WAAWkB,OAAO,EAAEH,MAAMK,MAAM;QACjG,IAAIC,oBAAoB;YACpB;QACJ;QACA,MAAMC,uBAAuBrB,aAAaiB,OAAO,IAAIC,IAAAA,+BAAe,EAAClB,aAAaiB,OAAO,EAAEH,MAAMK,MAAM;QACvG,IAAIE,sBAAsB;YACtB;QACJ;QACA,MAAMC,wBAAwBzB,cAAcoB,OAAO,IAAIC,IAAAA,+BAAe,EAACrB,cAAcoB,OAAO,EAAEH,MAAMK,MAAM;QAC1GI,UAASC,uBAAuB,CAAC;YAC7B,IAAIC;YACJ,MAAMC,OAAO;gBACTZ;gBACA9B;gBACAkB,MAAMI;gBACNa,QAAQL,MAAMa,aAAa;gBAC3BC,MAAMN,wBAAwBO,qBAAa,CAACC,eAAe,GAAGD,qBAAa,CAACE,KAAK;YACrF;YACCN,CAAAA,sBAAsBtD,MAAM6D,YAAY,AAAD,MAAO,QAAQP,wBAAwB,KAAK,IAAI,KAAK,IAAIA,oBAAoBQ,IAAI,CAAC9D,OAAO2C,OAAOY;YACxIjD,oBAAoB;gBAChB,GAAGiD,IAAI;gBACPlC;gBACA0C,aAAa;YACjB;YACAzD,oBAAoB;gBAChB,GAAGiD,IAAI;gBACPlC;gBACAX;gBACAqD,aAAa;gBACbN,MAAMC,qBAAa,CAACE,KAAK;YAC7B;QACJ;IACJ;IACA,MAAMI,gBAAgBtB,IAAAA,gCAAgB,EAAC,CAACC;QACpCzB,cAAc,QAAQA,cAAc,KAAK,IAAI,KAAK,IAAIA,UAAUyB;QAChE,2EAA2E;QAC3E,IAAIA,MAAMC,kBAAkB,MAAMD,MAAMa,aAAa,KAAKb,MAAMK,MAAM,EAAE;YACpE;QACJ;QACA,OAAOL,MAAMsB,GAAG;YACZ,KAAKC,mBAAK;gBACN,IAAI9B,kBAAkB,QAAQ;oBAC1B,IAAI+B;oBACHA,CAAAA,wBAAwBtC,aAAaiB,OAAO,AAAD,MAAO,QAAQqB,0BAA0B,KAAK,IAAI,KAAK,IAAIA,sBAAsBC,KAAK;oBAClI,qEAAqE;oBACrEzB,MAAM0B,cAAc;gBACxB;gBACA;YACJ,KAAKX,qBAAa,CAACY,KAAK;gBACpB;oBACI,OAAO3B,MAAMa,aAAa,CAACY,KAAK;gBACpC;YACJ,KAAKV,qBAAa,CAACa,GAAG;YACtB,KAAKb,qBAAa,CAACc,IAAI;YACvB,KAAKd,qBAAa,CAACe,OAAO;YAC1B,KAAKf,qBAAa,CAACgB,SAAS;gBACxB,OAAOpE,oBAAoB;oBACvByD,aAAa;oBACbpB;oBACA9B;oBACAQ;oBACAX;oBACA+C,MAAMd,MAAMsB,GAAG;oBACfjB,QAAQL,MAAMa,aAAa;gBAC/B;YACJ,KAAKE,qBAAa,CAACiB,SAAS;gBACxB;oBACI,4DAA4D;oBAC5D,IAAIpE,UAAU,KAAK,CAACwB,MAAM;wBACtB;oBACJ;oBACA,MAAMwB,OAAO;wBACT1C;wBACA8B;wBACAZ,MAAMI;wBACNsB,MAAMd,MAAMsB,GAAG;wBACfjB,QAAQL,MAAMa,aAAa;oBAC/B;oBACA,IAAIzB,MAAM;wBACN,IAAIuB;wBACHA,CAAAA,sBAAsBtD,MAAM6D,YAAY,AAAD,MAAO,QAAQP,wBAAwB,KAAK,IAAI,KAAK,IAAIA,oBAAoBQ,IAAI,CAAC9D,OAAO2C,OAAOY;oBAC5I;oBACA,OAAOjD,oBAAoB;wBACvB,GAAGiD,IAAI;wBACPlC;wBACAX;wBACAqD,aAAahC,OAAO,SAAS;oBACjC;gBACJ;YACJ,KAAK2B,qBAAa,CAACkB,UAAU;gBACzB,gDAAgD;gBAChD,IAAIvD,aAAa,QAAQ;oBACrB;gBACJ;gBACA,MAAMkC,OAAO;oBACT1C;oBACA8B;oBACAZ,MAAMI;oBACNsB,MAAMd,MAAMsB,GAAG;oBACfjB,QAAQL,MAAMa,aAAa;gBAC/B;gBACA,IAAI,CAACzB,MAAM;oBACP,IAAI8C;oBACHA,CAAAA,uBAAuB7E,MAAM6D,YAAY,AAAD,MAAO,QAAQgB,yBAAyB,KAAK,IAAI,KAAK,IAAIA,qBAAqBf,IAAI,CAAC9D,OAAO2C,OAAOY;gBAC/I;gBACA,OAAOjD,oBAAoB;oBACvB,GAAGiD,IAAI;oBACPlC;oBACAX;oBACAqD,aAAahC,OAAO,aAAa;gBACrC;QACR;QACA,MAAM+C,uBAAuBnC,MAAMsB,GAAG,CAACc,MAAM,KAAK,KAAKpC,MAAMsB,GAAG,CAACe,KAAK,CAAC,SAAS,CAACrC,MAAMsC,MAAM,IAAI,CAACtC,MAAMuC,OAAO,IAAI,CAACvC,MAAMwC,OAAO;QACjI,IAAIL,sBAAsB;YACtBxE,oBAAoB;gBAChByD,aAAa;gBACbpB;gBACAK,QAAQL,MAAMa,aAAa;gBAC3B3C;gBACAQ;gBACAoC,MAAMC,qBAAa,CAAC0B,SAAS;gBAC7B1E;YACJ;QACJ;IACJ;IACA,MAAM2E,eAAe3C,IAAAA,gCAAgB,EAAC,CAACC;QACnCxB,aAAa,QAAQA,aAAa,KAAK,IAAI,KAAK,IAAIA,SAASwB;QAC7D,IAAIA,MAAMC,kBAAkB,IAAI;YAC5B;QACJ;QACA,MAAMK,qBAAqBrB,WAAWkB,OAAO,IAAIC,IAAAA,+BAAe,EAACnB,WAAWkB,OAAO,EAAEH,MAAMK,MAAM;QACjG,IAAIC,oBAAoB;YACpB;QACJ;QACA3C,oBAAoB;YAChByD,aAAa;YACbpB;YACA9B;YACAQ;YACAoC,MAAM;YACNT,QAAQL,MAAMa,aAAa;YAC3BnB,SAASA,YAAY,UAAU,OAAO,CAACA;QAC3C;IACJ;IACA,OAAO;QACHxB;QACAkB;QACAM;QACAT;QACAD;QACAE;QACAH;QACAI;QACAP;QACAF;QACAd;QACA+E,YAAY;YACRC,MAAM;QACV;QACA,4HAA4H;QAC5HC,gBAAgB;QAChB,4HAA4H;QAC5HC,kBAAkB;QAClBF,MAAMG,oBAAI,CAACC,MAAM,CAACC,IAAAA,wCAAwB,EAACxE,IAAI;YAC3CyE,UAAU,CAAC;YACX,CAACC,sDAAyB,CAAC,EAAEjF;YAC7B,GAAGS,IAAI;YACPrB,KAAK8F,IAAAA,6BAAa,EAAC9F,KAAK6B;YACxBkE,MAAM;YACN,cAAczF;YACd,gBAAgB6B,kBAAkB,gBAAgBC,UAAU4D;YAC5D,uDAAuD;YACvD,+CAA+C;YAC/C,gEAAgE;YAChE,iBAAiB7D,kBAAkB,WAAWC,UAAU;YACxD,iBAAiBhB,aAAa,WAAWU,OAAOkE;YAChDhF,SAASwB;YACTvB,WAAW8C;YACX7C,UAAUkE;QACd,IAAI;YACAa,aAAa;QACjB;IACJ;AACJ;AACA,SAAS7F,gCAAgCL,KAAK;IAC1C,IAAImG,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACvC,IAAIrG,KAAK,CAAC,gBAAgB,KAAKiG,aAAajG,KAAK,CAAC,eAAe,KAAKiG,aAAajG,KAAK,CAAC,aAAa,KAAKiG,aAAajG,MAAMU,WAAW,KAAKuF,aAAajG,KAAK,CAAC,aAAa,KAAK,GAAG;YAClL,sCAAsC;YACtCsG,QAAQC,KAAK,CAAC,CAAC,sBAAsB,EAAExG,qBAAqByG,IAAI,CAAC;;;;;;;sEAOP,CAAC;QAC/D;IACJ;AACJ"}
1
+ {"version":3,"sources":["useTreeItem.js"],"sourcesContent":["import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { getIntrinsicElementProps, useId, useEventCallback, slot, elementContains, useMergedRefs } from '@fluentui/react-utilities';\nimport { Space } from '@fluentui/keyboard-keys';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useTreeContext_unstable, useSubtreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */ export function useTreeItem_unstable(props, ref) {\n const treeType = useTreeContext_unstable((ctx)=>ctx.treeType);\n if (treeType === 'flat') {\n warnIfNoProperPropsFlatTreeItem(props);\n }\n const requestTreeResponse = useTreeContext_unstable((ctx)=>ctx.requestTreeResponse);\n const { level: contextLevel } = useSubtreeContext_unstable();\n const parentValue = useTreeItemContext_unstable((ctx)=>{\n var _props_parentValue;\n return (_props_parentValue = props.parentValue) !== null && _props_parentValue !== void 0 ? _props_parentValue : ctx.value;\n });\n // note, if the value is not externally provided,\n // then selection and expansion will not work properly\n const internalValue = useId('fuiTreeItemValue-');\n var _props_value;\n const value = (_props_value = props.value) !== null && _props_value !== void 0 ? _props_value : internalValue;\n const { onClick, onKeyDown, onChange, as = 'div', itemType = 'leaf', 'aria-level': level = contextLevel, ...rest } = props;\n const actionsRef = React.useRef(null);\n const expandIconRef = React.useRef(null);\n const layoutRef = React.useRef(null);\n const subtreeRef = React.useRef(null);\n const selectionRef = React.useRef(null);\n const treeItemRef = React.useRef(null);\n const open = useTreeContext_unstable((ctx)=>{\n var _props_open;\n return (_props_open = props.open) !== null && _props_open !== void 0 ? _props_open : ctx.openItems.has(value);\n });\n const getNextOpen = ()=>itemType === 'branch' ? !open : open;\n const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);\n const checked = useTreeContext_unstable((ctx)=>{\n var _ctx_checkedItems_get;\n return (_ctx_checkedItems_get = ctx.checkedItems.get(value)) !== null && _ctx_checkedItems_get !== void 0 ? _ctx_checkedItems_get : false;\n });\n const handleClick = useEventCallback((event)=>{\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n const isEventFromSelection = selectionRef.current && elementContains(selectionRef.current, event.target);\n if (isEventFromSelection) {\n return;\n }\n const isEventFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target);\n ReactDOM.unstable_batchedUpdates(()=>{\n var _props_onOpenChange;\n const data = {\n event,\n value,\n open: getNextOpen(),\n target: event.currentTarget,\n type: isEventFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click\n };\n (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, data);\n requestTreeResponse({\n ...data,\n itemType,\n requestType: 'open'\n });\n requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: 'navigate',\n type: treeDataTypes.Click\n });\n });\n });\n const handleKeyDown = useEventCallback((event)=>{\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n // Ignore keyboard events that do not originate from the current tree item.\n if (event.isDefaultPrevented() || event.currentTarget !== event.target) {\n return;\n }\n switch(event.key){\n case Space:\n if (selectionMode !== 'none') {\n var _selectionRef_current;\n (_selectionRef_current = selectionRef.current) === null || _selectionRef_current === void 0 ? void 0 : _selectionRef_current.click();\n // Prevents the page from scrolling down when the spacebar is pressed\n event.preventDefault();\n }\n return;\n case treeDataTypes.Enter:\n {\n return event.currentTarget.click();\n }\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n return requestTreeResponse({\n requestType: 'navigate',\n event,\n value,\n itemType,\n parentValue,\n type: event.key,\n target: event.currentTarget\n });\n case treeDataTypes.ArrowLeft:\n {\n // do not navigate to parent if the item is on the top level\n if (level === 1 && !open) {\n return;\n }\n const data = {\n value,\n event,\n open: getNextOpen(),\n type: event.key,\n target: event.currentTarget\n };\n if (open) {\n var _props_onOpenChange;\n (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, data);\n }\n return requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: open ? 'open' : 'navigate'\n });\n }\n case treeDataTypes.ArrowRight:\n // do not navigate or open if the item is a leaf\n if (itemType === 'leaf') {\n return;\n }\n const data = {\n value,\n event,\n open: getNextOpen(),\n type: event.key,\n target: event.currentTarget\n };\n if (!open) {\n var _props_onOpenChange1;\n (_props_onOpenChange1 = props.onOpenChange) === null || _props_onOpenChange1 === void 0 ? void 0 : _props_onOpenChange1.call(props, event, data);\n }\n return requestTreeResponse({\n ...data,\n itemType,\n parentValue,\n requestType: open ? 'navigate' : 'open'\n });\n }\n const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({\n requestType: 'navigate',\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: treeDataTypes.TypeAhead,\n parentValue\n });\n }\n });\n const handleChange = useEventCallback((event)=>{\n onChange === null || onChange === void 0 ? void 0 : onChange(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n requestTreeResponse({\n requestType: 'selection',\n event,\n value,\n itemType,\n type: 'Change',\n target: event.currentTarget,\n checked: checked === 'mixed' ? true : !checked\n });\n });\n return {\n value,\n open,\n checked,\n subtreeRef,\n layoutRef,\n selectionRef,\n expandIconRef,\n treeItemRef,\n actionsRef,\n itemType,\n level,\n components: {\n root: 'div'\n },\n // FIXME: this property is not necessary anymore, but as removing it would be a breaking change, we need to keep it as false\n isAsideVisible: false,\n // FIXME: this property is not necessary anymore, but as removing it would be a breaking change, we need to keep it as false\n isActionsVisible: false,\n root: slot.always(getIntrinsicElementProps(as, {\n tabIndex: -1,\n [dataTreeItemValueAttrName]: value,\n ...rest,\n ref: useMergedRefs(ref, treeItemRef),\n role: 'treeitem',\n 'aria-level': level,\n 'aria-checked': selectionMode === 'multiselect' ? checked : undefined,\n // Casting: when selectionMode is 'single', checked is a boolean\n 'aria-selected': selectionMode === 'single' ? checked : undefined,\n 'aria-expanded': itemType === 'branch' ? open : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onChange: handleChange\n }), {\n elementType: 'div'\n })\n };\n}\nfunction warnIfNoProperPropsFlatTreeItem(props) {\n if (process.env.NODE_ENV !== 'production') {\n if (props['aria-posinset'] === undefined || props['aria-setsize'] === undefined || props['aria-level'] === undefined || props.parentValue === undefined && props['aria-level'] !== 1) {\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-tree [${useTreeItem_unstable.name}]:\nA flat treeitem must have \"aria-posinset\", \"aria-setsize\", \"aria-level\"\nand \"parentValue\" (if \"aria-level\" > 1) to ensure a11y and navigation.\n\n- \"aria-posinset\": the position of this treeitem in the current level of the tree.\n- \"aria-setsize\": the number of siblings in this level of the tree.\n- \"aria-level\": the current level of the treeitem.\n- \"parentValue\": the \"value\" property of the parent item of this item.`);\n }\n }\n}\n"],"names":["useTreeItem_unstable","props","ref","treeType","useTreeContext_unstable","ctx","warnIfNoProperPropsFlatTreeItem","requestTreeResponse","level","contextLevel","useSubtreeContext_unstable","parentValue","useTreeItemContext_unstable","_props_parentValue","value","internalValue","useId","_props_value","onClick","onKeyDown","onChange","as","itemType","rest","actionsRef","React","useRef","expandIconRef","layoutRef","subtreeRef","selectionRef","treeItemRef","open","_props_open","openItems","has","getNextOpen","selectionMode","checked","_ctx_checkedItems_get","checkedItems","get","handleClick","useEventCallback","event","isDefaultPrevented","isEventFromActions","current","elementContains","target","isEventFromSubtree","isEventFromSelection","isEventFromExpandIcon","ReactDOM","unstable_batchedUpdates","_props_onOpenChange","data","currentTarget","type","treeDataTypes","ExpandIconClick","Click","onOpenChange","call","requestType","handleKeyDown","key","Space","_selectionRef_current","click","preventDefault","Enter","End","Home","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","_props_onOpenChange1","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleChange","components","root","isAsideVisible","isActionsVisible","slot","always","getIntrinsicElementProps","tabIndex","dataTreeItemValueAttrName","useMergedRefs","role","undefined","elementType","process","env","NODE_ENV","console","error","name"],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- "use strict";
1
+ /**
2
+ * State used in rendering TreeItemLayout
3
+ */ "use strict";
2
4
  Object.defineProperty(exports, "__esModule", {
3
5
  value: true
4
6
  });
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
1
+ {"version":3,"sources":["TreeItemLayout.types.js"],"sourcesContent":["/**\n * State used in rendering TreeItemLayout\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
@@ -1,4 +1,6 @@
1
- "use strict";
1
+ /**
2
+ * State used in rendering TreeItemPersonaLayout
3
+ */ "use strict";
2
4
  Object.defineProperty(exports, "__esModule", {
3
5
  value: true
4
6
  });
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
1
+ {"version":3,"sources":["TreeItemPersonaLayout.types.js"],"sourcesContent":["/**\n * State used in rendering TreeItemPersonaLayout\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
@@ -9,11 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- useControllableOpenItems: function() {
13
- return useControllableOpenItems;
14
- },
15
12
  createNextOpenItems: function() {
16
13
  return createNextOpenItems;
14
+ },
15
+ useControllableOpenItems: function() {
16
+ return useControllableOpenItems;
17
17
  }
18
18
  });
19
19
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
@@ -1 +1 @@
1
- {"version":3,"sources":["useControllableOpenItems.js"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport { createOpenItems } from '../utils/createOpenItems';\n/**\n * @internal\n */ export function useControllableOpenItems(props) {\n return useControllableState({\n state: React.useMemo(()=>props.openItems && createOpenItems(props.openItems), [\n props.openItems\n ]),\n defaultState: ()=>createOpenItems(props.defaultOpenItems),\n initialState: ImmutableSet.empty\n });\n}\n/**\n * @internal\n */ export function createNextOpenItems(data, previousOpenItems) {\n if (data.value === null) {\n return previousOpenItems;\n }\n const previousOpenItemsHasId = previousOpenItems.has(data.value);\n if (data.open ? previousOpenItemsHasId : !previousOpenItemsHasId) {\n return previousOpenItems;\n }\n const nextOpenItems = ImmutableSet.create(previousOpenItems);\n return data.open ? nextOpenItems.add(data.value) : nextOpenItems.delete(data.value);\n}\n"],"names":["useControllableOpenItems","createNextOpenItems","props","useControllableState","state","React","useMemo","openItems","createOpenItems","defaultState","defaultOpenItems","initialState","ImmutableSet","empty","data","previousOpenItems","value","previousOpenItemsHasId","has","open","nextOpenItems","create","add","delete"],"mappings":";;;;;;;;;;;IAMoBA,wBAAwB;eAAxBA;;IAWAC,mBAAmB;eAAnBA;;;;gCAjBiB;iEACd;8BACM;iCACG;AAGrB,SAASD,yBAAyBE,KAAK;IAC9C,OAAOC,IAAAA,oCAAoB,EAAC;QACxBC,OAAOC,OAAMC,OAAO,CAAC,IAAIJ,MAAMK,SAAS,IAAIC,IAAAA,gCAAe,EAACN,MAAMK,SAAS,GAAG;YAC1EL,MAAMK,SAAS;SAClB;QACDE,cAAc,IAAID,IAAAA,gCAAe,EAACN,MAAMQ,gBAAgB;QACxDC,cAAcC,0BAAY,CAACC,KAAK;IACpC;AACJ;AAGW,SAASZ,oBAAoBa,IAAI,EAAEC,iBAAiB;IAC3D,IAAID,KAAKE,KAAK,KAAK,MAAM;QACrB,OAAOD;IACX;IACA,MAAME,yBAAyBF,kBAAkBG,GAAG,CAACJ,KAAKE,KAAK;IAC/D,IAAIF,KAAKK,IAAI,GAAGF,yBAAyB,CAACA,wBAAwB;QAC9D,OAAOF;IACX;IACA,MAAMK,gBAAgBR,0BAAY,CAACS,MAAM,CAACN;IAC1C,OAAOD,KAAKK,IAAI,GAAGC,cAAcE,GAAG,CAACR,KAAKE,KAAK,IAAII,cAAcG,MAAM,CAACT,KAAKE,KAAK;AACtF"}
1
+ {"version":3,"sources":["useControllableOpenItems.js"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport { createOpenItems } from '../utils/createOpenItems';\n/**\n * @internal\n */ export function useControllableOpenItems(props) {\n return useControllableState({\n state: React.useMemo(()=>props.openItems && createOpenItems(props.openItems), [\n props.openItems\n ]),\n defaultState: ()=>createOpenItems(props.defaultOpenItems),\n initialState: ImmutableSet.empty\n });\n}\n/**\n * @internal\n */ export function createNextOpenItems(data, previousOpenItems) {\n if (data.value === null) {\n return previousOpenItems;\n }\n const previousOpenItemsHasId = previousOpenItems.has(data.value);\n if (data.open ? previousOpenItemsHasId : !previousOpenItemsHasId) {\n return previousOpenItems;\n }\n const nextOpenItems = ImmutableSet.create(previousOpenItems);\n return data.open ? nextOpenItems.add(data.value) : nextOpenItems.delete(data.value);\n}\n"],"names":["createNextOpenItems","useControllableOpenItems","props","useControllableState","state","React","useMemo","openItems","createOpenItems","defaultState","defaultOpenItems","initialState","ImmutableSet","empty","data","previousOpenItems","value","previousOpenItemsHasId","has","open","nextOpenItems","create","add","delete"],"mappings":";;;;;;;;;;;IAiBoBA,mBAAmB;eAAnBA;;IAXAC,wBAAwB;eAAxBA;;;;gCANiB;iEACd;8BACM;iCACG;AAGrB,SAASA,yBAAyBC,KAAK;IAC9C,OAAOC,IAAAA,oCAAoB,EAAC;QACxBC,OAAOC,OAAMC,OAAO,CAAC,IAAIJ,MAAMK,SAAS,IAAIC,IAAAA,gCAAe,EAACN,MAAMK,SAAS,GAAG;YAC1EL,MAAMK,SAAS;SAClB;QACDE,cAAc,IAAID,IAAAA,gCAAe,EAACN,MAAMQ,gBAAgB;QACxDC,cAAcC,0BAAY,CAACC,KAAK;IACpC;AACJ;AAGW,SAASb,oBAAoBc,IAAI,EAAEC,iBAAiB;IAC3D,IAAID,KAAKE,KAAK,KAAK,MAAM;QACrB,OAAOD;IACX;IACA,MAAME,yBAAyBF,kBAAkBG,GAAG,CAACJ,KAAKE,KAAK;IAC/D,IAAIF,KAAKK,IAAI,GAAGF,yBAAyB,CAACA,wBAAwB;QAC9D,OAAOF;IACX;IACA,MAAMK,gBAAgBR,0BAAY,CAACS,MAAM,CAACN;IAC1C,OAAOD,KAAKK,IAAI,GAAGC,cAAcE,GAAG,CAACR,KAAKE,KAAK,IAAII,cAAcG,MAAM,CAACT,KAAKE,KAAK;AACtF"}
@@ -9,92 +9,92 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ FlatTree: function() {
13
+ return _FlatTree.FlatTree;
14
+ },
15
+ FlatTreeItem: function() {
16
+ return _FlatTreeItem.FlatTreeItem;
17
+ },
12
18
  Tree: function() {
13
19
  return _Tree.Tree;
14
20
  },
15
- treeClassNames: function() {
16
- return _Tree.treeClassNames;
17
- },
18
- useTree_unstable: function() {
19
- return _Tree.useTree_unstable;
21
+ TreeItem: function() {
22
+ return _TreeItem.TreeItem;
20
23
  },
21
- useTreeStyles_unstable: function() {
22
- return _Tree.useTreeStyles_unstable;
24
+ TreeItemLayout: function() {
25
+ return _TreeItemLayout.TreeItemLayout;
23
26
  },
24
- useTreeContextValues_unstable: function() {
25
- return _Tree.useTreeContextValues_unstable;
27
+ TreeItemPersonaLayout: function() {
28
+ return _TreeItemPersonaLayout.TreeItemPersonaLayout;
26
29
  },
27
- renderTree_unstable: function() {
28
- return _Tree.renderTree_unstable;
30
+ TreeItemProvider: function() {
31
+ return _contexts.TreeItemProvider;
29
32
  },
30
- FlatTree: function() {
31
- return _FlatTree.FlatTree;
33
+ TreeProvider: function() {
34
+ return _TreeProvider.TreeProvider;
32
35
  },
33
36
  flatTreeClassNames: function() {
34
37
  return _FlatTree.flatTreeClassNames;
35
38
  },
36
- useFlatTree_unstable: function() {
37
- return _FlatTree.useFlatTree_unstable;
38
- },
39
- useFlatTreeStyles_unstable: function() {
40
- return _FlatTree.useFlatTreeStyles_unstable;
41
- },
42
- useFlatTreeContextValues_unstable: function() {
43
- return _FlatTree.useFlatTreeContextValues_unstable;
39
+ flattenTree_unstable: function() {
40
+ return _flattenTree.flattenTree_unstable;
44
41
  },
45
42
  renderFlatTree_unstable: function() {
46
43
  return _FlatTree.renderFlatTree_unstable;
47
44
  },
48
- TreeProvider: function() {
49
- return _TreeProvider.TreeProvider;
45
+ renderTreeItemLayout_unstable: function() {
46
+ return _TreeItemLayout.renderTreeItemLayout_unstable;
50
47
  },
51
- useTreeContext_unstable: function() {
52
- return _contexts.useTreeContext_unstable;
48
+ renderTreeItemPersonaLayout_unstable: function() {
49
+ return _TreeItemPersonaLayout.renderTreeItemPersonaLayout_unstable;
53
50
  },
54
- useTreeItemContext_unstable: function() {
55
- return _contexts.useTreeItemContext_unstable;
51
+ renderTreeItem_unstable: function() {
52
+ return _TreeItem.renderTreeItem_unstable;
56
53
  },
57
- useSubtreeContext_unstable: function() {
58
- return _contexts.useSubtreeContext_unstable;
54
+ renderTree_unstable: function() {
55
+ return _Tree.renderTree_unstable;
59
56
  },
60
- TreeItemProvider: function() {
61
- return _contexts.TreeItemProvider;
57
+ treeClassNames: function() {
58
+ return _Tree.treeClassNames;
59
+ },
60
+ treeItemClassNames: function() {
61
+ return _TreeItem.treeItemClassNames;
62
+ },
63
+ treeItemLayoutClassNames: function() {
64
+ return _TreeItemLayout.treeItemLayoutClassNames;
62
65
  },
63
66
  treeItemLevelToken: function() {
64
67
  return _tokens.treeItemLevelToken;
65
68
  },
66
- useHeadlessFlatTree_unstable: function() {
67
- return _useHeadlessFlatTree.useHeadlessFlatTree_unstable;
68
- },
69
- TreeItem: function() {
70
- return _TreeItem.TreeItem;
69
+ treeItemPersonaLayoutClassNames: function() {
70
+ return _TreeItemPersonaLayout.treeItemPersonaLayoutClassNames;
71
71
  },
72
- treeItemClassNames: function() {
73
- return _TreeItem.treeItemClassNames;
72
+ useFlatTreeContextValues_unstable: function() {
73
+ return _FlatTree.useFlatTreeContextValues_unstable;
74
74
  },
75
- renderTreeItem_unstable: function() {
76
- return _TreeItem.renderTreeItem_unstable;
75
+ useFlatTreeStyles_unstable: function() {
76
+ return _FlatTree.useFlatTreeStyles_unstable;
77
77
  },
78
- useTreeItemStyles_unstable: function() {
79
- return _TreeItem.useTreeItemStyles_unstable;
78
+ useFlatTree_unstable: function() {
79
+ return _FlatTree.useFlatTree_unstable;
80
80
  },
81
- useTreeItemContextValues_unstable: function() {
82
- return _TreeItem.useTreeItemContextValues_unstable;
81
+ useHeadlessFlatTree_unstable: function() {
82
+ return _useHeadlessFlatTree.useHeadlessFlatTree_unstable;
83
83
  },
84
- useTreeItem_unstable: function() {
85
- return _TreeItem.useTreeItem_unstable;
84
+ useSubtreeContext_unstable: function() {
85
+ return _contexts.useSubtreeContext_unstable;
86
86
  },
87
- FlatTreeItem: function() {
88
- return _FlatTreeItem.FlatTreeItem;
87
+ useTreeContextValues_unstable: function() {
88
+ return _Tree.useTreeContextValues_unstable;
89
89
  },
90
- TreeItemLayout: function() {
91
- return _TreeItemLayout.TreeItemLayout;
90
+ useTreeContext_unstable: function() {
91
+ return _contexts.useTreeContext_unstable;
92
92
  },
93
- treeItemLayoutClassNames: function() {
94
- return _TreeItemLayout.treeItemLayoutClassNames;
93
+ useTreeItemContextValues_unstable: function() {
94
+ return _TreeItem.useTreeItemContextValues_unstable;
95
95
  },
96
- renderTreeItemLayout_unstable: function() {
97
- return _TreeItemLayout.renderTreeItemLayout_unstable;
96
+ useTreeItemContext_unstable: function() {
97
+ return _contexts.useTreeItemContext_unstable;
98
98
  },
99
99
  useTreeItemLayoutStyles_unstable: function() {
100
100
  return _TreeItemLayout.useTreeItemLayoutStyles_unstable;
@@ -102,23 +102,23 @@ _export(exports, {
102
102
  useTreeItemLayout_unstable: function() {
103
103
  return _TreeItemLayout.useTreeItemLayout_unstable;
104
104
  },
105
- TreeItemPersonaLayout: function() {
106
- return _TreeItemPersonaLayout.TreeItemPersonaLayout;
107
- },
108
- treeItemPersonaLayoutClassNames: function() {
109
- return _TreeItemPersonaLayout.treeItemPersonaLayoutClassNames;
110
- },
111
- renderTreeItemPersonaLayout_unstable: function() {
112
- return _TreeItemPersonaLayout.renderTreeItemPersonaLayout_unstable;
113
- },
114
105
  useTreeItemPersonaLayoutStyles_unstable: function() {
115
106
  return _TreeItemPersonaLayout.useTreeItemPersonaLayoutStyles_unstable;
116
107
  },
117
108
  useTreeItemPersonaLayout_unstable: function() {
118
109
  return _TreeItemPersonaLayout.useTreeItemPersonaLayout_unstable;
119
110
  },
120
- flattenTree_unstable: function() {
121
- return _flattenTree.flattenTree_unstable;
111
+ useTreeItemStyles_unstable: function() {
112
+ return _TreeItem.useTreeItemStyles_unstable;
113
+ },
114
+ useTreeItem_unstable: function() {
115
+ return _TreeItem.useTreeItem_unstable;
116
+ },
117
+ useTreeStyles_unstable: function() {
118
+ return _Tree.useTreeStyles_unstable;
119
+ },
120
+ useTree_unstable: function() {
121
+ return _Tree.useTree_unstable;
122
122
  }
123
123
  });
124
124
  const _Tree = require("./Tree");
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js"],"sourcesContent":["export { Tree, treeClassNames, useTree_unstable, useTreeStyles_unstable, useTreeContextValues_unstable, renderTree_unstable } from './Tree';\nexport { FlatTree, flatTreeClassNames, useFlatTree_unstable, useFlatTreeStyles_unstable, useFlatTreeContextValues_unstable, renderFlatTree_unstable } from './FlatTree';\nexport { TreeProvider } from './components/TreeProvider';\nexport { useTreeContext_unstable, useTreeItemContext_unstable, useSubtreeContext_unstable, TreeItemProvider } from './contexts';\nexport { treeItemLevelToken } from './utils/tokens';\nexport { useHeadlessFlatTree_unstable } from './components/FlatTree/useHeadlessFlatTree';\nexport { TreeItem, treeItemClassNames, renderTreeItem_unstable, useTreeItemStyles_unstable, useTreeItemContextValues_unstable, useTreeItem_unstable } from './TreeItem';\nexport { FlatTreeItem } from './FlatTreeItem';\nexport { TreeItemLayout, treeItemLayoutClassNames, renderTreeItemLayout_unstable, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from './TreeItemLayout';\nexport { TreeItemPersonaLayout, treeItemPersonaLayoutClassNames, renderTreeItemPersonaLayout_unstable, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from './TreeItemPersonaLayout';\nexport { flattenTree_unstable } from './utils/flattenTree';\n"],"names":["Tree","treeClassNames","useTree_unstable","useTreeStyles_unstable","useTreeContextValues_unstable","renderTree_unstable","FlatTree","flatTreeClassNames","useFlatTree_unstable","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable","TreeProvider","useTreeContext_unstable","useTreeItemContext_unstable","useSubtreeContext_unstable","TreeItemProvider","treeItemLevelToken","useHeadlessFlatTree_unstable","TreeItem","treeItemClassNames","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItemContextValues_unstable","useTreeItem_unstable","FlatTreeItem","TreeItemLayout","treeItemLayoutClassNames","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable","TreeItemPersonaLayout","treeItemPersonaLayoutClassNames","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable","flattenTree_unstable"],"mappings":";;;;;;;;;;;IAASA,IAAI;eAAJA,UAAI;;IAAEC,cAAc;eAAdA,oBAAc;;IAAEC,gBAAgB;eAAhBA,sBAAgB;;IAAEC,sBAAsB;eAAtBA,4BAAsB;;IAAEC,6BAA6B;eAA7BA,mCAA6B;;IAAEC,mBAAmB;eAAnBA,yBAAmB;;IAClHC,QAAQ;eAARA,kBAAQ;;IAAEC,kBAAkB;eAAlBA,4BAAkB;;IAAEC,oBAAoB;eAApBA,8BAAoB;;IAAEC,0BAA0B;eAA1BA,oCAA0B;;IAAEC,iCAAiC;eAAjCA,2CAAiC;;IAAEC,uBAAuB;eAAvBA,iCAAuB;;IAC1IC,YAAY;eAAZA,0BAAY;;IACZC,uBAAuB;eAAvBA,iCAAuB;;IAAEC,2BAA2B;eAA3BA,qCAA2B;;IAAEC,0BAA0B;eAA1BA,oCAA0B;;IAAEC,gBAAgB;eAAhBA,0BAAgB;;IAClGC,kBAAkB;eAAlBA,0BAAkB;;IAClBC,4BAA4B;eAA5BA,iDAA4B;;IAC5BC,QAAQ;eAARA,kBAAQ;;IAAEC,kBAAkB;eAAlBA,4BAAkB;;IAAEC,uBAAuB;eAAvBA,iCAAuB;;IAAEC,0BAA0B;eAA1BA,oCAA0B;;IAAEC,iCAAiC;eAAjCA,2CAAiC;;IAAEC,oBAAoB;eAApBA,8BAAoB;;IAC1IC,YAAY;eAAZA,0BAAY;;IACZC,cAAc;eAAdA,8BAAc;;IAAEC,wBAAwB;eAAxBA,wCAAwB;;IAAEC,6BAA6B;eAA7BA,6CAA6B;;IAAEC,gCAAgC;eAAhCA,gDAAgC;;IAAEC,0BAA0B;eAA1BA,0CAA0B;;IACrIC,qBAAqB;eAArBA,4CAAqB;;IAAEC,+BAA+B;eAA/BA,sDAA+B;;IAAEC,oCAAoC;eAApCA,2DAAoC;;IAAEC,uCAAuC;eAAvCA,8DAAuC;;IAAEC,iCAAiC;eAAjCA,wDAAiC;;IACxKC,oBAAoB;eAApBA,iCAAoB;;;sBAVsG;0BACwB;8BAC9H;0BACsF;wBAChF;qCACU;0BAC8G;8BAC9H;gCACyH;uCACmC;6BACpJ"}
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["export { Tree, treeClassNames, useTree_unstable, useTreeStyles_unstable, useTreeContextValues_unstable, renderTree_unstable } from './Tree';\nexport { FlatTree, flatTreeClassNames, useFlatTree_unstable, useFlatTreeStyles_unstable, useFlatTreeContextValues_unstable, renderFlatTree_unstable } from './FlatTree';\nexport { TreeProvider } from './components/TreeProvider';\nexport { useTreeContext_unstable, useTreeItemContext_unstable, useSubtreeContext_unstable, TreeItemProvider } from './contexts';\nexport { treeItemLevelToken } from './utils/tokens';\nexport { useHeadlessFlatTree_unstable } from './components/FlatTree/useHeadlessFlatTree';\nexport { TreeItem, treeItemClassNames, renderTreeItem_unstable, useTreeItemStyles_unstable, useTreeItemContextValues_unstable, useTreeItem_unstable } from './TreeItem';\nexport { FlatTreeItem } from './FlatTreeItem';\nexport { TreeItemLayout, treeItemLayoutClassNames, renderTreeItemLayout_unstable, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from './TreeItemLayout';\nexport { TreeItemPersonaLayout, treeItemPersonaLayoutClassNames, renderTreeItemPersonaLayout_unstable, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from './TreeItemPersonaLayout';\nexport { flattenTree_unstable } from './utils/flattenTree';\n"],"names":["FlatTree","FlatTreeItem","Tree","TreeItem","TreeItemLayout","TreeItemPersonaLayout","TreeItemProvider","TreeProvider","flatTreeClassNames","flattenTree_unstable","renderFlatTree_unstable","renderTreeItemLayout_unstable","renderTreeItemPersonaLayout_unstable","renderTreeItem_unstable","renderTree_unstable","treeClassNames","treeItemClassNames","treeItemLayoutClassNames","treeItemLevelToken","treeItemPersonaLayoutClassNames","useFlatTreeContextValues_unstable","useFlatTreeStyles_unstable","useFlatTree_unstable","useHeadlessFlatTree_unstable","useSubtreeContext_unstable","useTreeContextValues_unstable","useTreeContext_unstable","useTreeItemContextValues_unstable","useTreeItemContext_unstable","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable","useTreeItemStyles_unstable","useTreeItem_unstable","useTreeStyles_unstable","useTree_unstable"],"mappings":";;;;;;;;;;;IACSA,QAAQ;eAARA,kBAAQ;;IAMRC,YAAY;eAAZA,0BAAY;;IAPZC,IAAI;eAAJA,UAAI;;IAMJC,QAAQ;eAARA,kBAAQ;;IAERC,cAAc;eAAdA,8BAAc;;IACdC,qBAAqB;eAArBA,4CAAqB;;IAN6DC,gBAAgB;eAAhBA,0BAAgB;;IADlGC,YAAY;eAAZA,0BAAY;;IADFC,kBAAkB;eAAlBA,4BAAkB;;IAS5BC,oBAAoB;eAApBA,iCAAoB;;IAT+FC,uBAAuB;eAAvBA,iCAAuB;;IAOhGC,6BAA6B;eAA7BA,6CAA6B;;IACfC,oCAAoC;eAApCA,2DAAoC;;IAH9DC,uBAAuB;eAAvBA,iCAAuB;;IAN0CC,mBAAmB;eAAnBA,yBAAmB;;IAA5GC,cAAc;eAAdA,oBAAc;;IAMVC,kBAAkB;eAAlBA,4BAAkB;;IAEZC,wBAAwB;eAAxBA,wCAAwB;;IAJxCC,kBAAkB;eAAlBA,0BAAkB;;IAKKC,+BAA+B;eAA/BA,sDAA+B;;IAR0BC,iCAAiC;eAAjCA,2CAAiC;;IAA7DC,0BAA0B;eAA1BA,oCAA0B;;IAAhDC,oBAAoB;eAApBA,8BAAoB;;IAIlDC,4BAA4B;eAA5BA,iDAA4B;;IAF0BC,0BAA0B;eAA1BA,oCAA0B;;IAHhBC,6BAA6B;eAA7BA,mCAA6B;;IAG7FC,uBAAuB;eAAvBA,iCAAuB;;IAG4DC,iCAAiC;eAAjCA,2CAAiC;;IAH3FC,2BAA2B;eAA3BA,qCAA2B;;IAKqBC,gCAAgC;eAAhCA,gDAAgC;;IAAEC,0BAA0B;eAA1BA,0CAA0B;;IACvCC,uCAAuC;eAAvCA,8DAAuC;;IAAEC,iCAAiC;eAAjCA,wDAAiC;;IAHjHC,0BAA0B;eAA1BA,oCAA0B;;IAAqCC,oBAAoB;eAApBA,8BAAoB;;IANlGC,sBAAsB;eAAtBA,4BAAsB;;IAAxCC,gBAAgB;eAAhBA,sBAAgB;;;sBAAoF;0BACwB;8BAC9H;0BACsF;wBAChF;qCACU;0BAC8G;8BAC9H;gCACyH;uCACmC;6BACpJ"}
@@ -9,14 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- treeItemLevelToken: function() {
13
- return treeItemLevelToken;
14
- },
15
12
  treeAvatarSize: function() {
16
13
  return treeAvatarSize;
17
14
  },
18
15
  treeDataTypes: function() {
19
16
  return treeDataTypes;
17
+ },
18
+ treeItemLevelToken: function() {
19
+ return treeItemLevelToken;
20
20
  }
21
21
  });
22
22
  const _keyboardkeys = require("@fluentui/keyboard-keys");
@@ -1 +1 @@
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 Change: 'Change'\n};\n"],"names":["treeItemLevelToken","treeAvatarSize","treeDataTypes","medium","small","ArrowLeft","ArrowRight","Enter","Click","ExpandIconClick","End","Home","ArrowUp","ArrowDown","TypeAhead","Change"],"mappings":";;;;;;;;;;;IACaA,kBAAkB;eAAlBA;;IACAC,cAAc;eAAdA;;IAIAC,aAAa;eAAbA;;;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;IACXC,QAAQ;AACZ"}
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 Change: 'Change'\n};\n"],"names":["treeAvatarSize","treeDataTypes","treeItemLevelToken","medium","small","ArrowLeft","ArrowRight","Enter","Click","ExpandIconClick","End","Home","ArrowUp","ArrowDown","TypeAhead","Change"],"mappings":";;;;;;;;;;;IAEaA,cAAc;eAAdA;;IAIAC,aAAa;eAAbA;;IALAC,kBAAkB;eAAlBA;;;8BAD+D;AACrE,MAAMA,qBAAqB;AAC3B,MAAMF,iBAAiB;IAC1BG,QAAQ;IACRC,OAAO;AACX;AACO,MAAMH,gBAAgB;IACzBI,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;IACXC,QAAQ;AACZ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-tree",
3
- "version": "9.4.32",
3
+ "version": "9.4.34",
4
4
  "description": "Tree component for Fluent UI React",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -37,18 +37,18 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@fluentui/keyboard-keys": "^9.0.7",
40
- "@fluentui/react-aria": "^9.9.1",
41
- "@fluentui/react-avatar": "^9.6.16",
42
- "@fluentui/react-button": "^9.3.70",
43
- "@fluentui/react-checkbox": "^9.2.14",
44
- "@fluentui/react-context-selector": "^9.1.53",
40
+ "@fluentui/react-aria": "^9.10.1",
41
+ "@fluentui/react-avatar": "^9.6.18",
42
+ "@fluentui/react-button": "^9.3.72",
43
+ "@fluentui/react-checkbox": "^9.2.16",
44
+ "@fluentui/react-context-selector": "^9.1.55",
45
45
  "@fluentui/react-icons": "^2.0.224",
46
- "@fluentui/react-radio": "^9.2.9",
47
- "@fluentui/react-shared-contexts": "^9.14.1",
48
- "@fluentui/react-tabster": "^9.19.2",
49
- "@fluentui/react-theme": "^9.1.16",
50
- "@fluentui/react-utilities": "^9.18.2",
51
- "@fluentui/react-jsx-runtime": "^9.0.31",
46
+ "@fluentui/react-radio": "^9.2.11",
47
+ "@fluentui/react-shared-contexts": "^9.15.1",
48
+ "@fluentui/react-tabster": "^9.19.4",
49
+ "@fluentui/react-theme": "^9.1.18",
50
+ "@fluentui/react-utilities": "^9.18.4",
51
+ "@fluentui/react-jsx-runtime": "^9.0.33",
52
52
  "@griffel/react": "^1.5.14",
53
53
  "@swc/helpers": "^0.5.1"
54
54
  },