@fluentui/react-migration-v0-v9 9.0.53 → 9.1.0

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 (79) hide show
  1. package/CHANGELOG.md +28 -2
  2. package/dist/index.d.ts +181 -0
  3. package/lib/components/List/List/List.js +14 -0
  4. package/lib/components/List/List/List.js.map +1 -0
  5. package/lib/components/List/List/List.types.js +1 -0
  6. package/lib/components/List/List/List.types.js.map +1 -0
  7. package/lib/components/List/List/index.js +5 -0
  8. package/lib/components/List/List/index.js.map +1 -0
  9. package/lib/components/List/List/listContext.js +9 -0
  10. package/lib/components/List/List/listContext.js.map +1 -0
  11. package/lib/components/List/List/renderList.js +12 -0
  12. package/lib/components/List/List/renderList.js.map +1 -0
  13. package/lib/components/List/List/useList.js +65 -0
  14. package/lib/components/List/List/useList.js.map +1 -0
  15. package/lib/components/List/List/useListContextValues.js +13 -0
  16. package/lib/components/List/List/useListContextValues.js.map +1 -0
  17. package/lib/components/List/List/useListStyles.styles.js +33 -0
  18. package/lib/components/List/List/useListStyles.styles.js.map +1 -0
  19. package/lib/components/List/ListItem/ListItem.js +12 -0
  20. package/lib/components/List/ListItem/ListItem.js.map +1 -0
  21. package/lib/components/List/ListItem/ListItem.types.js +1 -0
  22. package/lib/components/List/ListItem/ListItem.types.js.map +1 -0
  23. package/lib/components/List/ListItem/index.js +5 -0
  24. package/lib/components/List/ListItem/index.js.map +1 -0
  25. package/lib/components/List/ListItem/renderListItem.js +19 -0
  26. package/lib/components/List/ListItem/renderListItem.js.map +1 -0
  27. package/lib/components/List/ListItem/useListItem.js +118 -0
  28. package/lib/components/List/ListItem/useListItem.js.map +1 -0
  29. package/lib/components/List/ListItem/useListItemStyles.styles.js +58 -0
  30. package/lib/components/List/ListItem/useListItemStyles.styles.js.map +1 -0
  31. package/lib/components/List/hooks/index.js +1 -0
  32. package/lib/components/List/hooks/index.js.map +1 -0
  33. package/lib/components/List/hooks/types.js +1 -0
  34. package/lib/components/List/hooks/types.js.map +1 -0
  35. package/lib/components/List/hooks/useListSelection.js +41 -0
  36. package/lib/components/List/hooks/useListSelection.js.map +1 -0
  37. package/lib/components/List/index.js +3 -0
  38. package/lib/components/List/index.js.map +1 -0
  39. package/lib/index.js +1 -0
  40. package/lib/index.js.map +1 -1
  41. package/lib-commonjs/components/List/List/List.js +25 -0
  42. package/lib-commonjs/components/List/List/List.js.map +1 -0
  43. package/lib-commonjs/components/List/List/List.types.js +6 -0
  44. package/lib-commonjs/components/List/List/List.types.js.map +1 -0
  45. package/lib-commonjs/components/List/List/index.js +10 -0
  46. package/lib-commonjs/components/List/List/index.js.map +1 -0
  47. package/lib-commonjs/components/List/List/listContext.js +30 -0
  48. package/lib-commonjs/components/List/List/listContext.js.map +1 -0
  49. package/lib-commonjs/components/List/List/renderList.js +20 -0
  50. package/lib-commonjs/components/List/List/renderList.js.map +1 -0
  51. package/lib-commonjs/components/List/List/useList.js +68 -0
  52. package/lib-commonjs/components/List/List/useList.js.map +1 -0
  53. package/lib-commonjs/components/List/List/useListContextValues.js +23 -0
  54. package/lib-commonjs/components/List/List/useListContextValues.js.map +1 -0
  55. package/lib-commonjs/components/List/List/useListStyles.styles.js +51 -0
  56. package/lib-commonjs/components/List/List/useListStyles.styles.js.map +1 -0
  57. package/lib-commonjs/components/List/ListItem/ListItem.js +23 -0
  58. package/lib-commonjs/components/List/ListItem/ListItem.js.map +1 -0
  59. package/lib-commonjs/components/List/ListItem/ListItem.types.js +6 -0
  60. package/lib-commonjs/components/List/ListItem/ListItem.types.js.map +1 -0
  61. package/lib-commonjs/components/List/ListItem/index.js +10 -0
  62. package/lib-commonjs/components/List/ListItem/index.js.map +1 -0
  63. package/lib-commonjs/components/List/ListItem/renderListItem.js +27 -0
  64. package/lib-commonjs/components/List/ListItem/renderListItem.js.map +1 -0
  65. package/lib-commonjs/components/List/ListItem/useListItem.js +121 -0
  66. package/lib-commonjs/components/List/ListItem/useListItem.js.map +1 -0
  67. package/lib-commonjs/components/List/ListItem/useListItemStyles.styles.js +85 -0
  68. package/lib-commonjs/components/List/ListItem/useListItemStyles.styles.js.map +1 -0
  69. package/lib-commonjs/components/List/hooks/index.js +6 -0
  70. package/lib-commonjs/components/List/hooks/index.js.map +1 -0
  71. package/lib-commonjs/components/List/hooks/types.js +6 -0
  72. package/lib-commonjs/components/List/hooks/types.js.map +1 -0
  73. package/lib-commonjs/components/List/hooks/useListSelection.js +52 -0
  74. package/lib-commonjs/components/List/hooks/useListSelection.js.map +1 -0
  75. package/lib-commonjs/components/List/index.js +48 -0
  76. package/lib-commonjs/components/List/index.js.map +1 -0
  77. package/lib-commonjs/index.js +34 -0
  78. package/lib-commonjs/index.js.map +1 -1
  79. package/package.json +10 -7
