import type { CSSProperties, VNodeChild } from "vue"; import type { XySemanticClassNames, XySemanticStyles } from "../core"; export type XyDividerDirection = "horizontal" | "vertical"; export type XyDividerOrientation = "center" | "left" | "right"; export type XyDividerOrientationMargin = number | string; export type XyDividerSize = "large" | "lg" | "md" | "middle" | "small" | "sm"; export type XyDividerResolvedSize = "lg" | "md" | "sm"; export type XyDividerSemanticDom = "label" | "line" | "root"; export interface XyDividerSemanticProps { dashed: boolean; direction: XyDividerDirection; hasLabel: boolean; orientation: XyDividerOrientation; plain: boolean; size: XyDividerResolvedSize; } export type XyDividerClassNames = XySemanticClassNames; export type XyDividerStyles = XySemanticStyles; export interface XyDividerProps { classNames?: XyDividerClassNames; dashed?: boolean; direction?: XyDividerDirection; label?: VNodeChild | string; orientation?: XyDividerOrientation; orientationMargin?: XyDividerOrientationMargin; plain?: boolean; size?: XyDividerSize; styles?: XyDividerStyles; type?: XyDividerDirection; } export interface XyDividerSlots { default?: () => VNodeChild; } export type XyDividerStyle = CSSProperties;