mirror of
https://github.com/SteamDeckHomebrew/decky-frontend-lib.git
synced 2026-05-20 10:00:08 +02:00
29 lines
963 B
TypeScript
29 lines
963 B
TypeScript
import { HTMLAttributes, ReactNode, RefAttributes, VFC } from 'react';
|
|
|
|
import { findModuleChild } from '../webpack';
|
|
|
|
export interface CarouselProps extends HTMLAttributes<HTMLDivElement> {
|
|
autoFocus?: boolean;
|
|
enableBumperPaging?: boolean;
|
|
fnDoesItemTakeFocus?: (...unknown: any[]) => boolean;
|
|
fnGetColumnWidth?: (...unknown: any[]) => number;
|
|
fnGetId?: (id: number) => number;
|
|
fnItemRenderer?: (id: number, ...unknown: any[]) => ReactNode;
|
|
fnUpdateArrows?: (...unknown: any[]) => any;
|
|
initialColumn?: number;
|
|
nHeight?: number;
|
|
nIndexLeftmost?: number;
|
|
nItemHeight?: number;
|
|
nItemMarginX?: number;
|
|
nNumItems?: number;
|
|
name?: string;
|
|
scrollToAlignment?: 'center';
|
|
}
|
|
|
|
export const Carousel = findModuleChild((m) => {
|
|
if (typeof m !== 'object') return undefined;
|
|
for (let prop in m) {
|
|
if (m[prop]?.render?.toString().includes('setFocusedColumn:')) return m[prop];
|
|
}
|
|
}) as VFC<CarouselProps & RefAttributes<HTMLDivElement>>;
|