@signage-editor/vue
Vue 3 integration for @signage-editor/core
4,791
| Install | |
|---|---|
npm install @signage-editor/vue |
|
| Latest Version: | 0.1.25 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Sep 21, 2026 |
| Links: | npm |
Maintainer: link-reverie
@signage-editor/vue
Vue runtime bindings for the signage editor. This package re-exports @signage-editor/core, provides the Pinia editor store, and supplies Vue renderers/player components for preview and device playback.
Installation
pnpm add @signage-editor/vue vue pinia
@signage-editor/core is installed as a dependency of this package.
Quick Start
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import '@signage-editor/vue/style.css'
const app = createApp(App)
app.use(createPinia())
app.mount('#app')
<script setup lang="ts">
import { DOMPlayer, type TemplateBundle } from '@signage-editor/vue'
defineProps<{
bundle: TemplateBundle
}>()
</script>
<template>
<DOMPlayer :bundle="bundle" />
</template>
Renderer Guide
Custom elements created through @signage-editor/core need a Vue renderer before they can appear in preview or on the device player.
<!-- CountdownRenderer.vue -->
<script setup lang="ts">
defineProps<{
element: {
targetTime?: string
format?: string
}
}>()
</script>
<template>
<div class="countdown-renderer">
{{ element.targetTime || '未设置时间' }}
</div>
</template>
import { registerRenderer } from '@signage-editor/vue'
import CountdownRenderer from './CountdownRenderer.vue'
registerRenderer('countdown', CountdownRenderer)
Guidelines:
- The renderer
typemust match the core element plugintype. - Renderers receive the element object through the
elementprop. - Device playback and management preview should register the same renderer for the same element type.
- If a renderer is not registered, the player shows a fallback placeholder instead of failing.
Main Exports
This package re-exports all public exports from @signage-editor/core, so consumers can import schema types, element registry helpers, and player primitives from @signage-editor/vue when they are already using the Vue layer.
| Export | Description |
|---|---|
useEditorStore() |
Pinia store used by the editor UI |
DOMPlayer |
Vue player component for preview/device playback |
PlayerPage |
Simple page wrapper around the player |
registerRenderer(type, component) |
Register a Vue renderer for an element type |
resolveRenderer(type) |
Resolve a renderer or fallback |
HlsRenderer |
Built-in HLS/m3u8 renderer |
DataSourceServiceKey |
Vue injection key for data source services |
License
MIT
Related Packages
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.1.25 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.24 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.22 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.21 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.20 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.19 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.18 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.17 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.16 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.15 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.14 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.13 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.12 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.11 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.10 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.9 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.8 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.7 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.6 | >=3.2.47 <4.0.0 | MIT | |
| 0.1.5 | >=3.2.47 <4.0.0 | ||
| 0.1.4 | >=3.2.47 <4.0.0 | ||
| 0.1.3 | >=3.2.47 <4.0.0 | ||
| 0.1.2 | >=3.2.47 <4.0.0 | ||
| 0.1.1 | ^3.5.0 | ||
| 0.1.0 | ^3.5.0 |