@myissue/vue-website-page-builder 3.0.17 → 3.0.19
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 +79 -76
- package/dist/page-builder/2-images-text.png +0 -0
- package/dist/page-builder/3-images-text.png +0 -0
- package/dist/page-builder/3-vertical-images.png +0 -0
- package/dist/page-builder/4-images-text.png +0 -0
- package/dist/vue-website-page-builder.css +1 -1
- package/dist/vue-website-page-builder.js +7168 -7261
- package/dist/vue-website-page-builder.umd.cjs +146 -81
- package/package.json +5 -4
- package/src/App.vue +4 -115
- package/src/Components/Homepage/HomeSection.vue +70 -162
- package/src/Components/MediaLibrary/SidebarUnsplash.vue +9 -16
- package/src/Components/MediaLibrary/Unsplash.vue +51 -91
- package/src/Components/Modals/MediaLibraryModal.vue +56 -318
- package/src/Components/Modals/PageBuilderPreviewModal.vue +22 -40
- package/src/Components/PageBuilder/AdvancedPageBuilderSettings.vue +7 -0
- package/src/Components/PageBuilder/DropdownsPlusToggles/OptionsDropdown.vue +165 -110
- package/src/Components/PageBuilder/EditorMenu/Editables/BackgroundColorEditor.vue +9 -16
- package/src/Components/PageBuilder/EditorMenu/Editables/BorderRadius.vue +18 -18
- package/src/Components/PageBuilder/EditorMenu/Editables/Borders.vue +16 -21
- package/src/Components/PageBuilder/EditorMenu/Editables/ClassEditor.vue +12 -12
- package/src/Components/PageBuilder/EditorMenu/Editables/ComponentTopMenu.vue +10 -9
- package/src/Components/PageBuilder/EditorMenu/Editables/DeleteElement.vue +9 -9
- package/src/Components/PageBuilder/EditorMenu/Editables/EditGetElement.vue +144 -136
- package/src/Components/PageBuilder/EditorMenu/Editables/ElementEditor.vue +9 -10
- package/src/Components/PageBuilder/EditorMenu/Editables/ImageEditor.vue +31 -27
- package/src/Components/PageBuilder/EditorMenu/Editables/LinkEditor.vue +20 -14
- package/src/Components/PageBuilder/EditorMenu/Editables/ManageBackgroundOpacity.vue +9 -10
- package/src/Components/PageBuilder/EditorMenu/Editables/ManageOpacity.vue +9 -10
- package/src/Components/PageBuilder/EditorMenu/Editables/PaddingPlusMargin.vue +16 -16
- package/src/Components/PageBuilder/EditorMenu/Editables/TextColorEditor.vue +9 -16
- package/src/Components/PageBuilder/EditorMenu/Editables/Typography.vue +22 -20
- package/src/Components/PageBuilder/EditorMenu/RightSidebarEditor.vue +25 -27
- package/src/Components/PageBuilder/NoneCustomMediaLibraryComponent.vue +3 -0
- package/src/Components/PageBuilder/NoneCustomSearchComponent.vue +91 -0
- package/src/Components/PageBuilder/PageBuilderSettings.vue +8 -0
- package/src/Components/PageBuilder/Settings/AdvancedPageBuilderSettings.vue +31 -72
- package/src/Components/PageBuilder/Settings/PageBuilderSettings.vue +32 -36
- package/src/Components/Search/SearchComponents.vue +11 -199
- package/src/Components/TipTap/TipTap.vue +8 -7
- package/src/Components/TipTap/TipTapInput.vue +136 -134
- package/src/PageBuilder/PageBuilder.vue +220 -32
- package/src/composables/{PageBuilder.ts → PageBuilderClass.ts} +223 -142
- package/src/composables/usePageBuilderModal.ts +25 -0
- package/src/index.ts +8 -2
- package/src/stores/media-library.ts +1 -5
- package/src/stores/page-builder-state.ts +52 -36
- package/src/stores/user.ts +8 -6
- package/src/types/global.d.ts +6 -44
- package/src/types/index.ts +169 -0
- package/src/utils/html-elements/component.ts +88 -0
- package/src/utils/html-elements/componentHelpers.ts +101 -0
- package/src/Components/Modals/PageBuilderModal.vue +0 -233
- package/src/utils/builder/html-elements/componentHelpers.ts +0 -101
package/README.md
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<p align="center" dir="auto">
|
|
2
|
+
<img width="200" style="max-width: 100%;" src="./public/logo/logo.svg" alt="Logo">
|
|
3
|
+
</p>
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
>
|
|
7
|
-
> - **DO NOT USE IN PRODUCTION** applications
|
|
8
|
-
> - APIs may change without notice
|
|
9
|
-
> - Features may be incomplete or unstable
|
|
10
|
-
> - Documentation is work in progress
|
|
11
|
-
> - Use only for testing and development purposes
|
|
5
|
+
## **DEVELOPMENT VERSION - NOT READY FOR PRODUCTION**
|
|
12
6
|
|
|
13
|
-
|
|
7
|
+
# Free Click & Drop Page Builder
|
|
14
8
|
|
|
15
9
|
## Overview
|
|
16
10
|
|
|
17
|
-
A Vue
|
|
11
|
+
A Vue 3 page builder component with drag & drop functionality for creating dynamic web pages.
|
|
18
12
|
|
|
19
13
|
## Installation
|
|
20
14
|
|
|
@@ -22,63 +16,7 @@ A Vue.js page builder component with drag & drop functionality for creating dyna
|
|
|
22
16
|
npm install @myissue/vue-website-page-builder
|
|
23
17
|
```
|
|
24
18
|
|
|
25
|
-
##
|
|
26
|
-
|
|
27
|
-
```vue
|
|
28
|
-
<script setup>
|
|
29
|
-
import { PageBuilder } from '@myissue/vue-website-page-builder'
|
|
30
|
-
import '@myissue/vue-website-page-builder/style.css'
|
|
31
|
-
</script>
|
|
32
|
-
|
|
33
|
-
<template>
|
|
34
|
-
<PageBuilder />
|
|
35
|
-
</template>
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Features
|
|
39
|
-
|
|
40
|
-
- 🎯 **Zero Configuration** - Just import and use
|
|
41
|
-
- 🔧 **Self-contained** - Manages its own state internally
|
|
42
|
-
- 🎨 **Drag & Drop** - Visual page building experience
|
|
43
|
-
- 📱 **Responsive** - Mobile-friendly interface
|
|
44
|
-
- ⚡ **Vue 3** - Built with modern Vue.js
|
|
45
|
-
|
|
46
|
-
## Development Status
|
|
47
|
-
|
|
48
|
-
| Feature | Status |
|
|
49
|
-
| ------------------ | -------------- |
|
|
50
|
-
| Basic Page Builder | 🟡 Alpha |
|
|
51
|
-
| Component Library | 🟡 Alpha |
|
|
52
|
-
| State Management | 🟡 Alpha |
|
|
53
|
-
| Documentation | 🔴 In Progress |
|
|
54
|
-
| Testing | 🔴 Not Started |
|
|
55
|
-
| Stable API | 🔴 Not Ready |
|
|
56
|
-
|
|
57
|
-
## Requirements
|
|
58
|
-
|
|
59
|
-
- Node.js ≥ 18.0.0
|
|
60
|
-
- Vue.js ≥ 3.0.0
|
|
61
|
-
- Modern browser with ES6+ support
|
|
62
|
-
|
|
63
|
-
## License
|
|
64
|
-
|
|
65
|
-
MIT License - see LICENSE file for details
|
|
66
|
-
|
|
67
|
-
## Author
|
|
68
|
-
|
|
69
|
-
**qaiswardag**
|
|
70
|
-
|
|
71
|
-
- GitHub: [@qaiswardag](https://github.com/qaiswardag)
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
> 🚧 **Remember**: This is a development version. Wait for v1.0.0 for production use!
|
|
76
|
-
|
|
77
|
-
<p align="center" dir="auto">
|
|
78
|
-
<img width="200" style="max-width: 100%;" src="./public/logo/logo.svg" alt="Logo">
|
|
79
|
-
</p>
|
|
80
|
-
|
|
81
|
-
# Free Click & Drop Page Builder
|
|
19
|
+
## Click & Drop Page Builder
|
|
82
20
|
|
|
83
21
|
[Play around with the page builder](https://www.builder-demo.myissue.dk)
|
|
84
22
|
|
|
@@ -130,10 +68,14 @@ agencies. Empower users to create the perfect content with the Page Builder.
|
|
|
130
68
|
|
|
131
69
|
## Documentation
|
|
132
70
|
|
|
133
|
-
###
|
|
71
|
+
### Requirements
|
|
134
72
|
|
|
135
73
|
Please note that these instructions assume you have Node.js installed.
|
|
136
74
|
|
|
75
|
+
- Node.js ≥ 18.0.0
|
|
76
|
+
- Vue.js ≥ 3.0.0
|
|
77
|
+
- Modern browser with ES6+ support
|
|
78
|
+
|
|
137
79
|
### Getting started & installation
|
|
138
80
|
|
|
139
81
|
Make sure to install the dependencies:
|
|
@@ -152,13 +94,48 @@ yarn install
|
|
|
152
94
|
bun install
|
|
153
95
|
```
|
|
154
96
|
|
|
155
|
-
###
|
|
97
|
+
### Quick Start
|
|
156
98
|
|
|
157
|
-
|
|
99
|
+
```vue
|
|
100
|
+
<script setup>
|
|
101
|
+
import { PageBuilder } from '@myissue/vue-website-page-builder'
|
|
102
|
+
import '@myissue/vue-website-page-builder/style.css'
|
|
103
|
+
</script>
|
|
104
|
+
|
|
105
|
+
<template>
|
|
106
|
+
<PageBuilder />
|
|
107
|
+
</template>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Customization
|
|
158
111
|
|
|
159
112
|
Customizing the page builder is made simple since all the logic resides in the PageBuilder Class.
|
|
160
113
|
|
|
161
|
-
###
|
|
114
|
+
### Custom Components
|
|
115
|
+
|
|
116
|
+
Want to add your own media library or search functionality? Create custom components that can be injected into the page builder:
|
|
117
|
+
|
|
118
|
+
📚 **[Custom Components Setup Guide](./CUSTOM_COMPONENTS_SETUP.md)** - Learn how to create and integrate your own components
|
|
119
|
+
|
|
120
|
+
Example integration:
|
|
121
|
+
|
|
122
|
+
```vue
|
|
123
|
+
<script setup>
|
|
124
|
+
import { PageBuilder } from '@myissue/vue-website-page-builder'
|
|
125
|
+
import MediaLibraryComponent from './ComponentsPageBuilder/MediaLibraryComponent.vue'
|
|
126
|
+
import SearchComponent from './ComponentsPageBuilder/SearchComponent.vue'
|
|
127
|
+
</script>
|
|
128
|
+
|
|
129
|
+
<template>
|
|
130
|
+
<PageBuilder :MediaLibraryComponent="MediaLibraryComponent" :SearchComponent="SearchComponent" />
|
|
131
|
+
</template>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Company Logo
|
|
135
|
+
|
|
136
|
+
You can display your company logo in the page builder interface by passing a logo URL to the `PageBuilderLogo` prop. When provided, the logo will appear in the top toolbar of the page builder.
|
|
137
|
+
|
|
138
|
+
#### Basic Usage
|
|
162
139
|
|
|
163
140
|
```vue
|
|
164
141
|
<script setup>
|
|
@@ -167,13 +144,34 @@ import '@myissue/vue-website-page-builder/style.css'
|
|
|
167
144
|
</script>
|
|
168
145
|
|
|
169
146
|
<template>
|
|
170
|
-
<PageBuilder />
|
|
147
|
+
<PageBuilder PageBuilderLogo="/logo/square-logo.svg" />
|
|
171
148
|
</template>
|
|
172
149
|
```
|
|
173
150
|
|
|
174
|
-
|
|
151
|
+
#### Configuration Options
|
|
175
152
|
|
|
176
|
-
|
|
153
|
+
| Prop | Type | Default | Description |
|
|
154
|
+
| ----------------- | -------- | ------- | ----------------------------------- |
|
|
155
|
+
| `PageBuilderLogo` | `String` | `null` | URL path to your company logo image |
|
|
156
|
+
|
|
157
|
+
#### Examples
|
|
158
|
+
|
|
159
|
+
**With company logo:**
|
|
160
|
+
|
|
161
|
+
```vue
|
|
162
|
+
<PageBuilder PageBuilderLogo="/logo/square-logo.svg" />
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
#### Logo Requirements
|
|
168
|
+
|
|
169
|
+
- **Format**: SVG, PNG, or JPG recommended
|
|
170
|
+
- **Size**: Optimized for 24px height (width will scale proportionally)
|
|
171
|
+
- **Path**: Can be absolute URL, relative path, or imported asset
|
|
172
|
+
- **Accessibility**: Include appropriate alt text (automatically set to "Logo")
|
|
173
|
+
|
|
174
|
+
The logo will be displayed with a subtle border separator and proper spacing in the page builder toolbar.
|
|
177
175
|
|
|
178
176
|
## Contributing
|
|
179
177
|
|
|
@@ -182,3 +180,8 @@ import '@myissue/vue-website-page-builder/style.css'
|
|
|
182
180
|
3. Make your changes
|
|
183
181
|
4. Build and test locally
|
|
184
182
|
5. Submit a pull request
|
|
183
|
+
|
|
184
|
+
## License
|
|
185
|
+
|
|
186
|
+
[MIT License](./LICENSE)
|
|
187
|
+
```
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|