"""Shared type aliases used across the smarty_ui library."""

from typing import Union

import pydivkit as dk

# Any DivKit element that can be placed inside a container
DivElement = Union[
    dk.DivText,
    dk.DivImage,
    dk.DivGifImage,
    dk.DivContainer,
    dk.DivSeparator,
    dk.DivGrid,
    dk.DivGallery,
    dk.DivPager,
    dk.DivTabs,
    dk.DivState,
    dk.DivInput,
    dk.DivSelect,
    dk.DivIndicator,
    dk.DivSlider,
    dk.DivVideo,
    dk.DivCustom,
]

# Size types accepted by width/height parameters
SizeSpec = Union[dk.DivFixedSize, dk.DivMatchParentSize, dk.DivWrapContentSize]
