HypenHypen
Language Reference

Applicators Reference

Complete reference for Hypen applicators

Applicators Reference

Complete reference for all applicators in Hypen.

Spacing

ApplicatorDescriptionExample
paddingInternal spacing.padding(16)
padding(top, right, bottom, left)Per-side padding.padding(top: 16, left: 8)
padding(horizontal, vertical)Axis padding.padding(horizontal: 16, vertical: 8)
marginExternal spacing.margin(8)
gapChild spacing.gap(12)
rowGapRow gap in grid.rowGap(16)
columnGapColumn gap in grid.columnGap(8)

Size

ApplicatorDescriptionExample
widthFixed width.width(200)
heightFixed height.height(100)
sizeBoth dimensions.size(48)
minWidthMinimum width.minWidth(100)
maxWidthMaximum width.maxWidth(500)
minHeightMinimum height.minHeight(50)
maxHeightMaximum height.maxHeight(300)
fillMaxWidthFill width.fillMaxWidth(true)
fillMaxHeightFill height.fillMaxHeight(true)
fillMaxSizeFill both.fillMaxSize(true)
aspectRatioAspect ratio.aspectRatio(16/9)

Colors

ApplicatorDescriptionExample
colorText color.color("#333")
backgroundColorBackground.backgroundColor("#fff")
opacityTransparency.opacity(0.5)

Typography

ApplicatorDescriptionExample
fontSizeText size.fontSize(16)
fontWeightWeight/boldness.fontWeight("bold")
fontFamilyFont family.fontFamily("Inter")
fontStyleStyle (italic).fontStyle("italic")
textAlignAlignment.textAlign("center")
lineHeightLine height.lineHeight(1.5)
textDecorationDecoration.textDecoration("underline")

Borders

ApplicatorDescriptionExample
borderRadiusCorner radius.borderRadius(8)
borderWidthBorder thickness.borderWidth(1)
borderColorBorder color.borderColor("#ccc")

Effects

ApplicatorDescriptionExample
shadowShadow effect.shadow(blur: 8)
elevationAndroid elevation.elevation(4)

Layout

ApplicatorDescriptionExample
horizontalAlignmentHorizontal align.horizontalAlignment("center")
verticalAlignmentVertical align.verticalAlignment("center")
weightFlex weight.weight(1)
flexFlex shorthand.flex(1)
flexGrowGrow factor.flexGrow(1)
flexShrinkShrink factor.flexShrink(0)

Grid

ApplicatorDescriptionExample
gridColumnsNumber of columns.gridColumns(3)
gridTemplateColumnsColumn template.gridTemplateColumns("1fr 2fr 1fr")

Data Binding

ApplicatorDescriptionExample
bindTwo-way state binding.bind(@state.name)

The .bind() applicator provides two-way data binding for form elements. It maps to the correct property per element type:

  • Input / Textarea: Binds value (String)
  • Checkbox: Binds checked (Boolean)
  • Switch: Binds on (Boolean)
  • Select: Binds value (String)
Input(placeholder: "Name").bind(@state.name)
Checkbox {}.bind(@state.agreed)
Switch {}.bind(@state.darkMode)
Select {}.bind(@state.country)