mirror of
https://github.com/SteamDeckHomebrew/decky-frontend-lib.git
synced 2026-05-23 03:18:48 +02:00
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { ReactNode, FC } from 'react';
|
|
|
|
import { Export, findModuleExport } from '../webpack';
|
|
import { ItemProps } from './Item';
|
|
import { createPropListRegex } from '../utils';
|
|
|
|
export interface ProgressBarItemProps extends ItemProps {
|
|
indeterminate?: boolean;
|
|
nTransitionSec?: number;
|
|
nProgress?: number;
|
|
focusable?: boolean;
|
|
}
|
|
|
|
export interface ProgressBarProps {
|
|
indeterminate?: boolean;
|
|
nTransitionSec?: number;
|
|
nProgress?: number;
|
|
focusable?: boolean;
|
|
}
|
|
|
|
export interface ProgressBarWithInfoProps extends ProgressBarItemProps {
|
|
sTimeRemaining?: ReactNode;
|
|
sOperationText?: ReactNode;
|
|
}
|
|
|
|
export const ProgressBar = findModuleExport((e: Export) =>
|
|
e?.toString()?.includes('.ProgressBar,"standard"=='),
|
|
) as FC<ProgressBarProps>;
|
|
|
|
export const ProgressBarWithInfo = findModuleExport((e: Export) =>
|
|
e?.toString()?.includes('.ProgressBarFieldStatus},'),
|
|
) as FC<ProgressBarWithInfoProps>;
|
|
|
|
const progressBarItemRegex = createPropListRegex(["indeterminate", "nTransitionSec", "nProgress"]);
|
|
export const ProgressBarItem = findModuleExport((e: Export) =>
|
|
e?.toString && progressBarItemRegex.test(e.toString()),
|
|
) as FC<ProgressBarItemProps>;
|