UNPKG

@reusable-ui/accessibilities

Version:

An accessibility management system for react web components.

75 lines (74 loc) 3.54 kB
import { default as React } from 'react'; export interface TAccessibility<TDefaultEnabled = boolean, TDefaultReadOnly = boolean, TDefaultActive = boolean> { enabled: boolean | TDefaultEnabled; readOnly: boolean | TDefaultReadOnly; active: boolean | TDefaultActive; } /** * Contains accessibility props. */ export interface Accessibility extends TAccessibility { /** * `true` : component is enabled - responses any user interaction. * `false` : component is disabled - ignores any user interaction. */ enabled: boolean; /** * `true` : component is readOnly - ignores any user editing. * `false` : component is editable - responses any user editing. */ readOnly: boolean; /** * `true` : component is in active state. * `false` : component is in normal state. */ active: boolean; } /** * A react context for accessibility stuff. */ export declare const AccessibilityContext: React.Context<Accessibility>; export declare const usePropAccessibility: <TDefaultEnabled extends unknown = boolean, TDefaultReadOnly = boolean, TDefaultActive = boolean>(props: AccessibilityProps, defaultEnabled?: boolean | TDefaultEnabled, defaultReadOnly?: boolean | TDefaultReadOnly, defaultActive?: boolean | TDefaultActive) => Accessibility | TAccessibility<TDefaultEnabled, TDefaultReadOnly, TDefaultActive>; export declare const usePropEnabled: <TDefaultEnabled extends unknown = boolean>(props: AccessibilityProps, defaultEnabled?: boolean | TDefaultEnabled) => boolean | TDefaultEnabled; export declare const usePropReadOnly: <TDefaultReadOnly extends unknown = boolean>(props: AccessibilityProps, defaultReadOnly?: boolean | TDefaultReadOnly) => boolean | TDefaultReadOnly; export declare const usePropActive: <TDefaultActive extends unknown = boolean>(props: AccessibilityProps, defaultActive?: boolean | TDefaultActive) => boolean | TDefaultActive; export interface AccessibilityProps extends Partial<Accessibility> { /** * `undefined` : same as `true`. * `true` : component is enabled - responses any user interaction. * `false` : component is disabled - ignores any user interaction. */ enabled?: boolean; /** * `undefined` : same as `true`. * `true` : inherits `enabled` from parent (`AccessibilityProvider` context). * `false` : independent `enabled`. */ inheritEnabled?: boolean; /** * `undefined` : same as `false`. * `true` : component is readOnly - ignores any user editing. * `false` : component is editable - responses any user editing. */ readOnly?: boolean; /** * `undefined` : same as `true`. * `true` : inherits `readOnly` from parent (`AccessibilityProvider` context). * `false` : independent `readOnly`. */ inheritReadOnly?: boolean; /** * `undefined` : same as `false`. * `true` : component is in active state. * `false` : component is in normal state. */ active?: boolean; /** * `undefined` : same as `false`. * `true` : inherits `active` from parent (`AccessibilityProvider` context). * `false` : independent `active`. */ inheritActive?: boolean; } declare const AccessibilityProvider: (props: React.PropsWithChildren<AccessibilityProps>) => JSX.Element | null; export { AccessibilityProvider, AccessibilityProvider as default, };