material.font.features
Version:
Material UI component for displaying opentype font features.
52 lines (51 loc) • 1.95 kB
TypeScript
import React from 'react';
import { Feature } from 'opentype.features.js';
import { SelectChangeEvent } from '@mui/material/Select';
declare type Props = {
settings: string;
settingsFormat: SettingsFormat;
fontFile?: string;
fontUrl?: string;
fontData?: ArrayBuffer;
fontFeatures?: Feature[];
fontFamily?: string;
showHidden?: boolean;
onSettingsChanged: (settings: string) => void;
};
declare type State = {
features: Feature[];
fontFamily: string;
};
interface FeatureSetting {
feature: string;
value: string;
}
export declare enum SettingsFormat {
CSS = "css",
LEGACY = "legacy"
}
export default class FontFeatures extends React.PureComponent<Props, State> {
static defaultProps: {
settingsFormat: SettingsFormat;
};
constructor(props: Props);
componentDidMount(): Promise<void>;
componentDidUpdate(prevProps: Props): Promise<void>;
setFeatures(): Promise<void>;
static legacySettingsToCss(settings: string): string;
static _numberToValue(number: string): string;
static _valueToNumber(value: string): string;
settings(): string;
parseFeatureTagValue(featureSettingString: string): FeatureSetting | null;
settingsToArray: import("memoize-one").MemoizedFn<(settings: string) => (FeatureSetting)[]>;
_settingsToArray(settings: string): (FeatureSetting)[];
settingsArrayToString(settings: FeatureSetting[], format?: SettingsFormat): string;
handleCheckBoxChange(e: React.ChangeEvent<HTMLInputElement>, tag: string): void;
emitSettingsChanged(updatedValue: FeatureSetting): void;
isCheckBoxEnabled(tag: string): boolean;
getCurrentSelectValue(tag: string, options: string[]): number;
handleComboBoxChange(e: SelectChangeEvent<number>, tag: string): void;
handleStylePickerChange(value: string, tag: string): void;
render(): JSX.Element;
}
export {};