diff --git a/.devops/templates/build-test-lint.yml b/.devops/templates/build-test-lint.yml
index 1ad5296fdba160..29b4fb761f1683 100644
--- a/.devops/templates/build-test-lint.yml
+++ b/.devops/templates/build-test-lint.yml
@@ -29,9 +29,9 @@ steps:
- script: |
if [[ -n "$(targetBranch)" ]]; then
- yarn format --since $(targetBranch) --check
+ yarn nx format:check --base $(targetBranch)
else
- yarn format --all --check
+ yarn nx format:check --all
fi
displayName: check formatting
diff --git a/change/@fluentui-merge-styles-006a4ebc-3844-4381-b6de-5cd56fbe3742.json b/change/@fluentui-merge-styles-006a4ebc-3844-4381-b6de-5cd56fbe3742.json
new file mode 100644
index 00000000000000..6d8ec622aa5a0c
--- /dev/null
+++ b/change/@fluentui-merge-styles-006a4ebc-3844-4381-b6de-5cd56fbe3742.json
@@ -0,0 +1,7 @@
+{
+ "type": "patch",
+ "comment": "fix(security): escape < and > in serialized CSS values and stylesheet state so they cannot terminate a ` would otherwise terminate it and inject markup.
+
+To prevent that, `merge-styles` emits `<` and `>` inside declaration values as the CSS code point escapes `\3C ` and `\3E `. This is semantics-preserving - the escapes decode back to the same characters, including inside quoted strings and `url()`. Likewise, `Stylesheet.serialize` emits `<` as `\u003C` so its output can be embedded in an inline `" };');
+
+ const serializedStylesheet = _stylesheet.serialize();
+
+ expect(serializedStylesheet).not.toContain('<');
+ expect(JSON.parse(serializedStylesheet).rules).toEqual(['a { content: "" };']);
+ });
+
it('can be deserialized', () => {
const rehydrationData = JSON.parse(
// eslint-disable-next-line @fluentui/max-len
diff --git a/packages/merge-styles/src/Stylesheet.ts b/packages/merge-styles/src/Stylesheet.ts
index 0130f878d479a0..6e31128cf0ee88 100644
--- a/packages/merge-styles/src/Stylesheet.ts
+++ b/packages/merge-styles/src/Stylesheet.ts
@@ -168,6 +168,7 @@ export class Stylesheet {
private _keyToClassName: { [key: string]: string } = {};
private _onInsertRuleCallbacks: (Function | InsertRuleCallback)[] = [];
private _onResetCallbacks: Function[] = [];
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
private _classNameToArgs: { [key: string]: { args: any; rules: string[] } } = {};
/**
@@ -210,6 +211,10 @@ export class Stylesheet {
/**
* Serializes the Stylesheet instance into a format which allows rehydration on creation.
+ *
+ * `<` is emitted as the `\u003C` JSON escape so the result can be safely embedded in an inline
+ * `',
+ src: 'url("foo")',
+ });
+
+ const rules = _stylesheet.getRules(true);
+
+ expect(rules).not.toContain(' {
expect(_stylesheet.getRules()).toEqual('@keyframes css-0{from{opacity:0;}to{opacity:1;}}');
});
+
+ it('escapes values that would terminate the style element', () => {
+ keyframes({
+ from: { background: 'red;}' },
+ to: { opacity: 1 },
+ });
+
+ const rules = _stylesheet.getRules(true);
+
+ expect(rules).not.toContain(' {
expect(html).toEqual(`
Hello!
`);
expect(css).toEqual(`.test-root-0{background:red;}`);
});
+
+ it('does not emit a style element terminator from an untrusted style value', () => {
+ const { css } = renderStatic(() => {
+ const classNames: { root: string } = mergeCssSets([
+ {
+ root: {
+ background: 'red;}` element. Declaration values
+ * have `<` and `>` escaped as CSS code points so they cannot terminate that element, but callers
+ * remain responsible for validating untrusted data used in style values.
+ *
* @param onRender - Function that returns a string.
* @param namespace - Optional namespace to prepend to css classnames to avoid collisions.
*/
diff --git a/packages/merge-styles/src/styleToClassName.test.ts b/packages/merge-styles/src/styleToClassName.test.ts
index d0e8e33eb845f5..b1319e2532a6e0 100644
--- a/packages/merge-styles/src/styleToClassName.test.ts
+++ b/packages/merge-styles/src/styleToClassName.test.ts
@@ -603,4 +603,49 @@ describe('styleToClassName with specificityMultiplier', () => {
'}',
);
});
+
+ describe('style tag escaping', () => {
+ const payload = 'red;}');
+ },
+ );
+
+ it('escapes angle brackets as css code points', () => {
+ styleToClassName({}, { content: '"ac"' });
+
+ expect(_stylesheet.getRules()).toEqual('.css-0{content:"a\\3C b\\3E c";}');
+ });
+
+ it('does not escape selectors, so combinators keep working', () => {
+ styleToClassName(
+ {},
+ {
+ selectors: {
+ '& > .foo': { background: 'red' },
+ },
+ },
+ );
+
+ expect(_stylesheet.getRules()).toEqual('.css-0 > .foo{background:red;}');
+ });
+
+ it('keeps escaped values out of the class name cache key', () => {
+ const first = styleToClassName({}, { content: '"<"' });
+ const second = styleToClassName({}, { content: '"<"' });
+
+ expect(second).toEqual(first);
+ expect(_stylesheet.getRules()).toEqual('.css-0{content:"\\3C ";}');
+ });
+ });
});
diff --git a/packages/merge-styles/src/styleToClassName.ts b/packages/merge-styles/src/styleToClassName.ts
index c7841e0ababbf0..20051cc85513aa 100644
--- a/packages/merge-styles/src/styleToClassName.ts
+++ b/packages/merge-styles/src/styleToClassName.ts
@@ -1,3 +1,4 @@
+/* eslint-disable @typescript-eslint/no-explicit-any -- legacy package, style objects are loosely typed */
import { IStyle } from './IStyle';
import { IRawStyle } from './IRawStyle';
@@ -223,6 +224,25 @@ function repeatString(target: string, count: number): string {
return target + repeatString(target, count - 1);
}
+const CSS_ESCAPE_MAP: Record = {
+ '<': '\\3C ',
+ '>': '\\3E ',
+};
+
+/**
+ * Escapes characters that could break out of a `` as CSS code point escapes keeps the declaration
+ * semantically identical (including inside quoted strings and `url()`) while making it
+ * impossible for the HTML tokenizer to see a tag.
+ *
+ * IMPORTANT: only apply this to declaration *values*. Selectors legitimately contain `>`.
+ */
+function escapeForStyleTag(value: string): string {
+ return value.replace(/[<>]/g, match => CSS_ESCAPE_MAP[match]);
+}
+
export function serializeRuleEntries(options: IStyleOptions, ruleEntries: { [key: string]: string | number }): string {
if (!ruleEntries) {
return '';
@@ -246,7 +266,9 @@ export function serializeRuleEntries(options: IStyleOptions, ruleEntries: { [key
// Apply punctuation.
for (let i = 1; i < allEntries.length; i += 4) {
- allEntries.splice(i, 1, ':', allEntries[i], ';');
+ const value = allEntries[i];
+
+ allEntries.splice(i, 1, ':', typeof value === 'string' ? escapeForStyleTag(value) : value, ';');
}
return allEntries.join('');
diff --git a/packages/react-components/react-calendar-compat/library/package.json b/packages/react-components/react-calendar-compat/library/package.json
index 8ab609d93016e2..3461892cfe1d6f 100644
--- a/packages/react-components/react-calendar-compat/library/package.json
+++ b/packages/react-components/react-calendar-compat/library/package.json
@@ -25,10 +25,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
- "react": ">=16.8.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
+ "react": ">=16.14.0 <20.0.0",
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-datepicker-compat/library/package.json b/packages/react-components/react-datepicker-compat/library/package.json
index 6a5e1dc5e6f3a4..5647250be54725 100644
--- a/packages/react-components/react-datepicker-compat/library/package.json
+++ b/packages/react-components/react-datepicker-compat/library/package.json
@@ -31,7 +31,7 @@
"peerDependencies": {
"@types/react": ">=16.14.0 <20.0.0",
"@types/react-dom": ">=16.9.0 <20.0.0",
- "react": ">=16.8.0 <20.0.0",
+ "react": ">=16.14.0 <20.0.0",
"react-dom": ">=16.14.0 <20.0.0"
},
"beachball": {
diff --git a/packages/react-components/react-field/library/docs/Spec.md b/packages/react-components/react-field/library/docs/Spec.md
index 5b10dc8868b63e..f24f2adb9b712f 100644
--- a/packages/react-components/react-field/library/docs/Spec.md
+++ b/packages/react-components/react-field/library/docs/Spec.md
@@ -265,6 +265,9 @@ export type FieldControlPropsOptions = {
* Sets the size prop on the control to match the Field's size: `'small' | 'medium' | 'large'`.
*
* This should be used with controls that have a custom size prop that matches the Field's size prop.
+ *
+ * NOTE: the size is set on the props *returned* by this hook, so the control must read `size` from the returned
+ * props.
*/
supportsSize?: boolean;
};
diff --git a/packages/react-components/react-field/library/src/contexts/useFieldControlProps.ts b/packages/react-components/react-field/library/src/contexts/useFieldControlProps.ts
index 00226654f30070..c73968be83a0b7 100644
--- a/packages/react-components/react-field/library/src/contexts/useFieldControlProps.ts
+++ b/packages/react-components/react-field/library/src/contexts/useFieldControlProps.ts
@@ -27,6 +27,10 @@ export type FieldControlPropsOptions = {
* Sets the size prop on the control to match the Field's size: `'small' | 'medium' | 'large'`.
*
* This should be used with controls that have a custom size prop that matches the Field's size prop.
+ *
+ * NOTE: the size is set on the props *returned* by this hook, so the control must read `size` from the returned
+ * props. It has no effect if `size` is read from the original props (for example destructured by a wrapper hook
+ * before calling this one) - in that case read the size from `useFieldContext_unstable()` directly instead.
*/
supportsSize?: boolean;
};
diff --git a/packages/react-components/react-headless-components-preview/library/etc/accordion.api.md b/packages/react-components/react-headless-components-preview/library/etc/accordion.api.md
index 2f290f3e688249..07e90ed3df5379 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/accordion.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/accordion.api.md
@@ -5,40 +5,39 @@
```ts
import type { AccordionBaseProps } from '@fluentui/react-accordion';
-import { AccordionBaseState } from '@fluentui/react-accordion';
-import { AccordionContextValue } from '@fluentui/react-accordion';
-import { AccordionContextValues as AccordionContextValues_2 } from '@fluentui/react-accordion';
-import type { AccordionHeaderBaseProps } from '@fluentui/react-accordion';
-import { AccordionHeaderBaseState } from '@fluentui/react-accordion';
+import type { AccordionBaseState } from '@fluentui/react-accordion';
+import { AccordionContextValues } from '@fluentui/react-accordion';
+import type { AccordionHeaderBaseState } from '@fluentui/react-accordion';
import { AccordionHeaderContextValues } from '@fluentui/react-accordion';
-import type { AccordionHeaderSlots as AccordionHeaderSlots_2 } from '@fluentui/react-accordion';
-import { AccordionItemContextValues } from '@fluentui/react-accordion';
-import type { AccordionItemProps as AccordionItemProps_2 } from '@fluentui/react-accordion';
-import type { AccordionItemSlots as AccordionItemSlots_2 } from '@fluentui/react-accordion';
-import { AccordionItemState as AccordionItemState_2 } from '@fluentui/react-accordion';
-import type { AccordionPanelBaseProps } from '@fluentui/react-accordion';
+import { AccordionHeaderBaseProps as AccordionHeaderProps } from '@fluentui/react-accordion';
+import { AccordionHeaderSlots } from '@fluentui/react-accordion';
+import { AccordionItemProps } from '@fluentui/react-accordion';
+import { AccordionItemSlots } from '@fluentui/react-accordion';
+import type { AccordionItemState as AccordionItemState_2 } from '@fluentui/react-accordion';
import type { AccordionPanelBaseState } from '@fluentui/react-accordion';
-import type { AccordionPanelSlots as AccordionPanelSlots_2 } from '@fluentui/react-accordion';
-import type { AccordionSlots as AccordionSlots_2 } from '@fluentui/react-accordion';
-import { ContextSelector } from '@fluentui/react-context-selector';
+import { AccordionPanelBaseProps as AccordionPanelProps } from '@fluentui/react-accordion';
+import { AccordionPanelSlots } from '@fluentui/react-accordion';
+import { AccordionSlots } from '@fluentui/react-accordion';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
+import type { JSXElement } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
+import { renderAccordion_unstable as renderAccordion } from '@fluentui/react-accordion';
+import { renderAccordionHeader_unstable as renderAccordionHeader } from '@fluentui/react-accordion';
+import { renderAccordionItem_unstable as renderAccordionItem } from '@fluentui/react-accordion';
+import { useAccordionContext_unstable as useAccordionContext } from '@fluentui/react-accordion';
+import { useAccordionItemContextValues_unstable as useAccordionItemContextValues } from '@fluentui/react-accordion';
// @public
export const Accordion: ForwardRefComponent;
-// @public (undocumented)
-export type AccordionContextValues = AccordionContextValues_2;
+export { AccordionContextValues }
// @public
export const AccordionHeader: ForwardRefComponent;
-// @public (undocumented)
-export type AccordionHeaderProps = AccordionHeaderBaseProps;
+export { AccordionHeaderProps }
-// @public (undocumented)
-export type AccordionHeaderSlots = AccordionHeaderSlots_2;
+export { AccordionHeaderSlots }
// @public (undocumented)
export type AccordionHeaderState = AccordionHeaderBaseState & {
@@ -52,11 +51,9 @@ export type AccordionHeaderState = AccordionHeaderBaseState & {
// @public
export const AccordionItem: ForwardRefComponent;
-// @public (undocumented)
-export type AccordionItemProps = AccordionItemProps_2;
+export { AccordionItemProps }
-// @public (undocumented)
-export type AccordionItemSlots = AccordionItemSlots_2;
+export { AccordionItemSlots }
// @public (undocumented)
export type AccordionItemState = AccordionItemState_2 & {
@@ -69,11 +66,9 @@ export type AccordionItemState = AccordionItemState_2 & {
// @public
export const AccordionPanel: ForwardRefComponent;
-// @public (undocumented)
-export type AccordionPanelProps = AccordionPanelBaseProps;
+export { AccordionPanelProps }
-// @public (undocumented)
-export type AccordionPanelSlots = AccordionPanelSlots_2;
+export { AccordionPanelSlots }
// @public (undocumented)
export type AccordionPanelState = AccordionPanelBaseState & {
@@ -85,8 +80,7 @@ export type AccordionPanelState = AccordionPanelBaseState & {
// @public (undocumented)
export type AccordionProps = AccordionBaseProps;
-// @public (undocumented)
-export type AccordionSlots = AccordionSlots_2;
+export { AccordionSlots }
// @public (undocumented)
export type AccordionState = AccordionBaseState & {
@@ -96,14 +90,11 @@ export type AccordionState = AccordionBaseState & {
};
};
-// @public
-export const renderAccordion: (state: AccordionBaseState, contextValues: AccordionContextValues_2) => JSXElement;
+export { renderAccordion }
-// @public
-export const renderAccordionHeader: (state: AccordionHeaderBaseState, contextValues: AccordionHeaderContextValues) => JSXElement;
+export { renderAccordionHeader }
-// @public
-export const renderAccordionItem: (state: AccordionItemState_2, contextValues: AccordionItemContextValues) => JSXElement;
+export { renderAccordionItem }
// @public
export const renderAccordionPanel: (state: AccordionPanelState) => JSXElement;
@@ -111,8 +102,7 @@ export const renderAccordionPanel: (state: AccordionPanelState) => JSXElement;
// @public
export const useAccordion: (props: AccordionProps, ref: React_2.Ref) => AccordionState;
-// @public
-export const useAccordionContext: (selector: ContextSelector) => T;
+export { useAccordionContext }
// @public
export const useAccordionContextValues: (state: AccordionState) => AccordionContextValues;
@@ -121,13 +111,12 @@ export const useAccordionContextValues: (state: AccordionState) => AccordionCont
export const useAccordionHeader: (props: AccordionHeaderProps, ref: React_2.Ref) => AccordionHeaderState;
// @public
-export const useAccordionHeaderContextValues: (state: AccordionHeaderState) => AccordionHeaderContextValues_2;
+export const useAccordionHeaderContextValues: (state: AccordionHeaderState) => AccordionHeaderContextValues;
// @public
export const useAccordionItem: (props: AccordionItemProps, ref: React_2.Ref) => AccordionItemState;
-// @public
-export const useAccordionItemContextValues: (state: AccordionItemState) => AccordionItemContextValues_2;
+export { useAccordionItemContextValues }
// @public
export const useAccordionPanel: (props: AccordionPanelProps, ref: React_2.Ref) => AccordionPanelState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/avatar.api.md b/packages/react-components/react-headless-components-preview/library/etc/avatar.api.md
index 45aff931f87646..7df93d4b42c08b 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/avatar.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/avatar.api.md
@@ -4,9 +4,9 @@
```ts
-import type { AvatarBaseProps } from '@fluentui/react-avatar';
-import type { AvatarBaseState } from '@fluentui/react-avatar';
-import type { AvatarSlots as AvatarSlots_2 } from '@fluentui/react-avatar';
+import { AvatarBaseProps as AvatarProps } from '@fluentui/react-avatar';
+import { AvatarSlots } from '@fluentui/react-avatar';
+import { AvatarBaseState as AvatarState } from '@fluentui/react-avatar';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderAvatar_unstable as renderAvatar } from '@fluentui/react-avatar';
@@ -14,14 +14,11 @@ import { renderAvatar_unstable as renderAvatar } from '@fluentui/react-avatar';
// @public
export const Avatar: ForwardRefComponent;
-// @public
-export type AvatarProps = AvatarBaseProps;
+export { AvatarProps }
-// @public
-export type AvatarSlots = AvatarSlots_2;
+export { AvatarSlots }
-// @public
-export type AvatarState = AvatarBaseState;
+export { AvatarState }
export { renderAvatar }
diff --git a/packages/react-components/react-headless-components-preview/library/etc/badge.api.md b/packages/react-components/react-headless-components-preview/library/etc/badge.api.md
index 393157a8dcff78..69ca4cacea6faf 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/badge.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/badge.api.md
@@ -4,9 +4,9 @@
```ts
-import type { BadgeBaseProps } from '@fluentui/react-badge';
import type { BadgeBaseState } from '@fluentui/react-badge';
-import type { BadgeSlots as BadgeSlots_2 } from '@fluentui/react-badge';
+import { BadgeBaseProps as BadgeProps } from '@fluentui/react-badge';
+import { BadgeSlots } from '@fluentui/react-badge';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderBadge_unstable as renderBadge } from '@fluentui/react-badge';
@@ -14,11 +14,9 @@ import { renderBadge_unstable as renderBadge } from '@fluentui/react-badge';
// @public
export const Badge: ForwardRefComponent;
-// @public
-export type BadgeProps = BadgeBaseProps;
+export { BadgeProps }
-// @public
-export type BadgeSlots = BadgeSlots_2;
+export { BadgeSlots }
// @public
export type BadgeState = BadgeBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/breadcrumb.api.md b/packages/react-components/react-headless-components-preview/library/etc/breadcrumb.api.md
index 448423a2981485..ee975ed0468a8d 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/breadcrumb.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/breadcrumb.api.md
@@ -4,23 +4,29 @@
```ts
-import type { BreadcrumbBaseProps } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbBaseState } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbButtonBaseProps } from '@fluentui/react-breadcrumb';
import type { BreadcrumbButtonBaseState } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbButtonSlots as BreadcrumbButtonSlots_2 } from '@fluentui/react-breadcrumb';
-import { BreadcrumbContextValues as BreadcrumbContextValues_2 } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbDividerBaseProps } from '@fluentui/react-breadcrumb';
-import { BreadcrumbDividerBaseState } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbDividerSlots as BreadcrumbDividerSlots_2 } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbItemBaseProps } from '@fluentui/react-breadcrumb';
-import { BreadcrumbItemBaseState } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbItemSlots as BreadcrumbItemSlots_2 } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbSlots as BreadcrumbSlots_2 } from '@fluentui/react-breadcrumb';
+import { BreadcrumbButtonBaseProps as BreadcrumbButtonProps } from '@fluentui/react-breadcrumb';
+import { BreadcrumbButtonSlots } from '@fluentui/react-breadcrumb';
+import { BreadcrumbContextValues } from '@fluentui/react-breadcrumb';
+import { BreadcrumbDividerBaseProps as BreadcrumbDividerProps } from '@fluentui/react-breadcrumb';
+import { BreadcrumbDividerSlots } from '@fluentui/react-breadcrumb';
+import { BreadcrumbDividerBaseState as BreadcrumbDividerState } from '@fluentui/react-breadcrumb';
+import { BreadcrumbItemBaseProps as BreadcrumbItemProps } from '@fluentui/react-breadcrumb';
+import { BreadcrumbItemSlots } from '@fluentui/react-breadcrumb';
+import { BreadcrumbItemBaseState as BreadcrumbItemState } from '@fluentui/react-breadcrumb';
+import { BreadcrumbBaseProps as BreadcrumbProps } from '@fluentui/react-breadcrumb';
+import { BreadcrumbSlots } from '@fluentui/react-breadcrumb';
+import { BreadcrumbBaseState as BreadcrumbState } from '@fluentui/react-breadcrumb';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderBreadcrumb_unstable as renderBreadcrumb } from '@fluentui/react-breadcrumb';
+import { renderBreadcrumbButton_unstable as renderBreadcrumbButton } from '@fluentui/react-breadcrumb';
+import { renderBreadcrumbDivider_unstable as renderBreadcrumbDivider } from '@fluentui/react-breadcrumb';
+import { renderBreadcrumbItem_unstable as renderBreadcrumbItem } from '@fluentui/react-breadcrumb';
+import { useBreadcrumbBase_unstable as useBreadcrumb } from '@fluentui/react-breadcrumb';
+import { useBreadcrumbContext_unstable as useBreadcrumbContext } from '@fluentui/react-breadcrumb';
+import { useBreadcrumbDividerBase_unstable as useBreadcrumbDivider } from '@fluentui/react-breadcrumb';
+import { useBreadcrumbItemBase_unstable as useBreadcrumbItem } from '@fluentui/react-breadcrumb';
// @public
export const Breadcrumb: ForwardRefComponent;
@@ -28,11 +34,9 @@ export const Breadcrumb: ForwardRefComponent;
// @public
export const BreadcrumbButton: ForwardRefComponent;
-// @public
-export type BreadcrumbButtonProps = BreadcrumbButtonBaseProps;
+export { BreadcrumbButtonProps }
-// @public
-export type BreadcrumbButtonSlots = BreadcrumbButtonSlots_2;
+export { BreadcrumbButtonSlots }
// @public
export type BreadcrumbButtonState = BreadcrumbButtonBaseState & {
@@ -41,70 +45,53 @@ export type BreadcrumbButtonState = BreadcrumbButtonBaseState & {
};
};
-// @public
-export type BreadcrumbContextValues = BreadcrumbContextValues_2;
+export { BreadcrumbContextValues }
// @public
export const BreadcrumbDivider: ForwardRefComponent;
-// @public
-export type BreadcrumbDividerProps = BreadcrumbDividerBaseProps;
+export { BreadcrumbDividerProps }
-// @public
-export type BreadcrumbDividerSlots = BreadcrumbDividerSlots_2;
+export { BreadcrumbDividerSlots }
-// @public
-export type BreadcrumbDividerState = BreadcrumbDividerBaseState;
+export { BreadcrumbDividerState }
// @public
export const BreadcrumbItem: ForwardRefComponent;
-// @public
-export type BreadcrumbItemProps = BreadcrumbItemBaseProps;
+export { BreadcrumbItemProps }
-// @public
-export type BreadcrumbItemSlots = BreadcrumbItemSlots_2;
+export { BreadcrumbItemSlots }
-// @public
-export type BreadcrumbItemState = BreadcrumbItemBaseState;
+export { BreadcrumbItemState }
-// @public
-export type BreadcrumbProps = BreadcrumbBaseProps;
+export { BreadcrumbProps }
-// @public
-export type BreadcrumbSlots = BreadcrumbSlots_2;
+export { BreadcrumbSlots }
-// @public
-export type BreadcrumbState = BreadcrumbBaseState;
+export { BreadcrumbState }
export { renderBreadcrumb }
-// @public
-export const renderBreadcrumbButton: (state: BreadcrumbButtonState) => JSXElement;
+export { renderBreadcrumbButton }
-// @public
-export const renderBreadcrumbDivider: (state: BreadcrumbDividerBaseState) => JSXElement;
+export { renderBreadcrumbDivider }
-// @public
-export const renderBreadcrumbItem: (state: BreadcrumbItemBaseState) => JSXElement;
+export { renderBreadcrumbItem }
-// @public
-export const useBreadcrumb: (props: BreadcrumbProps, ref: React_2.Ref) => BreadcrumbState;
+export { useBreadcrumb }
// @public
export const useBreadcrumbButton: (props: BreadcrumbButtonProps, ref: React_2.Ref) => BreadcrumbButtonState;
-// @public
-export const useBreadcrumbContext: () => BreadcrumbContextValues_2;
+export { useBreadcrumbContext }
// @public
export const useBreadcrumbContextValues: (state: BreadcrumbState) => BreadcrumbContextValues;
-// @public
-export const useBreadcrumbDivider: (props: BreadcrumbDividerProps, ref: React_2.Ref) => BreadcrumbDividerState;
+export { useBreadcrumbDivider }
-// @public
-export const useBreadcrumbItem: (props: BreadcrumbItemProps, ref: React_2.Ref) => BreadcrumbItemState;
+export { useBreadcrumbItem }
// (No @packageDocumentation comment for this package)
diff --git a/packages/react-components/react-headless-components-preview/library/etc/button.api.md b/packages/react-components/react-headless-components-preview/library/etc/button.api.md
index 712b72bf72526f..26059c8cca5bb5 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/button.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/button.api.md
@@ -4,21 +4,19 @@
```ts
-import type { ButtonBaseProps } from '@fluentui/react-button';
-import { ButtonBaseState } from '@fluentui/react-button';
-import type { ButtonSlots as ButtonSlots_2 } from '@fluentui/react-button';
+import type { ButtonBaseState } from '@fluentui/react-button';
+import { ButtonBaseProps as ButtonProps } from '@fluentui/react-button';
+import { ButtonSlots } from '@fluentui/react-button';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
+import { renderButton_unstable as renderButton } from '@fluentui/react-button';
// @public
export const Button: ForwardRefComponent;
-// @public
-export type ButtonProps = ButtonBaseProps;
+export { ButtonProps }
-// @public
-export type ButtonSlots = ButtonSlots_2;
+export { ButtonSlots }
// @public
export type ButtonState = ButtonBaseState & {
@@ -30,8 +28,7 @@ export type ButtonState = ButtonBaseState & {
};
};
-// @public
-export const renderButton: (state: ButtonBaseState) => JSXElement;
+export { renderButton }
// @public
export const useButton: (props: ButtonProps, ref: React_2.Ref) => ButtonState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/card.api.md b/packages/react-components/react-headless-components-preview/library/etc/card.api.md
index 5afeed5312bd87..7d4bf9a23f7bd3 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/card.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/card.api.md
@@ -6,73 +6,67 @@
import type { CardBaseProps } from '@fluentui/react-card';
import type { CardBaseState } from '@fluentui/react-card';
-import { CardContextValue as CardContextValue_2 } from '@fluentui/react-card';
-import type { CardFooterBaseProps } from '@fluentui/react-card';
-import { CardFooterBaseState } from '@fluentui/react-card';
-import type { CardFooterSlots as CardFooterSlots_2 } from '@fluentui/react-card';
-import type { CardHeaderBaseProps } from '@fluentui/react-card';
-import { CardHeaderBaseState } from '@fluentui/react-card';
-import type { CardHeaderSlots as CardHeaderSlots_2 } from '@fluentui/react-card';
-import type { CardOnSelectionChangeEvent as CardOnSelectionChangeEvent_2 } from '@fluentui/react-card';
-import type { CardPreviewBaseProps } from '@fluentui/react-card';
-import { CardPreviewBaseState } from '@fluentui/react-card';
-import type { CardPreviewSlots as CardPreviewSlots_2 } from '@fluentui/react-card';
-import type { CardSlots as CardSlots_2 } from '@fluentui/react-card';
+import { CardContextValue } from '@fluentui/react-card';
+import { CardFooterBaseProps as CardFooterProps } from '@fluentui/react-card';
+import { CardFooterSlots } from '@fluentui/react-card';
+import { CardFooterBaseState as CardFooterState } from '@fluentui/react-card';
+import { CardHeaderBaseProps as CardHeaderProps } from '@fluentui/react-card';
+import { CardHeaderSlots } from '@fluentui/react-card';
+import { CardHeaderBaseState as CardHeaderState } from '@fluentui/react-card';
+import { CardOnSelectionChangeEvent } from '@fluentui/react-card';
+import { CardPreviewBaseProps as CardPreviewProps } from '@fluentui/react-card';
+import { CardPreviewSlots } from '@fluentui/react-card';
+import { CardPreviewBaseState as CardPreviewState } from '@fluentui/react-card';
+import { CardSlots } from '@fluentui/react-card';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderCard_unstable as renderCard } from '@fluentui/react-card';
+import { renderCardFooter_unstable as renderCardFooter } from '@fluentui/react-card';
+import { renderCardHeader_unstable as renderCardHeader } from '@fluentui/react-card';
+import { renderCardPreview_unstable as renderCardPreview } from '@fluentui/react-card';
+import { useCardContext_unstable as useCardContext } from '@fluentui/react-card';
+import { useCardFooterBase_unstable as useCardFooter } from '@fluentui/react-card';
+import { useCardHeaderBase_unstable as useCardHeader } from '@fluentui/react-card';
+import { useCardPreviewBase_unstable as useCardPreview } from '@fluentui/react-card';
// @public
export const Card: ForwardRefComponent;
-// @public
-export type CardContextValue = CardContextValue_2;
+export { CardContextValue }
// @public
export const CardFooter: ForwardRefComponent;
-// @public
-export type CardFooterProps = CardFooterBaseProps;
+export { CardFooterProps }
-// @public
-export type CardFooterSlots = CardFooterSlots_2;
+export { CardFooterSlots }
-// @public
-export type CardFooterState = CardFooterBaseState;
+export { CardFooterState }
// @public
export const CardHeader: ForwardRefComponent;
-// @public
-export type CardHeaderProps = CardHeaderBaseProps;
+export { CardHeaderProps }
-// @public
-export type CardHeaderSlots = CardHeaderSlots_2;
+export { CardHeaderSlots }
-// @public
-export type CardHeaderState = CardHeaderBaseState;
+export { CardHeaderState }
-// @public
-export type CardOnSelectionChangeEvent = CardOnSelectionChangeEvent_2;
+export { CardOnSelectionChangeEvent }
// @public
export const CardPreview: ForwardRefComponent;
-// @public
-export type CardPreviewProps = CardPreviewBaseProps;
+export { CardPreviewProps }
-// @public
-export type CardPreviewSlots = CardPreviewSlots_2;
+export { CardPreviewSlots }
-// @public
-export type CardPreviewState = CardPreviewBaseState;
+export { CardPreviewState }
// @public
export type CardProps = Omit;
-// @public
-export type CardSlots = CardSlots_2;
+export { CardSlots }
// @public
export type CardState = CardBaseState & {
@@ -84,32 +78,25 @@ export type CardState = CardBaseState & {
export { renderCard }
-// @public
-export const renderCardFooter: (state: CardFooterBaseState) => JSXElement;
+export { renderCardFooter }
-// @public
-export const renderCardHeader: (state: CardHeaderBaseState) => JSXElement;
+export { renderCardHeader }
-// @public
-export const renderCardPreview: (state: CardPreviewBaseState) => JSXElement;
+export { renderCardPreview }
// @public
export const useCard: (props: CardProps, ref: React_2.Ref) => CardState;
-// @public
-export const useCardContext: () => CardContextValue_2;
+export { useCardContext }
// @public
export const useCardContextValue: ({ selectableA11yProps }: CardState) => CardContextValue;
-// @public
-export const useCardFooter: (props: CardFooterProps, ref: React_2.Ref) => CardFooterState;
+export { useCardFooter }
-// @public
-export const useCardHeader: (props: CardHeaderProps, ref: React_2.Ref) => CardHeaderState;
+export { useCardHeader }
-// @public
-export const useCardPreview: (props: CardPreviewProps, ref: React_2.Ref) => CardPreviewState;
+export { useCardPreview }
// (No @packageDocumentation comment for this package)
diff --git a/packages/react-components/react-headless-components-preview/library/etc/checkbox.api.md b/packages/react-components/react-headless-components-preview/library/etc/checkbox.api.md
index 5f89b3ac84a7e8..0cd28c5e7a3aaa 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/checkbox.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/checkbox.api.md
@@ -4,9 +4,9 @@
```ts
-import type { CheckboxBaseProps } from '@fluentui/react-checkbox';
import type { CheckboxBaseState } from '@fluentui/react-checkbox';
-import type { CheckboxSlots as CheckboxSlots_2 } from '@fluentui/react-checkbox';
+import { CheckboxBaseProps as CheckboxProps } from '@fluentui/react-checkbox';
+import { CheckboxSlots } from '@fluentui/react-checkbox';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderCheckbox_unstable as renderCheckbox } from '@fluentui/react-checkbox';
@@ -14,11 +14,9 @@ import { renderCheckbox_unstable as renderCheckbox } from '@fluentui/react-check
// @public
export const Checkbox: ForwardRefComponent;
-// @public
-export type CheckboxProps = CheckboxBaseProps;
+export { CheckboxProps }
-// @public (undocumented)
-export type CheckboxSlots = CheckboxSlots_2;
+export { CheckboxSlots }
// @public
export type CheckboxState = CheckboxBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/combobox.api.md b/packages/react-components/react-headless-components-preview/library/etc/combobox.api.md
index 18ccb1784a0c8a..e7c780a581e0ee 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/combobox.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/combobox.api.md
@@ -10,20 +10,21 @@ import { ComboboxContextValues } from '@fluentui/react-combobox';
import { ComboboxSlots } from '@fluentui/react-combobox';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type { JSXElement } from '@fluentui/react-utilities';
-import type { ListboxContextValues as ListboxContextValues_2 } from '@fluentui/react-combobox';
-import type { ListboxProps as ListboxProps_2 } from '@fluentui/react-combobox';
-import type { ListboxSlots as ListboxSlots_2 } from '@fluentui/react-combobox';
-import type { ListboxState as ListboxState_2 } from '@fluentui/react-combobox';
-import type { OptionGroupProps as OptionGroupProps_2 } from '@fluentui/react-combobox';
-import type { OptionGroupSlots as OptionGroupSlots_2 } from '@fluentui/react-combobox';
-import type { OptionGroupState as OptionGroupState_2 } from '@fluentui/react-combobox';
-import type { OptionProps as OptionProps_2 } from '@fluentui/react-combobox';
-import type { OptionSlots as OptionSlots_2 } from '@fluentui/react-combobox';
+import { ListboxContextValues } from '@fluentui/react-combobox';
+import { ListboxProps } from '@fluentui/react-combobox';
+import { ListboxSlots } from '@fluentui/react-combobox';
+import { ListboxState } from '@fluentui/react-combobox';
+import { OptionGroupProps } from '@fluentui/react-combobox';
+import { OptionGroupSlots } from '@fluentui/react-combobox';
+import { OptionGroupState } from '@fluentui/react-combobox';
+import { OptionProps } from '@fluentui/react-combobox';
+import { OptionSlots } from '@fluentui/react-combobox';
import type { OptionState as OptionState_2 } from '@fluentui/react-combobox';
import type * as React_2 from 'react';
import { renderListbox_unstable as renderListbox } from '@fluentui/react-combobox';
import { renderOption_unstable as renderOption } from '@fluentui/react-combobox';
import { renderOptionGroup_unstable as renderOptionGroup } from '@fluentui/react-combobox';
+import { useListboxContextValues } from '@fluentui/react-combobox';
// @public (undocumented)
export const Combobox: ForwardRefComponent;
@@ -45,17 +46,13 @@ export type ComboboxState = BaseComboboxState & {
// @public
export const Listbox: ForwardRefComponent;
-// @public
-export type ListboxContextValues = ListboxContextValues_2;
+export { ListboxContextValues }
-// @public
-export type ListboxProps = ListboxProps_2;
+export { ListboxProps }
-// @public (undocumented)
-export type ListboxSlots = ListboxSlots_2;
+export { ListboxSlots }
-// @public
-export type ListboxState = ListboxState_2;
+export { ListboxState }
// @public
const Option_2: ForwardRefComponent;
@@ -64,20 +61,15 @@ export { Option_2 as Option }
// @public
export const OptionGroup: ForwardRefComponent;
-// @public
-export type OptionGroupProps = OptionGroupProps_2;
+export { OptionGroupProps }
-// @public (undocumented)
-export type OptionGroupSlots = OptionGroupSlots_2;
+export { OptionGroupSlots }
-// @public
-export type OptionGroupState = OptionGroupState_2;
+export { OptionGroupState }
-// @public
-export type OptionProps = OptionProps_2;
+export { OptionProps }
-// @public (undocumented)
-export type OptionSlots = OptionSlots_2;
+export { OptionSlots }
// @public
export type OptionState = OptionState_2 & {
@@ -106,8 +98,7 @@ export const useComboboxContextValues: (state: ComboboxState) => ComboboxContext
// @public
export const useListbox: (props: ListboxProps, ref: React_2.Ref) => ListboxState;
-// @public (undocumented)
-export const useListboxContextValues: (state: ListboxState) => ListboxContextValues;
+export { useListboxContextValues }
// @public
export const useOption: (props: OptionProps, ref: React_2.Ref) => OptionState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/divider.api.md b/packages/react-components/react-headless-components-preview/library/etc/divider.api.md
index bcbc5d02294ed2..aa6663d9622a3e 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/divider.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/divider.api.md
@@ -4,21 +4,19 @@
```ts
-import type { DividerBaseProps } from '@fluentui/react-divider';
-import { DividerBaseState } from '@fluentui/react-divider';
-import type { DividerSlots as DividerSlots_2 } from '@fluentui/react-divider';
+import type { DividerBaseState } from '@fluentui/react-divider';
+import { DividerBaseProps as DividerProps } from '@fluentui/react-divider';
+import { DividerSlots } from '@fluentui/react-divider';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
+import { renderDivider_unstable as renderDivider } from '@fluentui/react-divider';
// @public
export const Divider: ForwardRefComponent;
-// @public (undocumented)
-export type DividerProps = DividerBaseProps;
+export { DividerProps }
-// @public (undocumented)
-export type DividerSlots = DividerSlots_2;
+export { DividerSlots }
// @public (undocumented)
export type DividerState = DividerBaseState & {
@@ -27,8 +25,7 @@ export type DividerState = DividerBaseState & {
};
};
-// @public
-export const renderDivider: (state: DividerBaseState) => JSXElement;
+export { renderDivider }
// @public
export const useDivider: (props: DividerProps, ref: React_2.Ref) => DividerState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/drawer.api.md b/packages/react-components/react-headless-components-preview/library/etc/drawer.api.md
index 5f45240027a819..8cafd326ac333a 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/drawer.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/drawer.api.md
@@ -12,13 +12,13 @@ import { DrawerBodyState } from '@fluentui/react-drawer';
import { DrawerContextValue } from '@fluentui/react-drawer';
import { DrawerFooterProps } from '@fluentui/react-drawer';
import { DrawerFooterSlots } from '@fluentui/react-drawer';
-import { DrawerFooterState as DrawerFooterState_2 } from '@fluentui/react-drawer';
+import type { DrawerFooterState as DrawerFooterState_2 } from '@fluentui/react-drawer';
import { DrawerHeaderNavigationProps } from '@fluentui/react-drawer';
import { DrawerHeaderNavigationSlots } from '@fluentui/react-drawer';
import { DrawerHeaderNavigationState } from '@fluentui/react-drawer';
import { DrawerHeaderProps } from '@fluentui/react-drawer';
import { DrawerHeaderSlots } from '@fluentui/react-drawer';
-import { DrawerHeaderState as DrawerHeaderState_2 } from '@fluentui/react-drawer';
+import type { DrawerHeaderState as DrawerHeaderState_2 } from '@fluentui/react-drawer';
import { DrawerHeaderTitleProps } from '@fluentui/react-drawer';
import { DrawerHeaderTitleSlots } from '@fluentui/react-drawer';
import { DrawerHeaderTitleState } from '@fluentui/react-drawer';
@@ -28,13 +28,19 @@ import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type { InlineDrawerBaseState } from '@fluentui/react-drawer';
import { InlineDrawerBaseProps as InlineDrawerProps } from '@fluentui/react-drawer';
import { InlineDrawerSlots } from '@fluentui/react-drawer';
-import { JSXElement } from '@fluentui/react-utilities';
+import type { JSXElement } from '@fluentui/react-utilities';
import type { OverlayDrawerProps as OverlayDrawerProps_2 } from '@fluentui/react-drawer';
import * as React_2 from 'react';
-import { Ref } from 'react';
+import { renderDrawerBody_unstable as renderDrawerBody } from '@fluentui/react-drawer';
+import { renderDrawerFooter_unstable as renderDrawerFooter } from '@fluentui/react-drawer';
+import { renderDrawerHeader_unstable as renderDrawerHeader } from '@fluentui/react-drawer';
+import { renderDrawerHeaderNavigation_unstable as renderDrawerHeaderNavigation } from '@fluentui/react-drawer';
+import { renderDrawerHeaderTitle_unstable as renderDrawerHeaderTitle } from '@fluentui/react-drawer';
import type { Slot } from '@fluentui/react-utilities';
+import { useDrawerBody_unstable as useDrawerBody } from '@fluentui/react-drawer';
import { useDrawerContext_unstable as useDrawerContext } from '@fluentui/react-drawer';
import { useDrawerContextValue } from '@fluentui/react-drawer';
+import { useDrawerHeaderNavigation_unstable as useDrawerHeaderNavigation } from '@fluentui/react-drawer';
// @public
export const Drawer: ForwardRefComponent;
@@ -148,20 +154,15 @@ export type OverlayDrawerState = ComponentState & Re
// @public
export const renderDrawer: (state: DrawerState) => JSXElement;
-// @public
-export const renderDrawerBody: (state: DrawerBodyState) => JSXElement;
+export { renderDrawerBody }
-// @public
-export const renderDrawerFooter: (state: DrawerFooterState_2) => JSXElement;
+export { renderDrawerFooter }
-// @public
-export const renderDrawerHeader: (state: DrawerHeaderState_2) => JSXElement;
+export { renderDrawerHeader }
-// @public
-export const renderDrawerHeaderNavigation: (state: DrawerHeaderNavigationState) => JSXElement;
+export { renderDrawerHeaderNavigation }
-// @public
-export const renderDrawerHeaderTitle: (state: DrawerHeaderTitleState) => JSXElement;
+export { renderDrawerHeaderTitle }
// @public
export const renderInlineDrawer: (state: InlineDrawerState, contextValue: DrawerContextValue) => JSXElement | null;
@@ -172,8 +173,7 @@ export const renderOverlayDrawer: (state: OverlayDrawerState, contextValue: Draw
// @public
export const useDrawer: (props: DrawerProps, ref: React_2.Ref) => DrawerState;
-// @public
-export const useDrawerBody: (props: DrawerBodyProps, ref: Ref) => DrawerBodyState;
+export { useDrawerBody }
export { useDrawerContext }
@@ -185,8 +185,7 @@ export const useDrawerFooter: (props: DrawerFooterProps, ref: React_2.Ref) => DrawerHeaderState;
-// @public
-export const useDrawerHeaderNavigation: (props: DrawerHeaderNavigationProps, ref: Ref) => DrawerHeaderNavigationState;
+export { useDrawerHeaderNavigation }
// @public
export const useDrawerHeaderTitle: (props: DrawerHeaderTitleProps, ref: React_2.Ref) => DrawerHeaderTitleState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/dropdown.api.md b/packages/react-components/react-headless-components-preview/library/etc/dropdown.api.md
index dab6fb863f9189..bb20be7b65a9c1 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/dropdown.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/dropdown.api.md
@@ -9,20 +9,21 @@ import type { DropdownBaseHookState } from '@fluentui/react-combobox';
import { DropdownContextValues } from '@fluentui/react-combobox';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type { JSXElement } from '@fluentui/react-utilities';
-import type { ListboxContextValues as ListboxContextValues_2 } from '@fluentui/react-combobox';
-import type { ListboxProps as ListboxProps_2 } from '@fluentui/react-combobox';
-import type { ListboxSlots as ListboxSlots_2 } from '@fluentui/react-combobox';
-import type { ListboxState as ListboxState_2 } from '@fluentui/react-combobox';
-import type { OptionGroupProps as OptionGroupProps_2 } from '@fluentui/react-combobox';
-import type { OptionGroupSlots as OptionGroupSlots_2 } from '@fluentui/react-combobox';
-import type { OptionGroupState as OptionGroupState_2 } from '@fluentui/react-combobox';
-import type { OptionProps as OptionProps_2 } from '@fluentui/react-combobox';
-import type { OptionSlots as OptionSlots_2 } from '@fluentui/react-combobox';
+import { ListboxContextValues } from '@fluentui/react-combobox';
+import { ListboxProps } from '@fluentui/react-combobox';
+import { ListboxSlots } from '@fluentui/react-combobox';
+import { ListboxState } from '@fluentui/react-combobox';
+import { OptionGroupProps } from '@fluentui/react-combobox';
+import { OptionGroupSlots } from '@fluentui/react-combobox';
+import { OptionGroupState } from '@fluentui/react-combobox';
+import { OptionProps } from '@fluentui/react-combobox';
+import { OptionSlots } from '@fluentui/react-combobox';
import type { OptionState as OptionState_2 } from '@fluentui/react-combobox';
import type * as React_2 from 'react';
import { renderListbox_unstable as renderListbox } from '@fluentui/react-combobox';
import { renderOption_unstable as renderOption } from '@fluentui/react-combobox';
import { renderOptionGroup_unstable as renderOptionGroup } from '@fluentui/react-combobox';
+import { useListboxContextValues } from '@fluentui/react-combobox';
// @public
export const Dropdown: ForwardRefComponent;
@@ -46,17 +47,13 @@ export type DropdownState = DropdownBaseHookState & {
// @public
export const Listbox: ForwardRefComponent;
-// @public
-export type ListboxContextValues = ListboxContextValues_2;
+export { ListboxContextValues }
-// @public
-export type ListboxProps = ListboxProps_2;
+export { ListboxProps }
-// @public (undocumented)
-export type ListboxSlots = ListboxSlots_2;
+export { ListboxSlots }
-// @public
-export type ListboxState = ListboxState_2;
+export { ListboxState }
// @public
const Option_2: ForwardRefComponent;
@@ -65,20 +62,15 @@ export { Option_2 as Option }
// @public
export const OptionGroup: ForwardRefComponent;
-// @public
-export type OptionGroupProps = OptionGroupProps_2;
+export { OptionGroupProps }
-// @public (undocumented)
-export type OptionGroupSlots = OptionGroupSlots_2;
+export { OptionGroupSlots }
-// @public
-export type OptionGroupState = OptionGroupState_2;
+export { OptionGroupState }
-// @public
-export type OptionProps = OptionProps_2;
+export { OptionProps }
-// @public (undocumented)
-export type OptionSlots = OptionSlots_2;
+export { OptionSlots }
// @public
export type OptionState = OptionState_2 & {
@@ -107,8 +99,7 @@ export const useDropdownContextValues: (state: DropdownState) => DropdownContext
// @public
export const useListbox: (props: ListboxProps, ref: React_2.Ref) => ListboxState;
-// @public (undocumented)
-export const useListboxContextValues: (state: ListboxState) => ListboxContextValues;
+export { useListboxContextValues }
// @public
export const useOption: (props: OptionProps, ref: React_2.Ref) => OptionState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/field.api.md b/packages/react-components/react-headless-components-preview/library/etc/field.api.md
index 877e02532f8acb..2b096a5b125132 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/field.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/field.api.md
@@ -4,10 +4,10 @@
```ts
-import type { FieldBaseProps } from '@fluentui/react-field';
import type { FieldBaseState } from '@fluentui/react-field';
-import type { FieldContextValues as FieldContextValues_2 } from '@fluentui/react-field';
-import type { FieldSlots as FieldSlots_2 } from '@fluentui/react-field';
+import { FieldContextValues } from '@fluentui/react-field';
+import { FieldBaseProps as FieldProps } from '@fluentui/react-field';
+import { FieldSlots } from '@fluentui/react-field';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderField_unstable as renderField } from '@fluentui/react-field';
@@ -17,11 +17,9 @@ import { useFieldControlProps_unstable as useFieldControlProps } from '@fluentui
// @public
export const Field: ForwardRefComponent;
-// @public
-export type FieldProps = FieldBaseProps;
+export { FieldProps }
-// @public
-export type FieldSlots = FieldSlots_2;
+export { FieldSlots }
// @public
export type FieldState = FieldBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/info-label.api.md b/packages/react-components/react-headless-components-preview/library/etc/info-label.api.md
index 17ee3d84079d33..f193806ec1fa0c 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/info-label.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/info-label.api.md
@@ -10,7 +10,7 @@ import type { EventData } from '@fluentui/react-utilities';
import type { EventHandler } from '@fluentui/react-utilities';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type { JSXElement } from '@fluentui/react-utilities';
-import type { LabelBaseProps } from '@fluentui/react-label';
+import { LabelBaseProps } from '@fluentui/react-label';
import { PositioningShorthand } from '@fluentui/react-positioning';
import * as React_2 from 'react';
import type { Slot } from '@fluentui/react-utilities';
diff --git a/packages/react-components/react-headless-components-preview/library/etc/input.api.md b/packages/react-components/react-headless-components-preview/library/etc/input.api.md
index c4401b2c2b1ac7..3ff9b4fa8c281a 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/input.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/input.api.md
@@ -5,20 +5,18 @@
```ts
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import type { InputBaseProps } from '@fluentui/react-input';
import type { InputBaseState } from '@fluentui/react-input';
-import type { InputSlots as InputSlots_2 } from '@fluentui/react-input';
+import { InputBaseProps as InputProps } from '@fluentui/react-input';
+import { InputSlots } from '@fluentui/react-input';
import type * as React_2 from 'react';
import { renderInput_unstable as renderInput } from '@fluentui/react-input';
// @public
export const Input: ForwardRefComponent;
-// @public
-export type InputProps = InputBaseProps;
+export { InputProps }
-// @public
-export type InputSlots = InputSlots_2;
+export { InputSlots }
// @public
export type InputState = InputBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/label.api.md b/packages/react-components/react-headless-components-preview/library/etc/label.api.md
index 079daca808ba5f..0d068243c56409 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/label.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/label.api.md
@@ -5,20 +5,18 @@
```ts
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
-import type { LabelBaseProps } from '@fluentui/react-label';
-import { LabelBaseState } from '@fluentui/react-label';
-import type { LabelSlots as LabelSlots_2 } from '@fluentui/react-label';
+import type { LabelBaseState } from '@fluentui/react-label';
+import { LabelBaseProps as LabelProps } from '@fluentui/react-label';
+import { LabelSlots } from '@fluentui/react-label';
import type * as React_2 from 'react';
+import { renderLabel_unstable as renderLabel } from '@fluentui/react-label';
// @public
export const Label: ForwardRefComponent;
-// @public
-export type LabelProps = LabelBaseProps;
+export { LabelProps }
-// @public
-export type LabelSlots = LabelSlots_2;
+export { LabelSlots }
// @public
export type LabelState = LabelBaseState & {
@@ -28,8 +26,7 @@ export type LabelState = LabelBaseState & {
};
};
-// @public
-export const renderLabel: (state: LabelBaseState) => JSXElement;
+export { renderLabel }
// @public
export const useLabel: (props: LabelProps, ref: React_2.Ref) => LabelState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/link.api.md b/packages/react-components/react-headless-components-preview/library/etc/link.api.md
index b69e2937af6303..b9e9231e10ab11 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/link.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/link.api.md
@@ -5,20 +5,18 @@
```ts
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import type { LinkBaseProps } from '@fluentui/react-link';
import type { LinkBaseState } from '@fluentui/react-link';
-import type { LinkSlots as LinkSlots_2 } from '@fluentui/react-link';
+import { LinkBaseProps as LinkProps } from '@fluentui/react-link';
+import { LinkSlots } from '@fluentui/react-link';
import type * as React_2 from 'react';
import { renderLink_unstable as renderLink } from '@fluentui/react-link';
// @public
export const Link: ForwardRefComponent;
-// @public
-export type LinkProps = LinkBaseProps;
+export { LinkProps }
-// @public
-export type LinkSlots = LinkSlots_2;
+export { LinkSlots }
// @public
export type LinkState = LinkBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/menu.api.md b/packages/react-components/react-headless-components-preview/library/etc/menu.api.md
index 61ec0f6fb586fe..983de2115fce74 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/menu.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/menu.api.md
@@ -8,6 +8,7 @@ import type { ARIAButtonElement } from '@fluentui/react-aria';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type { JSXElement } from '@fluentui/react-utilities';
import { MenuContextValue } from '@fluentui/react-menu';
+import { MenuContextValues } from '@fluentui/react-menu';
import { MenuDividerProps } from '@fluentui/react-menu';
import { MenuDividerSlots } from '@fluentui/react-menu';
import { MenuDividerState } from '@fluentui/react-menu';
@@ -23,9 +24,9 @@ import { MenuItemCheckboxState } from '@fluentui/react-menu';
import { MenuItemLinkProps } from '@fluentui/react-menu';
import { MenuItemLinkSlots } from '@fluentui/react-menu';
import { MenuItemLinkState } from '@fluentui/react-menu';
-import type { MenuItemProps as MenuItemProps_2 } from '@fluentui/react-menu';
-import type { MenuItemRadioBaseProps } from '@fluentui/react-menu';
+import { MenuItemProps } from '@fluentui/react-menu';
import type { MenuItemRadioBaseState } from '@fluentui/react-menu';
+import { MenuItemRadioBaseProps as MenuItemRadioProps } from '@fluentui/react-menu';
import { MenuItemSlots } from '@fluentui/react-menu';
import type { MenuItemState as MenuItemState_2 } from '@fluentui/react-menu';
import { MenuItemSwitchProps } from '@fluentui/react-menu';
@@ -33,8 +34,8 @@ import { MenuItemSwitchSlots } from '@fluentui/react-menu';
import { MenuItemSwitchState } from '@fluentui/react-menu';
import type { MenuListContextValues } from '@fluentui/react-menu';
import { MenuListProps } from '@fluentui/react-menu';
-import { MenuListSlots } from '@fluentui/react-menu';
-import { MenuListState } from '@fluentui/react-menu';
+import type { MenuListSlots } from '@fluentui/react-menu';
+import type { MenuListState as MenuListState_2 } from '@fluentui/react-menu';
import { MenuOpenChangeData } from '@fluentui/react-menu';
import { MenuOpenEvent } from '@fluentui/react-menu';
import { MenuPopoverProps } from '@fluentui/react-menu';
@@ -71,10 +72,7 @@ export const Menu: React_2.FC;
export { MenuContextValue }
-// @public (undocumented)
-export type MenuContextValues = {
- menu: MenuContextValue;
-};
+export { MenuContextValues }
// @public
export const MenuDivider: ForwardRefComponent;
@@ -109,14 +107,14 @@ export { MenuGroupState }
export const MenuItem: ForwardRefComponent;
// @public
-export const MenuItemCheckbox: ForwardRefComponent;
+export const MenuItemCheckbox: ForwardRefComponent;
export { MenuItemCheckboxProps }
export { MenuItemCheckboxState }
// @public
-export const MenuItemLink: ForwardRefComponent;
+export const MenuItemLink: ForwardRefComponent;
export { MenuItemLinkProps }
@@ -124,14 +122,12 @@ export { MenuItemLinkSlots }
export { MenuItemLinkState }
-// @public (undocumented)
-export type MenuItemProps = MenuItemProps_2;
+export { MenuItemProps }
// @public
export const MenuItemRadio: ForwardRefComponent;
-// @public (undocumented)
-export type MenuItemRadioProps = MenuItemRadioBaseProps;
+export { MenuItemRadioProps }
// @public (undocumented)
export type MenuItemRadioState = MenuItemRadioBaseState & {
@@ -155,7 +151,7 @@ export type MenuItemState = MenuItemState_2 & {
};
// @public
-export const MenuItemSwitch: ForwardRefComponent;
+export const MenuItemSwitch: ForwardRefComponent;
export { MenuItemSwitchProps }
@@ -170,7 +166,12 @@ export { MenuListProps }
export { MenuListSlots }
-export { MenuListState }
+// @public (undocumented)
+export type MenuListState = MenuListState_2 & {
+ root: {
+ focusgroup?: string;
+ };
+};
export { MenuOpenChangeData }
@@ -227,7 +228,7 @@ export { renderMenuItemRadio }
export { renderMenuItemSwitch }
// @public (undocumented)
-export const renderMenuList: (state: MenuListState, contextValues: MenuListContextValues) => JSXElement;
+export const renderMenuList: (state: MenuListState_2, contextValues: MenuListContextValues) => JSXElement;
// @public (undocumented)
export const renderMenuPopover: (state: MenuPopoverState) => JSXElement;
@@ -256,16 +257,16 @@ export { useMenuGroupHeader }
export const useMenuItem: (props: MenuItemProps, ref: React_2.Ref>) => MenuItemState;
// @public (undocumented)
-export const useMenuItemCheckbox: (props: MenuItemCheckboxProps_2, ref: React_2.Ref>) => MenuItemCheckboxState_2;
+export const useMenuItemCheckbox: (props: MenuItemCheckboxProps, ref: React_2.Ref>) => MenuItemCheckboxState_2;
// @public (undocumented)
-export const useMenuItemLink: (props: MenuItemLinkProps_2, ref: React_2.Ref) => MenuItemLinkState_2;
+export const useMenuItemLink: (props: MenuItemLinkProps, ref: React_2.Ref) => MenuItemLinkState_2;
// @public (undocumented)
export const useMenuItemRadio: (props: MenuItemRadioProps, ref: React_2.Ref>) => MenuItemRadioState;
// @public (undocumented)
-export const useMenuItemSwitch: (props: MenuItemSwitchProps_2, ref: React_2.Ref) => MenuItemSwitchState_2;
+export const useMenuItemSwitch: (props: MenuItemSwitchProps, ref: React_2.Ref) => MenuItemSwitchState_2;
// @public
export const useMenuList: (props: MenuListProps, ref: React_2.Ref) => MenuListState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/message-bar.api.md b/packages/react-components/react-headless-components-preview/library/etc/message-bar.api.md
index a794dbb35c4d97..e8bc533ff84c11 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/message-bar.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/message-bar.api.md
@@ -5,26 +5,30 @@
```ts
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
-import { MessageBarActionsContextValues as MessageBarActionsContextValues_2 } from '@fluentui/react-message-bar';
-import type { MessageBarActionsProps as MessageBarActionsProps_2 } from '@fluentui/react-message-bar';
-import type { MessageBarActionsSlots as MessageBarActionsSlots_2 } from '@fluentui/react-message-bar';
-import { MessageBarActionsState as MessageBarActionsState_2 } from '@fluentui/react-message-bar';
-import type { MessageBarBaseProps } from '@fluentui/react-message-bar';
-import { MessageBarBaseState } from '@fluentui/react-message-bar';
-import { MessageBarBodyContextValues as MessageBarBodyContextValues_2 } from '@fluentui/react-message-bar';
-import type { MessageBarBodyProps as MessageBarBodyProps_2 } from '@fluentui/react-message-bar';
-import type { MessageBarBodySlots as MessageBarBodySlots_2 } from '@fluentui/react-message-bar';
-import { MessageBarBodyState as MessageBarBodyState_2 } from '@fluentui/react-message-bar';
-import { MessageBarContextValue } from '@fluentui/react-message-bar';
-import { MessageBarContextValues as MessageBarContextValues_2 } from '@fluentui/react-message-bar';
+import { MessageBarActionsContextValues } from '@fluentui/react-message-bar';
+import { MessageBarActionsProps } from '@fluentui/react-message-bar';
+import { MessageBarActionsSlots } from '@fluentui/react-message-bar';
+import type { MessageBarActionsState as MessageBarActionsState_2 } from '@fluentui/react-message-bar';
+import type { MessageBarBaseState } from '@fluentui/react-message-bar';
+import { MessageBarBodyContextValues } from '@fluentui/react-message-bar';
+import { MessageBarBodyProps } from '@fluentui/react-message-bar';
+import { MessageBarBodySlots } from '@fluentui/react-message-bar';
+import { MessageBarBodyState } from '@fluentui/react-message-bar';
+import { MessageBarContextValues } from '@fluentui/react-message-bar';
import type { MessageBarIntent } from '@fluentui/react-message-bar';
-import type { MessageBarSlots as MessageBarSlots_2 } from '@fluentui/react-message-bar';
-import type { MessageBarTitleProps as MessageBarTitleProps_2 } from '@fluentui/react-message-bar';
-import type { MessageBarTitleSlots as MessageBarTitleSlots_2 } from '@fluentui/react-message-bar';
-import { MessageBarTitleState as MessageBarTitleState_2 } from '@fluentui/react-message-bar';
+import { MessageBarBaseProps as MessageBarProps } from '@fluentui/react-message-bar';
+import { MessageBarSlots } from '@fluentui/react-message-bar';
+import { MessageBarTitleProps } from '@fluentui/react-message-bar';
+import { MessageBarTitleSlots } from '@fluentui/react-message-bar';
+import { MessageBarTitleState } from '@fluentui/react-message-bar';
import type * as React_2 from 'react';
-import { useMessageBarBodyContextValues_unstable } from '@fluentui/react-message-bar';
+import { renderMessageBar_unstable as renderMessageBar } from '@fluentui/react-message-bar';
+import { renderMessageBarActions_unstable as renderMessageBarActions } from '@fluentui/react-message-bar';
+import { renderMessageBarBody_unstable as renderMessageBarBody } from '@fluentui/react-message-bar';
+import { renderMessageBarTitle_unstable as renderMessageBarTitle } from '@fluentui/react-message-bar';
+import { useMessageBarActionsContextValue_unstable as useMessageBarActionsContextValues } from '@fluentui/react-message-bar';
+import { useMessageBarBodyContextValues_unstable as useMessageBarBodyContextValues } from '@fluentui/react-message-bar';
+import { useMessageBarContext } from '@fluentui/react-message-bar';
// @public
export const MessageBar: ForwardRefComponent;
@@ -32,14 +36,11 @@ export const MessageBar: ForwardRefComponent;
// @public
export const MessageBarActions: ForwardRefComponent;
-// @public (undocumented)
-export type MessageBarActionsContextValues = MessageBarActionsContextValues_2;
+export { MessageBarActionsContextValues }
-// @public (undocumented)
-export type MessageBarActionsProps = MessageBarActionsProps_2;
+export { MessageBarActionsProps }
-// @public (undocumented)
-export type MessageBarActionsSlots = MessageBarActionsSlots_2;
+export { MessageBarActionsSlots }
// @public (undocumented)
export type MessageBarActionsState = MessageBarActionsState_2 & {
@@ -52,28 +53,21 @@ export type MessageBarActionsState = MessageBarActionsState_2 & {
// @public
export const MessageBarBody: ForwardRefComponent;
-// @public (undocumented)
-export type MessageBarBodyContextValues = MessageBarBodyContextValues_2;
+export { MessageBarBodyContextValues }
-// @public (undocumented)
-export type MessageBarBodyProps = MessageBarBodyProps_2;
+export { MessageBarBodyProps }
-// @public (undocumented)
-export type MessageBarBodySlots = MessageBarBodySlots_2;
+export { MessageBarBodySlots }
-// @public (undocumented)
-export type MessageBarBodyState = MessageBarBodyState_2;
+export { MessageBarBodyState }
-// @public (undocumented)
-export type MessageBarContextValues = MessageBarContextValues_2;
+export { MessageBarContextValues }
export { MessageBarIntent }
-// @public (undocumented)
-export type MessageBarProps = MessageBarBaseProps;
+export { MessageBarProps }
-// @public (undocumented)
-export type MessageBarSlots = MessageBarSlots_2;
+export { MessageBarSlots }
// @public (undocumented)
export type MessageBarState = MessageBarBaseState & {
@@ -86,26 +80,19 @@ export type MessageBarState = MessageBarBaseState & {
// @public
export const MessageBarTitle: ForwardRefComponent;
-// @public (undocumented)
-export type MessageBarTitleProps = MessageBarTitleProps_2;
+export { MessageBarTitleProps }
-// @public (undocumented)
-export type MessageBarTitleSlots = MessageBarTitleSlots_2;
+export { MessageBarTitleSlots }
-// @public (undocumented)
-export type MessageBarTitleState = MessageBarTitleState_2;
+export { MessageBarTitleState }
-// @public
-export const renderMessageBar: (state: MessageBarBaseState, contexts: MessageBarContextValues_2) => JSXElement;
+export { renderMessageBar }
-// @public
-export const renderMessageBarActions: (state: MessageBarActionsState_2, contexts: MessageBarActionsContextValues_2) => JSXElement;
+export { renderMessageBarActions }
-// @public
-export const renderMessageBarBody: (state: MessageBarBodyState_2, contextValues: MessageBarBodyContextValues_2) => JSXElement;
+export { renderMessageBarBody }
-// @public
-export const renderMessageBarTitle: (state: MessageBarTitleState_2) => JSXElement;
+export { renderMessageBarTitle }
// @public
export const useMessageBar: (props: MessageBarProps, ref: React_2.Ref) => MessageBarState;
@@ -113,17 +100,14 @@ export const useMessageBar: (props: MessageBarProps, ref: React_2.Ref) => MessageBarActionsState;
-// @public
-export const useMessageBarActionsContextValues: () => MessageBarActionsContextValues;
+export { useMessageBarActionsContextValues }
// @public
export const useMessageBarBody: (props: MessageBarBodyProps, ref: React_2.Ref) => MessageBarBodyState;
-// @public
-export const useMessageBarBodyContextValues: typeof useMessageBarBodyContextValues_unstable;
+export { useMessageBarBodyContextValues }
-// @public
-export const useMessageBarContext: () => MessageBarContextValue;
+export { useMessageBarContext }
// @public
export const useMessageBarContextValues: (state: MessageBarState) => MessageBarContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/nav.api.md b/packages/react-components/react-headless-components-preview/library/etc/nav.api.md
index 382804a821c541..db74bb5314a96b 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/nav.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/nav.api.md
@@ -6,16 +6,15 @@
import type { ComponentProps } from '@fluentui/react-utilities';
import type { ComponentState } from '@fluentui/react-utilities';
-import type { DividerBaseProps } from '@fluentui/react-divider';
-import { DividerBaseState } from '@fluentui/react-divider';
-import type { DividerSlots as DividerSlots_2 } from '@fluentui/react-divider';
-import { DrawerFooterState } from '@fluentui/react-drawer';
-import { DrawerHeaderState } from '@fluentui/react-drawer';
+import { DividerBaseProps } from '@fluentui/react-divider';
+import type { DividerBaseState } from '@fluentui/react-divider';
+import type { DrawerFooterState } from '@fluentui/react-drawer';
+import type { DrawerHeaderState } from '@fluentui/react-drawer';
import type { EventHandler } from '@fluentui/react-utilities';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import { InlineDrawerBaseProps } from '@fluentui/react-drawer';
import { InlineDrawerSlots } from '@fluentui/react-drawer';
-import { JSXElement } from '@fluentui/react-utilities';
+import type { JSXElement } from '@fluentui/react-utilities';
import { NavCategoryContextValues } from '@fluentui/react-nav';
import { NavCategoryItemProvider } from '@fluentui/react-nav';
import { NavCategoryProps } from '@fluentui/react-nav';
@@ -23,6 +22,7 @@ import { NavCategoryProvider } from '@fluentui/react-nav';
import { NavCategoryState } from '@fluentui/react-nav';
import { NavContextValue } from '@fluentui/react-nav';
import { NavContextValues } from '@fluentui/react-nav';
+import { DividerSlots as NavDividerSlots } from '@fluentui/react-divider';
import { DrawerBodyProps as NavDrawerBodyProps } from '@fluentui/react-drawer';
import { DrawerBodySlots as NavDrawerBodySlots } from '@fluentui/react-drawer';
import { DrawerBodyState as NavDrawerBodyState } from '@fluentui/react-drawer';
@@ -30,8 +30,8 @@ import { DrawerFooterProps as NavDrawerFooterProps } from '@fluentui/react-drawe
import { DrawerFooterSlots as NavDrawerFooterSlots } from '@fluentui/react-drawer';
import { DrawerHeaderProps as NavDrawerHeaderProps } from '@fluentui/react-drawer';
import { DrawerHeaderSlots as NavDrawerHeaderSlots } from '@fluentui/react-drawer';
-import type { NavItemBaseProps } from '@fluentui/react-nav';
import type { NavItemBaseState } from '@fluentui/react-nav';
+import { NavItemBaseProps as NavItemProps } from '@fluentui/react-nav';
import { NavItemRegisterData } from '@fluentui/react-nav';
import { NavItemSlots } from '@fluentui/react-nav';
import { NavItemValue } from '@fluentui/react-nav';
@@ -47,6 +47,10 @@ import type { OverlayDrawerProps as OverlayDrawerProps_2 } from '@fluentui/react
import * as React_2 from 'react';
import { RegisterNavItemEventHandler } from '@fluentui/react-nav';
import { renderNavCategory_unstable as renderNavCategory } from '@fluentui/react-nav';
+import { renderDivider_unstable as renderNavDivider } from '@fluentui/react-divider';
+import { renderDrawerBody_unstable as renderNavDrawerBody } from '@fluentui/react-drawer';
+import { renderDrawerFooter_unstable as renderNavDrawerFooter } from '@fluentui/react-drawer';
+import { renderDrawerHeader_unstable as renderNavDrawerHeader } from '@fluentui/react-drawer';
import type { Slot } from '@fluentui/react-utilities';
import { useNavCategory_unstable as useNavCategory } from '@fluentui/react-nav';
import { useNavCategoryContext_unstable as useNavCategoryContext } from '@fluentui/react-nav';
@@ -117,10 +121,9 @@ export { NavContextValues }
export const NavDivider: ForwardRefComponent;
// @public
-export type NavDividerProps = Omit;
+export type NavDividerProps = Omit;
-// @public (undocumented)
-export type NavDividerSlots = DividerSlots;
+export { NavDividerSlots }
// @public
export type NavDividerState = DividerState;
@@ -174,8 +177,7 @@ export type NavDrawerState = ComponentState & Omit;
-// @public (undocumented)
-export type NavItemProps = NavItemBaseProps;
+export { NavItemProps }
export { NavItemRegisterData }
@@ -254,20 +256,16 @@ export { renderNavCategory }
// @public
export const renderNavCategoryItem: (state: NavCategoryItemState, contextValues: NavCategoryItemContextValues) => JSXElement;
-// @public
-export const renderNavDivider: (state: DividerBaseState) => JSXElement;
+export { renderNavDivider }
// @public (undocumented)
export const renderNavDrawer: (state: NavDrawerState, contextValues: NavContextValues) => JSXElement;
-// @public
-export const renderNavDrawerBody: (state: NavDrawerBodyState) => JSXElement;
+export { renderNavDrawerBody }
-// @public
-export const renderNavDrawerFooter: (state: DrawerFooterState) => JSXElement;
+export { renderNavDrawerFooter }
-// @public
-export const renderNavDrawerHeader: (state: DrawerHeaderState) => JSXElement;
+export { renderNavDrawerHeader }
// @public (undocumented)
export const renderNavItem: (state: NavItemState) => JSXElement;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/persona.api.md b/packages/react-components/react-headless-components-preview/library/etc/persona.api.md
index 951534908fd1f0..c09d7e7bdddcd2 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/persona.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/persona.api.md
@@ -4,7 +4,7 @@
```ts
-import type { AvatarBaseProps } from '@fluentui/react-avatar';
+import { AvatarBaseProps } from '@fluentui/react-avatar';
import type { ComponentProps } from '@fluentui/react-utilities';
import type { ComponentState } from '@fluentui/react-utilities';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
diff --git a/packages/react-components/react-headless-components-preview/library/etc/progress-bar.api.md b/packages/react-components/react-headless-components-preview/library/etc/progress-bar.api.md
index 49c6d5853b8394..8884f3a5097b6c 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/progress-bar.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/progress-bar.api.md
@@ -5,20 +5,18 @@
```ts
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import type { JSXElement } from '@fluentui/react-utilities';
-import type { ProgressBarBaseProps } from '@fluentui/react-progress';
import type { ProgressBarBaseState } from '@fluentui/react-progress';
-import type { ProgressBarSlots as ProgressBarSlots_2 } from '@fluentui/react-progress';
+import { ProgressBarBaseProps as ProgressBarProps } from '@fluentui/react-progress';
+import { ProgressBarSlots } from '@fluentui/react-progress';
import type * as React_2 from 'react';
+import { renderProgressBar_unstable as renderProgressBar } from '@fluentui/react-progress';
// @public
export const ProgressBar: ForwardRefComponent;
-// @public
-export type ProgressBarProps = ProgressBarBaseProps;
+export { ProgressBarProps }
-// @public (undocumented)
-export type ProgressBarSlots = ProgressBarSlots_2;
+export { ProgressBarSlots }
// @public
export type ProgressBarState = ProgressBarBaseState & {
@@ -27,8 +25,7 @@ export type ProgressBarState = ProgressBarBaseState & {
};
};
-// @public
-export const renderProgressBar: (state: ProgressBarState) => JSXElement;
+export { renderProgressBar }
// @public
export const useProgressBar: (props: ProgressBarProps, ref: React_2.Ref) => ProgressBarState;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/provider.api.md b/packages/react-components/react-headless-components-preview/library/etc/provider.api.md
index f4af9d2bdbe291..0589f9e35403b1 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/provider.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/provider.api.md
@@ -6,7 +6,7 @@
import type { ComponentProps } from '@fluentui/react-utilities';
import type { ComponentState } from '@fluentui/react-utilities';
-import type { FluentProviderContextValues } from '@fluentui/react-provider';
+import { FluentProviderContextValues } from '@fluentui/react-provider';
import { FluentProviderProps } from '@fluentui/react-provider';
import type { JSXElement } from '@fluentui/react-utilities';
import * as React_2 from 'react';
@@ -31,7 +31,7 @@ export const useProvider: (props: ProviderProps, ref: React_2.Ref ProviderContextValues;
+export const useProviderContextValues: (state: ProviderState) => FluentProviderContextValues;
// (No @packageDocumentation comment for this package)
diff --git a/packages/react-components/react-headless-components-preview/library/etc/radio-group.api.md b/packages/react-components/react-headless-components-preview/library/etc/radio-group.api.md
index 7f3347fb6009ca..1531d54437bd4e 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/radio-group.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/radio-group.api.md
@@ -6,20 +6,21 @@
import { ComponentProps } from '@fluentui/react-utilities';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import type { RadioBaseProps } from '@fluentui/react-radio';
import type { RadioBaseState } from '@fluentui/react-radio';
-import type { RadioGroupBaseProps } from '@fluentui/react-radio';
-import type { RadioGroupBaseState } from '@fluentui/react-radio';
-import type { RadioGroupContextValues as RadioGroupContextValues_2 } from '@fluentui/react-radio';
-import type { RadioGroupSlots as RadioGroupSlots_2 } from '@fluentui/react-radio';
+import { RadioGroupContextValues } from '@fluentui/react-radio';
+import { RadioGroupBaseProps as RadioGroupProps } from '@fluentui/react-radio';
+import { RadioGroupSlots } from '@fluentui/react-radio';
+import { RadioGroupBaseState as RadioGroupState } from '@fluentui/react-radio';
import { RadioOnChangeData } from '@fluentui/react-radio';
-import { RadioSlots as RadioSlots_2 } from '@fluentui/react-radio';
+import { RadioBaseProps as RadioProps } from '@fluentui/react-radio';
+import { RadioSlots } from '@fluentui/react-radio';
import * as React_2 from 'react';
import { renderRadio_unstable as renderRadio } from '@fluentui/react-radio';
import { renderRadioGroup_unstable as renderRadioGroup } from '@fluentui/react-radio';
+import { useRadioGroupBase_unstable as useRadioGroup } from '@fluentui/react-radio';
// @public
-export const Radio: React_2.ForwardRefExoticComponent, "input">, "onChange" | "size"> & {
+export const Radio: React_2.ForwardRefExoticComponent, "input">, "onChange" | "size"> & {
value?: string;
labelPosition?: "after" | "below";
disabled?: boolean;
@@ -29,20 +30,15 @@ export const Radio: React_2.ForwardRefExoticComponent;
-// @public
-export type RadioGroupProps = RadioGroupBaseProps;
+export { RadioGroupProps }
-// @public
-export type RadioGroupSlots = RadioGroupSlots_2;
+export { RadioGroupSlots }
-// @public
-export type RadioGroupState = RadioGroupBaseState;
+export { RadioGroupState }
-// @public
-export type RadioProps = RadioBaseProps;
+export { RadioProps }
-// @public
-export type RadioSlots = RadioSlots_2;
+export { RadioSlots }
// @public
export type RadioState = RadioBaseState & {
@@ -59,8 +55,7 @@ export { renderRadioGroup }
// @public
export const useRadio: (props: RadioProps, ref: React_2.Ref) => RadioState;
-// @public
-export const useRadioGroup: (props: RadioGroupProps, ref: React_2.Ref) => RadioGroupState;
+export { useRadioGroup }
// @public (undocumented)
export const useRadioGroupContextValues: (state: RadioGroupState) => RadioGroupContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/rating-display.api.md b/packages/react-components/react-headless-components-preview/library/etc/rating-display.api.md
index 5f52c18526abf1..5d101c52eef324 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/rating-display.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/rating-display.api.md
@@ -5,24 +5,21 @@
```ts
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import type { RatingDisplayBaseProps } from '@fluentui/react-rating';
-import type { RatingDisplayBaseState } from '@fluentui/react-rating';
-import type { RatingDisplayContextValues as RatingDisplayContextValues_2 } from '@fluentui/react-rating';
-import type { RatingDisplaySlots as RatingDisplaySlots_2 } from '@fluentui/react-rating';
+import { RatingDisplayContextValues } from '@fluentui/react-rating';
+import { RatingDisplayBaseProps as RatingDisplayProps } from '@fluentui/react-rating';
+import { RatingDisplaySlots } from '@fluentui/react-rating';
+import { RatingDisplayBaseState as RatingDisplayState } from '@fluentui/react-rating';
import * as React_2 from 'react';
import { renderRatingDisplay_unstable as renderRatingDisplay } from '@fluentui/react-rating';
// @public
export const RatingDisplay: ForwardRefComponent;
-// @public
-export type RatingDisplayProps = RatingDisplayBaseProps;
+export { RatingDisplayProps }
-// @public
-export type RatingDisplaySlots = RatingDisplaySlots_2;
+export { RatingDisplaySlots }
-// @public
-export type RatingDisplayState = RatingDisplayBaseState;
+export { RatingDisplayState }
export { renderRatingDisplay }
diff --git a/packages/react-components/react-headless-components-preview/library/etc/rating.api.md b/packages/react-components/react-headless-components-preview/library/etc/rating.api.md
index d5dd4b184ec4f0..23f9543c0ce723 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/rating.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/rating.api.md
@@ -5,22 +5,23 @@
```ts
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import type { RatingBaseProps } from '@fluentui/react-rating';
-import type { RatingBaseState } from '@fluentui/react-rating';
-import type { RatingContextValues as RatingContextValues_2 } from '@fluentui/react-rating';
-import type { RatingItemBaseProps } from '@fluentui/react-rating';
+import { RatingContextValues } from '@fluentui/react-rating';
import type { RatingItemBaseState } from '@fluentui/react-rating';
-import { RatingItemSlots as RatingItemSlots_2 } from '@fluentui/react-rating';
-import type { RatingSlots as RatingSlots_2 } from '@fluentui/react-rating';
+import { RatingItemBaseProps as RatingItemProps } from '@fluentui/react-rating';
+import { RatingItemSlots } from '@fluentui/react-rating';
+import { RatingBaseProps as RatingProps } from '@fluentui/react-rating';
+import { RatingSlots } from '@fluentui/react-rating';
+import { RatingBaseState as RatingState } from '@fluentui/react-rating';
import * as React_2 from 'react';
import { renderRating_unstable as renderRating } from '@fluentui/react-rating';
import { renderRatingItem_unstable as renderRatingItem } from '@fluentui/react-rating';
+import { useRatingBase_unstable as useRating } from '@fluentui/react-rating';
// @public
export const Rating: ForwardRefComponent;
// @public
-export const RatingItem: React_2.ForwardRefExoticComponent, "root"> & Omit<{
+export const RatingItem: React_2.ForwardRefExoticComponent, "root"> & Omit<{
as?: "span" | undefined;
} & Omit, HTMLSpanElement>, "children"> & {
children?: any;
@@ -28,11 +29,9 @@ export const RatingItem: React_2.ForwardRefExoticComponent>;
-// @public
-export type RatingItemProps = RatingItemBaseProps;
+export { RatingItemProps }
-// @public
-export type RatingItemSlots = RatingItemSlots_2;
+export { RatingItemSlots }
// @public
export type RatingItemState = RatingItemBaseState & {
@@ -41,21 +40,17 @@ export type RatingItemState = RatingItemBaseState & {
};
};
-// @public
-export type RatingProps = RatingBaseProps;
+export { RatingProps }
-// @public
-export type RatingSlots = RatingSlots_2;
+export { RatingSlots }
-// @public
-export type RatingState = RatingBaseState;
+export { RatingState }
export { renderRating }
export { renderRatingItem }
-// @public
-export const useRating: (props: RatingProps, ref: React_2.Ref) => RatingState;
+export { useRating }
// @public (undocumented)
export const useRatingContextValues: (state: RatingState) => RatingContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/etc/search-box.api.md b/packages/react-components/react-headless-components-preview/library/etc/search-box.api.md
index f41e0cd0465b63..9d02913d8e9de9 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/search-box.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/search-box.api.md
@@ -7,20 +7,18 @@
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderSearchBox_unstable as renderSearchBox } from '@fluentui/react-search';
-import type { SearchBoxBaseProps } from '@fluentui/react-search';
import type { SearchBoxBaseState } from '@fluentui/react-search';
-import type { SearchBoxSlots as SearchBoxSlots_2 } from '@fluentui/react-search';
+import { SearchBoxBaseProps as SearchBoxProps } from '@fluentui/react-search';
+import { SearchBoxSlots } from '@fluentui/react-search';
export { renderSearchBox }
// @public
export const SearchBox: ForwardRefComponent;
-// @public
-export type SearchBoxProps = SearchBoxBaseProps;
+export { SearchBoxProps }
-// @public
-export type SearchBoxSlots = SearchBoxSlots_2;
+export { SearchBoxSlots }
// @public
export type SearchBoxState = SearchBoxBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/select.api.md b/packages/react-components/react-headless-components-preview/library/etc/select.api.md
index 36db7a3565e335..dc6bab33bb295d 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/select.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/select.api.md
@@ -7,20 +7,18 @@
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderSelect_unstable as renderSelect } from '@fluentui/react-select';
-import type { SelectBaseProps } from '@fluentui/react-select';
import type { SelectBaseState } from '@fluentui/react-select';
-import type { SelectSlots as SelectSlots_2 } from '@fluentui/react-select';
+import { SelectBaseProps as SelectProps } from '@fluentui/react-select';
+import { SelectSlots } from '@fluentui/react-select';
export { renderSelect }
// @public
export const Select: ForwardRefComponent;
-// @public
-export type SelectProps = SelectBaseProps;
+export { SelectProps }
-// @public (undocumented)
-export type SelectSlots = SelectSlots_2;
+export { SelectSlots }
// @public
export type SelectState = SelectBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/skeleton.api.md b/packages/react-components/react-headless-components-preview/library/etc/skeleton.api.md
index 8356e82f3d0304..f7f97ab98deccb 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/skeleton.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/skeleton.api.md
@@ -7,50 +7,44 @@
import * as React_2 from 'react';
import { renderSkeleton_unstable as renderSkeleton } from '@fluentui/react-skeleton';
import { renderSkeletonItem_unstable as renderSkeletonItem } from '@fluentui/react-skeleton';
-import { SkeletonBaseProps } from '@fluentui/react-skeleton';
-import type { SkeletonBaseState } from '@fluentui/react-skeleton';
-import type { SkeletonContextValues as SkeletonContextValues_2 } from '@fluentui/react-skeleton';
-import { SkeletonItemBaseProps } from '@fluentui/react-skeleton';
-import type { SkeletonItemBaseState } from '@fluentui/react-skeleton';
-import type { SkeletonItemSlots as SkeletonItemSlots_2 } from '@fluentui/react-skeleton';
-import type { SkeletonSlots as SkeletonSlots_2 } from '@fluentui/react-skeleton';
+import { SkeletonContextValues } from '@fluentui/react-skeleton';
+import { SkeletonItemBaseProps as SkeletonItemProps } from '@fluentui/react-skeleton';
+import { SkeletonItemSlots } from '@fluentui/react-skeleton';
+import { SkeletonItemBaseState as SkeletonItemState } from '@fluentui/react-skeleton';
+import { SkeletonBaseProps as SkeletonProps } from '@fluentui/react-skeleton';
+import { SkeletonSlots } from '@fluentui/react-skeleton';
+import { SkeletonBaseState as SkeletonState } from '@fluentui/react-skeleton';
+import { useSkeletonBase_unstable as useSkeleton } from '@fluentui/react-skeleton';
+import { useSkeletonItemBase_unstable as useSkeletonItem } from '@fluentui/react-skeleton';
export { renderSkeleton }
export { renderSkeletonItem }
// @public
-export const Skeleton: React_2.ForwardRefExoticComponent>;
+export const Skeleton: React_2.ForwardRefExoticComponent>;
// @public
-export const SkeletonItem: React_2.ForwardRefExoticComponent>;
+export const SkeletonItem: React_2.ForwardRefExoticComponent>;
-// @public
-export type SkeletonItemProps = SkeletonItemBaseProps;
+export { SkeletonItemProps }
-// @public
-export type SkeletonItemSlots = SkeletonItemSlots_2;
+export { SkeletonItemSlots }
-// @public
-export type SkeletonItemState = SkeletonItemBaseState;
+export { SkeletonItemState }
-// @public
-export type SkeletonProps = SkeletonBaseProps;
+export { SkeletonProps }
-// @public
-export type SkeletonSlots = SkeletonSlots_2;
+export { SkeletonSlots }
-// @public
-export type SkeletonState = SkeletonBaseState;
+export { SkeletonState }
-// @public
-export const useSkeleton: (props: SkeletonProps, ref: React_2.Ref) => SkeletonState;
+export { useSkeleton }
// @public
export const useSkeletonContextValues: (state: SkeletonState) => SkeletonContextValues;
-// @public
-export const useSkeletonItem: (props: SkeletonItemProps, ref: React_2.Ref) => SkeletonItemState;
+export { useSkeletonItem }
// (No @packageDocumentation comment for this package)
diff --git a/packages/react-components/react-headless-components-preview/library/etc/slider.api.md b/packages/react-components/react-headless-components-preview/library/etc/slider.api.md
index 94c650fb5d863c..33360e559bcbeb 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/slider.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/slider.api.md
@@ -7,20 +7,18 @@
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderSlider_unstable as renderSlider } from '@fluentui/react-slider';
-import type { SliderBaseProps } from '@fluentui/react-slider';
import type { SliderBaseState } from '@fluentui/react-slider';
-import type { SliderSlots as SliderSlots_2 } from '@fluentui/react-slider';
+import { SliderBaseProps as SliderProps } from '@fluentui/react-slider';
+import { SliderSlots } from '@fluentui/react-slider';
export { renderSlider }
// @public
export const Slider: ForwardRefComponent;
-// @public
-export type SliderProps = SliderBaseProps;
+export { SliderProps }
-// @public
-export type SliderSlots = SliderSlots_2;
+export { SliderSlots }
// @public
export type SliderState = SliderBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/spin-button.api.md b/packages/react-components/react-headless-components-preview/library/etc/spin-button.api.md
index 90fc42fff15585..987d315e7f3263 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/spin-button.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/spin-button.api.md
@@ -7,20 +7,18 @@
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderSpinButton_unstable as renderSpinButton } from '@fluentui/react-spinbutton';
-import type { SpinButtonBaseProps } from '@fluentui/react-spinbutton';
import type { SpinButtonBaseState } from '@fluentui/react-spinbutton';
-import type { SpinButtonSlots as SpinButtonSlots_2 } from '@fluentui/react-spinbutton';
+import { SpinButtonBaseProps as SpinButtonProps } from '@fluentui/react-spinbutton';
+import { SpinButtonSlots } from '@fluentui/react-spinbutton';
export { renderSpinButton }
// @public
export const SpinButton: ForwardRefComponent;
-// @public
-export type SpinButtonProps = SpinButtonBaseProps;
+export { SpinButtonProps }
-// @public
-export type SpinButtonSlots = SpinButtonSlots_2;
+export { SpinButtonSlots }
// @public
export type SpinButtonState = SpinButtonBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/spinner.api.md b/packages/react-components/react-headless-components-preview/library/etc/spinner.api.md
index eef01402a2635e..a652ee722649f9 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/spinner.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/spinner.api.md
@@ -7,20 +7,18 @@
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderSpinner_unstable as renderSpinner } from '@fluentui/react-spinner';
-import type { SpinnerBaseProps } from '@fluentui/react-spinner';
import type { SpinnerBaseState } from '@fluentui/react-spinner';
-import type { SpinnerSlots as SpinnerSlots_2 } from '@fluentui/react-spinner';
+import { SpinnerBaseProps as SpinnerProps } from '@fluentui/react-spinner';
+import { SpinnerSlots } from '@fluentui/react-spinner';
export { renderSpinner }
// @public
export const Spinner: ForwardRefComponent;
-// @public
-export type SpinnerProps = SpinnerBaseProps;
+export { SpinnerProps }
-// @public
-export type SpinnerSlots = SpinnerSlots_2;
+export { SpinnerSlots }
// @public
export type SpinnerState = SpinnerBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/split-button.api.md b/packages/react-components/react-headless-components-preview/library/etc/split-button.api.md
index 683a4b156194f8..787a31ffec3ae0 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/split-button.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/split-button.api.md
@@ -4,7 +4,7 @@
```ts
-import type { ButtonBaseProps } from '@fluentui/react-button';
+import { ButtonBaseProps } from '@fluentui/react-button';
import type { ComponentProps } from '@fluentui/react-utilities';
import type { ComponentState } from '@fluentui/react-utilities';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
diff --git a/packages/react-components/react-headless-components-preview/library/etc/switch.api.md b/packages/react-components/react-headless-components-preview/library/etc/switch.api.md
index b5588213eb7f2b..c808697e3dfe51 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/switch.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/switch.api.md
@@ -7,20 +7,18 @@
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderSwitch_unstable as renderSwitch } from '@fluentui/react-switch';
-import type { SwitchBaseProps } from '@fluentui/react-switch';
import type { SwitchBaseState } from '@fluentui/react-switch';
-import type { SwitchSlots as SwitchSlots_2 } from '@fluentui/react-switch';
+import { SwitchBaseProps as SwitchProps } from '@fluentui/react-switch';
+import { SwitchSlots } from '@fluentui/react-switch';
export { renderSwitch }
// @public
export const Switch: ForwardRefComponent;
-// @public
-export type SwitchProps = SwitchBaseProps;
+export { SwitchProps }
-// @public
-export type SwitchSlots = SwitchSlots_2;
+export { SwitchSlots }
// @public
export type SwitchState = SwitchBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/tab-list.api.md b/packages/react-components/react-headless-components-preview/library/etc/tab-list.api.md
index 948c30ea5ee373..20f468f95256b8 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/tab-list.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/tab-list.api.md
@@ -8,12 +8,12 @@ import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderTab_unstable as renderTab } from '@fluentui/react-tabs';
import { renderTabList_unstable as renderTabList } from '@fluentui/react-tabs';
-import type { TabBaseProps } from '@fluentui/react-tabs';
import type { TabBaseState } from '@fluentui/react-tabs';
-import type { TabListBaseProps } from '@fluentui/react-tabs';
import type { TabListBaseState } from '@fluentui/react-tabs';
-import type { TabListContextValues as TabListContextValues_2 } from '@fluentui/react-tabs';
-import type { TabListSlots as TabListSlots_2 } from '@fluentui/react-tabs';
+import { TabListContextValues } from '@fluentui/react-tabs';
+import { TabListBaseProps as TabListProps } from '@fluentui/react-tabs';
+import { TabListSlots } from '@fluentui/react-tabs';
+import { TabBaseProps as TabProps } from '@fluentui/react-tabs';
import { TabSlots } from '@fluentui/react-tabs';
import { TabValue } from '@fluentui/react-tabs';
@@ -27,11 +27,9 @@ export const Tab: ForwardRefComponent;
// @public
export const TabList: ForwardRefComponent;
-// @public
-export type TabListProps = TabListBaseProps;
+export { TabListProps }
-// @public
-export type TabListSlots = TabListSlots_2;
+export { TabListSlots }
// @public
export type TabListState = TabListBaseState & {
@@ -40,8 +38,7 @@ export type TabListState = TabListBaseState & {
};
};
-// @public (undocumented)
-export type TabProps = TabBaseProps;
+export { TabProps }
export { TabSlots }
diff --git a/packages/react-components/react-headless-components-preview/library/etc/tag-group.api.md b/packages/react-components/react-headless-components-preview/library/etc/tag-group.api.md
index ce04d9710db54c..00ccacd549d786 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/tag-group.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/tag-group.api.md
@@ -8,7 +8,7 @@ import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderTagGroup_unstable as renderTagGroup } from '@fluentui/react-tags';
import type { TagGroupBaseState } from '@fluentui/react-tags';
-import type { TagGroupContextValue } from '@fluentui/react-tags';
+import { TagGroupContextValues } from '@fluentui/react-tags';
import { TagGroupBaseProps as TagGroupProps } from '@fluentui/react-tags';
import { TagGroupSlots } from '@fluentui/react-tags';
@@ -17,10 +17,7 @@ export { renderTagGroup }
// @public
export const TagGroup: ForwardRefComponent;
-// @public (undocumented)
-export type TagGroupContextValues = {
- tagGroup: TagGroupContextValue;
-};
+export { TagGroupContextValues }
export { TagGroupProps }
diff --git a/packages/react-components/react-headless-components-preview/library/etc/tag-picker.api.md b/packages/react-components/react-headless-components-preview/library/etc/tag-picker.api.md
index b691a104dd2432..5d7d8438f2349c 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/tag-picker.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/tag-picker.api.md
@@ -8,11 +8,8 @@ import type { ComponentProps } from '@fluentui/react-utilities';
import type { ComponentState } from '@fluentui/react-utilities';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type { JSXElement } from '@fluentui/react-utilities';
-import type { ListboxProps as ListboxProps_2 } from '@fluentui/react-combobox';
-import type { OptionGroupProps } from '@fluentui/react-combobox';
-import type { OptionGroupSlots } from '@fluentui/react-combobox';
-import type { OptionGroupState } from '@fluentui/react-combobox';
-import type { OptionSlots as OptionSlots_2 } from '@fluentui/react-combobox';
+import { ListboxProps } from '@fluentui/react-combobox';
+import { OptionSlots } from '@fluentui/react-combobox';
import type { OptionState as OptionState_2 } from '@fluentui/react-combobox';
import { PositioningShorthand } from '@fluentui/react-positioning';
import type * as React_2 from 'react';
@@ -25,7 +22,7 @@ import { renderTagPickerOption_unstable as renderTagPickerOption } from '@fluent
import { renderOptionGroup_unstable as renderTagPickerOptionGroup } from '@fluentui/react-combobox';
import type { Slot } from '@fluentui/react-utilities';
import type { TagGroupBaseProps } from '@fluentui/react-tags';
-import type { TagGroupContextValue } from '@fluentui/react-tags';
+import { TagGroupContextValues } from '@fluentui/react-tags';
import type { TagPickerBaseProps } from '@fluentui/react-tag-picker';
import type { TagPickerButtonBaseState } from '@fluentui/react-tag-picker';
import { TagPickerButtonBaseProps as TagPickerButtonProps } from '@fluentui/react-tag-picker';
@@ -43,6 +40,9 @@ import { TagPickerInputBaseProps as TagPickerInputProps } from '@fluentui/react-
import { TagPickerInputSlots } from '@fluentui/react-tag-picker';
import { TagPickerOnOpenChangeData } from '@fluentui/react-tag-picker';
import { TagPickerOnOptionSelectData } from '@fluentui/react-tag-picker';
+import { OptionGroupProps as TagPickerOptionGroupProps } from '@fluentui/react-combobox';
+import { OptionGroupSlots as TagPickerOptionGroupSlots } from '@fluentui/react-combobox';
+import { OptionGroupState as TagPickerOptionGroupState } from '@fluentui/react-combobox';
import { TagPickerSize } from '@fluentui/react-tag-picker';
import { TagPickerSlots } from '@fluentui/react-tag-picker';
import { TagPickerState } from '@fluentui/react-tag-picker';
@@ -163,14 +163,11 @@ export const TagPickerOption: ForwardRefComponent;
// @public
export const TagPickerOptionGroup: ForwardRefComponent;
-// @public
-export type TagPickerOptionGroupProps = OptionGroupProps;
+export { TagPickerOptionGroupProps }
-// @public (undocumented)
-export type TagPickerOptionGroupSlots = OptionGroupSlots;
+export { TagPickerOptionGroupSlots }
-// @public
-export type TagPickerOptionGroupState = OptionGroupState;
+export { TagPickerOptionGroupState }
// @public
export type TagPickerOptionProps = ComponentProps & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/teaching-popover.api.md b/packages/react-components/react-headless-components-preview/library/etc/teaching-popover.api.md
index 1749a6bcc66413..6ee09f1f455a86 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/teaching-popover.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/teaching-popover.api.md
@@ -29,8 +29,8 @@ import { TeachingPopoverCarouselCardState } from '@fluentui/react-teaching-popov
import { TeachingPopoverCarouselFooterButtonBaseProps as TeachingPopoverCarouselFooterButtonProps } from '@fluentui/react-teaching-popover';
import { TeachingPopoverCarouselFooterButtonSlots } from '@fluentui/react-teaching-popover';
import { TeachingPopoverCarouselFooterButtonBaseState as TeachingPopoverCarouselFooterButtonState } from '@fluentui/react-teaching-popover';
-import type { TeachingPopoverCarouselNavButtonBaseProps } from '@fluentui/react-teaching-popover';
import type { TeachingPopoverCarouselNavButtonBaseState } from '@fluentui/react-teaching-popover';
+import { TeachingPopoverCarouselNavButtonBaseProps as TeachingPopoverCarouselNavButtonProps } from '@fluentui/react-teaching-popover';
import { TeachingPopoverCarouselNavButtonSlots } from '@fluentui/react-teaching-popover';
import { TeachingPopoverCarouselNavBaseProps as TeachingPopoverCarouselNavProps } from '@fluentui/react-teaching-popover';
import { TeachingPopoverCarouselNavSlots } from '@fluentui/react-teaching-popover';
@@ -167,8 +167,7 @@ export const TeachingPopoverCarouselNav: ForwardRefComponent;
-// @public (undocumented)
-export type TeachingPopoverCarouselNavButtonProps = TeachingPopoverCarouselNavButtonBaseProps;
+export { TeachingPopoverCarouselNavButtonProps }
export { TeachingPopoverCarouselNavButtonSlots }
diff --git a/packages/react-components/react-headless-components-preview/library/etc/textarea.api.md b/packages/react-components/react-headless-components-preview/library/etc/textarea.api.md
index 60643cea4d171e..d7782ca78d4f35 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/textarea.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/textarea.api.md
@@ -7,20 +7,18 @@
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
import { renderTextarea_unstable as renderTextarea } from '@fluentui/react-textarea';
-import type { TextareaBaseProps } from '@fluentui/react-textarea';
import type { TextareaBaseState } from '@fluentui/react-textarea';
-import type { TextareaSlots as TextareaSlots_2 } from '@fluentui/react-textarea';
+import { TextareaBaseProps as TextareaProps } from '@fluentui/react-textarea';
+import { TextareaSlots } from '@fluentui/react-textarea';
export { renderTextarea }
// @public
export const Textarea: ForwardRefComponent;
-// @public
-export type TextareaProps = TextareaBaseProps;
+export { TextareaProps }
-// @public
-export type TextareaSlots = TextareaSlots_2;
+export { TextareaSlots }
// @public
export type TextareaState = TextareaBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/toggle-button.api.md b/packages/react-components/react-headless-components-preview/library/etc/toggle-button.api.md
index cfee4ffae8e977..2c6ce1349a6b1f 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/toggle-button.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/toggle-button.api.md
@@ -4,25 +4,21 @@
```ts
-import { ButtonBaseState } from '@fluentui/react-button';
-import type { ButtonSlots as ButtonSlots_2 } from '@fluentui/react-button';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
-import type { ToggleButtonBaseProps } from '@fluentui/react-button';
+import { renderToggleButton_unstable as renderToggleButton } from '@fluentui/react-button';
import type { ToggleButtonBaseState } from '@fluentui/react-button';
+import { ToggleButtonBaseProps as ToggleButtonProps } from '@fluentui/react-button';
+import { ButtonSlots as ToggleButtonSlots } from '@fluentui/react-button';
-// @public
-export const renderToggleButton: (state: ButtonBaseState) => JSXElement;
+export { renderToggleButton }
// @public
export const ToggleButton: ForwardRefComponent;
-// @public
-export type ToggleButtonProps = ToggleButtonBaseProps;
+export { ToggleButtonProps }
-// @public
-export type ToggleButtonSlots = ButtonSlots;
+export { ToggleButtonSlots }
// @public
export type ToggleButtonState = ToggleButtonBaseState & {
diff --git a/packages/react-components/react-headless-components-preview/library/etc/toolbar.api.md b/packages/react-components/react-headless-components-preview/library/etc/toolbar.api.md
index 5f004981ba0d28..17ae9b6df8370f 100644
--- a/packages/react-components/react-headless-components-preview/library/etc/toolbar.api.md
+++ b/packages/react-components/react-headless-components-preview/library/etc/toolbar.api.md
@@ -4,50 +4,42 @@
```ts
-import { ButtonBaseState } from '@fluentui/react-button';
-import { ContextSelector } from '@fluentui/react-context-selector';
-import { DividerBaseState } from '@fluentui/react-divider';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
-import { JSXElement } from '@fluentui/react-utilities';
import type * as React_2 from 'react';
-import { ToolbarBaseState } from '@fluentui/react-toolbar';
-import type { ToolbarButtonBaseProps } from '@fluentui/react-toolbar';
+import { renderToggleButton_unstable } from '@fluentui/react-button';
+import { renderToolbar_unstable as renderToolbar } from '@fluentui/react-toolbar';
+import { renderButton_unstable as renderToolbarButton } from '@fluentui/react-button';
+import { renderDivider_unstable as renderToolbarDivider } from '@fluentui/react-divider';
+import { renderToolbarGroup_unstable } from '@fluentui/react-toolbar';
+import type { ToolbarBaseState } from '@fluentui/react-toolbar';
import type { ToolbarButtonBaseState } from '@fluentui/react-toolbar';
-import { ToolbarContextValue } from '@fluentui/react-toolbar';
+import { ToolbarButtonBaseProps as ToolbarButtonProps } from '@fluentui/react-toolbar';
import { ToolbarContextValues } from '@fluentui/react-toolbar';
-import type { ToolbarDividerBaseProps } from '@fluentui/react-toolbar';
import type { ToolbarDividerBaseState } from '@fluentui/react-toolbar';
-import type { ToolbarGroupProps as ToolbarGroupProps_2 } from '@fluentui/react-toolbar';
-import { ToolbarGroupState as ToolbarGroupState_2 } from '@fluentui/react-toolbar';
+import { ToolbarDividerBaseProps as ToolbarDividerProps } from '@fluentui/react-toolbar';
+import { ToolbarGroupProps } from '@fluentui/react-toolbar';
+import type { ToolbarGroupState as ToolbarGroupState_2 } from '@fluentui/react-toolbar';
import { ToolbarBaseProps as ToolbarProps } from '@fluentui/react-toolbar';
-import type { ToolbarRadioButtonBaseProps } from '@fluentui/react-toolbar';
import type { ToolbarRadioButtonBaseState } from '@fluentui/react-toolbar';
-import type { ToolbarRadioGroupProps as ToolbarRadioGroupProps_2 } from '@fluentui/react-toolbar';
+import { ToolbarRadioButtonBaseProps as ToolbarRadioButtonProps } from '@fluentui/react-toolbar';
+import { ToolbarRadioGroupProps } from '@fluentui/react-toolbar';
import type { ToolbarRadioGroupState as ToolbarRadioGroupState_2 } from '@fluentui/react-toolbar';
import { ToolbarSlots } from '@fluentui/react-toolbar';
-import type { ToolbarToggleButtonBaseProps } from '@fluentui/react-toolbar';
import type { ToolbarToggleButtonBaseState } from '@fluentui/react-toolbar';
+import { ToolbarToggleButtonBaseProps as ToolbarToggleButtonProps } from '@fluentui/react-toolbar';
+import { useToolbarContext_unstable as useToolbarContext } from '@fluentui/react-toolbar';
-// @public
-export const renderToolbar: (state: ToolbarBaseState, contextValues: ToolbarContextValues) => JSXElement;
-
-// @public
-export const renderToolbarButton: (state: ButtonBaseState) => JSXElement;
-
-// @public
-export const renderToolbarDivider: (state: DividerBaseState) => JSXElement;
+export { renderToggleButton_unstable as renderToolbarRadioButton }
+export { renderToggleButton_unstable as renderToolbarToggleButton }
-// @public
-export const renderToolbarGroup: (state: ToolbarGroupState_2) => JSXElement;
+export { renderToolbar }
-// @public
-export const renderToolbarRadioButton: (state: ButtonBaseState) => JSXElement;
+export { renderToolbarButton }
-// @public
-export const renderToolbarRadioGroup: (state: ToolbarGroupState_2) => JSXElement;
+export { renderToolbarDivider }
-// @public
-export const renderToolbarToggleButton: (state: ButtonBaseState) => JSXElement;
+export { renderToolbarGroup_unstable as renderToolbarGroup }
+export { renderToolbarGroup_unstable as renderToolbarRadioGroup }
// @public
export const Toolbar: ForwardRefComponent;
@@ -55,8 +47,7 @@ export const Toolbar: ForwardRefComponent;
// @public
export const ToolbarButton: ForwardRefComponent;
-// @public (undocumented)
-export type ToolbarButtonProps = ToolbarButtonBaseProps;
+export { ToolbarButtonProps }
// @public (undocumented)
export type ToolbarButtonState = ToolbarButtonBaseState & {
@@ -73,8 +64,7 @@ export { ToolbarContextValues }
// @public
export const ToolbarDivider: ForwardRefComponent;
-// @public (undocumented)
-export type ToolbarDividerProps = ToolbarDividerBaseProps;
+export { ToolbarDividerProps }
// @public (undocumented)
export type ToolbarDividerState = ToolbarDividerBaseState & {
@@ -86,8 +76,7 @@ export type ToolbarDividerState = ToolbarDividerBaseState & {
// @public
export const ToolbarGroup: ForwardRefComponent;
-// @public (undocumented)
-export type ToolbarGroupProps = ToolbarGroupProps_2;
+export { ToolbarGroupProps }
// @public (undocumented)
export type ToolbarGroupState = ToolbarGroupState_2 & {
@@ -101,8 +90,7 @@ export { ToolbarProps }
// @public
export const ToolbarRadioButton: ForwardRefComponent;
-// @public (undocumented)
-export type ToolbarRadioButtonProps = ToolbarRadioButtonBaseProps;
+export { ToolbarRadioButtonProps }
// @public (undocumented)
export type ToolbarRadioButtonState = ToolbarRadioButtonBaseState & {
@@ -117,8 +105,7 @@ export type ToolbarRadioButtonState = ToolbarRadioButtonBaseState & {
// @public
export const ToolbarRadioGroup: ForwardRefComponent;
-// @public (undocumented)
-export type ToolbarRadioGroupProps = ToolbarRadioGroupProps_2;
+export { ToolbarRadioGroupProps }
// @public (undocumented)
export type ToolbarRadioGroupState = ToolbarRadioGroupState_2 & {
@@ -140,8 +127,7 @@ export type ToolbarState = ToolbarBaseState & {
// @public
export const ToolbarToggleButton: ForwardRefComponent;
-// @public (undocumented)
-export type ToolbarToggleButtonProps = ToolbarToggleButtonBaseProps;
+export { ToolbarToggleButtonProps }
// @public (undocumented)
export type ToolbarToggleButtonState = ToolbarToggleButtonBaseState & {
@@ -159,8 +145,7 @@ export const useToolbar: (props: ToolbarProps, ref: React_2.Ref) =>
// @public
export const useToolbarButton: (props: ToolbarButtonProps, ref: React_2.Ref) => ToolbarButtonState;
-// @public
-export const useToolbarContext: (selector: ContextSelector) => T;
+export { useToolbarContext }
// @public
export const useToolbarContextValues: (state: ToolbarState) => ToolbarContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/Accordion.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/Accordion.types.ts
index 39f3108e035629..d2ec75c3fb670f 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/Accordion.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/Accordion.types.ts
@@ -1,11 +1,6 @@
-import type {
- AccordionSlots as AccordionBaseSlots,
- AccordionBaseProps,
- AccordionContextValues as AccordionBaseContextValues,
- AccordionBaseState,
-} from '@fluentui/react-accordion';
+import type { AccordionBaseProps, AccordionBaseState } from '@fluentui/react-accordion';
-export type AccordionSlots = AccordionBaseSlots;
+export type { AccordionSlots, AccordionContextValues } from '@fluentui/react-accordion';
export type AccordionProps = AccordionBaseProps;
@@ -21,5 +16,3 @@ export type AccordionState = AccordionBaseState & {
'data-multiple'?: string;
};
};
-
-export type AccordionContextValues = AccordionBaseContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/AccordionHeader.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/AccordionHeader.types.ts
index 5fc52a150552c0..29efa306f60acc 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/AccordionHeader.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/AccordionHeader.types.ts
@@ -1,13 +1,10 @@
-import type {
- AccordionHeaderSlots as AccordionHeaderBaseSlots,
- AccordionHeaderBaseProps,
- AccordionHeaderContextValues as AccordionHeaderBaseContextValues,
- AccordionHeaderBaseState,
-} from '@fluentui/react-accordion';
-
-export type AccordionHeaderSlots = AccordionHeaderBaseSlots;
+import type { AccordionHeaderBaseState } from '@fluentui/react-accordion';
-export type AccordionHeaderProps = AccordionHeaderBaseProps;
+export type {
+ AccordionHeaderSlots,
+ AccordionHeaderBaseProps as AccordionHeaderProps,
+ AccordionHeaderContextValues,
+} from '@fluentui/react-accordion';
export type AccordionHeaderState = AccordionHeaderBaseState & {
root: {
@@ -27,5 +24,3 @@ export type AccordionHeaderState = AccordionHeaderBaseState & {
'data-expand-icon-position'?: string;
};
};
-
-export type AccordionHeaderContextValues = AccordionHeaderBaseContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/renderAccordionHeader.ts b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/renderAccordionHeader.ts
index e6231e1dbea5a1..bc62e8f8ad8d2e 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/renderAccordionHeader.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/renderAccordionHeader.ts
@@ -1,6 +1 @@
-import { renderAccordionHeader_unstable } from '@fluentui/react-accordion';
-
-/**
- * Renders the final JSX of the AccordionHeader component, given the state and context values.
- */
-export const renderAccordionHeader = renderAccordionHeader_unstable;
+export { renderAccordionHeader_unstable as renderAccordionHeader } from '@fluentui/react-accordion';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/useAccordionHeader.ts b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/useAccordionHeader.ts
index 1c0c8427b9c1a0..41ac3a04cdca5a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/useAccordionHeader.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/useAccordionHeader.ts
@@ -1,11 +1,7 @@
'use client';
import type * as React from 'react';
-import {
- useAccordionHeaderBase_unstable,
- useAccordionHeaderContext_unstable,
- useAccordionHeaderContextValues_unstable,
-} from '@fluentui/react-accordion';
+import { useAccordionHeaderBase_unstable, useAccordionHeaderContextValues_unstable } from '@fluentui/react-accordion';
import type { AccordionHeaderProps, AccordionHeaderState, AccordionHeaderContextValues } from './AccordionHeader.types';
import { stringifyDataAttribute } from '../../../utils';
@@ -31,7 +27,7 @@ export const useAccordionHeader = (props: AccordionHeaderProps, ref: React.Ref AccordionItemContextValues;
+export {
+ useAccordionItemContext_unstable as useAccordionItemContext,
+ useAccordionItemContextValues_unstable as useAccordionItemContextValues,
+} from '@fluentui/react-accordion';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionPanel/AccordionPanel.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionPanel/AccordionPanel.types.ts
index 318a6e803a6833..a035c14f68aa8e 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionPanel/AccordionPanel.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionPanel/AccordionPanel.types.ts
@@ -1,12 +1,6 @@
-import type {
- AccordionPanelSlots as AccordionPanelBaseSlots,
- AccordionPanelBaseProps,
- AccordionPanelBaseState,
-} from '@fluentui/react-accordion';
+import type { AccordionPanelBaseState } from '@fluentui/react-accordion';
-export type AccordionPanelSlots = AccordionPanelBaseSlots;
-
-export type AccordionPanelProps = AccordionPanelBaseProps;
+export type { AccordionPanelSlots, AccordionPanelBaseProps as AccordionPanelProps } from '@fluentui/react-accordion';
export type AccordionPanelState = AccordionPanelBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/renderAccordion.ts b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/renderAccordion.ts
index ee5add11b966bd..8cfe9d1843792a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/renderAccordion.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/renderAccordion.ts
@@ -1,6 +1 @@
-import { renderAccordion_unstable } from '@fluentui/react-accordion';
-
-/**
- * Renders the final JSX of the Accordion component, given the state and context values.
- */
-export const renderAccordion = renderAccordion_unstable;
+export { renderAccordion_unstable as renderAccordion } from '@fluentui/react-accordion';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/useAccordion.ts b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/useAccordion.ts
index 4ad47d9a1def5b..a56b9cf0c63606 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Accordion/useAccordion.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Accordion/useAccordion.ts
@@ -1,11 +1,7 @@
'use client';
import type * as React from 'react';
-import {
- useAccordionBase_unstable,
- useAccordionContext_unstable,
- useAccordionContextValues_unstable,
-} from '@fluentui/react-accordion';
+import { useAccordionBase_unstable, useAccordionContextValues_unstable } from '@fluentui/react-accordion';
import type { AccordionProps, AccordionState, AccordionContextValues } from './Accordion.types';
import { stringifyDataAttribute } from '../../utils';
@@ -29,7 +25,7 @@ export const useAccordion = (props: AccordionProps, ref: React.Ref)
/**
* Returns the context of the accordion, which is used to pass information about the accordion to its children. This is used when a child component needs to know about the state of the accordion, such as whether it is collapsible or allows multiple items to be expanded.
*/
-export const useAccordionContext = useAccordionContext_unstable;
+export { useAccordionContext_unstable as useAccordionContext } from '@fluentui/react-accordion';
/**
* Maps the state of the accordion to the values that are passed through context to its children. This is used when a child component needs to know about the state of the accordion, such as whether it is collapsible or allows multiple items to be expanded.
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Avatar/Avatar.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Avatar/Avatar.types.ts
index 111fcac1500c2c..f77ab999203732 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Avatar/Avatar.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Avatar/Avatar.types.ts
@@ -1,16 +1,5 @@
-import type { AvatarSlots as AvatarBaseSlots, AvatarBaseProps, AvatarBaseState } from '@fluentui/react-avatar';
-
-/**
- * Avatar component slots
- */
-export type AvatarSlots = AvatarBaseSlots;
-
-/**
- * Avatar component props
- */
-export type AvatarProps = AvatarBaseProps;
-
-/**
- * Avatar component state
- */
-export type AvatarState = AvatarBaseState;
+export type {
+ AvatarSlots,
+ AvatarBaseProps as AvatarProps,
+ AvatarBaseState as AvatarState,
+} from '@fluentui/react-avatar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Badge/Badge.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Badge/Badge.types.ts
index c1c4dcd6bf5d71..4943ff4e928fe4 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Badge/Badge.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Badge/Badge.types.ts
@@ -1,14 +1,6 @@
-import type { BadgeSlots as BadgeBaseSlots, BadgeBaseProps, BadgeBaseState } from '@fluentui/react-badge';
+import type { BadgeBaseState } from '@fluentui/react-badge';
-/**
- * Badge component slots
- */
-export type BadgeSlots = BadgeBaseSlots;
-
-/**
- * Badge component props
- */
-export type BadgeProps = BadgeBaseProps;
+export type { BadgeSlots, BadgeBaseProps as BadgeProps } from '@fluentui/react-badge';
/**
* Badge component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/Breadcrumb.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/Breadcrumb.types.ts
index 15e237ade21502..994a580e5f3acd 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/Breadcrumb.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/Breadcrumb.types.ts
@@ -1,26 +1,6 @@
-import type {
- BreadcrumbSlots as BreadcrumbBaseSlots,
- BreadcrumbBaseProps,
- BreadcrumbBaseState,
- BreadcrumbContextValues as BreadcrumbBaseContextValues,
+export type {
+ BreadcrumbSlots,
+ BreadcrumbBaseProps as BreadcrumbProps,
+ BreadcrumbBaseState as BreadcrumbState,
+ BreadcrumbContextValues,
} from '@fluentui/react-breadcrumb';
-
-/**
- * Breadcrumb component slots
- */
-export type BreadcrumbSlots = BreadcrumbBaseSlots;
-
-/**
- * Breadcrumb component props
- */
-export type BreadcrumbProps = BreadcrumbBaseProps;
-
-/**
- * Breadcrumb component state
- */
-export type BreadcrumbState = BreadcrumbBaseState;
-
-/**
- * Context values provided by Breadcrumb to its sub-components.
- */
-export type BreadcrumbContextValues = BreadcrumbBaseContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/BreadcrumbButton.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/BreadcrumbButton.types.ts
index dd3cb0093b542b..b41af4beeea863 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/BreadcrumbButton.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/BreadcrumbButton.types.ts
@@ -1,18 +1,9 @@
-import type {
- BreadcrumbButtonSlots as BreadcrumbButtonBaseSlots,
- BreadcrumbButtonBaseProps,
- BreadcrumbButtonBaseState,
-} from '@fluentui/react-breadcrumb';
-
-/**
- * BreadcrumbButton component slots
- */
-export type BreadcrumbButtonSlots = BreadcrumbButtonBaseSlots;
+import type { BreadcrumbButtonBaseState } from '@fluentui/react-breadcrumb';
-/**
- * BreadcrumbButton component props
- */
-export type BreadcrumbButtonProps = BreadcrumbButtonBaseProps;
+export type {
+ BreadcrumbButtonSlots,
+ BreadcrumbButtonBaseProps as BreadcrumbButtonProps,
+} from '@fluentui/react-breadcrumb';
/**
* BreadcrumbButton component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/renderBreadcrumbButton.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/renderBreadcrumbButton.ts
index a709686a8d2209..3ce138d83aecf4 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/renderBreadcrumbButton.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/renderBreadcrumbButton.ts
@@ -1,12 +1 @@
-import { renderBreadcrumbButton_unstable } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbButtonBaseState } from '@fluentui/react-breadcrumb';
-import type { JSXElement } from '@fluentui/react-utilities';
-
-import type { BreadcrumbButtonState } from './BreadcrumbButton.types';
-
-/**
- * Renders the final JSX of the BreadcrumbButton component, given the state.
- */
-export const renderBreadcrumbButton = (state: BreadcrumbButtonState): JSXElement => {
- return renderBreadcrumbButton_unstable(state as BreadcrumbButtonBaseState);
-};
+export { renderBreadcrumbButton_unstable as renderBreadcrumbButton } from '@fluentui/react-breadcrumb';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/BreadcrumbDivider.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/BreadcrumbDivider.types.ts
index ceb907e7ad0cac..65df7c124f930b 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/BreadcrumbDivider.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/BreadcrumbDivider.types.ts
@@ -1,20 +1,5 @@
-import type {
- BreadcrumbDividerSlots as BreadcrumbDividerBaseSlots,
- BreadcrumbDividerBaseProps,
- BreadcrumbDividerBaseState,
+export type {
+ BreadcrumbDividerSlots,
+ BreadcrumbDividerBaseProps as BreadcrumbDividerProps,
+ BreadcrumbDividerBaseState as BreadcrumbDividerState,
} from '@fluentui/react-breadcrumb';
-
-/**
- * BreadcrumbDivider component slots
- */
-export type BreadcrumbDividerSlots = BreadcrumbDividerBaseSlots;
-
-/**
- * BreadcrumbDivider component props
- */
-export type BreadcrumbDividerProps = BreadcrumbDividerBaseProps;
-
-/**
- * BreadcrumbDivider component state
- */
-export type BreadcrumbDividerState = BreadcrumbDividerBaseState;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/renderBreadcrumbDivider.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/renderBreadcrumbDivider.ts
index b6fc2aca033e2f..061b13085d5851 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/renderBreadcrumbDivider.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/renderBreadcrumbDivider.ts
@@ -1,6 +1 @@
-import { renderBreadcrumbDivider_unstable } from '@fluentui/react-breadcrumb';
-
-/**
- * Renders the final JSX of the BreadcrumbDivider component, given the state.
- */
-export const renderBreadcrumbDivider = renderBreadcrumbDivider_unstable;
+export { renderBreadcrumbDivider_unstable as renderBreadcrumbDivider } from '@fluentui/react-breadcrumb';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/useBreadcrumbDivider.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/useBreadcrumbDivider.ts
index fcbc02361f1322..0936d7617e17de 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/useBreadcrumbDivider.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbDivider/useBreadcrumbDivider.ts
@@ -1,19 +1 @@
-'use client';
-
-import type * as React from 'react';
-import { useBreadcrumbDividerBase_unstable } from '@fluentui/react-breadcrumb';
-
-import type { BreadcrumbDividerProps, BreadcrumbDividerState } from './BreadcrumbDivider.types';
-
-/**
- * Returns the state for a BreadcrumbDivider component, given its props and ref.
- * The returned state can be modified with hooks before being passed to `renderBreadcrumbDivider`.
- */
-export const useBreadcrumbDivider = (
- props: BreadcrumbDividerProps,
- ref: React.Ref,
-): BreadcrumbDividerState => {
- const state: BreadcrumbDividerState = useBreadcrumbDividerBase_unstable(props, ref);
-
- return state;
-};
+export { useBreadcrumbDividerBase_unstable as useBreadcrumbDivider } from '@fluentui/react-breadcrumb';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/BreadcrumbItem.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/BreadcrumbItem.types.ts
index 51f6d92f49b09e..4e889df2af616c 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/BreadcrumbItem.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/BreadcrumbItem.types.ts
@@ -1,20 +1,5 @@
-import type {
- BreadcrumbItemSlots as BreadcrumbItemBaseSlots,
- BreadcrumbItemBaseProps,
- BreadcrumbItemBaseState,
+export type {
+ BreadcrumbItemSlots,
+ BreadcrumbItemBaseProps as BreadcrumbItemProps,
+ BreadcrumbItemBaseState as BreadcrumbItemState,
} from '@fluentui/react-breadcrumb';
-
-/**
- * BreadcrumbItem component slots
- */
-export type BreadcrumbItemSlots = BreadcrumbItemBaseSlots;
-
-/**
- * BreadcrumbItem component props
- */
-export type BreadcrumbItemProps = BreadcrumbItemBaseProps;
-
-/**
- * BreadcrumbItem component state
- */
-export type BreadcrumbItemState = BreadcrumbItemBaseState;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/renderBreadcrumbItem.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/renderBreadcrumbItem.ts
index d0178cf53a6f4f..71d29a842fe32b 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/renderBreadcrumbItem.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/renderBreadcrumbItem.ts
@@ -1,6 +1 @@
-import { renderBreadcrumbItem_unstable } from '@fluentui/react-breadcrumb';
-
-/**
- * Renders the final JSX of the BreadcrumbItem component, given the state.
- */
-export const renderBreadcrumbItem = renderBreadcrumbItem_unstable;
+export { renderBreadcrumbItem_unstable as renderBreadcrumbItem } from '@fluentui/react-breadcrumb';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/useBreadcrumbItem.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/useBreadcrumbItem.ts
index b8b353f6fc75c1..61e72828dc88de 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/useBreadcrumbItem.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbItem/useBreadcrumbItem.ts
@@ -1,16 +1 @@
-'use client';
-
-import type * as React from 'react';
-import { useBreadcrumbItemBase_unstable } from '@fluentui/react-breadcrumb';
-
-import type { BreadcrumbItemProps, BreadcrumbItemState } from './BreadcrumbItem.types';
-
-/**
- * Returns the state for a BreadcrumbItem component, given its props and ref.
- * The returned state can be modified with hooks before being passed to `renderBreadcrumbItem`.
- */
-export const useBreadcrumbItem = (props: BreadcrumbItemProps, ref: React.Ref): BreadcrumbItemState => {
- const state: BreadcrumbItemState = useBreadcrumbItemBase_unstable(props, ref);
-
- return state;
-};
+export { useBreadcrumbItemBase_unstable as useBreadcrumbItem } from '@fluentui/react-breadcrumb';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/useBreadcrumb.ts b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/useBreadcrumb.ts
index 64dd5eede1e7ef..e0e016dd9f7b14 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/useBreadcrumb.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/useBreadcrumb.ts
@@ -1,29 +1,20 @@
'use client';
-import type * as React from 'react';
-import {
- useBreadcrumbBase_unstable,
- useBreadcrumbContext_unstable,
- useBreadcrumbContextValues_unstable,
-} from '@fluentui/react-breadcrumb';
+import { useBreadcrumbContextValues_unstable } from '@fluentui/react-breadcrumb';
-import type { BreadcrumbProps, BreadcrumbState, BreadcrumbContextValues } from './Breadcrumb.types';
+import type { BreadcrumbState, BreadcrumbContextValues } from './Breadcrumb.types';
/**
* Returns the state for a Breadcrumb component, given its props and ref.
* The returned state can be modified with hooks before being passed to `renderBreadcrumb`.
*/
-export const useBreadcrumb = (props: BreadcrumbProps, ref: React.Ref): BreadcrumbState => {
- const state: BreadcrumbState = useBreadcrumbBase_unstable(props, ref);
-
- return state;
-};
+export { useBreadcrumbBase_unstable as useBreadcrumb } from '@fluentui/react-breadcrumb';
/**
* Returns the context values provided by the nearest Breadcrumb, enabling child components to
* read breadcrumb-level state such as the current size.
*/
-export const useBreadcrumbContext = useBreadcrumbContext_unstable;
+export { useBreadcrumbContext_unstable as useBreadcrumbContext } from '@fluentui/react-breadcrumb';
/**
* Maps Breadcrumb state to the context values passed down to child components.
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Button/Button.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Button/Button.types.ts
index 4027c0245605da..45def2015b7204 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Button/Button.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Button/Button.types.ts
@@ -1,14 +1,6 @@
-import type { ButtonSlots as ButtonBaseSlots, ButtonBaseProps, ButtonBaseState } from '@fluentui/react-button';
+import type { ButtonBaseState } from '@fluentui/react-button';
-/**
- * Button component slots
- */
-export type ButtonSlots = ButtonBaseSlots;
-
-/**
- * Button component props
- */
-export type ButtonProps = ButtonBaseProps;
+export type { ButtonSlots, ButtonBaseProps as ButtonProps } from '@fluentui/react-button';
/**
* Button component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Button/renderButton.ts b/packages/react-components/react-headless-components-preview/library/src/components/Button/renderButton.ts
index 06bc92cb341812..4a2b8741ec5072 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Button/renderButton.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Button/renderButton.ts
@@ -1,6 +1 @@
-import { renderButton_unstable } from '@fluentui/react-button';
-
-/**
- * Renders the final JSX of the Button component, given the state.
- */
-export const renderButton = renderButton_unstable;
+export { renderButton_unstable as renderButton } from '@fluentui/react-button';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/Card.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/Card.types.ts
index 44dfec80250328..b609c0fd43709a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/Card.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/Card.types.ts
@@ -1,15 +1,6 @@
-import type {
- CardSlots as CardBaseSlots,
- CardBaseProps,
- CardBaseState,
- CardContextValue as CardBaseContextValue,
- CardOnSelectionChangeEvent as CardBaseOnSelectionChangeEvent,
-} from '@fluentui/react-card';
+import type { CardBaseProps, CardBaseState } from '@fluentui/react-card';
-/**
- * Card component slots
- */
-export type CardSlots = CardBaseSlots;
+export type { CardSlots, CardContextValue, CardOnSelectionChangeEvent } from '@fluentui/react-card';
/**
* Card component props
@@ -31,13 +22,3 @@ export type CardState = CardBaseState & {
'data-disabled'?: string;
};
};
-
-/**
- * Context value provided by Card to its sub-components.
- */
-export type CardContextValue = CardBaseContextValue;
-
-/**
- * Card selected event type.
- */
-export type CardOnSelectionChangeEvent = CardBaseOnSelectionChangeEvent;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/CardFooter.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/CardFooter.types.ts
index 36e977c54a8c79..c23f0608fa37f1 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/CardFooter.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/CardFooter.types.ts
@@ -1,20 +1,5 @@
-import type {
- CardFooterSlots as CardFooterBaseSlots,
- CardFooterBaseProps,
- CardFooterBaseState,
+export type {
+ CardFooterSlots,
+ CardFooterBaseProps as CardFooterProps,
+ CardFooterBaseState as CardFooterState,
} from '@fluentui/react-card';
-
-/**
- * CardFooter component slots
- */
-export type CardFooterSlots = CardFooterBaseSlots;
-
-/**
- * CardFooter component props
- */
-export type CardFooterProps = CardFooterBaseProps;
-
-/**
- * CardFooter component state
- */
-export type CardFooterState = CardFooterBaseState;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/renderCardFooter.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/renderCardFooter.ts
index 2fd8ed989a71c2..f9b7fa2e34d83d 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/renderCardFooter.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/renderCardFooter.ts
@@ -1,6 +1 @@
-import { renderCardFooter_unstable } from '@fluentui/react-card';
-
-/**
- * Renders the final JSX of the CardFooter component, given the state.
- */
-export const renderCardFooter = renderCardFooter_unstable;
+export { renderCardFooter_unstable as renderCardFooter } from '@fluentui/react-card';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/useCardFooter.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/useCardFooter.ts
index 2a56f2cc883d94..96dfe7fbe67ed4 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/useCardFooter.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardFooter/useCardFooter.ts
@@ -1,16 +1 @@
-'use client';
-
-import type * as React from 'react';
-import { useCardFooterBase_unstable } from '@fluentui/react-card';
-
-import type { CardFooterProps, CardFooterState } from './CardFooter.types';
-
-/**
- * Returns the state for a CardFooter component, given its props and ref.
- * The returned state can be modified with hooks before being passed to `renderCardFooter`.
- */
-export const useCardFooter = (props: CardFooterProps, ref: React.Ref): CardFooterState => {
- const state: CardFooterState = useCardFooterBase_unstable(props, ref);
-
- return state;
-};
+export { useCardFooterBase_unstable as useCardFooter } from '@fluentui/react-card';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/CardHeader.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/CardHeader.types.ts
index 44a8721e8a0bec..4c2683c8cf0867 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/CardHeader.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/CardHeader.types.ts
@@ -1,20 +1,5 @@
-import type {
- CardHeaderSlots as CardHeaderBaseSlots,
- CardHeaderBaseProps,
- CardHeaderBaseState,
+export type {
+ CardHeaderSlots,
+ CardHeaderBaseProps as CardHeaderProps,
+ CardHeaderBaseState as CardHeaderState,
} from '@fluentui/react-card';
-
-/**
- * CardHeader component slots
- */
-export type CardHeaderSlots = CardHeaderBaseSlots;
-
-/**
- * CardHeader component props
- */
-export type CardHeaderProps = CardHeaderBaseProps;
-
-/**
- * CardHeader component state
- */
-export type CardHeaderState = CardHeaderBaseState;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/renderCardHeader.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/renderCardHeader.ts
index 9cbb7d02d3849d..e0ea0cbfb66e49 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/renderCardHeader.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/renderCardHeader.ts
@@ -1,6 +1 @@
-import { renderCardHeader_unstable } from '@fluentui/react-card';
-
-/**
- * Renders the final JSX of the CardHeader component, given the state.
- */
-export const renderCardHeader = renderCardHeader_unstable;
+export { renderCardHeader_unstable as renderCardHeader } from '@fluentui/react-card';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/useCardHeader.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/useCardHeader.ts
index 2d2e63db5f3c28..b951ab98713b33 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/useCardHeader.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardHeader/useCardHeader.ts
@@ -1,16 +1 @@
-'use client';
-
-import type * as React from 'react';
-import { useCardHeaderBase_unstable } from '@fluentui/react-card';
-
-import type { CardHeaderProps, CardHeaderState } from './CardHeader.types';
-
-/**
- * Returns the state for a CardHeader component, given its props and ref.
- * The returned state can be modified with hooks before being passed to `renderCardHeader`.
- */
-export const useCardHeader = (props: CardHeaderProps, ref: React.Ref): CardHeaderState => {
- const state: CardHeaderState = useCardHeaderBase_unstable(props, ref);
-
- return state;
-};
+export { useCardHeaderBase_unstable as useCardHeader } from '@fluentui/react-card';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/CardPreview.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/CardPreview.types.ts
index 4cb34a2ba574b4..774b1baba4e701 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/CardPreview.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/CardPreview.types.ts
@@ -1,20 +1,5 @@
-import type {
- CardPreviewSlots as CardPreviewBaseSlots,
- CardPreviewBaseProps,
- CardPreviewBaseState,
+export type {
+ CardPreviewSlots,
+ CardPreviewBaseProps as CardPreviewProps,
+ CardPreviewBaseState as CardPreviewState,
} from '@fluentui/react-card';
-
-/**
- * CardPreview component slots
- */
-export type CardPreviewSlots = CardPreviewBaseSlots;
-
-/**
- * CardPreview component props
- */
-export type CardPreviewProps = CardPreviewBaseProps;
-
-/**
- * CardPreview component state
- */
-export type CardPreviewState = CardPreviewBaseState;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/renderCardPreview.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/renderCardPreview.ts
index 5918a71c880951..ab4ad1968ff092 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/renderCardPreview.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/renderCardPreview.ts
@@ -1,6 +1 @@
-import { renderCardPreview_unstable } from '@fluentui/react-card';
-
-/**
- * Renders the final JSX of the CardPreview component, given the state.
- */
-export const renderCardPreview = renderCardPreview_unstable;
+export { renderCardPreview_unstable as renderCardPreview } from '@fluentui/react-card';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/useCardPreview.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/useCardPreview.ts
index 1901597268d2e2..55862afb53a735 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/useCardPreview.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/CardPreview/useCardPreview.ts
@@ -1,16 +1 @@
-'use client';
-
-import type * as React from 'react';
-import { useCardPreviewBase_unstable } from '@fluentui/react-card';
-
-import type { CardPreviewProps, CardPreviewState } from './CardPreview.types';
-
-/**
- * Returns the state for a CardPreview component, given its props and ref.
- * The returned state can be modified with hooks before being passed to `renderCardPreview`.
- */
-export const useCardPreview = (props: CardPreviewProps, ref: React.Ref): CardPreviewState => {
- const state: CardPreviewState = useCardPreviewBase_unstable(props, ref);
-
- return state;
-};
+export { useCardPreviewBase_unstable as useCardPreview } from '@fluentui/react-card';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Card/useCard.ts b/packages/react-components/react-headless-components-preview/library/src/components/Card/useCard.ts
index a2d7c3463f9d85..90a277163986bf 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Card/useCard.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Card/useCard.ts
@@ -1,7 +1,7 @@
'use client';
import type * as React from 'react';
-import { useCardBase_unstable, useCardContext_unstable } from '@fluentui/react-card';
+import { useCardBase_unstable } from '@fluentui/react-card';
import type { CardContextValue, CardProps, CardState } from './Card.types';
import { stringifyDataAttribute } from '../../utils/stringifyDataAttribute';
@@ -25,7 +25,7 @@ export const useCard = (props: CardProps, ref: React.Ref): CardS
* Returns the context value provided by the nearest Card, enabling child components to
* read card-level state such as the selectable accessibility properties.
*/
-export const useCardContext = useCardContext_unstable;
+export { useCardContext_unstable as useCardContext } from '@fluentui/react-card';
/**
* Maps Card state to the context value passed down to child components.
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Checkbox/Checkbox.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Checkbox/Checkbox.types.ts
index 87b4c2862352e5..30571d427f42ac 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Checkbox/Checkbox.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Checkbox/Checkbox.types.ts
@@ -1,15 +1,6 @@
-import type {
- CheckboxSlots as CheckboxBaseSlots,
- CheckboxBaseState,
- CheckboxBaseProps,
-} from '@fluentui/react-checkbox';
+import type { CheckboxBaseState } from '@fluentui/react-checkbox';
-export type CheckboxSlots = CheckboxBaseSlots;
-
-/**
- * Checkbox Props
- */
-export type CheckboxProps = CheckboxBaseProps;
+export type { CheckboxSlots, CheckboxBaseProps as CheckboxProps } from '@fluentui/react-checkbox';
/**
* State used in rendering Checkbox
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Divider/Divider.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Divider/Divider.types.ts
index 3947f556a0c388..4587409adda516 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Divider/Divider.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Divider/Divider.types.ts
@@ -1,8 +1,6 @@
-import type { DividerSlots as DividerBaseSlots, DividerBaseProps, DividerBaseState } from '@fluentui/react-divider';
+import type { DividerBaseState } from '@fluentui/react-divider';
-export type DividerSlots = DividerBaseSlots;
-
-export type DividerProps = DividerBaseProps;
+export type { DividerSlots, DividerBaseProps as DividerProps } from '@fluentui/react-divider';
export type DividerState = DividerBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Divider/renderDivider.ts b/packages/react-components/react-headless-components-preview/library/src/components/Divider/renderDivider.ts
index 845715b76b614f..952246f01fb631 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Divider/renderDivider.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Divider/renderDivider.ts
@@ -1,6 +1 @@
-import { renderDivider_unstable } from '@fluentui/react-divider';
-
-/**
- * Renders the final JSX of the Divider component, given the state.
- */
-export const renderDivider = renderDivider_unstable;
+export { renderDivider_unstable as renderDivider } from '@fluentui/react-divider';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerBody/renderDrawerBody.ts b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerBody/renderDrawerBody.ts
index be8cf0163bcd68..abfc18e251904a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerBody/renderDrawerBody.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerBody/renderDrawerBody.ts
@@ -1,6 +1 @@
-import { renderDrawerBody_unstable } from '@fluentui/react-drawer';
-
-/**
- * Renders the final JSX of the DrawerBody component, given the state.
- */
-export const renderDrawerBody = renderDrawerBody_unstable;
+export { renderDrawerBody_unstable as renderDrawerBody } from '@fluentui/react-drawer';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerBody/useDrawerBody.ts b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerBody/useDrawerBody.ts
index 5db5945b2d6869..f124edcae8ef61 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerBody/useDrawerBody.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerBody/useDrawerBody.ts
@@ -1,8 +1 @@
-'use client';
-
-import { useDrawerBody_unstable } from '@fluentui/react-drawer';
-
-/**
- * Returns the state for a DrawerBody component, given its props and ref.
- */
-export const useDrawerBody = useDrawerBody_unstable;
+export { useDrawerBody_unstable as useDrawerBody } from '@fluentui/react-drawer';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerFooter/renderDrawerFooter.ts b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerFooter/renderDrawerFooter.ts
index 0fe097a351fbf3..fc125b7273c790 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerFooter/renderDrawerFooter.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerFooter/renderDrawerFooter.ts
@@ -1,6 +1 @@
-import { renderDrawerFooter_unstable } from '@fluentui/react-drawer';
-
-/**
- * Renders the final JSX of the DrawerFooter component, given the state.
- */
-export const renderDrawerFooter = renderDrawerFooter_unstable;
+export { renderDrawerFooter_unstable as renderDrawerFooter } from '@fluentui/react-drawer';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeader/renderDrawerHeader.ts b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeader/renderDrawerHeader.ts
index 189ca3e3f20728..9b187eb08b78c9 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeader/renderDrawerHeader.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeader/renderDrawerHeader.ts
@@ -1,6 +1 @@
-import { renderDrawerHeader_unstable } from '@fluentui/react-drawer';
-
-/**
- * Renders the final JSX of the DrawerHeader component, given the state.
- */
-export const renderDrawerHeader = renderDrawerHeader_unstable;
+export { renderDrawerHeader_unstable as renderDrawerHeader } from '@fluentui/react-drawer';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderNavigation/renderDrawerHeaderNavigation.ts b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderNavigation/renderDrawerHeaderNavigation.ts
index f9932378c715ee..66301c1b430cd5 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderNavigation/renderDrawerHeaderNavigation.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderNavigation/renderDrawerHeaderNavigation.ts
@@ -1,6 +1 @@
-import { renderDrawerHeaderNavigation_unstable } from '@fluentui/react-drawer';
-
-/**
- * Renders the final JSX of the DrawerHeaderNavigation component, given the state.
- */
-export const renderDrawerHeaderNavigation = renderDrawerHeaderNavigation_unstable;
+export { renderDrawerHeaderNavigation_unstable as renderDrawerHeaderNavigation } from '@fluentui/react-drawer';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderNavigation/useDrawerHeaderNavigation.ts b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderNavigation/useDrawerHeaderNavigation.ts
index 43d48da2c544d0..1ba5008f14d19b 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderNavigation/useDrawerHeaderNavigation.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderNavigation/useDrawerHeaderNavigation.ts
@@ -1,8 +1 @@
-'use client';
-
-import { useDrawerHeaderNavigation_unstable } from '@fluentui/react-drawer';
-
-/**
- * Returns the state for a DrawerHeaderNavigation component, given its props and ref.
- */
-export const useDrawerHeaderNavigation = useDrawerHeaderNavigation_unstable;
+export { useDrawerHeaderNavigation_unstable as useDrawerHeaderNavigation } from '@fluentui/react-drawer';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderTitle/renderDrawerHeaderTitle.ts b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderTitle/renderDrawerHeaderTitle.ts
index 51d098d2739c14..6a0932266e46cd 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderTitle/renderDrawerHeaderTitle.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeaderTitle/renderDrawerHeaderTitle.ts
@@ -1,6 +1 @@
-import { renderDrawerHeaderTitle_unstable } from '@fluentui/react-drawer';
-
-/**
- * Renders the final JSX of the DrawerHeaderTitle component, given the state.
- */
-export const renderDrawerHeaderTitle = renderDrawerHeaderTitle_unstable;
+export { renderDrawerHeaderTitle_unstable as renderDrawerHeaderTitle } from '@fluentui/react-drawer';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Listbox/Listbox.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Listbox/Listbox.types.ts
index cae27f01722572..84cbf6cde548af 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Listbox/Listbox.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Listbox/Listbox.types.ts
@@ -1,23 +1 @@
-import type {
- ListboxSlots as ListboxBaseSlots,
- ListboxProps as ListboxBaseProps,
- ListboxState as ListboxBaseState,
- ListboxContextValues as ListboxContextValuesBase,
-} from '@fluentui/react-combobox';
-
-export type ListboxSlots = ListboxBaseSlots;
-
-/**
- * Listbox Props
- */
-export type ListboxProps = ListboxBaseProps;
-
-/**
- * State used in rendering Listbox
- */
-export type ListboxState = ListboxBaseState;
-
-/**
- * Context values used in rendering Listbox
- */
-export type ListboxContextValues = ListboxContextValuesBase;
+export type { ListboxSlots, ListboxProps, ListboxState, ListboxContextValues } from '@fluentui/react-combobox';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Listbox/useListboxContextValues.ts b/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Listbox/useListboxContextValues.ts
index 0db1ff71a0243a..b7ea43dbed52be 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Listbox/useListboxContextValues.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Listbox/useListboxContextValues.ts
@@ -1,9 +1 @@
-'use client';
-
-import { useListboxContextValues as useListboxContextValues_unstable } from '@fluentui/react-combobox';
-
-import type { ListboxContextValues, ListboxState } from './Listbox.types';
-
-export const useListboxContextValues = useListboxContextValues_unstable as (
- state: ListboxState,
-) => ListboxContextValues;
+export { useListboxContextValues } from '@fluentui/react-combobox';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Option/Option.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Option/Option.types.ts
index cfd6a261264c2e..88303ce0ec9c11 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Option/Option.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Option/Option.types.ts
@@ -1,15 +1,6 @@
-import type {
- OptionSlots as OptionBaseSlots,
- OptionProps as OptionBaseProps,
- OptionState as OptionBaseState,
-} from '@fluentui/react-combobox';
+import type { OptionState as OptionBaseState } from '@fluentui/react-combobox';
-export type OptionSlots = OptionBaseSlots;
-
-/**
- * Option Props
- */
-export type OptionProps = OptionBaseProps;
+export type { OptionSlots, OptionProps } from '@fluentui/react-combobox';
/**
* State used in rendering Option
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/OptionGroup/OptionGroup.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/OptionGroup/OptionGroup.types.ts
index ddd7752c4d92f1..d4fe4922e6760a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/OptionGroup/OptionGroup.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Dropdown/OptionGroup/OptionGroup.types.ts
@@ -1,17 +1 @@
-import type {
- OptionGroupSlots as OptionGroupBaseSlots,
- OptionGroupProps as OptionGroupBaseProps,
- OptionGroupState as OptionGroupBaseState,
-} from '@fluentui/react-combobox';
-
-export type OptionGroupSlots = OptionGroupBaseSlots;
-
-/**
- * OptionGroup Props
- */
-export type OptionGroupProps = OptionGroupBaseProps;
-
-/**
- * State used in rendering OptionGroup
- */
-export type OptionGroupState = OptionGroupBaseState;
+export type { OptionGroupSlots, OptionGroupProps, OptionGroupState } from '@fluentui/react-combobox';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Field/Field.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Field/Field.types.ts
index f2890329cb4d6e..4d94832a72de5e 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Field/Field.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Field/Field.types.ts
@@ -1,19 +1,6 @@
-import type {
- FieldSlots as FieldBaseSlots,
- FieldBaseProps,
- FieldBaseState,
- FieldContextValues as FieldContextValuesBase,
-} from '@fluentui/react-field';
+import type { FieldBaseState } from '@fluentui/react-field';
-/**
- * Field component slots
- */
-export type FieldSlots = FieldBaseSlots;
-
-/**
- * Field component props
- */
-export type FieldProps = FieldBaseProps;
+export type { FieldSlots, FieldBaseProps as FieldProps, FieldContextValues } from '@fluentui/react-field';
/**
* Field component state
@@ -23,8 +10,3 @@ export type FieldState = FieldBaseState & {
'data-validate-state'?: FieldBaseState['validationState'];
};
};
-
-/**
- * Field component context values
- */
-export type FieldContextValues = FieldContextValuesBase;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Input/Input.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Input/Input.types.ts
index 7811a1bdb082ab..8b24edb964bea1 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Input/Input.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Input/Input.types.ts
@@ -1,14 +1,6 @@
-import type { InputSlots as InputBaseSlots, InputBaseProps, InputBaseState } from '@fluentui/react-input';
+import type { InputBaseState } from '@fluentui/react-input';
-/**
- * Input component slots
- */
-export type InputSlots = InputBaseSlots;
-
-/**
- * Input component props
- */
-export type InputProps = InputBaseProps;
+export type { InputSlots, InputBaseProps as InputProps } from '@fluentui/react-input';
/**
* Input component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Label/Label.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Label/Label.types.ts
index f40fe37ab33e67..5e8832e03dc7af 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Label/Label.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Label/Label.types.ts
@@ -1,14 +1,6 @@
-import type { LabelSlots as LabelBaseSlots, LabelBaseProps, LabelBaseState } from '@fluentui/react-label';
+import type { LabelBaseState } from '@fluentui/react-label';
-/**
- * Label component slots
- */
-export type LabelSlots = LabelBaseSlots;
-
-/**
- * Label component props
- */
-export type LabelProps = LabelBaseProps;
+export type { LabelSlots, LabelBaseProps as LabelProps } from '@fluentui/react-label';
/**
* Label component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Label/renderLabel.ts b/packages/react-components/react-headless-components-preview/library/src/components/Label/renderLabel.ts
index ae856b597bfd4e..5d210d3de430a1 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Label/renderLabel.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Label/renderLabel.ts
@@ -1,6 +1 @@
-import { renderLabel_unstable } from '@fluentui/react-label';
-
-/**
- * Renders the final JSX of the Label component, given the state.
- */
-export const renderLabel = renderLabel_unstable;
+export { renderLabel_unstable as renderLabel } from '@fluentui/react-label';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Link/Link.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Link/Link.types.ts
index 9b88ec57c80355..856eb5c95c2e18 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Link/Link.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Link/Link.types.ts
@@ -1,14 +1,6 @@
-import type { LinkSlots as LinkBaseSlots, LinkBaseProps, LinkBaseState } from '@fluentui/react-link';
+import type { LinkBaseState } from '@fluentui/react-link';
-/**
- * Link component slots
- */
-export type LinkSlots = LinkBaseSlots;
-
-/**
- * Link component props
- */
-export type LinkProps = LinkBaseProps;
+export type { LinkSlots, LinkBaseProps as LinkProps } from '@fluentui/react-link';
/**
* Link component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Menu/Menu.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Menu/Menu.types.ts
index 32aacdb653eb52..4b83d18a7b3d05 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Menu/Menu.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Menu/Menu.types.ts
@@ -1,11 +1,8 @@
-import type { MenuContextValue } from '@fluentui/react-menu';
-
export type {
MenuBaseProps as MenuProps,
MenuBaseState as MenuState,
MenuContextValue,
MenuOpenChangeData,
MenuOpenEvent,
+ MenuContextValues,
} from '@fluentui/react-menu';
-
-export type MenuContextValues = { menu: MenuContextValue };
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItem/MenuItem.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItem/MenuItem.types.ts
index 5311ed04fe44f4..a369eb105cdb9a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItem/MenuItem.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItem/MenuItem.types.ts
@@ -1,8 +1,6 @@
-export type { MenuItemSlots } from '@fluentui/react-menu';
+export type { MenuItemSlots, MenuItemProps } from '@fluentui/react-menu';
-import type { MenuItemProps as MenuItemBaseProps, MenuItemState as MenuItemBaseState } from '@fluentui/react-menu';
-
-export type MenuItemProps = MenuItemBaseProps;
+import type { MenuItemState as MenuItemBaseState } from '@fluentui/react-menu';
export type MenuItemState = MenuItemBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemCheckbox/MenuItemCheckbox.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemCheckbox/MenuItemCheckbox.types.ts
index ded55bd3753c0a..afbbd78c05909b 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemCheckbox/MenuItemCheckbox.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemCheckbox/MenuItemCheckbox.types.ts
@@ -1,9 +1,6 @@
-import type {
- MenuItemCheckboxProps as MenuItemCheckboxBaseProps,
- MenuItemCheckboxState as MenuItemCheckboxBaseState,
-} from '@fluentui/react-menu';
+import type { MenuItemCheckboxState as MenuItemCheckboxBaseState } from '@fluentui/react-menu';
-export type MenuItemCheckboxProps = MenuItemCheckboxBaseProps;
+export type { MenuItemCheckboxProps } from '@fluentui/react-menu';
export type MenuItemCheckboxState = MenuItemCheckboxBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemLink/MenuItemLink.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemLink/MenuItemLink.types.ts
index 933041b60dd7b6..4249925f657ff1 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemLink/MenuItemLink.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemLink/MenuItemLink.types.ts
@@ -1,12 +1,6 @@
-import type {
- MenuItemLinkProps as MenuItemLinkBaseProps,
- MenuItemLinkState as MenuItemLinkBaseState,
- MenuItemLinkSlots,
-} from '@fluentui/react-menu';
+import type { MenuItemLinkState as MenuItemLinkBaseState } from '@fluentui/react-menu';
-export type { MenuItemLinkSlots };
-
-export type MenuItemLinkProps = MenuItemLinkBaseProps;
+export type { MenuItemLinkSlots, MenuItemLinkProps } from '@fluentui/react-menu';
export type MenuItemLinkState = MenuItemLinkBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemRadio/MenuItemRadio.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemRadio/MenuItemRadio.types.ts
index 1ba35243c62dd2..3cb0a22ca810a6 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemRadio/MenuItemRadio.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemRadio/MenuItemRadio.types.ts
@@ -1,6 +1,6 @@
-import type { MenuItemRadioBaseProps, MenuItemRadioBaseState } from '@fluentui/react-menu';
+import type { MenuItemRadioBaseState } from '@fluentui/react-menu';
-export type MenuItemRadioProps = MenuItemRadioBaseProps;
+export type { MenuItemRadioBaseProps as MenuItemRadioProps } from '@fluentui/react-menu';
export type MenuItemRadioState = MenuItemRadioBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemSwitch/MenuItemSwitch.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemSwitch/MenuItemSwitch.types.ts
index 12355ce3435b80..4772b8f65a2186 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemSwitch/MenuItemSwitch.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemSwitch/MenuItemSwitch.types.ts
@@ -1,12 +1,6 @@
-import type {
- MenuItemSwitchProps as MenuItemSwitchBaseProps,
- MenuItemSwitchState as MenuItemSwitchBaseState,
- MenuItemSwitchSlots,
-} from '@fluentui/react-menu';
+import type { MenuItemSwitchState as MenuItemSwitchBaseState } from '@fluentui/react-menu';
-export type { MenuItemSwitchSlots };
-
-export type MenuItemSwitchProps = MenuItemSwitchBaseProps;
+export type { MenuItemSwitchSlots, MenuItemSwitchProps } from '@fluentui/react-menu';
export type MenuItemSwitchState = MenuItemSwitchBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuList/MenuList.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuList/MenuList.types.ts
index 962344c29463e2..4dab1d1507b184 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuList/MenuList.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuList/MenuList.types.ts
@@ -1,7 +1,16 @@
-export type {
- MenuListProps,
+import type {
MenuListSlots,
- MenuListState,
+ MenuListState as MenuListBaseState,
MenuCheckedValueChangeData,
MenuCheckedValueChangeEvent,
} from '@fluentui/react-menu';
+
+export type { MenuListProps } from '@fluentui/react-menu';
+
+export type MenuListState = MenuListBaseState & {
+ root: {
+ focusgroup?: string;
+ };
+};
+
+export type { MenuListSlots, MenuCheckedValueChangeData, MenuCheckedValueChangeEvent };
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBar.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBar.types.ts
index 570006f1514d7f..77a90840166ada 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBar.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBar.types.ts
@@ -1,14 +1,10 @@
-import type {
- MessageBarSlots as MessageBarBaseSlots,
- MessageBarBaseProps,
- MessageBarBaseState,
- MessageBarContextValues as MessageBarBaseContextValues,
- MessageBarIntent,
-} from '@fluentui/react-message-bar';
-
-export type MessageBarSlots = MessageBarBaseSlots;
+import type { MessageBarBaseState, MessageBarIntent } from '@fluentui/react-message-bar';
-export type MessageBarProps = MessageBarBaseProps;
+export type {
+ MessageBarSlots,
+ MessageBarBaseProps as MessageBarProps,
+ MessageBarContextValues,
+} from '@fluentui/react-message-bar';
export type MessageBarState = MessageBarBaseState & {
root: {
@@ -24,6 +20,4 @@ export type MessageBarState = MessageBarBaseState & {
};
};
-export type MessageBarContextValues = MessageBarBaseContextValues;
-
export type { MessageBarIntent };
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/MessageBarActions.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/MessageBarActions.types.ts
index d9c7ed86562364..b6e81efbf8054c 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/MessageBarActions.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/MessageBarActions.types.ts
@@ -1,13 +1,10 @@
-import type {
- MessageBarActionsSlots as MessageBarActionsBaseSlots,
- MessageBarActionsProps as MessageBarActionsBaseProps,
- MessageBarActionsState as MessageBarActionsBaseState,
- MessageBarActionsContextValues as MessageBarActionsBaseContextValues,
-} from '@fluentui/react-message-bar';
-
-export type MessageBarActionsSlots = MessageBarActionsBaseSlots;
+import type { MessageBarActionsState as MessageBarActionsBaseState } from '@fluentui/react-message-bar';
-export type MessageBarActionsProps = MessageBarActionsBaseProps;
+export type {
+ MessageBarActionsSlots,
+ MessageBarActionsProps,
+ MessageBarActionsContextValues,
+} from '@fluentui/react-message-bar';
export type MessageBarActionsState = MessageBarActionsBaseState & {
root: {
@@ -22,5 +19,3 @@ export type MessageBarActionsState = MessageBarActionsBaseState & {
'data-has-actions'?: string;
};
};
-
-export type MessageBarActionsContextValues = MessageBarActionsBaseContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/renderMessageBarActions.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/renderMessageBarActions.ts
index f47ef935ed1542..f6b8583018d3fb 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/renderMessageBarActions.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/renderMessageBarActions.ts
@@ -1,6 +1 @@
-import { renderMessageBarActions_unstable } from '@fluentui/react-message-bar';
-
-/**
- * Renders the final JSX of the MessageBarActions component, given the state and context values.
- */
-export const renderMessageBarActions = renderMessageBarActions_unstable;
+export { renderMessageBarActions_unstable as renderMessageBarActions } from '@fluentui/react-message-bar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/useMessageBarActions.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/useMessageBarActions.ts
index d9f8178a9f9094..296fb128a3c277 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/useMessageBarActions.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/useMessageBarActions.ts
@@ -1,13 +1,9 @@
'use client';
import type * as React from 'react';
-import { useMessageBarActions_unstable, useMessageBarActionsContextValue_unstable } from '@fluentui/react-message-bar';
+import { useMessageBarActions_unstable } from '@fluentui/react-message-bar';
-import type {
- MessageBarActionsProps,
- MessageBarActionsState,
- MessageBarActionsContextValues,
-} from './MessageBarActions.types';
+import type { MessageBarActionsProps, MessageBarActionsState } from './MessageBarActions.types';
import { stringifyDataAttribute } from '../../../utils';
/**
@@ -31,5 +27,4 @@ export const useMessageBarActions = (
/**
* Returns the context values provided by MessageBarActions to its child buttons.
*/
-export const useMessageBarActionsContextValues =
- useMessageBarActionsContextValue_unstable as () => MessageBarActionsContextValues;
+export { useMessageBarActionsContextValue_unstable as useMessageBarActionsContextValues } from '@fluentui/react-message-bar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/MessageBarBody.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/MessageBarBody.types.ts
index 304bf7be4e2bd0..390e943e06e163 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/MessageBarBody.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/MessageBarBody.types.ts
@@ -1,14 +1,6 @@
-import type {
- MessageBarBodySlots as MessageBarBodyBaseSlots,
- MessageBarBodyProps as MessageBarBodyBaseProps,
- MessageBarBodyState as MessageBarBodyBaseState,
- MessageBarBodyContextValues as MessageBarBodyBaseContextValues,
+export type {
+ MessageBarBodySlots,
+ MessageBarBodyProps,
+ MessageBarBodyState,
+ MessageBarBodyContextValues,
} from '@fluentui/react-message-bar';
-
-export type MessageBarBodySlots = MessageBarBodyBaseSlots;
-
-export type MessageBarBodyProps = MessageBarBodyBaseProps;
-
-export type MessageBarBodyState = MessageBarBodyBaseState;
-
-export type MessageBarBodyContextValues = MessageBarBodyBaseContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/renderMessageBarBody.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/renderMessageBarBody.ts
index d9807196956100..840f693ccc67cf 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/renderMessageBarBody.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/renderMessageBarBody.ts
@@ -1,6 +1 @@
-import { renderMessageBarBody_unstable } from '@fluentui/react-message-bar';
-
-/**
- * Renders the final JSX of the MessageBarBody component, given the state and context values.
- */
-export const renderMessageBarBody = renderMessageBarBody_unstable;
+export { renderMessageBarBody_unstable as renderMessageBarBody } from '@fluentui/react-message-bar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/useMessageBarBody.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/useMessageBarBody.ts
index f763b59b21e3e9..24a972fc53e0c3 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/useMessageBarBody.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarBody/useMessageBarBody.ts
@@ -1,7 +1,7 @@
'use client';
import type * as ReactTypes from 'react';
-import { useMessageBarBody_unstable, useMessageBarBodyContextValues_unstable } from '@fluentui/react-message-bar';
+import { useMessageBarBody_unstable } from '@fluentui/react-message-bar';
import type { MessageBarBodyProps, MessageBarBodyState } from './MessageBarBody.types';
@@ -21,4 +21,4 @@ export const useMessageBarBody = (
/**
* Returns the context values provided by MessageBarBody to nested links.
*/
-export const useMessageBarBodyContextValues = useMessageBarBodyContextValues_unstable;
+export { useMessageBarBodyContextValues_unstable as useMessageBarBodyContextValues } from '@fluentui/react-message-bar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarTitle/MessageBarTitle.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarTitle/MessageBarTitle.types.ts
index a7a62799496bb7..31579ca8f6746f 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarTitle/MessageBarTitle.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarTitle/MessageBarTitle.types.ts
@@ -1,11 +1 @@
-import type {
- MessageBarTitleSlots as MessageBarTitleBaseSlots,
- MessageBarTitleProps as MessageBarTitleBaseProps,
- MessageBarTitleState as MessageBarTitleBaseState,
-} from '@fluentui/react-message-bar';
-
-export type MessageBarTitleSlots = MessageBarTitleBaseSlots;
-
-export type MessageBarTitleProps = MessageBarTitleBaseProps;
-
-export type MessageBarTitleState = MessageBarTitleBaseState;
+export type { MessageBarTitleSlots, MessageBarTitleProps, MessageBarTitleState } from '@fluentui/react-message-bar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarTitle/renderMessageBarTitle.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarTitle/renderMessageBarTitle.ts
index ff38032fef3994..ca9801c298fc8c 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarTitle/renderMessageBarTitle.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarTitle/renderMessageBarTitle.ts
@@ -1,6 +1 @@
-import { renderMessageBarTitle_unstable } from '@fluentui/react-message-bar';
-
-/**
- * Renders the final JSX of the MessageBarTitle component, given the state.
- */
-export const renderMessageBarTitle = renderMessageBarTitle_unstable;
+export { renderMessageBarTitle_unstable as renderMessageBarTitle } from '@fluentui/react-message-bar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/renderMessageBar.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/renderMessageBar.ts
index 5e9f5cc863157c..cdae4eb10e4290 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/renderMessageBar.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/renderMessageBar.ts
@@ -1,6 +1 @@
-import { renderMessageBar_unstable } from '@fluentui/react-message-bar';
-
-/**
- * Renders the final JSX of the MessageBar component, given the state and context values.
- */
-export const renderMessageBar = renderMessageBar_unstable;
+export { renderMessageBar_unstable as renderMessageBar } from '@fluentui/react-message-bar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/useMessageBar.ts b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/useMessageBar.ts
index 6b6ec84795bc23..a2eb2547918c27 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/useMessageBar.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/MessageBar/useMessageBar.ts
@@ -1,11 +1,7 @@
'use client';
import type * as React from 'react';
-import {
- useMessageBarBase_unstable,
- useMessageBarContext as useMessageBarContext_unstable,
- useMessageBarContextValue_unstable,
-} from '@fluentui/react-message-bar';
+import { useMessageBarBase_unstable, useMessageBarContextValue_unstable } from '@fluentui/react-message-bar';
import type { MessageBarProps, MessageBarState, MessageBarContextValues } from './MessageBar.types';
import { stringifyDataAttribute } from '../../utils';
@@ -28,7 +24,7 @@ export const useMessageBar = (props: MessageBarProps, ref: React.Ref JSXElement;
+export { renderProgressBar_unstable as renderProgressBar } from '@fluentui/react-progress';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Provider/Provider.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Provider/Provider.types.ts
index 7771131ef3e280..7b022b582e6bf0 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Provider/Provider.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Provider/Provider.types.ts
@@ -1,7 +1,9 @@
import type * as React from 'react';
-import type { FluentProviderContextValues, FluentProviderProps } from '@fluentui/react-provider';
+import type { FluentProviderProps } from '@fluentui/react-provider';
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
+export type { FluentProviderContextValues as ProviderContextValues } from '@fluentui/react-provider';
+
export type ProviderSlots = {
root: Slot;
};
@@ -15,5 +17,3 @@ export type ProviderProps = ComponentProps & Pick & Pick;
-
-export type ProviderContextValues = FluentProviderContextValues;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/Radio/Radio.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/Radio/Radio.types.ts
index a0ecd397b25517..6aa2be03383c7c 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/Radio/Radio.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/Radio/Radio.types.ts
@@ -1,14 +1,6 @@
-import type { RadioSlots as RadioBaseSlots, RadioBaseProps, RadioBaseState } from '@fluentui/react-radio';
+import type { RadioBaseState } from '@fluentui/react-radio';
-/**
- * Radio component slots
- */
-export type RadioSlots = RadioBaseSlots;
-
-/**
- * Radio component props
- */
-export type RadioProps = RadioBaseProps;
+export type { RadioSlots, RadioBaseProps as RadioProps } from '@fluentui/react-radio';
/**
* Radio component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/RadioGroup.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/RadioGroup.types.ts
index 23d7cb05ab8021..40349f124f1f91 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/RadioGroup.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/RadioGroup.types.ts
@@ -1,26 +1,6 @@
-import type {
- RadioGroupSlots as RadioGroupBaseSlots,
- RadioGroupBaseProps,
- RadioGroupBaseState,
- RadioGroupContextValues as RadioGroupContextValuesBase,
+export type {
+ RadioGroupSlots,
+ RadioGroupBaseProps as RadioGroupProps,
+ RadioGroupBaseState as RadioGroupState,
+ RadioGroupContextValues,
} from '@fluentui/react-radio';
-
-/**
- * RadioGroup component slots
- */
-export type RadioGroupSlots = RadioGroupBaseSlots;
-
-/**
- * RadioGroup component props
- */
-export type RadioGroupProps = RadioGroupBaseProps;
-
-/**
- * RadioGroup component state
- */
-export type RadioGroupState = RadioGroupBaseState;
-
-/**
- * RadioGroup component context values
- */
-export type RadioGroupContextValues = RadioGroupContextValuesBase;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/useRadioGroup.ts b/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/useRadioGroup.ts
index 343a57345f9dcd..ab76958ea2debf 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/useRadioGroup.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/useRadioGroup.ts
@@ -1,16 +1 @@
-'use client';
-
-import type * as React from 'react';
-import { useRadioGroupBase_unstable } from '@fluentui/react-radio';
-
-import type { RadioGroupProps, RadioGroupState } from './RadioGroup.types';
-
-/**
- * Returns the state for a RadioGroup component, given its props and ref.
- * The returned state can be modified with hooks before being passed to `renderRadioGroup`.
- */
-export const useRadioGroup = (props: RadioGroupProps, ref: React.Ref): RadioGroupState => {
- const state = useRadioGroupBase_unstable(props, ref);
-
- return state;
-};
+export { useRadioGroupBase_unstable as useRadioGroup } from '@fluentui/react-radio';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Rating/Rating.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Rating/Rating.types.ts
index b5c63ce69007eb..03be53ee03caec 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Rating/Rating.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Rating/Rating.types.ts
@@ -1,26 +1,6 @@
-import type {
- RatingSlots as RatingBaseSlots,
- RatingBaseProps,
- RatingBaseState,
- RatingContextValues as RatingContextValuesBase,
+export type {
+ RatingSlots,
+ RatingBaseProps as RatingProps,
+ RatingBaseState as RatingState,
+ RatingContextValues,
} from '@fluentui/react-rating';
-
-/**
- * Rating component slots
- */
-export type RatingSlots = RatingBaseSlots;
-
-/**
- * Rating component props
- */
-export type RatingProps = RatingBaseProps;
-
-/**
- * Rating component state
- */
-export type RatingState = RatingBaseState;
-
-/**
- * Rating component context values
- */
-export type RatingContextValues = RatingContextValuesBase;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Rating/RatingItem/RatingItem.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Rating/RatingItem/RatingItem.types.ts
index 57e53613046108..4c2be139ace60a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Rating/RatingItem/RatingItem.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Rating/RatingItem/RatingItem.types.ts
@@ -1,18 +1,6 @@
-import type {
- RatingItemSlots as RatingItemBaseSlots,
- RatingItemBaseProps,
- RatingItemBaseState,
-} from '@fluentui/react-rating';
+import type { RatingItemBaseState } from '@fluentui/react-rating';
-/**
- * RatingItem component slots
- */
-export type RatingItemSlots = RatingItemBaseSlots;
-
-/**
- * RatingItem component props
- */
-export type RatingItemProps = RatingItemBaseProps;
+export type { RatingItemSlots, RatingItemBaseProps as RatingItemProps } from '@fluentui/react-rating';
/**
* RatingItem component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Rating/useRating.tsx b/packages/react-components/react-headless-components-preview/library/src/components/Rating/useRating.tsx
index dc4efb6bf53585..2ae654c3d98d05 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Rating/useRating.tsx
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Rating/useRating.tsx
@@ -1,16 +1 @@
-'use client';
-
-import type * as React from 'react';
-import { useRatingBase_unstable } from '@fluentui/react-rating';
-
-import type { RatingProps, RatingState } from './Rating.types';
-
-/**
- * Returns the state for a Rating component, given its props and ref.
- * The returned state can be modified with hooks before being passed to `renderRating`.
- */
-export const useRating = (props: RatingProps, ref: React.Ref): RatingState => {
- const state = useRatingBase_unstable(props, ref);
-
- return state;
-};
+export { useRatingBase_unstable as useRating } from '@fluentui/react-rating';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/RatingDisplay/RatingDisplay.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/RatingDisplay/RatingDisplay.types.ts
index b2cbb50342808c..1c011cb28c6047 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/RatingDisplay/RatingDisplay.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/RatingDisplay/RatingDisplay.types.ts
@@ -1,26 +1,6 @@
-import type {
- RatingDisplaySlots as RatingDisplayBaseSlots,
- RatingDisplayBaseProps,
- RatingDisplayBaseState,
- RatingDisplayContextValues as RatingDisplayContextValuesBase,
+export type {
+ RatingDisplaySlots,
+ RatingDisplayBaseProps as RatingDisplayProps,
+ RatingDisplayBaseState as RatingDisplayState,
+ RatingDisplayContextValues,
} from '@fluentui/react-rating';
-
-/**
- * RatingDisplay component slots
- */
-export type RatingDisplaySlots = RatingDisplayBaseSlots;
-
-/**
- * RatingDisplay component props
- */
-export type RatingDisplayProps = RatingDisplayBaseProps;
-
-/**
- * RatingDisplay component state
- */
-export type RatingDisplayState = RatingDisplayBaseState;
-
-/**
- * RatingDisplay component context values
- */
-export type RatingDisplayContextValues = RatingDisplayContextValuesBase;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/SearchBox/Search.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/SearchBox/Search.types.ts
index dc3b908aaebd05..6e1e4805a3d546 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/SearchBox/Search.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/SearchBox/Search.types.ts
@@ -1,18 +1,6 @@
-import type {
- SearchBoxSlots as SearchBoxBaseSlots,
- SearchBoxBaseProps,
- SearchBoxBaseState,
-} from '@fluentui/react-search';
+import type { SearchBoxBaseState } from '@fluentui/react-search';
-/**
- * Search component slots
- */
-export type SearchBoxSlots = SearchBoxBaseSlots;
-
-/**
- * Search component props
- */
-export type SearchBoxProps = SearchBoxBaseProps;
+export type { SearchBoxSlots, SearchBoxBaseProps as SearchBoxProps } from '@fluentui/react-search';
/**
* Search component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Select/Select.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Select/Select.types.ts
index 9aaaa20abb865b..40f2848a286e0e 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Select/Select.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Select/Select.types.ts
@@ -1,11 +1,6 @@
-import type { SelectSlots as SelectBaseSlots, SelectBaseProps, SelectBaseState } from '@fluentui/react-select';
+import type { SelectBaseState } from '@fluentui/react-select';
-export type SelectSlots = SelectBaseSlots;
-
-/**
- * Select Props
- */
-export type SelectProps = SelectBaseProps;
+export type { SelectSlots, SelectBaseProps as SelectProps } from '@fluentui/react-select';
/**
* State used in rendering Select
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/Skeleton.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/Skeleton.types.ts
index df885847b1ba74..eb2442e1a5f0f8 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/Skeleton.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/Skeleton.types.ts
@@ -1,26 +1,6 @@
-import type {
- SkeletonSlots as SkeletonBaseSlots,
- SkeletonBaseProps,
- SkeletonBaseState,
- SkeletonContextValues as SkeletonContextValuesBase,
+export type {
+ SkeletonSlots,
+ SkeletonBaseProps as SkeletonProps,
+ SkeletonBaseState as SkeletonState,
+ SkeletonContextValues,
} from '@fluentui/react-skeleton';
-
-/**
- * Skeleton component slots
- */
-export type SkeletonSlots = SkeletonBaseSlots;
-
-/**
- * Skeleton component props
- */
-export type SkeletonProps = SkeletonBaseProps;
-
-/**
- * Skeleton component state
- */
-export type SkeletonState = SkeletonBaseState;
-
-/**
- * Skeleton component context values
- */
-export type SkeletonContextValues = SkeletonContextValuesBase;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/SkeletonItem/SkeletonItem.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/SkeletonItem/SkeletonItem.types.ts
index cf31015dff6832..cbecbb92b31ecc 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/SkeletonItem/SkeletonItem.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/SkeletonItem/SkeletonItem.types.ts
@@ -1,20 +1,5 @@
-import type {
- SkeletonItemSlots as SkeletonItemBaseSlots,
- SkeletonItemBaseProps,
- SkeletonItemBaseState,
+export type {
+ SkeletonItemSlots,
+ SkeletonItemBaseProps as SkeletonItemProps,
+ SkeletonItemBaseState as SkeletonItemState,
} from '@fluentui/react-skeleton';
-
-/**
- * SkeletonItem component slots
- */
-export type SkeletonItemSlots = SkeletonItemBaseSlots;
-
-/**
- * SkeletonItem component props
- */
-export type SkeletonItemProps = SkeletonItemBaseProps;
-
-/**
- * SkeletonItem component state
- */
-export type SkeletonItemState = SkeletonItemBaseState;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/SkeletonItem/useSkeletonItem.ts b/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/SkeletonItem/useSkeletonItem.ts
index 28822bc8af645f..f3f59a01f4a619 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/SkeletonItem/useSkeletonItem.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/SkeletonItem/useSkeletonItem.ts
@@ -1,16 +1 @@
-'use client';
-
-import type * as React from 'react';
-import { useSkeletonItemBase_unstable } from '@fluentui/react-skeleton';
-
-import type { SkeletonItemProps, SkeletonItemState } from './SkeletonItem.types';
-
-/**
- * Returns the state for a SkeletonItem component, given its props and ref.
- * The returned state can be modified with hooks before being passed to `renderSkeletonItem`.
- */
-export const useSkeletonItem = (props: SkeletonItemProps, ref: React.Ref): SkeletonItemState => {
- const state = useSkeletonItemBase_unstable(props, ref);
-
- return state;
-};
+export { useSkeletonItemBase_unstable as useSkeletonItem } from '@fluentui/react-skeleton';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/useSkeleton.ts b/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/useSkeleton.ts
index 72a12d5396275d..1250681515b084 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/useSkeleton.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Skeleton/useSkeleton.ts
@@ -1,22 +1,14 @@
'use client';
-import type * as React from 'react';
-import {
- useSkeletonBase_unstable,
- useSkeletonContextValues as useSkeletonContextValues_unstable,
-} from '@fluentui/react-skeleton';
+import { useSkeletonContextValues as useSkeletonContextValues_unstable } from '@fluentui/react-skeleton';
-import type { SkeletonProps, SkeletonState, SkeletonContextValues } from './Skeleton.types';
+import type { SkeletonState, SkeletonContextValues } from './Skeleton.types';
/**
* Returns the state for a Skeleton component, given its props and ref.
* The returned state can be modified with hooks before being passed to `renderSkeleton`.
*/
-export const useSkeleton = (props: SkeletonProps, ref: React.Ref): SkeletonState => {
- const state = useSkeletonBase_unstable(props, ref);
-
- return state;
-};
+export { useSkeletonBase_unstable as useSkeleton } from '@fluentui/react-skeleton';
/**
* Returns the context values for a Skeleton component.
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Slider/Slider.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Slider/Slider.types.ts
index eb7b063f2c12ad..a6eadf54b5169e 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Slider/Slider.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Slider/Slider.types.ts
@@ -1,14 +1,6 @@
-import type { SliderSlots as SliderBaseSlots, SliderBaseProps, SliderBaseState } from '@fluentui/react-slider';
+import type { SliderBaseState } from '@fluentui/react-slider';
-/**
- * Slider component slots
- */
-export type SliderSlots = SliderBaseSlots;
-
-/**
- * Slider component props
- */
-export type SliderProps = SliderBaseProps;
+export type { SliderSlots, SliderBaseProps as SliderProps } from '@fluentui/react-slider';
/**
* Slider component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/SpinButton/SpinButton.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/SpinButton/SpinButton.types.ts
index 4dc5ba05483e0a..0e93887b997ee1 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/SpinButton/SpinButton.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/SpinButton/SpinButton.types.ts
@@ -1,18 +1,6 @@
-import type {
- SpinButtonSlots as SpinButtonBaseSlots,
- SpinButtonBaseProps,
- SpinButtonBaseState,
-} from '@fluentui/react-spinbutton';
+import type { SpinButtonBaseState } from '@fluentui/react-spinbutton';
-/**
- * SpinButton component slots
- */
-export type SpinButtonSlots = SpinButtonBaseSlots;
-
-/**
- * SpinButton component props
- */
-export type SpinButtonProps = SpinButtonBaseProps;
+export type { SpinButtonSlots, SpinButtonBaseProps as SpinButtonProps } from '@fluentui/react-spinbutton';
/**
* SpinButton component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Spinner/Spinner.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Spinner/Spinner.types.ts
index fd206d46aa7b17..2cf555d6b26c6a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Spinner/Spinner.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Spinner/Spinner.types.ts
@@ -1,14 +1,6 @@
-import type { SpinnerSlots as SpinnerBaseSlots, SpinnerBaseProps, SpinnerBaseState } from '@fluentui/react-spinner';
+import type { SpinnerBaseState } from '@fluentui/react-spinner';
-/**
- * Spinner component slots
- */
-export type SpinnerSlots = SpinnerBaseSlots;
-
-/**
- * Spinner component props
- */
-export type SpinnerProps = SpinnerBaseProps;
+export type { SpinnerSlots, SpinnerBaseProps as SpinnerProps } from '@fluentui/react-spinner';
/**
* Spinner component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Switch/Switch.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Switch/Switch.types.ts
index 23cb83eee192ce..cf7a597de37204 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Switch/Switch.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Switch/Switch.types.ts
@@ -1,14 +1,6 @@
-import type { SwitchSlots as SwitchBaseSlots, SwitchBaseProps, SwitchBaseState } from '@fluentui/react-switch';
+import type { SwitchBaseState } from '@fluentui/react-switch';
-/**
- * Switch component slots
- */
-export type SwitchSlots = SwitchBaseSlots;
-
-/**
- * Switch component props
- */
-export type SwitchProps = SwitchBaseProps;
+export type { SwitchSlots, SwitchBaseProps as SwitchProps } from '@fluentui/react-switch';
/**
* Switch component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/TabList/Tab/Tab.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/TabList/Tab/Tab.types.ts
index d08d3040ac3dfc..ba1e87eef5df6d 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/TabList/Tab/Tab.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/TabList/Tab/Tab.types.ts
@@ -1,8 +1,6 @@
-export type { TabSlots, TabValue } from '@fluentui/react-tabs';
+export type { TabSlots, TabValue, TabBaseProps as TabProps } from '@fluentui/react-tabs';
-import type { TabBaseProps, TabBaseState } from '@fluentui/react-tabs';
-
-export type TabProps = TabBaseProps;
+import type { TabBaseState } from '@fluentui/react-tabs';
export type TabState = TabBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/TabList/TabList.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/TabList/TabList.types.ts
index bf6201988a2ae6..a0f03103b2b426 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/TabList/TabList.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/TabList/TabList.types.ts
@@ -1,19 +1,6 @@
-import type {
- TabListSlots as TabListBaseSlots,
- TabListBaseProps,
- TabListBaseState,
- TabListContextValues as TabListContextValuesBase,
-} from '@fluentui/react-tabs';
+import type { TabListBaseState } from '@fluentui/react-tabs';
-/**
- * TabList component slots
- */
-export type TabListSlots = TabListBaseSlots;
-
-/**
- * TabList component props
- */
-export type TabListProps = TabListBaseProps;
+export type { TabListSlots, TabListBaseProps as TabListProps, TabListContextValues } from '@fluentui/react-tabs';
/**
* TabList component state
@@ -26,8 +13,3 @@ export type TabListState = TabListBaseState & {
'data-orientation'?: 'vertical' | 'horizontal';
};
};
-
-/**
- * TabList component context values
- */
-export type TabListContextValues = TabListContextValuesBase;
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/TagGroup/TagGroup.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/TagGroup/TagGroup.types.ts
index 240d7397efece1..8d9f91de1db26f 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/TagGroup/TagGroup.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/TagGroup/TagGroup.types.ts
@@ -1,6 +1,6 @@
-import type { TagGroupBaseState, TagGroupContextValue } from '@fluentui/react-tags';
+import type { TagGroupBaseState } from '@fluentui/react-tags';
-export type { TagGroupBaseProps as TagGroupProps, TagGroupSlots } from '@fluentui/react-tags';
+export type { TagGroupBaseProps as TagGroupProps, TagGroupSlots, TagGroupContextValues } from '@fluentui/react-tags';
export type TagGroupState = TagGroupBaseState & {
root: {
@@ -15,7 +15,3 @@ export type TagGroupState = TagGroupBaseState & {
'data-dismissible'?: string;
};
};
-
-export type TagGroupContextValues = {
- tagGroup: TagGroupContextValue;
-};
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/TeachingPopover/TeachingPopoverCarouselNavButton/TeachingPopoverCarouselNavButton.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/TeachingPopover/TeachingPopoverCarouselNavButton/TeachingPopoverCarouselNavButton.types.ts
index c067167061514b..64d46681d4481f 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/TeachingPopover/TeachingPopoverCarouselNavButton/TeachingPopoverCarouselNavButton.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/TeachingPopover/TeachingPopoverCarouselNavButton/TeachingPopoverCarouselNavButton.types.ts
@@ -1,11 +1,9 @@
-import type {
- TeachingPopoverCarouselNavButtonBaseProps,
- TeachingPopoverCarouselNavButtonBaseState,
-} from '@fluentui/react-teaching-popover';
-
-export type { TeachingPopoverCarouselNavButtonSlots } from '@fluentui/react-teaching-popover';
+import type { TeachingPopoverCarouselNavButtonBaseState } from '@fluentui/react-teaching-popover';
-export type TeachingPopoverCarouselNavButtonProps = TeachingPopoverCarouselNavButtonBaseProps;
+export type {
+ TeachingPopoverCarouselNavButtonSlots,
+ TeachingPopoverCarouselNavButtonBaseProps as TeachingPopoverCarouselNavButtonProps,
+} from '@fluentui/react-teaching-popover';
export type TeachingPopoverCarouselNavButtonState = TeachingPopoverCarouselNavButtonBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Textarea/Textarea.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Textarea/Textarea.types.ts
index 9cdd384f2a4d3c..7b4e7ae374df4a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Textarea/Textarea.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Textarea/Textarea.types.ts
@@ -1,18 +1,6 @@
-import type {
- TextareaSlots as TextareaBaseSlots,
- TextareaBaseProps,
- TextareaBaseState,
-} from '@fluentui/react-textarea';
+import type { TextareaBaseState } from '@fluentui/react-textarea';
-/**
- * Textarea component slots
- */
-export type TextareaSlots = TextareaBaseSlots;
-
-/**
- * Textarea component props
- */
-export type TextareaProps = TextareaBaseProps;
+export type { TextareaSlots, TextareaBaseProps as TextareaProps } from '@fluentui/react-textarea';
/**
* Textarea component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/ToggleButton.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/ToggleButton.types.ts
index f1196e7ee04920..601f6fe9bbc41f 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/ToggleButton.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/ToggleButton.types.ts
@@ -1,15 +1,7 @@
-import type { ButtonSlots as ButtonBaseSlots } from '../Button/Button.types';
-import type { ToggleButtonBaseProps, ToggleButtonBaseState } from '@fluentui/react-button';
+import type { ToggleButtonBaseState } from '@fluentui/react-button';
-/**
- * ToggleButton component slots
- */
-export type ToggleButtonSlots = ButtonBaseSlots;
-
-/**
- * ToggleButton component props
- */
-export type ToggleButtonProps = ToggleButtonBaseProps;
+export type { ButtonSlots as ToggleButtonSlots } from '../Button/Button.types';
+export type { ToggleButtonBaseProps as ToggleButtonProps } from '@fluentui/react-button';
/**
* ToggleButton component state
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/renderToggleButton.ts b/packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/renderToggleButton.ts
index 9e3a6051bd1ae8..a5c01e6edf3716 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/renderToggleButton.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/renderToggleButton.ts
@@ -1,6 +1 @@
-import { renderToggleButton_unstable } from '@fluentui/react-button';
-
-/**
- * Renders the final JSX of the ToggleButton component, given the state.
- */
-export const renderToggleButton = renderToggleButton_unstable;
+export { renderToggleButton_unstable as renderToggleButton } from '@fluentui/react-button';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/Toolbar.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/Toolbar.types.ts
index 1ceb56460e794c..5cd8c1f0b170c0 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/Toolbar.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/Toolbar.types.ts
@@ -1,6 +1,6 @@
import type { ToolbarBaseState } from '@fluentui/react-toolbar';
-export type { ToolbarContextValues, ToolbarSlots, ToolbarBaseProps as ToolbarProps } from '@fluentui/react-toolbar';
+export type { ToolbarSlots, ToolbarBaseProps as ToolbarProps, ToolbarContextValues } from '@fluentui/react-toolbar';
export type ToolbarState = ToolbarBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/ToolbarButton.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/ToolbarButton.types.ts
index 29df0fdacaa849..7012eabd02b3f3 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/ToolbarButton.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/ToolbarButton.types.ts
@@ -1,6 +1,6 @@
-import type { ToolbarButtonBaseProps, ToolbarButtonBaseState } from '@fluentui/react-toolbar';
+import type { ToolbarButtonBaseState } from '@fluentui/react-toolbar';
-export type ToolbarButtonProps = ToolbarButtonBaseProps;
+export type { ToolbarButtonBaseProps as ToolbarButtonProps } from '@fluentui/react-toolbar';
export type ToolbarButtonState = ToolbarButtonBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/renderToolbarButton.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/renderToolbarButton.ts
index 39d0379b140c6d..43b9a0609637a8 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/renderToolbarButton.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/renderToolbarButton.ts
@@ -1,6 +1 @@
-import { renderButton_unstable } from '@fluentui/react-button';
-
-/**
- * Renders the final JSX of the ToolbarButton component, given the state.
- */
-export const renderToolbarButton = renderButton_unstable;
+export { renderButton_unstable as renderToolbarButton } from '@fluentui/react-button';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/ToolbarDivider.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/ToolbarDivider.types.ts
index 7b2ef2e547a37d..8a4bcf288685bb 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/ToolbarDivider.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/ToolbarDivider.types.ts
@@ -1,6 +1,6 @@
-import type { ToolbarDividerBaseProps, ToolbarDividerBaseState } from '@fluentui/react-toolbar';
+import type { ToolbarDividerBaseState } from '@fluentui/react-toolbar';
-export type ToolbarDividerProps = ToolbarDividerBaseProps;
+export type { ToolbarDividerBaseProps as ToolbarDividerProps } from '@fluentui/react-toolbar';
export type ToolbarDividerState = ToolbarDividerBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/renderToolbarDivider.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/renderToolbarDivider.ts
index 63672a0ca69d68..af4e39b1ff7ee2 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/renderToolbarDivider.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/renderToolbarDivider.ts
@@ -1,6 +1 @@
-import { renderDivider_unstable } from '@fluentui/react-divider';
-
-/**
- * Renders the final JSX of the ToolbarDivider component, given the state.
- */
-export const renderToolbarDivider = renderDivider_unstable;
+export { renderDivider_unstable as renderToolbarDivider } from '@fluentui/react-divider';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/ToolbarGroup.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/ToolbarGroup.types.ts
index 0f4ac1770ffb64..49d90f42fbca79 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/ToolbarGroup.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/ToolbarGroup.types.ts
@@ -1,9 +1,6 @@
-import type {
- ToolbarGroupProps as ToolbarGroupBaseProps,
- ToolbarGroupState as ToolbarGroupBaseState,
-} from '@fluentui/react-toolbar';
+import type { ToolbarGroupState as ToolbarGroupBaseState } from '@fluentui/react-toolbar';
-export type ToolbarGroupProps = ToolbarGroupBaseProps;
+export type { ToolbarGroupProps } from '@fluentui/react-toolbar';
export type ToolbarGroupState = ToolbarGroupBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/renderToolbarGroup.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/renderToolbarGroup.ts
index 860612164408be..5c5683c1cfac78 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/renderToolbarGroup.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/renderToolbarGroup.ts
@@ -1,6 +1 @@
-import { renderToolbarGroup_unstable } from '@fluentui/react-toolbar';
-
-/**
- * Renders the final JSX of the ToolbarGroup component, given the state.
- */
-export const renderToolbarGroup = renderToolbarGroup_unstable;
+export { renderToolbarGroup_unstable as renderToolbarGroup } from '@fluentui/react-toolbar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/ToolbarRadioButton.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/ToolbarRadioButton.types.ts
index 754ff0f68e2276..a31cbf9b34326a 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/ToolbarRadioButton.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/ToolbarRadioButton.types.ts
@@ -1,6 +1,6 @@
-import type { ToolbarRadioButtonBaseProps, ToolbarRadioButtonBaseState } from '@fluentui/react-toolbar';
+import type { ToolbarRadioButtonBaseState } from '@fluentui/react-toolbar';
-export type ToolbarRadioButtonProps = ToolbarRadioButtonBaseProps;
+export type { ToolbarRadioButtonBaseProps as ToolbarRadioButtonProps } from '@fluentui/react-toolbar';
export type ToolbarRadioButtonState = ToolbarRadioButtonBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/renderToolbarRadioButton.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/renderToolbarRadioButton.ts
index 7903c7e2f18197..b073bb8c0a9f98 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/renderToolbarRadioButton.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/renderToolbarRadioButton.ts
@@ -1,6 +1 @@
-import { renderToggleButton_unstable } from '@fluentui/react-button';
-
-/**
- * Renders the final JSX of the ToolbarRadioButton component, given the state.
- */
-export const renderToolbarRadioButton = renderToggleButton_unstable;
+export { renderToggleButton_unstable as renderToolbarRadioButton } from '@fluentui/react-button';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioGroup/ToolbarRadioGroup.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioGroup/ToolbarRadioGroup.types.ts
index 1622fcdf4fcac0..92d8f3f0fe53bb 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioGroup/ToolbarRadioGroup.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioGroup/ToolbarRadioGroup.types.ts
@@ -1,9 +1,6 @@
-import type {
- ToolbarRadioGroupProps as ToolbarRadioGroupBaseProps,
- ToolbarRadioGroupState as ToolbarRadioGroupBaseState,
-} from '@fluentui/react-toolbar';
+import type { ToolbarRadioGroupState as ToolbarRadioGroupBaseState } from '@fluentui/react-toolbar';
-export type ToolbarRadioGroupProps = ToolbarRadioGroupBaseProps;
+export type { ToolbarRadioGroupProps } from '@fluentui/react-toolbar';
export type ToolbarRadioGroupState = ToolbarRadioGroupBaseState & {
/**
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioGroup/renderToolbarRadioGroup.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioGroup/renderToolbarRadioGroup.ts
index 8f484e270d3d06..a14820c1db5f1b 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioGroup/renderToolbarRadioGroup.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioGroup/renderToolbarRadioGroup.ts
@@ -1,6 +1 @@
-import { renderToolbarGroup_unstable } from '@fluentui/react-toolbar';
-
-/**
- * Renders the final JSX of the ToolbarRadioGroup component, given the state.
- */
-export const renderToolbarRadioGroup = renderToolbarGroup_unstable;
+export { renderToolbarGroup_unstable as renderToolbarRadioGroup } from '@fluentui/react-toolbar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/ToolbarToggleButton.types.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/ToolbarToggleButton.types.ts
index a365af79bf1916..4b49fd9f180fcd 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/ToolbarToggleButton.types.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/ToolbarToggleButton.types.ts
@@ -1,6 +1,6 @@
-import type { ToolbarToggleButtonBaseProps, ToolbarToggleButtonBaseState } from '@fluentui/react-toolbar';
+import type { ToolbarToggleButtonBaseState } from '@fluentui/react-toolbar';
-export type ToolbarToggleButtonProps = ToolbarToggleButtonBaseProps;
+export type { ToolbarToggleButtonBaseProps as ToolbarToggleButtonProps } from '@fluentui/react-toolbar';
export type ToolbarToggleButtonState = ToolbarToggleButtonBaseState & {
root: {
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/renderToolbarToggleButton.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/renderToolbarToggleButton.ts
index 72da03a292c01e..5f81ae57029b2c 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/renderToolbarToggleButton.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/renderToolbarToggleButton.ts
@@ -1,6 +1 @@
-import { renderToggleButton_unstable } from '@fluentui/react-button';
-
-/**
- * Renders the final JSX of the ToolbarToggleButton component, given the state.
- */
-export const renderToolbarToggleButton = renderToggleButton_unstable;
+export { renderToggleButton_unstable as renderToolbarToggleButton } from '@fluentui/react-button';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/renderToolbar.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/renderToolbar.ts
index c40f34f4d39521..3598b8d819eb39 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/renderToolbar.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/renderToolbar.ts
@@ -1,6 +1 @@
-import { renderToolbar_unstable } from '@fluentui/react-toolbar';
-
-/**
- * Renders the final JSX of the Toolbar component, given the state and context values.
- */
-export const renderToolbar = renderToolbar_unstable;
+export { renderToolbar_unstable as renderToolbar } from '@fluentui/react-toolbar';
diff --git a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/useToolbar.ts b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/useToolbar.ts
index 8742154488f929..150ddb6812643d 100644
--- a/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/useToolbar.ts
+++ b/packages/react-components/react-headless-components-preview/library/src/components/Toolbar/useToolbar.ts
@@ -1,11 +1,7 @@
'use client';
import type * as React from 'react';
-import {
- useToolbarBase_unstable,
- useToolbarContext_unstable,
- useToolbarContextValues_unstable,
-} from '@fluentui/react-toolbar';
+import { useToolbarBase_unstable, useToolbarContextValues_unstable } from '@fluentui/react-toolbar';
import type { ToolbarProps, ToolbarState, ToolbarContextValues } from './Toolbar.types';
import { stringifyDataAttribute } from '../../utils';
@@ -28,7 +24,7 @@ export const useToolbar = (props: ToolbarProps, ref: React.Ref): To
/**
* Returns the context of the toolbar, which is used to pass information about the toolbar to its children.
*/
-export const useToolbarContext = useToolbarContext_unstable;
+export { useToolbarContext_unstable as useToolbarContext } from '@fluentui/react-toolbar';
/**
* Maps the state of the toolbar to the values that are passed through context to its children.
diff --git a/packages/react-components/react-icons-compat/library/package.json b/packages/react-components/react-icons-compat/library/package.json
index 9bfc604db4a141..9cd916535e96e1 100644
--- a/packages/react-components/react-icons-compat/library/package.json
+++ b/packages/react-components/react-icons-compat/library/package.json
@@ -27,10 +27,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
- "react": ">=16.8.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
+ "react": ">=16.14.0 <20.0.0",
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-infolabel/library/package.json b/packages/react-components/react-infolabel/library/package.json
index 773d2ece884986..5a389f549170f7 100644
--- a/packages/react-components/react-infolabel/library/package.json
+++ b/packages/react-components/react-infolabel/library/package.json
@@ -24,10 +24,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
"react": ">=16.14.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-list/library/package.json b/packages/react-components/react-list/library/package.json
index ec43c94e96b4d4..0369f32d3ae785 100644
--- a/packages/react-components/react-list/library/package.json
+++ b/packages/react-components/react-list/library/package.json
@@ -31,10 +31,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
"react": ">=16.14.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-message-bar/library/package.json b/packages/react-components/react-message-bar/library/package.json
index 78e16b1057e6f3..df83c422c7af0c 100644
--- a/packages/react-components/react-message-bar/library/package.json
+++ b/packages/react-components/react-message-bar/library/package.json
@@ -25,10 +25,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
"react": ">=16.14.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-migration-v8-v9/library/package.json b/packages/react-components/react-migration-v8-v9/library/package.json
index 573120226b45e3..073c6044547867 100644
--- a/packages/react-components/react-migration-v8-v9/library/package.json
+++ b/packages/react-components/react-migration-v8-v9/library/package.json
@@ -24,7 +24,7 @@
"peerDependencies": {
"@types/react": ">=16.14.0 <20.0.0",
"@types/react-dom": ">=16.9.0 <20.0.0",
- "react": ">=16.8.0 <20.0.0",
+ "react": ">=16.14.0 <20.0.0",
"react-dom": ">=16.14.0 <20.0.0"
},
"beachball": {
diff --git a/packages/react-components/react-motion/library/package.json b/packages/react-components/react-motion/library/package.json
index 547d593d481ea0..c6b7f9323936c2 100644
--- a/packages/react-components/react-motion/library/package.json
+++ b/packages/react-components/react-motion/library/package.json
@@ -24,10 +24,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
"react": ">=16.14.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-rating/library/package.json b/packages/react-components/react-rating/library/package.json
index 38cc3056ee8cd2..f4eda5db7a7f73 100644
--- a/packages/react-components/react-rating/library/package.json
+++ b/packages/react-components/react-rating/library/package.json
@@ -22,10 +22,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
"react": ">=16.14.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-swatch-picker/library/package.json b/packages/react-components/react-swatch-picker/library/package.json
index 8a525e4436c14a..e935e0dc52bd22 100644
--- a/packages/react-components/react-swatch-picker/library/package.json
+++ b/packages/react-components/react-swatch-picker/library/package.json
@@ -24,10 +24,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
"react": ">=16.14.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.test.tsx b/packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.test.tsx
index f63ac309d6b9b6..421ea64cb1f156 100644
--- a/packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.test.tsx
+++ b/packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.test.tsx
@@ -1,5 +1,6 @@
import { renderHook, act } from '@testing-library/react-hooks';
import { ArrowLeft, Backspace, Enter, Space } from '@fluentui/keyboard-keys';
+import { Field } from '@fluentui/react-field';
import * as React from 'react';
import { TagPickerContextProvider } from '../../contexts/TagPickerContext';
@@ -59,6 +60,25 @@ describe('useTagPickerInput_unstable', () => {
expect(result.current.disabled).toBe(true);
});
+ // TagPicker sizes are `medium | large | extra-large`, which is not the Field size scale.
+ it('ignores the size of a surrounding Field', () => {
+ const ref = React.createRef();
+ const PickerContext = wrap({ size: 'large' });
+ const wrapper: React.FC<{ children?: React.ReactNode }> = ({ children }) => (
+
+ {children}
+
+ );
+
+ const { result } = renderHook(() => useTagPickerInput_unstable({}, ref), { wrapper });
+
+ // sanity check that the Field context is actually applied
+ expect(result.current.root.id).toBeTruthy();
+
+ expect(result.current.size).toBe('large');
+ expect(result.current.root.size).toBeUndefined();
+ });
+
it('binds aria-controls to popoverId only when open and a popover exists', () => {
const ref = React.createRef();
const closed = renderHook(() => useTagPickerInput_unstable({}, ref), {
diff --git a/packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.tsx b/packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.tsx
index 31a9c45a762a6b..09231a3d3e0c81 100644
--- a/packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.tsx
+++ b/packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.tsx
@@ -35,10 +35,11 @@ export const useTagPickerInputBase_unstable = (
props: TagPickerInputBaseProps,
ref: React.Ref,
): TagPickerInputBaseState => {
+ // NOTE: `supportsSize` is intentionally not used here. `TagPickerInput` has no `size` prop, its size comes from
+ // `TagPickerContext` and uses a different scale (`'medium' | 'large' | 'extra-large'`) than `Field` size.
const fieldProps = useFieldControlProps_unstable(props, {
supportsLabelFor: true,
supportsRequired: true,
- supportsSize: true,
});
const { controller: activeDescendantController } = useActiveDescendantContext();
const contextDisabled = useTagPickerContext_unstable(ctx => ctx.disabled);
diff --git a/packages/react-components/react-teaching-popover/library/package.json b/packages/react-components/react-teaching-popover/library/package.json
index 7e229c118499f2..5cf7d3dcef2027 100644
--- a/packages/react-components/react-teaching-popover/library/package.json
+++ b/packages/react-components/react-teaching-popover/library/package.json
@@ -34,10 +34,10 @@
"use-sync-external-store": "^1.2.0"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
"react": ">=16.14.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-components/react-timepicker-compat/library/package.json b/packages/react-components/react-timepicker-compat/library/package.json
index b1e2772e44457a..1bd7e1b300bc53 100644
--- a/packages/react-components/react-timepicker-compat/library/package.json
+++ b/packages/react-components/react-timepicker-compat/library/package.json
@@ -30,10 +30,10 @@
"@swc/helpers": "^0.5.1"
},
"peerDependencies": {
- "@types/react": ">=16.8.0 <20.0.0",
- "@types/react-dom": ">=16.8.0 <20.0.0",
- "react": ">=16.8.0 <20.0.0",
- "react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
+ "react": ">=16.14.0 <20.0.0",
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/packages/react-docsite-components/src/components/Markdown/Markdown.test.tsx b/packages/react-docsite-components/src/components/Markdown/Markdown.test.tsx
new file mode 100644
index 00000000000000..4799016c4b8562
--- /dev/null
+++ b/packages/react-docsite-components/src/components/Markdown/Markdown.test.tsx
@@ -0,0 +1,53 @@
+import * as React from 'react';
+import { render } from '@testing-library/react';
+import { Markdown } from './Markdown';
+
+// CodeSnippet pulls in react-syntax-highlighter's untranspiled ESM build, which jest can't parse.
+jest.mock('../CodeSnippet/index', () => {
+ const mockCodeSnippet: React.FunctionComponent> = props => {props.children};
+ return { CodeSnippet: mockCodeSnippet };
+});
+
+// Same problem via react-monaco-editor, reached through this barrel.
+jest.mock('../../utilities/index2', () => ({
+ removeAnchorLink: (url: string) => url.split('#')[0],
+}));
+
+const renderHtmlMarkdown = ['```renderhtml', 'raw
', '```'].join('\n');
+
+describe('Markdown renderhtml code blocks', () => {
+ let warn: jest.SpyInstance;
+
+ beforeEach(() => {
+ warn = jest.spyOn(console, 'warn').mockImplementation(() => undefined);
+ });
+
+ afterEach(() => {
+ warn.mockRestore();
+ });
+
+ it('does not render raw HTML by default', () => {
+ const { container } = render({renderHtmlMarkdown});
+
+ expect(container.querySelector('.injected')).toBeNull();
+ expect(container.textContent).toContain('raw
');
+ });
+
+ it('does not render raw HTML when enableRenderHtmlBlock is explicitly false', () => {
+ const { container } = render({renderHtmlMarkdown});
+
+ expect(container.querySelector('.injected')).toBeNull();
+ });
+
+ it('renders raw HTML only when enableRenderHtmlBlock is opted into', () => {
+ const { container } = render({renderHtmlMarkdown});
+
+ expect(container.querySelector('.injected')).not.toBeNull();
+ });
+
+ it('warns when enableRenderHtmlBlock is opted into', () => {
+ render({renderHtmlMarkdown});
+
+ expect(warn).toHaveBeenCalledWith(expect.stringContaining('enableRenderHtmlBlock'));
+ });
+});
diff --git a/packages/react-docsite-components/src/components/Markdown/Markdown.types.ts b/packages/react-docsite-components/src/components/Markdown/Markdown.types.ts
index 7459914ffa0f07..eb496bb15e28cc 100644
--- a/packages/react-docsite-components/src/components/Markdown/Markdown.types.ts
+++ b/packages/react-docsite-components/src/components/Markdown/Markdown.types.ts
@@ -12,6 +12,16 @@ export interface IMarkdownProps {
/**
* If true, using a code block with language name `renderhtml` will render the contents as HTML.
* This is to work around markdown-to-jsx's limited support for nested HTML elements.
+ *
+ * @deprecated **UNSAFE.** The contents of a `renderhtml` block are injected verbatim via
+ * `dangerouslySetInnerHTML` with no sanitization, so they can execute arbitrary script in the
+ * origin of the hosting application.
+ *
+ * Only enable this for markdown that is fully authored and reviewed by the application's own
+ * developers, such as documentation files bundled at build time. **Never** enable it for markdown
+ * that any user, tenant, contributor or remote service can influence, and never for markdown
+ * loaded at runtime. If you need to render untrusted markdown, leave this off (the default) or
+ * sanitize the HTML yourself before it reaches this component.
*/
enableRenderHtmlBlock?: boolean;
diff --git a/packages/react-docsite-components/src/components/Markdown/MarkdownPre.tsx b/packages/react-docsite-components/src/components/Markdown/MarkdownPre.tsx
index 670a847372af10..1f8e140dc44814 100644
--- a/packages/react-docsite-components/src/components/Markdown/MarkdownPre.tsx
+++ b/packages/react-docsite-components/src/components/Markdown/MarkdownPre.tsx
@@ -4,6 +4,16 @@ export interface IMarkdownPreProps extends React.HTMLAttributes
/**
* If true, using a code block with language name `renderhtml` will render the contents as HTML.
* This is to work around markdown-to-jsx's limited support for nested HTML elements.
+ *
+ * @deprecated **UNSAFE.** The contents of a `renderhtml` block are injected verbatim via
+ * `dangerouslySetInnerHTML` with no sanitization, so they can execute arbitrary script in the
+ * origin of the hosting application.
+ *
+ * Only enable this for markdown that is fully authored and reviewed by the application's own
+ * developers, such as documentation files bundled at build time. **Never** enable it for markdown
+ * that any user, tenant, contributor or remote service can influence, and never for markdown
+ * loaded at runtime. If you need to render untrusted markdown, leave this off (the default) or
+ * sanitize the HTML yourself before it reaches this component.
*/
enableRenderHtmlBlock?: boolean;
}
@@ -22,9 +32,18 @@ export const MarkdownPre: React.FunctionComponent = props =>
enableRenderHtmlBlock &&
typeof childrenDisplayName === 'string' &&
childrenDisplayName.indexOf('MarkdownCode') !== -1 &&
- childrenProps.className === 'lang-renderhtml' &&
+ childrenProps?.className === 'lang-renderhtml' &&
typeof childrenProps?.children === 'string'
) {
+ if (process.env.NODE_ENV !== 'production') {
+ // eslint-disable-next-line no-console
+ console.warn(
+ 'Markdown: a `renderhtml` code block was rendered as raw, unsanitized HTML because ' +
+ '`enableRenderHtmlBlock` is enabled. This executes any script in the block. Only use this ' +
+ 'with markdown authored and reviewed by your own developers, never with content that a ' +
+ 'user or remote service can influence.',
+ );
+ }
// eslint-disable-next-line react/no-danger
return ;
}
diff --git a/packages/react/src/components/DocumentCard/DocumentCard.base.tsx b/packages/react/src/components/DocumentCard/DocumentCard.base.tsx
index be91c78fe5799d..99e5e937393811 100644
--- a/packages/react/src/components/DocumentCard/DocumentCard.base.tsx
+++ b/packages/react/src/components/DocumentCard/DocumentCard.base.tsx
@@ -4,6 +4,7 @@ import {
KeyCodes,
getNativeProps,
divProperties,
+ warn,
warnDeprecations,
initializeComponentRef,
} from '../../Utilities';
@@ -18,6 +19,7 @@ import type {
} from './DocumentCard.types';
import { WindowContext } from '@fluentui/react-window-provider';
import { getWindowEx } from '../../utilities/dom';
+import { isScriptUrl } from '../../utilities/isScriptUrl';
import type { JSXElement } from '@fluentui/utilities';
@@ -121,6 +123,14 @@ export class DocumentCardBase extends React.Component i
if (onClick) {
onClick(ev);
} else if (!onClick && onClickHref) {
+ if (process.env.NODE_ENV !== 'production' && isScriptUrl(onClickHref)) {
+ warn(
+ `${COMPONENT_NAME}: 'onClickHref' was given a script URL ('${onClickHref}'), which executes code in your ` +
+ `app's origin when the card is activated. If this value can originate from user input or any other ` +
+ `untrusted source, validate its protocol before passing it to 'onClickHref'.`,
+ );
+ }
+
// If no onClick Function was provided and we do have an onClickHref, redirect to the onClickHref
if (onClickTarget) {
win.open(onClickHref, onClickTarget, 'noreferrer noopener nofollow');
diff --git a/packages/react/src/components/DocumentCard/DocumentCard.test.tsx b/packages/react/src/components/DocumentCard/DocumentCard.test.tsx
index 5452d884c16139..669a68b1912a40 100644
--- a/packages/react/src/components/DocumentCard/DocumentCard.test.tsx
+++ b/packages/react/src/components/DocumentCard/DocumentCard.test.tsx
@@ -1,10 +1,14 @@
+/* eslint-disable no-script-url */
import * as React from 'react';
-import { render } from '@testing-library/react';
+import { fireEvent, render } from '@testing-library/react';
+import { WindowProvider } from '@fluentui/react-window-provider';
+import { setWarningCallback } from '../../Utilities';
import { DocumentCard } from './DocumentCard';
import { DocumentCardTitle } from './DocumentCardTitle';
import { DocumentCardPreview } from './DocumentCardPreview';
import { DocumentCardActivity } from './DocumentCardActivity';
+import type { IDocumentCardProps } from './DocumentCard.types';
describe('DocumentCard', () => {
it('renders DocumentCard correctly', () => {
@@ -17,4 +21,79 @@ describe('DocumentCard', () => {
);
expect(container.firstChild).toMatchSnapshot();
});
+
+ describe('onClickHref', () => {
+ let warnings: string[];
+ let mockWindow: { open: jest.Mock; location: { href: string } };
+
+ const clickCard = (props: IDocumentCardProps) => {
+ const { getByRole } = render(
+
+
+
+
+ ,
+ );
+
+ fireEvent.click(getByRole('group'));
+ };
+
+ beforeEach(() => {
+ warnings = [];
+ setWarningCallback(message => warnings.push(message));
+ mockWindow = { open: jest.fn(), location: { href: 'https://contoso.example/home' } };
+ });
+
+ afterEach(() => {
+ setWarningCallback(undefined);
+ });
+
+ it.each([
+ 'https://contoso.example/doc.docx',
+ '/relative/doc.docx',
+ '#section',
+ '?page=2',
+ 'mailto:someone@contoso.example',
+ 'tel:+1234567890',
+ 'ms-word:ofe|u|https://contoso.example/doc.docx',
+ 'msteams:/l/chat',
+ ])('navigates to %s without warning', href => {
+ clickCard({ onClickHref: href });
+
+ expect(mockWindow.location.href).toBe(href);
+ expect(warnings).toHaveLength(0);
+ });
+
+ it.each([
+ 'javascript:alert(1)',
+ ' javascript:alert(1)',
+ 'java\nscript:alert(1)',
+ '\0javascript:alert(1)',
+ 'JaVaScRiPt:alert(1)',
+ 'vbscript:msgbox(1)',
+ ])('warns about the script URL %j but still navigates', href => {
+ clickCard({ onClickHref: href });
+
+ expect(mockWindow.location.href).toBe(href);
+ expect(warnings).toHaveLength(1);
+ expect(warnings[0]).toMatch(/script URL/);
+ });
+
+ it('warns about script URLs opened in another browser context', () => {
+ clickCard({ onClickHref: 'javascript:alert(1)', onClickTarget: '_blank' });
+
+ expect(mockWindow.open).toHaveBeenCalledWith('javascript:alert(1)', '_blank', 'noreferrer noopener nofollow');
+ expect(warnings).toHaveLength(1);
+ });
+
+ it('does not navigate or warn when onClick takes precedence', () => {
+ const onClick = jest.fn();
+ clickCard({ onClick, onClickHref: 'javascript:alert(1)' });
+
+ expect(onClick).toHaveBeenCalledTimes(1);
+ expect(mockWindow.open).not.toHaveBeenCalled();
+ expect(mockWindow.location.href).toBe('https://contoso.example/home');
+ expect(warnings).toHaveLength(0);
+ });
+ });
});
diff --git a/packages/react/src/components/DocumentCard/DocumentCard.types.ts b/packages/react/src/components/DocumentCard/DocumentCard.types.ts
index 700b6c8e544093..6b88126a0b0c86 100644
--- a/packages/react/src/components/DocumentCard/DocumentCard.types.ts
+++ b/packages/react/src/components/DocumentCard/DocumentCard.types.ts
@@ -36,6 +36,10 @@ export interface IDocumentCardProps extends IBaseProps, React.HTM
/**
* A URL to navigate to when the card is clicked. If a function has also been provided,
* it will be used instead of the URL.
+ *
+ * The URL is navigated to as-is, exactly like the `href` of an anchor, so script URLs such as
+ * `javascript:` execute in your app's origin. Never pass untrusted or user supplied values here
+ * without validating their protocol first.
*/
onClickHref?: string;
diff --git a/packages/react/src/utilities/isScriptUrl.ts b/packages/react/src/utilities/isScriptUrl.ts
new file mode 100644
index 00000000000000..6723073bff4b2a
--- /dev/null
+++ b/packages/react/src/utilities/isScriptUrl.ts
@@ -0,0 +1,19 @@
+// eslint-disable-next-line no-script-url
+const scriptProtocols = new Set(['javascript:', 'vbscript:']);
+
+/**
+ * Checks whether navigating to a URL would execute script in the current origin.
+ *
+ * Parsing is delegated to the platform `URL` parser so the result always matches what the browser
+ * would do, including its normalization of leading control characters and embedded tabs/newlines.
+ *
+ * @internal
+ */
+export function isScriptUrl(href: string): boolean {
+ try {
+ return scriptProtocols.has(new URL(href).protocol.toLowerCase());
+ } catch {
+ // Anything unparsable as an absolute URL is navigated as a relative path and can't execute script.
+ return false;
+ }
+}
diff --git a/scripts/executors/package.json b/scripts/executors/package.json
index f9aa3d95f4a76f..6ab0f14ff0d168 100644
--- a/scripts/executors/package.json
+++ b/scripts/executors/package.json
@@ -5,7 +5,6 @@
"main": "index.js",
"dependencies": {
"@fluentui/scripts-monorepo": "*",
- "@fluentui/scripts-prettier": "*",
"@fluentui/scripts-utils": "*"
}
}
diff --git a/scripts/executors/src/format.js b/scripts/executors/src/format.js
deleted file mode 100644
index 3f2199bbbdf3a7..00000000000000
--- a/scripts/executors/src/format.js
+++ /dev/null
@@ -1,108 +0,0 @@
-// This script is not meant as a general-purpose replacement for prettier.
-// It only handles certain cases that prettier doesn't support as well/at all natively.
-
-const { execSync } = require('child_process');
-
-const { findGitRoot } = require('@fluentui/scripts-monorepo');
-const { runPrettier, runPrettierForFolder } = require('@fluentui/scripts-prettier');
-
-const parsedArgs = parseArgs();
-const root = findGitRoot();
-
-function main() {
- const { all: runOnAllFiles, check: checkMode } = parsedArgs;
-
- console.log(
- `format: running prettier on ${runOnAllFiles ? 'all' : 'changed'} files, in ${checkMode ? 'check' : 'write'} mode`,
- );
-
- const pass = runOnAllFiles ? runOnAll() : runOnChanged();
- if (!pass) {
- process.exit(1);
- }
-}
-
-function parseArgs() {
- // Use yargs config to enforce that script must be run with exactly one of `--all` or
- // `--since [target]` (--check is accepted with either one).
- return require('yargs')
- .usage('Usage: format [options]\n\nRuns prettier on all files or since a certain commit (using parallel processes)')
- .example('format --since HEAD~3', 'Run `prettier --write` only on changed files since HEAD~3')
- .example('format --all', 'Run `prettier --write` on all files')
- .options({
- since: {
- description: 'Run prettier on files since commit',
- type: 'string',
- },
- all: {
- description: 'Run prettier on all files',
- // eslint-disable-next-line @typescript-eslint/naming-convention
- boolean: true,
- },
- check: {
- description: 'Run prettier in check mode (useful for CI). Runs in write mode if not specified.',
- // eslint-disable-next-line @typescript-eslint/naming-convention
- boolean: true,
- },
- })
- .alias('h', 'help')
- .version(false)
- .conflicts('since', 'all')
- .strict()
- .check(argv => {
- if (argv._.length) {
- throw new Error('To format individual files, run `yarn prettier` directly');
- }
- if (!argv.all && !argv.since) {
- throw new Error(
- 'Must specify `--all` or `--since [target]` (for other use cases, run `yarn prettier` directly)',
- );
- }
- return true;
- }).argv;
-}
-
-function runOnAll() {
- return runPrettierForFolder(root, { check: parsedArgs.check });
-}
-
-function runOnChanged() {
- const passedDiffTarget = parsedArgs.since;
-
- const cmd = `git --no-pager diff ${passedDiffTarget} --diff-filter=AM --name-only --stat-name-width=0`;
-
- const gitDiffOutput = execSync(cmd, { cwd: root });
- const files = gitDiffOutput.toString('utf8').trim().split('\n');
-
- if (files.length === 0) {
- console.log(`format: Nothing to format!\n`);
-
- return true;
- }
-
- // Chunkify the files array to prevent crashing the windows terminal
- const chunkList = chunkify(files, 50);
-
- console.log(`format: Processing ${files.length} files`);
-
- const pass = chunkList.reduce((_pass, chunk) => runPrettier(chunk, { check: parsedArgs.check }) && _pass, true);
- return pass;
-}
-
-/**
- *
- * @param {string[]} target
- * @param {number} size
- * @returns {string[][]}
- */
-function chunkify(target, size) {
- return target.reduce((current, value, index) => {
- if (index % size === 0) {
- current.push([]);
- }
- current[current.length - 1].push(value);
- return current;
- }, /** @type {string[][]}*/ ([]));
-}
-
-main();
diff --git a/scripts/prettier/src/prettier-helpers.js b/scripts/prettier/src/prettier-helpers.js
index 861b57e15fbdd6..c42e0ceeb1309e 100644
--- a/scripts/prettier/src/prettier-helpers.js
+++ b/scripts/prettier/src/prettier-helpers.js
@@ -1,4 +1,4 @@
-const { execSync } = require('child_process');
+const { execFileSync } = require('child_process');
const fs = require('fs');
const path = require('path');
@@ -51,11 +51,7 @@ function runPrettier(files, config = {}) {
const ext = path.extname(file).replace('.', '');
if (prettierSupportedFileExtensions.includes(ext)) {
- // WHY IGNORE IS NEEDED?: prettier removes one of the '\' within replaceValue
- // prettier-ignore
- const escapedFileName = `"${file.replace(/\$/g, '\\\$')}"`;
-
- acc.push(escapedFileName);
+ acc.push(file);
}
return acc;
}, /** @type {string[]} */ ([]));
@@ -68,20 +64,20 @@ function runPrettier(files, config = {}) {
// As of writing, Prettier's Node API (https://prettier.io/docs/en/api.html) only supports running
// on a single file. So to easily format multiple files, we have to use the CLI.
- const cmd = [
- 'node',
+ // NOTE: arguments are passed as an argv array (no shell), so file names are never interpreted by a shell.
+ const args = [
prettierBin,
'--config',
prettierRulesConfig,
'--ignore-path',
- `"${prettierIgnorePath}"`,
+ prettierIgnorePath,
...(logErrorsOnly ? ['--loglevel', 'warn'] : []),
check ? '--check' : '--write',
...prettierSupportedFiles,
- ].join(' ');
+ ];
try {
- execSync(cmd, { stdio: 'inherit' });
+ execFileSync(process.execPath, args, { stdio: 'inherit' });
return true;
} catch {
return false;
@@ -104,7 +100,7 @@ function runPrettierForFolder(folderPath, config = {}) {
}
const fileExtensions = `.{${prettierSupportedFileExtensions.join(',')}}`;
- const sourcePath = `"${path.join(folderPath, nonRecursive ? '' : '**', '*')}${fileExtensions}"`;
+ const sourcePath = `${path.join(folderPath, nonRecursive ? '' : '**', '*')}${fileExtensions}`;
console.log(`Running prettier for ${sourcePath}`);
diff --git a/tools/workspace-plugin/src/generators/react-library/files/package.json__tmpl__ b/tools/workspace-plugin/src/generators/react-library/files/package.json__tmpl__
index 9bd237dc83b1cc..c9cbe18d3f40e0 100644
--- a/tools/workspace-plugin/src/generators/react-library/files/package.json__tmpl__
+++ b/tools/workspace-plugin/src/generators/react-library/files/package.json__tmpl__
@@ -29,10 +29,10 @@
"@swc/helpers": ""
},
"peerDependencies": {
- "@types/react": ">=16.14.0 <19.0.0",
- "@types/react-dom": ">=16.9.0 <19.0.0",
- "react": ">=16.14.0 <19.0.0",
- "react-dom": ">=16.14.0 <19.0.0"
+ "@types/react": ">=16.14.0 <20.0.0",
+ "@types/react-dom": ">=16.9.0 <20.0.0",
+ "react": ">=16.14.0 <20.0.0",
+ "react-dom": ">=16.14.0 <20.0.0"
},
"exports": {
".": {
diff --git a/yarn.lock b/yarn.lock
index 0146483501043f..d6f2b004f9975c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3559,10 +3559,10 @@ __metadata:
"@griffel/react": "npm:^1.5.32"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
- react: ">=16.8.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
+ react: ">=16.14.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -4063,7 +4063,7 @@ __metadata:
peerDependencies:
"@types/react": ">=16.14.0 <20.0.0"
"@types/react-dom": ">=16.9.0 <20.0.0"
- react: ">=16.8.0 <20.0.0"
+ react: ">=16.14.0 <20.0.0"
react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -4424,10 +4424,10 @@ __metadata:
"@griffel/react": "npm:^1.5.32"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
- react: ">=16.8.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
+ react: ">=16.14.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -4554,10 +4554,10 @@ __metadata:
"@griffel/react": "npm:^1.5.32"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
react: ">=16.14.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -4681,10 +4681,10 @@ __metadata:
"@griffel/react": "npm:^1.5.32"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
react: ">=16.14.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -4772,10 +4772,10 @@ __metadata:
"@griffel/react": "npm:^1.5.32"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
react: ">=16.14.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -4830,7 +4830,7 @@ __metadata:
peerDependencies:
"@types/react": ">=16.14.0 <20.0.0"
"@types/react-dom": ">=16.9.0 <20.0.0"
- react: ">=16.8.0 <20.0.0"
+ react: ">=16.14.0 <20.0.0"
react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -4899,10 +4899,10 @@ __metadata:
"@fluentui/react-utilities": "npm:^9.26.6"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
react: ">=16.14.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -5277,10 +5277,10 @@ __metadata:
"@griffel/react": "npm:^1.5.32"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
react: ">=16.14.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -5524,10 +5524,10 @@ __metadata:
"@griffel/react": "npm:^1.5.32"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
react: ">=16.14.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -5724,10 +5724,10 @@ __metadata:
"@swc/helpers": "npm:^0.5.1"
use-sync-external-store: "npm:^1.2.0"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
react: ">=16.14.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -5823,10 +5823,10 @@ __metadata:
"@griffel/react": "npm:^1.5.32"
"@swc/helpers": "npm:^0.5.1"
peerDependencies:
- "@types/react": ">=16.8.0 <20.0.0"
- "@types/react-dom": ">=16.8.0 <20.0.0"
- react: ">=16.8.0 <20.0.0"
- react-dom: ">=16.8.0 <20.0.0"
+ "@types/react": ">=16.14.0 <20.0.0"
+ "@types/react-dom": ">=16.9.0 <20.0.0"
+ react: ">=16.14.0 <20.0.0"
+ react-dom: ">=16.14.0 <20.0.0"
languageName: unknown
linkType: soft
@@ -6108,7 +6108,6 @@ __metadata:
resolution: "@fluentui/scripts-executors@workspace:scripts/executors"
dependencies:
"@fluentui/scripts-monorepo": "npm:*"
- "@fluentui/scripts-prettier": "npm:*"
"@fluentui/scripts-utils": "npm:*"
languageName: unknown
linkType: soft