@myissue/vue-website-page-builder 3.3.68 → 3.3.70

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.
Files changed (37) hide show
  1. package/README.md +1 -66
  2. package/dist/vue-website-page-builder.js +11674 -14514
  3. package/dist/vue-website-page-builder.umd.cjs +57 -78
  4. package/package.json +1 -1
  5. package/src/Components/PageBuilder/EditorMenu/Editables/BackgroundColorEditor.vue +2 -2
  6. package/src/Components/PageBuilder/EditorMenu/Editables/BorderRadius.vue +13 -19
  7. package/src/Components/PageBuilder/EditorMenu/Editables/Borders.vue +7 -9
  8. package/src/Components/PageBuilder/EditorMenu/Editables/ClassEditor.vue +7 -8
  9. package/src/Components/PageBuilder/EditorMenu/Editables/ManageBackgroundOpacity.vue +3 -7
  10. package/src/Components/PageBuilder/EditorMenu/Editables/ManageOpacity.vue +3 -5
  11. package/src/Components/PageBuilder/EditorMenu/Editables/Margin.vue +5 -9
  12. package/src/Components/PageBuilder/EditorMenu/Editables/OpacityEditor.vue +1 -1
  13. package/src/Components/PageBuilder/EditorMenu/Editables/Padding.vue +5 -9
  14. package/src/Components/PageBuilder/EditorMenu/Editables/StyleEditor.vue +7 -8
  15. package/src/Components/PageBuilder/EditorMenu/Editables/Typography.vue +9 -25
  16. package/src/Components/PageBuilder/EditorMenu/RightSidebarEditor.vue +12 -9
  17. package/src/Components/PageBuilder/Settings/PageBuilderSettings.vue +3 -3
  18. package/src/Components/PageBuilder/ToolbarOption/ToolbarOption.vue +4 -4
  19. package/src/PageBuilder/PageBuilder.vue +28 -75
  20. package/src/composables/builderInstance.ts +2 -3
  21. package/src/main.ts +5 -10
  22. package/src/services/PageBuilderService.ts +28 -120
  23. package/src/stores/page-builder-state.ts +6 -0
  24. package/src/tests/PageBuilderTest.vue +53 -21
  25. package/src/tests/pageBuilderService.test.ts +1 -7
  26. package/src/types/index.ts +1 -1
  27. package/src/i18n.ts +0 -28
  28. package/src/locales/ar.json +0 -136
  29. package/src/locales/de.json +0 -136
  30. package/src/locales/en.json +0 -136
  31. package/src/locales/es.json +0 -136
  32. package/src/locales/fr.json +0 -136
  33. package/src/locales/hi.json +0 -136
  34. package/src/locales/ja.json +0 -136
  35. package/src/locales/pt.json +0 -136
  36. package/src/locales/ru.json +0 -136
  37. package/src/locales/zh-Hans.json +0 -136
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myissue/vue-website-page-builder",
3
- "version": "3.3.68",
3
+ "version": "3.3.70",
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",
@@ -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>{{ $t('backgroundColorEditor.label') }}</div>
52
+ <div>Background Color</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">{{ $t('backgroundColorEditor.transparent') }}</span>
102
+ <span class="pbx-ml-3">Transparent</span>
103
103
  </div>
104
104
  <div v-if="color !== 'none'" class="pbx-flex pbx-items-center">
105
105
  <div
