@reusable-ui/nudible
Version:
Nude variant of UI.
43 lines (42 loc) • 1.82 kB
TypeScript
import { Factory, CssRule, CssStyleCollection, CssVars } from '@cssfn/core';
export type ToggleNude = boolean | null;
export interface NudibleVars {
/**
* the nudible preference.
*/
nudePr: any;
/**
* the nude switching function.
*/
nudeSw: any;
}
export declare const ifNude: (styles: CssStyleCollection) => CssRule;
export declare const ifNotNude: (styles: CssStyleCollection) => CssRule;
export interface NudibleStuff {
nudibleRule: Factory<CssRule>;
nudibleVars: CssVars<NudibleVars>;
}
/**
* Uses a toggleable nudeification (removes background, border & padding).
* @param nudeDefinition A callback to create a nudeification rules for each toggle state.
* @returns A `NudibleStuff` represents the nudeification rules.
*/
export declare const usesNudible: (nudeDefinition?: ((toggle: ToggleNude) => CssStyleCollection) | null) => NudibleStuff;
/**
* Defines a nudeification preference rules for the given `toggle` state.
* @param toggle `true` to activate the nudeification -or- `false` to deactivate -or- `null` to remove previously declared `defineNude`.
* @returns A `CssRule` represents a nudeification rules for the given `toggle` state.
*/
export declare const defineNude: (toggle: ToggleNude) => CssRule;
/**
* Sets the current nudeification state by the given `toggle` state.
* @param toggle `true` to activate the nudeification -or- `false` to deactivate -or- `null` to remove previously declared `setNude`.
* @returns A `CssRule` represents a nudeification rules for the given `toggle` state.
*/
export declare const setNude: (toggle: ToggleNude) => CssRule;
export interface NudibleProps {
nude?: boolean;
}
export declare const useNudible: ({ nude }: NudibleProps) => {
class: string | null;
};