@myissue/vue-website-page-builder 3.3.83 → 3.3.84
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/dist/{ar-COgc0DCm.js → ar-ITBqBm-d.js} +72 -41
- package/dist/{de-CGky7E-a.js → de-BJpPaS11.js} +68 -37
- package/dist/{en-DU_tZbAN.js → en-B_2bnBr-.js} +71 -40
- package/dist/{es-OjYclQFK.js → es-whPPQx5J.js} +68 -37
- package/dist/{fr-q_n3yaNn.js → fr-BT4veodQ.js} +72 -41
- package/dist/{hi-PCyw3ByF.js → hi-ebTmcUsS.js} +75 -44
- package/dist/{ja-fF78DiFn.js → ja-BRtI2tes.js} +69 -38
- package/dist/{pt-h1yUOPEo.js → pt-DcvtSuUT.js} +74 -43
- package/dist/{ru-91i2N905.js → ru-Q6PD0n2W.js} +62 -31
- package/dist/style.css +1 -1
- package/dist/vue-website-page-builder.js +6358 -6215
- package/dist/vue-website-page-builder.umd.cjs +96 -63
- package/dist/{zh-Hans-DU7U45Js.js → zh-Hans-CZQ2JK7v.js} +69 -38
- package/package.json +1 -1
- package/src/Components/Modals/BuilderComponents.vue +1 -1
- package/src/Components/Modals/MediaLibraryModal.vue +1 -1
- package/src/Components/PageBuilder/EditorMenu/Editables/BorderRadius.vue +3 -0
- package/src/Components/PageBuilder/EditorMenu/Editables/Borders.vue +70 -67
- package/src/Components/PageBuilder/EditorMenu/Editables/ClassEditor.vue +2 -1
- package/src/Components/PageBuilder/EditorMenu/Editables/StyleEditor.vue +2 -1
- package/src/Components/PageBuilder/EditorMenu/RightSidebarEditor.vue +4 -2
- package/src/Components/PageBuilder/Settings/AdvancedPageBuilderSettings.vue +152 -56
- package/src/Components/PageBuilder/ToolbarOption/ToolbarOption.vue +8 -8
- package/src/Components/TipTap/TipTap.vue +14 -8
- package/src/PageBuilder/PageBuilder.vue +101 -80
- package/src/composables/extractCleanHTMLFromPageBuilder.ts +1 -1
- package/src/css/dev-global.css +0 -9
- package/src/css/style.css +2 -37
- package/src/locales/ar.json +26 -1
- package/src/locales/de.json +26 -1
- package/src/locales/en.json +24 -2
- package/src/locales/es.json +26 -1
- package/src/locales/fr.json +26 -1
- package/src/locales/hi.json +26 -1
- package/src/locales/ja.json +26 -1
- package/src/locales/pt.json +26 -1
- package/src/locales/ru.json +26 -1
- package/src/locales/zh-Hans.json +26 -1
- package/src/services/PageBuilderService.ts +94 -49
- package/src/tailwind-safelist.html +1 -1
- package/src/{Components/PageBuilder → tests}/DefaultComponents/DefaultBuilderComponents.vue +49 -10
- package/src/tests/TestComponents/DemoMediaLibraryComponentTest.vue +1 -1
- package/src/{Components → tests/TestComponents}/DemoUnsplash.vue +5 -5
- package/src/utils/componentPreviews.ts +35 -0
- package/src/utils/html-elements/component.ts +17 -3
- /package/src/{Components/PageBuilder → tests}/DefaultComponents/DefaultMediaLibraryComponent.vue +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件",
|
|
1
|
+
const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件", s = "样式", i = "排版", r = "选择", l = "内边距", d = "边距", c = "全局", p = "具体", u = "边框", g = "透明", m = "添加", y = "属性", h = "值", T = "关闭", S = "编辑", C = "删除", w = "预览", b = "移动", f = "加粗", v = "链接", L = "列表", H = "搜索", M = "横向", D = "纵向", B = "方形", P = "图片", k = "上一页", A = "下一页", x = "信息", I = "文本", E = "类型", F = "数组", R = "内容", V = "元素", z = "组件", q = "全部", U = "图片", W = {
|
|
2
2
|
"Reset Page": "重置页面",
|
|
3
3
|
"Global Page Styles": "全局页面样式",
|
|
4
4
|
"Try the powerful Click & Drop Page Builder—designed for developers and creators who want full control without the hassle. Customize layouts, fonts, and colors. Edit content visually in real time. Add media, embed YouTube videos, or export everything as clean HTML. With responsive editing, local auto-save, Tailwind support, and even Unsplash integration, it's everything you need—wrapped in one seamless builder. Build Stunning Pages in Minutes.": "试试强大的Click & Drop Page Builder——专为希望完全控制而无需麻烦的开发者和创作者设计。自定义布局、字体和颜色。实时可视化编辑内容。添加媒体、嵌入YouTube视频或将所有内容导出为干净的HTML。凭借响应式编辑、本地自动保存、Tailwind支持,甚至Unsplash集成,它是您所需的一切——集成在一个无缝的构建器中。几分钟内构建令人惊叹的页面。",
|
|
@@ -23,13 +23,13 @@ const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件", i =
|
|
|
23
23
|
"Click to add component": "点击添加组件",
|
|
24
24
|
"Remove all Components": "删除所有组件",
|
|
25
25
|
"Are you sure you want to remove all Components?": "您确定要删除所有组件吗?",
|
|
26
|
-
Styles:
|
|
26
|
+
Styles: s,
|
|
27
27
|
"Apply styles that affect the entire page. These settings include global font family, text color, background color, and other universal styles that apply to all sections.": "应用影响整个页面的样式。这些设置包括全局字体系列、文本颜色、背景颜色和适用于所有部分的其他通用样式。",
|
|
28
28
|
"Update Page Styles": "更新页面样式",
|
|
29
29
|
"Download HTML": "下载HTML",
|
|
30
30
|
"Export the entire page as a standalone HTML file. This includes all sections, content, and applied styles, making it ready for use or integration elsewhere.": "将整个页面导出为独立的HTML文件。这包括所有部分、内容和应用的样式,使其可以随时使用或集成到其他地方。",
|
|
31
31
|
"Download HTML file": "下载HTML文件",
|
|
32
|
-
Typographies:
|
|
32
|
+
Typographies: i,
|
|
33
33
|
"Font Appearance": "字体外观",
|
|
34
34
|
"Font Size": "字体大小",
|
|
35
35
|
Select: r,
|
|
@@ -48,13 +48,13 @@ const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件", i =
|
|
|
48
48
|
"Horizontal Margin": "水平边距",
|
|
49
49
|
"Border Radius": "边框半径",
|
|
50
50
|
Global: c,
|
|
51
|
-
Specific:
|
|
51
|
+
Specific: p,
|
|
52
52
|
"Border Radius top left": "边框半径 左上",
|
|
53
53
|
"Border Radius top right": "边框半径 右上",
|
|
54
54
|
"Border Radius bottom left": "边框半径 左下",
|
|
55
55
|
"Border Radius bottom right": "边框半径 右下",
|
|
56
56
|
"Border Style, Width & Color": "边框样式、宽度和颜色",
|
|
57
|
-
Border:
|
|
57
|
+
Border: u,
|
|
58
58
|
"Border Style": "边框样式",
|
|
59
59
|
"Border Width": "边框宽度",
|
|
60
60
|
"Border Color": "边框颜色",
|
|
@@ -64,12 +64,12 @@ const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件", i =
|
|
|
64
64
|
"Add your CSS.": "添加您的CSS。",
|
|
65
65
|
"The pbx- prefix is added automatically.": "pbx-前缀会自动添加。",
|
|
66
66
|
"Type class": "输入类",
|
|
67
|
-
Add:
|
|
67
|
+
Add: m,
|
|
68
68
|
"Inline Styles": "内联样式",
|
|
69
69
|
"These are the inline styles applied by the builder. Add your own styles and press Enter to apply them to the selected element.": "这些是构建器应用的内联样式。添加您自己的样式,然后按 Enter 将其应用于选定的元素。",
|
|
70
70
|
"Add your own style.": "添加您自己的样式。",
|
|
71
71
|
property: y,
|
|
72
|
-
value:
|
|
72
|
+
value: h,
|
|
73
73
|
Close: T,
|
|
74
74
|
Editing: S,
|
|
75
75
|
"Loading...": "加载中...",
|
|
@@ -78,10 +78,10 @@ const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件", i =
|
|
|
78
78
|
"Default black": "默认黑色",
|
|
79
79
|
"Remove Component?": "删除组件?",
|
|
80
80
|
"Are you sure you want to remove this Component?": "您确定要删除此组件吗?",
|
|
81
|
-
Delete:
|
|
81
|
+
Delete: C,
|
|
82
82
|
"Add to the bottom": "添加到底部",
|
|
83
|
-
Preview:
|
|
84
|
-
Mobile:
|
|
83
|
+
Preview: w,
|
|
84
|
+
Mobile: b,
|
|
85
85
|
"Demo Content": "演示内容",
|
|
86
86
|
"Demo Description": "介绍轻量级和免费的Vue Click & Drop页面构建器。使用Vue轻松创建和增强数字体验。并非所有强大的东西都需要复杂。这款简约轻便的页面构建器提供了一个优雅直观的界面,专注于简单性和速度。创建完全响应式的页面,例如列表、职位板或博客文章,并使用免费的Click & Drop页面构建器轻松管理您的内容。",
|
|
87
87
|
"Demo Title": "令人惊叹的页面的网页构建器",
|
|
@@ -93,11 +93,11 @@ const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件", i =
|
|
|
93
93
|
"Edit text and links": "编辑文本和链接",
|
|
94
94
|
"Enter URL": "输入URL",
|
|
95
95
|
"Line break": "换行",
|
|
96
|
-
Bold:
|
|
96
|
+
Bold: f,
|
|
97
97
|
Link: v,
|
|
98
98
|
"Header 2": "标题2",
|
|
99
99
|
"Header 3": "标题3",
|
|
100
|
-
List:
|
|
100
|
+
List: L,
|
|
101
101
|
"Add a valid URL to transform the selected text into a clickable hyperlink that directs users to the specified web address.": "添加一个有效的URL,将选定的文本转换为可点击的超链接,指向指定的网页地址。",
|
|
102
102
|
"Select image": "选择图片",
|
|
103
103
|
"Manage Content": "管理内容",
|
|
@@ -105,15 +105,15 @@ const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件", i =
|
|
|
105
105
|
"Reset changes": "重置更改",
|
|
106
106
|
"Do you want to reset this page?": "您想重置此页面吗?",
|
|
107
107
|
"Are you sure you want to reset this page? This will overwrite your current changes.": "您确定要重置此页面吗?这将覆盖您当前的更改。",
|
|
108
|
-
Search:
|
|
108
|
+
Search: H,
|
|
109
109
|
"Search...": "搜索...",
|
|
110
|
-
Landscape:
|
|
111
|
-
Portrait:
|
|
112
|
-
Squarish:
|
|
110
|
+
Landscape: M,
|
|
111
|
+
Portrait: D,
|
|
112
|
+
Squarish: B,
|
|
113
113
|
"Total pages": "总页数",
|
|
114
|
-
Images:
|
|
114
|
+
Images: P,
|
|
115
115
|
"First page": "第一页",
|
|
116
|
-
Prev:
|
|
116
|
+
Prev: k,
|
|
117
117
|
Next: A,
|
|
118
118
|
"By:": "作者:",
|
|
119
119
|
"We did not find any images. Make a new search.": "我们没有找到任何图片。请重新搜索。",
|
|
@@ -129,49 +129,80 @@ const e = "保存", t = "选项", o = "头像", n = "发布", a = "组件", i =
|
|
|
129
129
|
"Three Square Images": "三张方形图片",
|
|
130
130
|
"Six Square Images Grid": "六张方形图片网格",
|
|
131
131
|
"Three Vertical Images": "三张竖直图片",
|
|
132
|
-
"Four Square Images With Text": "
|
|
132
|
+
"Four Square Images With Text": "四张带文字的方形图片",
|
|
133
133
|
"Three Square Images With Text": "三张方形图片和文字",
|
|
134
134
|
"Two Square Images With Text": "两张方形图片和文字",
|
|
135
135
|
Text: I,
|
|
136
136
|
"Header H2": "标题 H2",
|
|
137
137
|
"Header H3": "标题 H3",
|
|
138
138
|
"YouTube Video": "YouTube 视频",
|
|
139
|
-
"Break Divider": "分隔线"
|
|
139
|
+
"Break Divider": "分隔线",
|
|
140
|
+
"Selected HTML": "选定的HTML",
|
|
141
|
+
"Overview of Selected Element, Component, and Components. This section provides real-time updates based on your HTML selection.": "所选元素、组件和组件的概述。本节根据您的HTML选择提供实时更新。",
|
|
142
|
+
Types: E,
|
|
143
|
+
"Element type:": "元素类型:",
|
|
144
|
+
"Component type:": "组件类型:",
|
|
145
|
+
"Components:": "组件:",
|
|
146
|
+
array: F,
|
|
147
|
+
Content: R,
|
|
148
|
+
Element: V,
|
|
149
|
+
Component: z,
|
|
150
|
+
"Components added": "添加的组件",
|
|
151
|
+
"No Element selected": "未选择元素",
|
|
152
|
+
"Selected HTML:": "选定的HTML:",
|
|
153
|
+
"Element src:": "元素来源:",
|
|
154
|
+
"Element classes:": "元素类:",
|
|
155
|
+
"No Component selected": "未选择组件",
|
|
156
|
+
"ID:": "ID:",
|
|
157
|
+
"Title:": "标题:",
|
|
158
|
+
"HTML Code:": "HTML代码:",
|
|
159
|
+
"No Components added yet": "尚未添加组件",
|
|
160
|
+
All: q,
|
|
161
|
+
Image: U,
|
|
162
|
+
"Image & Text": "图片和文字",
|
|
163
|
+
"Four Square Images": "四张方形图片"
|
|
140
164
|
};
|
|
141
165
|
export {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
166
|
+
m as Add,
|
|
167
|
+
q as All,
|
|
168
|
+
f as Bold,
|
|
169
|
+
u as Border,
|
|
145
170
|
T as Close,
|
|
146
|
-
|
|
171
|
+
z as Component,
|
|
172
|
+
R as Content,
|
|
173
|
+
C as Delete,
|
|
147
174
|
S as Editing,
|
|
175
|
+
V as Element,
|
|
148
176
|
c as Global,
|
|
149
|
-
|
|
177
|
+
U as Image,
|
|
178
|
+
P as Images,
|
|
150
179
|
x as Information,
|
|
151
|
-
|
|
180
|
+
M as Landscape,
|
|
152
181
|
v as Link,
|
|
153
|
-
|
|
182
|
+
L as List,
|
|
154
183
|
d as Margin,
|
|
155
|
-
|
|
184
|
+
b as Mobile,
|
|
156
185
|
A as Next,
|
|
157
186
|
t as Options,
|
|
158
187
|
l as Padding,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
188
|
+
D as Portrait,
|
|
189
|
+
k as Prev,
|
|
190
|
+
w as Preview,
|
|
162
191
|
n as Publish,
|
|
163
192
|
e as Save,
|
|
164
|
-
|
|
193
|
+
H as Search,
|
|
165
194
|
r as Select,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
195
|
+
p as Specific,
|
|
196
|
+
B as Squarish,
|
|
197
|
+
s as Styles,
|
|
169
198
|
I as Text,
|
|
170
199
|
g as Transparent,
|
|
171
|
-
|
|
200
|
+
E as Types,
|
|
201
|
+
i as Typographies,
|
|
202
|
+
F as array,
|
|
172
203
|
o as avatar,
|
|
173
204
|
a as component,
|
|
174
|
-
|
|
205
|
+
W as default,
|
|
175
206
|
y as property,
|
|
176
|
-
|
|
207
|
+
h as value
|
|
177
208
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import ModalBuilder from '../Modals/ModalBuilder.vue'
|
|
3
|
-
import DefaultBuilderComponents from '
|
|
3
|
+
import DefaultBuilderComponents from '../../tests/DefaultComponents/DefaultBuilderComponents.vue'
|
|
4
4
|
import { inject } from 'vue'
|
|
5
5
|
const customMediaComponent = inject('CustomMediaComponent')
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { provide } from 'vue'
|
|
3
|
-
import DefaultMediaLibraryComponent from '
|
|
3
|
+
import DefaultMediaLibraryComponent from '../../tests/DefaultComponents/DefaultMediaLibraryComponent.vue'
|
|
4
4
|
import ModalBuilder from './ModalBuilder.vue'
|
|
5
5
|
|
|
6
6
|
defineProps({
|
|
@@ -123,6 +123,7 @@ watch(
|
|
|
123
123
|
</option>
|
|
124
124
|
</select>
|
|
125
125
|
</div>
|
|
126
|
+
<hr />
|
|
126
127
|
<div class="pbx-my-2 pbx-py-2">
|
|
127
128
|
<label for="border-radius-top-right" class="pbx-myPrimaryInputLabel">
|
|
128
129
|
{{ translate('Border Radius top right') }}
|
|
@@ -142,6 +143,7 @@ watch(
|
|
|
142
143
|
</option>
|
|
143
144
|
</select>
|
|
144
145
|
</div>
|
|
146
|
+
<hr />
|
|
145
147
|
<div class="pbx-my-2 pbx-py-2">
|
|
146
148
|
<label for="border-radius-bottom-left" class="pbx-myPrimaryInputLabel">
|
|
147
149
|
{{ translate('Border Radius bottom left') }}
|
|
@@ -161,6 +163,7 @@ watch(
|
|
|
161
163
|
</option>
|
|
162
164
|
</select>
|
|
163
165
|
</div>
|
|
166
|
+
<hr />
|
|
164
167
|
<div class="pbx-my-2 pbx-py-2">
|
|
165
168
|
<label for="border-radius-bottom-right" class="pbx-myPrimaryInputLabel">
|
|
166
169
|
{{ translate('Border Radius bottom right') }}
|
|
@@ -80,6 +80,7 @@ watch(
|
|
|
80
80
|
</option>
|
|
81
81
|
</select>
|
|
82
82
|
</div>
|
|
83
|
+
<hr />
|
|
83
84
|
<div class="pbx-my-2 pbx-py-2">
|
|
84
85
|
<label for="border-width" class="pbx-myPrimaryInputLabel">{{
|
|
85
86
|
translate('Border Width')
|
|
@@ -99,80 +100,82 @@ watch(
|
|
|
99
100
|
</option>
|
|
100
101
|
</select>
|
|
101
102
|
</div>
|
|
102
|
-
|
|
103
|
-
<
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
<
|
|
108
|
-
<
|
|
109
|
-
<
|
|
110
|
-
<
|
|
111
|
-
<div
|
|
112
|
-
<
|
|
103
|
+
<hr />
|
|
104
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
105
|
+
<label for="border-color" class="pbx-myPrimaryInputLabel">{{
|
|
106
|
+
translate('Border Color')
|
|
107
|
+
}}</label>
|
|
108
|
+
<Listbox as="div" v-model="borderColor">
|
|
109
|
+
<div class="pbx-relative pbx-mt-2">
|
|
110
|
+
<ListboxButton class="pbx-myPrimarySelect" id="border-color">
|
|
111
|
+
<span class="pbx-flex pbx-items-center pbx-gap-2">
|
|
112
|
+
<div v-if="getBorderColor === 'none'">
|
|
113
|
+
<div class="pbx-myPrimaryColorPreview pbx-border-none">
|
|
114
|
+
<span class="material-symbols-outlined"> ev_shadow </span>
|
|
115
|
+
</div>
|
|
113
116
|
</div>
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
</
|
|
127
|
-
</ListboxButton>
|
|
117
|
+
<div
|
|
118
|
+
v-if="borderColor !== 'none'"
|
|
119
|
+
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border-solid pbx-border pbx-border-gray-100 pbx-rounded-sm"
|
|
120
|
+
:class="`pbx-bg-${borderColor?.replace('pbx-border-', '')}`"
|
|
121
|
+
></div>
|
|
122
|
+
<span class="pbx-block pbx-truncate">{{ borderColor }}</span>
|
|
123
|
+
</span>
|
|
124
|
+
<span
|
|
125
|
+
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"
|
|
126
|
+
>
|
|
127
|
+
<span class="material-symbols-outlined"> keyboard_arrow_down </span>
|
|
128
|
+
</span>
|
|
129
|
+
</ListboxButton>
|
|
128
130
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
>
|
|
134
|
-
<ListboxOptions
|
|
135
|
-
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-text-base pbx-shadow-lg pbx-ring-1 pbx-ring-black pbx-ring-opacity-5 focus:pbx-outline-none sm:pbx-text-sm pbx-list-none pbx-p-0 pbx-m-0"
|
|
131
|
+
<transition
|
|
132
|
+
leave-active-class="pbx-transition pbx-ease-in pbx-duration-100"
|
|
133
|
+
leave-from-class="pbx-opacity-100"
|
|
134
|
+
leave-to-class="pbx-opacity-0"
|
|
136
135
|
>
|
|
137
|
-
<
|
|
138
|
-
|
|
139
|
-
v-for="color in tailwindBorderStyleWidthPlusColor.borderColor"
|
|
140
|
-
@click="pageBuilderService.handleBorderColor(borderColor)"
|
|
141
|
-
:key="color"
|
|
142
|
-
:value="color"
|
|
143
|
-
v-slot="{ active, borderColor }"
|
|
136
|
+
<ListboxOptions
|
|
137
|
+
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-text-base pbx-shadow-lg pbx-ring-1 pbx-ring-black pbx-ring-opacity-5 focus:pbx-outline-none sm:pbx-text-sm pbx-list-none pbx-p-0 pbx-m-0"
|
|
144
138
|
>
|
|
145
|
-
<
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
139
|
+
<ListboxOption
|
|
140
|
+
as="template"
|
|
141
|
+
v-for="color in tailwindBorderStyleWidthPlusColor.borderColor"
|
|
142
|
+
@click="pageBuilderService.handleBorderColor(borderColor)"
|
|
143
|
+
:key="color"
|
|
144
|
+
:value="color"
|
|
145
|
+
v-slot="{ active, borderColor }"
|
|
152
146
|
>
|
|
153
|
-
<
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
147
|
+
<li
|
|
148
|
+
:class="[
|
|
149
|
+
active
|
|
150
|
+
? 'pbx-bg-myPrimaryLinkColor pbx-text-white'
|
|
151
|
+
: 'pbx-text-myPrimaryDarkGrayColor',
|
|
152
|
+
'pbx-relative pbx-cursor-default pbx-select-none pbx-py-2 pbx-pl-3 pbx-pr-9',
|
|
153
|
+
]"
|
|
154
|
+
>
|
|
155
|
+
<div class="pbx-flex pbx-items-center">
|
|
156
|
+
<div v-if="color === 'none'">
|
|
157
|
+
<div class="pbx-myPrimaryColorPreview pbx-border-none">
|
|
158
|
+
<span class="material-symbols-outlined"> ev_shadow </span>
|
|
159
|
+
</div>
|
|
157
160
|
</div>
|
|
158
|
-
</div>
|
|
159
161
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
162
|
+
<div
|
|
163
|
+
v-if="color !== 'none'"
|
|
164
|
+
class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950"
|
|
165
|
+
:class="`pbx-bg-${color.replace('pbx-border-', '')}`"
|
|
166
|
+
></div>
|
|
167
|
+
<span v-if="color === 'none'" class="pbx-ml-3">{{
|
|
168
|
+
translate('Transparent')
|
|
169
|
+
}}</span>
|
|
170
|
+
<span v-if="color !== 'none'" class="pbx-ml-3">{{ color }}</span>
|
|
171
|
+
</div>
|
|
172
|
+
</li>
|
|
173
|
+
</ListboxOption>
|
|
174
|
+
</ListboxOptions>
|
|
175
|
+
</transition>
|
|
176
|
+
</div>
|
|
177
|
+
</Listbox>
|
|
178
|
+
</div>
|
|
176
179
|
</template>
|
|
177
180
|
</EditorAccordion>
|
|
178
181
|
</template>
|
|
@@ -194,7 +194,8 @@ const handleCloseGlobalPageStyles = async function () {
|
|
|
194
194
|
}}
|
|
195
195
|
</label>
|
|
196
196
|
|
|
197
|
-
<
|
|
197
|
+
<hr />
|
|
198
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
198
199
|
<button @click="handleUpdatePageStyles" type="button" class="pbx-myPrimaryButton">
|
|
199
200
|
{{ translate('Update Page Styles') }}
|
|
200
201
|
</button>
|
|
@@ -219,7 +220,8 @@ const handleCloseGlobalPageStyles = async function () {
|
|
|
219
220
|
)
|
|
220
221
|
}}
|
|
221
222
|
</label>
|
|
222
|
-
<
|
|
223
|
+
<hr />
|
|
224
|
+
<div class="pbx-my-2 pbx-py-2">
|
|
223
225
|
<button @click="handleDownloadHTML" type="button" class="pbx-myPrimaryButton">
|
|
224
226
|
{{ translate('Download HTML file') }}
|
|
225
227
|
</button>
|