@g1cloud/page-builder-editor 1.0.0-alpha.75 → 1.0.0-alpha.77

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/css/canvas.scss CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  .pb-canvas-wrapper {
3
- background-color: $color-canvas-frame-bg;
3
+ background-color: var(--color-canvas-frame-bg);
4
4
  flex-grow: 1;
5
5
  min-width: 0;
6
6
  width: 0;
@@ -1,5 +1,24 @@
1
- @import 'variable';
2
- @import 'canvas';
1
+ @use "variable" as *;
2
+ @use "canvas" as *;
3
+ @use "../dist/style.css";
4
+
5
+
6
+ .bs-clickable {
7
+ user-select: none;
8
+ cursor: pointer;
9
+
10
+ &:hover {
11
+ filter: opacity(75%);
12
+ }
13
+
14
+ &:active {
15
+ filter: opacity(50%);
16
+ }
17
+
18
+ &.disabled {
19
+ filter: opacity(40%)
20
+ }
21
+ }
3
22
 
4
23
  .pb-menu {
5
24
  width: 100%;
@@ -12,7 +31,7 @@
12
31
  content: '';
13
32
  margin: 0 8px;
14
33
  height: 80%;
15
- border-right: 1px solid $color-border-light;
34
+ border-right: 1px solid var(--border-light);
16
35
  align-self: center;
17
36
  }
18
37
 
@@ -69,7 +88,7 @@
69
88
  .pb-sidebar {
70
89
  width: 300px;
71
90
  overflow: auto;
72
- border: 1px solid $color-border-light;
91
+ border: 1px solid var(--border-light);
73
92
 
74
93
  .pb-sidebar-properties {
75
94
  padding: 0;
@@ -217,7 +236,7 @@
217
236
 
218
237
  .part {
219
238
  @extend .bs-clickable;
220
- border: 1px solid $color-border-light;
239
+ border: 1px solid var(--border-light);
221
240
  border-radius: 4px;
222
241
  padding: 8px 16px;
223
242
  }
package/css/page.scss CHANGED
@@ -7,7 +7,7 @@
7
7
  body {
8
8
  margin: 0;
9
9
  padding: 0;
10
- background-color: $color-canvas-frame-bg;
10
+ background-color: var(--color-canvas-frame-bg);
11
11
  overflow: hidden;
12
12
  }
13
13
 
package/css/variable.scss CHANGED
@@ -1 +1,5 @@
1
1
  $color-canvas-frame-bg: #aaa;
2
+
3
+ :root {
4
+ --color-canvas-frame-bg: #{$color-canvas-frame-bg};
5
+ }
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, openBlock, createElementBlock, createElementVNode, withDirectives, unref, createVNode } from "vue";
2
2
  import { vT, BSTextInput } from "@g1cloud/bluesea";
3
- import { P as PbColorPicker } from "./index-Dlp_xq19.js";
3
+ import { P as PbColorPicker } from "./index-BhMJnNHk.js";
4
4
  const _hoisted_1 = { class: "property-editor property-editor-color" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _hoisted_3 = { class: "bs-layout-horizontal flex-align-center color" };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, openBlock, createElementBlock, createElementVNode, withDirectives, unref, createVNode } from "vue";
2
2
  import { vT, BSTextInput } from "@g1cloud/bluesea";
3
- import { t as toCssLength } from "./index-Dlp_xq19.js";
3
+ import { t as toCssLength } from "./index-BhMJnNHk.js";
4
4
  const _hoisted_1 = { class: "property-editor property-editor-number flex-align-center" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, openBlock, createElementBlock, createElementVNode, withDirectives, unref, createTextVNode, defineAsyncComponent } from "vue";
2
2
  import { useModal, vT } from "@g1cloud/bluesea";
3
- import { u as usePageBuilderEditor } from "./index-Dlp_xq19.js";
3
+ import { u as usePageBuilderEditor } from "./index-BhMJnNHk.js";
4
4
  const _hoisted_1 = { class: "property-editor property-editor-html flex-align-center" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, createElementVNode, withDirectives, unref, createTextVNode, toDisplayString, createVNode, createCommentVNode, Fragment } from "vue";
2
- import { u as usePageBuilderEditor, C as ChangePropertyCommand } from "./index-Dlp_xq19.js";
2
+ import { u as usePageBuilderEditor, C as ChangePropertyCommand } from "./index-BhMJnNHk.js";
3
3
  import { useModal, vT, BSButton, BSMultiLangTextInput, showNotification } from "@g1cloud/bluesea";
4
4
  const _hoisted_1 = { class: "property-editor property-editor-image" };
5
5
  const _hoisted_2 = { class: "title" };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, createElementVNode, withDirectives, unref, createBlock } from "vue";
2
2
  import { vT, BSMultiLangTextArea, BSTextArea } from "@g1cloud/bluesea";
3
- import { u as usePageBuilderEditor } from "./index-Dlp_xq19.js";
3
+ import { u as usePageBuilderEditor } from "./index-BhMJnNHk.js";
4
4
  const _hoisted_1 = { class: "property-editor property-editor-multiline-text" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, createElementVNode, withDirectives, unref, createBlock } from "vue";
2
2
  import { vT, BSMultiLangTextInput, BSTextInput } from "@g1cloud/bluesea";
3
- import { u as usePageBuilderEditor } from "./index-Dlp_xq19.js";
3
+ import { u as usePageBuilderEditor } from "./index-BhMJnNHk.js";
4
4
  const _hoisted_1 = { class: "property-editor property-editor-text flex-align-center" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, openBlock, createElementBlock, createElementVNode, withDirectives, unref } from "vue";
2
2
  import { useModal, vT } from "@g1cloud/bluesea";
3
- import { s as selectYoutubeVideo } from "./index-Dlp_xq19.js";
3
+ import { s as selectYoutubeVideo } from "./index-BhMJnNHk.js";
4
4
  const _hoisted_1 = { class: "property-editor property-editor-image flex-align-center" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, unref, withCtx, createElementVNode, createElementBlock, Fragment, renderList, toDisplayString } from "vue";
2
2
  import { useModalHandle, BSModalFrame } from "@g1cloud/bluesea";
3
- import { w as widgetPartDefinitions } from "./index-Dlp_xq19.js";
3
+ import { w as widgetPartDefinitions } from "./index-BhMJnNHk.js";
4
4
  const _hoisted_1 = { class: "bs-layout-vertical pb-part-add-modal" };
5
5
  const _hoisted_2 = { class: "bs-layout-horizontal-wrap ml-16 mb-8 gap-8" };
6
6
  const _hoisted_3 = ["onClick", "textContent"];
@@ -0,0 +1,388 @@
1
+ @charset "UTF-8";
2
+ :root {
3
+ --color-canvas-frame-bg: #aaa;
4
+ }
5
+
6
+ .pb-canvas-wrapper {
7
+ background-color: var(--color-canvas-frame-bg);
8
+ flex-grow: 1;
9
+ min-width: 0;
10
+ width: 0;
11
+ height: 100%;
12
+ padding: 20px;
13
+ outline: none;
14
+ overflow: auto;
15
+ }
16
+
17
+ .pb-canvas {
18
+ display: flex;
19
+ flex-direction: row;
20
+ transform-origin: top left;
21
+ width: fit-content;
22
+ height: 100%;
23
+ margin: 0;
24
+ }
25
+
26
+ .pb-page-frame iframe.page-frame {
27
+ border: 0;
28
+ }
29
+
30
+ :root {
31
+ --color-canvas-frame-bg: #aaa;
32
+ }
33
+
34
+ .pb-editor .pb-editor-body .tab-bar {
35
+ padding: 0;
36
+ }
37
+
38
+ .bs-clickable, .pb-part-add-modal .group .part {
39
+ user-select: none;
40
+ cursor: pointer;
41
+ }
42
+ .bs-clickable:hover, .pb-part-add-modal .group .part:hover {
43
+ filter: opacity(75%);
44
+ }
45
+ .bs-clickable:active, .pb-part-add-modal .group .part:active {
46
+ filter: opacity(50%);
47
+ }
48
+ .bs-clickable.disabled, .pb-part-add-modal .group .disabled.part {
49
+ filter: opacity(40%);
50
+ }
51
+
52
+ .pb-menu {
53
+ width: 100%;
54
+ }
55
+ .pb-menu .pb-toolbar {
56
+ margin: 0 -8px;
57
+ }
58
+ .pb-menu .pb-toolbar .pb-tool-button-group::after {
59
+ content: "";
60
+ margin: 0 8px;
61
+ height: 80%;
62
+ border-right: 1px solid var(--border-light);
63
+ align-self: center;
64
+ }
65
+ .pb-menu .pb-toolbar .pb-tool-button-group .pb-tool-button {
66
+ padding: 2px;
67
+ margin: 0 2px;
68
+ }
69
+ .pb-menu .pb-toolbar .pb-tool-button-group .pb-tool-button .tool-button {
70
+ width: 28px;
71
+ height: 28px;
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: center;
75
+ }
76
+
77
+ .editor-wrapper {
78
+ height: 100%;
79
+ }
80
+
81
+ .pb-editor {
82
+ height: 100%;
83
+ }
84
+
85
+ .pb-editor-body {
86
+ padding: 8px 0 0;
87
+ gap: 8px;
88
+ height: 1px;
89
+ }
90
+ .pb-editor-body .bs-tab-sheet .tab-bar .tabs {
91
+ padding-top: 0;
92
+ }
93
+
94
+ .pb-navigator {
95
+ width: 200px;
96
+ height: 1px;
97
+ overflow-y: auto;
98
+ padding: 8px 0;
99
+ flex-grow: 1;
100
+ }
101
+ .pb-navigator:focus {
102
+ outline: none;
103
+ }
104
+
105
+ .pb-sidebar {
106
+ width: 300px;
107
+ overflow: auto;
108
+ border: 1px solid var(--border-light);
109
+ }
110
+ .pb-sidebar .pb-sidebar-properties {
111
+ padding: 0;
112
+ }
113
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group:not(:empty) {
114
+ padding: 16px 16px;
115
+ border-bottom: 1px solid #eaeaea;
116
+ }
117
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-title > label {
118
+ padding: 4px 0;
119
+ font-size: 90%;
120
+ font-weight: 600;
121
+ }
122
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor {
123
+ padding: 4px 0;
124
+ font-size: 0.9em;
125
+ }
126
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor .title {
127
+ padding: 0 0 8px 0;
128
+ }
129
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor .title label {
130
+ min-width: 6em;
131
+ max-width: 6em;
132
+ padding-right: 0.5em;
133
+ font-weight: bold;
134
+ }
135
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor .sub-title label {
136
+ min-width: 6em;
137
+ max-width: 6em;
138
+ padding-right: 0.5em;
139
+ font-weight: 400;
140
+ }
141
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor {
142
+ padding: 4px 0;
143
+ font-size: 0.9em;
144
+ }
145
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor > .title {
146
+ padding: 0 0 8px 0;
147
+ }
148
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor > .title > label {
149
+ min-width: 6em;
150
+ max-width: 6em;
151
+ padding-right: 0.5em;
152
+ font-weight: 600;
153
+ }
154
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor:nth-child(n+2) {
155
+ margin-top: 4px;
156
+ }
157
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-color .color {
158
+ width: 50%;
159
+ }
160
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-image button.select-button {
161
+ color: #fff;
162
+ border: none;
163
+ padding: 4px 12px;
164
+ cursor: pointer;
165
+ line-height: 1;
166
+ width: 120px;
167
+ height: 28px;
168
+ background-color: #1f8fff;
169
+ }
170
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-image .input-area {
171
+ height: 24px;
172
+ }
173
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-product button {
174
+ color: #fff;
175
+ border: none;
176
+ padding: 4px 12px;
177
+ cursor: pointer;
178
+ line-height: 1;
179
+ width: 200px;
180
+ height: 28px;
181
+ background-color: #1f8fff;
182
+ }
183
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-product .input-area {
184
+ height: 24px;
185
+ }
186
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-select .bs-select {
187
+ display: block;
188
+ }
189
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-select .input-area {
190
+ height: 24px;
191
+ }
192
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-text .bs-text-input {
193
+ display: block;
194
+ }
195
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-text .input-area {
196
+ height: 24px;
197
+ }
198
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-text .bs-text-input {
199
+ display: block;
200
+ }
201
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-text .input-area {
202
+ height: 24px;
203
+ }
204
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-html button {
205
+ color: #fff;
206
+ border: none;
207
+ padding: 4px 12px;
208
+ cursor: pointer;
209
+ line-height: 1;
210
+ width: 100px;
211
+ height: 28px;
212
+ background-color: #1f8fff;
213
+ }
214
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-html .input-area {
215
+ height: 24px;
216
+ }
217
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-background .color {
218
+ flex: 1;
219
+ display: flex;
220
+ flex-direction: row;
221
+ align-items: center;
222
+ }
223
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-background .color .bs-text-input {
224
+ flex-grow: 1;
225
+ }
226
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-background .image {
227
+ flex: 1;
228
+ padding-left: 8px;
229
+ }
230
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-background .image button {
231
+ color: #fff;
232
+ border: none;
233
+ padding: 4px 12px;
234
+ cursor: pointer;
235
+ line-height: 1;
236
+ width: 120px;
237
+ height: 28px;
238
+ background-color: #1f8fff;
239
+ }
240
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-border .color {
241
+ width: 50%;
242
+ flex: 1;
243
+ display: flex;
244
+ flex-direction: row;
245
+ align-items: center;
246
+ }
247
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-border .color .bs-text-input {
248
+ flex-grow: 1;
249
+ }
250
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-border .corner-icon {
251
+ width: 1.1em;
252
+ height: 1.1em;
253
+ fill: #000;
254
+ }
255
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-media button.select-button {
256
+ color: #fff;
257
+ border: none;
258
+ padding: 4px 12px;
259
+ cursor: pointer;
260
+ line-height: 1;
261
+ width: 120px;
262
+ height: 28px;
263
+ background-color: #1f8fff;
264
+ }
265
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .group-editor-media .input-area {
266
+ height: 24px;
267
+ }
268
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-local-part .title {
269
+ font-weight: 600;
270
+ }
271
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-local-part button {
272
+ color: #fff;
273
+ border: none;
274
+ padding: 0 4px;
275
+ cursor: pointer;
276
+ line-height: 1;
277
+ height: 24px;
278
+ background-color: #1f8fff;
279
+ }
280
+ .pb-sidebar .pb-sidebar-properties .pb-sidebar-property-group .property-editor-local-part .input-area {
281
+ height: 24px;
282
+ }
283
+
284
+ .pb-color-picker {
285
+ display: inline-flex;
286
+ position: relative;
287
+ }
288
+ .pb-color-picker .buttons {
289
+ display: flex;
290
+ padding: 0;
291
+ }
292
+ .pb-color-picker .buttons button {
293
+ width: 24px;
294
+ height: 24px;
295
+ display: flex;
296
+ justify-content: center;
297
+ align-items: center;
298
+ }
299
+ .pb-color-picker .buttons button.none {
300
+ position: relative;
301
+ overflow: hidden;
302
+ }
303
+ .pb-color-picker .buttons button.none::after {
304
+ content: " ";
305
+ display: inline-block;
306
+ width: 100px;
307
+ height: 1px;
308
+ background: red;
309
+ position: absolute;
310
+ top: 50%;
311
+ left: 50%;
312
+ transform: translate(-50%, -50%) rotate(45deg);
313
+ }
314
+ .pb-color-picker .buttons button.picker-button {
315
+ border: 1px solid #cccccc;
316
+ }
317
+ .pb-color-picker .buttons button i {
318
+ font-size: 1.4rem;
319
+ }
320
+ .pb-color-picker .sketch-wrap {
321
+ width: 220px;
322
+ position: absolute;
323
+ z-index: 10;
324
+ left: -12px;
325
+ top: 24px;
326
+ white-space: break-spaces;
327
+ text-align: left;
328
+ }
329
+
330
+ .pb-part-add-modal .section-title {
331
+ font-weight: 700;
332
+ }
333
+ .pb-part-add-modal .group .part {
334
+ border: 1px solid var(--border-light);
335
+ border-radius: 4px;
336
+ padding: 8px 16px;
337
+ }
338
+
339
+ .pb-html-editor-modal .preview {
340
+ width: 50%;
341
+ }
342
+ .pb-html-editor-modal .preview .content {
343
+ border: solid 1px #ccc;
344
+ }
345
+ .pb-html-editor-modal .preview .content iframe {
346
+ width: 100%;
347
+ height: 100%;
348
+ }
349
+ .pb-html-editor-modal .editor {
350
+ width: 50%;
351
+ }
352
+ .pb-html-editor-modal .editor .bs-tab-sheet > :nth-child(2) {
353
+ height: 0;
354
+ }
355
+ .pb-html-editor-modal .editor .tags {
356
+ height: 60%;
357
+ }
358
+ .pb-html-editor-modal .editor .style {
359
+ height: 40%;
360
+ }
361
+ .pb-html-editor-modal .editor .bs-code-editor {
362
+ height: 100%;
363
+ }
364
+ .pb-html-editor-modal .buttons {
365
+ text-align: center;
366
+ }
367
+ .pb-html-editor-modal .buttons button {
368
+ color: #fff;
369
+ border: none;
370
+ padding: 4px 12px;
371
+ cursor: pointer;
372
+ line-height: 1;
373
+ height: 28px;
374
+ background-color: #1f8fff;
375
+ }
376
+
377
+ .pb-youtube-modal .flex-grow-1.overflow-auto {
378
+ overflow: hidden !important;
379
+ }
380
+ .pb-youtube-modal button {
381
+ color: #fff;
382
+ border: none;
383
+ padding: 4px 12px;
384
+ cursor: pointer;
385
+ line-height: 1;
386
+ height: 28px;
387
+ background-color: #1f8fff;
388
+ }
@@ -8318,16 +8318,16 @@ class PartManager {
8318
8318
  const defaultPartPropertyEditors = () => {
8319
8319
  return {
8320
8320
  "readonly-text": () => defineAsyncComponent(() => import("./PbPropertyEditorReadonlyText-BJ5qx69O.js")),
8321
- "text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-BJK-i2RV.js")),
8321
+ "text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-Bl87u7Hn.js")),
8322
8322
  "number": () => defineAsyncComponent(() => import("./PbPropertyEditorNumber-B76ArSb5.js")),
