Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions packages/@react-spectrum/s2/src/ActionMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ export const ActionMenuContext =
/**
* ActionMenu combines an ActionButton with a Menu for simple "more actions" use cases.
*/
export const ActionMenu = /*#__PURE__*/ (forwardRef as forwardRefType)(function ActionMenu<
T extends object
>(props: ActionMenuProps<T>, ref: FocusableRef<HTMLButtonElement>) {
export const ActionMenu = /*#__PURE__*/ (forwardRef as forwardRefType)(function ActionMenu<T>(
props: ActionMenuProps<T>,
ref: FocusableRef<HTMLButtonElement>
) {
let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
[props, ref] = useSpectrumContextProps(props, ref, ActionMenuContext);
let buttonProps = filterDOMProps(props, {labelable: true});
Expand Down
7 changes: 4 additions & 3 deletions packages/@react-spectrum/s2/src/Breadcrumbs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,10 @@ const wrapper = style<BreadcrumbsStyleProps>(
const InternalBreadcrumbsContext = createContext<Partial<BreadcrumbsProps<any>>>({});

/** Breadcrumbs show hierarchy and navigational context for a user's location within an application. */
export const Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(function Breadcrumbs<
T extends object
>(props: BreadcrumbsProps<T>, ref: DOMRef<HTMLOListElement>) {
export const Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(function Breadcrumbs<T>(
props: BreadcrumbsProps<T>,
ref: DOMRef<HTMLOListElement>
) {
[props, ref] = useSpectrumContextProps(props, ref, BreadcrumbsContext);
let domRef = useDOMRef(ref);
let {
Expand Down
7 changes: 4 additions & 3 deletions packages/@react-spectrum/s2/src/CardView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -234,9 +234,10 @@ export const CardViewContext =
/**
* A CardView displays a group of related objects, with support for selection and bulk actions.
*/
export const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<
T extends object
>(props: CardViewProps<T>, ref: DOMRef<HTMLDivElement>) {
export const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<T>(
props: CardViewProps<T>,
ref: DOMRef<HTMLDivElement>
) {
[props, ref] = useSpectrumContextProps(props, ref, CardViewContext);
let {
children,
Expand Down
13 changes: 7 additions & 6 deletions packages/@react-spectrum/s2/src/ComboBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export interface ComboboxStyleProps {
*/
size?: 'S' | 'M' | 'L' | 'XL';
}
export interface ComboBoxProps<T extends object>
export interface ComboBoxProps<T>
extends
Omit<
AriaComboBoxProps<T>,
Expand Down Expand Up @@ -379,9 +379,10 @@ let InternalComboboxContext = createContext<{size: 'S' | 'M' | 'L' | 'XL'}>({siz
/**
* ComboBox allow users to choose a single option from a collapsible list of options when space is limited.
*/
export const ComboBox = /*#__PURE__*/ (forwardRef as forwardRefType)(function ComboBox<
T extends object
>(props: ComboBoxProps<T>, ref: Ref<TextFieldRef>) {
export const ComboBox = /*#__PURE__*/ (forwardRef as forwardRefType)(function ComboBox<T>(
props: ComboBoxProps<T>,
ref: Ref<TextFieldRef>
) {
[props, ref] = useSpectrumContextProps(props, ref, ComboBoxContext);

let formContext = useContext(FormContext);
Expand Down Expand Up @@ -521,11 +522,11 @@ export function ComboBoxItem(props: ComboBoxItemProps): ReactNode {
);
}

export interface ComboBoxSectionProps<T extends object> extends Omit<
export interface ComboBoxSectionProps<T> extends Omit<
ListBoxSectionProps<T>,
'style' | 'className' | 'render' | keyof GlobalDOMAttributes
> {}
export function ComboBoxSection<T extends object>(props: ComboBoxSectionProps<T>): ReactNode {
export function ComboBoxSection<T>(props: ComboBoxSectionProps<T>): ReactNode {
let {size} = useContext(InternalComboboxContext);
return (
<>
Expand Down
2 changes: 1 addition & 1 deletion packages/@react-spectrum/s2/src/ListBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
} from 'react-aria-components/ListBox';
import {ReactNode} from 'react';

export function ListBox<T extends object>({children, ...props}: ListBoxProps<T>): ReactNode {
export function ListBox<T>({children, ...props}: ListBoxProps<T>): ReactNode {
return <AriaListBox {...props}>{children}</AriaListBox>;
}

Expand Down
7 changes: 4 additions & 3 deletions packages/@react-spectrum/s2/src/ListView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -208,9 +208,10 @@ const listView = style<GridListRenderProps & {isQuiet?: boolean}>({
/**
* A ListView displays a list of interactive items, and allows a user to navigate, select, or perform an action.
*/
export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function ListView<
T extends object
>(props: ListViewProps<T>, ref: DOMRef<HTMLDivElement>) {
export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function ListView<T>(
props: ListViewProps<T>,
ref: DOMRef<HTMLDivElement>
) {
[props, ref] = useSpectrumContextProps(props, ref, ListViewContext);
let {
children,
Expand Down
10 changes: 5 additions & 5 deletions packages/@react-spectrum/s2/src/Menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ let wrappingDiv = style({
/**
* Menus display a list of actions or options that a user can choose.
*/
export const Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(function Menu<T extends object>(
export const Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(function Menu<T>(
props: MenuProps<T>,
ref: DOMRef<HTMLDivElement>
) {
Expand Down Expand Up @@ -509,12 +509,12 @@ export function Divider(props: SeparatorProps): ReactNode {
);
}

export interface MenuSectionProps<T extends object> extends Omit<
export interface MenuSectionProps<T> extends Omit<
AriaMenuSectionProps<T>,
'style' | 'className' | 'render' | keyof GlobalDOMAttributes
> {}

export function MenuSection<T extends object>(props: MenuSectionProps<T>): ReactNode {
export function MenuSection<T>(props: MenuSectionProps<T>): ReactNode {
// remember, context doesn't work if it's around Section nor inside
let {size} = useContext(InternalMenuContext);
return (
Expand Down Expand Up @@ -823,8 +823,8 @@ function UnavailableMenuItemTrigger(props: UnavailableMenuItemTriggerProps): JSX
export {MenuTrigger, SubmenuTrigger, UnavailableMenuItemTrigger};

// This is purely so that storybook generates the types for both Menu and MenuTrigger
interface ICombined<T extends object> extends MenuProps<T>, Omit<MenuTriggerProps, 'children'> {}
interface ICombined<T> extends MenuProps<T>, Omit<MenuTriggerProps, 'children'> {}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function CombinedMenu<T extends object>(props: ICombined<T>): ReactNode {
export function CombinedMenu<T>(props: ICombined<T>): ReactNode {
return <div />;
}
12 changes: 6 additions & 6 deletions packages/@react-spectrum/s2/src/Picker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ export interface PickerStyleProps {
}

type SelectionMode = 'single' | 'multiple';
export interface PickerProps<T extends object, M extends SelectionMode = 'single'>
export interface PickerProps<T, M extends SelectionMode = 'single'>
extends
Omit<
AriaSelectProps<T, M>,
Expand Down Expand Up @@ -315,7 +315,7 @@ let InsideSelectValueContext = createContext(false);
* Pickers allow users to choose a single option from a collapsible list of options when space is limited.
*/
export const Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(function Picker<
T extends object,
T,
M extends SelectionMode = 'single'
>(props: PickerProps<T, M>, ref: FocusableRef<HTMLButtonElement>) {
let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
Expand Down Expand Up @@ -565,7 +565,7 @@ let INTERACTIVE_ARIA_ROLES = new Set([
'treeitem'
]);

interface PickerButtonInnerProps<T extends object>
interface PickerButtonInnerProps<T>
extends
PickerStyleProps,
Omit<AriaSelectRenderProps, 'isRequired' | 'isFocused'>,
Expand All @@ -575,7 +575,7 @@ interface PickerButtonInnerProps<T extends object>
}

// Needs to be hidable component or otherwise the PressResponder throws a warning when rendered in the fake DOM and tries to register
const PickerButton = createHideableComponent(function PickerButton<T extends object>(
const PickerButton = createHideableComponent(function PickerButton<T>(
props: PickerButtonInnerProps<T>
) {
let {
Expand Down Expand Up @@ -875,11 +875,11 @@ function DefaultProvider({
return <context.Provider value={value}>{children}</context.Provider>;
}

export interface PickerSectionProps<T extends object> extends Omit<
export interface PickerSectionProps<T> extends Omit<
ListBoxSectionProps<T>,
'style' | 'className' | 'render' | keyof GlobalDOMAttributes
> {}
export function PickerSection<T extends object>(props: PickerSectionProps<T>): ReactNode {
export function PickerSection<T>(props: PickerSectionProps<T>): ReactNode {
let {size} = useContext(InternalPickerContext);
return (
<>
Expand Down
2 changes: 1 addition & 1 deletion packages/@react-spectrum/s2/src/SelectBoxGroup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ export function SelectBox(props: SelectBoxProps): ReactNode {
* SelectBoxGroup allows users to select one or more options from a list.
*/
export const SelectBoxGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(function SelectBoxGroup<
T extends object
T
>(props: SelectBoxGroupProps<T>, ref: DOMRef<HTMLDivElement>) {
[props, ref] = useSpectrumContextProps(props, ref, SelectBoxGroupContext);

Expand Down
23 changes: 13 additions & 10 deletions packages/@react-spectrum/s2/src/TableView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -500,9 +500,10 @@ export interface TableBodyProps<T> extends Omit<
/**
* The body of a `<Table>`, containing the table rows.
*/
export const TableBody = /*#__PURE__*/ (forwardRef as forwardRefType)(function TableBody<
T extends object
>(props: TableBodyProps<T>, ref: DOMRef<HTMLDivElement>) {
export const TableBody = /*#__PURE__*/ (forwardRef as forwardRefType)(function TableBody<T>(
props: TableBodyProps<T>,
ref: DOMRef<HTMLDivElement>
) {
let {items, renderEmptyState, children, dependencies = []} = props;
let domRef = useDOMRef(ref);
let {loadingState, onLoadMore} = useContext(InternalTableContext);
Expand Down Expand Up @@ -1066,9 +1067,10 @@ export interface TableHeaderProps<T> extends Omit<
/**
* A header within a `<Table>`, containing the table columns.
*/
export const TableHeader = /*#__PURE__*/ (forwardRef as forwardRefType)(function TableHeader<
T extends object
>({columns, dependencies, children}: TableHeaderProps<T>, ref: DOMRef<HTMLDivElement>) {
export const TableHeader = /*#__PURE__*/ (forwardRef as forwardRefType)(function TableHeader<T>(
{columns, dependencies, children}: TableHeaderProps<T>,
ref: DOMRef<HTMLDivElement>
) {
let scale = useScale();
let {selectionBehavior, selectionMode} = useTableOptions();
let {isQuiet} = useContext(InternalTableContext);
Expand Down Expand Up @@ -1843,7 +1845,7 @@ export interface RowProps<T>
/**
* A row within a `<Table>`.
*/
export const Row = /*#__PURE__*/ (forwardRef as forwardRefType)(function Row<T extends object>(
export const Row = /*#__PURE__*/ (forwardRef as forwardRefType)(function Row<T>(
{id, columns, children, dependencies = [], ...otherProps}: RowProps<T>,
ref: DOMRef<HTMLDivElement>
) {
Expand Down Expand Up @@ -1905,9 +1907,10 @@ const FooterContext = createContext(false);
/**
* A footer within a `<Table>`, containing summary rows.
*/
export const TableFooter = /*#__PURE__*/ (forwardRef as forwardRefType)(function TableFooter<
T extends object
>(props: TableFooterProps<T>, ref: DOMRef<HTMLDivElement>) {
export const TableFooter = /*#__PURE__*/ (forwardRef as forwardRefType)(function TableFooter<T>(
props: TableFooterProps<T>,
ref: DOMRef<HTMLDivElement>
) {
let domRef = useDOMRef(ref);

return (
Expand Down
4 changes: 2 additions & 2 deletions packages/@react-spectrum/s2/src/Tabs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ const tablistWrapper = style(
getAllowedOverrides()
);

export function TabList<T extends object>(props: TabListProps<T>): ReactNode | null {
export function TabList<T>(props: TabListProps<T>): ReactNode | null {
let {showTabs, menuId, valueId, tabs, listRef, onSelectionChange, ariaLabel, ariaDescribedBy} =
useContext(CollapseContext) ?? {};
let {density, orientation, labelBehavior} = useContext(InternalTabsContext);
Expand Down Expand Up @@ -308,7 +308,7 @@ export function TabList<T extends object>(props: TabListProps<T>): ReactNode | n
);
}

function TabListInner<T extends object>(props: TabListProps<T>) {
function TabListInner<T>(props: TabListProps<T>) {
let {
tablistRef,
orientation,
Expand Down
4 changes: 2 additions & 2 deletions packages/@react-spectrum/s2/src/TabsPicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import {useFormProps} from './Form';
import {useLocale} from 'react-aria/I18nProvider';
import {useSpectrumContextProps} from './useSpectrumContextProps';
export interface PickerStyleProps {}
export interface PickerProps<T extends object>
export interface PickerProps<T>
extends
Omit<AriaSelectProps<T>, 'children' | 'style' | 'className' | 'render' | 'placeholder'>,
PickerStyleProps,
Expand Down Expand Up @@ -159,7 +159,7 @@ const iconCenterWrapper = style({
}
});
let InsideSelectValueContext = createContext(false);
function Picker<T extends object>(props: PickerProps<T>, ref: FocusableRef<HTMLButtonElement>) {
function Picker<T>(props: PickerProps<T>, ref: FocusableRef<HTMLButtonElement>) {
[props, ref] = useSpectrumContextProps(props, ref, PickerContext);
let domRef = useFocusableRef(ref);
props = useFormProps(props);
Expand Down
7 changes: 4 additions & 3 deletions packages/@react-spectrum/s2/src/TagGroup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,10 @@ export const TagGroupContext =
const InternalTagGroupContext = createContext<TagGroupProps<any>>({});

/** Tags allow users to categorize content. They can represent keywords or people, and are grouped to describe an item or a search request. */
export const TagGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(function TagGroup<
T extends object
>(props: TagGroupProps<T>, ref: DOMRef<HTMLDivElement>) {
export const TagGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(function TagGroup<T>(
props: TagGroupProps<T>,
ref: DOMRef<HTMLDivElement>
) {
[props, ref] = useSpectrumContextProps(props, ref, TagGroupContext);
props = useFormProps(props);
let {onRemove} = props;
Expand Down
7 changes: 4 additions & 3 deletions packages/@react-spectrum/s2/src/TreeView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,10 @@ let InternalTreeViewContext = createContext<{selectionStyle?: 'highlight' | 'che
/**
* A tree view provides users with a way to navigate nested hierarchical information.
*/
export const TreeView = /*#__PURE__*/ (forwardRef as forwardRefType)(function TreeView<
T extends object
>(props: TreeViewProps<T>, ref: DOMRef<HTMLDivElement>) {
export const TreeView = /*#__PURE__*/ (forwardRef as forwardRefType)(function TreeView<T>(
props: TreeViewProps<T>,
ref: DOMRef<HTMLDivElement>
) {
let {children, selectionStyle = 'checkbox', UNSAFE_className, UNSAFE_style} = props;
let scale = useScale();

Expand Down
2 changes: 1 addition & 1 deletion packages/react-aria-components/src/Autocomplete.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export const FieldInputContext =
/**
* An autocomplete allows users to search or filter a list of suggestions.
*/
export function Autocomplete<T extends object>(props: AutocompleteProps<T>): JSX.Element {
export function Autocomplete<T>(props: AutocompleteProps<T>): JSX.Element {
let ctx = useSlottedContext(AutocompleteContext, props.slot);
props = mergeProps(ctx, props);
let {filter, disableAutoFocusFirst} = props;
Expand Down
7 changes: 4 additions & 3 deletions packages/react-aria-components/src/Breadcrumbs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,10 @@ export const BreadcrumbsContext =
/**
* Breadcrumbs display a hierarchy of links to the current page or resource in an application.
*/
export const Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(function Breadcrumbs<
T extends object
>(props: BreadcrumbsProps<T>, ref: ForwardedRef<HTMLOListElement>) {
export const Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(function Breadcrumbs<T>(
props: BreadcrumbsProps<T>,
ref: ForwardedRef<HTMLOListElement>
) {
[props, ref] = useContextProps(props, ref, BreadcrumbsContext);
let {CollectionRoot} = useContext(CollectionRendererContext);
let {navProps} = useBreadcrumbs(props);
Expand Down
2 changes: 1 addition & 1 deletion packages/react-aria-components/src/Collection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ export const SectionContext = createContext<SectionContextValue | null>(null);
/** @deprecated */
export const Section = /*#__PURE__*/ createBranchComponent(
'section',
<T extends object>(
<T extends any>(
props: SectionProps<T>,
ref: ForwardedRef<HTMLElement>,
section: Node<T>
Expand Down
Loading
Loading