UNPKG

@ray-js/smart-ui

Version:

轻量、可靠的智能小程序 UI 组件库

157 lines (156 loc) 3.13 kB
/// <reference types="react" /> import { SmartBaseExternalClassName, SmartComponent, SmartEventHandler } from '../base'; export interface SmartNavBarProps { /** * 标题 * * @default '' */ title?: string; /** * 是否显示圆角 * * @version 2.1.0 * @default false */ round?: boolean; /** * 左侧文案 * * @default '' */ leftText?: string; /** * 左侧文案样式类型,默认为 back * * @version v2.0.0 * @default 'back' */ leftTextType?: 'home' | 'title' | 'back'; /** * 左侧 Icon * * @version v2.0.0 * @default '' */ leftIcon?: string; /** * 左侧 Icon 大小,默认为 32 * * @version v2.0.0 * @default 32 */ leftIconSize?: string | number; /** * 右侧文案 * * @default '' */ rightText?: string; /** * 是否显示左侧箭头 * * @default false */ leftArrow?: boolean; /** * 是否固定在顶部 * * @default false */ fixed?: boolean; /** * 固定在顶部时是否开启占位 * * @default false */ placeholder?: boolean; /** * 是否显示下边框 * * @default true */ border?: boolean; /** * 元素 `z-index` * * @default 1 */ zIndex?: number; /** * 根节点自定义样式 */ customStyle?: React.CSSProperties; /** * 是否留出顶部安全距离(状态栏高度) * * @default true */ safeAreaInsetTop?: boolean; } export interface SmartNavBarEvents { /** * 点击左侧按钮时触发 */ onClickLeft?: SmartEventHandler; /** * 点击右侧按钮时触发 */ onClickRight?: SmartEventHandler; /** * 点击中央标题时触发 * * @version v2.0.0 */ onClickTitle?: SmartEventHandler; /** * 点击左侧 icon 时触发 * * @version v2.0.0 */ onClickLeftIcon?: SmartEventHandler; /** * 点击左侧文本时触发 * * @version v2.0.0 */ onClickLeftText?: SmartEventHandler; } export interface SmartNavBarExternalClassName extends SmartBaseExternalClassName { /** * 标题样式类 */ titleClass?: string; /** * 左侧 Icon 样式类 * * @version v2.0.0 */ leftIconClass?: string; /** * 右侧文字样式类 * * @version 2.1.0 */ rightTextClass?: string; } export interface SmartNavBarSlot { /** * NavBar Slot */ slot?: { /** * 自定义 title 显示内容,如果设置了 title 属性则不生效 */ title?: React.ReactNode; /** * 自定义左侧区域内容 */ left?: React.ReactNode; /** * 自定义右侧区域内容 */ right?: React.ReactNode; }; } export type SmartNavBar = SmartComponent<SmartNavBarProps, SmartNavBarEvents, SmartNavBarExternalClassName, SmartNavBarSlot>;