8323
8323
  "boolean": () => defineAsyncComponent(() => import("./PbPropertyEditorBoolean-c5CNiTpt.js")),
8324
- "multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-RbI_6mDe.js")),
8324
+ "multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-DFfXK9Mh.js")),
8325
8325
  "select": () => defineAsyncComponent(() => import("./PbPropertyEditorSelect-B5sfulvx.js")),
8326
- "css-length": () => defineAsyncComponent(() => import("./PbPropertyEditorCssLength-DECtcGWr.js")),
8327
- "color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-CRUPv7e6.js")),
8328
- "image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-PEILG_Cx.js")),
8329
- "html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-DKeEg8Q2.js")),
8330
- "youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-BEzsNZG-.js"))
8326
+ "css-length": () => defineAsyncComponent(() => import("./PbPropertyEditorCssLength-B-4sVDmD.js")),
8327
+ "color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-CIbIVOH6.js")),
8328
+ "image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-Djqz82Tj.js")),
8329
+ "html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-D-P-rK2d.js")),
8330
+ "youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-vn68-hix.js"))
8331
8331
  };
8332
8332
  };
8333
8333
  const getPropertyValueOfParts = (parts, propertyName) => {
@@ -12883,7 +12883,7 @@ __publicField(_OpenAddWidgetModalCommand, "COMMAND_ID", "OpenAddWidgetModal");
12883
12883
  let OpenAddWidgetModalCommand = _OpenAddWidgetModalCommand;
12884
12884
  const openWidgetAddModal = (modal, args, callback) => {
12885
12885
  modal.openModal({
12886
- component: defineAsyncComponent(() => import("./PbWidgetAddModal-B_mxaSD-.js")),
12886
+ component: defineAsyncComponent(() => import("./PbWidgetAddModal-jAxxY2xD.js")),
12887
12887
  style: {
12888
12888
  width: "80%",
12889
12889
  height: "80%",
@@ -15025,7 +15025,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
15025
15025
  };
15026
15026
  }
15027
15027
  });
15028
- const canvasStyle = '.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n padding-bottom: 100px;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.pb-page .pb-page-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: #fff;\n}\n\n.pb-page .pb-page-content.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-page * {\n box-sizing: border-box;\n}\n\n.pb-add-widget-button {\n width: 100%;\n height: 100%;\n min-height: 200px;\n position: relative;\n}\n\n.pb-add-widget-button button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 8px;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.pb-add-widget-button button:hover {\n background-color: #eeeeee;\n}\n\n.pb-add-widget-button .icon {\n font-size: 1rem;\n vertical-align: middle;\n}\n\n.pb-add-widget-button .text {\n font-size: 1rem;\n vertical-align: middle;\n margin-left: 0.4rem;\n}\n\n.pb-section {\n display: flex;\n position: relative;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n outline: 1px dashed #ccc;\n}\n\n.pb-section:empty {\n background-color: #fff;\n}\n\n.pb-section:hover:not(:has(.pb-block:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-section.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static {\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static:after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n.pb-section-static .pb-widget {\n outline: none;\n}\n\n.pb-block {\n display: flex;\n min-width: 1px;\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n outline: 1px dashed #ccc;\n}\n\n.pb-block:hover:not(:has(.pb-widget:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-block.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget {\n position: relative;\n outline: 1px dashed #ccc;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n pointer-events: auto !important;\n min-height: 50px;\n}\n\n.pb-widget * {\n pointer-events: none;\n}\n\n.pb-widget > .invalid-widget {\n display: flex;\n height: 50px;\n justify-content: center;\n align-items: center;\n width: 100%;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-widget.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-widget .pan-handle {\n position: absolute;\n left: -6px;\n top: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: move;\n pointer-events: auto !important;\n}\n\n.pb-widget .resize-handle {\n position: absolute;\n right: -6px;\n bottom: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: nwse-resize;\n pointer-events: auto !important;\n}\n\n.pb-widget {\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-text-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-text-widget .text {\n color: #333;\n}\n\n.pb-text-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-media-widget {\n width: 100%;\n}\n\n.pb-media-widget .image {\n width: 100%;\n}\n\n.pb-media-widget .video {\n width: 100%;\n}\n\n.pb-media-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-media-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-html-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-html-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-iframe-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-iframe-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-youtube-widget {\n width: 100%;\n}\n\n.pb-youtube-widget .youtube {\n width: 100%;\n height: 100%;\n}\n\n.pb-youtube-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-youtube-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-container-widget {\n width: 100%;\n}\n\n.pb-container-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-container-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-product-list-widget {\n width: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\n.pb-product-list-widget .product-wrapper {\n width: 25%;\n}\n\n.pb-product-list-widget .product-wrapper .product {\n width: 95%;\n margin: 0 auto;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n.pb-product-list-widget .product-wrapper img {\n width: 100%;\n}\n\n.pb-product-list-widget .product-wrapper .name {\n margin-top: 8px;\n font-size: 14px;\n}\n\n.pb-product-list-widget .product-wrapper .price {\n margin-top: 8px;\n font-size: 14px;\n font-weight: bold;\n}\n\n.pb-product-list-widget .product-wrapper .empty {\n height: 200px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-product-list-widget .product-wrapper .empty span {\n font-size: 40px;\n color: #999;\n line-height: 200px;\n vertical-align: middle;\n}\n\n@media (max-width: 768px) {\n .pb-product-list-widget .product-wrapper {\n width: 50%;\n }\n}\n\n.mobile .pb-product-list-widget .product-wrapper {\n width: 50%;\n}\n\n.pb-login-widget {\n height: 200px;\n text-align: center;\n}\n\n.pb-login-widget h3 {\n padding: 0;\n margin: 0;\n font-size: 32px;\n font-weight: bold;\n color: #ccc;\n line-height: 200px;\n vertical-align: middle;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: #aaa;\n overflow: hidden;\n}\n\n.font-icon, .material-icons-outlined {\n font-family: "Material Symbols Outlined", monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\n.pb-position-mark {\n background-color: #ff3333;\n opacity: 0.5;\n border-radius: 2px;\n}\n\n.pb-add-section-handle {\n position: relative;\n text-align: center;\n cursor: pointer;\n z-index: 5;\n height: 0;\n}\n\n.pb-add-section-handle.top::before, .pb-add-section-handle.bottom::before, .pb-add-section-handle.middle::before {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.pb-add-section-handle.bottom {\n bottom: -32px;\n}\n\n.pb-add-section-handle:hover.top::before, .pb-add-section-handle:hover.bottom::before, .pb-add-section-handle:hover.middle::before,\n.pb-add-section-handle:hover > i {\n opacity: 1;\n}\n\n.pb-add-section-handle > i {\n font-style: normal;\n vertical-align: middle;\n position: absolute;\n top: 50%;\n left: 0;\n font-size: 2rem;\n transform: translate(-50%, -50%);\n opacity: 0.2;\n}';
15028
+ const canvasStyle = ':root {\n --color-canvas-frame-bg: #aaa;\n}\n\n.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n padding-bottom: 100px;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.pb-page .pb-page-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: #fff;\n}\n\n.pb-page .pb-page-content.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-page * {\n box-sizing: border-box;\n}\n\n.pb-add-widget-button {\n width: 100%;\n height: 100%;\n min-height: 200px;\n position: relative;\n}\n\n.pb-add-widget-button button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 8px;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.pb-add-widget-button button:hover {\n background-color: #eeeeee;\n}\n\n.pb-add-widget-button .icon {\n font-size: 1rem;\n vertical-align: middle;\n}\n\n.pb-add-widget-button .text {\n font-size: 1rem;\n vertical-align: middle;\n margin-left: 0.4rem;\n}\n\n.pb-section {\n display: flex;\n position: relative;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n outline: 1px dashed #ccc;\n}\n\n.pb-section:empty {\n background-color: #fff;\n}\n\n.pb-section:hover:not(:has(.pb-block:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-section.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static {\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static:after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n.pb-section-static .pb-widget {\n outline: none;\n}\n\n.pb-block {\n display: flex;\n min-width: 1px;\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n outline: 1px dashed #ccc;\n}\n\n.pb-block:hover:not(:has(.pb-widget:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-block.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget {\n position: relative;\n outline: 1px dashed #ccc;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n pointer-events: auto !important;\n min-height: 50px;\n}\n\n.pb-widget * {\n pointer-events: none;\n}\n\n.pb-widget > .invalid-widget {\n display: flex;\n height: 50px;\n justify-content: center;\n align-items: center;\n width: 100%;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-widget.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-widget .pan-handle {\n position: absolute;\n left: -6px;\n top: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: move;\n pointer-events: auto !important;\n}\n\n.pb-widget .resize-handle {\n position: absolute;\n right: -6px;\n bottom: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: nwse-resize;\n pointer-events: auto !important;\n}\n\n.pb-widget {\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-text-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-text-widget .text {\n color: #333;\n}\n\n.pb-text-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-media-widget {\n width: 100%;\n}\n\n.pb-media-widget .image {\n width: 100%;\n}\n\n.pb-media-widget .video {\n width: 100%;\n}\n\n.pb-media-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-media-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-html-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-html-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-iframe-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-iframe-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-youtube-widget {\n width: 100%;\n}\n\n.pb-youtube-widget .youtube {\n width: 100%;\n height: 100%;\n}\n\n.pb-youtube-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-youtube-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-container-widget {\n width: 100%;\n}\n\n.pb-container-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-container-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-product-list-widget {\n width: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\n.pb-product-list-widget .product-wrapper {\n width: 25%;\n}\n\n.pb-product-list-widget .product-wrapper .product {\n width: 95%;\n margin: 0 auto;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n.pb-product-list-widget .product-wrapper img {\n width: 100%;\n}\n\n.pb-product-list-widget .product-wrapper .name {\n margin-top: 8px;\n font-size: 14px;\n}\n\n.pb-product-list-widget .product-wrapper .price {\n margin-top: 8px;\n font-size: 14px;\n font-weight: bold;\n}\n\n.pb-product-list-widget .product-wrapper .empty {\n height: 200px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-product-list-widget .product-wrapper .empty span {\n font-size: 40px;\n color: #999;\n line-height: 200px;\n vertical-align: middle;\n}\n\n@media (max-width: 768px) {\n .pb-product-list-widget .product-wrapper {\n width: 50%;\n }\n}\n\n.mobile .pb-product-list-widget .product-wrapper {\n width: 50%;\n}\n\n.pb-login-widget {\n height: 200px;\n text-align: center;\n}\n\n.pb-login-widget h3 {\n padding: 0;\n margin: 0;\n font-size: 32px;\n font-weight: bold;\n color: #ccc;\n line-height: 200px;\n vertical-align: middle;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: var(--color-canvas-frame-bg);\n overflow: hidden;\n}\n\n.font-icon, .material-icons-outlined {\n font-family: "Material Symbols Outlined", monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\n.pb-position-mark {\n background-color: #ff3333;\n opacity: 0.5;\n border-radius: 2px;\n}\n\n.pb-add-section-handle {\n position: relative;\n text-align: center;\n cursor: pointer;\n z-index: 5;\n height: 0;\n}\n\n.pb-add-section-handle.top::before, .pb-add-section-handle.bottom::before, .pb-add-section-handle.middle::before {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.pb-add-section-handle.bottom {\n bottom: -32px;\n}\n\n.pb-add-section-handle:hover.top::before, .pb-add-section-handle:hover.bottom::before, .pb-add-section-handle:hover.middle::before,\n.pb-add-section-handle:hover > i {\n opacity: 1;\n}\n\n.pb-add-section-handle > i {\n font-style: normal;\n vertical-align: middle;\n position: absolute;\n top: 50%;\n left: 0;\n font-size: 2rem;\n transform: translate(-50%, -50%);\n opacity: 0.2;\n}';
15029
15029
  const _hoisted_1$2 = ["width"];
15030
15030
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
15031
15031
  __name: "PbPageFrame",
@@ -1,4 +1,4 @@
1
- import { B, b, M, c, d, e, _, a, f, g, h, i, j, k, l, m, n, R, o, S, p, W, q, r, v, x, y, z, A, D, E } from "./index-Dlp_xq19.js";
1
+ import { B, b, M, c, d, e, _, a, f, g, h, i, j, k, l, m, n, R, o, S, p, W, q, r, v, x, y, z, A, D, E } from "./index-BhMJnNHk.js";
2
2
  export {
3
3
  B as BLOCK_TYPE,
4
4
  b as Block,
@@ -15026,7 +15026,7 @@ ${_html.style}
15026
15026
  };
15027
15027
  }
