@myissue/vue-website-page-builder 3.2.86 → 3.2.90
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 +46 -3
- package/dist/vue-website-page-builder.css +1 -1
- package/dist/vue-website-page-builder.js +9217 -9022
- package/dist/vue-website-page-builder.umd.cjs +38 -38
- package/package.json +2 -2
- package/src/Components/Homepage/Footer.vue +9 -7
- package/src/Components/Homepage/Navbar.vue +6 -4
- package/src/Components/Layouts/FullWidthElement.vue +6 -6
- package/src/Components/Modals/BuilderComponents.vue +12 -6
- package/src/Components/Modals/DynamicModalBuilder.vue +39 -47
- package/src/Components/Modals/MediaLibraryModal.vue +2 -2
- package/src/Components/Modals/ModalBuilder.vue +23 -19
- package/src/Components/PageBuilder/DefaultComponents/DefaultBuilderComponents.vue +29 -17
- package/src/Components/PageBuilder/DefaultComponents/DefaultMediaLibraryComponent.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/BackgroundColorEditor.vue +22 -20
- package/src/Components/PageBuilder/EditorMenu/Editables/BorderRadius.vue +17 -17
- package/src/Components/PageBuilder/EditorMenu/Editables/Borders.vue +28 -26
- package/src/Components/PageBuilder/EditorMenu/Editables/ClassEditor.vue +13 -11
- package/src/Components/PageBuilder/EditorMenu/Editables/ComponentTopMenu.vue +5 -5
- package/src/Components/PageBuilder/EditorMenu/Editables/DeleteElement.vue +4 -4
- package/src/Components/PageBuilder/EditorMenu/Editables/EditGetElement.vue +22 -19
- package/src/Components/PageBuilder/EditorMenu/Editables/ElementEditor.vue +11 -11
- package/src/Components/PageBuilder/EditorMenu/Editables/ImageEditor.vue +4 -4
- package/src/Components/PageBuilder/EditorMenu/Editables/LinkEditor.vue +74 -66
- package/src/Components/PageBuilder/EditorMenu/Editables/ManageBackgroundOpacity.vue +26 -21
- package/src/Components/PageBuilder/EditorMenu/Editables/ManageOpacity.vue +26 -21
- package/src/Components/PageBuilder/EditorMenu/Editables/Margin.vue +101 -0
- package/src/Components/PageBuilder/EditorMenu/Editables/OpacityEditor.vue +2 -3
- package/src/Components/PageBuilder/EditorMenu/Editables/{PaddingPlusMargin.vue → Padding.vue} +8 -41
- package/src/Components/PageBuilder/EditorMenu/Editables/TextColorEditor.vue +22 -20
- package/src/Components/PageBuilder/EditorMenu/Editables/Typography.vue +63 -58
- package/src/Components/PageBuilder/EditorMenu/EditorAccordion.vue +7 -4
- package/src/Components/PageBuilder/EditorMenu/RightSidebarEditor.vue +24 -19
- package/src/Components/PageBuilder/Settings/AdvancedPageBuilderSettings.vue +132 -98
- package/src/Components/PageBuilder/Settings/PageBuilderSettings.vue +216 -146
- package/src/Components/PageBuilder/ToolbarOption/ToolbarOption.vue +14 -14
- package/src/Components/TipTap/TipTap.vue +4 -4
- package/src/Components/TipTap/TipTapInput.vue +39 -33
- package/src/DemoComponents/DemoBuilderComponents.vue +1 -1
- package/src/DemoComponents/DemoUnsplash.vue +79 -56
- package/src/DemoComponents/HomeSection.vue +20 -16
- package/src/PageBuilder/PageBuilder.vue +62 -57
- package/src/PageBuilder/Preview.vue +4 -20
- package/src/composables/PageBuilderClass.ts +66 -120
- package/src/css/app.css +161 -448
- package/src/css/dev-global.css +137 -0
- package/src/main.ts +1 -0
- package/src/tailwind-safelist.html +1 -1
- package/src/utils/builder/tailwaind-colors.ts +488 -488
- package/src/utils/builder/tailwind-border-radius.ts +40 -40
- package/src/utils/builder/tailwind-border-style-width-color.ts +231 -231
- package/src/utils/builder/tailwind-font-sizes.ts +56 -57
- package/src/utils/builder/tailwind-font-styles.ts +44 -11
- package/src/utils/builder/tailwind-opacities.ts +30 -30
- package/src/utils/builder/tailwind-padding-margin.ts +136 -136
- package/dist/components.json +0 -36
- package/src/Components/Loaders/FullScreenSpinner.vue +0 -9
- package/src/Components/Loaders/SmallUniversalSpinner.vue +0 -26
|
@@ -25,28 +25,28 @@ watch(
|
|
|
25
25
|
|
|
26
26
|
<template>
|
|
27
27
|
<Listbox as="div" v-model="backgroundColor">
|
|
28
|
-
<div class="relative">
|
|
29
|
-
<ListboxButton class="w-max flex items-center myPrimaryTag">
|
|
30
|
-
<div v-if="getBackgroundColor === 'none'" class="flex gap-2 items-center">
|
|
28
|
+
<div class="pbx-relative">
|
|
29
|
+
<ListboxButton class="pbx-w-max pbx-flex pbx-items-center pbx-myPrimaryTag">
|
|
30
|
+
<div v-if="getBackgroundColor === 'none'" class="pbx-flex pbx-gap-2 pbx-items-center">
|
|
31
31
|
<span class="material-symbols-outlined"> colors </span>
|
|
32
|
-
<span class="block truncate text-[12.5px]">Background color </span>
|
|
32
|
+
<span class="pbx-block pbx-truncate pbx-text-[12.5px]">Background color </span>
|
|
33
33
|
</div>
|
|
34
|
-
<div v-if="backgroundColor !== 'none'" class="flex items-center gap-2">
|
|
34
|
+
<div v-if="backgroundColor !== 'none'" class="pbx-flex pbx-items-center pbx-gap-2">
|
|
35
35
|
<div
|
|
36
|
-
class="aspect-square w-6 h-6 border border-gray-800 rounded-sm"
|
|
37
|
-
:class="`bg-${backgroundColor?.replace('bg-', '')}`"
|
|
36
|
+
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border pbx-border-gray-800 pbx-rounded-sm"
|
|
37
|
+
:class="`pbx-bg-${backgroundColor?.replace('pbx-bg-', '')}`"
|
|
38
38
|
></div>
|
|
39
|
-
<span class="block truncate">{{ backgroundColor }}</span>
|
|
39
|
+
<span class="pbx-block pbx-truncate">{{ backgroundColor }}</span>
|
|
40
40
|
</div>
|
|
41
41
|
</ListboxButton>
|
|
42
42
|
|
|
43
43
|
<transition
|
|
44
|
-
leave-active-class="transition ease-in duration-100"
|
|
45
|
-
leave-from-class="opacity-100"
|
|
46
|
-
leave-to-class="opacity-0"
|
|
44
|
+
leave-active-class="pbx-transition pbx-ease-in pbx-duration-100"
|
|
45
|
+
leave-from-class="pbx-opacity-100"
|
|
46
|
+
leave-to-class="pbx-opacity-0"
|
|
47
47
|
>
|
|
48
48
|
<ListboxOptions
|
|
49
|
-
class="absolute min-w-[12rem] z-40 mt-1 max-h-56 w-full overflow-auto rounded-md bg-gray-50 py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm"
|
|
49
|
+
class="pbx-absolute pbx-min-w-[12rem] pbx-z-40 pbx-mt-1 pbx-max-h-56 pbx-w-full pbx-overflow-auto pbx-rounded-md pbx-bg-gray-50 pbx-py-1 pbx-text-base pbx-shadow-lg pbx-ring-1 pbx-ring-black pbx-ring-opacity-5 focus:pbx-outline-none sm:pbx-text-sm"
|
|
50
50
|
>
|
|
51
51
|
<ListboxOption
|
|
52
52
|
as="template"
|
|
@@ -58,20 +58,22 @@ watch(
|
|
|
58
58
|
>
|
|
59
59
|
<li
|
|
60
60
|
:class="[
|
|
61
|
-
active
|
|
62
|
-
|
|
61
|
+
active
|
|
62
|
+
? 'pbx-bg-myPrimaryLinkColor pbx-text-white'
|
|
63
|
+
: 'pbx-text-myPrimaryDarkGrayColor',
|
|
64
|
+
'pbx-relative pbx-cursor-default pbx-select-none pbx-py-2 pbx-pl-3 pbx-pr-9',
|
|
63
65
|
]"
|
|
64
66
|
>
|
|
65
|
-
<div v-if="color === 'none'" class="flex items-center">
|
|
67
|
+
<div v-if="color === 'none'" class="pbx-flex pbx-items-center">
|
|
66
68
|
<span class="material-symbols-outlined"> ev_shadow </span>
|
|
67
|
-
<span class="ml-3">Transparent</span>
|
|
69
|
+
<span class="pbx-ml-3">Transparent</span>
|
|
68
70
|
</div>
|
|
69
|
-
<div v-if="color !== 'none'" class="flex items-center">
|
|
71
|
+
<div v-if="color !== 'none'" class="pbx-flex pbx-items-center">
|
|
70
72
|
<div
|
|
71
|
-
class="aspect-square w-6 h-6 border border-gray-100 rounded-sm"
|
|
72
|
-
:class="`bg-${color.replace('bg-', '')}`"
|
|
73
|
+
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border pbx-border-gray-100 pbx-rounded-sm"
|
|
74
|
+
:class="`pbx-bg-${color.replace('pbx-bg-', '')}`"
|
|
73
75
|
></div>
|
|
74
|
-
<span class="ml-3">{{ color }}</span>
|
|
76
|
+
<span class="pbx-ml-3">{{ color }}</span>
|
|
75
77
|
</div>
|
|
76
78
|
</li>
|
|
77
79
|
</ListboxOption>
|
|
@@ -76,12 +76,12 @@ watch(
|
|
|
76
76
|
<EditorAccordion>
|
|
77
77
|
<template #title>Border Radius</template>
|
|
78
78
|
<template #content>
|
|
79
|
-
<p class="myPrimaryParagraph font-medium py-0 my-4">Global</p>
|
|
80
|
-
<div class="my-2 py-2">
|
|
81
|
-
<label class="myPrimaryInputLabel"> Border Radius </label>
|
|
79
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">Global</p>
|
|
80
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
81
|
+
<label class="pbx-myPrimaryInputLabel"> Border Radius </label>
|
|
82
82
|
<select
|
|
83
83
|
v-model="borderRadiusGlobal"
|
|
84
|
-
class="myPrimarySelect"
|
|
84
|
+
class="pbx-myPrimarySelect"
|
|
85
85
|
@change="pageBuilderClass.handleBorderRadiusGlobal(borderRadiusGlobal)"
|
|
86
86
|
>
|
|
87
87
|
<option disabled value="">Select</option>
|
|
@@ -93,12 +93,12 @@ watch(
|
|
|
93
93
|
</option>
|
|
94
94
|
</select>
|
|
95
95
|
</div>
|
|
96
|
-
<p class="myPrimaryParagraph font-medium py-0 my-4">Specific</p>
|
|
97
|
-
<div class="my-2 py-2">
|
|
98
|
-
<label class="myPrimaryInputLabel"> Border Radius top left </label>
|
|
96
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">Specific</p>
|
|
97
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
98
|
+
<label class="pbx-myPrimaryInputLabel"> Border Radius top left </label>
|
|
99
99
|
<select
|
|
100
100
|
v-model="borderRadiusTopLeft"
|
|
101
|
-
class="myPrimarySelect"
|
|
101
|
+
class="pbx-myPrimarySelect"
|
|
102
102
|
@change="pageBuilderClass.handleBorderRadiusTopLeft(borderRadiusTopLeft)"
|
|
103
103
|
>
|
|
104
104
|
<option disabled value="">Select</option>
|
|
@@ -110,11 +110,11 @@ watch(
|
|
|
110
110
|
</option>
|
|
111
111
|
</select>
|
|
112
112
|
</div>
|
|
113
|
-
<div class="my-2 py-2">
|
|
114
|
-
<label class="myPrimaryInputLabel"> Border Radius top right </label>
|
|
113
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
114
|
+
<label class="pbx-myPrimaryInputLabel"> Border Radius top right </label>
|
|
115
115
|
<select
|
|
116
116
|
v-model="borderRadiusTopRight"
|
|
117
|
-
class="myPrimarySelect"
|
|
117
|
+
class="pbx-myPrimarySelect"
|
|
118
118
|
@change="pageBuilderClass.handleBorderRadiusTopRight(borderRadiusTopRight)"
|
|
119
119
|
>
|
|
120
120
|
<option disabled value="">Select</option>
|
|
@@ -126,11 +126,11 @@ watch(
|
|
|
126
126
|
</option>
|
|
127
127
|
</select>
|
|
128
128
|
</div>
|
|
129
|
-
<div class="my-2 py-2">
|
|
130
|
-
<label class="myPrimaryInputLabel"> Border Radius bottom left </label>
|
|
129
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
130
|
+
<label class="pbx-myPrimaryInputLabel"> Border Radius bottom left </label>
|
|
131
131
|
<select
|
|
132
132
|
v-model="borderRadiusBottomleft"
|
|
133
|
-
class="myPrimarySelect"
|
|
133
|
+
class="pbx-myPrimarySelect"
|
|
134
134
|
@change="pageBuilderClass.handleBorderRadiusBottomleft(borderRadiusBottomleft)"
|
|
135
135
|
>
|
|
136
136
|
<option disabled value="">Select</option>
|
|
@@ -142,11 +142,11 @@ watch(
|
|
|
142
142
|
</option>
|
|
143
143
|
</select>
|
|
144
144
|
</div>
|
|
145
|
-
<div class="my-2 py-2">
|
|
146
|
-
<label class="myPrimaryInputLabel"> Border Radius bottom right </label>
|
|
145
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
146
|
+
<label class="pbx-myPrimaryInputLabel"> Border Radius bottom right </label>
|
|
147
147
|
<select
|
|
148
148
|
v-model="borderRadiusBottomRight"
|
|
149
|
-
class="myPrimarySelect"
|
|
149
|
+
class="pbx-myPrimarySelect"
|
|
150
150
|
@change="pageBuilderClass.handleBorderRadiusBottomRight(borderRadiusBottomRight)"
|
|
151
151
|
>
|
|
152
152
|
<option disabled value="">Select</option>
|
|
@@ -54,13 +54,13 @@ watch(
|
|
|
54
54
|
<EditorAccordion>
|
|
55
55
|
<template #title>Border Style, Width & Color</template>
|
|
56
56
|
<template #content>
|
|
57
|
-
<p class="myPrimaryParagraph font-medium py-0 my-4">Border</p>
|
|
57
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">Border</p>
|
|
58
58
|
|
|
59
|
-
<div class="my-2 py-2">
|
|
60
|
-
<label class="myPrimaryInputLabel"> Border Style </label>
|
|
59
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
60
|
+
<label class="pbx-myPrimaryInputLabel"> Border Style </label>
|
|
61
61
|
<select
|
|
62
62
|
v-model="borderStyle"
|
|
63
|
-
class="myPrimarySelect"
|
|
63
|
+
class="pbx-myPrimarySelect"
|
|
64
64
|
@change="pageBuilderClass.handleBorderStyle(borderStyle)"
|
|
65
65
|
>
|
|
66
66
|
<option disabled value="">Select</option>
|
|
@@ -72,11 +72,11 @@ watch(
|
|
|
72
72
|
</option>
|
|
73
73
|
</select>
|
|
74
74
|
</div>
|
|
75
|
-
<div class="my-2 py-2">
|
|
76
|
-
<label class="myPrimaryInputLabel"> Border Width </label>
|
|
75
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
76
|
+
<label class="pbx-myPrimaryInputLabel"> Border Width </label>
|
|
77
77
|
<select
|
|
78
78
|
v-model="borderWidth"
|
|
79
|
-
class="myPrimarySelect"
|
|
79
|
+
class="pbx-myPrimarySelect"
|
|
80
80
|
@change="pageBuilderClass.handleBorderWidth(borderWidth)"
|
|
81
81
|
>
|
|
82
82
|
<option disabled value="">Select</option>
|
|
@@ -89,37 +89,37 @@ watch(
|
|
|
89
89
|
</select>
|
|
90
90
|
</div>
|
|
91
91
|
|
|
92
|
-
<label class="myPrimaryInputLabel"> Border Color </label>
|
|
92
|
+
<label class="pbx-myPrimaryInputLabel"> Border Color </label>
|
|
93
93
|
<Listbox as="div" v-model="borderColor">
|
|
94
|
-
<div class="relative mt-2">
|
|
95
|
-
<ListboxButton class="myPrimarySelect">
|
|
96
|
-
<span class="flex items-center gap-2">
|
|
94
|
+
<div class="pbx-relative pbx-mt-2">
|
|
95
|
+
<ListboxButton class="pbx-myPrimarySelect">
|
|
96
|
+
<span class="pbx-flex pbx-items-center pbx-gap-2">
|
|
97
97
|
<div v-if="getBorderColor === 'none'">
|
|
98
|
-
<div class="myPrimaryColorPreview border-none">
|
|
98
|
+
<div class="pbx-myPrimaryColorPreview pbx-border-none">
|
|
99
99
|
<span class="material-symbols-outlined"> ev_shadow </span>
|
|
100
100
|
</div>
|
|
101
101
|
</div>
|
|
102
102
|
<div
|
|
103
103
|
v-if="borderColor !== 'none'"
|
|
104
|
-
class="aspect-square w-6 h-6 border border-gray-100 rounded-sm"
|
|
104
|
+
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border pbx-border-gray-100 pbx-rounded-sm"
|
|
105
105
|
:class="`bg-${borderColor?.replace('border-', '')}`"
|
|
106
106
|
></div>
|
|
107
|
-
<span class="block truncate">{{ borderColor }}</span>
|
|
107
|
+
<span class="pbx-block pbx-truncate">{{ borderColor }}</span>
|
|
108
108
|
</span>
|
|
109
109
|
<span
|
|
110
|
-
class="pointer-events-none absolute inset-y-0 right-0 ml-3 flex items-center pr-2"
|
|
110
|
+
class="pbx-pointer-events-none pbx-absolute pbx-inset-y-0 pbx-right-0 pbx-ml-3 pbx-flex pbx-items-center pbx-pr-2"
|
|
111
111
|
>
|
|
112
112
|
<span class="material-symbols-outlined"> keyboard_arrow_down </span>
|
|
113
113
|
</span>
|
|
114
114
|
</ListboxButton>
|
|
115
115
|
|
|
116
116
|
<transition
|
|
117
|
-
leave-active-class="transition ease-in duration-100"
|
|
118
|
-
leave-from-class="opacity-100"
|
|
119
|
-
leave-to-class="opacity-0"
|
|
117
|
+
leave-active-class="pbx-transition pbx-ease-in pbx-duration-100"
|
|
118
|
+
leave-from-class="pbx-opacity-100"
|
|
119
|
+
leave-to-class="pbx-opacity-0"
|
|
120
120
|
>
|
|
121
121
|
<ListboxOptions
|
|
122
|
-
class="absolute z-10 mt-1 max-h-56 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm"
|
|
122
|
+
class="pbx-absolute pbx-z-10 pbx-mt-1 pbx-max-h-56 pbx-w-full pbx-overflow-auto pbx-rounded-md pbx-bg-white pbx-py-1 pbx-text-base pbx-shadow-lg pbx-ring-1 pbx-ring-black pbx-ring-opacity-5 focus:pbx-outline-none sm:pbx-text-sm"
|
|
123
123
|
>
|
|
124
124
|
<ListboxOption
|
|
125
125
|
as="template"
|
|
@@ -131,24 +131,26 @@ watch(
|
|
|
131
131
|
>
|
|
132
132
|
<li
|
|
133
133
|
:class="[
|
|
134
|
-
active
|
|
135
|
-
|
|
134
|
+
active
|
|
135
|
+
? 'pbx-bg-myPrimaryLinkColor pbx-text-white'
|
|
136
|
+
: 'pbx-text-myPrimaryDarkGrayColor',
|
|
137
|
+
'pbx-relative pbx-cursor-default pbx-select-none pbx-py-2 pbx-pl-3 pbx-pr-9',
|
|
136
138
|
]"
|
|
137
139
|
>
|
|
138
|
-
<div class="flex items-center">
|
|
140
|
+
<div class="pbx-flex pbx-items-center">
|
|
139
141
|
<div v-if="color === 'none'">
|
|
140
|
-
<div class="myPrimaryColorPreview border-none">
|
|
142
|
+
<div class="pbx-myPrimaryColorPreview pbx-border-none">
|
|
141
143
|
<span class="material-symbols-outlined"> ev_shadow </span>
|
|
142
144
|
</div>
|
|
143
145
|
</div>
|
|
144
146
|
|
|
145
147
|
<div
|
|
146
148
|
v-if="color !== 'none'"
|
|
147
|
-
class="aspect-square w-6 h-6 bg-gray-950"
|
|
149
|
+
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950"
|
|
148
150
|
:class="`bg-${color.replace('border-', '')}`"
|
|
149
151
|
></div>
|
|
150
|
-
<span v-if="color === 'none'" class="ml-3">Transparent</span>
|
|
151
|
-
<span v-if="color !== 'none'" class="ml-3">{{ color }}</span>
|
|
152
|
+
<span v-if="color === 'none'" class="pbx-ml-3">Transparent</span>
|
|
153
|
+
<span v-if="color !== 'none'" class="pbx-ml-3">{{ color }}</span>
|
|
152
154
|
</div>
|
|
153
155
|
</li>
|
|
154
156
|
</ListboxOption>
|
|
@@ -35,11 +35,11 @@ const handleAddClasses = async function () {
|
|
|
35
35
|
<EditorAccordion>
|
|
36
36
|
<template #title>Generated CSS</template>
|
|
37
37
|
<template #content>
|
|
38
|
-
<div class="flex flex-row flex-wrap gap-2 mt-2 mb-4">
|
|
38
|
+
<div class="pbx-flex pbx-flex-row pbx-flex-wrap pbx-gap-2 pbx-mt-2 pbx-mb-4">
|
|
39
39
|
<div
|
|
40
40
|
v-for="className in currentClasses"
|
|
41
41
|
:key="className"
|
|
42
|
-
class="myPrimaryTag cursor-pointer hover:bg-myPrimaryErrorColor hover:text-white text-xs py-2 font-medium"
|
|
42
|
+
class="pbx-myPrimaryTag pbx-cursor-pointer hover:pbx-bg-myPrimaryErrorColor hover:pbx-text-white pbx-text-xs pbx-py-2 pbx-font-medium"
|
|
43
43
|
@click="
|
|
44
44
|
async () => {
|
|
45
45
|
pageBuilderClass.handleRemoveClasses(className)
|
|
@@ -47,33 +47,35 @@ const handleAddClasses = async function () {
|
|
|
47
47
|
}
|
|
48
48
|
"
|
|
49
49
|
>
|
|
50
|
-
<div class="flex items-center gap-1">
|
|
51
|
-
<span class="mr-1">
|
|
50
|
+
<div class="pbx-flex pbx-items-center pbx-gap-1">
|
|
51
|
+
<span class="pbx-mr-1">
|
|
52
52
|
{{ className }}
|
|
53
53
|
</span>
|
|
54
54
|
</div>
|
|
55
55
|
</div>
|
|
56
56
|
</div>
|
|
57
57
|
|
|
58
|
-
<div class="flex gap-2 item-center flex-col">
|
|
59
|
-
<div class="flex gap-2 item-center">
|
|
60
|
-
<div
|
|
58
|
+
<div class="pbx-flex pbx-gap-2 pbx-item-center pbx-flex-col">
|
|
59
|
+
<div class="pbx-flex pbx-gap-2 pbx-item-center">
|
|
60
|
+
<div
|
|
61
|
+
class="pbx-mt-1 pbx-relative pbx-flex pbx-items-center pbx-w-full pbx-border pbx-myPrimaryInput pbx-py-0 pbx-p-0"
|
|
62
|
+
>
|
|
61
63
|
<input
|
|
62
64
|
v-model="inputClass"
|
|
63
65
|
type="text"
|
|
64
66
|
placeholder="Type class"
|
|
65
67
|
@keydown.enter="handleAddClasses()"
|
|
66
68
|
autocomplete="off"
|
|
67
|
-
class="myPrimaryInput border-none rounded-r-none ml-0 w-full"
|
|
69
|
+
class="pbx-myPrimaryInput pbx-border-none pbx-rounded-r-none pbx-ml-0 pbx-w-full"
|
|
68
70
|
/>
|
|
69
71
|
<div
|
|
70
|
-
class="border border-gray-200 border-none rounded flex items-center justify-center h-full w-8"
|
|
72
|
+
class="pbx-border pbx-border-gray-200 pbx-border-none pbx-rounded pbx-flex pbx-items-center pbx-justify-center pbx-h-full pbx-w-8"
|
|
71
73
|
>
|
|
72
|
-
<kbd class="myPrimaryParagraph text-gray-400 border-none"> ⏎ </kbd>
|
|
74
|
+
<kbd class="pbx-myPrimaryParagraph pbx-text-gray-400 pbx-border-none"> ⏎ </kbd>
|
|
73
75
|
</div>
|
|
74
76
|
</div>
|
|
75
77
|
</div>
|
|
76
|
-
<p class="myPrimaryInputError"></p>
|
|
78
|
+
<p class="pbx-myPrimaryInputError"></p>
|
|
77
79
|
</div>
|
|
78
80
|
</template>
|
|
79
81
|
</EditorAccordion>
|
|
@@ -65,11 +65,11 @@ const deleteSelectedComponent = function (e) {
|
|
|
65
65
|
<header></header>
|
|
66
66
|
<main></main>
|
|
67
67
|
</DynamicModalBuilder>
|
|
68
|
-
<div class="flex flex-col items-center justify-center myPrimaryGap">
|
|
69
|
-
<div class="flex gap-2 items-center justify-center">
|
|
68
|
+
<div class="pbx-flex pbx-flex-col pbx-items-center pbx-justify-center pbx-myPrimaryGap">
|
|
69
|
+
<div class="pbx-flex pbx-gap-2 pbx-items-center pbx-justify-center">
|
|
70
70
|
<div
|
|
71
71
|
@click="deleteSelectedComponent()"
|
|
72
|
-
class="h-10 w-10 cursor-pointer rounded-full flex items-center border-none justify-center bg-gray-50 aspect-square hover:bg-myPrimaryErrorColor hover:text-white text-myPrimaryErrorColor"
|
|
72
|
+
class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryErrorColor hover:pbx-text-white pbx-text-myPrimaryErrorColor"
|
|
73
73
|
>
|
|
74
74
|
<span class="material-symbols-outlined"> delete_forever </span>
|
|
75
75
|
</div>
|
|
@@ -78,14 +78,14 @@ const deleteSelectedComponent = function (e) {
|
|
|
78
78
|
<button
|
|
79
79
|
type="button"
|
|
80
80
|
@click="pageBuilderClass.reorderComponent(-1)"
|
|
81
|
-
class="h-10 w-10 cursor-pointer rounded-full flex items-center border-none justify-center bg-gray-50 aspect-square hover:bg-myPrimaryLinkColor hover:text-white focus-visible:ring-0"
|
|
81
|
+
class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0"
|
|
82
82
|
>
|
|
83
83
|
<span class="material-symbols-outlined"> move_up </span>
|
|
84
84
|
</button>
|
|
85
85
|
<button
|
|
86
86
|
type="button"
|
|
87
87
|
@click="pageBuilderClass.reorderComponent(1)"
|
|
88
|
-
class="h-10 w-10 cursor-pointer rounded-full flex items-center border-none justify-center bg-gray-50 aspect-square hover:bg-myPrimaryLinkColor hover:text-white focus-visible:ring-0"
|
|
88
|
+
class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0"
|
|
89
89
|
>
|
|
90
90
|
<span class="material-symbols-outlined"> move_down </span>
|
|
91
91
|
</button>
|
|
@@ -17,12 +17,12 @@ const getRestoredElement = computed(() => {
|
|
|
17
17
|
<EditorAccordion>
|
|
18
18
|
<template #title>Delete or restore</template>
|
|
19
19
|
<template #content>
|
|
20
|
-
<div class="my-2">
|
|
20
|
+
<div class="pbx-my-2">
|
|
21
21
|
<button
|
|
22
22
|
v-if="getRestoredElement !== null"
|
|
23
23
|
@click="pageBuilderClass.handleRestoreElement"
|
|
24
24
|
type="button"
|
|
25
|
-
class="myPrimaryButton gap-2 items-center w-full"
|
|
25
|
+
class="pbx-myPrimaryButton pbx-gap-2 pbx-items-center pbx-w-full"
|
|
26
26
|
>
|
|
27
27
|
<span class="material-symbols-outlined"> refresh </span>
|
|
28
28
|
Restore Element
|
|
@@ -31,9 +31,9 @@ const getRestoredElement = computed(() => {
|
|
|
31
31
|
v-if="getRestoredElement === null"
|
|
32
32
|
@click="pageBuilderClass.handleDeleteElement"
|
|
33
33
|
type="button"
|
|
34
|
-
class="myPrimaryDeleteButton gap-2 items-center w-full"
|
|
34
|
+
class="pbx-myPrimaryDeleteButton pbx-gap-2 pbx-items-center pbx-w-full"
|
|
35
35
|
>
|
|
36
|
-
<span class="myMediumIcon material-symbols-outlined"> delete </span>
|
|
36
|
+
<span class="pbx-myMediumIcon material-symbols-outlined"> delete </span>
|
|
37
37
|
Delete Element
|
|
38
38
|
</button>
|
|
39
39
|
</div>
|
|
@@ -210,13 +210,16 @@ const handleModalIframeSrc = function () {
|
|
|
210
210
|
>
|
|
211
211
|
<header></header>
|
|
212
212
|
<main>
|
|
213
|
-
<div class="myInputGroup">
|
|
214
|
-
<div class="myPrimaryFormOrganizationHeaderDescriptionSection">
|
|
215
|
-
<div class="myPrimaryFormOrganizationHeader">
|
|
216
|
-
<label for="video" class="myPrimaryInputLabel">Video url:</label>
|
|
217
|
-
<input v-model="iframeSrc" type="text" class="myPrimaryInput" name="video" />
|
|
218
|
-
<div
|
|
219
|
-
|
|
213
|
+
<div class="pbx-myInputGroup">
|
|
214
|
+
<div class="pbx-myPrimaryFormOrganizationHeaderDescriptionSection">
|
|
215
|
+
<div class="pbx-myPrimaryFormOrganizationHeader">
|
|
216
|
+
<label for="video" class="pbx-myPrimaryInputLabel">Video url:</label>
|
|
217
|
+
<input v-model="iframeSrc" type="text" class="pbx-myPrimaryInput" name="video" />
|
|
218
|
+
<div
|
|
219
|
+
v-if="urlError"
|
|
220
|
+
class="pbx-min-h-[2.5rem] pbx-flex pbx-items-center pbx-justify-start"
|
|
221
|
+
>
|
|
222
|
+
<p class="pbx-myPrimaryInputError pbx-mt-2 pbx-mb-0 pbx-py-0 pbx-self-start">
|
|
220
223
|
{{ urlError }}
|
|
221
224
|
</p>
|
|
222
225
|
</div>
|
|
@@ -241,7 +244,7 @@ const handleModalIframeSrc = function () {
|
|
|
241
244
|
@thirdModalButtonFunctionDynamicModalBuilder="thirdModalButtonFunctionDynamicModalBuilder"
|
|
242
245
|
>
|
|
243
246
|
<header></header>
|
|
244
|
-
<main class="overflow-y-auto">
|
|
247
|
+
<main class="pbx-overflow-y-auto">
|
|
245
248
|
<TipTapInput></TipTapInput>
|
|
246
249
|
</main>
|
|
247
250
|
</DynamicModalBuilder>
|
|
@@ -259,15 +262,15 @@ const handleModalIframeSrc = function () {
|
|
|
259
262
|
</MediaLibraryModal>
|
|
260
263
|
|
|
261
264
|
<div
|
|
262
|
-
class="z-20 px-2 py-1 h-24 flex items-center justify-center mt-2 mx-2 border-b border-myPrimaryLightGrayColor"
|
|
265
|
+
class="pbx-z-20 pbx-px-2 pbx-py-1 pbx-h-24 pbx-flex pbx-items-center pbx-justify-center pbx-mt-2 pbx-mx-2 pbx-border-b pbx-border-myPrimaryLightGrayColor"
|
|
263
266
|
>
|
|
264
267
|
<div
|
|
265
|
-
class="flex items-center justify-center"
|
|
266
|
-
:class="{ 'rounded-full border border-gray-200 shadow-sm': getElement }"
|
|
268
|
+
class="pbx-flex pbx-items-center pbx-justify-center"
|
|
269
|
+
:class="{ 'pbx-rounded-full pbx-border pbx-border-gray-200 pbx-shadow-sm': getElement }"
|
|
267
270
|
>
|
|
268
271
|
<template v-if="pageBuilderClass.ElOrFirstChildIsIframe()">
|
|
269
|
-
<div class="px-2 flex items-center justify-start gap-2 w-max">
|
|
270
|
-
<button @click="handleModalIframeSrc" type="button" class="myPrimaryTag">
|
|
272
|
+
<div class="pbx-px-2 pbx-flex pbx-items-center pbx-justify-start pbx-gap-2 pbx-w-max">
|
|
273
|
+
<button @click="handleModalIframeSrc" type="button" class="pbx-myPrimaryTag">
|
|
271
274
|
<span class="material-symbols-outlined"> play_circle </span>
|
|
272
275
|
<span>Add YouTube</span>
|
|
273
276
|
</button>
|
|
@@ -280,13 +283,13 @@ const handleModalIframeSrc = function () {
|
|
|
280
283
|
!pageBuilderClass.ElOrFirstChildIsIframe()
|
|
281
284
|
"
|
|
282
285
|
>
|
|
283
|
-
<div class="px-2 flex items-center justify-start gap-2 w-max">
|
|
284
|
-
<button @click="handleModalPreviewTiptap" type="button" class="myPrimaryTag">
|
|
286
|
+
<div class="pbx-px-2 pbx-flex pbx-items-center pbx-justify-start pbx-gap-2 pbx-w-max">
|
|
287
|
+
<button @click="handleModalPreviewTiptap" type="button" class="pbx-myPrimaryTag">
|
|
285
288
|
<span class="material-symbols-outlined"> edit </span>
|
|
286
289
|
<span>Edit text and links</span>
|
|
287
290
|
</button>
|
|
288
291
|
</div>
|
|
289
|
-
<div class="px-2">
|
|
292
|
+
<div class="pbx-px-2">
|
|
290
293
|
<TextColorEditor></TextColorEditor>
|
|
291
294
|
</div>
|
|
292
295
|
</template>
|
|
@@ -299,8 +302,8 @@ const handleModalIframeSrc = function () {
|
|
|
299
302
|
!pageBuilderClass.ElOrFirstChildIsIframe()
|
|
300
303
|
"
|
|
301
304
|
>
|
|
302
|
-
<div class="px-2 flex items-center justify-start gap-2 w-max">
|
|
303
|
-
<button @click="handleAddImage" type="button" class="myPrimaryTag">
|
|
305
|
+
<div class="pbx-px-2 pbx-flex pbx-items-center pbx-justify-start pbx-gap-2 pbx-w-max">
|
|
306
|
+
<button @click="handleAddImage" type="button" class="pbx-myPrimaryTag">
|
|
304
307
|
<span class="material-symbols-outlined"> add_photo_alternate </span>
|
|
305
308
|
<span>Update image</span>
|
|
306
309
|
</button>
|
|
@@ -315,7 +318,7 @@ const handleModalIframeSrc = function () {
|
|
|
315
318
|
!pageBuilderClass.ElOrFirstChildIsIframe()
|
|
316
319
|
"
|
|
317
320
|
>
|
|
318
|
-
<div class="px-2">
|
|
321
|
+
<div class="pbx-px-2">
|
|
319
322
|
<BackgroundColorEditor></BackgroundColorEditor>
|
|
320
323
|
</div>
|
|
321
324
|
</template>
|
|
@@ -22,17 +22,17 @@ const getRestoredElement = computed(() => {
|
|
|
22
22
|
<EditorAccordion v-if="getElement || getRestoredElement">
|
|
23
23
|
<template #title>Selected HTML Element</template>
|
|
24
24
|
<template #content>
|
|
25
|
-
<div class="flex flex-row flex-wrap gap-2 mt-2"></div>
|
|
25
|
+
<div class="pbx-flex pbx-flex-row pbx-flex-wrap pbx-gap-2 pbx-mt-2"></div>
|
|
26
26
|
<!-- delete & restore element # start -->
|
|
27
27
|
<template v-if="getRestoredElement">
|
|
28
|
-
<div class="border-b border-gray-200 mb-4 pb-8 pt-4">
|
|
29
|
-
<p class="myPrimaryParagraph font-medium py-0">Restore</p>
|
|
30
|
-
<label class="myPrimaryInputLabel"> Restore the last deleted HTML element.</label>
|
|
31
|
-
<div class="px-2 flex items-center justify-start gap-2 w-max">
|
|
28
|
+
<div class="pbx-border-b pbx-border-gray-200 pbx-mb-4 pbx-pb-8 pbx-pt-4">
|
|
29
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0">Restore</p>
|
|
30
|
+
<label class="pbx-myPrimaryInputLabel"> Restore the last deleted HTML element.</label>
|
|
31
|
+
<div class="pbx-px-2 pbx-flex pbx-items-center pbx-justify-start pbx-gap-2 pbx-w-max">
|
|
32
32
|
<button
|
|
33
33
|
@click="pageBuilderClass.handleRestoreElement"
|
|
34
34
|
type="button"
|
|
35
|
-
class="myPrimaryButton w-full mt-4"
|
|
35
|
+
class="pbx-myPrimaryButton pbx-w-full pbx-mt-4"
|
|
36
36
|
>
|
|
37
37
|
<span class="material-symbols-outlined"> undo </span>
|
|
38
38
|
<span>Restore</span>
|
|
@@ -42,18 +42,18 @@ const getRestoredElement = computed(() => {
|
|
|
42
42
|
</template>
|
|
43
43
|
|
|
44
44
|
<template v-if="getElement">
|
|
45
|
-
<p class="myPrimaryParagraph font-medium py-0 mb-4 pt-4">Delete</p>
|
|
46
|
-
<label class="myPrimaryInputLabel">
|
|
45
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-mb-4 pbx-pt-4">Delete</p>
|
|
46
|
+
<label class="pbx-myPrimaryInputLabel">
|
|
47
47
|
Delete the currently selected HTML element from the page.</label
|
|
48
48
|
>
|
|
49
49
|
|
|
50
|
-
<div class="px-2 flex items-center justify-start gap-2 w-max">
|
|
50
|
+
<div class="pbx-px-2 pbx-flex pbx-items-center pbx-justify-start pbx-gap-2 pbx-w-max">
|
|
51
51
|
<button
|
|
52
52
|
@click="pageBuilderClass.handleDeleteElement"
|
|
53
53
|
type="button"
|
|
54
|
-
class="myPrimaryDeleteButton w-full mt-4"
|
|
54
|
+
class="pbx-myPrimaryDeleteButton pbx-w-full pbx-mt-4"
|
|
55
55
|
>
|
|
56
|
-
<span class="hover:text-white">Delete element</span>
|
|
56
|
+
<span class="hover:pbx-text-white">Delete element</span>
|
|
57
57
|
</button>
|
|
58
58
|
</div>
|
|
59
59
|
</template>
|
|
@@ -71,12 +71,12 @@ const loadingImage = async function (imageURL) {
|
|
|
71
71
|
<template>
|
|
72
72
|
<div>
|
|
73
73
|
<div v-show="getIsLoadingImage">
|
|
74
|
-
<div class="flex items-center justify-center mt-4 min-h-80">
|
|
74
|
+
<div class="pbx-flex pbx-items-center pbx-justify-center pbx-mt-4 pbx-min-h-80">
|
|
75
75
|
<div
|
|
76
|
-
class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]"
|
|
76
|
+
class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
|
|
77
77
|
>
|
|
78
78
|
<span
|
|
79
|
-
class="!absolute
|
|
79
|
+
class="!pbx-absolute !pbx-m-px !pbx-h-px !pbx-w-px !pbx-overflow-hidden !pbx-whitespace-nowrap !pbx-border-0 !pbx-p-0 !pbx-[clip:rect(0,0,0,0)]"
|
|
80
80
|
>Loading...</span
|
|
81
81
|
>
|
|
82
82
|
</div>
|
|
@@ -84,7 +84,7 @@ const loadingImage = async function (imageURL) {
|
|
|
84
84
|
</div>
|
|
85
85
|
<div v-show="getBasePrimaryImage && !getIsLoadingImage">
|
|
86
86
|
<img
|
|
87
|
-
class="object-cover object-center w-full cursor-pointer"
|
|
87
|
+
class="pbx-object-cover pbx-object-center pbx-w-full pbx-cursor-pointer"
|
|
88
88
|
:src="getBasePrimaryImage"
|
|
89
89
|
@click="handleAddImage"
|
|
90
90
|
alt="image"
|