a reactive (signals based) hypermedia web framework (wip) stormlightlabs.github.io/volt/
hypermedia frontend signals

version: 1.0 updated: 2025-10-18#

plugin#

Plugin system for extending VoltX.js with custom bindings

registerPlugin#

Register a custom plugin with a given name. Plugins extend VoltX.js with custom data-volt-* attribute bindings.

export function registerPlugin(name: string, handler: PluginHandler): void

Example:

registerPlugin('tooltip', (context, value) => {
  const tooltip = document.createElement('div');
  tooltip.className = 'tooltip';
  tooltip.textContent = value;
  context.element.addEventListener('mouseenter', () => {
    document.body.appendChild(tooltip);
  });
  context.element.addEventListener('mouseleave', () => {
    tooltip.remove();
  });
  context.addCleanup(() => tooltip.remove());
});

getPlugin#

Get a plugin handler by name.

export function getPlugin(name: string): PluginHandler | undefined

hasPlugin#

Check if a plugin is registered.

export function hasPlugin(name: string): boolean

unregisterPlugin#

Unregister a plugin by name.

export function unregisterPlugin(name: string): boolean

getRegisteredPlugins#

Get all registered plugin names.

export function getRegisteredPlugins(): string[]

clearPlugins#

Clear all registered plugins.

export function clearPlugins(): void