Skip to content
ONIWC
iwc 0.1.0

svg element

An SVG file shown as an image.

Renders

<img> (SVG is never inlined from project data)

Required

source.

Native apps

Compiled native apps and server-driven apps

Syntax

svg element
{ "type": "svg" }

An element lives in a screen's sections, another element's elements, a layout slot or a component root.

Properties

PropertyTypeDescription
sourcestringimage/video/audio/svg URL or assets path
altstring

Plus the properties every element accepts: id, className, style, responsive, states, animation, visible, ariaLabel, attributes and more.

Example

svg example
{ "type": "svg", "source": "/assets/logo.svg", "alt": "Lumen & Oak" }

Expected output

The HTML IWC rendered for the example above (inside the page's content wrapper). Class names such as i807b63fc are generated per element for its scoped CSS.

Rendered HTML
<div class="iwc-page ipage" id="iwc-content">
  <img class="iwc-svg i9b13c1f5" src="/assets/logo.svg" alt="Lumen &amp; Oak">
</div>

Data, conditions & styling

  • Conditional rendering: "visible": {"auth": "signed-in"}, {"roles": ["admin"]} or an expression such as "=product.stock > 0". Decided on the server: hidden elements are never sent.
  • Data binding: bind takes text from data (name, user.name, props.title, params.slug, state.cart.count); binds binds attributes. Containers become data-driven with data + item. See data binding.
  • Styling: className for your stylesheets, style for CSS in JSON, states for hover/focus/active, animation for entrance motion. See the style property reference.
  • Responsive behaviour: responsive applies CSS at or below a breakpoint ({"mobile": {"padding": "12px"}}); grids also take responsiveColumns.