import React, { type FC, type ReactNode } from 'react'; import { type I_Range } from 'aio-range'; import { type AI_dateDetail, type I_Calendar } from 'aio-calendar'; import { Cards, Card, type I_Card } from 'aio-card'; import { useForm, type I_formInput, type I_formNode, type I_useFormProps, type I_formInputs } from 'aio-data-form'; export { Cards, Card, type I_Card }; import './index.css'; export { useForm, type I_formInput, type I_formNode, type I_useFormProps, type I_formInputs }; type AI_isDate = Omit; type AI_isRange = Omit; export type I_AIOInput = AI_isRange & AI_isDate & { required?: boolean; error?: { message?: string; onChangeError?: (error: string | undefined) => void; show?: boolean; validation?: string[]; label?: string; }; label?: { text?: string; attrs?: any; online?: boolean; }; layoutAttrs?: any; fa?: boolean; after?: ReactNode; before?: ReactNode; attrs?: any; className?: string; style?: any; disabled?: boolean; rtl?: boolean; justify?: boolean; value?: any; onChange?: (newValue: any, p?: any) => Promise | any; deSelect?: boolean; onSubmit?: (newValue: any, p?: any) => Promise | any; placeholder?: ReactNode; text?: 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; preview?: boolean; tagSearch?: string; hideTags?: boolean; 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; caret?: ReactNode | boolean | ((open: boolean) => ReactNode); popover?: { focus?: boolean | string; 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; filter?: { chars?: { [key: string]: boolean | undefined; }; number?: boolean; symbol?: boolean; letter?: boolean; arabicToPersian?: boolean; latinNumbers?: boolean; }; inputAttrs?: any; swip?: number; spin?: boolean; autoHighlight?: boolean; delay?: number; voice?: 'en' | 'fa'; multiple?: boolean; maxLength?: number; onSwap?: (newOptions: any[], fromIndex: number, toIndex: number) => void; optionsAttrs?: any; option?: AI_optionProp; options?: any[]; search?: string; debugKey?: string; onAdd?: (e: any) => void; onRemove?: (optionDetail: AI_optionDetail) => void; }; export type AI_optionDetail = { value: any; optionOrg: any; rootProps: I_AIOInput; index: number; show: any; checked?: boolean; checkIcon: ReactNode[] | undefined; text: ReactNode; after: ReactNode; before: ReactNode; justify: boolean; disabled: boolean; attrs: any; className: string; style: any; tagAttrs: any; tagBefore: any; tagAfter: any; tagText: any; tagClick: (optionOrg: any, optionDetail: AI_optionDetail, e: any) => void; onClick?: (optionOrg: any, optionDetail: AI_optionDetail) => void; close?: boolean; active: boolean; body: ReactNode; }; 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' | 'spinner' | 'slider' | 'list' | 'date' | 'color' | 'radio' | 'tabs' | 'file' | 'checkbox' | 'time' | 'buttons' | 'mask' | 'custom'; export type AI_date_trans = 'Today' | 'Clear' | 'Today' | 'This Month' | 'Select Year'; export type AI_Popover_props = { getRootProps: () => I_AIOInput; id: string; toggle: (popover: any) => void; types: AI_types; }; export type AI = Omit & { onChange?: AI_onChange; }; type AI_onChange = AI_type extends 'list' ? (v: any[]) => 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 '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 : never; export declare const AIMask: FC>; export declare const AIList: 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 AISelect: FC>; export declare const AIRadio: FC>; export declare const AITabs: FC>; export declare const AIButtons: FC>; export declare const AIFile: FC>; export declare const AICheckbox: FC>; export declare const AIDate: FC>; export declare const AITime: FC>; export declare const AISlider: FC>; export declare const AISpinner: FC>; type AI_types = { isMultiple: boolean; isInput: boolean; ai_height: boolean; hasTags: boolean; hasKeyboard: boolean; isSuggestion: boolean; hasList: boolean; }; declare const AIOInput: (p: I_AIOInput) => import("react/jsx-runtime").JSX.Element; export default AIOInput; 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; 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; }; export declare const AIImage: FC; export type I_MonthCalendar = { date: number[]; onClick?: (date: number[]) => void; dateAttrs?: (date: number[]) => any; }; export declare const MonthCalendar: FC; 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 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; }>; export declare const CheckIcon: FC<{ checkIcon?: ReactNode[]; checked?: boolean; round?: boolean; }>; type I_switchOptions = { textOn?: ReactNode; textOff?: ReactNode; textButton?: ReactNode; size?: number; groove?: boolean; width?: number; attrs?: any; buttonAttrs?: any; color?: string | (string[]); }; export declare const Switch: FC<{ value: boolean; switchOptions: I_switchOptions; onChange: (v: boolean) => void; }>; 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 declare const AIDragList: FC<{ options: { text: ReactNode; value: any; }[]; count?: number; stop?: number; decay?: number; size?: number; attrs?: any; disabled?: boolean; value: any; onChange: (option: { text: ReactNode; value: any; }, index: number) => void; }>; 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;