Integrations
Vitrine elements are standard custom elements: every framework can render them. Pass data
you did not write through properties, listen to vt-* events, and submit tags
with your forms.
Live binding
The field below is a <vt-tags> inside a form. Every change fires
vt-change; the panel on the right shows the event and the value the form
would submit.
Plain HTML and JavaScript
One script tag defines every element. Inline content is fine for your own text; use the content property for anything else.
ES modules, one per component
Load only the elements a page uses. Shared code is split into chunks and downloaded once; the configuration stays shared.
Vue 3
Tell the compiler that vt-* tags are custom elements, then bind properties
with .prop and listen with @vt-….
React 19
React 19 sets properties on custom elements and attaches listeners for their events. Earlier versions need a ref.
Svelte 5
Angular
Add CUSTOM_ELEMENTS_SCHEMA to the component, then bind properties with
[…] and events with (…).
Forms
<vt-tags name="…"> is a real form field: it is submitted, validated
with required, reset with the form, and disabled with a
<fieldset disabled>.
Backend suggestions
Point suggest-src at an endpoint returning a JSON array, or set the
suggest property to your own function. Typing is debounced and stale requests
are cancelled.
PHP and Django
Never print user data inside the element: the browser would parse it as page HTML. Put it in a JSON script and hand it over with JavaScript.