import { createContext } from 'solid-js'; import type { StyleRule } from '@union-web/core'; export interface UnionIR { rules: StyleRule[]; } export const UnionIRContext = createContext({ rules: [] }); export interface AncestorElementData { role: string; states?: string[]; hints?: string[]; attributes?: Record; ids?: string[]; } export interface UnionAncestorData { elements: AncestorElementData[]; } export const UnionAncestorContext = createContext({ elements: [] }); /* Positioner */ export interface PositionerChildInfo { horizontal: () => string; vertical: () => string; container: () => string; } export interface PositionerCtx { register(info: PositionerChildInfo): void; unregister(info: PositionerChildInfo): void; } export const PositionerContext = createContext(null);