@myissue/vue-website-page-builder 3.1.34 → 3.1.37

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
@@ -5,7 +5,10 @@
5
5
  ## **DEVELOPMENT VERSION - NOT READY FOR PRODUCTION**
6
6
 
7
7
  🚀 **Official Launch Date: June 15, 2025**
8
- _We're working hard to bring you a production-ready page builder. Stay tuned for updates!_
8
+ We're working hard to bring you a production-ready page builder. Stay tuned for updates!
9
+
10
+ You are welcome to test the builder and report any bugs or feedback before the official launch date.
11
+ Your input will help us deliver a more stable and feature-rich release!
9
12
 
10
13
  # Free Click & Drop Page Builder
11
14
 
@@ -23,9 +26,9 @@ npm install @myissue/vue-website-page-builder
23
26
 
24
27
  ## Click & Drop Page Builder
25
28
 
26
- [Play around with the page builder](https://www.builder-demo.myissue.dk)
29
+ [Play around with the Page Builder](https://www.builder-demo.myissue.dk)
27
30
 
28
- Born out of desire to create a minimalist page builder with an elegant and intuitive design.
31
+ Lightweight & Minimalist Page Builder with an elegant and intuitive design, focused on simplicity and speed.
29
32
 
30
33
  Build responsive pages like listings, jobs or blog posts and manage content easily using the free Click & Drop Page Builder.
31
34
 
@@ -33,10 +36,10 @@ To star the repository, simply click on the **Star** button located at the top-r
33
36
 
34
37
  ## Demo
35
38
 
36
- Introducing the **The LightweightFree Vue Click & Drop Page Builder**
39
+ Introducing the **The Lightweight Free Vue Click & Drop Page Builder**
37
40
  create and enhance digital experiences with Vue on any backend.
38
41
 
39
- [Play around with the page builder](https://www.builder-demo.myissue.dk)
42
+ [Play around with the Page Builder](https://www.builder-demo.myissue.dk)
40
43
 
41
44
  ## About
42
45
 
@@ -57,7 +60,7 @@ The Page Builder is packed with features:
57
60
  - **Media Library**: Access and manage your media files effortlessly.
58
61
  - **Unsplash**: Unsplash Integration.
59
62
  - **Responsive Editing**: Ensure your site looks great on all devices.
60
- - **Text Editing**: Customize your text with ease.
63
+ - **Text Editing:** Edit text content live and in real-time.
61
64
  - **Font Customization**: Choose the perfect fonts to match your style.
62
65
  - **Undo & Redo**: Experiment confidently with the ability to revert changes.
63
66
  - **Global Styles**: Global Styles for fonts, designs, & colors.
@@ -68,11 +71,15 @@ agencies. Empower users to create the perfect content with the Page Builder.
68
71
 
69
72
  ## Technical details
70
73
 
71
- - **Technologies**: This Page Builder is developed using JavaScript, Vue 3, the Composition API, Pinia, CSS, Tailwind CSS, and HTML.
74
+ - **Technologies**: This Page Builder is developed using TypeScript, Vue 3, the Composition API, Pinia, CSS, Tailwind CSS, and HTML.
72
75
  - **Features**: Click & Drop Page Builder.
73
76
 
77
+ ---
78
+
74
79
  ## Documentation
75
80
 
81
+ ---
82
+
76
83
  ### Requirements
77
84
 
78
85
  Please note that these instructions assume you have Node.js installed.
@@ -81,6 +88,8 @@ Please note that these instructions assume you have Node.js installed.
81
88
  - Vue.js ≥ 3.0.0
82
89
  - Modern browser with ES6+ support
83
90
 
91
+ ---
92
+
84
93
  ### Getting started & installation
85
94
 
86
95
  Make sure to install the dependencies:
@@ -99,9 +108,11 @@ yarn install
99
108
  bun install
100
109
  ```
101
110
 
111
+ ---
112
+
102
113
  ### Important: CSS Import Required
103
114
 
104
- The page builder requires its CSS file to be imported for proper styling and automatic icon loading:
115
+ The Page Builder requires its CSS file to be imported for proper styling and automatic icon loading:
105
116
 
106
117
  ```js
107
118
  import '@myissue/vue-website-page-builder/style.css'
@@ -109,16 +120,18 @@ import '@myissue/vue-website-page-builder/style.css'
109
120
 
110
121
  This import automatically includes:
111
122
 
112
- - ✅ Page builder styles
123
+ - ✅ Page Builder styles
113
124
  - ✅ Google Fonts (Jost, Cormorant - no additional setup needed)
114
125
  - ✅ Google Material Icons (no additional setup needed)
115
126
  - ✅ Responsive design utilities
116
127
 
128
+ ---
129
+
117
130
  ### Quick Start
118
131
 
119
132
  Get up and running quickly and initializing the builder in your Vue project. The following example demonstrates the minimal setup required to start building pages.
120
133
 
121
- - The page builder requires its CSS file to be imported for proper styling and automatic icon loading:
134
+ - The Page Builder requires its CSS file to be imported for proper styling and automatic icon loading:
122
135
 
123
136
  ```vue
124
137
  <script setup>
@@ -131,6 +144,8 @@ import '@myissue/vue-website-page-builder/style.css'
131
144
  </template>
132
145
  ```
133
146
 
147
+ ---
148
+
134
149
  ### Optional: Provide Config to PageBuilder
135
150
 
136
151
  Get up and running quickly by importing the PageBuilder component, setting up your configuration, and initializing the builder in your Vue project. The following example demonstrates the minimal setup required to start building pages with your own config and logo.
@@ -140,7 +155,7 @@ Get up and running quickly by importing the PageBuilder component, setting up yo
140
155
  - `pageBuilderLogo` to display your company logo in the builder toolbar
141
156
  - `resourceData` to prefill the builder with initial data
142
157
  - `userSettings` to set user preferences such as theme, language, or autoSave
143
- - `createNewResourceFormName` (recommended): Specify the resource type (e.g., `"article"`, `"jobPost"`, `"store"`, etc.) in the `updateOrCreate` config. This is especially useful if your platform supports multiple resource types. By providing a unique name, the page builder can correctly manage layouts and local storage for each resource type, allowing users to continue where they left off for different resources.
158
+ - `createNewResourceFormName` (recommended): Specify the resource type (e.g., `"article"`, `"jobPost"`, `"store"`, etc.) in the `updateOrCreate` config. This is especially useful if your platform supports multiple resource types. By providing a unique name, the Page Builder can correctly manage layouts and local storage for each resource type, allowing users to continue where they left off for different resources.
144
159
 
145
160
  ```vue
146
161
  <script setup>
@@ -175,7 +190,7 @@ const configPageBuilder = {
175
190
  const pageBuilderStateStore = sharedPageBuilderStore
176
191
  const pageBuilderClass = new PageBuilderClass(pageBuilderStateStore)
177
192
 
178
- // Initializing page builder with essential configuration
193
+ // Initializing Page Builder with essential configuration
179
194
  pageBuilderClass.setConfigPageBuilder(configPageBuilder)
180
195
  </script>
181
196
 
@@ -186,9 +201,9 @@ pageBuilderClass.setConfigPageBuilder(configPageBuilder)
186
201
 
187
202
  ### Company Logo & Logged-in User
188
203
 
189
- You can display your company logo in the page builder interface and set the currently logged-in user by passing both a logo URL and user information in your config object:
204
+ You can display your company logo in the Page Builder interface and set the currently logged-in user by passing both a logo URL and user information in your config object:
190
205
 
191
- - **Company Logo:** Set the logo URL in your config object and pass it to the PageBuilder using `pageBuilderClass.setConfigPageBuilder(configPageBuilder)`. When provided, the logo will appear at the top of the page builder with proper spacing in the toolbar.
206
+ - **Company Logo:** Set the logo URL in your config object and pass it to the PageBuilder using `pageBuilderClass.setConfigPageBuilder(configPageBuilder)`. When provided, the logo will appear at the top of the Page Builder with proper spacing in the toolbar.
192
207
  - **Logged-in User:** Pass a `userForPageBuilder` object in your config to display or use the logged-in user's information within the builder (e.g., for audit trails, personalization, or permissions).
193
208
 
194
209
  **Basic Usage:**
@@ -226,12 +241,14 @@ pageBuilderClass.setConfigPageBuilder(configPageBuilder)
226
241
  </template>
227
242
  ```
228
243
 
229
- configuration Options
244
+ Configuration Options
230
245
 
231
246
  | Prop | Type | Default | Description |
232
247
  | ----------------- | -------- | ------- | ----------------------------------- |
233
248
  | `PageBuilderLogo` | `String` | `null` | URL path to your company logo image |
234
249
 
250
+ ---
251
+
235
252
  ### Updating Existing Resources
236
253
 
237
254
  To load existing content that was created with this PageBuilder:
@@ -315,12 +332,18 @@ const existingResourceFromBackend = JSON.stringify([
315
332
 
316
333
  Alternatively, you can provide a raw HTML string containing your `<section>` components:
317
334
 
335
+ ---
336
+
318
337
  ### Customization
319
338
 
320
339
  Customizing the page builder is made simple since all the logic resides in the PageBuilder Class.
321
340
 
322
341
  - Google Fonts (Jost, Cormorant) and Material Icons are automatically loaded when you import the CSS file. No additional setup required for fonts or icons!
323
342
 
343
+ ---
344
+
345
+ ---
346
+
324
347
  ### Custom Components
325
348
 
326
349
  Want to add your own media library or Create custom components that can be injected into the page builder:
@@ -343,6 +366,8 @@ import SearchComponent from './ComponentsPageBuilder/SearchComponent.vue'
343
366
 
344
367
  ## Troubleshooting
345
368
 
369
+ ---
370
+
346
371
  ### Fonts or Icons Not Displaying
347
372
 
348
373
  If fonts (Jost, Cormorant) or Material Icons are not displaying correctly, verify that:
@@ -23583,7 +23583,7 @@ const F4 = { class: "p-4" }, z4 = { class: "mb-8" }, j4 = { class: "grid grid-co
23583
23583
  }, pS = { class: "overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg" }, uS = { class: "overflow-x-auto" }, mS = { class: "min-w-full divide-y divide-gray-300" }, hS = { class: "bg-white divide-y divide-gray-200" }, gS = { class: "px-6 py-4 whitespace-nowrap text-sm text-gray-500" }, fS = { class: "flex items-center space-x-3" }, bS = { class: "border-r border-gray-200 pr-6" }, yS = ["src"], wS = { class: "px-6 py-4 whitespace-nowrap text-sm text-gray-500" }, vS = { class: "flex items-center space-x-3" }, xS = { class: "border-r border-gray-200 pr-6" }, kS = { class: "flex items-center space-x-3" }, SS = { class: "whitespace-nowrap" }, CS = {
23584
23584
  __name: "PageBuilderSettings",
23585
23585
  setup(r) {
23586
- const e = "v3.1.34", t = Le, o = S(!1), n = S(""), i = S(null), s = L(() => t.getConfigPageBuilder), a = function() {
23586
+ const e = "v3.1.37", t = Le, o = S(!1), n = S(""), i = S(null), s = L(() => t.getConfigPageBuilder), a = function() {
23587
23587
  n.value = "Advanced Settings", o.value = !0;
23588
23588
  }, l = function() {
23589
23589
  o.value = !1;