@bluepic/embed v0.1.102
Bluepic Embed & Component Library
A UI library for visual template editing – usable either as a simple script embed or via modular Vue components.
🔹 Script Embedding (<script> without build)
Example
<head>
<!-- ... -->
<link rel="stylesheet" href="https://unpkg.com/@bluepic/embed@0.1.3/lib/style.css" />
<!-- ... -->
</head>
<body>
<!-- ... -->
<!-- The embed app wrapper element -->
<div id="bluepic-embed"></div>
<!-- Important: vue3 and @bluepic/embed -->
<script src="https://unpkg.com/vue@3.5.13/dist/vue.global.prod.js"></script>
<script src="https://unpkg.com/@bluepic/embed@0.1.3/lib/bluepic-fields.umd.js"></script>
<script>
// Wait for window to load
window.addEventListener('load', () => {
// Initialize embed instance
const embed = new BluepicFields.BluepicEmbed('#bluepic-embed', 'TEMPLATE_ID', {
initData: { foo: 'bar' },
displayMode: 'stack',
darkmode: true,
});
embed.addEventListener('ready', (event) => {
console.log('Editor ready', event.detail);
});
embed.addEventListener('data', (event) => {
console.log('Data changed', event.detail.data);
});
});
</script>
</body>Constructor
new BluepicEmbed(
selectorOrElement: string | HTMLElement,
templateId: string,
options?: {
initData?: Record<string, unknown>;
displayMode?: 'auto' | 'mobile' | 'stack';
allowPanAndZoom?: boolean;
darkmode?: boolean;
studioResourcesBaseUrl?: string;
cloudflarePagesHostname?: string;
theme?: BluepicEmbeddedEditorThemeConfig;
bxCoreVersion?: string;
publishedSlug?: string;
}
);Public Methods
embed.setVariable(key: string, value: unknown): void;
embed.setData(data: Record<string, unknown>, forceOverwrite?: boolean): void;Events
ready: Fired when the editor is fully initializeddata: Fired whendatachanges (event.detail.data)
🔸 Vue Components (modular usage)
📦 Installation
npm install bluepicMain Imports
import { BluepicEmbeddedEditor, BxFields, createPopup, BluepicEmbed, BluepicFieldComponents } from '@bluepic/embed';BluepicEmbeddedEditor
The main component for visual editing.
<template>
<bluepic-embedded-editor
v-model:data="data"
:template-id="templateId"
inline
:display-mode="'auto'"
:zoom-and-pan="false"
v-model:ready="ready"
/>
</template>
<script setup lang="ts">
import { ref } from 'vue';
const templateId = 'TEMPLATE_ID';
const data = ref({});
const ready = ref(false);
</script>🧩 createPopup(options)
Shows a modal popup overlay.
const popup = createPopup({
title: 'Confirm',
content: 'Do you want to continue?',
actions: [
{
label: 'OK',
icon: () => h(BxIcon, { name: 'check' }),
props: { variant: 'primary' },
},
],
darkmode: true,
});popup.close(); // Programmatically close the popup5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago