zarm
Version:
基于 React 的移动端UI库
41 lines (40 loc) • 1.88 kB
TypeScript
import type { CSSProperties, MutableRefObject } from 'react';
import type { BaseProgressProps } from './interface';
export declare function useStrokeWidthWithBackup({ strokeWidth, size, }: Readonly<Pick<BaseProgressProps, 'strokeWidth' | 'size'>>): number;
export declare function useSVG({ shape }: Readonly<Pick<BaseProgressProps, 'shape'>>): boolean;
export declare type UseSVGStrokeWidthParams = Pick<BaseProgressProps, 'size' | 'shape'> & {
progressElement: MutableRefObject<HTMLDivElement | null>;
strokeWidth: number;
shouldUseSVG: boolean;
};
export declare function useSVGStrokeWidth(params: Readonly<UseSVGStrokeWidthParams>): {
readonly svgStrokeWidth: number;
};
export declare function useSizeStyle({ size, shape, }: Readonly<Pick<BaseProgressProps, 'size' | 'shape'>>): {
sizeStyle: CSSProperties;
hasKnownSize: boolean;
};
export declare function useRoundSVGAttributes({ shape, strokeShape, finalStrokeWidth, percent, }: Readonly<Pick<BaseProgressProps, 'shape' | 'strokeShape' | 'percent'> & {
finalStrokeWidth: number;
}>): {
readonly path: string;
readonly dasharray: number;
readonly strokeLinecap: "round" | "butt";
readonly viewBox: string;
readonly dashoffset: number;
};
export declare function useRectStyles({ strokeWidthWithBackup, finalStrokeWidth, strokeShape, percent, }: Readonly<Pick<BaseProgressProps, 'strokeShape' | 'percent'> & {
finalStrokeWidth: number;
strokeWidthWithBackup: number;
}>): {
readonly lineThumbStyle: {
width: string;
height: string;
borderRadius: string;
};
readonly lineTrackStyle: {
height: string;
borderRadius: string;
};
};
export declare function useIndicator({ text, percent, children, }: Readonly<Pick<React.PropsWithChildren<BaseProgressProps>, 'text' | 'percent' | 'children'>>): import("react").ReactNode;