@myissue/vue-website-page-builder 3.3.58 → 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,11 +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.
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.
77
114
  - **Tailwind Support**: Fully compatible with Tailwind CSS (with automatic class prefixing to avoid conflicts).
78
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.
79
116
 
@@ -88,6 +125,9 @@ Powerful Page Builder for any growing merchants, brands, & agencies. Empower use
88
125
 
89
126
  ## Documentation
90
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
+
91
131
  ## Requirements
92
132
 
93
133
  Please note that these instructions assume you have Node.js installed.
@@ -116,6 +156,9 @@ bun install
116
156
 
117
157
  ## Quick Start
118
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
+
119
162
  ### Initializing the Page Builder
120
163
 
121
164
  To get started with the Page Builder, follow these steps:
@@ -141,18 +184,14 @@ app.mount('#app')
141
184
  > **Note:**
142
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.
143
186
 
144
- ### Accessing the Shared Page Builder Service
145
-
146
- 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.
147
-
148
187
  > **Note**
149
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.
150
189
 
151
- #### Why Use the Shared Instance?
190
+ ### Why Use the Shared Instance?
152
191
 
153
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.
154
193
 
155
- #### Usage
194
+ ### Using the Page Builder Component
156
195
 
157
196
  Ensure the following configuration options are set:
158
197
 
@@ -160,7 +199,7 @@ Ensure the following configuration options are set:
160
199
  Indicates whether you are creating or updating a resource. This is used to retrieve the correct content from local storage.
161
200
 
162
201
  - **`formName` (required):**
163
- 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.).
164
203
 
165
204
  ```vue
166
205
  <script setup>
@@ -482,7 +521,9 @@ function closePageBuilder() {
482
521
  > You can name your handler function anything you like.
483
522
  > This pattern makes it easy to embed the builder in modals, dialogs, or overlays in any Vue app.
484
523
 
485
- ### 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.
486
527
 
487
528
  Use the `pageSettings` config to apply custom CSS classes and inline styles to the Page Builder’s main wrapper.
488
529
  The Page Builder renders all components wrapped inside a single parent container `<div id="pagebuilder">`.
@@ -502,7 +543,9 @@ const configPageBuilder = {
502
543
  } as const
503
544
  ```
504
545
 
505
- ### 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
506
549
 
507
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.
508
551
 
@@ -519,10 +562,25 @@ const configPageBuilder = {
519
562
  } as const
520
563
  ```
521
564
 
522
- ### 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
523
582
 
524
- You may extend the Page Builder by adding your own media library or custom layout builder Component.
525
- 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.
526
584
 
527
585
  📚 **[Custom Components Setup Guide](./CUSTOM_COMPONENTS_SETUP.md)**
528
586
  Learn how to create and integrate your own components step by step.
@@ -543,7 +601,7 @@ import '@myissue/vue-website-page-builder/style.css'
543
601
 
544
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.
545
603
 
546
- #### How the Page Builder Works
604
+ ### How the Page Builder Works
547
605
 
548
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:
549
607