@ray-js/components
Version:
Ray basic components
132 lines (131 loc) • 3.63 kB
TypeScript
import * as React from 'react';
export interface BaseProps extends TouchEventHandler {
/**
* @description.en id
* @description.zh ID
* @default undefined
*/
id?: string;
/**
* @description.en className
* @description.zh css 类名
* @default undefined
*/
className?: string;
/**
* @description.en style
* @description.zh 样式
* @default undefined
*/
style?: React.CSSProperties;
/**
* @description.en children
* @description.zh 子元素
* @default undefined
*/
children?: React.ReactNode | React.ReactNode[] | string;
/**
* @description.en Mini program component slot identifier
* @description.zh 小程序组件插槽标识
* @default undefined
* @deprecated 该属性仅在小程序基础组件中使用, 不建议在 React DSL 中使用
*/
slot?: string;
}
export interface HoverableProps {
/**
* @description.en Specifies the style class on which the button is pressed. Hover -class=" None ", no click effect
* @description.zh 指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果
* @default undefined
*/
hoverClassName?: string;
/**
* @description.en How long does it take for the click state to appear after holding, in milliseconds
* @description.zh 按住后多久出现点击态,单位毫秒
* @default undefined
*/
hoverStartTime?: number;
/**
* @description.en Click retention time after finger release, in milliseconds
* @description.zh 手指松开后点击态保留时间,单位毫秒
* @default undefined
*/
hoverStayTime?: number;
}
interface TouchObj {
identifier: string;
pageX: number;
pageY: number;
}
interface TouchEvent {
touches: TouchObj[];
changedTouches: TouchObj[];
timestamp: number;
origin: any;
}
/**
* 多端通用事件
*/
export interface TouchEventHandler {
/**
* @description.en onClick
* @description.zh 点击回调
* @default undefined
*/
onClick?: (e: TouchEvent) => any;
/**
* @description.en Long press the trigger
* @description.zh 长按触发
* @default undefined
*/
onLongClick?: (e: TouchEvent) => any;
/**
* @description.en onLongPress event callback, no longer trigger click event
* @description.zh 长按事件回调, 不再触发点击事件
* @default undefined
* @param e
*/
onLongPress?: (e: TouchEvent) => any;
/**
* @description.en onTouchStart
* @description.zh 开始触摸事件回调
* @default undefined
*/
onTouchStart?: (e: TouchEvent) => any;
/**
* @description.en onTouchMove
* @description.zh 触摸移动事件回调
* @default undefined
*/
onTouchMove?: (e: TouchEvent) => any;
/**
* @description.en onTouchEnd
* @description.zh 触摸结束事件回调
* @default undefined
*/
onTouchEnd?: (e: TouchEvent) => any;
/**
* @description.en onTouchCancel
* @description.zh 触摸取消事件回调
* @default undefined
*/
onTouchCancel?: (e: TouchEvent) => any;
}
/**
* 通用回调事件
*/
export interface CallBackProps {
/**
* 接口调用成功的回调函数
*/
success?: (res?: any) => void;
/**
* 接口调用失败的回调函数
*/
fail?: (res?: any) => void;
/**
* 接口调用结束的回调函数(调用成功、失败都会执行)
*/
complete?: (res?: any) => void;
}
export * from './event';