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

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,68 @@
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
+ - [Custom Layout Builder Component](#custom-layout-builder-component)
36
+ - [Troubleshooting](#troubleshooting)
37
+ - [Fonts or Icons Not Displaying](#fonts-or-icons-not-displaying)
38
+ - [Page Builder Architecture](#page-builder-architecture)
39
+ - [How the Page Builder Works](#how-the-page-builder-works)
40
+ - [Contributing](#contributing)
41
+ - [Security Vulnerabilities](#security-vulnerabilities)
42
+ - [Get in touch for customization or any questions](#get-in-touch-for-customization-or-any-questions)
43
+ - [Feedback](#feedback)
44
+ - [Support the Project](#support-the-project)
45
+ - [License](#license)
46
+
47
+ ## Demo
8
48
 
9
49
  A Vue 3 page builder component with drag & drop functionality for creating dynamic web pages.
10
50
 
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.
51
+ Create and enhance digital experiences with Vue on any backend.
52
+
53
+ Experience the power and simplicity of the Vue Website Page Builder in action.
54
+ Try the live demo to explore real-time visual updates, and smooth content management
55
+
56
+ [Play around with the Page Builder](https://www.builder-demo.myissue.dk)
57
+
58
+ ## Overview
59
+
60
+ 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.
61
+
62
+ Lightweight & Minimalist Page Builder with an elegant and intuitive design, focused on simplicity and speed.
13
63
 
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.
64
+ Build responsive pages like listings, jobs or blog posts and manage content easily.
15
65
 
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.
66
+ <img style="max-width: 100%;" src="./public/home/editor.jpg" alt="Vue Website Page Builder - the editor" />
17
67
 
18
- ## 🚀 Get Started in Minutes
68
+ ## Get Started in Minutes
19
69
 
20
70
  Easy setup and instant productivity.
21
71
  Follow the [Quick Start](#quick-start) guide to begin building with just a few simple steps.
@@ -30,22 +80,7 @@ The web builder for stunning pages. Enable users to design and publish modern pa
30
80
  npm install @myissue/vue-website-page-builder
31
81
  ```
32
82
 
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)
83
+ ---
49
84
 
50
85
  ## About
51
86
 
@@ -69,12 +104,13 @@ The Page Builder is packed with features:
69
104
  - **Local Storage & Auto-Save**: Never lose your work - changes are saved as you go.
70
105
  - **Unsplash**: Unsplash Integration.
71
106
  - **Responsive Editing**: Ensure your site looks great on all devices.
72
- - **Text Editing:** Edit text content live and in real-time.
107
+ - **Text Editing**: Edit text content live and in real-time.
73
108
  - **Font Customization**: Choose the perfect fonts to match your style.
74
109
  - **Undo & Redo**: Experiment confidently with the ability to revert changes.
75
110
  - **Global Styles**: Global Styles for fonts, designs, & colors.
76
111
  - **YouTube Videos**: Integrate video content smoothly.
77
112
  - **Download HTML**: Export the entire page as a standalone HTML file.
113
+ - **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
114
  - **Tailwind Support**: Fully compatible with Tailwind CSS (with automatic class prefixing to avoid conflicts).
79
115
  - **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
116
 
@@ -89,6 +125,9 @@ Powerful Page Builder for any growing merchants, brands, & agencies. Empower use
89
125
 
90
126
  ## Documentation
91
127
 
128
+ Find everything you need to get started, configure, and master the Vue Website Page Builder.
129
+ This section covers installation, requirements, quick start, advanced usage, and integration tips—so you can build and launch pages with confidence.
130
+
92
131
  ## Requirements
93
132
 
94
133
  Please note that these instructions assume you have Node.js installed.
@@ -117,6 +156,9 @@ bun install
117
156
 
118
157
  ## Quick Start
119
158
 
159
+ Get up and running with the Vue Website Page Builder in just a few minutes.
160
+ 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.
161
+
120
162
  ### Initializing the Page Builder
121
163
 
122
164
  To get started with the Page Builder, follow these steps:
@@ -142,18 +184,14 @@ app.mount('#app')
142
184
  > **Note:**
143
185
  > 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
186
 
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
187
  > **Note**
150
188
  > 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
189
 
152
- #### Why Use the Shared Instance?
190
+ ### Why Use the Shared Instance?
153
191
 
154
192
  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
193
 
156
- #### Usage
194
+ ### Using the Page Builder Component
157
195
 
158
196
  Ensure the following configuration options are set:
159
197
 
@@ -161,7 +199,7 @@ Ensure the following configuration options are set:
161
199
  Indicates whether you are creating or updating a resource. This is used to retrieve the correct content from local storage.
162
200
 
163
201
  - **`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.
202
+ Specifies the resource type (for example, `article`, `jobPost`, `store`, etc.).
165
203
 
166
204
  ```vue
167
205
  <script setup>
@@ -483,7 +521,9 @@ function closePageBuilder() {
483
521
  > You can name your handler function anything you like.
484
522
  > This pattern makes it easy to embed the builder in modals, dialogs, or overlays in any Vue app.
485
523
 
486
- ### Page Wrapper Styles
524
+ ## Styling the Main Page Builder Container
525
+
526
+ 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
527
 
488
528
  Use the `pageSettings` config to apply custom CSS classes and inline styles to the Page Builder’s main wrapper.
489
529
  The Page Builder renders all components wrapped inside a single parent container `<div id="pagebuilder">`.
@@ -503,7 +543,9 @@ const configPageBuilder = {
503
543
  } as const
504
544
  ```
505
545
 
506
- ### Download HTML file
546
+ 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.
547
+
548
+ ## Download HTML file
507
549
 
508
550
  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
551
 
@@ -520,10 +562,25 @@ const configPageBuilder = {
520
562
  } as const
521
563
  ```
522
564
 
523
- ### Custom Media Library Component or Custom Layout Builder Component
565
+ # Custom Components
566
+
567
+ 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.
568
+
569
+ ### Custom Media Library Component
570
+
571
+ By default, the Page Builder does not include a built-in media library.
572
+
573
+ 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.
574
+
575
+ You may extend the Page Builder by adding your own media library.
576
+ Inject your media library component easily to tailor the builder to your application's needs.
577
+
578
+ 📚 **[Custom Components Setup Guide](./CUSTOM_COMPONENTS_SETUP.md)**
579
+ Learn how to create and integrate your own components step by step.
580
+
581
+ ### Custom Layout Builder Component
524
582
 
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.
583
+ 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
584
 
528
585
  📚 **[Custom Components Setup Guide](./CUSTOM_COMPONENTS_SETUP.md)**
529
586
  Learn how to create and integrate your own components step by step.
@@ -544,7 +601,7 @@ import '@myissue/vue-website-page-builder/style.css'
544
601
 
545
602
  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
603
 
547
- #### How the Page Builder Works
604
+ ### How the Page Builder Works
548
605
 
549
606
  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
607