@steambrew/client
Version:
A support library for creating plugins with Millennium.
35 lines (27 loc) • 1.29 kB
text/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;
}
/** @component React Components */
export const ProgressBar = findModuleExport((e: Export) => e?.toString()?.includes('.ProgressBar,"standard"==')) as FC<ProgressBarProps>;
/** @component React Components */
export const ProgressBarWithInfo = findModuleExport((e: Export) => e?.toString()?.includes('.ProgressBarFieldStatus') && e?.toString()?.includes('.OperationText')) as FC<ProgressBarWithInfoProps>;
const progressBarItemRegex = createPropListRegex(['indeterminate', 'nTransitionSec', 'nProgress']);
/** @component React Components */
export const ProgressBarItem = findModuleExport((e: Export) => e?.toString && progressBarItemRegex.test(e.toString())) as FC<ProgressBarItemProps>;