import { html, nothing, type TemplateResult } from 'lit';
import type { NuiType } from '../../types/nui-type.js';
import type { DividerAlign, DividerLayout, DividerType } from './types.js';
export interface NuiDividerViewState {
layout: DividerLayout | '';
align: DividerAlign | '';
type: DividerType | '';
nuiType: NuiType;
dividerClass: string;
lightDomHasContent: boolean;
}
export function resolveLayout(layout: DividerLayout | ''): DividerLayout {
return layout || 'horizontal';
}
export function resolveType(type: DividerType | ''): DividerType {
return type || 'solid';
}
export function resolveAlign(
state: Pick,
): DividerAlign | '' {
if (state.align) {
return state.align;
}
return 'center';
}
export function getDividerClass(dividerClass: string): string {
return ['nui-divider', dividerClass].filter(Boolean).join(' ');
}
export function renderDivider(state: NuiDividerViewState): TemplateResult {
const layout = resolveLayout(state.layout);
const type = resolveType(state.type);
const align = state.lightDomHasContent ? resolveAlign(state) : '';
const showLayout = layout !== 'horizontal';
const showType = type !== 'solid';
const showAlign = Boolean(align) && align !== 'center';
return html`
`;
}