import React, { type FC, type ReactNode } from 'react'; import { type I_dateObject } from 'aio-date'; import { type I_Range } from 'aio-range'; import './index.css'; declare const AIOInput: (p: I_AIOInput) => import("react/jsx-runtime").JSX.Element; export default AIOInput; export type I_AIOInput = AI_isRange & AI_isTree & AI_isDate & { after?: ReactNode; before?: ReactNode; attrs?: any; className?: string; style?: any; disabled?: boolean; rtl?: boolean; imageAttrs?: any; justify?: boolean; value?: any; onChange?: (newValue: any, p?: any) => Promise | any; deSelect?: boolean; onSubmit?: (newValue: any, p?: any) => Promise | any; placeholder?: ReactNode; text?: ReactNode; subtext?: ReactNode; type: AI_type; validations?: (any[]) | ((v: any) => string | undefined); checkIcon?: ReactNode[]; listOptions?: { decay?: number; stop?: number; count?: number; move?: any; editable?: boolean; }; onClick?: (e: Event) => void; showPassword?: boolean; preview?: boolean; tagSearch?: string; hideTags?: boolean; isSuggestion?: boolean; fetchSuggestions?: (search: string) => Promise; maskPattern?: { type: 'text' | 'number' | 'select'; length?: number; options?: 'fa-plate' | string[]; html?: ReactNode; flex?: number; def?: string; after?: ReactNode; placeholder?: string; disabled?: boolean; attrs?: any; style?: any; className?: string; }[]; optionsPlaceholder?: ReactNode; switchOptions?: { textOn?: ReactNode; textOff?: ReactNode; textButton?: ReactNode; size?: number; groove?: boolean; width?: number; attrs?: any; buttonAttrs?: any; }; caret?: boolean | ReactNode; popover?: { portal?: boolean; body?: ReactNode; fitHorizontal?: boolean; backdropAttrs?: any; modalAttrs?: any; headerAttrs?: any; bodyAttrs?: any; footerAttrs?: any; footer?: any; position?: 'center' | 'left' | 'right' | 'top' | 'bottom' | 'fullscreen'; limitTo?: string; header?: { html?: ((p: { removeModal: () => void; state: any; setState: any; }) => ReactNode); title?: string; subtitle?: string; before?: ReactNode; after?: ReactNode; onClose?: boolean | ((p: { state: any; setState: (state: any) => void; }) => void); }; }; open?: boolean; blurChange?: boolean; filter?: string[]; inputAttrs?: any; swip?: number; spin?: boolean; autoHighlight?: boolean; delay?: number; voice?: 'en' | 'fa'; multiple?: boolean; maxLength?: number; onSwap?: true | ((newOptions: any[], fromIndex: number, toIndex: number) => void); optionsAttrs?: any; option?: AI_optionProp; options?: any[]; search?: string; debugKey?: string; }; export type AI_props = NonNullable; export type AI_optionProp = { [key in keyof AI_optionDetail]?: (optionOrg: any, optionDetail: AI_optionDetail) => any; }; export type AI_optionDetails = { list: AI_optionDetail[]; dic: { [key: string]: AI_optionDetail; }; }; export type AI_type = 'text' | 'number' | 'textarea' | 'password' | 'select' | 'tree' | 'spinner' | 'slider' | 'toggleButton' | 'textlist' | 'button' | 'date' | 'color' | 'radio' | 'tabs' | 'list' | 'image' | 'file' | 'checkbox' | 'time' | 'buttons' | 'panels' | 'mask' | 'custom'; export type AI_date_trans = 'Today' | 'Clear' | 'Today' | 'This Month' | 'Select Year'; type AI_types = { isMultiple: boolean; isInput: boolean; hasOption: boolean; ai_height: boolean; hasTags: boolean; hasKeyboard: boolean; }; export type AI_Popover_props = { getRootProps: () => I_AIOInput; id: string; toggle: (popover: any) => void; types: AI_types; }; type AI_isDate = Omit; type AI_isRange = Omit; type AI_isTree = Omit; export type AI = Omit & { onChange?: AI_onChange; }; type AI_onChange = AI_type extends 'toggleButton' ? (v: any) => void : AI_type extends 'textlist' ? (v: string[]) => void : AI_type extends 'text' ? (v: string, option?: any) => void : AI_type extends 'number' ? (v: number | undefined) => void : AI_type extends 'textarea' ? (v: string) => void : AI_type extends 'mask' ? (value: string[]) => void : AI_type extends 'password' ? (v: string) => void : AI_type extends 'color' ? (v: string) => void : AI_type extends 'select' ? (v: T, optionDetail: AI_optionDetail) => void : AI_type extends 'radio' ? (v: T, optionDetail: AI_optionDetail) => void : AI_type extends 'tabs' ? (v: T, optionDetail: AI_optionDetail) => void : AI_type extends 'buttons' ? (v: T, optionDetail: AI_optionDetail) => void : AI_type extends 'tags' ? (v: T[]) => void : AI_type extends 'tree' ? (v: T[]) => void : AI_type extends 'image' ? (url: any, file: any) => void : AI_type extends 'file' ? (newFile: File | undefined) => void : AI_type extends 'checkbox' ? (v: boolean) => void : AI_type extends 'date' ? (newDate: T, dateDetail: AI_dateDetail) => void : AI_type extends 'time' ? (time: T, dateDetail: AI_dateDetail) => void : AI_type extends 'slider' ? (newValue: number) => void : AI_type extends 'spinner' ? (newValue: number) => void : AI_type extends 'panels' ? (newValue: T) => void : AI_type extends 'list' ? (v: T, optionDetail: AI_optionDetail) => void : never; export declare const AIMask: FC>; export declare const AITextList: FC>; export declare const AIText: FC>; export declare const AINumber: FC>; export declare const AITextarea: FC>; export declare const AIPassword: FC>; export declare const AIColor: FC>; export declare const AIToggleButton: FC>; export declare const AISelect: FC>; export declare const AIRadio: FC>; export declare const AITabs: FC>; export declare const AIButtons: FC>; export declare const AITree: FC>; export declare const AIImage: FC>; export declare const AIFile: FC>; export declare const AICheckbox: FC>; export declare const AIDate: FC>; export declare const AITime: FC>; export declare const AIPanels: FC>; export declare const AIList: FC>; export declare const AISlider: FC>; export declare const AISpinner: FC>; export declare const CheckIcon: FC<{ checkIcon?: ReactNode[]; checked?: boolean; round?: boolean; }>; export type I_formInput = I_AIOInput & { field: string; customType?: string; tag?: string; required?: boolean; validation?: string[]; label?: string; labelType?: 'inline' | 'online'; labelAttrs?: any; }; export type I_formInputs = { [key: string]: I_formInput; }; type I_wizardStep = { id: string; show?: (data: T) => boolean; next?: () => Promise; prev?: () => Promise; nextText?: string; prevText?: string; disabled?: boolean; }; export type I_useFormProps = { inputs: I_formInputs; customTypes?: { [key: string]: (input: I_formInput & { value: any; onChange: (v: any) => void; }) => ReactNode; }; data: T; fa?: boolean; debug?: boolean; showErrors?: boolean; rtl?: boolean; fetchError?: { [field: string]: (value: any) => Promise; }; wizard?: { steps: I_wizardStep[]; }; onChange: (data: T, p: { field: string; value: any; }) => void; onSubmit?: () => Promise; submitText?: ((data: T) => ReactNode) | ReactNode; onClose?: () => void; closeText?: ((data: T) => ReactNode) | ReactNode; option?: { [key in keyof I_formInput]?: (p: { inputName: string; data: T; input: I_formInput; }) => any; }; validations?: { [name: string]: (p: { data: T; inputName: string; value: any; }) => string | void; }; }; type I_formTag = 'fieldset' | 'section' | 'div' | 'p' | 'form'; export type I_formNode = { debugId?: string; wizardId?: string; footer?: ReactNode; header?: ReactNode; panel?: ReactNode; panelAttrs?: any; name?: string; v?: I_formNode[]; h?: I_formNode[]; html?: ReactNode; input?: string; extendInput?: Partial; attrs?: any; className?: string; style?: any; show?: boolean; customType?: string; deps?: string; flex?: number; scroll?: boolean; tag?: I_formTag; legend?: ReactNode; id?: string; isStatic?: boolean; align?: 'v' | 'h' | 'vh' | 'hv'; hide_xs?: boolean; hide_sm?: boolean; hide_md?: boolean; hide_lg?: boolean; show_xs?: boolean; show_sm?: boolean; show_md?: boolean; show_lg?: boolean; }; export declare const useForm: >(p: I_useFormProps) => { render: { input: (inputName: string, p?: { attrs?: any; nodeName?: string; }) => import("react/jsx-runtime").JSX.Element; footer: () => import("react/jsx-runtime").JSX.Element; submitButton: () => import("react/jsx-runtime").JSX.Element; wizardStepButtons: () => import("react/jsx-runtime").JSX.Element; layout: (node: I_formNode) => import("react/jsx-runtime").JSX.Element; tags: (node: I_formNode, disabled?: boolean) => import("react/jsx-runtime").JSX.Element; disabled: boolean; }; errorsDic: I_formErrorsDic; errorsList: string[]; getChanges: () => any[]; data: T; disabled: boolean; }; type I_formError = { text: string; wizardId: string; }; type I_formErrorsDic = { [inputName: string]: I_formError | undefined; }; export declare const AIInputNode: FC<{ input: I_formInput; attrs?: any; wizardId: string; show: boolean; inputName: string; debugId?: string; }>; export declare const AIFormInput: FC<{ label?: string; labelType?: 'inline' | 'online'; labelAttrs?: any; showErrors?: boolean; attrs?: any; id?: string; className?: string; style?: any; before?: ReactNode; after?: ReactNode; footer?: ReactNode; subtext?: string; error?: string; validation?: string[]; required?: boolean; input: ReactNode; value?: any; fa?: boolean; debugId?: string; }>; export declare const Panels: FC; type I_joystick = { angleDir?: 'clock' | 'clockwise'; scale?: number; size: number; buttonSize: number; angleStep?: number; step?: number; arrow?: { count: number; color: string; }; onChange: (v: { percent: number; angle: number; x: number; y: number; }) => void; onEnd?: () => void; centerOriented?: boolean; value: { x?: number; y?: number; percent?: number; angle?: number; }; }; export declare const JoyStick: FC; type I_ScannerButton = { fa?: boolean; reset?: boolean; close?: boolean; fps?: number; onScan: (v: any) => Promise; value?: any; attrs?: any; text?: ReactNode; }; export declare const ScannerButton: FC; type I_treeRowDetails = { level: number; index: number; isLastChild: boolean; isFirstChild: boolean; parentDetails?: I_treeRowDetails; value: any; row: any; option: AI_optionDetail; }; export type AI_Tree = { value: any[]; indent?: number; onToggle?: (openDic: { [id: string]: boolean; }) => void; setChilds?: (rowDetails: I_treeRowDetails, childs: undefined | any[]) => void; onChange?: (v: any) => void; option?: AI_optionProp; attrs?: any; className?: string; autoHeight?: boolean; rtl?: boolean; style?: any; }; export type AI_Image = { placeholder?: ReactNode; deSelect?: boolean; disabled?: boolean; rtl?: boolean; value?: any; multiple?: boolean; preview?: boolean; inputAttrs?: any; imageAttrs?: any; attrs?: any; style?: any; className?: string; onChange?: (urls: any, files: any) => void; }; type AI_dateDetail = { dateObject: I_dateObject; dateString: string; dateString2Digit: string; dateArray: number[]; dateNumber: number; isoDate: string; dateStrings: string[]; monthString: string; weekDay: string; weekDayIndex: number; months: string[]; weekDays: string[]; value: any; }; export type I_Calendar = { onChange?: (value: any, dateDetails: any) => void; onSubmit?: (value: any, dateDetails: any) => void; multiple?: boolean; value: any; type: 'date' | 'time'; jalali?: boolean; maxLength?: number; calendarClose?: boolean; onClose?: () => void; calendarMode?: boolean; dateUnit?: 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second' | 'milisecond'; disabled?: boolean; size?: number; theme?: string[]; translate?: (test: string) => string; text?: ReactNode; pattern?: string; dateType?: 'dateNumber' | 'dateString' | 'dateArray' | 'isoDate' | 'dateString2Digit' | 'dateObject'; dateAttrs?: (p: { dateArray: number[]; isToday: boolean; isActive: boolean; isFuture: boolean; weekDay: number; }) => any; deSelect?: boolean; now?: boolean; timeUnit?: I_timeUnit; timeStep?: I_timeStep; }; export type I_timeUnit = { [key in ('year' | 'month' | 'day' | 'hour' | 'minute' | 'second' | 'milisecond')]?: boolean; }; type I_timeStep = { year?: number; month?: number; day?: number; hour?: number; minute?: number; second?: number; milisecond?: number; }; export type I_MonthCalendar = { date: number[]; onClick?: (date: number[]) => void; dateAttrs?: (date: number[]) => any; }; export declare const MonthCalendar: FC; export type I_list_temp = { dom: any; activeIndex: number; interval: any; moved: boolean; lastY: number; deltaY: number; so: { y: number; top: number; newTop?: number; limit: { top: number; bottom: number; }; }; }; export type AI_optionDetail = { value: any; optionOrg: any; rootProps: I_AIOInput; index: number; isFirstChild: boolean; isLastChild: boolean; show: any; checked?: boolean; checkIcon: ReactNode[]; text: ReactNode; subtext: ReactNode; after: ReactNode; before: ReactNode; justify: boolean; disabled: boolean; attrs: any; className: string; style: any; toggleIcon: false | { close?: ReactNode; open?: ReactNode; leaf?: ReactNode; }; isOpen: () => boolean; toggle: () => void; change: (newRow: any) => void; level: number; tagAttrs: any; tagBefore: any; tagAfter: any; tagText: any; tagSubtext: any; onClick?: (optionOrg: any, optionDetail: AI_optionDetail) => void; close?: boolean; active: boolean; childs?: any[]; body: ReactNode; parentOptions: AI_optionDetail[]; }; export declare const Signature: React.FC<{ attrs?: React.HTMLAttributes; size?: number; fa?: boolean; onSubmit?: (p: { file: any; base64: string | ArrayBuffer | null; }) => void; }>; export declare const Pattern: FC<{ size?: number; count?: number; onSubmit: (v: string) => void; pointColor?: string; lineColor?: string; backgroundColor?: string; }>; type I_CardsLayout_option = { before?: (item: T, index: number) => ReactNode; after?: (item: T, index: number) => ReactNode; subtext?: (item: T, index: number) => ReactNode; text?: (item: T, index: number) => ReactNode; onClick?: (item: T, index: number) => void; actions?: (item: T, index: number) => { text: ReactNode; before?: ReactNode; onClick?: () => void; }[]; html?: (item: T, index: number) => ReactNode; }; type I_CardsLayout = { attrs?: any; header?: ReactNode; headerAttrs?: any; bodyAttrs?: any; footer?: ReactNode; footerAttrs?: any; items: T[]; option: I_CardsLayout_option; }; export declare const Cards: ({ header, items, footer, headerAttrs, footerAttrs, bodyAttrs, attrs, option }: I_CardsLayout) => import("react/jsx-runtime").JSX.Element; export declare const Card: ({ option, item, index }: { option: I_CardsLayout_option; item: any; index: number; }) => any; export declare const TextList: FC; export declare const Scanner: FC<{ onScan: (text: string) => Promise; onClose?: () => void; fps?: number; style?: any; }>; export declare const Timeline: FC<{ date: number[]; onChange: (newDate: number[]) => void; }>; export declare const IRPlate: FC<{ value: string[]; attrs?: any; }>;