104 lines
2.8 KiB
Plaintext
104 lines
2.8 KiB
Plaintext
/**
|
|
* Icon mode
|
|
*/
|
|
type IconCSSMode = 'mask' | 'background';
|
|
/**
|
|
* Selector for icon
|
|
*/
|
|
interface IconCSSIconSelectorOptions {
|
|
pseudoSelector?: boolean;
|
|
iconSelector?: string;
|
|
}
|
|
/**
|
|
* Selector for icon when generating data from icon set
|
|
*/
|
|
interface IconCSSSelectorOptions extends IconCSSIconSelectorOptions {
|
|
commonSelector?: string;
|
|
overrideSelector?: string;
|
|
}
|
|
/**
|
|
* Options common for both multiple icons and single icon
|
|
*/
|
|
interface IconCSSSharedOptions {
|
|
varName?: string | null;
|
|
forceSquare?: boolean;
|
|
color?: string;
|
|
rules?: Record<string, string>;
|
|
}
|
|
/**
|
|
* Mode
|
|
*/
|
|
interface IconCSSModeOptions {
|
|
mode?: IconCSSMode;
|
|
}
|
|
/**
|
|
* Options for generating common code
|
|
*
|
|
* Requires mode
|
|
*/
|
|
interface IconCSSCommonCodeOptions extends IconCSSSharedOptions, IconCSSIconSelectorOptions, Required<IconCSSModeOptions> {
|
|
}
|
|
/**
|
|
* Options for generating data for one icon
|
|
*/
|
|
interface IconCSSItemOptions extends IconCSSSharedOptions, Required<IconCSSModeOptions> {
|
|
}
|
|
/**
|
|
* Selector for icon
|
|
*/
|
|
interface IconContentIconSelectorOptions {
|
|
iconSelector?: string;
|
|
}
|
|
/**
|
|
* Options common for both multiple icons and single icon
|
|
*/
|
|
interface IconContentSharedOptions {
|
|
height: number;
|
|
width?: number;
|
|
color?: string;
|
|
rules?: Record<string, string>;
|
|
}
|
|
/**
|
|
* Options for generating data for one icon
|
|
*/
|
|
type IconContentItemOptions = IconContentSharedOptions;
|
|
/**
|
|
* Formatting modes. Same as in SASS
|
|
*/
|
|
type CSSFormatMode = 'expanded' | 'compact' | 'compressed';
|
|
/**
|
|
* Item to format
|
|
*/
|
|
interface CSSUnformattedItem {
|
|
selector: string | string[];
|
|
rules: Record<string, string>;
|
|
}
|
|
/**
|
|
* Formatting options
|
|
*/
|
|
interface IconCSSFormatOptions {
|
|
format?: CSSFormatMode;
|
|
}
|
|
/**
|
|
* Options for generating data for one icon as background/mask
|
|
*/
|
|
interface IconCSSIconOptions extends IconCSSSharedOptions, IconCSSIconSelectorOptions, IconCSSModeOptions, IconCSSFormatOptions {
|
|
}
|
|
/**
|
|
* Options for generating data for one icon as content
|
|
*/
|
|
interface IconContentIconOptions extends IconContentSharedOptions, IconContentIconSelectorOptions, IconCSSFormatOptions {
|
|
}
|
|
/**
|
|
* Options for generating multiple icons as background/mask
|
|
*/
|
|
interface IconCSSIconSetOptions extends IconCSSSharedOptions, IconCSSSelectorOptions, IconCSSModeOptions, IconCSSFormatOptions {
|
|
}
|
|
/**
|
|
* Options for generating multiple icons as content
|
|
*/
|
|
interface IconContentIconSetOptions extends IconContentSharedOptions, IconContentIconSelectorOptions, IconCSSFormatOptions {
|
|
}
|
|
|
|
export { CSSFormatMode, CSSUnformattedItem, IconCSSCommonCodeOptions, IconCSSFormatOptions, IconCSSIconOptions, IconCSSIconSelectorOptions, IconCSSIconSetOptions, IconCSSItemOptions, IconCSSMode, IconCSSModeOptions, IconCSSSelectorOptions, IconCSSSharedOptions, IconContentIconOptions, IconContentIconSelectorOptions, IconContentIconSetOptions, IconContentItemOptions, IconContentSharedOptions };
|