Summary
DivHStacked and DivVStacked don't accept a gap parameter, so callers that need a non-default gap must either write the Tailwind class manually or maintain wrapper components that do the translation.
Reproduction
from monsterui.franken import DivHStacked
DivHStacked(A, B, gap=4) # TypeError — unexpected keyword argument
Expected behaviour
DivHStacked(A, B, gap=4) # renders with class "gap-4" applied
DivVStacked(A, B, gap=2) # renders with class "gap-2" applied
Current workaround
Downstream code maintains wrapper components solely to translate gap=int into the corresponding Tailwind class:
def DivHStacked(*c, gap: int = 2, cls: str = "", **kwargs):
classes = [f"flex items-center gap-{gap}"]
if cls:
classes.append(cls)
return Div(*c, cls=" ".join(classes), **kwargs)
These wrappers exist only because the originals don't support gap — they add no semantic value of their own.
Suggested fix
Accept an optional gap: int | None = None keyword on both DivHStacked and DivVStacked and append f"gap-{gap}" to the class list when provided.
Summary
DivHStackedandDivVStackeddon't accept agapparameter, so callers that need a non-default gap must either write the Tailwind class manually or maintain wrapper components that do the translation.Reproduction
Expected behaviour
Current workaround
Downstream code maintains wrapper components solely to translate
gap=intinto the corresponding Tailwind class:These wrappers exist only because the originals don't support
gap— they add no semantic value of their own.Suggested fix
Accept an optional
gap: int | None = Nonekeyword on bothDivHStackedandDivVStackedand appendf"gap-{gap}"to the class list when provided.