@ascentra/apex-vue
| Install | |
|---|---|
npm install @ascentra/apex-vue |
|
| Latest Version: | 3.4.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 13, 2026 |
| Links: | npm |
@ascentra/apex-vue
Vue 3 wrapper for the Apex configurator widget. Renders the <apex-widget> web component as an idiomatic Vue Single File Component.
Install
npm install @ascentra/apex-vue @ascentra/apex vue
The core widget script (@ascentra/apex) is a peer dependency. You can either import it (so a bundler picks it up) or load it from the CDN as a <script> tag — either way, the custom element must be registered before <ApexWidget /> mounts.
Vite / Vue compiler config
<apex-widget> is a custom element. Tell the Vue template compiler not to treat it as a Vue component:
// vite.config.ts
import vue from "@vitejs/plugin-vue";
export default defineConfig({
plugins: [
vue({
template: {
compilerOptions: {
isCustomElement: (tag) => tag.startsWith("apex-"),
},
},
}),
],
});
Usage
<script setup lang="ts">
import { ApexWidget } from "@ascentra/apex-vue";
import "@ascentra/apex"; // registers <apex-widget>
import "@ascentra/apex/style.css";
function onSubmit(event: CustomEvent) {
console.log("Quote submitted:", event.detail);
}
</script>
<template>
<ApexWidget
api-url="https://api.apex.ascentra.io"
api-key="apex_widget_..."
theme="light"
:height="600"
width="100%"
@quote-submit="onSubmit"
@error="(e) => console.error(e.detail)"
/>
</template>
Props
| Prop | Type | Required | Description |
|---|---|---|---|
apiUrl |
string |
yes | Apex API base URL |
apiKey |
string |
yes | Widget API key (apex_widget_...) |
theme |
'light' | 'dark' | 'system' |
Visual theme. Defaults to light |
|
height |
string | number |
||
width |
string | number |
||
initialRootItem |
string |
Pre-select a root item by code | |
initialItems |
string[] |
Pre-select child items by code |
Emits
| Event | Wire event | Detail |
|---|---|---|
ready |
apex:ready |
catalog loaded |
item-select |
apex:rootitemselect |
root product selected |
addon-change |
apex:itemselectionchange |
add-on selection changed |
quote-submit |
apex:quotesubmit |
quote submitted |
error |
apex:error |
error surfaced |
SSR / Nuxt
The widget is browser-only. Wrap usage in a <ClientOnly> block (Nuxt) or otherwise gate it behind a client-side mount.
Versioning
@ascentra/apex-vue ships in lockstep with @ascentra/apex. Both packages share the same version on every release.
License
MIT
Related Packages
wrap a vue component as a web component, for IE 11 too.
Native Web Component chat widget with complete CSS isolation using Shadow DOM
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 3.4.0 | ^3.0.0 | MIT | |
| 3.3.0 | ^3.0.0 | MIT | |
| 3.2.0 | ^3.0.0 | MIT | |
| 3.1.0 | ^3.0.0 | MIT | |
| 3.0.3 | ^3.0.0 | MIT | |
| 3.0.2 | ^3.0.0 | MIT | |
| 3.0.1 | ^3.0.0 | MIT | |
| 3.0.0 | ^3.0.0 | MIT | |
| 2.0.0 | ^3.0.0 | MIT |
Pre-releases (24)
| Version | Released | Vue | License |
|---|---|---|---|
| 3.0.0-alpha.10 | ^3.0.0 | MIT | |
| 3.0.0-alpha.9 | ^3.0.0 | MIT | |
| 2.0.0-alpha.42 | ^3.0.0 | MIT | |
| 2.0.0-alpha.41 | ^3.0.0 | MIT | |
| 2.0.0-alpha.40 | ^3.0.0 | MIT | |
| 2.0.0-alpha.39 | ^3.0.0 | MIT | |
| 2.0.0-alpha.38 | ^3.0.0 | MIT | |
| 2.0.0-alpha.37 | ^3.0.0 | MIT | |
| 2.0.0-alpha.36 | ^3.0.0 | MIT | |
| 2.0.0-alpha.35 | ^3.0.0 | MIT | |
| 2.0.0-alpha.34 | ^3.0.0 | MIT | |
| 2.0.0-alpha.33 | ^3.0.0 | MIT | |
| 2.0.0-alpha.32 | ^3.0.0 | MIT | |
| 2.0.0-alpha.31 | ^3.0.0 | MIT | |
| 2.0.0-alpha.30 | ^3.0.0 | MIT | |
| 2.0.0-alpha.29 | ^3.0.0 | MIT | |
| 2.0.0-alpha.28 | ^3.0.0 | MIT | |
| 2.0.0-alpha.27 | ^3.0.0 | MIT | |
| 2.0.0-alpha.26 | ^3.0.0 | MIT | |
| 2.0.0-alpha.25 | ^3.0.0 | MIT | |
| 2.0.0-alpha.24 | ^3.0.0 | MIT | |
| 2.0.0-alpha.23 | ^3.0.0 | MIT | |
| 2.0.0-alpha.22 | ^3.0.0 | MIT | |
| 2.0.0-alpha.21 | ^3.0.0 | MIT |