@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
|
-
|
|
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
|
|
29
|
+
[Play around with the Page Builder](https://www.builder-demo.myissue.dk)
|
|
27
30
|
|
|
28
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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.
|
|
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;
|