Skip to content

Properties Catalogue

This document is the comprehensive reference for all properties recognized by the Vireo compiler and renderers.


1. Sizing & Geometry

PropertyType / ValuesDescriptionExample
widthNumber, "fill", "hug"Width in pixels, flex-grow (fill), or content hugging (hug)width: 320
width: fill
heightNumber, "fill", "hug"Height in pixels, flex-grow (fill), or content hugging (hug)height: 48
height: hug
xNumberExplicit horizontal offset (renders position: absolute)x: 100
yNumberExplicit vertical offset (renders position: absolute)y: 200

2. Typography

PropertyType / ValuesDescriptionExample
textStringText content rendered inside the elementtext: "Submit"
fontSizeNumberFont size in pixelsfontSize: 16
fontWeight"normal", "medium", "semibold", "bold", etc.CSS font weightfontWeight: bold
fontFamilyStringFont family name (default: Inter)fontFamily: "Inter"

3. Colors & Fills

PropertyType / ValuesDescriptionExample
colorHex (#RRGGBB), TokenText color if element contains text; background color otherwisecolor: #2563EB
backgroundColorHex (#RRGGBB), TokenExplicit background surface colorbackgroundColor: #F3F4F6

4. Spacing, Borders & Shapes

PropertyType / ValuesDescriptionExample
paddingNumber or Space-separatedUniform padding in px or vertical horizontalpadding: 16
padding: 12 24
radiusNumberCorner radius (border-radius) in pixelsradius: 8
borderWidth HexColor or CSS stringBorder stroke width and colorborder: 1 #E5E7EB

5. Visual Effects & Elevation

PropertyType / ValuesDescriptionExample
shadowBoolean (true / false)Applies a subtle elevation drop shadowshadow: true

6. Layout & Alignment

PropertyType / ValuesDescriptionExample
layout"horizontal", "vertical", "stack"Direction of children (flexbox, or layered stack)layout: vertical
layout: stack
gapNumberGap in pixels between child componentsgap: 16
alignItems"flex-start", "center", "flex-end", "stretch"Cross-axis alignment of childrenalignItems: center
justifyContent"flex-start", "center", "space-between", etc.Main-axis distribution of childrenjustifyContent: "space-between"

7. Interactive & Form Controls

PropertyType / ValuesDescriptionExample
placeholderStringPlaceholder text for input componentsplaceholder: "name@company.com"
labelStringShorthand text label for button or input elementslabel: "Sign In"
href / url / linkStringWeb hyperlink (renders an <a> anchor element)href: "https://vireo.dev"
refDot-notation identifierInherit definition from another componentref: buttons.Primary.Default

8. Rich Media & Layer Stacking (Phase 8)

PropertyType / ValuesDescriptionExample
image / srcString (path or URL)Path or URL to raster image (.png, .jpg, .webp, .gif, .avif) or vector (.svg)image: "avatar.png"
backgroundImageString (path or URL)Background image applied to a container framebackgroundImage: "hero-bg.jpg"
fit / objectFit"cover", "contain", "fill", "none"Scale mode for image assetsfit: cover
videoString (path or URL)HTML5 video player stream (.mp4, .webm)video: "demo.mp4"
posterString (path or URL)Video preview poster thumbnailposter: "thumb.jpg"
controlsBooleanShow audio/video native browser player controlscontrols: true
autoplayBooleanAutoplay video on loadautoplay: true
loopBooleanLoop media playbackloop: true
mutedBooleanMute media audiomuted: true
audioString (path or URL)HTML5 audio player stream (.mp3, .wav, .ogg)audio: "song.mp3"
iframe / embedString (URL or path)Embedded webpage or YouTube iframeiframe: "https://www.youtube.com/watch?v=..."
zIndex / zNumber (integer)Stacking layer order inside stack layoutszIndex: 2

Released under the MIT License.