timered-counter
Version:
Make the value change more vivid and natural
45 lines (44 loc) • 1.85 kB
TypeScript
import { PropertyValues } from 'lit';
import { Constructor } from 'type-fest';
import { CounterBaseMixin } from './counter-base.js';
import { PartData } from '../types/group.js';
import { PartPreprocessedData } from '../utils/preprocess-part-data.js';
import { AvailableNumberAdapterValueType } from '../number-adapter/index.js';
export interface PartsOptions {
sampleCount: number;
/**
* 可以通过该属性将数字转换为你想要的任意字符串.
*/
digitToChar: Record<string | number, string> | string[];
/**
* 小数点分隔符.
*/
decimalSeparator: string;
/**
* 当**位数不足**时, 强制补全的 [整数, 小数] 位数. 为空时位数自适应.
*/
minPlaces: [number | undefined, number | undefined];
fillChar: string;
/**
* 数据类型.
*
* 1. `'string'`: 字符串类型.
* 1. 不会使用 `decimalSeparator` 截取小数部分.
* 2. `'number'`: 数字类型.
*
* @default `'number'`
*/
type: 'string' | 'number';
}
export declare class CounterPartsMixinInterface<V extends AvailableNumberAdapterValueType> {
parts: PartData[];
oldParts: PartData[];
partPreprocessDataList: PartPreprocessedData[][];
get partsOptions(): Partial<PartsOptions>;
set partsOptions(value: Partial<PartsOptions>);
sampling(from: V, to: V): V[];
sampleSplit(samples: V[]): V[][];
sampleToString(value: V): string;
shouldRebuildParts(changedProperties: PropertyValues<this>): boolean;
}
export declare const CounterPartsMixin: <V extends AvailableNumberAdapterValueType, T extends ReturnType<typeof CounterBaseMixin<V>> = Constructor<import("./counter-base.js").CounterBaseMixinInterface<V>> & Constructor<import("lit").LitElement>>(superClass: T) => Constructor<CounterPartsMixinInterface<V>> & T;