12 lines
709 B
TypeScript
12 lines
709 B
TypeScript
import { h } from '@ui-arch/frame';
|
|
import type { DividerProps } from './types.js';
|
|
|
|
/*** 分隔线:水平/垂直两种方向,可带居中文案标签,dashed 切虚线 ***/
|
|
export function divider(props: DividerProps): HTMLDivElement {
|
|
const cls = ['ua-divider', props.vertical ? 'ua-divider-vertical' : '', props.dashed ? 'ua-divider-dashed' : ''].filter(Boolean).join(' ');
|
|
const line = props.label && !props.vertical
|
|
? h('div', { class: cls, role: 'separator', 'aria-label': props.label }, h('span', { class: 'ua-divider-label' }, props.label))
|
|
: h('div', { class: cls, role: 'separator', 'aria-label': props.label }); // 垂直或无标签:纯线条
|
|
return line as HTMLDivElement;
|
|
}
|