15028
15028
  });
15029
- const canvasStyle = '.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n padding-bottom: 100px;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.pb-page .pb-page-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: #fff;\n}\n\n.pb-page .pb-page-content.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-page * {\n box-sizing: border-box;\n}\n\n.pb-add-widget-button {\n width: 100%;\n height: 100%;\n min-height: 200px;\n position: relative;\n}\n\n.pb-add-widget-button button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 8px;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.pb-add-widget-button button:hover {\n background-color: #eeeeee;\n}\n\n.pb-add-widget-button .icon {\n font-size: 1rem;\n vertical-align: middle;\n}\n\n.pb-add-widget-button .text {\n font-size: 1rem;\n vertical-align: middle;\n margin-left: 0.4rem;\n}\n\n.pb-section {\n display: flex;\n position: relative;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n outline: 1px dashed #ccc;\n}\n\n.pb-section:empty {\n background-color: #fff;\n}\n\n.pb-section:hover:not(:has(.pb-block:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-section.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static {\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static:after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n.pb-section-static .pb-widget {\n outline: none;\n}\n\n.pb-block {\n display: flex;\n min-width: 1px;\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n outline: 1px dashed #ccc;\n}\n\n.pb-block:hover:not(:has(.pb-widget:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-block.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget {\n position: relative;\n outline: 1px dashed #ccc;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n pointer-events: auto !important;\n min-height: 50px;\n}\n\n.pb-widget * {\n pointer-events: none;\n}\n\n.pb-widget > .invalid-widget {\n display: flex;\n height: 50px;\n justify-content: center;\n align-items: center;\n width: 100%;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-widget.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-widget .pan-handle {\n position: absolute;\n left: -6px;\n top: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: move;\n pointer-events: auto !important;\n}\n\n.pb-widget .resize-handle {\n position: absolute;\n right: -6px;\n bottom: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: nwse-resize;\n pointer-events: auto !important;\n}\n\n.pb-widget {\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-text-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-text-widget .text {\n color: #333;\n}\n\n.pb-text-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-media-widget {\n width: 100%;\n}\n\n.pb-media-widget .image {\n width: 100%;\n}\n\n.pb-media-widget .video {\n width: 100%;\n}\n\n.pb-media-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-media-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-html-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-html-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-iframe-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-iframe-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-youtube-widget {\n width: 100%;\n}\n\n.pb-youtube-widget .youtube {\n width: 100%;\n height: 100%;\n}\n\n.pb-youtube-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-youtube-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-container-widget {\n width: 100%;\n}\n\n.pb-container-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-container-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-product-list-widget {\n width: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\n.pb-product-list-widget .product-wrapper {\n width: 25%;\n}\n\n.pb-product-list-widget .product-wrapper .product {\n width: 95%;\n margin: 0 auto;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n.pb-product-list-widget .product-wrapper img {\n width: 100%;\n}\n\n.pb-product-list-widget .product-wrapper .name {\n margin-top: 8px;\n font-size: 14px;\n}\n\n.pb-product-list-widget .product-wrapper .price {\n margin-top: 8px;\n font-size: 14px;\n font-weight: bold;\n}\n\n.pb-product-list-widget .product-wrapper .empty {\n height: 200px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-product-list-widget .product-wrapper .empty span {\n font-size: 40px;\n color: #999;\n line-height: 200px;\n vertical-align: middle;\n}\n\n@media (max-width: 768px) {\n .pb-product-list-widget .product-wrapper {\n width: 50%;\n }\n}\n\n.mobile .pb-product-list-widget .product-wrapper {\n width: 50%;\n}\n\n.pb-login-widget {\n height: 200px;\n text-align: center;\n}\n\n.pb-login-widget h3 {\n padding: 0;\n margin: 0;\n font-size: 32px;\n font-weight: bold;\n color: #ccc;\n line-height: 200px;\n vertical-align: middle;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: #aaa;\n overflow: hidden;\n}\n\n.font-icon, .material-icons-outlined {\n font-family: "Material Symbols Outlined", monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\n.pb-position-mark {\n background-color: #ff3333;\n opacity: 0.5;\n border-radius: 2px;\n}\n\n.pb-add-section-handle {\n position: relative;\n text-align: center;\n cursor: pointer;\n z-index: 5;\n height: 0;\n}\n\n.pb-add-section-handle.top::before, .pb-add-section-handle.bottom::before, .pb-add-section-handle.middle::before {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.pb-add-section-handle.bottom {\n bottom: -32px;\n}\n\n.pb-add-section-handle:hover.top::before, .pb-add-section-handle:hover.bottom::before, .pb-add-section-handle:hover.middle::before,\n.pb-add-section-handle:hover > i {\n opacity: 1;\n}\n\n.pb-add-section-handle > i {\n font-style: normal;\n vertical-align: middle;\n position: absolute;\n top: 50%;\n left: 0;\n font-size: 2rem;\n transform: translate(-50%, -50%);\n opacity: 0.2;\n}';
15029
+ const canvasStyle = ':root {\n --color-canvas-frame-bg: #aaa;\n}\n\n.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n padding-bottom: 100px;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.pb-page .pb-page-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: #fff;\n}\n\n.pb-page .pb-page-content.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-page * {\n box-sizing: border-box;\n}\n\n.pb-add-widget-button {\n width: 100%;\n height: 100%;\n min-height: 200px;\n position: relative;\n}\n\n.pb-add-widget-button button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 8px;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.pb-add-widget-button button:hover {\n background-color: #eeeeee;\n}\n\n.pb-add-widget-button .icon {\n font-size: 1rem;\n vertical-align: middle;\n}\n\n.pb-add-widget-button .text {\n font-size: 1rem;\n vertical-align: middle;\n margin-left: 0.4rem;\n}\n\n.pb-section {\n display: flex;\n position: relative;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n outline: 1px dashed #ccc;\n}\n\n.pb-section:empty {\n background-color: #fff;\n}\n\n.pb-section:hover:not(:has(.pb-block:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-section.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static {\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static:after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n.pb-section-static .pb-widget {\n outline: none;\n}\n\n.pb-block {\n display: flex;\n min-width: 1px;\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n outline: 1px dashed #ccc;\n}\n\n.pb-block:hover:not(:has(.pb-widget:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-block.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget {\n position: relative;\n outline: 1px dashed #ccc;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n pointer-events: auto !important;\n min-height: 50px;\n}\n\n.pb-widget * {\n pointer-events: none;\n}\n\n.pb-widget > .invalid-widget {\n display: flex;\n height: 50px;\n justify-content: center;\n align-items: center;\n width: 100%;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-widget.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-widget .pan-handle {\n position: absolute;\n left: -6px;\n top: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: move;\n pointer-events: auto !important;\n}\n\n.pb-widget .resize-handle {\n position: absolute;\n right: -6px;\n bottom: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: nwse-resize;\n pointer-events: auto !important;\n}\n\n.pb-widget {\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-text-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-text-widget .text {\n color: #333;\n}\n\n.pb-text-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-media-widget {\n width: 100%;\n}\n\n.pb-media-widget .image {\n width: 100%;\n}\n\n.pb-media-widget .video {\n width: 100%;\n}\n\n.pb-media-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-media-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-html-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-html-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-iframe-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-iframe-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-youtube-widget {\n width: 100%;\n}\n\n.pb-youtube-widget .youtube {\n width: 100%;\n height: 100%;\n}\n\n.pb-youtube-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-youtube-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-container-widget {\n width: 100%;\n}\n\n.pb-container-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-container-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-product-list-widget {\n width: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\n.pb-product-list-widget .product-wrapper {\n width: 25%;\n}\n\n.pb-product-list-widget .product-wrapper .product {\n width: 95%;\n margin: 0 auto;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n.pb-product-list-widget .product-wrapper img {\n width: 100%;\n}\n\n.pb-product-list-widget .product-wrapper .name {\n margin-top: 8px;\n font-size: 14px;\n}\n\n.pb-product-list-widget .product-wrapper .price {\n margin-top: 8px;\n font-size: 14px;\n font-weight: bold;\n}\n\n.pb-product-list-widget .product-wrapper .empty {\n height: 200px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-product-list-widget .product-wrapper .empty span {\n font-size: 40px;\n color: #999;\n line-height: 200px;\n vertical-align: middle;\n}\n\n@media (max-width: 768px) {\n .pb-product-list-widget .product-wrapper {\n width: 50%;\n }\n}\n\n.mobile .pb-product-list-widget .product-wrapper {\n width: 50%;\n}\n\n.pb-login-widget {\n height: 200px;\n text-align: center;\n}\n\n.pb-login-widget h3 {\n padding: 0;\n margin: 0;\n font-size: 32px;\n font-weight: bold;\n color: #ccc;\n line-height: 200px;\n vertical-align: middle;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: var(--color-canvas-frame-bg);\n overflow: hidden;\n}\n\n.font-icon, .material-icons-outlined {\n font-family: "Material Symbols Outlined", monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\n.pb-position-mark {\n background-color: #ff3333;\n opacity: 0.5;\n border-radius: 2px;\n}\n\n.pb-add-section-handle {\n position: relative;\n text-align: center;\n cursor: pointer;\n z-index: 5;\n height: 0;\n}\n\n.pb-add-section-handle.top::before, .pb-add-section-handle.bottom::before, .pb-add-section-handle.middle::before {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.pb-add-section-handle.bottom {\n bottom: -32px;\n}\n\n.pb-add-section-handle:hover.top::before, .pb-add-section-handle:hover.bottom::before, .pb-add-section-handle:hover.middle::before,\n.pb-add-section-handle:hover > i {\n opacity: 1;\n}\n\n.pb-add-section-handle > i {\n font-style: normal;\n vertical-align: middle;\n position: absolute;\n top: 50%;\n left: 0;\n font-size: 2rem;\n transform: translate(-50%, -50%);\n opacity: 0.2;\n}';
15030
15030
  const _hoisted_1$h = ["width"];
15031
15031
  const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15032
15032
  __name: "PbPageFrame",