Skip to content

Commit e0791a0

Browse files
committed
address review comments
1 parent 274492a commit e0791a0

File tree

15 files changed

+56
-178
lines changed

15 files changed

+56
-178
lines changed

packages/react-components/react-headless-components-preview/library/.babelrc.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

packages/react-components/react-headless-components-preview/library/.swcrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"useSpread": true
2424
}
2525
},
26-
"target": "es2019"
26+
"target": "es2022"
2727
},
2828
"minify": false,
2929
"sourceMaps": true
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# @fluentui/react-headless-components-preview
22

3-
**React Headless Components components for [Fluent UI React](https://react.fluentui.dev/)**
3+
**React Headless Components for [Fluent UI React](https://react.fluentui.dev/)**
44

5-
These are not production-ready components and **should never be used in product**. This space is useful for testing new components whose APIs might change before final release.
5+
> [!WARNING] > **This package is in preview and not production-ready.** APIs may change without notice before final release. **Do not use in production.**
6+
>
7+
> This package exposes unstyled, headless Fluent UI v9 primitives for teams building custom design systems. For most teams, [`@fluentui/react-components`](https://www.npmjs.com/package/@fluentui/react-components) remains the recommended default.

packages/react-components/react-headless-components-preview/library/bundle-size/webpack.analyze.js

Lines changed: 0 additions & 39 deletions
This file was deleted.

packages/react-components/react-headless-components-preview/library/etc/react-headless-components-preview.api.md

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ import type { AccordionPanelBaseProps } from '@fluentui/react-accordion';
2020
import type { AccordionPanelBaseState } from '@fluentui/react-accordion';
2121
import type { AccordionPanelSlots as AccordionPanelSlots_2 } from '@fluentui/react-accordion';
2222
import type { AccordionSlots as AccordionSlots_2 } from '@fluentui/react-accordion';
23-
import { AnnounceContextValue } from '@fluentui/react-shared-contexts';
24-
import { AnnounceProvider } from '@fluentui/react-shared-contexts';
2523
import { assertSlots } from '@fluentui/react-utilities';
2624
import type { ButtonBaseProps } from '@fluentui/react-button';
2725
import { ButtonBaseState } from '@fluentui/react-button';
@@ -34,10 +32,8 @@ import { DividerBaseState } from '@fluentui/react-divider';
3432
import type { DividerSlots as DividerSlots_2 } from '@fluentui/react-divider';
3533
import { ForwardRefComponent } from '@fluentui/react-utilities';
3634
import { getIntrinsicElementProps } from '@fluentui/react-utilities';
37-
import { getNativeElementProps } from '@fluentui/react-utilities';
3835
import { getPartitionedNativeProps } from '@fluentui/react-utilities';
39-
import { getSlotClassNameProp_unstable } from '@fluentui/react-utilities';
40-
import { getSlots } from '@fluentui/react-utilities';
36+
import { getSlotClassNameProp_unstable as getSlotClassNameProp } from '@fluentui/react-utilities';
4137
import { IdPrefixProvider } from '@fluentui/react-utilities';
4238
import { isHTMLElement } from '@fluentui/react-utilities';
4339
import { JSXElement } from '@fluentui/react-utilities';
@@ -46,12 +42,8 @@ import { JSXIntrinsicElementKeys } from '@fluentui/react-utilities';
4642
import { mergeCallbacks } from '@fluentui/react-utilities';
4743
import { OnSelectionChangeCallback } from '@fluentui/react-utilities';
4844
import { OnSelectionChangeData } from '@fluentui/react-utilities';
49-
import { PortalMountNodeProvider } from '@fluentui/react-shared-contexts';
5045
import type * as React_2 from 'react';
5146
import { resetIdsForTests } from '@fluentui/react-utilities';
52-
import { resolveShorthand } from '@fluentui/react-utilities';
53-
import { ResolveShorthandFunction } from '@fluentui/react-utilities';
54-
import { ResolveShorthandOptions } from '@fluentui/react-utilities';
5547
import { SelectionHookParams } from '@fluentui/react-utilities';
5648
import { SelectionItemId } from '@fluentui/react-utilities';
5749
import { SelectionMethods } from '@fluentui/react-utilities';
@@ -65,20 +57,15 @@ import { SlotPropsRecord } from '@fluentui/react-utilities';
6557
import { SlotRenderFunction } from '@fluentui/react-utilities';
6658
import { SSRProvider } from '@fluentui/react-utilities';
6759
import { useAnimationFrame } from '@fluentui/react-utilities';
68-
import { useAnnounce } from '@fluentui/react-shared-contexts';
6960
import { useApplyScrollbarWidth } from '@fluentui/react-utilities';
7061
import { useEventCallback } from '@fluentui/react-utilities';
71-
import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
7262
import { useId } from '@fluentui/react-utilities';
7363
import { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';
7464
import { useIsSSR } from '@fluentui/react-utilities';
7565
import { useMergedRefs } from '@fluentui/react-utilities';
76-
import { usePortalMountNode } from '@fluentui/react-shared-contexts';
7766
import { useScrollbarWidth } from '@fluentui/react-utilities';
7867
import { useSelection } from '@fluentui/react-utilities';
79-
import { useThemeClassName_unstable as useThemeClassName } from '@fluentui/react-shared-contexts';
8068
import { useTimeout } from '@fluentui/react-utilities';
81-
import { useTooltipVisibility_unstable as useTooltipVisibility } from '@fluentui/react-shared-contexts';
8269

8370
// @public
8471
export const Accordion: ForwardRefComponent<AccordionProps>;
@@ -131,10 +118,6 @@ export type AccordionSlots = AccordionSlots_2;
131118
// @public (undocumented)
132119
export type AccordionState = AccordionBaseState;
133120

134-
export { AnnounceContextValue }
135-
136-
export { AnnounceProvider }
137-
138121
export { assertSlots }
139122

140123
// @public
@@ -169,13 +152,9 @@ export { ForwardRefComponent }
169152

170153
export { getIntrinsicElementProps }
171154

172-
export { getNativeElementProps }
173-
174155
export { getPartitionedNativeProps }
175156

176-
export { getSlotClassNameProp_unstable }
177-
178-
export { getSlots }
157+
export { getSlotClassNameProp }
179158

180159
export { IdPrefixProvider }
181160

@@ -193,8 +172,6 @@ export { OnSelectionChangeCallback }
193172

194173
export { OnSelectionChangeData }
195174

196-
export { PortalMountNodeProvider }
197-
198175
// @public
199176
export const renderAccordion: (state: AccordionBaseState, contextValues: AccordionContextValues_2) => JSXElement;
200177

@@ -215,12 +192,6 @@ export const renderDivider: (state: DividerBaseState) => JSXElement;
215192

216193
export { resetIdsForTests }
217194

218-
export { resolveShorthand }
219-
220-
export { ResolveShorthandFunction }
221-
222-
export { ResolveShorthandOptions }
223-
224195
export { SelectionHookParams }
225196

226197
export { SelectionItemId }
@@ -265,8 +236,6 @@ export const useAccordionPanel: (props: AccordionPanelProps, ref: React_2.Ref<HT
265236

266237
export { useAnimationFrame }
267238

268-
export { useAnnounce }
269-
270239
export { useApplyScrollbarWidth }
271240

272241
// @public
@@ -277,8 +246,6 @@ export const useDivider: (props: DividerProps, ref: React_2.Ref<HTMLElement>) =>
277246

278247
export { useEventCallback }
279248

280-
export { useFluent }
281-
282249
export { useId }
283250

284251
export { useIsomorphicLayoutEffect }
@@ -287,18 +254,12 @@ export { useIsSSR }
287254

288255
export { useMergedRefs }
289256

290-
export { usePortalMountNode }
291-
292257
export { useScrollbarWidth }
293258

294259
export { useSelection }
295260

296-
export { useThemeClassName }
297-
298261
export { useTimeout }
299262

300-
export { useTooltipVisibility }
301-
302263
// (No @packageDocumentation comment for this package)
303264

304265
```

packages/react-components/react-headless-components-preview/library/jest.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,4 @@ module.exports = {
3030
},
3131
coverageDirectory: './coverage',
3232
setupFilesAfterEnv: ['./config/tests.js'],
33-
snapshotSerializers: ['@griffel/jest-serializer'],
3433
};

packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionItem/useAccordionItem.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
} from '@fluentui/react-accordion';
99

1010
import type { AccordionItemProps, AccordionItemState, AccordionItemContextValues } from './AccordionItem.types';
11-
import { mapStateToDataAttributes } from '../../../utils/mapStateToDataAttributes';
11+
import { stringifyDataAttribute } from '../../../utils';
1212

1313
/**
1414
* Returns the state for an AccordionItem component, given its props and ref.
@@ -17,7 +17,10 @@ import { mapStateToDataAttributes } from '../../../utils/mapStateToDataAttribute
1717
export const useAccordionItem = (props: AccordionItemProps, ref: React.Ref<HTMLElement>): AccordionItemState => {
1818
const state = useAccordionItem_unstable(props, ref);
1919

20-
Object.assign(state.root, mapStateToDataAttributes(state, ['disabled', 'open']));
20+
Object.assign(state.root, {
21+
'data-disabled': stringifyDataAttribute(state.disabled),
22+
'data-open': stringifyDataAttribute(state.open),
23+
});
2124

2225
return state;
2326
};

packages/react-components/react-headless-components-preview/library/src/components/Accordion/useAccordion.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
} from '@fluentui/react-accordion';
99

1010
import type { AccordionProps, AccordionState, AccordionContextValues } from './Accordion.types';
11-
import { mapStateToDataAttributes } from '../../utils/mapStateToDataAttributes';
11+
import { stringifyDataAttribute } from '../../utils';
1212

1313
/**
1414
* Returns the state for an Accordion component, given its props and ref.
@@ -17,7 +17,10 @@ import { mapStateToDataAttributes } from '../../utils/mapStateToDataAttributes';
1717
export const useAccordion = (props: AccordionProps, ref: React.Ref<HTMLElement>): AccordionState => {
1818
const state = useAccordionBase_unstable(props, ref);
1919

20-
Object.assign(state.root, mapStateToDataAttributes(state, ['collapsible', 'multiple']));
20+
Object.assign(state.root, {
21+
'data-collapsible': stringifyDataAttribute(state.collapsible),
22+
'data-multiple': stringifyDataAttribute(state.multiple),
23+
});
2124

2225
return state;
2326
};

packages/react-components/react-headless-components-preview/library/src/components/Button/useButton.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type * as React from 'react';
44
import { useButtonBase_unstable } from '@fluentui/react-button';
55

66
import type { ButtonProps, ButtonState } from './Button.types';
7-
import { mapStateToDataAttributes } from '../../utils/mapStateToDataAttributes';
7+
import { stringifyDataAttribute } from '../../utils';
88

99
/**
1010
* Returns the state for a Button component, given its props and ref.
@@ -13,7 +13,11 @@ import { mapStateToDataAttributes } from '../../utils/mapStateToDataAttributes';
1313
export const useButton = (props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>): ButtonState => {
1414
const state = useButtonBase_unstable(props, ref);
1515

16-
Object.assign(state.root, mapStateToDataAttributes(state, ['disabled', 'disabledFocusable', 'iconOnly']));
16+
Object.assign(state.root, {
17+
'data-disabled': stringifyDataAttribute(state.disabled),
18+
'data-disabled-focusable': stringifyDataAttribute(state.disabledFocusable),
19+
'data-icon-only': stringifyDataAttribute(state.iconOnly),
20+
});
1721

1822
return state;
1923
};

packages/react-components/react-headless-components-preview/library/src/index.ts

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,11 @@
11
export {
2-
AnnounceProvider,
3-
PortalMountNodeProvider,
4-
useAnnounce,
5-
useFluent_unstable as useFluent,
6-
usePortalMountNode,
7-
useTooltipVisibility_unstable as useTooltipVisibility,
8-
useThemeClassName_unstable as useThemeClassName,
9-
} from '@fluentui/react-shared-contexts';
10-
export type { AnnounceContextValue } from '@fluentui/react-shared-contexts';
11-
export {
12-
// getNativeElementProps is deprecated but removing it would be a breaking change
13-
// eslint-disable-next-line @typescript-eslint/no-deprecated
14-
getNativeElementProps,
152
getIntrinsicElementProps,
163
getPartitionedNativeProps,
17-
getSlotClassNameProp_unstable,
18-
// getSlots is deprecated but removing it would be a breaking change
19-
// eslint-disable-next-line @typescript-eslint/no-deprecated
20-
getSlots,
4+
getSlotClassNameProp_unstable as getSlotClassNameProp,
215
slot,
226
assertSlots,
237
IdPrefixProvider,
248
resetIdsForTests,
25-
// resolveShorthand is deprecated but removing it would be a breaking change
26-
// eslint-disable-next-line @typescript-eslint/no-deprecated
27-
resolveShorthand,
289
SSRProvider,
2910
useAnimationFrame,
3011
useId,
@@ -46,12 +27,6 @@ export type {
4627
JSXElement,
4728
JSXIntrinsicElement,
4829
JSXIntrinsicElementKeys,
49-
// ResolveShorthandFunction is deprecated but removing it would be a breaking change
50-
// eslint-disable-next-line @typescript-eslint/no-deprecated
51-
ResolveShorthandFunction,
52-
// ResolveShorthandOptions is deprecated but removing it would be a breaking change
53-
// eslint-disable-next-line @typescript-eslint/no-deprecated
54-
ResolveShorthandOptions,
5530
Slot,
5631
SlotOptions,
5732
SlotComponentType,

0 commit comments

Comments
 (0)