@@ -73,22 +73,18 @@ watch(
73
73
 
74
74
  <template>
75
75
  <EditorAccordion>
76
- <template #title>{{ $t('borderRadius.title') }}</template>
76
+ <template #title>Border Radius</template>
77
77
  <template #content>
78
- <p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
79
- {{ $t('borderRadius.global') }}
80
- </p>
78
+ <p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">Global</p>
81
79
  <div class="pbx-my-2 pbx-py-2">
82
- <label for="global-border-radius" class="pbx-myPrimaryInputLabel">{{
83
- $t('borderRadius.label')
84
- }}</label>
80
+ <label for="global-border-radius" class="pbx-myPrimaryInputLabel"> Border Radius </label>
85
81
  <select
86
82
  id="global-border-radius"
87
83
  v-model="borderRadiusGlobal"
88
84
  class="pbx-myPrimarySelect"
89
85
  @change="pageBuilderService.handleBorderRadiusGlobal(borderRadiusGlobal)"
90
86
  >
91
- <option disabled value="">{{ $t('borderRadius.select') }}</option>
87
+ <option disabled value="">Select</option>
92
88
  <option
93
89
  v-for="borderRadiusGlobal in tailwindBorderRadius.roundedGlobal"
94
90
  :key="borderRadiusGlobal"
@@ -97,12 +93,10 @@ watch(
97
93
  </option>
98
94
  </select>
99
95
  </div>
100
- <p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
101
- {{ $t('borderRadius.specific') }}
102
- </p>
96
+ <p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">Specific</p>
103
97
  <div class="pbx-my-2 pbx-py-2">
104
98
  <label for="border-radius-top-left" class="pbx-myPrimaryInputLabel">
105
- {{ $t('borderRadius.topLeft') }}
99
+ Border Radius top left
106
100
  </label>
107
101
  <select
108
102
  id="border-radius-top-left"
@@ -110,7 +104,7 @@ watch(
110
104
  class="pbx-myPrimarySelect"
111
105
  @change="pageBuilderService.handleBorderRadiusTopLeft(borderRadiusTopLeft)"
112
106
  >
113
- <option disabled value="">{{ $t('borderRadius.select') }}</option>
107
+ <option disabled value="">Select</option>
114
108
  <option
115
109
  v-for="borderRadiusTopLeft in tailwindBorderRadius.roundedTopLeft"
116
110
  :key="borderRadiusTopLeft"
@@ -121,7 +115,7 @@ watch(
121
115
  </div>
122
116
  <div class="pbx-my-2 pbx-py-2">
123
117
  <label for="border-radius-top-right" class="pbx-myPrimaryInputLabel">
124
- {{ $t('borderRadius.topRight') }}
118
+ Border Radius top right
125
119
  </label>
126
120
  <select
127
121
  id="border-radius-top-right"
@@ -129,7 +123,7 @@ watch(
129
123
  class="pbx-myPrimarySelect"
130
124
  @change="pageBuilderService.handleBorderRadiusTopRight(borderRadiusTopRight)"
131
125
  >
132
- <option disabled value="">{{ $t('borderRadius.select') }}</option>
126
+ <option disabled value="">Select</option>
133
127
  <option
134
128
  v-for="borderRadiusTopRight in tailwindBorderRadius.roundedTopRight"
135
129
  :key="borderRadiusTopRight"
@@ -140,7 +134,7 @@ watch(
140
134
  </div>
141
135
  <div class="pbx-my-2 pbx-py-2">
142
136
  <label for="border-radius-bottom-left" class="pbx-myPrimaryInputLabel">
143
- {{ $t('borderRadius.bottomLeft') }}
137
+ Border Radius bottom left
144
138
  </label>
145
139
  <select
146
140
  id="border-radius-bottom-left"
@@ -148,7 +142,7 @@ watch(
148
142
  class="pbx-myPrimarySelect"
149
143
  @change="pageBuilderService.handleBorderRadiusBottomleft(borderRadiusBottomleft)"
150
144
  >
151
- <option disabled value="">{{ $t('borderRadius.select') }}</option>
145
+ <option disabled value="">Select</option>
152
146
  <option
153
147
  v-for="borderRadiusBottomleft in tailwindBorderRadius.roundedBottomLeft"
154
148
  :key="borderRadiusBottomleft"
@@ -159,7 +153,7 @@ watch(
159
153
  </div>
160
154
  <div class="pbx-my-2 pbx-py-2">
161
155
  <label for="border-radius-bottom-right" class="pbx-myPrimaryInputLabel">
162
- {{ $t('borderRadius.bottomRight') }}
156
+ Border Radius bottom right
163
157
  </label>
164
158
  <select
165
159
  id="border-radius-bottom-right"
@@ -167,7 +161,7 @@ watch(
167
161
  class="pbx-myPrimarySelect"
168
162
  @change="pageBuilderService.handleBorderRadiusBottomRight(borderRadiusBottomRight)"
169
163
  >
170
- <option disabled value="">{{ $t('borderRadius.select') }}</option>
164
+ <option disabled value="">Select</option>
171
165
  <option
172
166
  v-for="borderRadiusBottomRight in tailwindBorderRadius.roundedBottomRight"
173
167
  :key="borderRadiusBottomRight"
@@ -52,21 +52,19 @@ watch(
52
52
 
53
53
  <template>
54
54
  <EditorAccordion>
55
- <template #title>{{ $t('borders.title') }}</template>
55
+ <template #title>Border Style, Width & Color</template>
56
56
  <template #content>
57
- <p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
58
- {{ $t('borders.border') }}
59
- </p>
57
+ <p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">Border</p>
60
58
 
61
59
  <div class="pbx-my-2 pbx-py-2">
62
- <label for="border-style" class="pbx-myPrimaryInputLabel">{{ $t('borders.style') }}</label>
60
+ <label for="border-style" class="pbx-myPrimaryInputLabel"> Border Style </label>
63
61
  <select
64
62
  id="border-style"
65
63
  v-model="borderStyle"
66
64
  class="pbx-myPrimarySelect"
67
65
  @change="pageBuilderService.handleBorderStyle(borderStyle)"
68
66
  >
69
- <option disabled value="">{{ $t('borders.select') }}</option>
67
+ <option disabled value="">Select</option>
70
68
  <option
71
69
  v-for="borderStyle in tailwindBorderStyleWidthPlusColor.borderStyle"
72
70
  :key="borderStyle"
@@ -76,14 +74,14 @@ watch(
76
74
  </select>
77
75
  </div>
78
76
  <div class="pbx-my-2 pbx-py-2">
79
- <label for="border-width" class="pbx-myPrimaryInputLabel">{{ $t('borders.width') }}</label>
77
+ <label for="border-width" class="pbx-myPrimaryInputLabel"> Border Width </label>
80
78
  <select
81
79
  id="border-width"
82
80
  v-model="borderWidth"
83
81
  class="pbx-myPrimarySelect"
84
82
  @change="pageBuilderService.handleBorderWidth(borderWidth)"
85
83
  >
86
- <option disabled value="">{{ $t('borders.select') }}</option>
84
+ <option disabled value="">Select</option>
87
85
  <option
88
86
  v-for="borderWidth in tailwindBorderStyleWidthPlusColor.borderWidth"
89
87
  :key="borderWidth"
@@ -93,7 +91,7 @@ watch(
93
91
  </select>
94
92
  </div>
95
93
 
96
- <label for="border-color" class="pbx-myPrimaryInputLabel">{{ $t('borders.color') }}</label>
94
+ <label for="border-color" class="pbx-myPrimaryInputLabel"> Border Color </label>
97
95
  <Listbox as="div" v-model="borderColor">
98
96
  <div class="pbx-relative pbx-mt-2">
99
97
  <ListboxButton class="pbx-myPrimarySelect" id="border-color">
@@ -50,10 +50,11 @@ const handleAddClasses = async () => {
50
50
 
51
51
  <template>
52
52
  <EditorAccordion>
53
- <template #title>{{ $t('classEditor.title') }}</template>
53
+ <template #title>Generated CSS</template>
54
54
  <template #content>
55
55
  <label class="pbx-myPrimaryInputLabel pbx-my-4">
56
- {{ $t('classEditor.info') }}
56
+ This is the CSS applied by the builder. Add your own CSS and press Enter to apply it to the
57
+ selected element.
57
58
  </label>
58
59
 
59
60
  <div class="pbx-flex pbx-flex-row pbx-flex-wrap pbx-gap-2 pbx-mt-2 pbx-mb-4">
@@ -78,24 +79,22 @@ const handleAddClasses = async () => {
78
79
 
79
80
  <div>
80
81
  <label for="custom-css" class="pbx-myPrimaryInputLabel">
81
- {{ $t('classEditor.add') }}
82
+ Add your CSS.
82
83
  <br />
83
- {{ $t('classEditor.prefix') }}
84
+ The pbx- prefix is added automatically.
84
85
  </label>
85
86
  <div class="pbx-flex pbx-gap-2 pbx-item-center">
86
87
  <input
87
88
  id="custom-css"
88
89
  v-model="inputClass"
89
90
  type="text"
90
- :placeholder="$t('classEditor.placeholder')"
91
+ placeholder="Type class"
91
92
  @keydown.enter="handleAddClasses()"
92
93
  autocomplete="off"
93
94
  class="pbx-myPrimaryInput"
94
95
  />
95
96
 
96
- <button @click="handleAddClasses" type="button" class="pbx-myPrimaryButton">
97
- {{ $t('classEditor.addButton') }}
98
- </button>
97
+ <button @click="handleAddClasses" type="button" class="pbx-myPrimaryButton">Add</button>
99
98
  </div>
100
99
  </div>
101
100
  <p v-if="errorMessage" class="pbx-myPrimaryInputError">{{ errorMessage }}</p>
@@ -32,9 +32,7 @@ watch(
32
32
 
33
33
  <template>
34
34
  <div class="pbx-my-2 pbx-py-2">
35
- <label for="bg-opacity" class="pbx-myPrimaryInputLabel">{{
36
- $t('backgroundOpacity.label')
37
- }}</label>
35
+ <label for="bg-opacity" class="pbx-myPrimaryInputLabel"> Background Opacity</label>
38
36
 
39
37
  <Listbox as="div" v-model="opacityVueModel">
40
38
  <div class="pbx-relative">
@@ -53,7 +51,7 @@ watch(
53
51
  ></div>
54
52
 
55
53
  <span class="pbx-block pbx-truncate" :class="[opacityVueModel !== 'none' ? '' : '']">{{
56
- opacityVueModel === 'none' ? $t('backgroundOpacity.transparent') : opacityVueModel
54
+ opacityVueModel === 'none' ? 'Transparent' : opacityVueModel
57
55
  }}</span>
58
56
  </span>
59
57
  <span
@@ -99,9 +97,7 @@ watch(
99
97
  class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950"
100
98
  :class="`${backgroundOpacity}`"
101
99
  ></div>
102
- <span v-if="backgroundOpacity === 'none'" class="pbx-ml-3">{{
103
- $t('backgroundOpacity.transparent')
104
- }}</span>
100
+ <span v-if="backgroundOpacity === 'none'" class="pbx-ml-3">Transparent</span>
105
101
  <span v-if="backgroundOpacity !== 'none'" class="pbx-ml-3">{{
106
102
  backgroundOpacity
107
103
  }}</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">{{ $t('opacity.label') }}</label>
34
+ <label for="default-opacity" class="pbx-myPrimaryInputLabel"> Opacity</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' ? $t('opacity.transparent') : opacityVueModel
53
+ opacityVueModel === 'none' ? 'Transparent' : opacityVueModel
54
54
  }}</span>
55
55
  </span>
56
56
  <span
@@ -96,9 +96,7 @@ 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">{{
100
- $t('opacity.transparent')
101
- }}</span>
99
+ <span v-if="elementOpacity === 'none'" class="pbx-ml-3">Transparent</span>
102
100
  <span v-if="elementOpacity !== 'none'" class="pbx-ml-3">{{
103
101
  elementOpacity
104
102
  }}</span>
@@ -61,19 +61,17 @@ watch(
61
61
  </script>
62
62
  <template>
63
63
  <EditorAccordion>
64
- <template #title>{{ $t('margin.title') }}</template>
64
+ <template #title>Margin</template>
65
65
  <template #content>
66
66
  <div class="pbx-my-2 pbx-py-2">
67
- <label for="vertical-margin" class="pbx-myPrimaryInputLabel">{{
68
- $t('margin.vertical')
69
- }}</label>
67
+ <label for="vertical-margin" class="pbx-myPrimaryInputLabel"> Vertical Margin </label>
70
68
  <select
71
69
  id="vertical-margin"
72
70
  v-model="fontVerticalMargin"
73
71
  class="pbx-myPrimarySelect"
74
72
  @change="pageBuilderService.handleVerticalMargin(fontVerticalMargin)"
75
73
  >
76
- <option disabled value="">{{ $t('margin.select') }}</option>
74
+ <option disabled value="">Select</option>
77
75
  <option
78
76
  v-for="verticalMargin in tailwindPaddingPlusMargin.verticalMargin"
79
77
  :key="verticalMargin"
@@ -84,16 +82,14 @@ watch(
84
82
  </div>
85
83
  <hr />
86
84
  <div class="pbx-my-2 pbx-py-2">
87
- <label for="horizontal-margin" class="pbx-myPrimaryInputLabel">{{
88
- $t('margin.horizontal')
89
- }}</label>
85
+ <label for="horizontal-margin" class="pbx-myPrimaryInputLabel"> Horizontal Margin </label>
90
86
  <select
91
87
  id="horizontal-margin"
92
88
  v-model="fontHorizontalMargin"
93
89
  class="pbx-myPrimarySelect"
94
90
  @change="pageBuilderService.handleHorizontalMargin(fontHorizontalMargin)"
95
91
  >
96
- <option disabled value="">{{ $t('margin.select') }}</option>
92
+ <option disabled value="">Select</option>
97
93
  <option
98
94
  v-for="horizontalMargin in tailwindPaddingPlusMargin.horizontalMargin"
99
95
  :key="horizontalMargin"
@@ -6,7 +6,7 @@ import ManageOpacity from './ManageOpacity.vue'
6
6
 
7
7
  <template>
8
8
  <EditorAccordion>
9
- <template #title>{{ $t('opacityEditor.title') }}</template>
9
+ <template #title>Opacity & Transparency </template>
10
10
  <template #content>
11
11
  <ManageOpacity></ManageOpacity>
12
12
  <hr />
@@ -61,19 +61,17 @@ watch(
61
61
  </script>
62
62
  <template>
63
63
  <EditorAccordion>
64
- <template #title>{{ $t('padding.title') }}</template>
64
+ <template #title>Padding</template>
65
65
  <template #content>
66
66
  <div class="pbx-my-2 pbx-py-2">
67
- <label for="vertical-padding" class="pbx-myPrimaryInputLabel">{{
68
- $t('padding.vertical')
69
- }}</label>
67
+ <label for="vertical-padding" class="pbx-myPrimaryInputLabel"> Vertical Padding </label>
70
68
  <select
71
69
  id="vertical-padding"
72
70
  v-model="fontVerticalPadding"
73
71
  class="pbx-myPrimarySelect"
74
72
  @change="pageBuilderService.handleVerticalPadding(fontVerticalPadding)"
75
73
  >
76
- <option disabled value="">{{ $t('padding.select') }}</option>
74
+ <option disabled value="">Select</option>
77
75
  <option
78
76
  v-for="verticalPadding in tailwindPaddingPlusMargin.verticalPadding"
79
77
  :key="verticalPadding"
@@ -84,16 +82,14 @@ watch(
84
82
  </div>
85
83
  <hr />
86
84
  <div class="pbx-my-2 pbx-py-2">
87
- <label for="horizontal-padding" class="pbx-myPrimaryInputLabel">{{
88
- $t('padding.horizontal')
89
- }}</label>
85
+ <label for="horizontal-padding" class="pbx-myPrimaryInputLabel"> Horizontal Padding </label>
90
86
  <select
91
87
  id="horizontal-padding"
92
88
  v-model="fontHorizontalPadding"
93
89
  class="pbx-myPrimarySelect"
94
90
  @change="pageBuilderService.handleHorizontalPadding(fontHorizontalPadding)"
95
91
  >
96
- <option disabled value="">{{ $t('padding.select') }}</option>
92
+ <option disabled value="">Select</option>
97
93
  <option
98
94
  v-for="horizontalPadding in tailwindPaddingPlusMargin.horizontalPadding"
99
95
  :key="horizontalPadding"
@@ -56,10 +56,11 @@ const handleAddStyle = async () => {
56
56
 
57
57
  <template>
58
58
  <EditorAccordion>
59
- <template #title>{{ $t('styleEditor.title') }}</template>
59
+ <template #title>Inline Styles</template>
60
60
  <template #content>
61
61
  <label class="pbx-myPrimaryInputLabel pbx-my-4">
62
- {{ $t('styleEditor.info') }}
62
+ These are the inline styles applied by the builder. Add your own styles and press Enter to
63
+ apply them to the selected element.
63
64
  </label>
64
65
 
65
66
  <div class="pbx-flex pbx-flex-row pbx-flex-wrap pbx-gap-2 pbx-mt-2 pbx-mb-4">
@@ -82,14 +83,14 @@ const handleAddStyle = async () => {
82
83
 
83
84
  <div>
84
85
  <label for="custom-style-property" class="pbx-myPrimaryInputLabel">
85
- {{ $t('styleEditor.add') }}
86
+ Add your own style.
86
87
  </label>
87
88
  <div class="pbx-flex pbx-gap-2 pbx-flex-col pbx-item-center">
88
89
  <input
89
90
  id="custom-style-property"
90
91
  v-model="inputProperty"
91
92
  type="text"
92
- :placeholder="$t('styleEditor.propertyPlaceholder')"
93
+ placeholder="property"
93
94
  @keydown.enter.prevent="handleEnterOnProperty"
94
95
  autocomplete="off"
95
96
  class="pbx-myPrimaryInput"
@@ -99,15 +100,13 @@ const handleAddStyle = async () => {
99
100
  ref="valueInputRef"
100
101
  v-model="inputValue"
101
102
  type="text"
102
- :placeholder="$t('styleEditor.valuePlaceholder')"
103
+ placeholder="value"
103
104
  @keydown.enter="handleAddStyle"
104
105
  autocomplete="off"
105
106
  class="pbx-myPrimaryInput"
106
107
  />
107
108
 
108
- <button @click="handleAddStyle" type="button" class="pbx-myPrimaryButton">
109
- {{ $t('styleEditor.addButton') }}
110
- </button>
109
+ <button @click="handleAddStyle" type="button" class="pbx-myPrimaryButton">Add</button>
111
110
  </div>
112
111
  </div>
113
112
  <p v-if="errorMessage" class="pbx-myPrimaryInputError">{{ errorMessage }}</p>
@@ -99,17 +99,13 @@ watch(
99
99
 
100
100
  <template>
101
101
  <EditorAccordion>
102
- <template #title>{{ $t('typography.title') }}</template>
102
+ <template #title> Typographies </template>
103
103
  <template #content>
104
104
  <!-- FONT SIZES -->
105
- <p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">
106
- {{ $t('typography.appearance') }}
107
- </p>
105
+ <p class="pbx-myPrimaryParagraph pbx-font-medium pbx-py-0 pbx-my-4">Font Appearance</p>
108
106
  <template v-if="false">
109
107
  <div class="pbx-my-2 pbx-py-2">
110
- <label for="font-base" class="pbx-myPrimaryInputLabel">{{
111
- $t('typography.fontSize')
112
- }}</label>
108
+ <label for="font-base" class="pbx-myPrimaryInputLabel"> Font Size </label>
113
109
  <select
114
110
  id="font-base"
115
111
  v-model="fontBase"
@@ -124,9 +120,7 @@ watch(
124
120
  </div>
125
121
  </template>
126
122
  <div class="pbx-my-2 pbx-py-2">
127
- <label for="font-desktop" class="pbx-myPrimaryInputLabel">{{
128
- $t('typography.fontSize')
129
- }}</label>
123
+ <label for="font-desktop" class="pbx-myPrimaryInputLabel"> Font size </label>
130
124
  <select
131
125
  id="font-desktop"
132
126
  v-model="fontDesktop"
@@ -141,9 +135,7 @@ watch(
141
135
  </div>
142
136
  <template v-if="false">
143
137
  <div class="pbx-my-2 pbx-py-2">
144
- <label for="font-tablet" class="pbx-myPrimaryInputLabel">{{
145
- $t('typography.fontTabletSize')
146
- }}</label>
138
+ <label for="font-tablet" class="pbx-myPrimaryInputLabel"> Font tablet size </label>
147
139
  <select
148
140
  id="font-tablet"
149
141
  v-model="fontTablet"
@@ -157,9 +149,7 @@ watch(
157
149
  </select>
158
150
  </div>
159
151
  <div class="pbx-my-2 pbx-py-2">
160
- <label for="font-mobile" class="pbx-myPrimaryInputLabel">{{
161
- $t('typography.fontMobileSize')
162
- }}</label>
152
+ <label for="font-mobile" class="pbx-myPrimaryInputLabel"> Font small screens </label>
163
153
  <select
164
154
  id="font-mobile"
165
155
  v-model="fontMobile"
@@ -176,9 +166,7 @@ watch(
176
166
  <hr />
177
167
 
178
168
  <div class="pbx-my-2 pbx-py-2">
179
- <label for="font-weight" class="pbx-myPrimaryInputLabel">{{
180
- $t('typography.fontWeight')
181
- }}</label>
169
+ <label for="font-weight" class="pbx-myPrimaryInputLabel"> Font weight </label>
182
170
  <select
183
171
  id="font-weight"
184
172
  v-model="fontWeight"
@@ -195,9 +183,7 @@ watch(
195
183
 
196
184
  <!-- FONT FAMILY -->
197
185
  <div class="pbx-my-2 pbx-py-2">
198
- <label for="font-family" class="pbx-myPrimaryInputLabel">{{
199
- $t('typography.fontFamily')
200
- }}</label>
186
+ <label for="font-family" class="pbx-myPrimaryInputLabel"> Font family </label>
201
187
  <select
202
188
  id="font-family"
203
189
  v-model="fontFamily"
@@ -213,9 +199,7 @@ watch(
213
199
  <hr />
214
200
 
215
201
  <div class="pbx-my-2 pbx-py-2">
216
- <label for="font-style" class="pbx-myPrimaryInputLabel">{{
217
- $t('typography.fontStyle')
218
- }}</label>
202
+ <label for="font-style" class="pbx-myPrimaryInputLabel"> Font Style </label>
219
203
  <select
220
204
  id="font-style"
221
205
  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
- {{ $t('rightSidebar.editing') }}
136
+ Editing
137
137
  <span class="pbx-lowercase">&lt;{{ elementTag }}&gt;</span>
138
138
  </p>
139
139
  </div>
@@ -181,15 +181,16 @@ 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>{{ $t('rightSidebar.globalPageStylesTitle') }}</template>
184
+ <template #title>Global Page Styles</template>
185
185
  <template #content>
186
186
  <label class="pbx-myPrimaryInputLabel pbx-my-4">
187
- {{ $t('rightSidebar.globalPageStylesDescription') }}
187
+ Apply styles that affect the entire page. These settings include global font family,
188
+ text color, background color, and other universal styles that apply to all sections.
188
189
  </label>
189
190
 
190
191
  <div class="pbx-mt-4">
191
192
  <button @click="handleUpdatePageStyles" type="button" class="pbx-myPrimaryButton">
192
- {{ $t('rightSidebar.updatePageStyles') }}
193
+ Update Page Styles
193
194
  </button>
194
195
  </div>
195
196
  </template>
@@ -203,14 +204,15 @@ const handleCloseGlobalPageStyles = async function () {
203
204
  class="pbx-my-1 pbx-bg-white"
204
205
  >
205
206
  <EditorAccordion>
206
- <template #title>{{ $t('rightSidebar.downloadHtmlTitle') }}</template>
207
+ <template #title>Download HTML</template>
207
208
  <template #content>
208
209
  <label class="pbx-myPrimaryInputLabel pbx-my-4">
209
- {{ $t('rightSidebar.downloadHtmlDescription') }}
210
+ Export the entire page as a standalone HTML file. This includes all sections, content,
211
+ and applied styles, making it ready for use or integration elsewhere.
210
212
  </label>
211
213
  <div class="pbx-mt-4">
212
214
  <button @click="handleDownloadHTML" type="button" class="pbx-myPrimaryButton">
213
- {{ $t('rightSidebar.downloadHtmlButton') }}
215
+ Download HTML file
214
216
  </button>
215
217
  </div>
216
218
  </template>
@@ -223,7 +225,7 @@ const handleCloseGlobalPageStyles = async function () {
223
225
  maxWidth="md"
224
226
  minHeight="pbx-min-h-[65vh] pbx-max-h-[65vh]"
225
227
  :showModalBuilder="showModalGlobalPageStyles"
226
- :title="$t('rightSidebar.globalPageStylesTitle')"
228
+ title="Global Page Styles"
227
229
  @closeMainModalBuilder="handleCloseGlobalPageStyles"
228
230
  >
229
231
  <div class="pbx-flex pbx-flex-col pbx-gap-2 pbx-pt-4 pbx-pb-2">
@@ -242,7 +244,8 @@ const handleCloseGlobalPageStyles = async function () {
242
244
  <div v-if="!isLoadingPageStyles && showModalGlobalPageStyles" class="pbx-pb-12">
243
245
  <div>
244
246
  <p class="pbx-myPrimaryParagraph">
245
- {{ $t('rightSidebar.globalPageStylesDescription') }}
247
+ Apply styles that affect the entire page. These settings include global font family,
248
+ text color, background color, and other universal styles that apply to all sections.
246
249
  </p>
247
250
  <article class="pbx-my-1 pbx-bg-gray-100">
248
251
  <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?.default }}
302
+ {{ getPageBuilderConfig.userSettings.language }}
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
- ? 'pbx-bg-green-100 pbx-text-green-800'
321
- : 'pbx-bg-red-100 pbx-text-red-800'
320
+ ? 'bg-green-100 text-green-800'
321
+ : 'bg-red-100 text-red-800'
322
322
  "
323
323
  >
324
324
  {{
@@ -156,7 +156,7 @@ const openHTMLSettings = function () {
156
156
  <!-- Component Start -->
157
157
  <div class="pbx-relative pbx-group">
158
158
  <button type="button" class="pbx-mySecondaryButton pbx-font-normal pbx-text-xs">
159
- <span> {{ $t('options.button') }} </span>
159
+ <span> Options </span>
160
160
  </button>
161
161
  <div
162
162
  class="pbx-absolute pbx-left-0 -pbx-ml-16 -pbx-mt-2 pbx-flex pbx-flex-col pbx-gap-3 pbx-shadow-lg pbx-bg-white pbx-w-max pbx-border-solid pbx-border pbx-border-gray-100 pbx-rounded-2xl pbx-transition-all pbx-duration-200 pbx-ease-out pbx-pt-4 pbx-pr-4 pbx-pb-4 pbx-pl-2 pbx-z-30 pbx-opacity-0 pbx-pointer-events-none pbx-translate-y-2 group-hover:pbx-opacity-100 group-hover:pbx-pointer-events-auto group-hover:pbx-translate-y-0"
@@ -172,7 +172,7 @@ const openHTMLSettings = function () {
172
172
  class="pbx-mySecondaryButton pbx-text-xs pbx-font-normal"
173
173
  type="button"
174
174
  >
175
- <span> {{ $t('options.configOverview') }} </span>
175
+ Config Overview
176
176
  </button>
177
177
  <!-- Main Settings End -->
178
178
 
@@ -182,7 +182,7 @@ const openHTMLSettings = function () {
182
182
  class="pbx-mySecondaryButton pbx-text-xs pbx-font-normal"
183
183
  type="button"
184
184
  >
185
- <span> {{ $t('options.htmlOverview') }} </span>
185
+ HTML Overview
186
186
  </button>
187
187
  <!-- HTML Settings End -->
188
188
 
@@ -192,7 +192,7 @@ const openHTMLSettings = function () {
192
192
  class="pbx-myPrimaryDeleteButton pbx-text-xs pbx-font-normal"
193
193
  type="button"
194
194
  >
195
- <span> {{ $t('options.deleteLayout') }} </span>
195
+ Delete Layout
196
196
  </button>
197
197
  <!-- Delete Layout End -->
198
198
  </div>