@myissue/vue-website-page-builder 3.3.65 → 3.3.67
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 +70 -4
- package/dist/vue-website-page-builder.js +14959 -12086
- package/dist/vue-website-page-builder.umd.cjs +78 -57
- package/package.json +2 -1
- package/src/Components/PageBuilder/EditorMenu/Editables/BackgroundColorEditor.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/BorderRadius.vue +19 -13
- package/src/Components/PageBuilder/EditorMenu/Editables/Borders.vue +9 -7
- package/src/Components/PageBuilder/EditorMenu/Editables/ClassEditor.vue +8 -7
- package/src/Components/PageBuilder/EditorMenu/Editables/ManageBackgroundOpacity.vue +7 -3
- package/src/Components/PageBuilder/EditorMenu/Editables/ManageOpacity.vue +5 -3
- package/src/Components/PageBuilder/EditorMenu/Editables/Margin.vue +9 -5
- package/src/Components/PageBuilder/EditorMenu/Editables/OpacityEditor.vue +1 -1
- package/src/Components/PageBuilder/EditorMenu/Editables/Padding.vue +9 -5
- package/src/Components/PageBuilder/EditorMenu/Editables/StyleEditor.vue +8 -7
- package/src/Components/PageBuilder/EditorMenu/Editables/Typography.vue +25 -9
- package/src/Components/PageBuilder/EditorMenu/RightSidebarEditor.vue +9 -12
- package/src/Components/PageBuilder/Settings/PageBuilderSettings.vue +3 -3
- package/src/Components/PageBuilder/ToolbarOption/ToolbarOption.vue +4 -4
- package/src/PageBuilder/PageBuilder.vue +83 -5
- package/src/composables/builderInstance.ts +3 -2
- package/src/i18n.ts +28 -0
- package/src/locales/ar.json +136 -0
- package/src/locales/de.json +136 -0
- package/src/locales/en.json +136 -0
- package/src/locales/es.json +136 -0
- package/src/locales/fr.json +136 -0
- package/src/locales/hi.json +136 -0
- package/src/locales/ja.json +136 -0
- package/src/locales/pt.json +136 -0
- package/src/locales/ru.json +136 -0
- package/src/locales/zh-Hans.json +136 -0
- package/src/main.ts +10 -5
- package/src/services/PageBuilderService.ts +150 -29
- package/src/tests/PageBuilderTest.vue +24 -54
- package/src/tests/pageBuilderService.test.ts +7 -1
- package/src/types/index.ts +7 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@myissue/vue-website-page-builder",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.67",
|
|
4
4
|
"description": "Vue 3 page builder component with drag & drop functionality.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/vue-website-page-builder.umd.cjs",
|
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
"pinia": "^2.1.7",
|
|
80
80
|
"uuid": "^9.0.0",
|
|
81
81
|
"vue": "^3.5.13",
|
|
82
|
+
"vue-i18n": "^11.1.9",
|
|
82
83
|
"vue-website-page-builder": "file:"
|
|
83
84
|
},
|
|
84
85
|
"devDependencies": {
|
|
@@ -49,7 +49,7 @@ watch(
|
|
|
49
49
|
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border pbx-border-gray-800 pbx-rounded-sm"
|
|
50
50
|
:class="`pbx-bg-${backgroundColor?.replace('pbx-bg-', '')}`"
|
|
51
51
|
></div>
|
|
52
|
-
<div>
|
|
52
|
+
<div>{{ $t('backgroundColorEditor.label') }}</div>
|
|
53
53
|
</div>
|
|
54
54
|
|
|
55
55
|
<span v-if="globalPageLayout" class="material-symbols-outlined"> chevron_right </span>
|
|
@@ -99,7 +99,7 @@ watch(
|
|
|
99
99
|
>
|
|
100
100
|
<div v-if="color === 'none'" class="pbx-flex pbx-items-center">
|
|
101
101
|
<span class="material-symbols-outlined"> ev_shadow </span>
|
|
102
|
-
<span class="pbx-ml-3">
|
|
102
|
+
<span class="pbx-ml-3">{{ $t('backgroundColorEditor.transparent') }}</span>
|
|
103
103
|
</div>
|
|
104
104
|
<div v-if="color !== 'none'" class="pbx-flex pbx-items-center">
|
|
105
105
|
<div
|
|
@@ -73,18 +73,22 @@ watch(
|
|
|
73
73
|
|
|
74
74
|
<template>
|
|
75
75
|
<EditorAccordion>
|
|
76
|
-
<template #title>
|
|
76
|
+
<template #title>{{ $t('borderRadius.title') }}</template>
|
|
77
77
|
<template #content>
|
|
78
|
-
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
|
|
78
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
|
|
79
|
+
{{ $t('borderRadius.global') }}
|
|
80
|
+
</p>
|
|
79
81
|
<div class="pbx-my-2 pbx-py-2">
|
|
80
|
-
<label for="global-border-radius" class="pbx-myPrimaryInputLabel">
|
|
82
|
+
<label for="global-border-radius" class="pbx-myPrimaryInputLabel">{{
|
|
83
|
+
$t('borderRadius.label')
|
|
84
|
+
}}</label>
|
|
81
85
|
<select
|
|
82
86
|
id="global-border-radius"
|
|
83
87
|
v-model="borderRadiusGlobal"
|
|
84
88
|
class="pbx-myPrimarySelect"
|
|
85
89
|
@change="pageBuilderService.handleBorderRadiusGlobal(borderRadiusGlobal)"
|
|
86
90
|
>
|
|
87
|
-
<option disabled value="">
|
|
91
|
+
<option disabled value="">{{ $t('borderRadius.select') }}</option>
|
|
88
92
|
<option
|
|
89
93
|
v-for="borderRadiusGlobal in tailwindBorderRadius.roundedGlobal"
|
|
90
94
|
:key="borderRadiusGlobal"
|
|
@@ -93,10 +97,12 @@ watch(
|
|
|
93
97
|
</option>
|
|
94
98
|
</select>
|
|
95
99
|
</div>
|
|
96
|
-
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
|
|
100
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
|
|
101
|
+
{{ $t('borderRadius.specific') }}
|
|
102
|
+
</p>
|
|
97
103
|
<div class="pbx-my-2 pbx-py-2">
|
|
98
104
|
<label for="border-radius-top-left" class="pbx-myPrimaryInputLabel">
|
|
99
|
-
|
|
105
|
+
{{ $t('borderRadius.topLeft') }}
|
|
100
106
|
</label>
|
|
101
107
|
<select
|
|
102
108
|
id="border-radius-top-left"
|
|
@@ -104,7 +110,7 @@ watch(
|
|
|
104
110
|
class="pbx-myPrimarySelect"
|
|
105
111
|
@change="pageBuilderService.handleBorderRadiusTopLeft(borderRadiusTopLeft)"
|
|
106
112
|
>
|
|
107
|
-
<option disabled value="">
|
|
113
|
+
<option disabled value="">{{ $t('borderRadius.select') }}</option>
|
|
108
114
|
<option
|
|
109
115
|
v-for="borderRadiusTopLeft in tailwindBorderRadius.roundedTopLeft"
|
|
110
116
|
:key="borderRadiusTopLeft"
|
|
@@ -115,7 +121,7 @@ watch(
|
|
|
115
121
|
</div>
|
|
116
122
|
<div class="pbx-my-2 pbx-py-2">
|
|
117
123
|
<label for="border-radius-top-right" class="pbx-myPrimaryInputLabel">
|
|
118
|
-
|
|
124
|
+
{{ $t('borderRadius.topRight') }}
|
|
119
125
|
</label>
|
|
120
126
|
<select
|
|
121
127
|
id="border-radius-top-right"
|
|
@@ -123,7 +129,7 @@ watch(
|
|
|
123
129
|
class="pbx-myPrimarySelect"
|
|
124
130
|
@change="pageBuilderService.handleBorderRadiusTopRight(borderRadiusTopRight)"
|
|
125
131
|
>
|
|
126
|
-
<option disabled value="">
|
|
132
|
+
<option disabled value="">{{ $t('borderRadius.select') }}</option>
|
|
127
133
|
<option
|
|
128
134
|
v-for="borderRadiusTopRight in tailwindBorderRadius.roundedTopRight"
|
|
129
135
|
:key="borderRadiusTopRight"
|
|
@@ -134,7 +140,7 @@ watch(
|
|
|
134
140
|
</div>
|
|
135
141
|
<div class="pbx-my-2 pbx-py-2">
|
|
136
142
|
<label for="border-radius-bottom-left" class="pbx-myPrimaryInputLabel">
|
|
137
|
-
|
|
143
|
+
{{ $t('borderRadius.bottomLeft') }}
|
|
138
144
|
</label>
|
|
139
145
|
<select
|
|
140
146
|
id="border-radius-bottom-left"
|
|
@@ -142,7 +148,7 @@ watch(
|
|
|
142
148
|
class="pbx-myPrimarySelect"
|
|
143
149
|
@change="pageBuilderService.handleBorderRadiusBottomleft(borderRadiusBottomleft)"
|
|
144
150
|
>
|
|
145
|
-
<option disabled value="">
|
|
151
|
+
<option disabled value="">{{ $t('borderRadius.select') }}</option>
|
|
146
152
|
<option
|
|
147
153
|
v-for="borderRadiusBottomleft in tailwindBorderRadius.roundedBottomLeft"
|
|
148
154
|
:key="borderRadiusBottomleft"
|
|
@@ -153,7 +159,7 @@ watch(
|
|
|
153
159
|
</div>
|
|
154
160
|
<div class="pbx-my-2 pbx-py-2">
|
|
155
161
|
<label for="border-radius-bottom-right" class="pbx-myPrimaryInputLabel">
|
|
156
|
-
|
|
162
|
+
{{ $t('borderRadius.bottomRight') }}
|
|
157
163
|
</label>
|
|
158
164
|
<select
|
|
159
165
|
id="border-radius-bottom-right"
|
|
@@ -161,7 +167,7 @@ watch(
|
|
|
161
167
|
class="pbx-myPrimarySelect"
|
|
162
168
|
@change="pageBuilderService.handleBorderRadiusBottomRight(borderRadiusBottomRight)"
|
|
163
169
|
>
|
|
164
|
-
<option disabled value="">
|
|
170
|
+
<option disabled value="">{{ $t('borderRadius.select') }}</option>
|
|
165
171
|
<option
|
|
166
172
|
v-for="borderRadiusBottomRight in tailwindBorderRadius.roundedBottomRight"
|
|
167
173
|
:key="borderRadiusBottomRight"
|
|
@@ -52,19 +52,21 @@ watch(
|
|
|
52
52
|
|
|
53
53
|
<template>
|
|
54
54
|
<EditorAccordion>
|
|
55
|
-
<template #title>
|
|
55
|
+
<template #title>{{ $t('borders.title') }}</template>
|
|
56
56
|
<template #content>
|
|
57
|
-
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
|
|
57
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
|
|
58
|
+
{{ $t('borders.border') }}
|
|
59
|
+
</p>
|
|
58
60
|
|
|
59
61
|
<div class="pbx-my-2 pbx-py-2">
|
|
60
|
-
<label for="border-style" class="pbx-myPrimaryInputLabel">
|
|
62
|
+
<label for="border-style" class="pbx-myPrimaryInputLabel">{{ $t('borders.style') }}</label>
|
|
61
63
|
<select
|
|
62
64
|
id="border-style"
|
|
63
65
|
v-model="borderStyle"
|
|
64
66
|
class="pbx-myPrimarySelect"
|
|
65
67
|
@change="pageBuilderService.handleBorderStyle(borderStyle)"
|
|
66
68
|
>
|
|
67
|
-
<option disabled value="">
|
|
69
|
+
<option disabled value="">{{ $t('borders.select') }}</option>
|
|
68
70
|
<option
|
|
69
71
|
v-for="borderStyle in tailwindBorderStyleWidthPlusColor.borderStyle"
|
|
70
72
|
:key="borderStyle"
|
|
@@ -74,14 +76,14 @@ watch(
|
|
|
74
76
|
</select>
|
|
75
77
|
</div>
|
|
76
78
|
<div class="pbx-my-2 pbx-py-2">
|
|
77
|
-
<label for="border-width" class="pbx-myPrimaryInputLabel">
|
|
79
|
+
<label for="border-width" class="pbx-myPrimaryInputLabel">{{ $t('borders.width') }}</label>
|
|
78
80
|
<select
|
|
79
81
|
id="border-width"
|
|
80
82
|
v-model="borderWidth"
|
|
81
83
|
class="pbx-myPrimarySelect"
|
|
82
84
|
@change="pageBuilderService.handleBorderWidth(borderWidth)"
|
|
83
85
|
>
|
|
84
|
-
<option disabled value="">
|
|
86
|
+
<option disabled value="">{{ $t('borders.select') }}</option>
|
|
85
87
|
<option
|
|
86
88
|
v-for="borderWidth in tailwindBorderStyleWidthPlusColor.borderWidth"
|
|
87
89
|
:key="borderWidth"
|
|
@@ -91,7 +93,7 @@ watch(
|
|
|
91
93
|
</select>
|
|
92
94
|
</div>
|
|
93
95
|
|
|
94
|
-
<label for="border-color" class="pbx-myPrimaryInputLabel">
|
|
96
|
+
<label for="border-color" class="pbx-myPrimaryInputLabel">{{ $t('borders.color') }}</label>
|
|
95
97
|
<Listbox as="div" v-model="borderColor">
|
|
96
98
|
<div class="pbx-relative pbx-mt-2">
|
|
97
99
|
<ListboxButton class="pbx-myPrimarySelect" id="border-color">
|
|
@@ -50,11 +50,10 @@ const handleAddClasses = async () => {
|
|
|
50
50
|
|
|
51
51
|
<template>
|
|
52
52
|
<EditorAccordion>
|
|
53
|
-
<template #title>
|
|
53
|
+
<template #title>{{ $t('classEditor.title') }}</template>
|
|
54
54
|
<template #content>
|
|
55
55
|
<label class="pbx-myPrimaryInputLabel pbx-my-4">
|
|
56
|
-
|
|
57
|
-
selected element.
|
|
56
|
+
{{ $t('classEditor.info') }}
|
|
58
57
|
</label>
|
|
59
58
|
|
|
60
59
|
<div class="pbx-flex pbx-flex-row pbx-flex-wrap pbx-gap-2 pbx-mt-2 pbx-mb-4">
|
|
@@ -79,22 +78,24 @@ const handleAddClasses = async () => {
|
|
|
79
78
|
|
|
80
79
|
<div>
|
|
81
80
|
<label for="custom-css" class="pbx-myPrimaryInputLabel">
|
|
82
|
-
|
|
81
|
+
{{ $t('classEditor.add') }}
|
|
83
82
|
<br />
|
|
84
|
-
|
|
83
|
+
{{ $t('classEditor.prefix') }}
|
|
85
84
|
</label>
|
|
86
85
|
<div class="pbx-flex pbx-gap-2 pbx-item-center">
|
|
87
86
|
<input
|
|
88
87
|
id="custom-css"
|
|
89
88
|
v-model="inputClass"
|
|
90
89
|
type="text"
|
|
91
|
-
placeholder="
|
|
90
|
+
:placeholder="$t('classEditor.placeholder')"
|
|
92
91
|
@keydown.enter="handleAddClasses()"
|
|
93
92
|
autocomplete="off"
|
|
94
93
|
class="pbx-myPrimaryInput"
|
|
95
94
|
/>
|
|
96
95
|
|
|
97
|
-
<button @click="handleAddClasses" type="button" class="pbx-myPrimaryButton">
|
|
96
|
+
<button @click="handleAddClasses" type="button" class="pbx-myPrimaryButton">
|
|
97
|
+
{{ $t('classEditor.addButton') }}
|
|
98
|
+
</button>
|
|
98
99
|
</div>
|
|
99
100
|
</div>
|
|
100
101
|
<p v-if="errorMessage" class="pbx-myPrimaryInputError">{{ errorMessage }}</p>
|
|
@@ -32,7 +32,9 @@ watch(
|
|
|
32
32
|
|
|
33
33
|
<template>
|
|
34
34
|
<div class="pbx-my-2 pbx-py-2">
|
|
35
|
-
<label for="bg-opacity" class="pbx-myPrimaryInputLabel">
|
|
35
|
+
<label for="bg-opacity" class="pbx-myPrimaryInputLabel">{{
|
|
36
|
+
$t('backgroundOpacity.label')
|
|
37
|
+
}}</label>
|
|
36
38
|
|
|
37
39
|
<Listbox as="div" v-model="opacityVueModel">
|
|
38
40
|
<div class="pbx-relative">
|
|
@@ -51,7 +53,7 @@ watch(
|
|
|
51
53
|
></div>
|
|
52
54
|
|
|
53
55
|
<span class="pbx-block pbx-truncate" :class="[opacityVueModel !== 'none' ? '' : '']">{{
|
|
54
|
-
opacityVueModel === 'none' ? '
|
|
56
|
+
opacityVueModel === 'none' ? $t('backgroundOpacity.transparent') : opacityVueModel
|
|
55
57
|
}}</span>
|
|
56
58
|
</span>
|
|
57
59
|
<span
|
|
@@ -97,7 +99,9 @@ watch(
|
|
|
97
99
|
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950"
|
|
98
100
|
:class="`${backgroundOpacity}`"
|
|
99
101
|
></div>
|
|
100
|
-
<span v-if="backgroundOpacity === 'none'" class="pbx-ml-3">
|
|
102
|
+
<span v-if="backgroundOpacity === 'none'" class="pbx-ml-3">{{
|
|
103
|
+
$t('backgroundOpacity.transparent')
|
|
104
|
+
}}</span>
|
|
101
105
|
<span v-if="backgroundOpacity !== 'none'" class="pbx-ml-3">{{
|
|
102
106
|
backgroundOpacity
|
|
103
107
|
}}</span>
|
|
@@ -31,7 +31,7 @@ watch(
|
|
|
31
31
|
|
|
32
32
|
<template>
|
|
33
33
|
<div class="pbx-my-2 pbx-py-2">
|
|
34
|
-
<label for="default-opacity" class="pbx-myPrimaryInputLabel">
|
|
34
|
+
<label for="default-opacity" class="pbx-myPrimaryInputLabel">{{ $t('opacity.label') }}</label>
|
|
35
35
|
|
|
36
36
|
<Listbox as="div" v-model="opacityVueModel">
|
|
37
37
|
<div class="pbx-relative">
|
|
@@ -50,7 +50,7 @@ watch(
|
|
|
50
50
|
></div>
|
|
51
51
|
|
|
52
52
|
<span class="pbx-block pbx-truncate" :class="[opacityVueModel !== 'none' ? '' : '']">{{
|
|
53
|
-
opacityVueModel === 'none' ? '
|
|
53
|
+
opacityVueModel === 'none' ? $t('opacity.transparent') : opacityVueModel
|
|
54
54
|
}}</span>
|
|
55
55
|
</span>
|
|
56
56
|
<span
|
|
@@ -96,7 +96,9 @@ watch(
|
|
|
96
96
|
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950"
|
|
97
97
|
:class="`${elementOpacity}`"
|
|
98
98
|
></div>
|
|
99
|
-
<span v-if="elementOpacity === 'none'" class="pbx-ml-3">
|
|
99
|
+
<span v-if="elementOpacity === 'none'" class="pbx-ml-3">{{
|
|
100
|
+
$t('opacity.transparent')
|
|
101
|
+
}}</span>
|
|
100
102
|
<span v-if="elementOpacity !== 'none'" class="pbx-ml-3">{{
|
|
101
103
|
elementOpacity
|
|
102
104
|
}}</span>
|
|
@@ -61,17 +61,19 @@ watch(
|
|
|
61
61
|
</script>
|
|
62
62
|
<template>
|
|
63
63
|
<EditorAccordion>
|
|
64
|
-
<template #title>
|
|
64
|
+
<template #title>{{ $t('margin.title') }}</template>
|
|
65
65
|
<template #content>
|
|
66
66
|
<div class="pbx-my-2 pbx-py-2">
|
|
67
|
-
<label for="vertical-margin" class="pbx-myPrimaryInputLabel">
|
|
67
|
+
<label for="vertical-margin" class="pbx-myPrimaryInputLabel">{{
|
|
68
|
+
$t('margin.vertical')
|
|
69
|
+
}}</label>
|
|
68
70
|
<select
|
|
69
71
|
id="vertical-margin"
|
|
70
72
|
v-model="fontVerticalMargin"
|
|
71
73
|
class="pbx-myPrimarySelect"
|
|
72
74
|
@change="pageBuilderService.handleVerticalMargin(fontVerticalMargin)"
|
|
73
75
|
>
|
|
74
|
-
<option disabled value="">
|
|
76
|
+
<option disabled value="">{{ $t('margin.select') }}</option>
|
|
75
77
|
<option
|
|
76
78
|
v-for="verticalMargin in tailwindPaddingPlusMargin.verticalMargin"
|
|
77
79
|
:key="verticalMargin"
|
|
@@ -82,14 +84,16 @@ watch(
|
|
|
82
84
|
</div>
|
|
83
85
|
<hr />
|
|
84
86
|
<div class="pbx-my-2 pbx-py-2">
|
|
85
|
-
<label for="horizontal-margin" class="pbx-myPrimaryInputLabel">
|
|
87
|
+
<label for="horizontal-margin" class="pbx-myPrimaryInputLabel">{{
|
|
88
|
+
$t('margin.horizontal')
|
|
89
|
+
}}</label>
|
|
86
90
|
<select
|
|
87
91
|
id="horizontal-margin"
|
|
88
92
|
v-model="fontHorizontalMargin"
|
|
89
93
|
class="pbx-myPrimarySelect"
|
|
90
94
|
@change="pageBuilderService.handleHorizontalMargin(fontHorizontalMargin)"
|
|
91
95
|
>
|
|
92
|
-
<option disabled value="">
|
|
96
|
+
<option disabled value="">{{ $t('margin.select') }}</option>
|
|
93
97
|
<option
|
|
94
98
|
v-for="horizontalMargin in tailwindPaddingPlusMargin.horizontalMargin"
|
|
95
99
|
:key="horizontalMargin"
|
|
@@ -6,7 +6,7 @@ import ManageOpacity from './ManageOpacity.vue'
|
|
|
6
6
|
|
|
7
7
|
<template>
|
|
8
8
|
<EditorAccordion>
|
|
9
|
-
<template #title>
|
|
9
|
+
<template #title>{{ $t('opacityEditor.title') }}</template>
|
|
10
10
|
<template #content>
|
|
11
11
|
<ManageOpacity></ManageOpacity>
|
|
12
12
|
<hr />
|
|
@@ -61,17 +61,19 @@ watch(
|
|
|
61
61
|
</script>
|
|
62
62
|
<template>
|
|
63
63
|
<EditorAccordion>
|
|
64
|
-
<template #title>
|
|
64
|
+
<template #title>{{ $t('padding.title') }}</template>
|
|
65
65
|
<template #content>
|
|
66
66
|
<div class="pbx-my-2 pbx-py-2">
|
|
67
|
-
<label for="vertical-padding" class="pbx-myPrimaryInputLabel">
|
|
67
|
+
<label for="vertical-padding" class="pbx-myPrimaryInputLabel">{{
|
|
68
|
+
$t('padding.vertical')
|
|
69
|
+
}}</label>
|
|
68
70
|
<select
|
|
69
71
|
id="vertical-padding"
|
|
70
72
|
v-model="fontVerticalPadding"
|
|
71
73
|
class="pbx-myPrimarySelect"
|
|
72
74
|
@change="pageBuilderService.handleVerticalPadding(fontVerticalPadding)"
|
|
73
75
|
>
|
|
74
|
-
<option disabled value="">
|
|
76
|
+
<option disabled value="">{{ $t('padding.select') }}</option>
|
|
75
77
|
<option
|
|
76
78
|
v-for="verticalPadding in tailwindPaddingPlusMargin.verticalPadding"
|
|
77
79
|
:key="verticalPadding"
|
|
@@ -82,14 +84,16 @@ watch(
|
|
|
82
84
|
</div>
|
|
83
85
|
<hr />
|
|
84
86
|
<div class="pbx-my-2 pbx-py-2">
|
|
85
|
-
<label for="horizontal-padding" class="pbx-myPrimaryInputLabel">
|
|
87
|
+
<label for="horizontal-padding" class="pbx-myPrimaryInputLabel">{{
|
|
88
|
+
$t('padding.horizontal')
|
|
89
|
+
}}</label>
|
|
86
90
|
<select
|
|
87
91
|
id="horizontal-padding"
|
|
88
92
|
v-model="fontHorizontalPadding"
|
|
89
93
|
class="pbx-myPrimarySelect"
|
|
90
94
|
@change="pageBuilderService.handleHorizontalPadding(fontHorizontalPadding)"
|
|
91
95
|
>
|
|
92
|
-
<option disabled value="">
|
|
96
|
+
<option disabled value="">{{ $t('padding.select') }}</option>
|
|
93
97
|
<option
|
|
94
98
|
v-for="horizontalPadding in tailwindPaddingPlusMargin.horizontalPadding"
|
|
95
99
|
:key="horizontalPadding"
|
|
@@ -56,11 +56,10 @@ const handleAddStyle = async () => {
|
|
|
56
56
|
|
|
57
57
|
<template>
|
|
58
58
|
<EditorAccordion>
|
|
59
|
-
<template #title>
|
|
59
|
+
<template #title>{{ $t('styleEditor.title') }}</template>
|
|
60
60
|
<template #content>
|
|
61
61
|
<label class="pbx-myPrimaryInputLabel pbx-my-4">
|
|
62
|
-
|
|
63
|
-
apply them to the selected element.
|
|
62
|
+
{{ $t('styleEditor.info') }}
|
|
64
63
|
</label>
|
|
65
64
|
|
|
66
65
|
<div class="pbx-flex pbx-flex-row pbx-flex-wrap pbx-gap-2 pbx-mt-2 pbx-mb-4">
|
|
@@ -83,14 +82,14 @@ const handleAddStyle = async () => {
|
|
|
83
82
|
|
|
84
83
|
<div>
|
|
85
84
|
<label for="custom-style-property" class="pbx-myPrimaryInputLabel">
|
|
86
|
-
|
|
85
|
+
{{ $t('styleEditor.add') }}
|
|
87
86
|
</label>
|
|
88
87
|
<div class="pbx-flex pbx-gap-2 pbx-flex-col pbx-item-center">
|
|
89
88
|
<input
|
|
90
89
|
id="custom-style-property"
|
|
91
90
|
v-model="inputProperty"
|
|
92
91
|
type="text"
|
|
93
|
-
placeholder="
|
|
92
|
+
:placeholder="$t('styleEditor.propertyPlaceholder')"
|
|
94
93
|
@keydown.enter.prevent="handleEnterOnProperty"
|
|
95
94
|
autocomplete="off"
|
|
96
95
|
class="pbx-myPrimaryInput"
|
|
@@ -100,13 +99,15 @@ const handleAddStyle = async () => {
|
|
|
100
99
|
ref="valueInputRef"
|
|
101
100
|
v-model="inputValue"
|
|
102
101
|
type="text"
|
|
103
|
-
placeholder="
|
|
102
|
+
:placeholder="$t('styleEditor.valuePlaceholder')"
|
|
104
103
|
@keydown.enter="handleAddStyle"
|
|
105
104
|
autocomplete="off"
|
|
106
105
|
class="pbx-myPrimaryInput"
|
|
107
106
|
/>
|
|
108
107
|
|
|
109
|
-
<button @click="handleAddStyle" type="button" class="pbx-myPrimaryButton">
|
|
108
|
+
<button @click="handleAddStyle" type="button" class="pbx-myPrimaryButton">
|
|
109
|
+
{{ $t('styleEditor.addButton') }}
|
|
110
|
+
</button>
|
|
110
111
|
</div>
|
|
111
112
|
</div>
|
|
112
113
|
<p v-if="errorMessage" class="pbx-myPrimaryInputError">{{ errorMessage }}</p>
|
|
@@ -99,13 +99,17 @@ watch(
|
|
|
99
99
|
|
|
100
100
|
<template>
|
|
101
101
|
<EditorAccordion>
|
|
102
|
-
<template #title>
|
|
102
|
+
<template #title>{{ $t('typography.title') }}</template>
|
|
103
103
|
<template #content>
|
|
104
104
|
<!-- FONT SIZES -->
|
|
105
|
-
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
|
|
105
|
+
<p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
|
|
106
|
+
{{ $t('typography.appearance') }}
|
|
107
|
+
</p>
|
|
106
108
|
<template v-if="false">
|
|
107
109
|
<div class="pbx-my-2 pbx-py-2">
|
|
108
|
-
<label for="font-base" class="pbx-myPrimaryInputLabel">
|
|
110
|
+
<label for="font-base" class="pbx-myPrimaryInputLabel">{{
|
|
111
|
+
$t('typography.fontSize')
|
|
112
|
+
}}</label>
|
|
109
113
|
<select
|
|
110
114
|
id="font-base"
|
|
111
115
|
v-model="fontBase"
|
|
@@ -120,7 +124,9 @@ watch(
|
|
|
120
124
|
</div>
|
|
121
125
|
</template>
|
|
122
126
|
<div class="pbx-my-2 pbx-py-2">
|
|
123
|
-
<label for="font-desktop" class="pbx-myPrimaryInputLabel">
|
|
127
|
+
<label for="font-desktop" class="pbx-myPrimaryInputLabel">{{
|
|
128
|
+
$t('typography.fontSize')
|
|
129
|
+
}}</label>
|
|
124
130
|
<select
|
|
125
131
|
id="font-desktop"
|
|
126
132
|
v-model="fontDesktop"
|
|
@@ -135,7 +141,9 @@ watch(
|
|
|
135
141
|
</div>
|
|
136
142
|
<template v-if="false">
|
|
137
143
|
<div class="pbx-my-2 pbx-py-2">
|
|
138
|
-
<label for="font-tablet" class="pbx-myPrimaryInputLabel">
|
|
144
|
+
<label for="font-tablet" class="pbx-myPrimaryInputLabel">{{
|
|
145
|
+
$t('typography.fontTabletSize')
|
|
146
|
+
}}</label>
|
|
139
147
|
<select
|
|
140
148
|
id="font-tablet"
|
|
141
149
|
v-model="fontTablet"
|
|
@@ -149,7 +157,9 @@ watch(
|
|
|
149
157
|
</select>
|
|
150
158
|
</div>
|
|
151
159
|
<div class="pbx-my-2 pbx-py-2">
|
|
152
|
-
<label for="font-mobile" class="pbx-myPrimaryInputLabel">
|
|
160
|
+
<label for="font-mobile" class="pbx-myPrimaryInputLabel">{{
|
|
161
|
+
$t('typography.fontMobileSize')
|
|
162
|
+
}}</label>
|
|
153
163
|
<select
|
|
154
164
|
id="font-mobile"
|
|
155
165
|
v-model="fontMobile"
|
|
@@ -166,7 +176,9 @@ watch(
|
|
|
166
176
|
<hr />
|
|
167
177
|
|
|
168
178
|
<div class="pbx-my-2 pbx-py-2">
|
|
169
|
-
<label for="font-weight" class="pbx-myPrimaryInputLabel">
|
|
179
|
+
<label for="font-weight" class="pbx-myPrimaryInputLabel">{{
|
|
180
|
+
$t('typography.fontWeight')
|
|
181
|
+
}}</label>
|
|
170
182
|
<select
|
|
171
183
|
id="font-weight"
|
|
172
184
|
v-model="fontWeight"
|
|
@@ -183,7 +195,9 @@ watch(
|
|
|
183
195
|
|
|
184
196
|
<!-- FONT FAMILY -->
|
|
185
197
|
<div class="pbx-my-2 pbx-py-2">
|
|
186
|
-
<label for="font-family" class="pbx-myPrimaryInputLabel">
|
|
198
|
+
<label for="font-family" class="pbx-myPrimaryInputLabel">{{
|
|
199
|
+
$t('typography.fontFamily')
|
|
200
|
+
}}</label>
|
|
187
201
|
<select
|
|
188
202
|
id="font-family"
|
|
189
203
|
v-model="fontFamily"
|
|
@@ -199,7 +213,9 @@ watch(
|
|
|
199
213
|
<hr />
|
|
200
214
|
|
|
201
215
|
<div class="pbx-my-2 pbx-py-2">
|
|
202
|
-
<label for="font-style" class="pbx-myPrimaryInputLabel">
|
|
216
|
+
<label for="font-style" class="pbx-myPrimaryInputLabel">{{
|
|
217
|
+
$t('typography.fontStyle')
|
|
218
|
+
}}</label>
|
|
203
219
|
<select
|
|
204
220
|
id="font-style"
|
|
205
221
|
v-model="fontStyle"
|
|
@@ -133,7 +133,7 @@ const handleCloseGlobalPageStyles = async function () {
|
|
|
133
133
|
<span class="material-symbols-outlined"> close </span>
|
|
134
134
|
</button>
|
|
135
135
|
<p class="pbx-font-medium pbx-text-sm">
|
|
136
|
-
|
|
136
|
+
{{ $t('rightSidebar.editing') }}
|
|
137
137
|
<span class="pbx-lowercase"><{{ elementTag }}></span>
|
|
138
138
|
</p>
|
|
139
139
|
</div>
|
|
@@ -181,16 +181,15 @@ const handleCloseGlobalPageStyles = async function () {
|
|
|
181
181
|
<!-- Global Page Styles -->
|
|
182
182
|
<article class="pbx-my-1 pbx-bg-white">
|
|
183
183
|
<EditorAccordion>
|
|
184
|
-
<template #title>
|
|
184
|
+
<template #title>{{ $t('rightSidebar.globalPageStylesTitle') }}</template>
|
|
185
185
|
<template #content>
|
|
186
186
|
<label class="pbx-myPrimaryInputLabel pbx-my-4">
|
|
187
|
-
|
|
188
|
-
text color, background color, and other universal styles that apply to all sections.
|
|
187
|
+
{{ $t('rightSidebar.globalPageStylesDescription') }}
|
|
189
188
|
</label>
|
|
190
189
|
|
|
191
190
|
<div class="pbx-mt-4">
|
|
192
191
|
<button @click="handleUpdatePageStyles" type="button" class="pbx-myPrimaryButton">
|
|
193
|
-
|
|
192
|
+
{{ $t('rightSidebar.updatePageStyles') }}
|
|
194
193
|
</button>
|
|
195
194
|
</div>
|
|
196
195
|
</template>
|
|
@@ -204,15 +203,14 @@ const handleCloseGlobalPageStyles = async function () {
|
|
|
204
203
|
class="pbx-my-1 pbx-bg-white"
|
|
205
204
|
>
|
|
206
205
|
<EditorAccordion>
|
|
207
|
-
<template #title>
|
|
206
|
+
<template #title>{{ $t('rightSidebar.downloadHtmlTitle') }}</template>
|
|
208
207
|
<template #content>
|
|
209
208
|
<label class="pbx-myPrimaryInputLabel pbx-my-4">
|
|
210
|
-
|
|
211
|
-
and applied styles, making it ready for use or integration elsewhere.
|
|
209
|
+
{{ $t('rightSidebar.downloadHtmlDescription') }}
|
|
212
210
|
</label>
|
|
213
211
|
<div class="pbx-mt-4">
|
|
214
212
|
<button @click="handleDownloadHTML" type="button" class="pbx-myPrimaryButton">
|
|
215
|
-
|
|
213
|
+
{{ $t('rightSidebar.downloadHtmlButton') }}
|
|
216
214
|
</button>
|
|
217
215
|
</div>
|
|
218
216
|
</template>
|
|
@@ -225,7 +223,7 @@ const handleCloseGlobalPageStyles = async function () {
|
|
|
225
223
|
maxWidth="md"
|
|
226
224
|
minHeight="pbx-min-h-[65vh] pbx-max-h-[65vh]"
|
|
227
225
|
:showModalBuilder="showModalGlobalPageStyles"
|
|
228
|
-
title="
|
|
226
|
+
:title="$t('rightSidebar.globalPageStylesTitle')"
|
|
229
227
|
@closeMainModalBuilder="handleCloseGlobalPageStyles"
|
|
230
228
|
>
|
|
231
229
|
<div class="pbx-flex pbx-flex-col pbx-gap-2 pbx-pt-4 pbx-pb-2">
|
|
@@ -244,8 +242,7 @@ const handleCloseGlobalPageStyles = async function () {
|
|
|
244
242
|
<div v-if="!isLoadingPageStyles && showModalGlobalPageStyles" class="pbx-pb-12">
|
|
245
243
|
<div>
|
|
246
244
|
<p class="pbx-myPrimaryParagraph">
|
|
247
|
-
|
|
248
|
-
text color, background color, and other universal styles that apply to all sections.
|
|
245
|
+
{{ $t('rightSidebar.globalPageStylesDescription') }}
|
|
249
246
|
</p>
|
|
250
247
|
<article class="pbx-my-1 pbx-bg-gray-100">
|
|
251
248
|
<Typography></Typography>
|
|
@@ -299,7 +299,7 @@ const getPageBuilderConfig = computed(() => {
|
|
|
299
299
|
class="pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"
|
|
300
300
|
>
|
|
301
301
|
<div class="pbx-min-w-[30rem] pbx-w-max">
|
|
302
|
-
{{ getPageBuilderConfig.userSettings.language }}
|
|
302
|
+
{{ getPageBuilderConfig.userSettings.language?.default }}
|
|
303
303
|
</div>
|
|
304
304
|
</td>
|
|
305
305
|
</tr>
|
|
@@ -317,8 +317,8 @@ const getPageBuilderConfig = computed(() => {
|
|
|
317
317
|
class="pbx-inline-flex pbx-items-center pbx-px-2.5 pbx-py-0.5 pbx-rounded-full pbx-text-xs pbx-font-medium"
|
|
318
318
|
:class="
|
|
319
319
|
getPageBuilderConfig.userSettings.autoSave
|
|
320
|
-
? 'bg-green-100 text-green-800'
|
|
321
|
-
: 'bg-red-100 text-red-800'
|
|
320
|
+
? 'pbx-bg-green-100 pbx-text-green-800'
|
|
321
|
+
: 'pbx-bg-red-100 pbx-text-red-800'
|
|
322
322
|
"
|
|
323
323
|
>
|
|
324
324
|
{{
|