@myissue/vue-website-page-builder 3.3.59 → 3.3.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,18 +4,69 @@
4
4
 
5
5
  # Free Click & Drop Page Builder
6
6
 
7
- ## Overview
7
+ - [Free Click \& Drop Page Builder](#free-click--drop-page-builder)
8
+ - [Demo](#demo)
9
+ - [Overview](#overview)
10
+ - [Get Started in Minutes](#get-started-in-minutes)
11
+ - [Installation](#installation)
12
+ - [About](#about)
13
+ - [Features](#features)
14
+ - [Technical details](#technical-details)
15
+ - [Documentation](#documentation)
16
+ - [Requirements](#requirements)
17
+ - [Getting started \& installation](#getting-started--installation)
18
+ - [Quick Start](#quick-start)
19
+ - [Initializing the Page Builder](#initializing-the-page-builder)
20
+ - [Why Use the Shared Instance?](#why-use-the-shared-instance)
21
+ - [Using the Page Builder Component](#using-the-page-builder-component)
22
+ - [Important: CSS Prefixing (`pbx-`)](#important-css-prefixing-pbx-)
23
+ - [Rendering HTML Output in Other Frameworks (React, Nuxt, etc.)](#rendering-html-output-in-other-frameworks-react-nuxt-etc)
24
+ - [Providing Configuration to the Page Builder](#providing-configuration-to-the-page-builder)
25
+ - [Local Storage \& Auto-Save](#local-storage--auto-save)
26
+ - [Retrieving the Latest HTML Content for Form Submission](#retrieving-the-latest-html-content-for-form-submission)
27
+ - [Resetting the Builder After Successful Resource Creation or Update](#resetting-the-builder-after-successful-resource-creation-or-update)
28
+ - [Loading existing Content or Components into the Page Builder](#loading-existing-content-or-components-into-the-page-builder)
29
+ - [Automatic Draft Recovery](#automatic-draft-recovery)
30
+ - [Embedding Page Builder in a Modal or Dialog](#embedding-page-builder-in-a-modal-or-dialog)
31
+ - [Styling the Main Page Builder Container](#styling-the-main-page-builder-container)
32
+ - [Download HTML file](#download-html-file)
33
+ - [Custom Components](#custom-components)
34
+ - [Custom Media Library Component](#custom-media-library-component)
35
+ - [Integrate Unsplash Library](#integrate-unsplash-library)
36
+ - [Custom Layout Builder Component](#custom-layout-builder-component)
37
+ - [Troubleshooting](#troubleshooting)
38
+ - [Fonts or Icons Not Displaying](#fonts-or-icons-not-displaying)
39
+ - [Page Builder Architecture](#page-builder-architecture)
40
+ - [How the Page Builder Works](#how-the-page-builder-works)
41
+ - [Contributing](#contributing)
42
+ - [Security Vulnerabilities](#security-vulnerabilities)
43
+ - [Get in touch for customization or any questions](#get-in-touch-for-customization-or-any-questions)
44
+ - [Feedback](#feedback)
45
+ - [Support the Project](#support-the-project)
46
+ - [License](#license)
47
+
48
+ ## Demo
8
49
 
9
50
  A Vue 3 page builder component with drag & drop functionality for creating dynamic web pages.
10
51
 
11
- Tailored for Vue Developers
12
- If you're a Vue 3 developer, this builder feels right at home. It installs quickly via npm and supports full customization through props and configuration objects. You can even set specific user settings like image, name, theme, language, and autosave preferences, making it a personalized experience for every user.
52
+ Create and enhance digital experiences with Vue on any backend.
53
+
54
+ Experience the power and simplicity of the Vue Website Page Builder in action.
55
+ Try the live demo to explore real-time visual updates, and smooth content management
56
+
57
+ [Play around with the Page Builder](https://www.builder-demo.myissue.dk)
58
+
59
+ ## Overview
60
+
61
+ If you're a Vue 3 developer, this builder feels right at home. It installs quickly via npm and supports full customization through props and configuration objects. You can even set specific user settings like image, name, theme, language, company logo and autosave preferences, making it a personalized experience for every user.
62
+
63
+ Lightweight & Minimalist Page Builder with an elegant and intuitive design, focused on simplicity and speed.
13
64
 
14
- Integration is easy, and content is safely auto stored in the browser's local storage. You can retrieve HTML content when you're ready to publish, giving you total control over content output.
65
+ Build responsive pages like listings, jobs or blog posts and manage content easily.
15
66
 
16
- Want to include your company logo in the editor toolbar or reflect your brand's color scheme throughout the builder interface? Done. With robust configuration options, branding the builder to match your product or client identity is quick and effortless.
67
+ <img style="max-width: 100%;" src="./public/home/editor.jpg" alt="Vue Website Page Builder - the editor" />
17
68
 
18
- ## 🚀 Get Started in Minutes
69
+ ## Get Started in Minutes
19
70
 
20
71
  Easy setup and instant productivity.
21
72
  Follow the [Quick Start](#quick-start) guide to begin building with just a few simple steps.
@@ -30,22 +81,7 @@ The web builder for stunning pages. Enable users to design and publish modern pa
30
81
  npm install @myissue/vue-website-page-builder
31
82
  ```
32
83
 
33
- ## Click & Drop Page Builder
34
-
35
- [Play around with the Page Builder](https://www.builder-demo.myissue.dk)
36
-
37
- Lightweight & Minimalist Page Builder with an elegant and intuitive design, focused on simplicity and speed.
38
-
39
- Build responsive pages like listings, jobs or blog posts and manage content easily using the free Click & Drop Page Builder.
40
-
41
- <img style="max-width: 100%;" src="./public/home/editor.jpg" alt="Vue Website Page Builder - the editor" />
42
-
43
- ## Demo
44
-
45
- Introducing **The Lightweight Free Vue Click & Drop Page Builder**
46
- create and enhance digital experiences with Vue on any backend.
47
-
48
- [Play around with the Page Builder](https://www.builder-demo.myissue.dk)
84
+ ---
49
85
 
50
86
  ## About
51
87
 
@@ -69,12 +105,13 @@ The Page Builder is packed with features:
69
105
  - **Local Storage & Auto-Save**: Never lose your work - changes are saved as you go.
70
106
  - **Unsplash**: Unsplash Integration.
71
107
  - **Responsive Editing**: Ensure your site looks great on all devices.
72
- - **Text Editing:** Edit text content live and in real-time.
108
+ - **Text Editing**: Edit text content live and in real-time.
73
109
  - **Font Customization**: Choose the perfect fonts to match your style.
74
110
  - **Undo & Redo**: Experiment confidently with the ability to revert changes.
75
111
  - **Global Styles**: Global Styles for fonts, designs, & colors.
76
112
  - **YouTube Videos**: Integrate video content smoothly.
77
113
  - **Download HTML**: Export the entire page as a standalone HTML file.
114
+ - **Global Page Styling**: Instantly define, update, or clear global styles for the main page wrapper at initialization or dynamically at runtime. Gain full control over fonts, colors, backgrounds, and more for a dynamic user experience.
78
115
  - **Tailwind Support**: Fully compatible with Tailwind CSS (with automatic class prefixing to avoid conflicts).
79
116
  - **Styles Prefixed**: To ensure clean and predictable styling, the builder uses Scoped Style Isolation. No risk of style conflicts between the builder and your app.
80
117
 
@@ -89,6 +126,9 @@ Powerful Page Builder for any growing merchants, brands, & agencies. Empower use
89
126
 
90
127
  ## Documentation
91
128
 
129
+ Find everything you need to get started, configure, and master the Vue Website Page Builder.
130
+ This section covers installation, requirements, quick start, advanced usage, and integration tips—so you can build and launch pages with confidence.
131
+
92
132
  ## Requirements
93
133
 
94
134
  Please note that these instructions assume you have Node.js installed.
@@ -117,6 +157,9 @@ bun install
117
157
 
118
158
  ## Quick Start
119
159
 
160
+ Get up and running with the Vue Website Page Builder in just a few minutes.
161
+ This section walks you through the essential steps—from installation to rendering your first page—so you can start building beautiful, dynamic content right away.
162
+
120
163
  ### Initializing the Page Builder
121
164
 
122
165
  To get started with the Page Builder, follow these steps:
@@ -142,18 +185,14 @@ app.mount('#app')
142
185
  > **Note:**
143
186
  > You only need to import the CSS file once. If you have already imported it in your app entry, you do not need to import it again in individual components.
144
187
 
145
- ### Accessing the Shared Page Builder Service
146
-
147
- After initializing the Page Builder service in your application (by calling `initPageBuilder()` once in your app entry point), you may access the shared instance from anywhere in your application using the `getPageBuilder()` composable.
148
-
149
188
  > **Note**
150
189
  > The Page Builder is implemented as a singleton service. This ensures that all page-building logic and state are managed by a single, shared instance throughout your application.
151
190
 
152
- #### Why Use the Shared Instance?
191
+ ### Why Use the Shared Instance?
153
192
 
154
193
  By always accessing the shared instance, you avoid creating multiple, isolated copies of the builder. This prevents data inconsistencies, synchronization issues, and unpredictable behavior. All components and modules interact with the same centralized service, ensuring that updates and state changes are reflected everywhere in your application.
155
194
 
156
- #### Usage
195
+ ### Using the Page Builder Component
157
196
 
158
197
  Ensure the following configuration options are set:
159
198
 
@@ -161,7 +200,7 @@ Ensure the following configuration options are set:
161
200
  Indicates whether you are creating or updating a resource. This is used to retrieve the correct content from local storage.
162
201
 
163
202
  - **`formName` (required):**
164
- Specifies the resource type (for example, `article`, `jobPost`, `store`, etc.). This is essential for platforms supporting multiple resource types, as it enables the builder to manage layouts and local storage for each resource uniquely.
203
+ Specifies the resource type (for example, `article`, `jobPost`, `store`, etc.).
165
204
 
166
205
  ```vue
167
206
  <script setup>
@@ -483,7 +522,9 @@ function closePageBuilder() {
483
522
  > You can name your handler function anything you like.
484
523
  > This pattern makes it easy to embed the builder in modals, dialogs, or overlays in any Vue app.
485
524
 
486
- ### Page Wrapper Styles
525
+ ## Styling the Main Page Builder Container
526
+
527
+ The Page Builder allows you to define and update global styles for the main wrapper (#pagebuilder) at any time. These settings control the overall appearance, including font family, text color, background color, and more. Whether you set them initially in your config or update them dynamically at runtime, your changes are instantly reflected across all sections.
487
528
 
488
529
  Use the `pageSettings` config to apply custom CSS classes and inline styles to the Page Builder’s main wrapper.
489
530
  The Page Builder renders all components wrapped inside a single parent container `<div id="pagebuilder">`.
@@ -503,7 +544,9 @@ const configPageBuilder = {
503
544
  } as const
504
545
  ```
505
546
 
506
- ### Download HTML file
547
+ You have full control over the page’s appearance at any time — instantly override or clear global styles for the entire page, ensuring a seamless and dynamic user experience.
548
+
549
+ ## Download HTML file
507
550
 
508
551
  Export the entire page as a standalone HTML file. This includes all sections, content, and applied styles, making the file ready for use or integration elsewhere.
509
552
 
@@ -520,10 +563,33 @@ const configPageBuilder = {
520
563
  } as const
521
564
  ```
522
565
 
523
- ### Custom Media Library Component or Custom Layout Builder Component
566
+ ## Custom Components
567
+
568
+ If you want to use your own components—whether custom-designed or tailored to your application's needs—you can inject them directly into the builder.
569
+
570
+ ### Custom Media Library Component
571
+
572
+ By default, the Page Builder does not include a built-in media library.
573
+
574
+ This is intentional—without a custom media library, layout components that rely on images (such as Image Blocks, Hero Sections, and similar) are disabled by default. Only helper components like containers, headings, text, and buttons are available in this state.
575
+
576
+ You may extend the Page Builder by adding your own media library.
577
+ Inject your media library component easily to tailor the builder to your application's needs.
578
+
579
+ 📚 **[Custom Components Setup Guide](./CUSTOM_COMPONENTS_SETUP.md)**
580
+ Learn how to create and integrate your own components step by step.
581
+
582
+ ### Integrate Unsplash Library
583
+
584
+ Easily add Unsplash image search to your media library modal—just like in the demo!
585
+ Code example — You can copy-paste the provided example to get started.
586
+
587
+ See the full step-by-step guide and working demo code here:
588
+ 📚 **[Unsplash Integration Guide](./UNSPLASH_INTEGRATION.md)**
589
+
590
+ ### Custom Layout Builder Component
524
591
 
525
- You may extend the Page Builder by adding your own media library or custom layout builder Component.
526
- Inject your components easily to tailor the builder to your application's needs.
592
+ The Page Builder comes with a growing collection of built-in components, including both layout and helper components. These defaults are continuously improved and expanded.
527
593
 
528
594
  📚 **[Custom Components Setup Guide](./CUSTOM_COMPONENTS_SETUP.md)**
529
595
  Learn how to create and integrate your own components step by step.
@@ -544,7 +610,7 @@ import '@myissue/vue-website-page-builder/style.css'
544
610
 
545
611
  The Page Builder is designed as a modular, state-driven editor for dynamic page content. Its architecture separates configuration, state management, and DOM interaction, ensuring flexibility and maintainability.
546
612
 
547
- #### How the Page Builder Works
613
+ ### How the Page Builder Works
548
614
 
549
615
  The Page Builder is designed to be easy to use and flexible for any web project. Here’s how it works behind the scenes:
550
616