@@ -0,0 +1,118 @@
1
+ import { useARIAButtonProps } from '@fluentui/react-aria';
2
+ import { getIntrinsicElementProps, slot, useEventCallback, useId } from '@fluentui/react-utilities';
3
+ import * as React from 'react';
4
+ import { useListContext_unstable } from '../List/listContext';
5
+ const DEFAULT_ROOT_EL_TYPE = 'li';
6
+ function validateProperElementTypes(parentRenderedAs, renderedAs) {
7
+ if (process.env.NODE_ENV === 'production') {
8
+ return;
9
+ }
10
+ if (renderedAs === 'div' && parentRenderedAs !== 'div') {
11
+ throw new Error('ListItem cannot be rendered as a div when its parent is not a div.');
12
+ }
13
+ if (renderedAs === 'li' && parentRenderedAs === 'div') {
14
+ throw new Error('ListItem cannot be rendered as a li when its parent is a div.');
15
+ }
16
+ }
17
+ function validateNavigableWhenOnClickPresent(navigable, onClick) {
18
+ if (process.env.NODE_ENV === 'production') {
19
+ return;
20
+ }
21
+ if (onClick && !navigable) {
22
+ throw new Error('ListItem must be navigable when onClick is present. Set navigable={true} on the List.');
23
+ }
24
+ }
25
+ /**
26
+ * Create the state required to render ListItem.
27
+ *
28
+ * The returned state can be modified with hooks such as useListItemStyles_unstable,
29
+ * before being passed to renderListItem_unstable.
30
+ *
31
+ * @param props - props from this instance of ListItem
32
+ * @param ref - reference to root HTMLLIElement | HTMLDivElementof ListItem
33
+ */ export const useListItem_unstable = (props, ref)=>{
34
+ const id = useId('listItem');
35
+ const { value = id, truncateHeader, truncateContent, onClick, onKeyDown, onKeyUp } = props;
36
+ const navigable = useListContext_unstable((ctx)=>ctx.navigable);
37
+ const toggleItem = useListContext_unstable((ctx)=>{
38
+ var _ctx_selection;
39
+ return (_ctx_selection = ctx.selection) === null || _ctx_selection === void 0 ? void 0 : _ctx_selection.toggleItem;
40
+ });
41
+ const isSelectionEnabled = useListContext_unstable((ctx)=>!!ctx.selection);
42
+ const isSelected = useListContext_unstable((ctx)=>{
43
+ var _ctx_selection;
44
+ return (_ctx_selection = ctx.selection) === null || _ctx_selection === void 0 ? void 0 : _ctx_selection.isSelected(value);
45
+ });
46
+ const truncateHeaderOnList = useListContext_unstable((ctx)=>ctx.truncateHeader);
47
+ const truncateContentOnList = useListContext_unstable((ctx)=>ctx.truncateContent);
48
+ const parentRenderedAs = useListContext_unstable((ctx)=>ctx.as);
49
+ const renderedAs = props.as || DEFAULT_ROOT_EL_TYPE;
50
+ validateProperElementTypes(parentRenderedAs, renderedAs);
51
+ validateNavigableWhenOnClickPresent(navigable, onClick);
52
+ const handleClick = useEventCallback((e)=>{
53
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
54
+ if (!isSelectionEnabled || e.defaultPrevented) {
55
+ return;
56
+ }
57
+ toggleItem === null || toggleItem === void 0 ? void 0 : toggleItem(e, value);
58
+ });
59
+ // This will give us the onKeyDown and onKeyUp props for Enter and Space
60
+ const buttonProps = useARIAButtonProps('div', {
61
+ onClick: handleClick,
62
+ onKeyDown: onKeyDown,
63
+ onKeyUp: onKeyUp
64
+ });
65
+ const root = slot.always(getIntrinsicElementProps(DEFAULT_ROOT_EL_TYPE, {
66
+ ref: ref,
67
+ tabIndex: navigable || isSelectionEnabled ? 0 : undefined,
68
+ role: navigable ? 'menuitem' : 'listitem',
69
+ id: String(value),
70
+ ...isSelectionEnabled && {
71
+ role: 'option',
72
+ 'aria-selected': isSelected
73
+ },
74
+ ...props,
75
+ onKeyDown: buttonProps.onKeyDown,
76
+ onKeyUp: buttonProps.onKeyUp,
77
+ onClick: buttonProps.onClick
78
+ }), {
79
+ elementType: DEFAULT_ROOT_EL_TYPE
80
+ });
81
+ const state = {
82
+ components: {
83
+ root: DEFAULT_ROOT_EL_TYPE,
84
+ media: 'div',
85
+ header: 'div',
86
+ contentWrapper: 'div',
87
+ headerMedia: 'div',
88
+ contentMedia: 'div',
89
+ endMedia: 'div'
90
+ },
91
+ root,
92
+ navigable,
93
+ selectable: isSelectionEnabled,
94
+ selected: isSelected,
95
+ media: slot.optional(props.media, {
96
+ elementType: 'div'
97
+ }),
98
+ header: slot.optional(props.header, {
99
+ elementType: 'div'
100
+ }),
101
+ contentWrapper: slot.optional(props.contentWrapper, {
102
+ elementType: 'div',
103
+ renderByDefault: true
104
+ }),
105
+ headerMedia: slot.optional(props.headerMedia, {
106
+ elementType: 'div'
107
+ }),
108
+ contentMedia: slot.optional(props.contentMedia, {
109
+ elementType: 'div'
110
+ }),
111
+ endMedia: slot.optional(props.endMedia, {
112
+ elementType: 'div'
113
+ }),
114
+ truncateHeader: truncateHeader !== null && truncateHeader !== void 0 ? truncateHeader : truncateHeaderOnList,
115
+ truncateContent: truncateContent !== null && truncateContent !== void 0 ? truncateContent : truncateContentOnList
116
+ };
117
+ return state;
118
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useListItem.tsx"],"sourcesContent":["import { useARIAButtonProps } from '@fluentui/react-aria';\nimport { getIntrinsicElementProps, slot, useEventCallback, useId } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useListContext_unstable } from '../List/listContext';\nimport type { ListItemProps, ListItemState } from './ListItem.types';\n\nconst DEFAULT_ROOT_EL_TYPE = 'li';\n\nfunction validateProperElementTypes(parentRenderedAs?: 'div' | 'ul' | 'ol', renderedAs?: 'div' | 'li') {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n if (renderedAs === 'div' && parentRenderedAs !== 'div') {\n throw new Error('ListItem cannot be rendered as a div when its parent is not a div.');\n }\n if (renderedAs === 'li' && parentRenderedAs === 'div') {\n throw new Error('ListItem cannot be rendered as a li when its parent is a div.');\n }\n}\n\nfunction validateNavigableWhenOnClickPresent(navigable: boolean, onClick?: React.MouseEventHandler) {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n if (onClick && !navigable) {\n throw new Error('ListItem must be navigable when onClick is present. Set navigable={true} on the List.');\n }\n}\n\n/**\n * Create the state required to render ListItem.\n *\n * The returned state can be modified with hooks such as useListItemStyles_unstable,\n * before being passed to renderListItem_unstable.\n *\n * @param props - props from this instance of ListItem\n * @param ref - reference to root HTMLLIElement | HTMLDivElementof ListItem\n */\nexport const useListItem_unstable = (\n props: ListItemProps,\n ref: React.Ref<HTMLLIElement | HTMLDivElement>,\n): ListItemState => {\n const id = useId('listItem');\n const { value = id, truncateHeader, truncateContent, onClick, onKeyDown, onKeyUp } = props;\n\n const navigable = useListContext_unstable(ctx => ctx.navigable);\n const toggleItem = useListContext_unstable(ctx => ctx.selection?.toggleItem);\n const isSelectionEnabled = useListContext_unstable(ctx => !!ctx.selection);\n const isSelected = useListContext_unstable(ctx => ctx.selection?.isSelected(value));\n\n const truncateHeaderOnList = useListContext_unstable(ctx => ctx.truncateHeader);\n const truncateContentOnList = useListContext_unstable(ctx => ctx.truncateContent);\n\n const parentRenderedAs = useListContext_unstable(ctx => ctx.as);\n const renderedAs = props.as || DEFAULT_ROOT_EL_TYPE;\n\n validateProperElementTypes(parentRenderedAs, renderedAs);\n\n validateNavigableWhenOnClickPresent(navigable, onClick);\n\n const handleClick: React.MouseEventHandler<HTMLLIElement & HTMLDivElement> = useEventCallback(e => {\n onClick?.(e);\n\n if (!isSelectionEnabled || e.defaultPrevented) {\n return;\n }\n\n toggleItem?.(e, value);\n });\n\n // This will give us the onKeyDown and onKeyUp props for Enter and Space\n const buttonProps = useARIAButtonProps('div', {\n onClick: handleClick,\n onKeyDown: onKeyDown as React.KeyboardEventHandler<HTMLLIElement & HTMLDivElement>,\n onKeyUp: onKeyUp as React.KeyboardEventHandler<HTMLLIElement & HTMLDivElement>,\n });\n\n const root = slot.always(\n getIntrinsicElementProps(DEFAULT_ROOT_EL_TYPE, {\n ref: ref as React.Ref<HTMLLIElement & HTMLDivElement>,\n tabIndex: navigable || isSelectionEnabled ? 0 : undefined,\n role: navigable ? 'menuitem' : 'listitem',\n id: String(value),\n ...(isSelectionEnabled && {\n role: 'option',\n 'aria-selected': isSelected,\n }),\n ...props,\n onKeyDown: buttonProps.onKeyDown as React.KeyboardEventHandler<HTMLLIElement & HTMLDivElement>,\n onKeyUp: buttonProps.onKeyUp as React.KeyboardEventHandler<HTMLLIElement & HTMLDivElement>,\n onClick: buttonProps.onClick as React.MouseEventHandler<HTMLLIElement & HTMLDivElement>,\n }),\n { elementType: DEFAULT_ROOT_EL_TYPE },\n );\n\n const state: ListItemState = {\n components: {\n root: DEFAULT_ROOT_EL_TYPE,\n media: 'div',\n header: 'div',\n contentWrapper: 'div',\n headerMedia: 'div',\n contentMedia: 'div',\n endMedia: 'div',\n },\n root,\n navigable,\n selectable: isSelectionEnabled,\n selected: isSelected,\n media: slot.optional(props.media, { elementType: 'div' }),\n header: slot.optional(props.header, { elementType: 'div' }),\n contentWrapper: slot.optional(props.contentWrapper, { elementType: 'div', renderByDefault: true }),\n headerMedia: slot.optional(props.headerMedia, { elementType: 'div' }),\n contentMedia: slot.optional(props.contentMedia, { elementType: 'div' }),\n endMedia: slot.optional(props.endMedia, { elementType: 'div' }),\n truncateHeader: truncateHeader ?? truncateHeaderOnList,\n truncateContent: truncateContent ?? truncateContentOnList,\n };\n\n return state;\n};\n"],"names":["useARIAButtonProps","getIntrinsicElementProps","slot","useEventCallback","useId","React","useListContext_unstable","DEFAULT_ROOT_EL_TYPE","validateProperElementTypes","parentRenderedAs","renderedAs","process","env","NODE_ENV","Error","validateNavigableWhenOnClickPresent","navigable","onClick","useListItem_unstable","props","ref","id","value","truncateHeader","truncateContent","onKeyDown","onKeyUp","ctx","toggleItem","selection","isSelectionEnabled","isSelected","truncateHeaderOnList","truncateContentOnList","as","handleClick","e","defaultPrevented","buttonProps","root","always","tabIndex","undefined","role","String","elementType","state","components","media","header","contentWrapper","headerMedia","contentMedia","endMedia","selectable","selected","optional","renderByDefault"],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { __styles, __resetStyles, mergeClasses, shorthands } from '@griffel/react';
2
+ import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
3
+ import { tokens } from '@fluentui/react-theme';
4
+ export const listItemClassNames = {
5
+ root: 'fui-ListItem',
6
+ media: 'fui-ListItem__media',
7
+ header: 'fui-ListItem__header',
8
+ contentWrapper: 'fui-ListItem__contentWrapper',
9
+ headerMedia: 'fui-ListItem__headerMedia',
10
+ contentMedia: 'fui-ListItem__contentMedia',
11
+ endMedia: 'fui-ListItem__endMedia'
12
+ };
13
+ const useRootBaseStyles = /*#__PURE__*/__resetStyles("rigpsx1", "r1tw60jj", [".rigpsx1{padding-top:0;padding-right:10px;padding-bottom:0;padding-left:10px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;text-indent:0;list-style-type:none;}", ".rigpsx1[data-fui-focus-visible]{outline-width:var(--strokeWidthThick);outline-style:solid;outline-color:var(--colorStrokeFocus2);border-bottom-right-radius:var(--borderRadiusMedium);border-bottom-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);}", ".r1tw60jj{padding-top:0;padding-left:10px;padding-bottom:0;padding-right:10px;margin-top:0;margin-left:0;margin-bottom:0;margin-right:0;text-indent:0;list-style-type:none;}", ".r1tw60jj[data-fui-focus-visible]{outline-width:var(--strokeWidthThick);outline-style:solid;outline-color:var(--colorStrokeFocus2);border-bottom-left-radius:var(--borderRadiusMedium);border-bottom-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);}"]);
14
+ /**
15
+ * Styles for the root slot
16
+ */
17
+ const useStyles = /*#__PURE__*/__styles({
18
+ contentWrapper: {
19
+ Be2twd7: "fy9rknc"
20
+ },
21
+ contentWrapperWithoutMedia: {
22
+ Bw0ie65: "fsyjsko"
23
+ },
24
+ truncate: {
25
+ B68tc82: "f1p9o1ba",
26
+ Bmxbyg5: "f1sil6mw",
27
+ j4b8c3: "fv6wr3j",
28
+ ygn44y: "f1cmbuwj"
29
+ },
30
+ rootSelected: {
31
+ De3pzq: "f1nfm20t"
32
+ },
33
+ rootClickable: {
34
+ Bceei9c: "f1k6fduh",
35
+ Jwef8y: "f1knas48"
36
+ }
37
+ }, {
38
+ d: [".fy9rknc{font-size:var(--fontSizeBase200);}", ".fsyjsko{grid-column-end:4;}", ".f1p9o1ba{overflow-x:hidden;}", ".f1sil6mw{overflow-y:hidden;}", ".fv6wr3j{text-wrap:nowrap;}", ".f1cmbuwj{text-overflow:ellipsis;}", ".f1nfm20t{background-color:var(--colorNeutralBackground1Selected);}", ".f1k6fduh{cursor:pointer;}"],
39
+ h: [".f1knas48:hover{background-color:var(--colorNeutralBackground1Hover);}"]
40
+ });
41
+ /**
42
+ * Apply styling to the ListItem slots based on the state
43
+ */
44
+ export const useListItemStyles_unstable = state => {
45
+ const rootBaseStyles = useRootBaseStyles();
46
+ const styles = useStyles();
47
+ state.root.className = mergeClasses(listItemClassNames.root, rootBaseStyles, (state.selectable || state.navigable) && styles.rootClickable, state.selected && styles.rootSelected, state.root.className);
48
+ if (state.header) {
49
+ var _state_header;
50
+ state.header.className = mergeClasses(state.truncateHeader && styles.truncate, (_state_header = state.header) === null || _state_header === void 0 ? void 0 : _state_header.className);
51
+ }
52
+ if (state.contentWrapper) {
53
+ var _state_contentWrapper;
54
+ state.contentWrapper.className = mergeClasses(styles.contentWrapper, state.truncateContent && styles.truncate, !state.contentMedia && styles.contentWrapperWithoutMedia, (_state_contentWrapper = state.contentWrapper) === null || _state_contentWrapper === void 0 ? void 0 : _state_contentWrapper.className);
55
+ }
56
+ return state;
57
+ };
58
+ //# sourceMappingURL=useListItemStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__styles","__resetStyles","mergeClasses","shorthands","createCustomFocusIndicatorStyle","tokens","listItemClassNames","root","media","header","contentWrapper","headerMedia","contentMedia","endMedia","useRootBaseStyles","useStyles","Be2twd7","contentWrapperWithoutMedia","Bw0ie65","truncate","B68tc82","Bmxbyg5","j4b8c3","ygn44y","rootSelected","De3pzq","rootClickable","Bceei9c","Jwef8y","d","h","useListItemStyles_unstable","state","rootBaseStyles","styles","className","selectable","navigable","selected","_state_header","truncateHeader","_state_contentWrapper","truncateContent"],"sources":["useListItemStyles.styles.js"],"sourcesContent":["import { makeStyles, makeResetStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const listItemClassNames = {\n root: 'fui-ListItem',\n media: 'fui-ListItem__media',\n header: 'fui-ListItem__header',\n contentWrapper: 'fui-ListItem__contentWrapper',\n headerMedia: 'fui-ListItem__headerMedia',\n contentMedia: 'fui-ListItem__contentMedia',\n endMedia: 'fui-ListItem__endMedia'\n};\nconst useRootBaseStyles = makeResetStyles({\n ...shorthands.padding(0, '10px'),\n ...shorthands.margin(0),\n textIndent: 0,\n listStyleType: 'none',\n ...createCustomFocusIndicatorStyle({\n ...shorthands.outline(tokens.strokeWidthThick, 'solid', tokens.colorStrokeFocus2),\n ...shorthands.borderRadius(tokens.borderRadiusMedium)\n }, {\n selector: 'focus'\n })\n});\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n contentWrapper: {\n fontSize: tokens.fontSizeBase200\n },\n // The content should go all the way to the end if the content media is not present\n contentWrapperWithoutMedia: {\n gridColumnEnd: 4\n },\n truncate: {\n ...shorthands.overflow('hidden'),\n textWrap: 'nowrap',\n textOverflow: 'ellipsis'\n },\n rootSelected: {\n backgroundColor: tokens.colorNeutralBackground1Selected\n },\n rootClickable: {\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover\n }\n }\n});\n/**\n * Apply styling to the ListItem slots based on the state\n */ export const useListItemStyles_unstable = (state)=>{\n const rootBaseStyles = useRootBaseStyles();\n const styles = useStyles();\n state.root.className = mergeClasses(listItemClassNames.root, rootBaseStyles, (state.selectable || state.navigable) && styles.rootClickable, state.selected && styles.rootSelected, state.root.className);\n if (state.header) {\n var _state_header;\n state.header.className = mergeClasses(state.truncateHeader && styles.truncate, (_state_header = state.header) === null || _state_header === void 0 ? void 0 : _state_header.className);\n }\n if (state.contentWrapper) {\n var _state_contentWrapper;\n state.contentWrapper.className = mergeClasses(styles.contentWrapper, state.truncateContent && styles.truncate, !state.contentMedia && styles.contentWrapperWithoutMedia, (_state_contentWrapper = state.contentWrapper) === null || _state_contentWrapper === void 0 ? void 0 : _state_contentWrapper.className);\n }\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAAC,aAAA,EAAsCC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AACtF,SAASC,+BAA+B,QAAQ,yBAAyB;AACzE,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,MAAMC,kBAAkB,GAAG;EAC9BC,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAE,qBAAqB;EAC5BC,MAAM,EAAE,sBAAsB;EAC9BC,cAAc,EAAE,8BAA8B;EAC9CC,WAAW,EAAE,2BAA2B;EACxCC,YAAY,EAAE,4BAA4B;EAC1CC,QAAQ,EAAE;AACd,CAAC;AACD,MAAMC,iBAAiB,gBAAGb,aAAA,8hCAWzB,CAAC;AACF;AACA;AACA;AAAI,MAAMc,SAAS,gBAAGf,QAAA;EAAAU,cAAA;IAAAM,OAAA;EAAA;EAAAC,0BAAA;IAAAC,OAAA;EAAA;EAAAC,QAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,YAAA;IAAAC,MAAA;EAAA;EAAAC,aAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;AAAA;EAAAC,CAAA;EAAAC,CAAA;AAAA,CAsBrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,0BAA0B,GAAIC,KAAK,IAAG;EACnD,MAAMC,cAAc,GAAGnB,iBAAiB,CAAC,CAAC;EAC1C,MAAMoB,MAAM,GAAGnB,SAAS,CAAC,CAAC;EAC1BiB,KAAK,CAACzB,IAAI,CAAC4B,SAAS,GAAGjC,YAAY,CAACI,kBAAkB,CAACC,IAAI,EAAE0B,cAAc,EAAE,CAACD,KAAK,CAACI,UAAU,IAAIJ,KAAK,CAACK,SAAS,KAAKH,MAAM,CAACR,aAAa,EAAEM,KAAK,CAACM,QAAQ,IAAIJ,MAAM,CAACV,YAAY,EAAEQ,KAAK,CAACzB,IAAI,CAAC4B,SAAS,CAAC;EACxM,IAAIH,KAAK,CAACvB,MAAM,EAAE;IACd,IAAI8B,aAAa;IACjBP,KAAK,CAACvB,MAAM,CAAC0B,SAAS,GAAGjC,YAAY,CAAC8B,KAAK,CAACQ,cAAc,IAAIN,MAAM,CAACf,QAAQ,EAAE,CAACoB,aAAa,GAAGP,KAAK,CAACvB,MAAM,MAAM,IAAI,IAAI8B,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACJ,SAAS,CAAC;EAC1L;EACA,IAAIH,KAAK,CAACtB,cAAc,EAAE;IACtB,IAAI+B,qBAAqB;IACzBT,KAAK,CAACtB,cAAc,CAACyB,SAAS,GAAGjC,YAAY,CAACgC,MAAM,CAACxB,cAAc,EAAEsB,KAAK,CAACU,eAAe,IAAIR,MAAM,CAACf,QAAQ,EAAE,CAACa,KAAK,CAACpB,YAAY,IAAIsB,MAAM,CAACjB,0BAA0B,EAAE,CAACwB,qBAAqB,GAAGT,KAAK,CAACtB,cAAc,MAAM,IAAI,IAAI+B,qBAAqB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,qBAAqB,CAACN,SAAS,CAAC;EACpT;EACA,OAAOH,KAAK;AAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './useListSelection';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './useListSelection';\n"],"names":[],"mappings":"AAAA,cAAc,qBAAqB"}
@@ -0,0 +1 @@
1
+ import * as React from 'react';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["types.ts"],"sourcesContent":["import { SelectionItemId } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nexport type ListSelectionState = {\n isSelected: (item: string | number) => boolean;\n toggleItem: (e: React.SyntheticEvent, id: string | number) => void;\n deselectItem: (e: React.SyntheticEvent, id: string | number) => void;\n selectItem: (e: React.SyntheticEvent, id: string | number) => void;\n clearSelection: (e: React.SyntheticEvent) => void;\n toggleAllItems: (e: React.SyntheticEvent, itemIds: string[] | number[]) => void;\n setSelectedItems: React.Dispatch<React.SetStateAction<Iterable<SelectionItemId>>>;\n selectedItems: SelectionItemId[];\n};\n"],"names":["React"],"mappings":"AACA,YAAYA,WAAW,QAAQ"}
@@ -0,0 +1,41 @@
1
+ import { useControllableState, useEventCallback, useSelection } from '@fluentui/react-utilities';
2
+ import * as React from 'react';
3
+ export function useListSelection(options = {
4
+ selectionMode: 'multiselect'
5
+ }) {
6
+ const { selectionMode, defaultSelectedItems, onSelectionChange } = options;
7
+ const [selectedItems, setSelectedItems] = useControllableState({
8
+ state: options.selectedItems,
9
+ defaultState: defaultSelectedItems,
10
+ initialState: []
11
+ });
12
+ const [selected, selectionMethods] = useSelection({
13
+ selectionMode,
14
+ defaultSelectedItems,
15
+ selectedItems,
16
+ onSelectionChange: (e, data)=>{
17
+ setSelectedItems(data.selectedItems);
18
+ onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e, data);
19
+ }
20
+ });
21
+ const toggleItem = useEventCallback((e, itemId)=>selectionMethods.toggleItem(e, itemId));
22
+ const toggleAllItems = useEventCallback((e, itemIds)=>{
23
+ selectionMethods.toggleAllItems(e, itemIds);
24
+ });
25
+ const deselectItem = useEventCallback((e, itemId)=>selectionMethods.deselectItem(e, itemId));
26
+ const selectItem = useEventCallback((e, itemId)=>selectionMethods.selectItem(e, itemId));
27
+ const clearSelection = useEventCallback((e)=>selectionMethods.clearItems(e));
28
+ const selectedArray = React.useMemo(()=>Array.from(selected), [
29
+ selected
30
+ ]);
31
+ return {
32
+ selectedItems: selectedArray,
33
+ toggleItem,
34
+ toggleAllItems,
35
+ deselectItem,
36
+ selectItem,
37
+ setSelectedItems,
38
+ isSelected: (id)=>selectionMethods.isSelected(id),
39
+ clearSelection
40
+ };
41
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useListSelection.tsx"],"sourcesContent":["import { SelectionHookParams, useControllableState, useEventCallback, useSelection } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { ListSelectionState } from './types';\n\nexport function useListSelection(options: SelectionHookParams = { selectionMode: 'multiselect' }): ListSelectionState {\n const { selectionMode, defaultSelectedItems, onSelectionChange } = options;\n\n const [selectedItems, setSelectedItems] = useControllableState({\n state: options.selectedItems,\n defaultState: defaultSelectedItems,\n initialState: [],\n });\n\n const [selected, selectionMethods] = useSelection({\n selectionMode,\n defaultSelectedItems,\n selectedItems,\n onSelectionChange: (e, data) => {\n setSelectedItems(data.selectedItems);\n onSelectionChange?.(e, data);\n },\n });\n\n const toggleItem: ListSelectionState['toggleItem'] = useEventCallback((e, itemId) =>\n selectionMethods.toggleItem(e, itemId),\n );\n\n const toggleAllItems: ListSelectionState['toggleAllItems'] = useEventCallback((e, itemIds) => {\n selectionMethods.toggleAllItems(e, itemIds);\n });\n\n const deselectItem: ListSelectionState['deselectItem'] = useEventCallback((e, itemId: string | number) =>\n selectionMethods.deselectItem(e, itemId),\n );\n\n const selectItem: ListSelectionState['selectItem'] = useEventCallback((e, itemId: string | number) =>\n selectionMethods.selectItem(e, itemId),\n );\n\n const clearSelection: ListSelectionState['clearSelection'] = useEventCallback(e => selectionMethods.clearItems(e));\n\n const selectedArray = React.useMemo(() => Array.from(selected), [selected]);\n\n return {\n selectedItems: selectedArray,\n toggleItem,\n toggleAllItems,\n deselectItem,\n selectItem,\n setSelectedItems,\n isSelected: (id: string | number) => selectionMethods.isSelected(id),\n clearSelection,\n };\n}\n"],"names":["useControllableState","useEventCallback","useSelection","React","useListSelection","options","selectionMode","defaultSelectedItems","onSelectionChange","selectedItems","setSelectedItems","state","defaultState","initialState","selected","selectionMethods","e","data","toggleItem","itemId","toggleAllItems","itemIds","deselectItem","selectItem","clearSelection","clearItems","selectedArray","useMemo","Array","from","isSelected","id"],"mappings":"AAAA,SAA8BA,oBAAoB,EAAEC,gBAAgB,EAAEC,YAAY,QAAQ,4BAA4B;AACtH,YAAYC,WAAW,QAAQ;AAG/B,OAAO,SAASC,iBAAiBC,UAA+B;IAAEC,eAAe;AAAc,CAAC;IAC9F,MAAM,EAAEA,aAAa,EAAEC,oBAAoB,EAAEC,iBAAiB,EAAE,GAAGH;IAEnE,MAAM,CAACI,eAAeC,iBAAiB,GAAGV,qBAAqB;QAC7DW,OAAON,QAAQI,aAAa;QAC5BG,cAAcL;QACdM,cAAc,EAAE;IAClB;IAEA,MAAM,CAACC,UAAUC,iBAAiB,GAAGb,aAAa;QAChDI;QACAC;QACAE;QACAD,mBAAmB,CAACQ,GAAGC;YACrBP,iBAAiBO,KAAKR,aAAa;YACnCD,8BAAAA,wCAAAA,kBAAoBQ,GAAGC;QACzB;IACF;IAEA,MAAMC,aAA+CjB,iBAAiB,CAACe,GAAGG,SACxEJ,iBAAiBG,UAAU,CAACF,GAAGG;IAGjC,MAAMC,iBAAuDnB,iBAAiB,CAACe,GAAGK;QAChFN,iBAAiBK,cAAc,CAACJ,GAAGK;IACrC;IAEA,MAAMC,eAAmDrB,iBAAiB,CAACe,GAAGG,SAC5EJ,iBAAiBO,YAAY,CAACN,GAAGG;IAGnC,MAAMI,aAA+CtB,iBAAiB,CAACe,GAAGG,SACxEJ,iBAAiBQ,UAAU,CAACP,GAAGG;IAGjC,MAAMK,iBAAuDvB,iBAAiBe,CAAAA,IAAKD,iBAAiBU,UAAU,CAACT;IAE/G,MAAMU,gBAAgBvB,MAAMwB,OAAO,CAAC,IAAMC,MAAMC,IAAI,CAACf,WAAW;QAACA;KAAS;IAE1E,OAAO;QACLL,eAAeiB;QACfR;QACAE;QACAE;QACAC;QACAb;QACAoB,YAAY,CAACC,KAAwBhB,iBAAiBe,UAAU,CAACC;QACjEP;IACF;AACF"}
@@ -0,0 +1,3 @@
1
+ export { List, listClassNames, renderList_unstable, useListStyles_unstable, useList_unstable } from './List';
2
+ export { ListItem, listItemClassNames, renderListItem_unstable, useListItemStyles_unstable, useListItem_unstable } from './ListItem';
3
+ export { useListSelection } from './hooks';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export { List, listClassNames, renderList_unstable, useListStyles_unstable, useList_unstable } from './List';\nexport type { ListProps, ListSlots, ListState } from './List';\n\nexport {\n ListItem,\n listItemClassNames,\n renderListItem_unstable,\n useListItemStyles_unstable,\n useListItem_unstable,\n} from './ListItem';\nexport type { ListItemProps, ListItemSlots, ListItemState } from './ListItem';\n\nexport { useListSelection } from './hooks';\n"],"names":["List","listClassNames","renderList_unstable","useListStyles_unstable","useList_unstable","ListItem","listItemClassNames","renderListItem_unstable","useListItemStyles_unstable","useListItem_unstable","useListSelection"],"mappings":"AAAA,SAASA,IAAI,EAAEC,cAAc,EAAEC,mBAAmB,EAAEC,sBAAsB,EAAEC,gBAAgB,QAAQ,SAAS;AAG7G,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,oBAAoB,QACf,aAAa;AAGpB,SAASC,gBAAgB,QAAQ,UAAU"}
package/lib/index.js CHANGED
@@ -9,3 +9,4 @@ export { StyledText, styledTextClassName } from './components/StyledText';
9
9
  export { Primitive, primitiveClassName } from './components/Primitive';
10
10
  export { ItemLayout, itemLayoutClassName, useItemLayoutStyles } from './components/ItemLayout';
11
11
  export { Flex, flexClassName, flexItem, useFlexStyles } from './components/Flex';
12
+ export { List, ListItem, listClassNames, listItemClassNames, renderListItem_unstable, renderList_unstable, useListItemStyles_unstable, useListItem_unstable, useListSelection, useListStyles_unstable, useList_unstable } from './components/List';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["export { GridShim, grid, gridClassName, useGridStyles } from './components/Grid/index';\nexport type { GridShimProps } from './components/Grid/index';\nexport { FormFieldShim } from './components/FormField';\nexport { Segment } from './components/Segment';\nexport { slider } from './components/Slider';\nexport { input } from './components/Input';\nexport { v0Icon, v9CustomSizeIcon, v9DisabledCursor, v9HoverClasses, v9Icon } from './components/Button';\nexport { spinner } from './components/Spinner';\nexport { StyledText, styledTextClassName } from './components/StyledText';\nexport type { StyledTextProps, StyledTextSlots } from './components/StyledText';\nexport { Primitive, primitiveClassName } from './components/Primitive';\nexport { ItemLayout, itemLayoutClassName, useItemLayoutStyles } from './components/ItemLayout';\nexport { Flex, flexClassName, flexItem, useFlexStyles } from './components/Flex';\n"],"names":["GridShim","grid","gridClassName","useGridStyles","FormFieldShim","Segment","slider","input","v0Icon","v9CustomSizeIcon","v9DisabledCursor","v9HoverClasses","v9Icon","spinner","StyledText","styledTextClassName","Primitive","primitiveClassName","ItemLayout","itemLayoutClassName","useItemLayoutStyles","Flex","flexClassName","flexItem","useFlexStyles"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,IAAI,EAAEC,aAAa,EAAEC,aAAa,QAAQ,0BAA0B;AAEvF,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,MAAM,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,MAAM,QAAQ,sBAAsB;AACzG,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,UAAU,EAAEC,mBAAmB,QAAQ,0BAA0B;AAE1E,SAASC,SAAS,EAAEC,kBAAkB,QAAQ,yBAAyB;AACvE,SAASC,UAAU,EAAEC,mBAAmB,EAAEC,mBAAmB,QAAQ,0BAA0B;AAC/F,SAASC,IAAI,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,oBAAoB"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export { GridShim, grid, gridClassName, useGridStyles } from './components/Grid/index';\nexport type { GridShimProps } from './components/Grid/index';\nexport { FormFieldShim } from './components/FormField';\nexport { Segment } from './components/Segment';\nexport { slider } from './components/Slider';\nexport { input } from './components/Input';\nexport { v0Icon, v9CustomSizeIcon, v9DisabledCursor, v9HoverClasses, v9Icon } from './components/Button';\nexport { spinner } from './components/Spinner';\nexport { StyledText, styledTextClassName } from './components/StyledText';\nexport type { StyledTextProps, StyledTextSlots } from './components/StyledText';\nexport { Primitive, primitiveClassName } from './components/Primitive';\nexport { ItemLayout, itemLayoutClassName, useItemLayoutStyles } from './components/ItemLayout';\nexport { Flex, flexClassName, flexItem, useFlexStyles } from './components/Flex';\nexport {\n List,\n ListItem,\n listClassNames,\n listItemClassNames,\n renderListItem_unstable,\n renderList_unstable,\n useListItemStyles_unstable,\n useListItem_unstable,\n useListSelection,\n useListStyles_unstable,\n useList_unstable,\n} from './components/List';\nexport type { ListItemProps, ListItemSlots, ListItemState, ListProps, ListSlots, ListState } from './components/List';\n"],"names":["GridShim","grid","gridClassName","useGridStyles","FormFieldShim","Segment","slider","input","v0Icon","v9CustomSizeIcon","v9DisabledCursor","v9HoverClasses","v9Icon","spinner","StyledText","styledTextClassName","Primitive","primitiveClassName","ItemLayout","itemLayoutClassName","useItemLayoutStyles","Flex","flexClassName","flexItem","useFlexStyles","List","ListItem","listClassNames","listItemClassNames","renderListItem_unstable","renderList_unstable","useListItemStyles_unstable","useListItem_unstable","useListSelection","useListStyles_unstable","useList_unstable"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,IAAI,EAAEC,aAAa,EAAEC,aAAa,QAAQ,0BAA0B;AAEvF,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,MAAM,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,MAAM,QAAQ,sBAAsB;AACzG,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,UAAU,EAAEC,mBAAmB,QAAQ,0BAA0B;AAE1E,SAASC,SAAS,EAAEC,kBAAkB,QAAQ,yBAAyB;AACvE,SAASC,UAAU,EAAEC,mBAAmB,EAAEC,mBAAmB,QAAQ,0BAA0B;AAC/F,SAASC,IAAI,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,oBAAoB;AACjF,SACEC,IAAI,EACJC,QAAQ,EACRC,cAAc,EACdC,kBAAkB,EAClBC,uBAAuB,EACvBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,gBAAgB,EAChBC,sBAAsB,EACtBC,gBAAgB,QACX,oBAAoB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "List", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return List;
9
+ }
10
+ });
11
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
14
+ const _useList = require("./useList");
15
+ const _renderList = require("./renderList");
16
+ const _useListStylesstyles = require("./useListStyles.styles");
17
+ const _useListContextValues = require("./useListContextValues");
18
+ const List = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
19
+ const state = (0, _useList.useList_unstable)(props, ref);
20
+ const contextValues = (0, _useListContextValues.useListContextValues_unstable)(state);
21
+ (0, _useListStylesstyles.useListStyles_unstable)(state);
22
+ (0, _reactsharedcontexts.useCustomStyleHook_unstable)('useListStyles_unstable')(state);
23
+ return (0, _renderList.renderList_unstable)(state, contextValues);
24
+ });
25
+ List.displayName = 'List';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["List.js"],"sourcesContent":["import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useList_unstable } from './useList';\nimport { renderList_unstable } from './renderList';\nimport { useListStyles_unstable } from './useListStyles.styles';\nimport { useListContextValues_unstable } from './useListContextValues';\nexport const List = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useList_unstable(props, ref);\n const contextValues = useListContextValues_unstable(state);\n useListStyles_unstable(state);\n useCustomStyleHook_unstable('useListStyles_unstable')(state);\n return renderList_unstable(state, contextValues);\n});\nList.displayName = 'List';\n"],"names":["List","React","forwardRef","props","ref","state","useList_unstable","contextValues","useListContextValues_unstable","useListStyles_unstable","useCustomStyleHook_unstable","renderList_unstable","displayName"],"mappings":";;;;+BAMaA;;;eAAAA;;;;iEANU;qCACqB;yBACX;4BACG;qCACG;sCACO;AACvC,MAAMA,OAAO,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IACvD,MAAMC,QAAQC,IAAAA,yBAAgB,EAACH,OAAOC;IACtC,MAAMG,gBAAgBC,IAAAA,mDAA6B,EAACH;IACpDI,IAAAA,2CAAsB,EAACJ;IACvBK,IAAAA,gDAA2B,EAAC,0BAA0BL;IACtD,OAAOM,IAAAA,+BAAmB,EAACN,OAAOE;AACtC;AACAP,KAAKY,WAAW,GAAG"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
6
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["List.types.js"],"sourcesContent":["import * as React from 'react';\n"],"names":[],"mappings":";;;;;iEAAuB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./List"), exports);
7
+ _export_star._(require("./List.types"), exports);
8
+ _export_star._(require("./renderList"), exports);
9
+ _export_star._(require("./useList"), exports);
10
+ _export_star._(require("./useListStyles.styles"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["export * from './List';\nexport * from './List.types';\nexport * from './renderList';\nexport * from './useList';\nexport * from './useListStyles.styles';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ listContextDefaultValue: function() {
13
+ return listContextDefaultValue;
14
+ },
15
+ ListContextProvider: function() {
16
+ return ListContextProvider;
17
+ },
18
+ useListContext_unstable: function() {
19
+ return useListContext_unstable;
20
+ }
21
+ });
22
+ const _reactcontextselector = require("@fluentui/react-context-selector");
23
+ const listContextDefaultValue = {
24
+ navigable: false,
25
+ selection: undefined,
26
+ as: undefined
27
+ };
28
+ const listContext = (0, _reactcontextselector.createContext)(undefined);
29
+ const ListContextProvider = listContext.Provider;
30
+ const useListContext_unstable = (selector)=>(0, _reactcontextselector.useContextSelector)(listContext, (ctx = listContextDefaultValue)=>selector(ctx));
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["listContext.js"],"sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const listContextDefaultValue = {\n navigable: false,\n selection: undefined,\n as: undefined\n};\nconst listContext = createContext(undefined);\nexport const ListContextProvider = listContext.Provider;\nexport const useListContext_unstable = (selector)=>useContextSelector(listContext, (ctx = listContextDefaultValue)=>selector(ctx));\n"],"names":["listContextDefaultValue","ListContextProvider","useListContext_unstable","navigable","selection","undefined","as","listContext","createContext","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IACaA,uBAAuB;eAAvBA;;IAMAC,mBAAmB;eAAnBA;;IACAC,uBAAuB;eAAvBA;;;sCARqC;AAC3C,MAAMF,0BAA0B;IACnCG,WAAW;IACXC,WAAWC;IACXC,IAAID;AACR;AACA,MAAME,cAAcC,IAAAA,mCAAa,EAACH;AAC3B,MAAMJ,sBAAsBM,YAAYE,QAAQ;AAChD,MAAMP,0BAA0B,CAACQ,WAAWC,IAAAA,wCAAkB,EAACJ,aAAa,CAACK,MAAMZ,uBAAuB,GAAGU,SAASE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "renderList_unstable", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return renderList_unstable;
9
+ }
10
+ });
11
+ const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
12
+ const _reactutilities = require("@fluentui/react-utilities");
13
+ const _listContext = require("./listContext");
14
+ const renderList_unstable = (state, contextValues)=>{
15
+ (0, _reactutilities.assertSlots)(state);
16
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_listContext.ListContextProvider, {
17
+ value: contextValues.listContext,
18
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {})
19
+ });
20
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["renderList.js"],"sourcesContent":[" import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { ListContextProvider } from './listContext';\n/**\n * Render the final JSX of List\n */ export const renderList_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(ListContextProvider, {\n value: contextValues.listContext,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n"],"names":["renderList_unstable","state","contextValues","assertSlots","_jsx","ListContextProvider","value","listContext","children","root"],"mappings":";;;;+BAKiBA;;;eAAAA;;;4BALa;gCACF;6BACQ;AAGzB,MAAMA,sBAAsB,CAACC,OAAOC;IAC3CC,IAAAA,2BAAW,EAACF;IACZ,OAAO,WAAW,GAAGG,IAAAA,eAAI,EAACC,gCAAmB,EAAE;QAC3CC,OAAOJ,cAAcK,WAAW;QAChCC,UAAU,WAAW,GAAGJ,IAAAA,eAAI,EAACH,MAAMQ,IAAI,EAAE,CAAC;IAC9C;AACJ"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useList_unstable", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return useList_unstable;
9
+ }
10
+ });
11
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _reactutilities = require("@fluentui/react-utilities");
14
+ const _reacttabster = require("@fluentui/react-tabster");
15
+ const _useListSelection = require("../hooks/useListSelection");
16
+ const DEFAULT_ROOT_EL_TYPE = 'ul';
17
+ const useList_unstable = (props, ref)=>{
18
+ const { layout = 'vertical', navigable = false, selectable = false, selectionMode = 'single', selectedItems, defaultSelectedItems, as, onSelectionChange, truncateContent = false, truncateHeader = false } = props;
19
+ const arrowNavigationAttributes = (0, _reacttabster.useArrowNavigationGroup)({
20
+ axis: layout === 'grid' ? 'grid-linear' : 'both',
21
+ memorizeCurrent: true
22
+ });
23
+ const [selectionState, setSelectionState] = (0, _reactutilities.useControllableState)({
24
+ state: selectedItems,
25
+ defaultState: defaultSelectedItems,
26
+ initialState: []
27
+ });
28
+ const onChange = (0, _reactutilities.useEventCallback)((e, data)=>{
29
+ const selectedItemsAsArray = Array.from(data.selectedItems);
30
+ setSelectionState(selectedItemsAsArray);
31
+ onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e, {
32
+ selectedItems: selectedItemsAsArray
33
+ });
34
+ });
35
+ const selection = (0, _useListSelection.useListSelection)({
36
+ onSelectionChange: onChange,
37
+ selectionMode,
38
+ selectedItems: selectionState,
39
+ defaultSelectedItems
40
+ });
41
+ return {
42
+ components: {
43
+ root: DEFAULT_ROOT_EL_TYPE
44
+ },
45
+ root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)(DEFAULT_ROOT_EL_TYPE, {
46
+ ref,
47
+ ...navigable && {
48
+ role: 'menu'
49
+ },
50
+ ...selectable && {
51
+ role: 'listbox',
52
+ 'aria-multiselectable': selectionMode === 'multiselect' ? true : undefined
53
+ },
54
+ ...arrowNavigationAttributes,
55
+ ...props
56
+ }), {
57
+ elementType: DEFAULT_ROOT_EL_TYPE
58
+ }),
59
+ layout,
60
+ // context:
61
+ navigable,
62
+ as: as || DEFAULT_ROOT_EL_TYPE,
63
+ truncateContent,
64
+ truncateHeader,
65
+ // only pass down selection state if its handled internally, otherwise just report the events
66
+ selection: selectable ? selection : undefined
67
+ };
68
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useList.js"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, slot, useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { useListSelection } from '../hooks/useListSelection';\nconst DEFAULT_ROOT_EL_TYPE = 'ul';\n/**\n * Create the state required to render List.\n *\n * The returned state can be modified with hooks such as useListStyles_unstable,\n * before being passed to renderList_unstable.\n *\n * @param props - props from this instance of List\n * @param ref - reference to root HTMLElement of List\n */ export const useList_unstable = (props, ref)=>{\n const { layout = 'vertical', navigable = false, selectable = false, selectionMode = 'single', selectedItems, defaultSelectedItems, as, onSelectionChange, truncateContent = false, truncateHeader = false } = props;\n const arrowNavigationAttributes = useArrowNavigationGroup({\n axis: layout === 'grid' ? 'grid-linear' : 'both',\n memorizeCurrent: true\n });\n const [selectionState, setSelectionState] = useControllableState({\n state: selectedItems,\n defaultState: defaultSelectedItems,\n initialState: []\n });\n const onChange = useEventCallback((e, data)=>{\n const selectedItemsAsArray = Array.from(data.selectedItems);\n setSelectionState(selectedItemsAsArray);\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e, {\n selectedItems: selectedItemsAsArray\n });\n });\n const selection = useListSelection({\n onSelectionChange: onChange,\n selectionMode,\n selectedItems: selectionState,\n defaultSelectedItems\n });\n return {\n components: {\n root: DEFAULT_ROOT_EL_TYPE\n },\n root: slot.always(getIntrinsicElementProps(DEFAULT_ROOT_EL_TYPE, {\n ref,\n ...navigable && {\n role: 'menu'\n },\n ...selectable && {\n role: 'listbox',\n 'aria-multiselectable': selectionMode === 'multiselect' ? true : undefined\n },\n ...arrowNavigationAttributes,\n ...props\n }), {\n elementType: DEFAULT_ROOT_EL_TYPE\n }),\n layout,\n // context:\n navigable,\n as: as || DEFAULT_ROOT_EL_TYPE,\n truncateContent,\n truncateHeader,\n // only pass down selection state if its handled internally, otherwise just report the events\n selection: selectable ? selection : undefined\n };\n};\n"],"names":["useList_unstable","DEFAULT_ROOT_EL_TYPE","props","ref","layout","navigable","selectable","selectionMode","selectedItems","defaultSelectedItems","as","onSelectionChange","truncateContent","truncateHeader","arrowNavigationAttributes","useArrowNavigationGroup","axis","memorizeCurrent","selectionState","setSelectionState","useControllableState","state","defaultState","initialState","onChange","useEventCallback","e","data","selectedItemsAsArray","Array","from","selection","useListSelection","components","root","slot","always","getIntrinsicElementProps","role","undefined","elementType"],"mappings":";;;;+BAaiBA;;;eAAAA;;;;iEAbM;gCACgE;8BAC/C;kCACP;AACjC,MAAMC,uBAAuB;AASlB,MAAMD,mBAAmB,CAACE,OAAOC;IACxC,MAAM,EAAEC,SAAS,UAAU,EAAEC,YAAY,KAAK,EAAEC,aAAa,KAAK,EAAEC,gBAAgB,QAAQ,EAAEC,aAAa,EAAEC,oBAAoB,EAAEC,EAAE,EAAEC,iBAAiB,EAAEC,kBAAkB,KAAK,EAAEC,iBAAiB,KAAK,EAAE,GAAGX;IAC9M,MAAMY,4BAA4BC,IAAAA,qCAAuB,EAAC;QACtDC,MAAMZ,WAAW,SAAS,gBAAgB;QAC1Ca,iBAAiB;IACrB;IACA,MAAM,CAACC,gBAAgBC,kBAAkB,GAAGC,IAAAA,oCAAoB,EAAC;QAC7DC,OAAOb;QACPc,cAAcb;QACdc,cAAc,EAAE;IACpB;IACA,MAAMC,WAAWC,IAAAA,gCAAgB,EAAC,CAACC,GAAGC;QAClC,MAAMC,uBAAuBC,MAAMC,IAAI,CAACH,KAAKnB,aAAa;QAC1DW,kBAAkBS;QAClBjB,sBAAsB,QAAQA,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBe,GAAG;YACvFlB,eAAeoB;QACnB;IACJ;IACA,MAAMG,YAAYC,IAAAA,kCAAgB,EAAC;QAC/BrB,mBAAmBa;QACnBjB;QACAC,eAAeU;QACfT;IACJ;IACA,OAAO;QACHwB,YAAY;YACRC,MAAMjC;QACV;QACAiC,MAAMC,oBAAI,CAACC,MAAM,CAACC,IAAAA,wCAAwB,EAACpC,sBAAsB;YAC7DE;YACA,GAAGE,aAAa;gBACZiC,MAAM;YACV,CAAC;YACD,GAAGhC,cAAc;gBACbgC,MAAM;gBACN,wBAAwB/B,kBAAkB,gBAAgB,OAAOgC;YACrE,CAAC;YACD,GAAGzB,yBAAyB;YAC5B,GAAGZ,KAAK;QACZ,IAAI;YACAsC,aAAavC;QACjB;QACAG;QACA,WAAW;QACXC;QACAK,IAAIA,MAAMT;QACVW;QACAC;QACA,6FAA6F;QAC7FkB,WAAWzB,aAAayB,YAAYQ;IACxC;AACJ"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useListContextValues_unstable", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return useListContextValues_unstable;
9
+ }
10
+ });
11
+ function useListContextValues_unstable(state) {
12
+ const { navigable, selection, as, truncateContent, truncateHeader } = state;
13
+ const listContext = {
14
+ navigable,
15
+ selection,
16
+ as,
17
+ truncateContent,
18
+ truncateHeader
19
+ };
20
+ return {
21
+ listContext
22
+ };
23
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useListContextValues.js"],"sourcesContent":["export function useListContextValues_unstable(state) {\n const { navigable, selection, as, truncateContent, truncateHeader } = state;\n const listContext = {\n navigable,\n selection,\n as,\n truncateContent,\n truncateHeader\n };\n return {\n listContext\n };\n}\n"],"names":["useListContextValues_unstable","state","navigable","selection","as","truncateContent","truncateHeader","listContext"],"mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA,8BAA8BC,KAAK;IAC/C,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAEC,EAAE,EAAEC,eAAe,EAAEC,cAAc,EAAE,GAAGL;IACtE,MAAMM,cAAc;QAChBL;QACAC;QACAC;QACAC;QACAC;IACJ;IACA,OAAO;QACHC;IACJ;AACJ"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ listClassNames: function() {
13
+ return listClassNames;
14
+ },
15
+ useListStyles_unstable: function() {
16
+ return useListStyles_unstable;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const listClassNames = {
21
+ root: 'fui-List'
22
+ };
23
+ const useRootBaseStyles = /*#__PURE__*/ (0, _react.__resetStyles)("r1m6yby2", null, [
24
+ ".r1m6yby2{padding:0;margin:0;text-indent:0;list-style-type:none;}"
25
+ ]);
26
+ /**
27
+ * Styles for the root slot
28
+ */ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
29
+ rootHorizontal: {
30
+ mc9l5x: "f22iagw"
31
+ },
32
+ rootGrid: {
33
+ mc9l5x: "f13qh94s"
34
+ }
35
+ }, {
36
+ d: [
37
+ ".f22iagw{display:flex;}",
38
+ ".f13qh94s{display:grid;}"
39
+ ]
40
+ });
41
+ const useListStyles_unstable = (state)=>{
42
+ const rootStyles = useRootBaseStyles();
43
+ const styles = useStyles();
44
+ const layoutToStyles = {
45
+ ['horizontal']: styles.rootHorizontal,
46
+ ['grid']: styles.rootGrid,
47
+ ['vertical']: undefined
48
+ };
49
+ state.root.className = (0, _react.mergeClasses)(listClassNames.root, rootStyles, layoutToStyles[state.layout], state.root.className);
50
+ return state;
51
+ }; //# sourceMappingURL=useListStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useListStyles.styles.js"],"sourcesContent":["import { __styles, __resetStyles, mergeClasses } from '@griffel/react';\nexport const listClassNames = {\n root: 'fui-List'\n};\nconst useRootBaseStyles = /*#__PURE__*/__resetStyles(\"r1m6yby2\", null, [\".r1m6yby2{padding:0;margin:0;text-indent:0;list-style-type:none;}\"]);\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n rootHorizontal: {\n mc9l5x: \"f22iagw\"\n },\n rootGrid: {\n mc9l5x: \"f13qh94s\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f13qh94s{display:grid;}\"]\n});\n/**\n * Apply styling to the List slots based on the state\n */\nexport const useListStyles_unstable = state => {\n const rootStyles = useRootBaseStyles();\n const styles = useStyles();\n const layoutToStyles = {\n ['horizontal']: styles.rootHorizontal,\n ['grid']: styles.rootGrid,\n ['vertical']: undefined\n };\n state.root.className = mergeClasses(listClassNames.root, rootStyles, layoutToStyles[state.layout], state.root.className);\n return state;\n};\n//# sourceMappingURL=useListStyles.styles.js.map"],"names":["listClassNames","useListStyles_unstable","root","useRootBaseStyles","__resetStyles","useStyles","__styles","rootHorizontal","mc9l5x","rootGrid","d","state","rootStyles","styles","layoutToStyles","undefined","className","mergeClasses","layout"],"mappings":";;;;;;;;;;;IACaA,cAAc;eAAdA;;IAoBAC,sBAAsB;eAAtBA;;;uBArByC;AAC/C,MAAMD,iBAAiB;IAC5BE,MAAM;AACR;AACA,MAAMC,oBAAoB,WAAW,GAAEC,IAAAA,oBAAa,EAAC,YAAY,MAAM;IAAC;CAAoE;AAC5I;;CAEC,GACD,MAAMC,YAAY,WAAW,GAAEC,IAAAA,eAAQ,EAAC;IACtCC,gBAAgB;QACdC,QAAQ;IACV;IACAC,UAAU;QACRD,QAAQ;IACV;AACF,GAAG;IACDE,GAAG;QAAC;QAA2B;KAA2B;AAC5D;AAIO,MAAMT,yBAAyBU,CAAAA;IACpC,MAAMC,aAAaT;IACnB,MAAMU,SAASR;IACf,MAAMS,iBAAiB;QACrB,CAAC,aAAa,EAAED,OAAON,cAAc;QACrC,CAAC,OAAO,EAAEM,OAAOJ,QAAQ;QACzB,CAAC,WAAW,EAAEM;IAChB;IACAJ,MAAMT,IAAI,CAACc,SAAS,GAAGC,IAAAA,mBAAY,EAACjB,eAAeE,IAAI,EAAEU,YAAYE,cAAc,CAACH,MAAMO,MAAM,CAAC,EAAEP,MAAMT,IAAI,CAACc,SAAS;IACvH,OAAOL;AACT,GACA,gDAAgD"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ListItem", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ListItem;
9
+ }
10
+ });
11
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
14
+ const _useListItem = require("./useListItem");
15
+ const _renderListItem = require("./renderListItem");
16
+ const _useListItemStylesstyles = require("./useListItemStyles.styles");
17
+ const ListItem = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
18
+ const state = (0, _useListItem.useListItem_unstable)(props, ref);
19
+ (0, _useListItemStylesstyles.useListItemStyles_unstable)(state);
20
+ (0, _reactsharedcontexts.useCustomStyleHook_unstable)('useListItemStyles_unstable')(state);
21
+ return (0, _renderListItem.renderListItem_unstable)(state);
22
+ });
23
+ ListItem.displayName = 'ListItem';