UNPKG

@reusable-ui/nudible

Version:
43 lines (42 loc) 1.82 kB
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; };