@g1cloud/page-builder-editor 1.0.0-alpha.44 → 1.0.0-alpha.46
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/page-builder-editor.scss +1 -0
- package/css/property-group-editor-media.scss +16 -0
- package/dist/{PbPropertyEditorColor-B3xl9E3o.js → PbPropertyEditorColor-B41u2J0P.js} +1 -1
- package/dist/{PbPropertyEditorHtml-EMisPKLD.js → PbPropertyEditorHtml-CVVHK_Aw.js} +1 -1
- package/dist/{PbPropertyEditorImage-BVxHJlyq.js → PbPropertyEditorImage-Hfb9KA23.js} +1 -1
- package/dist/{PbPropertyEditorMultilineText-P-U54Cz2.js → PbPropertyEditorMultilineText-CmOtpbXF.js} +1 -1
- package/dist/{PbPropertyEditorText-4FO396e0.js → PbPropertyEditorText-CHuYGiYv.js} +1 -1
- package/dist/{PbPropertyEditorYoutube-P8ajWtxn.js → PbPropertyEditorYoutube-ei6b733c.js} +1 -1
- package/dist/{PbWidgetAddModal-B0LCiyLg.js → PbWidgetAddModal-BcAVsLH4.js} +1 -1
- package/dist/components/sidebar/property/PbPropertyGroupEditorMedia.vue.d.ts +20 -0
- package/dist/{index-HSJAvXph.js → index-B3_aUUWX.js} +449 -172
- package/dist/model/part-property.d.ts +1 -0
- package/dist/page-builder-editor.js +15 -14
- package/dist/page-builder-editor.umd.cjs +428 -151
- package/package.json +3 -3
|
@@ -6880,8 +6880,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6880
6880
|
this.rootPart = vue.ref(new RootPart());
|
|
6881
6881
|
}
|
|
6882
6882
|
};
|
|
6883
|
-
const _hoisted_1$
|
|
6884
|
-
const _sfc_main$
|
|
6883
|
+
const _hoisted_1$b$1 = ["data-part-id"];
|
|
6884
|
+
const _sfc_main$c$1 = /* @__PURE__ */ vue.defineComponent({
|
|
6885
6885
|
__name: "PbWidget",
|
|
6886
6886
|
props: {
|
|
6887
6887
|
part: {}
|
|
@@ -6918,15 +6918,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6918
6918
|
part: _ctx.part,
|
|
6919
6919
|
"onUpdate:visible": updateVisible
|
|
6920
6920
|
}, null, 40, ["part"])) : vue.createCommentVNode("", true)
|
|
6921
|
-
], 14, _hoisted_1$
|
|
6921
|
+
], 14, _hoisted_1$b$1), [
|
|
6922
6922
|
[vue.vShow, visible.value]
|
|
6923
6923
|
])
|
|
6924
6924
|
], 64);
|
|
6925
6925
|
};
|
|
6926
6926
|
}
|
|
6927
6927
|
});
|
|
6928
|
-
const _hoisted_1$
|
|
6929
|
-
const _sfc_main$
|
|
6928
|
+
const _hoisted_1$a$1 = ["data-part-id"];
|
|
6929
|
+
const _sfc_main$b$1 = /* @__PURE__ */ vue.defineComponent({
|
|
6930
6930
|
__name: "PbBlock",
|
|
6931
6931
|
props: {
|
|
6932
6932
|
part: {},
|
|
@@ -6961,21 +6961,21 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6961
6961
|
style: vue.normalizeStyle(style.value)
|
|
6962
6962
|
}, [
|
|
6963
6963
|
_ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
|
|
6964
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6964
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$c$1, {
|
|
6965
6965
|
key: child.partId,
|
|
6966
6966
|
part: child,
|
|
6967
6967
|
"onUpdate:visible": (value) => updateVisible(child.partId, value)
|
|
6968
6968
|
}, null, 8, ["part", "onUpdate:visible"]);
|
|
6969
6969
|
}), 128)) : vue.createCommentVNode("", true)
|
|
6970
|
-
], 14, _hoisted_1$
|
|
6970
|
+
], 14, _hoisted_1$a$1), [
|
|
6971
6971
|
[vue.vShow, visible.value]
|
|
6972
6972
|
])
|
|
6973
6973
|
], 64);
|
|
6974
6974
|
};
|
|
6975
6975
|
}
|
|
6976
6976
|
});
|
|
6977
|
-
const _hoisted_1$
|
|
6978
|
-
const _sfc_main$
|
|
6977
|
+
const _hoisted_1$9$1 = ["data-part-id"];
|
|
6978
|
+
const _sfc_main$a$1 = /* @__PURE__ */ vue.defineComponent({
|
|
6979
6979
|
__name: "PbSection",
|
|
6980
6980
|
props: {
|
|
6981
6981
|
part: {},
|
|
@@ -7007,28 +7007,28 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
7007
7007
|
style: vue.normalizeStyle(style.value)
|
|
7008
7008
|
}, [
|
|
7009
7009
|
_ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
|
|
7010
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
7010
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$b$1, {
|
|
7011
7011
|
key: child.partId,
|
|
7012
7012
|
"is-mobile-page": _ctx.isMobilePage,
|
|
7013
7013
|
part: child,
|
|
7014
7014
|
"onUpdate:visible": (value) => updateVisible(child.partId, value)
|
|
7015
7015
|
}, null, 8, ["is-mobile-page", "part", "onUpdate:visible"]);
|
|
7016
7016
|
}), 128)) : vue.createCommentVNode("", true)
|
|
7017
|
-
], 14, _hoisted_1$
|
|
7017
|
+
], 14, _hoisted_1$9$1), [
|
|
7018
7018
|
[vue.vShow, visible.value]
|
|
7019
7019
|
])
|
|
7020
7020
|
], 64);
|
|
7021
7021
|
};
|
|
7022
7022
|
}
|
|
7023
7023
|
});
|
|
7024
|
-
const _hoisted_1$
|
|
7025
|
-
const _hoisted_2$
|
|
7026
|
-
const _hoisted_3$
|
|
7027
|
-
const _hoisted_4$
|
|
7024
|
+
const _hoisted_1$8$1 = ["href", "target"];
|
|
7025
|
+
const _hoisted_2$5$1 = ["alt", "src"];
|
|
7026
|
+
const _hoisted_3$1$1 = ["alt", "src"];
|
|
7027
|
+
const _hoisted_4$1$1 = {
|
|
7028
7028
|
key: 1,
|
|
7029
7029
|
class: "placeholder"
|
|
7030
7030
|
};
|
|
7031
|
-
const _sfc_main$
|
|
7031
|
+
const _sfc_main$9$1 = /* @__PURE__ */ vue.defineComponent({
|
|
7032
7032
|
__name: "PbImageWidget",
|
|
7033
7033
|
props: {
|
|
7034
7034
|
part: {},
|
|
@@ -7069,20 +7069,103 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
7069
7069
|
src: ((_e = _ctx.part.properties) == null ? void 0 : _e.media).url,
|
|
7070
7070
|
style: vue.normalizeStyle(style.value),
|
|
7071
7071
|
class: "image"
|
|
7072
|
-
}, null, 12, _hoisted_2$
|
|
7073
|
-
], 8, _hoisted_1$
|
|
7072
|
+
}, null, 12, _hoisted_2$5$1)
|
|
7073
|
+
], 8, _hoisted_1$8$1)) : (vue.openBlock(), vue.createElementBlock("img", {
|
|
7074
7074
|
key: 1,
|
|
7075
7075
|
alt: altText.value,
|
|
7076
7076
|
src: ((_f = _ctx.part.properties) == null ? void 0 : _f.media).url,
|
|
7077
7077
|
style: vue.normalizeStyle(style.value),
|
|
7078
7078
|
class: "image"
|
|
7079
|
-
}, null, 12, _hoisted_3$
|
|
7080
|
-
], 64)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
7079
|
+
}, null, 12, _hoisted_3$1$1))
|
|
7080
|
+
], 64)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1$1, _cache[0] || (_cache[0] = [
|
|
7081
7081
|
vue.createElementVNode("span", { class: "font-icon" }, "image", -1)
|
|
7082
7082
|
]))) : vue.createCommentVNode("", true);
|
|
7083
7083
|
};
|
|
7084
7084
|
}
|
|
7085
7085
|
});
|
|
7086
|
+
const _hoisted_1$7$1 = ["href", "target"];
|
|
7087
|
+
const _hoisted_2$4$1 = ["alt", "src"];
|
|
7088
|
+
const _hoisted_3$o = ["alt", "src"];
|
|
7089
|
+
const _hoisted_4$e = ["poster"];
|
|
7090
|
+
const _hoisted_5$8 = ["src"];
|
|
7091
|
+
const _hoisted_6$8 = {
|
|
7092
|
+
key: 1,
|
|
7093
|
+
class: "placeholder"
|
|
7094
|
+
};
|
|
7095
|
+
const _hoisted_7$8 = { class: "font-icon" };
|
|
7096
|
+
const _sfc_main$8$1 = /* @__PURE__ */ vue.defineComponent({
|
|
7097
|
+
__name: "PbMediaWidget",
|
|
7098
|
+
props: {
|
|
7099
|
+
part: {},
|
|
7100
|
+
placeholder: { type: Boolean }
|
|
7101
|
+
},
|
|
7102
|
+
setup(__props) {
|
|
7103
|
+
const props = __props;
|
|
7104
|
+
const pageBuilder = usePageBuilder();
|
|
7105
|
+
const media = vue.computed(() => {
|
|
7106
|
+
var _a;
|
|
7107
|
+
return (_a = props.part.properties) == null ? void 0 : _a.media;
|
|
7108
|
+
});
|
|
7109
|
+
const altText = vue.computed(() => {
|
|
7110
|
+
if (media.value && media.value.altText) {
|
|
7111
|
+
const locale = pageBuilder.getLocale();
|
|
7112
|
+
return media.value.altText[locale] || "";
|
|
7113
|
+
}
|
|
7114
|
+
return "";
|
|
7115
|
+
});
|
|
7116
|
+
const placeholderIcon = vue.computed(() => {
|
|
7117
|
+
var _a;
|
|
7118
|
+
return ((_a = media.value) == null ? void 0 : _a.mediaType) === "Video" ? "smart_display" : "image";
|
|
7119
|
+
});
|
|
7120
|
+
const style = vue.computed(() => {
|
|
7121
|
+
var _a;
|
|
7122
|
+
const media2 = (_a = props.part.properties) == null ? void 0 : _a.media;
|
|
7123
|
+
if (media2.width && media2.height) {
|
|
7124
|
+
return {
|
|
7125
|
+
aspectRatio: media2.width / media2.height
|
|
7126
|
+
};
|
|
7127
|
+
}
|
|
7128
|
+
return {};
|
|
7129
|
+
});
|
|
7130
|
+
return (_ctx, _cache) => {
|
|
7131
|
+
var _a, _b, _c, _d, _e, _f;
|
|
7132
|
+
return media.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
7133
|
+
media.value.mediaType === "Image" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
7134
|
+
((_a = _ctx.part.properties) == null ? void 0 : _a.link) ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
7135
|
+
key: 0,
|
|
7136
|
+
href: (_b = _ctx.part.properties) == null ? void 0 : _b.link,
|
|
7137
|
+
target: (_c = _ctx.part.properties) == null ? void 0 : _c.linkTarget
|
|
7138
|
+
}, [
|
|
7139
|
+
vue.createElementVNode("img", {
|
|
7140
|
+
alt: altText.value,
|
|
7141
|
+
src: ((_d = _ctx.part.properties) == null ? void 0 : _d.media).url,
|
|
7142
|
+
style: vue.normalizeStyle(style.value),
|
|
7143
|
+
class: "image"
|
|
7144
|
+
}, null, 12, _hoisted_2$4$1)
|
|
7145
|
+
], 8, _hoisted_1$7$1)) : (vue.openBlock(), vue.createElementBlock("img", {
|
|
7146
|
+
key: 1,
|
|
7147
|
+
alt: altText.value,
|
|
7148
|
+
src: ((_e = _ctx.part.properties) == null ? void 0 : _e.media).url,
|
|
7149
|
+
style: vue.normalizeStyle(style.value),
|
|
7150
|
+
class: "image"
|
|
7151
|
+
}, null, 12, _hoisted_3$o))
|
|
7152
|
+
], 64)) : media.value.mediaType === "Video" ? (vue.openBlock(), vue.createElementBlock("video", {
|
|
7153
|
+
key: 1,
|
|
7154
|
+
ref: "video",
|
|
7155
|
+
poster: (_f = _ctx.part.properties) == null ? void 0 : _f.thumbnail,
|
|
7156
|
+
class: "video",
|
|
7157
|
+
controls: ""
|
|
7158
|
+
}, [
|
|
7159
|
+
vue.createElementVNode("source", {
|
|
7160
|
+
src: `${media.value.url}#t=0.01`
|
|
7161
|
+
}, null, 8, _hoisted_5$8)
|
|
7162
|
+
], 8, _hoisted_4$e)) : vue.createCommentVNode("", true)
|
|
7163
|
+
], 64)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$8, [
|
|
7164
|
+
vue.createElementVNode("span", _hoisted_7$8, vue.toDisplayString(placeholderIcon.value), 1)
|
|
7165
|
+
])) : vue.createCommentVNode("", true);
|
|
7166
|
+
};
|
|
7167
|
+
}
|
|
7168
|
+
});
|
|
7086
7169
|
const _hoisted_1$6$1 = ["textContent"];
|
|
7087
7170
|
const _hoisted_2$3$1 = {
|
|
7088
7171
|
key: 1,
|
|
@@ -7244,7 +7327,7 @@ ${_html.style}
|
|
|
7244
7327
|
const isYTReady = vue.ref(false);
|
|
7245
7328
|
vue.onMounted(() => {
|
|
7246
7329
|
const interval = setInterval(() => {
|
|
7247
|
-
if (window.YT) {
|
|
7330
|
+
if (window && window.YT) {
|
|
7248
7331
|
isYTReady.value = true;
|
|
7249
7332
|
clearInterval(interval);
|
|
7250
7333
|
}
|
|
@@ -7280,13 +7363,13 @@ ${_html.style}
|
|
|
7280
7363
|
partType: "Section",
|
|
7281
7364
|
partName: "Section",
|
|
7282
7365
|
className: "pb-section",
|
|
7283
|
-
creator: () => _sfc_main$
|
|
7366
|
+
creator: () => _sfc_main$a$1
|
|
7284
7367
|
},
|
|
7285
7368
|
"Block": {
|
|
7286
7369
|
partType: "Block",
|
|
7287
7370
|
partName: "Block",
|
|
7288
7371
|
className: "pb-block",
|
|
7289
|
-
creator: () => _sfc_main$
|
|
7372
|
+
creator: () => _sfc_main$b$1
|
|
7290
7373
|
},
|
|
7291
7374
|
"TextWidget": {
|
|
7292
7375
|
partType: "Widget",
|
|
@@ -7298,6 +7381,12 @@ ${_html.style}
|
|
|
7298
7381
|
partType: "Widget",
|
|
7299
7382
|
partName: "ImageWidget",
|
|
7300
7383
|
className: "pb-image-widget",
|
|
7384
|
+
creator: () => _sfc_main$9$1
|
|
7385
|
+
},
|
|
7386
|
+
"MediaWidget": {
|
|
7387
|
+
partType: "Widget",
|
|
7388
|
+
partName: "MediaWidget",
|
|
7389
|
+
className: "pb-media-widget",
|
|
7301
7390
|
creator: () => _sfc_main$8$1
|
|
7302
7391
|
},
|
|
7303
7392
|
"HtmlWidget": {
|
|
@@ -7349,7 +7438,7 @@ ${_html.style}
|
|
|
7349
7438
|
plugin.widgets.forEach((v) => {
|
|
7350
7439
|
const w = { ...v };
|
|
7351
7440
|
w.partType = "Widget";
|
|
7352
|
-
w.creator = () => _sfc_main$
|
|
7441
|
+
w.creator = () => _sfc_main$F;
|
|
7353
7442
|
partDefinitions$1[v.partName] = w;
|
|
7354
7443
|
});
|
|
7355
7444
|
}
|
|
@@ -7491,7 +7580,7 @@ ${_html.style}
|
|
|
7491
7580
|
style: vue.normalizeStyle(style.value)
|
|
7492
7581
|
}, [
|
|
7493
7582
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.part.children, (section) => {
|
|
7494
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
7583
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$a$1, {
|
|
7495
7584
|
key: section.partId,
|
|
7496
7585
|
"is-mobile-page": _ctx.isMobilePage,
|
|
7497
7586
|
part: section
|
|
@@ -7555,7 +7644,7 @@ ${_html.style}
|
|
|
7555
7644
|
};
|
|
7556
7645
|
}
|
|
7557
7646
|
});
|
|
7558
|
-
const _hoisted_1$
|
|
7647
|
+
const _hoisted_1$I = {
|
|
7559
7648
|
key: 1,
|
|
7560
7649
|
class: "placeholder",
|
|
7561
7650
|
textContent: "Empty Widget"
|
|
@@ -7576,11 +7665,11 @@ ${_html.style}
|
|
|
7576
7665
|
key: child.part.partId,
|
|
7577
7666
|
part: child.part
|
|
7578
7667
|
}, null, 8, ["part"]);
|
|
7579
|
-
}), 128)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
7668
|
+
}), 128)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I)) : vue.createCommentVNode("", true);
|
|
7580
7669
|
};
|
|
7581
7670
|
}
|
|
7582
7671
|
});
|
|
7583
|
-
const _sfc_main$
|
|
7672
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
7584
7673
|
__name: "PbCustomWidget",
|
|
7585
7674
|
props: {
|
|
7586
7675
|
part: {},
|
|
@@ -8434,10 +8523,10 @@ ${_html.style}
|
|
|
8434
8523
|
}
|
|
8435
8524
|
return target;
|
|
8436
8525
|
};
|
|
8437
|
-
const _sfc_main$
|
|
8438
|
-
const _hoisted_1$
|
|
8526
|
+
const _sfc_main$E = {};
|
|
8527
|
+
const _hoisted_1$H = { class: "pb-add-widget-button" };
|
|
8439
8528
|
function _sfc_render$1(_ctx, _cache) {
|
|
8440
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
8529
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
|
|
8441
8530
|
vue.createElementVNode("button", {
|
|
8442
8531
|
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("add-widget", $event))
|
|
8443
8532
|
}, _cache[1] || (_cache[1] = [
|
|
@@ -8446,7 +8535,7 @@ ${_html.style}
|
|
|
8446
8535
|
]))
|
|
8447
8536
|
]);
|
|
8448
8537
|
}
|
|
8449
|
-
const PbAddWidgetButton = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
8538
|
+
const PbAddWidgetButton = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$1]]);
|
|
8450
8539
|
const MOUSE_TRACKER_KEY = "mouseTracker";
|
|
8451
8540
|
const MOUSE_TRACKER_NOT_FOUND = "MouseTracker not found";
|
|
8452
8541
|
class MouseTracker {
|
|
@@ -8474,8 +8563,8 @@ ${_html.style}
|
|
|
8474
8563
|
if (!mouseTracker) throw Error(MOUSE_TRACKER_NOT_FOUND);
|
|
8475
8564
|
return mouseTracker;
|
|
8476
8565
|
};
|
|
8477
|
-
const _hoisted_1$
|
|
8478
|
-
const _sfc_main$
|
|
8566
|
+
const _hoisted_1$G = ["data-part-id", "draggable"];
|
|
8567
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
8479
8568
|
__name: "PbWidget",
|
|
8480
8569
|
props: {
|
|
8481
8570
|
part: {},
|
|
@@ -8911,15 +9000,15 @@ ${_html.style}
|
|
|
8911
9000
|
class: "resize-handle",
|
|
8912
9001
|
onMousedown: resizeChild
|
|
8913
9002
|
}, null, 32)) : vue.createCommentVNode("", true)
|
|
8914
|
-
], 14, _hoisted_1$
|
|
9003
|
+
], 14, _hoisted_1$G)), [
|
|
8915
9004
|
[vue.unref(vPartHandler), { pageBuilder: vue.unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
|
|
8916
9005
|
])
|
|
8917
9006
|
], 64);
|
|
8918
9007
|
};
|
|
8919
9008
|
}
|
|
8920
9009
|
});
|
|
8921
|
-
const _hoisted_1$
|
|
8922
|
-
const _sfc_main$
|
|
9010
|
+
const _hoisted_1$F = ["data-part-id"];
|
|
9011
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
8923
9012
|
__name: "PbBlock",
|
|
8924
9013
|
props: {
|
|
8925
9014
|
part: {},
|
|
@@ -9110,27 +9199,27 @@ ${_html.style}
|
|
|
9110
9199
|
onAddWidget: addWidget
|
|
9111
9200
|
})) : vue.createCommentVNode("", true),
|
|
9112
9201
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.part.children, (child) => {
|
|
9113
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
9202
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$D, {
|
|
9114
9203
|
key: child.partId,
|
|
9115
9204
|
part: child
|
|
9116
9205
|
}, null, 8, ["part"]);
|
|
9117
9206
|
}), 128))
|
|
9118
|
-
], 16, _hoisted_1$
|
|
9207
|
+
], 16, _hoisted_1$F)), [
|
|
9119
9208
|
[vue.unref(vPartHandler), { pageBuilder: vue.unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
|
|
9120
9209
|
])
|
|
9121
9210
|
], 64);
|
|
9122
9211
|
};
|
|
9123
9212
|
}
|
|
9124
9213
|
});
|
|
9125
|
-
const _hoisted_1$
|
|
9126
|
-
const _sfc_main$
|
|
9214
|
+
const _hoisted_1$E = { class: "pb-block" };
|
|
9215
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
9127
9216
|
__name: "PbLoginDepart",
|
|
9128
9217
|
props: {
|
|
9129
9218
|
part: {}
|
|
9130
9219
|
},
|
|
9131
9220
|
setup(__props) {
|
|
9132
9221
|
return (_ctx, _cache) => {
|
|
9133
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
9222
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, _cache[0] || (_cache[0] = [
|
|
9134
9223
|
vue.createElementVNode("div", {
|
|
9135
9224
|
class: "pb-widget",
|
|
9136
9225
|
style: { "margin": "0 auto" }
|
|
@@ -9143,8 +9232,8 @@ ${_html.style}
|
|
|
9143
9232
|
};
|
|
9144
9233
|
}
|
|
9145
9234
|
});
|
|
9146
|
-
const _hoisted_1$
|
|
9147
|
-
const _sfc_main$
|
|
9235
|
+
const _hoisted_1$D = ["data-part-id"];
|
|
9236
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
9148
9237
|
__name: "PbSection",
|
|
9149
9238
|
props: {
|
|
9150
9239
|
part: {},
|
|
@@ -9255,13 +9344,13 @@ ${_html.style}
|
|
|
9255
9344
|
style: (_a = _ctx.part.properties) == null ? void 0 : _a.css
|
|
9256
9345
|
}, properties.value), [
|
|
9257
9346
|
((_b = _ctx.part.properties) == null ? void 0 : _b.sectionType) === "static" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
9258
|
-
((_c = _ctx.part.properties) == null ? void 0 : _c.name) === "Login Design Part" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
9347
|
+
((_c = _ctx.part.properties) == null ? void 0 : _c.name) === "Login Design Part" ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
|
|
9259
9348
|
key: 0,
|
|
9260
9349
|
part: _ctx.part
|
|
9261
9350
|
}, null, 8, ["part"])) : vue.createCommentVNode("", true)
|
|
9262
9351
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
9263
9352
|
_ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (block) => {
|
|
9264
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
9353
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$C, {
|
|
9265
9354
|
key: block.partId,
|
|
9266
9355
|
"is-mobile-page": _ctx.isMobilePage,
|
|
9267
9356
|
part: block
|
|
@@ -9271,21 +9360,21 @@ ${_html.style}
|
|
|
9271
9360
|
onAddWidget: addWidget
|
|
9272
9361
|
}))
|
|
9273
9362
|
], 64))
|
|
9274
|
-
], 16, _hoisted_1$
|
|
9363
|
+
], 16, _hoisted_1$D)), [
|
|
9275
9364
|
[vue.unref(vPartHandler), { pageBuilder: vue.unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
|
|
9276
9365
|
])
|
|
9277
9366
|
], 64);
|
|
9278
9367
|
};
|
|
9279
9368
|
}
|
|
9280
9369
|
});
|
|
9281
|
-
const _hoisted_1$
|
|
9370
|
+
const _hoisted_1$C = { class: "group-editor group-editor-position" };
|
|
9282
9371
|
const _hoisted_2$s = { class: "flex-align-center" };
|
|
9283
9372
|
const _hoisted_3$n = { class: "flex-grow-1" };
|
|
9284
9373
|
const _hoisted_4$d = { class: "bg-gray-100 py-5 rounded-8" };
|
|
9285
9374
|
const _hoisted_5$7 = { class: "text-center" };
|
|
9286
9375
|
const _hoisted_6$7 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
|
|
9287
9376
|
const _hoisted_7$7 = { class: "text-center" };
|
|
9288
|
-
const _sfc_main$
|
|
9377
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
9289
9378
|
__name: "PbPropertyGroupEditorPosition",
|
|
9290
9379
|
props: {
|
|
9291
9380
|
group: {},
|
|
@@ -9309,7 +9398,7 @@ ${_html.style}
|
|
|
9309
9398
|
const updateTop = (value) => updatePropertyValue({ top: value });
|
|
9310
9399
|
const updateBottom = (value) => updatePropertyValue({ bottom: value });
|
|
9311
9400
|
return (_ctx, _cache) => {
|
|
9312
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
9401
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
|
|
9313
9402
|
vue.createElementVNode("div", _hoisted_2$s, [
|
|
9314
9403
|
_cache[1] || (_cache[1] = vue.createElementVNode("div", { class: "title" }, [
|
|
9315
9404
|
vue.createElementVNode("label", { textContent: "Position" })
|
|
@@ -9363,14 +9452,14 @@ ${_html.style}
|
|
|
9363
9452
|
};
|
|
9364
9453
|
}
|
|
9365
9454
|
});
|
|
9366
|
-
const _hoisted_1$
|
|
9455
|
+
const _hoisted_1$B = { class: "group-editor group-editor-size" };
|
|
9367
9456
|
const _hoisted_2$r = { class: "flex-align-center" };
|
|
9368
9457
|
const _hoisted_3$m = { class: "flex-grow-1 bs-layout-horizontal" };
|
|
9369
9458
|
const _hoisted_4$c = { class: "flex-align-center mt-12" };
|
|
9370
9459
|
const _hoisted_5$6 = { class: "flex-grow-1 bs-layout-horizontal" };
|
|
9371
9460
|
const _hoisted_6$6 = { class: "flex-align-center mt-12" };
|
|
9372
9461
|
const _hoisted_7$6 = { class: "flex-grow-1 bs-layout-horizontal" };
|
|
9373
|
-
const _sfc_main$
|
|
9462
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
9374
9463
|
__name: "PbPropertyGroupEditorSize",
|
|
9375
9464
|
props: {
|
|
9376
9465
|
group: {},
|
|
@@ -9398,7 +9487,7 @@ ${_html.style}
|
|
|
9398
9487
|
const updateMinWidth = (value) => updatePropertyValue({ minWidth: value });
|
|
9399
9488
|
const updateMinHeight = (value) => updatePropertyValue({ minHeight: value });
|
|
9400
9489
|
return (_ctx, _cache) => {
|
|
9401
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
9490
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
|
|
9402
9491
|
vue.createElementVNode("div", _hoisted_2$r, [
|
|
9403
9492
|
_cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "title" }, [
|
|
9404
9493
|
vue.createElementVNode("label", { textContent: "Size" })
|
|
@@ -9616,7 +9705,7 @@ ${_html.style}
|
|
|
9616
9705
|
}
|
|
9617
9706
|
}
|
|
9618
9707
|
};
|
|
9619
|
-
const _hoisted_1$
|
|
9708
|
+
const _hoisted_1$A = { class: "vc-alpha" };
|
|
9620
9709
|
const _hoisted_2$q = { class: "vc-alpha-checkboard-wrap" };
|
|
9621
9710
|
const _hoisted_3$l = /* @__PURE__ */ vue.createElementVNode(
|
|
9622
9711
|
"div",
|
|
@@ -9630,7 +9719,7 @@ ${_html.style}
|
|
|
9630
9719
|
];
|
|
9631
9720
|
function render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
9632
9721
|
const _component_Checkboard = vue.resolveComponent("Checkboard");
|
|
9633
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
9722
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
|
|
9634
9723
|
vue.createElementVNode("div", _hoisted_2$q, [
|
|
9635
9724
|
vue.createVNode(_component_Checkboard)
|
|
9636
9725
|
]),
|
|
@@ -10734,12 +10823,12 @@ ${_html.style}
|
|
|
10734
10823
|
// }
|
|
10735
10824
|
}
|
|
10736
10825
|
};
|
|
10737
|
-
const _hoisted_1$
|
|
10826
|
+
const _hoisted_1$z = { class: "vc-editable-input" };
|
|
10738
10827
|
const _hoisted_2$p = ["aria-labelledby"];
|
|
10739
10828
|
const _hoisted_3$k = ["id", "for"];
|
|
10740
10829
|
const _hoisted_4$a = { class: "vc-input__desc" };
|
|
10741
10830
|
function render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
10742
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
10831
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
|
|
10743
10832
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
10744
10833
|
ref: "input",
|
|
10745
10834
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $options.val = $event),
|
|
@@ -10834,7 +10923,7 @@ ${_html.style}
|
|
|
10834
10923
|
}
|
|
10835
10924
|
}
|
|
10836
10925
|
};
|
|
10837
|
-
const _hoisted_1$
|
|
10926
|
+
const _hoisted_1$y = /* @__PURE__ */ vue.createElementVNode(
|
|
10838
10927
|
"div",
|
|
10839
10928
|
{ class: "vc-saturation--white" },
|
|
10840
10929
|
null,
|
|
@@ -10870,7 +10959,7 @@ ${_html.style}
|
|
|
10870
10959
|
onTouchstart: _cache[2] || (_cache[2] = (...args) => $options.handleChange && $options.handleChange(...args))
|
|
10871
10960
|
},
|
|
10872
10961
|
[
|
|
10873
|
-
_hoisted_1$
|
|
10962
|
+
_hoisted_1$y,
|
|
10874
10963
|
_hoisted_2$o,
|
|
10875
10964
|
vue.createElementVNode(
|
|
10876
10965
|
"div",
|
|
@@ -11019,7 +11108,7 @@ ${_html.style}
|
|
|
11019
11108
|
}
|
|
11020
11109
|
}
|
|
11021
11110
|
};
|
|
11022
|
-
const _hoisted_1$
|
|
11111
|
+
const _hoisted_1$x = ["aria-valuenow"];
|
|
11023
11112
|
const _hoisted_2$n = /* @__PURE__ */ vue.createElementVNode(
|
|
11024
11113
|
"div",
|
|
11025
11114
|
{ class: "vc-hue-picker" },
|
|
@@ -11059,7 +11148,7 @@ ${_html.style}
|
|
|
11059
11148
|
4
|
|
11060
11149
|
/* STYLE */
|
|
11061
11150
|
)
|
|
11062
|
-
], 40, _hoisted_1$
|
|
11151
|
+
], 40, _hoisted_1$x)
|
|
11063
11152
|
],
|
|
11064
11153
|
2
|
|
11065
11154
|
/* CLASS */
|
|
@@ -11155,7 +11244,7 @@ ${_html.style}
|
|
|
11155
11244
|
}
|
|
11156
11245
|
}
|
|
11157
11246
|
};
|
|
11158
|
-
const _hoisted_1$
|
|
11247
|
+
const _hoisted_1$w = { class: "vc-sketch-saturation-wrap" };
|
|
11159
11248
|
const _hoisted_2$m = { class: "vc-sketch-controls" };
|
|
11160
11249
|
const _hoisted_3$h = { class: "vc-sketch-sliders" };
|
|
11161
11250
|
const _hoisted_4$8 = { class: "vc-sketch-hue-wrap" };
|
|
@@ -11198,7 +11287,7 @@ ${_html.style}
|
|
|
11198
11287
|
class: vue.normalizeClass(["vc-sketch", [$props.disableAlpha ? "vc-sketch__disable-alpha" : ""]])
|
|
11199
11288
|
},
|
|
11200
11289
|
[
|
|
11201
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
11290
|
+
vue.createElementVNode("div", _hoisted_1$w, [
|
|
11202
11291
|
vue.createVNode(_component_Saturation, {
|
|
11203
11292
|
value: _ctx.colors,
|
|
11204
11293
|
onChange: $options.childChange
|
|
@@ -11310,7 +11399,7 @@ ${_html.style}
|
|
|
11310
11399
|
script.render = render;
|
|
11311
11400
|
script.__file = "src/components/sketch/sketch.vue";
|
|
11312
11401
|
script.install = install;
|
|
11313
|
-
const _sfc_main$
|
|
11402
|
+
const _sfc_main$x = vue.defineComponent({
|
|
11314
11403
|
name: "PbColorPicker",
|
|
11315
11404
|
components: {
|
|
11316
11405
|
Sketch: script
|
|
@@ -11370,7 +11459,7 @@ ${_html.style}
|
|
|
11370
11459
|
};
|
|
11371
11460
|
}
|
|
11372
11461
|
});
|
|
11373
|
-
const _hoisted_1$
|
|
11462
|
+
const _hoisted_1$v = { class: "buttons" };
|
|
11374
11463
|
const _hoisted_2$l = { class: "sketch-wrap" };
|
|
11375
11464
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
11376
11465
|
const _component_Sketch = vue.resolveComponent("Sketch");
|
|
@@ -11380,7 +11469,7 @@ ${_html.style}
|
|
|
11380
11469
|
onKeydown: _cache[3] || (_cache[3] = vue.withModifiers(() => {
|
|
11381
11470
|
}, ["stop"]))
|
|
11382
11471
|
}, [
|
|
11383
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
11472
|
+
vue.createElementVNode("div", _hoisted_1$v, [
|
|
11384
11473
|
vue.renderSlot(_ctx.$slots, "button", vue.normalizeProps(vue.guardReactiveProps({ toggle: _ctx.toggle, color: _ctx.color })), () => [
|
|
11385
11474
|
vue.createElementVNode("button", {
|
|
11386
11475
|
class: vue.normalizeClass([{ none: !_ctx.color }, "picker-button"]),
|
|
@@ -11407,12 +11496,12 @@ ${_html.style}
|
|
|
11407
11496
|
[_directive_click_outside, () => _ctx.toggle(false)]
|
|
11408
11497
|
]);
|
|
11409
11498
|
}
|
|
11410
|
-
const PbColorPicker = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
11411
|
-
const _hoisted_1$
|
|
11499
|
+
const PbColorPicker = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["render", _sfc_render]]);
|
|
11500
|
+
const _hoisted_1$u = { class: "group-editor group-editor-background" };
|
|
11412
11501
|
const _hoisted_2$k = { class: "flex-align-center" };
|
|
11413
11502
|
const _hoisted_3$g = { class: "bs-layout-horizontal" };
|
|
11414
11503
|
const _hoisted_4$7 = { class: "color" };
|
|
11415
|
-
const _sfc_main$
|
|
11504
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
11416
11505
|
__name: "PbPropertyGroupEditorBackground",
|
|
11417
11506
|
props: {
|
|
11418
11507
|
group: {},
|
|
@@ -11445,7 +11534,7 @@ ${_html.style}
|
|
|
11445
11534
|
}
|
|
11446
11535
|
};
|
|
11447
11536
|
return (_ctx, _cache) => {
|
|
11448
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
11537
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
|
|
11449
11538
|
vue.createElementVNode("div", _hoisted_2$k, [
|
|
11450
11539
|
_cache[3] || (_cache[3] = vue.createElementVNode("div", { class: "title" }, [
|
|
11451
11540
|
vue.createElementVNode("label", { textContent: "Background" })
|
|
@@ -11480,7 +11569,7 @@ ${_html.style}
|
|
|
11480
11569
|
const TopRightCornerIcon = "data:image/svg+xml,%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Transformed%20by:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23000000'%3e%3cg%20id='SVGRepo_bgCarrier'%20stroke-width='0'/%3e%3cg%20id='SVGRepo_tracerCarrier'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cg%20id='SVGRepo_iconCarrier'%3e%3cg%3e%3cpath%20fill='none'%20d='M0%200H24V24H0z'/%3e%3cpath%20d='M21%2019v2h-2v-2h2zm-4%200v2h-2v-2h2zm-4%200v2h-2v-2h2zm-4%200v2H7v-2h2zm-4%200v2H3v-2h2zm16-4v2h-2v-2h2zM5%2015v2H3v-2h2zm0-4v2H3v-2h2zm11-8c2.687%200%204.882%202.124%204.995%204.783L21%208v5h-2V8c0-1.591-1.255-2.903-2.824-2.995L16%205h-5V3h5zM5%207v2H3V7h2zm0-4v2H3V3h2zm4%200v2H7V3h2z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
|
|
11481
11570
|
const BottomLeftCornerIcon = "data:image/svg+xml,%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Transformed%20by:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23000000'%20transform='rotate(180)'%3e%3cg%20id='SVGRepo_bgCarrier'%20stroke-width='0'/%3e%3cg%20id='SVGRepo_tracerCarrier'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cg%20id='SVGRepo_iconCarrier'%3e%3cg%3e%3cpath%20fill='none'%20d='M0%200H24V24H0z'/%3e%3cpath%20d='M21%2019v2h-2v-2h2zm-4%200v2h-2v-2h2zm-4%200v2h-2v-2h2zm-4%200v2H7v-2h2zm-4%200v2H3v-2h2zm16-4v2h-2v-2h2zM5%2015v2H3v-2h2zm0-4v2H3v-2h2zm11-8c2.687%200%204.882%202.124%204.995%204.783L21%208v5h-2V8c0-1.591-1.255-2.903-2.824-2.995L16%205h-5V3h5zM5%207v2H3V7h2zm0-4v2H3V3h2zm4%200v2H7V3h2z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
|
|
11482
11571
|
const BottomRightCornerIcon = "data:image/svg+xml,%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Transformed%20by:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23000000'%20transform='rotate(90)'%3e%3cg%20id='SVGRepo_bgCarrier'%20stroke-width='0'/%3e%3cg%20id='SVGRepo_tracerCarrier'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cg%20id='SVGRepo_iconCarrier'%3e%3cg%3e%3cpath%20fill='none'%20d='M0%200H24V24H0z'/%3e%3cpath%20d='M21%2019v2h-2v-2h2zm-4%200v2h-2v-2h2zm-4%200v2h-2v-2h2zm-4%200v2H7v-2h2zm-4%200v2H3v-2h2zm16-4v2h-2v-2h2zM5%2015v2H3v-2h2zm0-4v2H3v-2h2zm11-8c2.687%200%204.882%202.124%204.995%204.783L21%208v5h-2V8c0-1.591-1.255-2.903-2.824-2.995L16%205h-5V3h5zM5%207v2H3V7h2zm0-4v2H3V3h2zm4%200v2H7V3h2z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
|
|
11483
|
-
const _hoisted_1$
|
|
11572
|
+
const _hoisted_1$t = { class: "group-editor group-editor-border" };
|
|
11484
11573
|
const _hoisted_2$j = { class: "flex-align-center" };
|
|
11485
11574
|
const _hoisted_3$f = { class: "" };
|
|
11486
11575
|
const _hoisted_4$6 = { class: "color" };
|
|
@@ -11495,7 +11584,7 @@ ${_html.style}
|
|
|
11495
11584
|
const _hoisted_13 = { class: "bg-gray-100 py-5 rounded-8" };
|
|
11496
11585
|
const _hoisted_14 = { class: "" };
|
|
11497
11586
|
const _hoisted_15 = { class: "mt-2" };
|
|
11498
|
-
const _sfc_main$
|
|
11587
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
11499
11588
|
__name: "PbPropertyGroupEditorBorder",
|
|
11500
11589
|
props: {
|
|
11501
11590
|
group: {},
|
|
@@ -11533,7 +11622,7 @@ ${_html.style}
|
|
|
11533
11622
|
const updateBorderBottomLeftRadius = (value) => updatePropertyValue({ borderBottomLeftRadius: value });
|
|
11534
11623
|
const updateBorderBottomRightRadius = (value) => updatePropertyValue({ borderBottomRightRadius: value });
|
|
11535
11624
|
return (_ctx, _cache) => {
|
|
11536
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
11625
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
|
|
11537
11626
|
vue.createElementVNode("div", _hoisted_2$j, [
|
|
11538
11627
|
_cache[7] || (_cache[7] = vue.createElementVNode("div", { class: "title" }, [
|
|
11539
11628
|
vue.createElementVNode("label", { textContent: "Border" })
|
|
@@ -11655,14 +11744,14 @@ ${_html.style}
|
|
|
11655
11744
|
};
|
|
11656
11745
|
}
|
|
11657
11746
|
});
|
|
11658
|
-
const _hoisted_1$
|
|
11747
|
+
const _hoisted_1$s = { class: "group-editor group-editor-margin" };
|
|
11659
11748
|
const _hoisted_2$i = { class: "flex-align-center" };
|
|
11660
11749
|
const _hoisted_3$e = { class: "flex-grow-1" };
|
|
11661
11750
|
const _hoisted_4$5 = { class: "bg-gray-100 py-5 rounded-8" };
|
|
11662
11751
|
const _hoisted_5$3 = { class: "text-center" };
|
|
11663
11752
|
const _hoisted_6$3 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
|
|
11664
11753
|
const _hoisted_7$3 = { class: "text-center" };
|
|
11665
|
-
const _sfc_main$
|
|
11754
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
11666
11755
|
__name: "PbPropertyGroupEditorMargin",
|
|
11667
11756
|
props: {
|
|
11668
11757
|
group: {},
|
|
@@ -11686,7 +11775,7 @@ ${_html.style}
|
|
|
11686
11775
|
const updateTop = (value) => updatePropertyValue({ marginTop: value });
|
|
11687
11776
|
const updateBottom = (value) => updatePropertyValue({ marginBottom: value });
|
|
11688
11777
|
return (_ctx, _cache) => {
|
|
11689
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
11778
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
|
|
11690
11779
|
vue.createElementVNode("div", _hoisted_2$i, [
|
|
11691
11780
|
_cache[1] || (_cache[1] = vue.createElementVNode("div", { class: "title" }, [
|
|
11692
11781
|
vue.createElementVNode("label", { textContent: "Margin" })
|
|
@@ -11740,14 +11829,14 @@ ${_html.style}
|
|
|
11740
11829
|
};
|
|
11741
11830
|
}
|
|
11742
11831
|
});
|
|
11743
|
-
const _hoisted_1$
|
|
11832
|
+
const _hoisted_1$r = { class: "group-editor group-editor-padding" };
|
|
11744
11833
|
const _hoisted_2$h = { class: "flex-align-center" };
|
|
11745
11834
|
const _hoisted_3$d = { class: "flex-grow-1" };
|
|
11746
11835
|
const _hoisted_4$4 = { class: "bg-gray-100 py-5 rounded-8" };
|
|
11747
11836
|
const _hoisted_5$2 = { class: "text-center" };
|
|
11748
11837
|
const _hoisted_6$2 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
|
|
11749
11838
|
const _hoisted_7$2 = { class: "text-center" };
|
|
11750
|
-
const _sfc_main$
|
|
11839
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
11751
11840
|
__name: "PbPropertyGroupEditorPadding",
|
|
11752
11841
|
props: {
|
|
11753
11842
|
group: {},
|
|
@@ -11771,7 +11860,7 @@ ${_html.style}
|
|
|
11771
11860
|
const updateTop = (value) => updatePropertyValue({ paddingTop: value });
|
|
11772
11861
|
const updateBottom = (value) => updatePropertyValue({ paddingBottom: value });
|
|
11773
11862
|
return (_ctx, _cache) => {
|
|
11774
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
11863
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
|
|
11775
11864
|
vue.createElementVNode("div", _hoisted_2$h, [
|
|
11776
11865
|
_cache[1] || (_cache[1] = vue.createElementVNode("div", { class: "title" }, [
|
|
11777
11866
|
vue.createElementVNode("label", { textContent: "Padding" })
|
|
@@ -11851,7 +11940,7 @@ ${_html.style}
|
|
|
11851
11940
|
propertyType: "text"
|
|
11852
11941
|
}
|
|
11853
11942
|
],
|
|
11854
|
-
propertyGroupEditor: () => _sfc_main$
|
|
11943
|
+
propertyGroupEditor: () => _sfc_main$z
|
|
11855
11944
|
};
|
|
11856
11945
|
};
|
|
11857
11946
|
const sizeGroup = () => {
|
|
@@ -11890,7 +11979,7 @@ ${_html.style}
|
|
|
11890
11979
|
propertyType: "text"
|
|
11891
11980
|
}
|
|
11892
11981
|
],
|
|
11893
|
-
propertyGroupEditor: () => _sfc_main$
|
|
11982
|
+
propertyGroupEditor: () => _sfc_main$y
|
|
11894
11983
|
};
|
|
11895
11984
|
};
|
|
11896
11985
|
const marginGroup = () => {
|
|
@@ -11919,7 +12008,7 @@ ${_html.style}
|
|
|
11919
12008
|
propertyType: "text"
|
|
11920
12009
|
}
|
|
11921
12010
|
],
|
|
11922
|
-
propertyGroupEditor: () => _sfc_main$
|
|
12011
|
+
propertyGroupEditor: () => _sfc_main$u
|
|
11923
12012
|
};
|
|
11924
12013
|
};
|
|
11925
12014
|
const paddingGroup = () => {
|
|
@@ -11948,7 +12037,7 @@ ${_html.style}
|
|
|
11948
12037
|
propertyType: "text"
|
|
11949
12038
|
}
|
|
11950
12039
|
],
|
|
11951
|
-
propertyGroupEditor: () => _sfc_main$
|
|
12040
|
+
propertyGroupEditor: () => _sfc_main$t
|
|
11952
12041
|
};
|
|
11953
12042
|
};
|
|
11954
12043
|
const commonGroup = () => {
|
|
@@ -12084,7 +12173,7 @@ ${_html.style}
|
|
|
12084
12173
|
propertyType: "image"
|
|
12085
12174
|
}
|
|
12086
12175
|
],
|
|
12087
|
-
propertyGroupEditor: () => _sfc_main$
|
|
12176
|
+
propertyGroupEditor: () => _sfc_main$w
|
|
12088
12177
|
};
|
|
12089
12178
|
};
|
|
12090
12179
|
const borderGroup = () => {
|
|
@@ -12138,7 +12227,7 @@ ${_html.style}
|
|
|
12138
12227
|
propertyType: "text"
|
|
12139
12228
|
}
|
|
12140
12229
|
],
|
|
12141
|
-
propertyGroupEditor: () => _sfc_main$
|
|
12230
|
+
propertyGroupEditor: () => _sfc_main$v
|
|
12142
12231
|
};
|
|
12143
12232
|
};
|
|
12144
12233
|
const defaultPropertyGroups = () => {
|
|
@@ -12147,7 +12236,7 @@ ${_html.style}
|
|
|
12147
12236
|
const defaultWidgetPropertyGroups = () => {
|
|
12148
12237
|
return [alignSelfGroup(), positionGroup(), sizeGroup(), marginGroup(), paddingGroup(), borderGroup(), backgroundGroup(), commonGroup()];
|
|
12149
12238
|
};
|
|
12150
|
-
const _sfc_main$
|
|
12239
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
12151
12240
|
__name: "PbContainerWidget",
|
|
12152
12241
|
props: {
|
|
12153
12242
|
part: {},
|
|
@@ -12162,7 +12251,7 @@ ${_html.style}
|
|
|
12162
12251
|
var _a;
|
|
12163
12252
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
12164
12253
|
_ctx.part.children ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
|
|
12165
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
12254
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$D, {
|
|
12166
12255
|
key: child.partId,
|
|
12167
12256
|
"is-mobile-page": false,
|
|
12168
12257
|
part: child
|
|
@@ -12176,6 +12265,111 @@ ${_html.style}
|
|
|
12176
12265
|
};
|
|
12177
12266
|
}
|
|
12178
12267
|
});
|
|
12268
|
+
const _hoisted_1$q = { class: "group-editor group-editor-media" };
|
|
12269
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
12270
|
+
__name: "PbPropertyGroupEditorMedia",
|
|
12271
|
+
props: {
|
|
12272
|
+
property: {},
|
|
12273
|
+
value: {}
|
|
12274
|
+
},
|
|
12275
|
+
setup(__props) {
|
|
12276
|
+
const pageBuilder = usePageBuilderEditor();
|
|
12277
|
+
const part = pageBuilder.context.getSelectedParts();
|
|
12278
|
+
const modal = bluesea.useModal();
|
|
12279
|
+
const selectMedia = () => {
|
|
12280
|
+
const imageProvider = pageBuilder.getProvider("imageProvider");
|
|
12281
|
+
if (imageProvider) {
|
|
12282
|
+
imageProvider({ modal }, (media2) => {
|
|
12283
|
+
if (media2.mediaType === "Image") {
|
|
12284
|
+
updateProperty({ media: media2, altText: media2.altText, thumbnail: "" });
|
|
12285
|
+
} else if (media2.mediaType === "Video") {
|
|
12286
|
+
updateProperty({ media: media2, altText: media2.altText, link: "", linkTarget: "" });
|
|
12287
|
+
}
|
|
12288
|
+
});
|
|
12289
|
+
}
|
|
12290
|
+
};
|
|
12291
|
+
const updateProperty = (properties) => {
|
|
12292
|
+
pageBuilder.commandRegistry.executeCommand(ChangePropertyCommand.COMMAND_ID, { properties, targetParts: part });
|
|
12293
|
+
};
|
|
12294
|
+
const locales = vue.computed(() => pageBuilder.getLocales());
|
|
12295
|
+
const media = vue.computed(() => {
|
|
12296
|
+
var _a, _b;
|
|
12297
|
+
return (_b = (_a = part == null ? void 0 : part[0]) == null ? void 0 : _a.properties) == null ? void 0 : _b.media;
|
|
12298
|
+
});
|
|
12299
|
+
const altText = vue.computed(() => {
|
|
12300
|
+
var _a, _b;
|
|
12301
|
+
return (_b = (_a = part == null ? void 0 : part[0]) == null ? void 0 : _a.properties) == null ? void 0 : _b.altText;
|
|
12302
|
+
});
|
|
12303
|
+
const link = vue.computed(() => {
|
|
12304
|
+
var _a, _b;
|
|
12305
|
+
return (_b = (_a = part == null ? void 0 : part[0]) == null ? void 0 : _a.properties) == null ? void 0 : _b.link;
|
|
12306
|
+
});
|
|
12307
|
+
const linkTarget = vue.computed(() => {
|
|
12308
|
+
var _a, _b;
|
|
12309
|
+
return (_b = (_a = part == null ? void 0 : part[0]) == null ? void 0 : _a.properties) == null ? void 0 : _b.linkTarget;
|
|
12310
|
+
});
|
|
12311
|
+
const thumbnail = vue.computed(() => {
|
|
12312
|
+
var _a, _b;
|
|
12313
|
+
return (_b = (_a = part == null ? void 0 : part[0]) == null ? void 0 : _a.properties) == null ? void 0 : _b.thumbnail;
|
|
12314
|
+
});
|
|
12315
|
+
return (_ctx, _cache) => {
|
|
12316
|
+
var _a, _b;
|
|
12317
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
|
|
12318
|
+
_cache[8] || (_cache[8] = vue.createElementVNode("div", { class: "title" }, [
|
|
12319
|
+
vue.createElementVNode("label", { textContent: "Media" })
|
|
12320
|
+
], -1)),
|
|
12321
|
+
vue.createElementVNode("div", null, [
|
|
12322
|
+
vue.createElementVNode("button", { onClick: selectMedia }, "Select Media")
|
|
12323
|
+
]),
|
|
12324
|
+
((_a = media.value) == null ? void 0 : _a.mediaType) === "Image" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
12325
|
+
_cache[4] || (_cache[4] = vue.createElementVNode("div", { class: "title mt-12" }, [
|
|
12326
|
+
vue.createElementVNode("label", { textContent: "Alt Text" })
|
|
12327
|
+
], -1)),
|
|
12328
|
+
vue.createElementVNode("div", null, [
|
|
12329
|
+
vue.createVNode(vue.unref(bluesea.BSMultiLangTextInput), {
|
|
12330
|
+
locales: locales.value,
|
|
12331
|
+
"model-value": altText.value,
|
|
12332
|
+
width: "100%",
|
|
12333
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = (value) => updateProperty({ altText: value }))
|
|
12334
|
+
}, null, 8, ["locales", "model-value"])
|
|
12335
|
+
]),
|
|
12336
|
+
_cache[5] || (_cache[5] = vue.createElementVNode("div", { class: "title mt-12" }, [
|
|
12337
|
+
vue.createElementVNode("label", { textContent: "Link" })
|
|
12338
|
+
], -1)),
|
|
12339
|
+
vue.createElementVNode("div", null, [
|
|
12340
|
+
vue.createVNode(vue.unref(bluesea.BSTextInput), {
|
|
12341
|
+
"model-value": link.value,
|
|
12342
|
+
width: "100%",
|
|
12343
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = (value) => updateProperty({ link: value }))
|
|
12344
|
+
}, null, 8, ["model-value"])
|
|
12345
|
+
]),
|
|
12346
|
+
_cache[6] || (_cache[6] = vue.createElementVNode("div", { class: "title mt-12" }, [
|
|
12347
|
+
vue.createElementVNode("label", { textContent: "Link Target" })
|
|
12348
|
+
], -1)),
|
|
12349
|
+
vue.createElementVNode("div", null, [
|
|
12350
|
+
vue.createVNode(vue.unref(bluesea.BSTextInput), {
|
|
12351
|
+
"model-value": linkTarget.value,
|
|
12352
|
+
width: "100%",
|
|
12353
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = (value) => updateProperty({ linkTarget: value }))
|
|
12354
|
+
}, null, 8, ["model-value"])
|
|
12355
|
+
])
|
|
12356
|
+
], 64)) : vue.createCommentVNode("", true),
|
|
12357
|
+
((_b = media.value) == null ? void 0 : _b.mediaType) === "Video" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
12358
|
+
_cache[7] || (_cache[7] = vue.createElementVNode("div", { class: "title mt-12" }, [
|
|
12359
|
+
vue.createElementVNode("label", { textContent: "Thumbnail" })
|
|
12360
|
+
], -1)),
|
|
12361
|
+
vue.createElementVNode("div", null, [
|
|
12362
|
+
vue.createVNode(vue.unref(bluesea.BSTextInput), {
|
|
12363
|
+
"model-value": thumbnail.value,
|
|
12364
|
+
width: "100%",
|
|
12365
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = (value) => updateProperty({ thumbnail: value }))
|
|
12366
|
+
}, null, 8, ["model-value"])
|
|
12367
|
+
])
|
|
12368
|
+
], 64)) : vue.createCommentVNode("", true)
|
|
12369
|
+
]);
|
|
12370
|
+
};
|
|
12371
|
+
}
|
|
12372
|
+
});
|
|
12179
12373
|
const pageParts = [
|
|
12180
12374
|
{
|
|
12181
12375
|
partType: "Page",
|
|
@@ -12185,7 +12379,7 @@ ${_html.style}
|
|
|
12185
12379
|
className: "pb-page",
|
|
12186
12380
|
propertyGroups: [
|
|
12187
12381
|
{
|
|
12188
|
-
groupName: "
|
|
12382
|
+
groupName: "Size",
|
|
12189
12383
|
caption: "Size",
|
|
12190
12384
|
properties: [
|
|
12191
12385
|
{
|
|
@@ -12205,7 +12399,7 @@ ${_html.style}
|
|
|
12205
12399
|
alignItems: "center"
|
|
12206
12400
|
},
|
|
12207
12401
|
allowsChild: () => true,
|
|
12208
|
-
creator: () => _sfc_main$
|
|
12402
|
+
creator: () => _sfc_main$A
|
|
12209
12403
|
}
|
|
12210
12404
|
];
|
|
12211
12405
|
const sectionParts = [
|
|
@@ -12224,7 +12418,7 @@ ${_html.style}
|
|
|
12224
12418
|
justifyContent: "start"
|
|
12225
12419
|
},
|
|
12226
12420
|
allowsChild: () => true,
|
|
12227
|
-
creator: () => _sfc_main$
|
|
12421
|
+
creator: () => _sfc_main$A
|
|
12228
12422
|
}
|
|
12229
12423
|
];
|
|
12230
12424
|
const blockParts = [
|
|
@@ -12243,7 +12437,7 @@ ${_html.style}
|
|
|
12243
12437
|
justifyContent: "start"
|
|
12244
12438
|
},
|
|
12245
12439
|
allowsChild: () => true,
|
|
12246
|
-
creator: () => _sfc_main$
|
|
12440
|
+
creator: () => _sfc_main$C
|
|
12247
12441
|
}
|
|
12248
12442
|
];
|
|
12249
12443
|
const widgets = [
|
|
@@ -12255,7 +12449,7 @@ ${_html.style}
|
|
|
12255
12449
|
className: "pb-text-widget",
|
|
12256
12450
|
propertyGroups: [
|
|
12257
12451
|
{
|
|
12258
|
-
groupName: "
|
|
12452
|
+
groupName: "Text",
|
|
12259
12453
|
caption: "Text",
|
|
12260
12454
|
properties: [
|
|
12261
12455
|
{
|
|
@@ -12309,11 +12503,11 @@ ${_html.style}
|
|
|
12309
12503
|
partType: "Widget",
|
|
12310
12504
|
partName: "ImageWidget",
|
|
12311
12505
|
caption: "Image",
|
|
12312
|
-
icon: "
|
|
12506
|
+
icon: "image",
|
|
12313
12507
|
className: "pb-image-widget",
|
|
12314
12508
|
propertyGroups: [
|
|
12315
12509
|
{
|
|
12316
|
-
groupName: "
|
|
12510
|
+
groupName: "Image",
|
|
12317
12511
|
caption: "Image",
|
|
12318
12512
|
properties: [
|
|
12319
12513
|
{
|
|
@@ -12347,6 +12541,53 @@ ${_html.style}
|
|
|
12347
12541
|
],
|
|
12348
12542
|
initialProperties: {},
|
|
12349
12543
|
allowsChild: () => false,
|
|
12544
|
+
creator: () => _sfc_main$9$1
|
|
12545
|
+
},
|
|
12546
|
+
{
|
|
12547
|
+
partType: "Widget",
|
|
12548
|
+
partName: "MediaWidget",
|
|
12549
|
+
caption: "Media",
|
|
12550
|
+
icon: "smart_display",
|
|
12551
|
+
className: "pb-media-widget",
|
|
12552
|
+
propertyGroups: [
|
|
12553
|
+
{
|
|
12554
|
+
groupName: "Media",
|
|
12555
|
+
caption: "Media",
|
|
12556
|
+
properties: [
|
|
12557
|
+
{
|
|
12558
|
+
propertyName: "Media",
|
|
12559
|
+
caption: "Media",
|
|
12560
|
+
propertyType: "media"
|
|
12561
|
+
},
|
|
12562
|
+
{
|
|
12563
|
+
propertyName: "altText",
|
|
12564
|
+
caption: "Alt Text",
|
|
12565
|
+
propertyType: "text",
|
|
12566
|
+
multiLang: true
|
|
12567
|
+
},
|
|
12568
|
+
{
|
|
12569
|
+
propertyName: "link",
|
|
12570
|
+
caption: "Link",
|
|
12571
|
+
propertyType: "text"
|
|
12572
|
+
},
|
|
12573
|
+
{
|
|
12574
|
+
propertyName: "linkTarget",
|
|
12575
|
+
caption: "Link Target",
|
|
12576
|
+
propertyType: "text"
|
|
12577
|
+
},
|
|
12578
|
+
{
|
|
12579
|
+
propertyName: "thumbnail",
|
|
12580
|
+
caption: "Thumbnail URL",
|
|
12581
|
+
propertyType: "text",
|
|
12582
|
+
readonly: true
|
|
12583
|
+
}
|
|
12584
|
+
],
|
|
12585
|
+
propertyGroupEditor: () => _sfc_main$r
|
|
12586
|
+
},
|
|
12587
|
+
...defaultWidgetPropertyGroups()
|
|
12588
|
+
],
|
|
12589
|
+
initialProperties: {},
|
|
12590
|
+
allowsChild: () => false,
|
|
12350
12591
|
creator: () => _sfc_main$8$1
|
|
12351
12592
|
},
|
|
12352
12593
|
{
|
|
@@ -12357,7 +12598,7 @@ ${_html.style}
|
|
|
12357
12598
|
className: "pb-html-widget",
|
|
12358
12599
|
propertyGroups: [
|
|
12359
12600
|
{
|
|
12360
|
-
groupName: "
|
|
12601
|
+
groupName: "HTML",
|
|
12361
12602
|
caption: "HTML",
|
|
12362
12603
|
properties: [
|
|
12363
12604
|
{
|
|
@@ -12383,7 +12624,7 @@ ${_html.style}
|
|
|
12383
12624
|
className: "pb-iframe-widget",
|
|
12384
12625
|
propertyGroups: [
|
|
12385
12626
|
{
|
|
12386
|
-
groupName: "
|
|
12627
|
+
groupName: "Iframe",
|
|
12387
12628
|
caption: "Iframe",
|
|
12388
12629
|
properties: [
|
|
12389
12630
|
{
|
|
@@ -12409,7 +12650,7 @@ ${_html.style}
|
|
|
12409
12650
|
className: "pb-youtube-widget",
|
|
12410
12651
|
propertyGroups: [
|
|
12411
12652
|
{
|
|
12412
|
-
groupName: "
|
|
12653
|
+
groupName: "Youtube",
|
|
12413
12654
|
caption: "Youtube",
|
|
12414
12655
|
properties: [
|
|
12415
12656
|
{
|
|
@@ -12442,7 +12683,7 @@ ${_html.style}
|
|
|
12442
12683
|
className: "pb-container-widget",
|
|
12443
12684
|
propertyGroups: [
|
|
12444
12685
|
{
|
|
12445
|
-
groupName: "
|
|
12686
|
+
groupName: "Container",
|
|
12446
12687
|
caption: "Container",
|
|
12447
12688
|
properties: []
|
|
12448
12689
|
},
|
|
@@ -12452,7 +12693,7 @@ ${_html.style}
|
|
|
12452
12693
|
height: "300px"
|
|
12453
12694
|
},
|
|
12454
12695
|
allowsChild: () => true,
|
|
12455
|
-
creator: () => _sfc_main$
|
|
12696
|
+
creator: () => _sfc_main$s
|
|
12456
12697
|
}
|
|
12457
12698
|
];
|
|
12458
12699
|
const partDefinitions = {};
|
|
@@ -12572,40 +12813,6 @@ ${_html.style}
|
|
|
12572
12813
|
}
|
|
12573
12814
|
});
|
|
12574
12815
|
};
|
|
12575
|
-
const findInsertTargetAndIndex = (pageBuilder, partType) => {
|
|
12576
|
-
var _a, _b, _c;
|
|
12577
|
-
const selected = pageBuilder.context.getSelectedParts()[0];
|
|
12578
|
-
const page = pageBuilder.context.getSelectedPage();
|
|
12579
|
-
if (!page) return {};
|
|
12580
|
-
if (partType === SECTION_TYPE) {
|
|
12581
|
-
const section = pageBuilder.partManager.findNearestSection(selected);
|
|
12582
|
-
return {
|
|
12583
|
-
target: page,
|
|
12584
|
-
index: section ? page.children.indexOf(section) + 1 : (_a = page.children) == null ? void 0 : _a.length
|
|
12585
|
-
};
|
|
12586
|
-
} else if (partType === BLOCK_TYPE) {
|
|
12587
|
-
let section = pageBuilder.partManager.findNearestSection(selected);
|
|
12588
|
-
let block = pageBuilder.partManager.findNearestBlock(selected);
|
|
12589
|
-
if (!section) {
|
|
12590
|
-
section = page.children[page.children.length - 1];
|
|
12591
|
-
}
|
|
12592
|
-
return {
|
|
12593
|
-
target: section,
|
|
12594
|
-
index: block ? section.children.indexOf(block) + 1 : (_b = section.children) == null ? void 0 : _b.length
|
|
12595
|
-
};
|
|
12596
|
-
} else {
|
|
12597
|
-
let block = pageBuilder.partManager.findNearestBlock(selected);
|
|
12598
|
-
let widget = selected.parent.isWidget() ? selected.parent : selected;
|
|
12599
|
-
if (!block) {
|
|
12600
|
-
const section = page.children[page.children.length - 1];
|
|
12601
|
-
block = section.children[section.children.length - 1];
|
|
12602
|
-
}
|
|
12603
|
-
return {
|
|
12604
|
-
target: block,
|
|
12605
|
-
index: widget ? block.children.indexOf(widget) + 1 : (_c = block.children) == null ? void 0 : _c.length
|
|
12606
|
-
};
|
|
12607
|
-
}
|
|
12608
|
-
};
|
|
12609
12816
|
const createPartWithDefinition = (def, properties) => {
|
|
12610
12817
|
const part = createPart(def.partType, def.partName, def.initialProperties);
|
|
12611
12818
|
if (part && properties) {
|
|
@@ -13134,7 +13341,7 @@ ${_html.style}
|
|
|
13134
13341
|
__publicField(this, "commandId", _PastePartCommand.COMMAND_ID);
|
|
13135
13342
|
}
|
|
13136
13343
|
async execute(pageBuilder) {
|
|
13137
|
-
var _a;
|
|
13344
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
13138
13345
|
const json = await navigator.clipboard.readText();
|
|
13139
13346
|
const object = JSON.parse(json);
|
|
13140
13347
|
if (object.partType === ROOT_TYPE) {
|
|
@@ -13202,7 +13409,7 @@ ${_html.style}
|
|
|
13202
13409
|
else if (part.partType === WIDGET_TYPE && !pasteType) pasteType = WIDGET_TYPE;
|
|
13203
13410
|
});
|
|
13204
13411
|
if (!pasteType) return;
|
|
13205
|
-
const
|
|
13412
|
+
const partsToPaste = parts.map((part) => {
|
|
13206
13413
|
if (pasteType === SECTION_TYPE) {
|
|
13207
13414
|
if (part.partType === SECTION_TYPE) {
|
|
13208
13415
|
return part;
|
|
@@ -13233,11 +13440,76 @@ ${_html.style}
|
|
|
13233
13440
|
return part;
|
|
13234
13441
|
}
|
|
13235
13442
|
}).filter(bluesea.notNull);
|
|
13236
|
-
const
|
|
13237
|
-
const
|
|
13238
|
-
if (
|
|
13239
|
-
|
|
13443
|
+
const selectedPage = pageBuilder.context.getSelectedPage();
|
|
13444
|
+
const selected = pageBuilder.context.getSelectedParts()[0] || selectedPage;
|
|
13445
|
+
if (!selectedPage || !selected) return;
|
|
13446
|
+
let selectedWidget;
|
|
13447
|
+
if (selected && selected.isWidget()) selectedWidget = selected;
|
|
13448
|
+
if (selectedWidget && selectedWidget.isNestedWidget()) selectedWidget = selectedWidget.parent;
|
|
13449
|
+
let selectedBlock;
|
|
13450
|
+
if (selectedWidget) selectedBlock = selectedWidget.parent;
|
|
13451
|
+
else if (selected && selected.isBlock()) selectedBlock = selected;
|
|
13452
|
+
let selectedSection;
|
|
13453
|
+
if (selectedBlock) selectedSection = selectedBlock.parent;
|
|
13454
|
+
else if (selected && selected.isSection()) selectedSection = selected;
|
|
13455
|
+
let targetPartId;
|
|
13456
|
+
let targetIndex = -1;
|
|
13457
|
+
let partsToInsert;
|
|
13458
|
+
if (pasteType === SECTION_TYPE) {
|
|
13459
|
+
targetPartId = selectedPage.partId;
|
|
13460
|
+
targetIndex = selectedSection ? selectedPage.children.indexOf(selectedSection) + 1 : ((_b = selectedPage.children) == null ? void 0 : _b.length) || 0;
|
|
13461
|
+
partsToInsert = partsToPaste;
|
|
13462
|
+
} else if (pasteType === BLOCK_TYPE) {
|
|
13463
|
+
if (selectedSection) {
|
|
13464
|
+
targetPartId = selectedSection.partId;
|
|
13465
|
+
targetIndex = selectedBlock ? selectedSection.children.indexOf(selectedBlock) + 1 : ((_c = selectedSection.children) == null ? void 0 : _c.length) || 0;
|
|
13466
|
+
partsToInsert = partsToPaste;
|
|
13467
|
+
} else if ((_d = selectedPage.children) == null ? void 0 : _d.length) {
|
|
13468
|
+
selectedSection = selectedPage.children[selectedPage.children.length - 1];
|
|
13469
|
+
targetPartId = selectedSection.partId;
|
|
13470
|
+
targetIndex = ((_e = selectedSection.children) == null ? void 0 : _e.length) || 0;
|
|
13471
|
+
partsToInsert = partsToPaste;
|
|
13472
|
+
} else {
|
|
13473
|
+
const newSection = createSection(pageBuilder);
|
|
13474
|
+
if (!newSection) return;
|
|
13475
|
+
newSection.children = partsToPaste;
|
|
13476
|
+
targetPartId = selectedPage.partId;
|
|
13477
|
+
targetIndex = 0;
|
|
13478
|
+
partsToInsert = [newSection];
|
|
13479
|
+
}
|
|
13480
|
+
} else if (pasteType === WIDGET_TYPE) {
|
|
13481
|
+
if (selectedBlock) {
|
|
13482
|
+
targetPartId = selectedBlock.partId;
|
|
13483
|
+
targetIndex = selectedWidget ? selectedBlock.children.indexOf(selectedWidget) + 1 : ((_f = selectedBlock.children) == null ? void 0 : _f.length) || 0;
|
|
13484
|
+
partsToInsert = partsToPaste;
|
|
13485
|
+
} else if (selectedSection || ((_g = selectedPage.children) == null ? void 0 : _g.length)) {
|
|
13486
|
+
if (!selectedSection) selectedSection = selectedPage.children[selectedPage.children.length - 1];
|
|
13487
|
+
if ((_h = selectedSection.children) == null ? void 0 : _h.length) {
|
|
13488
|
+
selectedBlock = selectedSection.children[selectedSection.children.length - 1];
|
|
13489
|
+
targetPartId = selectedBlock.partId;
|
|
13490
|
+
targetIndex = ((_i = selectedBlock.children) == null ? void 0 : _i.length) || 0;
|
|
13491
|
+
partsToInsert = partsToPaste;
|
|
13492
|
+
} else {
|
|
13493
|
+
const newBlock = createBlock(pageBuilder);
|
|
13494
|
+
if (!newBlock) return;
|
|
13495
|
+
newBlock.children = partsToPaste;
|
|
13496
|
+
targetPartId = selectedSection.partId;
|
|
13497
|
+
targetIndex = 0;
|
|
13498
|
+
partsToInsert = [newBlock];
|
|
13499
|
+
}
|
|
13500
|
+
} else {
|
|
13501
|
+
const newBlock = createBlock(pageBuilder);
|
|
13502
|
+
const newSection = createSection(pageBuilder);
|
|
13503
|
+
if (!newBlock || !newSection) return;
|
|
13504
|
+
newSection.children = [newBlock];
|
|
13505
|
+
newBlock.children = partsToPaste;
|
|
13506
|
+
targetPartId = selectedPage.partId;
|
|
13507
|
+
targetIndex = 0;
|
|
13508
|
+
partsToInsert = [newSection];
|
|
13509
|
+
}
|
|
13240
13510
|
}
|
|
13511
|
+
if (!targetPartId || targetIndex < 0 || !partsToInsert) return;
|
|
13512
|
+
insertParts(pageBuilder, targetPartId, targetIndex, partsToInsert, false);
|
|
13241
13513
|
}
|
|
13242
13514
|
}
|
|
13243
13515
|
};
|
|
@@ -13642,8 +13914,8 @@ ${_html.style}
|
|
|
13642
13914
|
const pages = this.model.rootPart.children;
|
|
13643
13915
|
let part = this.selection[0];
|
|
13644
13916
|
if (!part) return pages && pages[0];
|
|
13645
|
-
while (part
|
|
13646
|
-
if (part.
|
|
13917
|
+
while (part) {
|
|
13918
|
+
if (part.isPage()) return part;
|
|
13647
13919
|
part = part.parent;
|
|
13648
13920
|
}
|
|
13649
13921
|
}
|
|
@@ -13830,7 +14102,7 @@ ${_html.style}
|
|
|
13830
14102
|
group.partDefinitions.forEach((part) => {
|
|
13831
14103
|
const p = { ...part };
|
|
13832
14104
|
p.partType = "Widget";
|
|
13833
|
-
p.creator = () => _sfc_main$
|
|
14105
|
+
p.creator = () => _sfc_main$F;
|
|
13834
14106
|
p.propertyGroups = [...p.propertyGroups, ...defaultWidgetPropertyGroups()];
|
|
13835
14107
|
partDefinitions2[p.partName] = p;
|
|
13836
14108
|
g.partDefinitions.push(p);
|
|
@@ -14433,11 +14705,15 @@ ${_html.style}
|
|
|
14433
14705
|
group: _ctx.group,
|
|
14434
14706
|
"selected-parts": _ctx.selectedParts
|
|
14435
14707
|
}, null, 8, ["group", "selected-parts"])) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.group.properties, (property) => {
|
|
14436
|
-
return vue.openBlock(), vue.
|
|
14437
|
-
key: `${_ctx.partsKey}_${property.propertyName}
|
|
14438
|
-
|
|
14439
|
-
|
|
14440
|
-
|
|
14708
|
+
return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
14709
|
+
key: `${_ctx.partsKey}_${property.propertyName}`
|
|
14710
|
+
}, [
|
|
14711
|
+
!property.readonly ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
14712
|
+
key: 0,
|
|
14713
|
+
property,
|
|
14714
|
+
"selected-parts": _ctx.selectedParts
|
|
14715
|
+
}, null, 8, ["property", "selected-parts"])) : vue.createCommentVNode("", true)
|
|
14716
|
+
], 64);
|
|
14441
14717
|
}), 128))
|
|
14442
14718
|
], 64)) : vue.createCommentVNode("", true)
|
|
14443
14719
|
]);
|
|
@@ -14563,7 +14839,7 @@ ${_html.style}
|
|
|
14563
14839
|
style: vue.normalizeStyle(contentStyle.value)
|
|
14564
14840
|
}, [
|
|
14565
14841
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList((_b = _ctx.part) == null ? void 0 : _b.children, (section, index) => {
|
|
14566
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14842
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$A, {
|
|
14567
14843
|
key: section.partId,
|
|
14568
14844
|
"is-mobile-page": _ctx.isMobilePage,
|
|
14569
14845
|
part: section
|
|
@@ -14581,7 +14857,7 @@ ${_html.style}
|
|
|
14581
14857
|
};
|
|
14582
14858
|
}
|
|
14583
14859
|
});
|
|
14584
|
-
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}\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 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.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-image-widget {\n width: 100%;\n}\n\n.pb-image-widget .image {\n width: 100%;\n}\n\n.pb-image-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-image-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}';
|
|
14860
|
+
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}\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 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.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-image-widget {\n width: 100%;\n}\n\n.pb-image-widget .image {\n width: 100%;\n}\n\n.pb-image-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-image-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\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}';
|
|
14585
14861
|
const _hoisted_1$g = ["width"];
|
|
14586
14862
|
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
14587
14863
|
__name: "PbPageFrame",
|
|
@@ -15682,10 +15958,11 @@ ${_html.tags}` : "";
|
|
|
15682
15958
|
exports2.PageBuilderViewer = _sfc_main$2$1;
|
|
15683
15959
|
exports2.Part = Part;
|
|
15684
15960
|
exports2.PbContainerWidget = _sfc_main$1$1;
|
|
15685
|
-
exports2.PbCustomWidget = _sfc_main$
|
|
15961
|
+
exports2.PbCustomWidget = _sfc_main$F;
|
|
15686
15962
|
exports2.PbHtmlWidget = _sfc_main$6$1;
|
|
15687
15963
|
exports2.PbIframeWidget = _sfc_main$5$1;
|
|
15688
|
-
exports2.PbImageWidget = _sfc_main$
|
|
15964
|
+
exports2.PbImageWidget = _sfc_main$9$1;
|
|
15965
|
+
exports2.PbMediaWidget = _sfc_main$8$1;
|
|
15689
15966
|
exports2.PbTextWidget = _sfc_main$7$1;
|
|
15690
15967
|
exports2.PbYoutubeWidget = _sfc_main$4$1;
|
|
15691
15968
|
exports2.ROOT_TYPE = ROOT_TYPE$1;
|