import { CSSProperties , FocusEventHandler , MouseEventHandler , ReactNode , ChangeEventHandler , KeyboardEventHandler , Ref , SVGAttributes , ReactElement , FunctionComponent , } from 'react' ; import { Override } from './types' ; import { IrisTheme } from '../../themes' ; export interface IrisSVG < T = SVGSVGElement > { ( props , ref ) : ReactElement | null ; } export type IrisProps < Props = unknown , DOMElement = HTMLDivElement > = Override < DefaultIrisProps < DOMElement > , Props & ForbidAsProp > ; type DefaultIrisProps < DOMElement = HTMLDivElement > = IrisElementProps < DOMElement > & IrisEventProps < DOMElement > & IrisA11yProps ; type IrisElementProps < DOMElement = HTMLDivElement > = { alt ? : string ; as ? : never ; children ? : ReactNode ; className ? : string ; data ? : string ; debug ? : boolean ; disabled ? : boolean ; forwardRef ? : Ref < DOMElement > ; hidden ? : boolean ; id ? : string ; lang ? : string ; name ? : string ; style ? : CSSProperties ; tabIndex ? : number ; theme ? : IrisTheme ; title ? : string ; } ; type IrisEventProps < DOMElement = HTMLDivElement > = { onBlur ? : FocusEventHandler < DOMElement > ; onClick ? : MouseEventHandler < DOMElement > ; onFocus ? : FocusEventHandler < DOMElement > ; onMouseEnter ? : MouseEventHandler < DOMElement > ; onMouseLeave ? : MouseEventHandler < DOMElement > ; } ; type IrisA11yProps = { 'aria-activedescendant' ? : string ; 'aria-atomic' ? : boolean | 'false' | 'true' ; 'aria-autocomplete' ? : 'none' | 'inline' | 'list' | 'both' ; 'aria-busy' ? : boolean | 'false' | 'true' ; 'aria-checked' ? : boolean | 'false' | 'mixed' | 'true' ; 'aria-colcount' ? : number ; 'aria-colindex' ? : number ; 'aria-colspan' ? : number ; 'aria-controls' ? : string ; 'aria-current' ? : boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time' ; 'aria-describedby' ? : string ; 'aria-details' ? : string ; 'aria-disabled' ? : boolean | 'false' | 'true' ; 'aria-dropeffect' ? : 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' ; 'aria-errormessage' ? : string ; 'aria-expanded' ? : boolean | 'false' | 'true' ; 'aria-flowto' ? : string ; 'aria-grabbed' ? : boolean | 'false' | 'true' ; 'aria-haspopup' ? : boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' ; 'aria-hidden' ? : boolean | 'false' | 'true' ; 'aria-invalid' ? : boolean | 'false' | 'true' | 'grammar' | 'spelling' ; 'aria-keyshortcuts' ? : string ; 'aria-label' ? : string ; 'aria-labelledby' ? : string ; 'aria-level' ? : number ; 'aria-live' ? : 'off' | 'assertive' | 'polite' ; 'aria-modal' ? : boolean | 'false' | 'true' ; 'aria-multiline' ? : boolean | 'false' | 'true' ; 'aria-multiselectable' ? : boolean | 'false' | 'true' ; 'aria-orientation' ? : 'horizontal' | 'vertical' ; 'aria-owns' ? : string ; 'aria-placeholder' ? : string ; 'aria-posinset' ? : number ; 'aria-pressed' ? : boolean | 'false' | 'mixed' | 'true' ; 'aria-readonly' ? : boolean | 'false' | 'true' ; 'aria-relevant' ? : 'additions' | 'additions text' | 'all' | 'removals' | 'text' ; 'aria-required' ? : boolean | 'false' | 'true' ; 'aria-roledescription' ? : string ; 'aria-rowcount' ? : number ; 'aria-rowindex' ? : number ; 'aria-rowspan' ? : number ; 'aria-selected' ? : boolean | 'false' | 'true' ; 'aria-setsize' ? : number ; 'aria-sort' ? : 'none' | 'ascending' | 'descending' | 'other' ; 'aria-valuemax' ? : number ; 'aria-valuemin' ? : number ; 'aria-valuenow' ? : number ; 'aria-valuetext' ? : string ; role ? : 'alert' | 'alertdialog' | 'application' | 'article' | 'banner' | 'button' | 'checkbox' | 'columnheader' | 'combobox' | 'complementary' | 'contentinfo' | 'definition' | 'dialog' | 'directory' | 'document' | 'form' | 'grid' | 'gridcell' | 'group' | 'heading' | 'img' | 'link' | 'list' | 'listbox' | 'listitem' | 'log' | 'main' | 'marquee' | 'math' | 'menu' | 'menubar' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'navigation' | 'note' | 'option' | 'progressbar' | 'radio' | 'radiogroup' | 'scrollbar' | 'search' | 'slider' | 'spinbutton' | 'status' | 'tab' | 'tablist' | 'tabpanel' | 'textbox' | 'timer' | 'tooltip' | 'tree' | 'treegrid' | 'treeitem' ; } ; type ForbidAsProp = { /**
     * __IRIS__ : `as` prop is forbidden on Iris components due to highly undesirable problems
     * that arise when nesting multiple styled() components.
     *
     * * * *
     *
     */ as ? : never ; } ; export interface Messages { error ? : ReactNode ; help ? : ReactNode ; pre ? : ReactNode ; success ? : ReactNode ; post ? : ReactNode ; } export type IrisInputProps < Props = unknown , DOMElement = HTMLInputElement > = Override < { accept ? : string ; autoComplete ? : boolean | 'bday' | 'cc-csc' | 'cc-exp' | 'cc-name' | 'cc-type' | 'country-name' | 'country' | 'current-password' | 'email' | 'language' | 'name' | 'new-password' | 'off' | 'on' | 'one-time-code' | 'organization' | 'password' | 'photo' | 'postal-code' | 'tel' | 'url' | 'username' ; autoFocus ? : boolean ; capture ? : boolean | string ; checked ? : boolean ; crossOrigin ? : string ; defaultChecked ? : boolean ; defaultValue ? : string | string [ ] | number | boolean ; label ? : ReactNode ; forwardRef ? : Ref < DOMElement > ; max ? : number | string ; maxLength ? : number ; messages ? : Messages ; min ? : number | string ; minLength ? : number ; mirror ? : boolean ; multiple ? : boolean ; name ? : string ; onChange ? : ChangeEventHandler < DOMElement > ; onKeyDown ? : KeyboardEventHandler < DOMElement > ; onKeyUp ? : KeyboardEventHandler < DOMElement > ; onKeyPress ? : KeyboardEventHandler < DOMElement > ; pattern ? : string ; placeholder ? : string ; readOnly ? : boolean ; required ? : boolean ; src ? : string ; status ? : 'negative' | 'positive' ; step ? : number | string ; type ? : 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'Note' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'toggle' | 'url' | 'week' ; value ? : string | string [ ] | number | boolean ; } & IrisProps < unknown , DOMElement > , Props > ; export type MinorComponent < Props = unknown > = FunctionComponent < IrisProps < Props > > ;