@g1cloud/page-builder-editor 1.0.0-alpha.37 → 1.0.0-alpha.39
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 +4 -0
- package/css/page.scss +7 -6
- package/dist/{PbPropertyEditorColor-Dk0MS-6z.js → PbPropertyEditorColor-CxzuXdSU.js} +1 -1
- package/dist/{PbPropertyEditorHtml-DASXlPF1.js → PbPropertyEditorHtml-CAwd0B2-.js} +1 -1
- package/dist/{PbPropertyEditorImage-zMooa_HL.js → PbPropertyEditorImage-BUrb2xHD.js} +1 -1
- package/dist/{PbPropertyEditorMultilineText-D06TJqWF.js → PbPropertyEditorMultilineText-BZHzQltK.js} +1 -1
- package/dist/{PbPropertyEditorText-DYFsKLw3.js → PbPropertyEditorText-6sglUVrs.js} +1 -1
- package/dist/{PbPropertyEditorYoutube-CT1pn88F.js → PbPropertyEditorYoutube-D4YwWYvB.js} +1 -1
- package/dist/{PbWidgetAddModal-CuuohgRc.js → PbWidgetAddModal-B1D1-muE.js} +25 -22
- package/dist/{index-D1WOGghM.js → index-CujMrKaK.js} +47 -23
- package/dist/index.d.ts +2 -1
- package/dist/model/page-builder-editor.d.ts +4 -5
- package/dist/page-builder-editor.js +1 -1
- package/dist/page-builder-editor.umd.cjs +76 -49
- package/package.json +2 -2
package/css/page.scss
CHANGED
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
@import 'page-block';
|
|
5
5
|
@import 'page-widget';
|
|
6
6
|
|
|
7
|
-
.font-icon {
|
|
8
|
-
font-family: Material Symbols Outlined, monospace;
|
|
9
|
-
font-size: 1rem;
|
|
10
|
-
max-width: 1em;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
7
|
body {
|
|
14
8
|
margin: 0;
|
|
15
9
|
padding: 0;
|
|
@@ -17,6 +11,12 @@ body {
|
|
|
17
11
|
overflow: hidden;
|
|
18
12
|
}
|
|
19
13
|
|
|
14
|
+
.font-icon, .material-icons-outlined {
|
|
15
|
+
font-family: "Material Symbols Outlined", monospace;
|
|
16
|
+
font-size: 1rem;
|
|
17
|
+
max-width: 1em;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
20
|
.pb-position-mark {
|
|
21
21
|
background-color: #ff3333;
|
|
22
22
|
opacity: 0.5;
|
|
@@ -62,6 +62,7 @@ body {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
> i {
|
|
65
|
+
font-style: normal;
|
|
65
66
|
vertical-align: middle;
|
|
66
67
|
position: absolute;
|
|
67
68
|
top: 50%;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, createVNode, unref } from "vue";
|
|
2
2
|
import { BSTextInput } from "@g1cloud/bluesea";
|
|
3
|
-
import { P as PbColorPicker } from "./index-
|
|
3
|
+
import { P as PbColorPicker } from "./index-CujMrKaK.js";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-color" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = ["textContent"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, defineAsyncComponent } from "vue";
|
|
2
2
|
import { useModal } from "@g1cloud/bluesea";
|
|
3
|
-
import { u as usePageBuilderEditor } from "./index-
|
|
3
|
+
import { u as usePageBuilderEditor } from "./index-CujMrKaK.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 _hoisted_3 = ["textContent"];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString } from "vue";
|
|
2
|
-
import { u as usePageBuilderEditor } from "./index-
|
|
2
|
+
import { u as usePageBuilderEditor } from "./index-CujMrKaK.js";
|
|
3
3
|
import { useModal } from "@g1cloud/bluesea";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-image flex-align-center" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
package/dist/{PbPropertyEditorMultilineText-D06TJqWF.js → PbPropertyEditorMultilineText-BZHzQltK.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createElementBlock, createElementVNode, toDisplayString, createBlock, unref } from "vue";
|
|
2
2
|
import { BSMultiLangTextArea, BSTextArea } from "@g1cloud/bluesea";
|
|
3
|
-
import { u as usePageBuilderEditor } from "./index-
|
|
3
|
+
import { u as usePageBuilderEditor } from "./index-CujMrKaK.js";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-multiline-text" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = ["textContent"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createElementBlock, createElementVNode, toDisplayString, createBlock, unref } from "vue";
|
|
2
2
|
import { BSMultiLangTextInput, BSTextInput } from "@g1cloud/bluesea";
|
|
3
|
-
import { u as usePageBuilderEditor } from "./index-
|
|
3
|
+
import { u as usePageBuilderEditor } from "./index-CujMrKaK.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 _hoisted_3 = ["textContent"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString } from "vue";
|
|
2
2
|
import { useModal } from "@g1cloud/bluesea";
|
|
3
|
-
import { s as selectYoutubeVideo } from "./index-
|
|
3
|
+
import { s as selectYoutubeVideo } from "./index-CujMrKaK.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 _hoisted_3 = ["textContent"];
|
|
@@ -1,12 +1,13 @@
|
|
|
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-
|
|
3
|
+
import { w as widgetPartDefinitions } from "./index-CujMrKaK.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"];
|
|
7
7
|
const _hoisted_4 = { class: "group mb-16" };
|
|
8
|
-
const _hoisted_5 =
|
|
9
|
-
const _hoisted_6 =
|
|
8
|
+
const _hoisted_5 = ["textContent"];
|
|
9
|
+
const _hoisted_6 = { class: "bs-layout-horizontal-wrap ml-16 mb-8 gap-8" };
|
|
10
|
+
const _hoisted_7 = ["onClick", "textContent"];
|
|
10
11
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
11
12
|
__name: "PbWidgetAddModal",
|
|
12
13
|
props: {
|
|
@@ -25,7 +26,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
25
26
|
modalHandle.close();
|
|
26
27
|
};
|
|
27
28
|
return (_ctx, _cache) => {
|
|
28
|
-
return openBlock(), createBlock(unref(BSModalFrame), { title: "Add
|
|
29
|
+
return openBlock(), createBlock(unref(BSModalFrame), { title: "Add Widget" }, {
|
|
29
30
|
default: withCtx(() => [
|
|
30
31
|
createElementVNode("div", _hoisted_1, [
|
|
31
32
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(widgetPartDefinitions), (group) => {
|
|
@@ -34,14 +35,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
34
35
|
class: "group mb-16"
|
|
35
36
|
}, [
|
|
36
37
|
_cache[0] || (_cache[0] = createElementVNode("div", {
|
|
37
|
-
class: "mb-8",
|
|
38
|
+
class: "mb-8 section-title",
|
|
38
39
|
textContent: "Basic Widgets"
|
|
39
40
|
}, null, -1)),
|
|
40
41
|
createElementVNode("div", _hoisted_2, [
|
|
41
42
|
(openBlock(true), createElementBlock(Fragment, null, renderList(group.partDefinitions, (part) => {
|
|
42
43
|
return openBlock(), createElementBlock("div", {
|
|
43
44
|
key: part.partName,
|
|
44
|
-
class: "part",
|
|
45
|
+
class: "part w-200",
|
|
45
46
|
onClick: ($event) => select(part),
|
|
46
47
|
textContent: toDisplayString(part.caption)
|
|
47
48
|
}, null, 8, _hoisted_3);
|
|
@@ -49,22 +50,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
49
50
|
])
|
|
50
51
|
]);
|
|
51
52
|
}), 128)),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
53
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(customWidgets.value, (group) => {
|
|
54
|
+
return openBlock(), createElementBlock("div", _hoisted_4, [
|
|
55
|
+
createElementVNode("div", {
|
|
56
|
+
class: "mb-8 section-title",
|
|
57
|
+
textContent: toDisplayString(group.caption)
|
|
58
|
+
}, null, 8, _hoisted_5),
|
|
59
|
+
createElementVNode("div", _hoisted_6, [
|
|
60
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(group.partDefinitions, (part) => {
|
|
61
|
+
return openBlock(), createElementBlock("div", {
|
|
62
|
+
key: part.partName,
|
|
63
|
+
class: "part w-200",
|
|
64
|
+
onClick: ($event) => select(part),
|
|
65
|
+
textContent: toDisplayString(part.caption)
|
|
66
|
+
}, null, 8, _hoisted_7);
|
|
67
|
+
}), 128))
|
|
68
|
+
])
|
|
69
|
+
]);
|
|
70
|
+
}), 256))
|
|
68
71
|
])
|
|
69
72
|
]),
|
|
70
73
|
_: 1
|
|
@@ -7225,6 +7225,13 @@ const _sfc_main$4$1 = /* @__PURE__ */ defineComponent({
|
|
|
7225
7225
|
placeholder: { type: Boolean }
|
|
7226
7226
|
},
|
|
7227
7227
|
setup(__props) {
|
|
7228
|
+
const props = __props;
|
|
7229
|
+
const style = computed(() => {
|
|
7230
|
+
var _a;
|
|
7231
|
+
return {
|
|
7232
|
+
aspectRatio: (_a = props.part.properties) == null ? void 0 : _a.aspectRatio
|
|
7233
|
+
};
|
|
7234
|
+
});
|
|
7228
7235
|
const onReady = () => {
|
|
7229
7236
|
};
|
|
7230
7237
|
return (_ctx, _cache) => {
|
|
@@ -7233,11 +7240,12 @@ const _sfc_main$4$1 = /* @__PURE__ */ defineComponent({
|
|
|
7233
7240
|
key: 0,
|
|
7234
7241
|
ref: "youtube",
|
|
7235
7242
|
src: ((_b = _ctx.part.properties) == null ? void 0 : _b.url) || "",
|
|
7243
|
+
style: normalizeStyle(style.value),
|
|
7236
7244
|
class: "youtube",
|
|
7237
7245
|
height: "100%",
|
|
7238
7246
|
width: "100%",
|
|
7239
7247
|
onReady
|
|
7240
|
-
}, null, 8, ["src"])) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_1$3$1, _cache[0] || (_cache[0] = [
|
|
7248
|
+
}, null, 8, ["src", "style"])) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_1$3$1, _cache[0] || (_cache[0] = [
|
|
7241
7249
|
createElementVNode("span", { class: "font-icon" }, "live_tv", -1)
|
|
7242
7250
|
]))) : createCommentVNode("", true);
|
|
7243
7251
|
};
|
|
@@ -8145,15 +8153,15 @@ class PartManager {
|
|
|
8145
8153
|
const defaultPartPropertyEditors = () => {
|
|
8146
8154
|
return {
|
|
8147
8155
|
"readonly-text": () => defineAsyncComponent(() => import("./PbPropertyEditorReadonlyText-Dgp_AVOD.js")),
|
|
8148
|
-
"text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-
|
|
8156
|
+
"text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-6sglUVrs.js")),
|
|
8149
8157
|
"number": () => defineAsyncComponent(() => import("./PbPropertyEditorNumber-TTgo0zbQ.js")),
|
|
8150
8158
|
"boolean": () => defineAsyncComponent(() => import("./PbPropertyEditorBoolean-C7-iSAtn.js")),
|
|
8151
|
-
"multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-
|
|
8159
|
+
"multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-BZHzQltK.js")),
|
|
8152
8160
|
"select": () => defineAsyncComponent(() => import("./PbPropertyEditorSelect-CWedbXJI.js")),
|
|
8153
|
-
"color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-
|
|
8154
|
-
"image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-
|
|
8155
|
-
"html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-
|
|
8156
|
-
"youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-
|
|
8161
|
+
"color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-CxzuXdSU.js")),
|
|
8162
|
+
"image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-BUrb2xHD.js")),
|
|
8163
|
+
"html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-CAwd0B2-.js")),
|
|
8164
|
+
"youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-D4YwWYvB.js"))
|
|
8157
8165
|
};
|
|
8158
8166
|
};
|
|
8159
8167
|
const getPropertyValueOfParts = (parts, propertyName) => {
|
|
@@ -12373,12 +12381,20 @@ const widgets = [
|
|
|
12373
12381
|
caption: "URL",
|
|
12374
12382
|
propertyType: "youtube",
|
|
12375
12383
|
params: ""
|
|
12384
|
+
},
|
|
12385
|
+
{
|
|
12386
|
+
propertyName: "aspectRatio",
|
|
12387
|
+
caption: "Apect Ration",
|
|
12388
|
+
propertyType: "text",
|
|
12389
|
+
params: ""
|
|
12376
12390
|
}
|
|
12377
12391
|
]
|
|
12378
12392
|
},
|
|
12379
12393
|
...defaultWidgetPropertyGroups()
|
|
12380
12394
|
],
|
|
12381
|
-
initialProperties: {
|
|
12395
|
+
initialProperties: {
|
|
12396
|
+
aspectRatio: "16/9"
|
|
12397
|
+
},
|
|
12382
12398
|
allowsChild: () => false,
|
|
12383
12399
|
creator: () => _sfc_main$4$1
|
|
12384
12400
|
},
|
|
@@ -12487,7 +12503,7 @@ __publicField(_OpenAddWidgetModalCommand, "COMMAND_ID", "OpenAddWidgetModal");
|
|
|
12487
12503
|
let OpenAddWidgetModalCommand = _OpenAddWidgetModalCommand;
|
|
12488
12504
|
const openWidgetAddModal = (modal, args, callback) => {
|
|
12489
12505
|
modal.openModal({
|
|
12490
|
-
component: defineAsyncComponent(() => import("./PbWidgetAddModal-
|
|
12506
|
+
component: defineAsyncComponent(() => import("./PbWidgetAddModal-B1D1-muE.js")),
|
|
12491
12507
|
style: {
|
|
12492
12508
|
width: "80%",
|
|
12493
12509
|
height: "80%",
|
|
@@ -13713,7 +13729,6 @@ class PageBuilderEditorImpl {
|
|
|
13713
13729
|
__publicField(this, "locale", ref("en"));
|
|
13714
13730
|
__publicField(this, "locales", ref(["en"]));
|
|
13715
13731
|
__publicField(this, "customWidgets", []);
|
|
13716
|
-
__publicField(this, "watchers", {});
|
|
13717
13732
|
__publicField(this, "providers", {});
|
|
13718
13733
|
__publicField(this, "externalCssLinks", []);
|
|
13719
13734
|
__publicField(this, "externalCssContent", "");
|
|
@@ -13755,22 +13770,28 @@ class PageBuilderEditorImpl {
|
|
|
13755
13770
|
registerCustomPlugin(plugin) {
|
|
13756
13771
|
if (plugin.widgets) {
|
|
13757
13772
|
const partDefinitions2 = {};
|
|
13758
|
-
plugin.widgets.forEach((
|
|
13759
|
-
|
|
13760
|
-
|
|
13761
|
-
|
|
13762
|
-
|
|
13763
|
-
|
|
13764
|
-
|
|
13765
|
-
|
|
13766
|
-
|
|
13773
|
+
plugin.widgets.forEach((group) => {
|
|
13774
|
+
if (group.partDefinitions && group.partDefinitions.length) {
|
|
13775
|
+
const g = {
|
|
13776
|
+
groupName: group.groupName,
|
|
13777
|
+
caption: group.caption,
|
|
13778
|
+
partDefinitions: []
|
|
13779
|
+
};
|
|
13780
|
+
group.partDefinitions.forEach((part) => {
|
|
13781
|
+
const p = { ...part };
|
|
13782
|
+
p.partType = "Widget";
|
|
13783
|
+
p.creator = () => _sfc_main$q;
|
|
13784
|
+
p.propertyGroups = [...p.propertyGroups, ...defaultWidgetPropertyGroups()];
|
|
13785
|
+
partDefinitions2[p.partName] = p;
|
|
13786
|
+
g.partDefinitions.push(p);
|
|
13787
|
+
});
|
|
13788
|
+
if (g.partDefinitions && g.partDefinitions.length) {
|
|
13789
|
+
this.customWidgets.push(g);
|
|
13790
|
+
}
|
|
13767
13791
|
}
|
|
13768
13792
|
});
|
|
13769
13793
|
this.partManager.registerPartDefinitions(partDefinitions2);
|
|
13770
13794
|
}
|
|
13771
|
-
if (plugin.watchers) {
|
|
13772
|
-
this.watchers = { ...this.providers, ...plugin.watchers };
|
|
13773
|
-
}
|
|
13774
13795
|
if (plugin.providers) {
|
|
13775
13796
|
this.providers = { ...this.providers, ...plugin.providers };
|
|
13776
13797
|
}
|
|
@@ -14508,7 +14529,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
14508
14529
|
};
|
|
14509
14530
|
}
|
|
14510
14531
|
});
|
|
14511
|
-
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}\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\
|
|
14532
|
+
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}\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}';
|
|
14512
14533
|
const _hoisted_1$2 = ["width"];
|
|
14513
14534
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
14514
14535
|
__name: "PbPageFrame",
|
|
@@ -14533,6 +14554,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14533
14554
|
const head = (_e = (_d = iframeRef.value) == null ? void 0 : _d.contentWindow) == null ? void 0 : _e.document.head;
|
|
14534
14555
|
head.innerHTML = `
|
|
14535
14556
|
<meta charset="UTF-8"/>
|
|
14557
|
+
<link
|
|
14558
|
+
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block"
|
|
14559
|
+
rel="stylesheet"/>
|
|
14536
14560
|
${externalCss}
|
|
14537
14561
|
<style>${canvasStyle}</style>
|
|
14538
14562
|
`;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { PartDefinition, PartDefinitionGroup } from './model/part-definintion.ts';
|
|
1
2
|
import { PartProperty } from './model/part-property.ts';
|
|
2
3
|
|
|
3
4
|
export { default as PageBuilderEditor } from './PageBuilderEditor.vue';
|
|
4
|
-
export type { PartProperty };
|
|
5
|
+
export type { PartProperty, PartDefinitionGroup, PartDefinition };
|
|
5
6
|
export * from './model/event';
|
|
6
7
|
export * from './model/plugin';
|
|
7
8
|
export * from '@g1cloud/page-builder-viewer';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PartDefinitionGroup } from './part-definintion.ts';
|
|
2
2
|
import { ContextMenuRegistry, ContextMenuRegistryImpl, KeyHandlers, PageBuilderContext, PageBuilderContextImpl } from './context.ts';
|
|
3
3
|
import { ToolButtonRegistry } from './toolbar.ts';
|
|
4
4
|
import { PageBuilderPlugin } from './plugin.ts';
|
|
@@ -36,7 +36,7 @@ export interface PageBuilderEditor extends PageBuilder {
|
|
|
36
36
|
setLocales(locales?: string[]): void;
|
|
37
37
|
makeSingleScreen(screenToKeep: number): void;
|
|
38
38
|
makeMultipleScreen(): void;
|
|
39
|
-
getCustomWidgets():
|
|
39
|
+
getCustomWidgets(): PartDefinitionGroup[];
|
|
40
40
|
getProvider(name: string): (args?: any, callback?: (result?: any) => void) => unknown;
|
|
41
41
|
extractMedia(part: IPart): string[];
|
|
42
42
|
}
|
|
@@ -53,8 +53,7 @@ export declare class PageBuilderEditorImpl implements PageBuilderEditor {
|
|
|
53
53
|
scale: Ref<number>;
|
|
54
54
|
locale: Ref<string>;
|
|
55
55
|
locales: Ref<string[]>;
|
|
56
|
-
customWidgets:
|
|
57
|
-
watchers: Record<string, unknown>;
|
|
56
|
+
customWidgets: PartDefinitionGroup[];
|
|
58
57
|
providers: Record<string, unknown>;
|
|
59
58
|
externalCssLinks: string[];
|
|
60
59
|
externalCssContent: string;
|
|
@@ -73,7 +72,7 @@ export declare class PageBuilderEditorImpl implements PageBuilderEditor {
|
|
|
73
72
|
zoom(scale: number): void;
|
|
74
73
|
makeSingleScreen(screenToKeep: number): void;
|
|
75
74
|
makeMultipleScreen(): void;
|
|
76
|
-
getCustomWidgets():
|
|
75
|
+
getCustomWidgets(): PartDefinitionGroup[];
|
|
77
76
|
extractMedia(part: IPart): string[];
|
|
78
77
|
getExternalCss(): string;
|
|
79
78
|
private extractMediaFromPart;
|
|
@@ -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, t, v, x, y, z, A, C } from "./index-
|
|
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, t, v, x, y, z, A, C } from "./index-CujMrKaK.js";
|
|
2
2
|
export {
|
|
3
3
|
B as BLOCK_TYPE,
|
|
4
4
|
b as Block,
|
|
@@ -7226,6 +7226,13 @@ ${_html.style}
|
|
|
7226
7226
|
placeholder: { type: Boolean }
|
|
7227
7227
|
},
|
|
7228
7228
|
setup(__props) {
|
|
7229
|
+
const props = __props;
|
|
7230
|
+
const style = vue.computed(() => {
|
|
7231
|
+
var _a;
|
|
7232
|
+
return {
|
|
7233
|
+
aspectRatio: (_a = props.part.properties) == null ? void 0 : _a.aspectRatio
|
|
7234
|
+
};
|
|
7235
|
+
});
|
|
7229
7236
|
const onReady = () => {
|
|
7230
7237
|
};
|
|
7231
7238
|
return (_ctx, _cache) => {
|
|
@@ -7234,11 +7241,12 @@ ${_html.style}
|
|
|
7234
7241
|
key: 0,
|
|
7235
7242
|
ref: "youtube",
|
|
7236
7243
|
src: ((_b = _ctx.part.properties) == null ? void 0 : _b.url) || "",
|
|
7244
|
+
style: vue.normalizeStyle(style.value),
|
|
7237
7245
|
class: "youtube",
|
|
7238
7246
|
height: "100%",
|
|
7239
7247
|
width: "100%",
|
|
7240
7248
|
onReady
|
|
7241
|
-
}, null, 8, ["src"])) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3$1, _cache[0] || (_cache[0] = [
|
|
7249
|
+
}, null, 8, ["src", "style"])) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3$1, _cache[0] || (_cache[0] = [
|
|
7242
7250
|
vue.createElementVNode("span", { class: "font-icon" }, "live_tv", -1)
|
|
7243
7251
|
]))) : vue.createCommentVNode("", true);
|
|
7244
7252
|
};
|
|
@@ -9253,7 +9261,7 @@ ${_html.style}
|
|
|
9253
9261
|
const _hoisted_4$d = { class: "bg-gray-100 py-5 rounded-8" };
|
|
9254
9262
|
const _hoisted_5$7 = { class: "text-center" };
|
|
9255
9263
|
const _hoisted_6$7 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
|
|
9256
|
-
const _hoisted_7$
|
|
9264
|
+
const _hoisted_7$7 = { class: "text-center" };
|
|
9257
9265
|
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
9258
9266
|
__name: "PbPropertyGroupEditorPosition",
|
|
9259
9267
|
props: {
|
|
@@ -9316,7 +9324,7 @@ ${_html.style}
|
|
|
9316
9324
|
"onUpdate:modelValue": updateRight
|
|
9317
9325
|
}, null, 8, ["model-value"])
|
|
9318
9326
|
]),
|
|
9319
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
9327
|
+
vue.createElementVNode("div", _hoisted_7$7, [
|
|
9320
9328
|
vue.createVNode(vue.unref(bluesea.BSTextInput), {
|
|
9321
9329
|
"model-value": bottom.value,
|
|
9322
9330
|
class: "ml-4",
|
|
@@ -9338,7 +9346,7 @@ ${_html.style}
|
|
|
9338
9346
|
const _hoisted_4$c = { class: "flex-align-center mt-12" };
|
|
9339
9347
|
const _hoisted_5$6 = { class: "flex-grow-1 bs-layout-horizontal" };
|
|
9340
9348
|
const _hoisted_6$6 = { class: "flex-align-center mt-12" };
|
|
9341
|
-
const _hoisted_7$
|
|
9349
|
+
const _hoisted_7$6 = { class: "flex-grow-1 bs-layout-horizontal" };
|
|
9342
9350
|
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
9343
9351
|
__name: "PbPropertyGroupEditorSize",
|
|
9344
9352
|
props: {
|
|
@@ -9410,7 +9418,7 @@ ${_html.style}
|
|
|
9410
9418
|
_cache[2] || (_cache[2] = vue.createElementVNode("div", { class: "title" }, [
|
|
9411
9419
|
vue.createElementVNode("label", { textContent: "Min Size" })
|
|
9412
9420
|
], -1)),
|
|
9413
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
9421
|
+
vue.createElementVNode("div", _hoisted_7$6, [
|
|
9414
9422
|
vue.createVNode(vue.unref(bluesea.BSTextInput), {
|
|
9415
9423
|
"model-value": minWidth.value,
|
|
9416
9424
|
class: "flex-grow-1 mr-2",
|
|
@@ -11133,7 +11141,7 @@ ${_html.style}
|
|
|
11133
11141
|
class: "vc-sketch-alpha-wrap"
|
|
11134
11142
|
};
|
|
11135
11143
|
const _hoisted_6$5 = { class: "vc-sketch-color-wrap" };
|
|
11136
|
-
const _hoisted_7$
|
|
11144
|
+
const _hoisted_7$5 = ["aria-label"];
|
|
11137
11145
|
const _hoisted_8$2 = {
|
|
11138
11146
|
key: 0,
|
|
11139
11147
|
class: "vc-sketch-field"
|
|
@@ -11193,7 +11201,7 @@ ${_html.style}
|
|
|
11193
11201
|
"aria-label": `Current color is ${$options.activeColor}`,
|
|
11194
11202
|
class: "vc-sketch-active-color",
|
|
11195
11203
|
style: vue.normalizeStyle({ background: $options.activeColor })
|
|
11196
|
-
}, null, 12, _hoisted_7$
|
|
11204
|
+
}, null, 12, _hoisted_7$5),
|
|
11197
11205
|
vue.createVNode(_component_Checkboard)
|
|
11198
11206
|
])
|
|
11199
11207
|
]),
|
|
@@ -11455,7 +11463,7 @@ ${_html.style}
|
|
|
11455
11463
|
const _hoisted_4$6 = { class: "color" };
|
|
11456
11464
|
const _hoisted_5$4 = { class: "mt-8" };
|
|
11457
11465
|
const _hoisted_6$4 = { class: "flex-grow-1 mt-4" };
|
|
11458
|
-
const _hoisted_7$
|
|
11466
|
+
const _hoisted_7$4 = { class: "bg-gray-100 py-5 rounded-8" };
|
|
11459
11467
|
const _hoisted_8$1 = { class: "text-center" };
|
|
11460
11468
|
const _hoisted_9 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
|
|
11461
11469
|
const _hoisted_10 = { class: "text-center" };
|
|
@@ -11534,7 +11542,7 @@ ${_html.style}
|
|
|
11534
11542
|
vue.createElementVNode("label", { textContent: "Border Width" })
|
|
11535
11543
|
], -1)),
|
|
11536
11544
|
vue.createElementVNode("div", _hoisted_6$4, [
|
|
11537
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
11545
|
+
vue.createElementVNode("div", _hoisted_7$4, [
|
|
11538
11546
|
vue.createElementVNode("div", _hoisted_8$1, [
|
|
11539
11547
|
vue.createVNode(vue.unref(bluesea.BSTextInput), {
|
|
11540
11548
|
"model-value": borderTopWidth.value,
|
|
@@ -11630,7 +11638,7 @@ ${_html.style}
|
|
|
11630
11638
|
const _hoisted_4$5 = { class: "bg-gray-100 py-5 rounded-8" };
|
|
11631
11639
|
const _hoisted_5$3 = { class: "text-center" };
|
|
11632
11640
|
const _hoisted_6$3 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
|
|
11633
|
-
const _hoisted_7$
|
|
11641
|
+
const _hoisted_7$3 = { class: "text-center" };
|
|
11634
11642
|
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
11635
11643
|
__name: "PbPropertyGroupEditorMargin",
|
|
11636
11644
|
props: {
|
|
@@ -11693,7 +11701,7 @@ ${_html.style}
|
|
|
11693
11701
|
"onUpdate:modelValue": updateRight
|
|
11694
11702
|
}, null, 8, ["model-value"])
|
|
11695
11703
|
]),
|
|
11696
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
11704
|
+
vue.createElementVNode("div", _hoisted_7$3, [
|
|
11697
11705
|
vue.createVNode(vue.unref(bluesea.BSTextInput), {
|
|
11698
11706
|
"model-value": bottom.value,
|
|
11699
11707
|
class: "ml-4",
|
|
@@ -11715,7 +11723,7 @@ ${_html.style}
|
|
|
11715
11723
|
const _hoisted_4$4 = { class: "bg-gray-100 py-5 rounded-8" };
|
|
11716
11724
|
const _hoisted_5$2 = { class: "text-center" };
|
|
11717
11725
|
const _hoisted_6$2 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
|
|
11718
|
-
const _hoisted_7$
|
|
11726
|
+
const _hoisted_7$2 = { class: "text-center" };
|
|
11719
11727
|
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
11720
11728
|
__name: "PbPropertyGroupEditorPadding",
|
|
11721
11729
|
props: {
|
|
@@ -11778,7 +11786,7 @@ ${_html.style}
|
|
|
11778
11786
|
"onUpdate:modelValue": updateRight
|
|
11779
11787
|
}, null, 8, ["model-value"])
|
|
11780
11788
|
]),
|
|
11781
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
11789
|
+
vue.createElementVNode("div", _hoisted_7$2, [
|
|
11782
11790
|
vue.createVNode(vue.unref(bluesea.BSTextInput), {
|
|
11783
11791
|
"model-value": bottom.value,
|
|
11784
11792
|
class: "ml-4",
|
|
@@ -12374,12 +12382,20 @@ ${_html.style}
|
|
|
12374
12382
|
caption: "URL",
|
|
12375
12383
|
propertyType: "youtube",
|
|
12376
12384
|
params: ""
|
|
12385
|
+
},
|
|
12386
|
+
{
|
|
12387
|
+
propertyName: "aspectRatio",
|
|
12388
|
+
caption: "Apect Ration",
|
|
12389
|
+
propertyType: "text",
|
|
12390
|
+
params: ""
|
|
12377
12391
|
}
|
|
12378
12392
|
]
|
|
12379
12393
|
},
|
|
12380
12394
|
...defaultWidgetPropertyGroups()
|
|
12381
12395
|
],
|
|
12382
|
-
initialProperties: {
|
|
12396
|
+
initialProperties: {
|
|
12397
|
+
aspectRatio: "16/9"
|
|
12398
|
+
},
|
|
12383
12399
|
allowsChild: () => false,
|
|
12384
12400
|
creator: () => _sfc_main$4$1
|
|
12385
12401
|
},
|
|
@@ -13714,7 +13730,6 @@ ${_html.style}
|
|
|
13714
13730
|
__publicField(this, "locale", vue.ref("en"));
|
|
13715
13731
|
__publicField(this, "locales", vue.ref(["en"]));
|
|
13716
13732
|
__publicField(this, "customWidgets", []);
|
|
13717
|
-
__publicField(this, "watchers", {});
|
|
13718
13733
|
__publicField(this, "providers", {});
|
|
13719
13734
|
__publicField(this, "externalCssLinks", []);
|
|
13720
13735
|
__publicField(this, "externalCssContent", "");
|
|
@@ -13756,22 +13771,28 @@ ${_html.style}
|
|
|
13756
13771
|
registerCustomPlugin(plugin) {
|
|
13757
13772
|
if (plugin.widgets) {
|
|
13758
13773
|
const partDefinitions2 = {};
|
|
13759
|
-
plugin.widgets.forEach((
|
|
13760
|
-
|
|
13761
|
-
|
|
13762
|
-
|
|
13763
|
-
|
|
13764
|
-
|
|
13765
|
-
|
|
13766
|
-
|
|
13767
|
-
|
|
13774
|
+
plugin.widgets.forEach((group) => {
|
|
13775
|
+
if (group.partDefinitions && group.partDefinitions.length) {
|
|
13776
|
+
const g = {
|
|
13777
|
+
groupName: group.groupName,
|
|
13778
|
+
caption: group.caption,
|
|
13779
|
+
partDefinitions: []
|
|
13780
|
+
};
|
|
13781
|
+
group.partDefinitions.forEach((part) => {
|
|
13782
|
+
const p = { ...part };
|
|
13783
|
+
p.partType = "Widget";
|
|
13784
|
+
p.creator = () => _sfc_main$E;
|
|
13785
|
+
p.propertyGroups = [...p.propertyGroups, ...defaultWidgetPropertyGroups()];
|
|
13786
|
+
partDefinitions2[p.partName] = p;
|
|
13787
|
+
g.partDefinitions.push(p);
|
|
13788
|
+
});
|
|
13789
|
+
if (g.partDefinitions && g.partDefinitions.length) {
|
|
13790
|
+
this.customWidgets.push(g);
|
|
13791
|
+
}
|
|
13768
13792
|
}
|
|
13769
13793
|
});
|
|
13770
13794
|
this.partManager.registerPartDefinitions(partDefinitions2);
|
|
13771
13795
|
}
|
|
13772
|
-
if (plugin.watchers) {
|
|
13773
|
-
this.watchers = { ...this.providers, ...plugin.watchers };
|
|
13774
|
-
}
|
|
13775
13796
|
if (plugin.providers) {
|
|
13776
13797
|
this.providers = { ...this.providers, ...plugin.providers };
|
|
13777
13798
|
}
|
|
@@ -14509,7 +14530,7 @@ ${_html.style}
|
|
|
14509
14530
|
};
|
|
14510
14531
|
}
|
|
14511
14532
|
});
|
|
14512
|
-
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}\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\
|
|
14533
|
+
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}\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}';
|
|
14513
14534
|
const _hoisted_1$g = ["width"];
|
|
14514
14535
|
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
14515
14536
|
__name: "PbPageFrame",
|
|
@@ -14534,6 +14555,9 @@ ${_html.style}
|
|
|
14534
14555
|
const head = (_e = (_d = iframeRef.value) == null ? void 0 : _d.contentWindow) == null ? void 0 : _e.document.head;
|
|
14535
14556
|
head.innerHTML = `
|
|
14536
14557
|
<meta charset="UTF-8"/>
|
|
14558
|
+
<link
|
|
14559
|
+
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block"
|
|
14560
|
+
rel="stylesheet"/>
|
|
14537
14561
|
${externalCss}
|
|
14538
14562
|
<style>${canvasStyle}</style>
|
|
14539
14563
|
`;
|
|
@@ -15262,8 +15286,9 @@ ${_html.style}
|
|
|
15262
15286
|
const _hoisted_2$2 = { class: "bs-layout-horizontal-wrap ml-16 mb-8 gap-8" };
|
|
15263
15287
|
const _hoisted_3$1 = ["onClick", "textContent"];
|
|
15264
15288
|
const _hoisted_4$1 = { class: "group mb-16" };
|
|
15265
|
-
const _hoisted_5$1 =
|
|
15266
|
-
const _hoisted_6$1 =
|
|
15289
|
+
const _hoisted_5$1 = ["textContent"];
|
|
15290
|
+
const _hoisted_6$1 = { class: "bs-layout-horizontal-wrap ml-16 mb-8 gap-8" };
|
|
15291
|
+
const _hoisted_7$1 = ["onClick", "textContent"];
|
|
15267
15292
|
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
15268
15293
|
__name: "PbWidgetAddModal",
|
|
15269
15294
|
props: {
|
|
@@ -15282,7 +15307,7 @@ ${_html.style}
|
|
|
15282
15307
|
modalHandle.close();
|
|
15283
15308
|
};
|
|
15284
15309
|
return (_ctx, _cache) => {
|
|
15285
|
-
return vue.openBlock(), vue.createBlock(vue.unref(bluesea.BSModalFrame), { title: "Add
|
|
15310
|
+
return vue.openBlock(), vue.createBlock(vue.unref(bluesea.BSModalFrame), { title: "Add Widget" }, {
|
|
15286
15311
|
default: vue.withCtx(() => [
|
|
15287
15312
|
vue.createElementVNode("div", _hoisted_1$2, [
|
|
15288
15313
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(widgetPartDefinitions), (group) => {
|
|
@@ -15291,14 +15316,14 @@ ${_html.style}
|
|
|
15291
15316
|
class: "group mb-16"
|
|
15292
15317
|
}, [
|
|
15293
15318
|
_cache[0] || (_cache[0] = vue.createElementVNode("div", {
|
|
15294
|
-
class: "mb-8",
|
|
15319
|
+
class: "mb-8 section-title",
|
|
15295
15320
|
textContent: "Basic Widgets"
|
|
15296
15321
|
}, null, -1)),
|
|
15297
15322
|
vue.createElementVNode("div", _hoisted_2$2, [
|
|
15298
15323
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(group.partDefinitions, (part) => {
|
|
15299
15324
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15300
15325
|
key: part.partName,
|
|
15301
|
-
class: "part",
|
|
15326
|
+
class: "part w-200",
|
|
15302
15327
|
onClick: ($event) => select(part),
|
|
15303
15328
|
textContent: vue.toDisplayString(part.caption)
|
|
15304
15329
|
}, null, 8, _hoisted_3$1);
|
|
@@ -15306,22 +15331,24 @@ ${_html.style}
|
|
|
15306
15331
|
])
|
|
15307
15332
|
]);
|
|
15308
15333
|
}), 128)),
|
|
15309
|
-
vue.
|
|
15310
|
-
|
|
15311
|
-
|
|
15312
|
-
|
|
15313
|
-
|
|
15314
|
-
|
|
15315
|
-
|
|
15316
|
-
|
|
15317
|
-
|
|
15318
|
-
|
|
15319
|
-
|
|
15320
|
-
|
|
15321
|
-
|
|
15322
|
-
|
|
15323
|
-
|
|
15324
|
-
|
|
15334
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(customWidgets.value, (group) => {
|
|
15335
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
|
|
15336
|
+
vue.createElementVNode("div", {
|
|
15337
|
+
class: "mb-8 section-title",
|
|
15338
|
+
textContent: vue.toDisplayString(group.caption)
|
|
15339
|
+
}, null, 8, _hoisted_5$1),
|
|
15340
|
+
vue.createElementVNode("div", _hoisted_6$1, [
|
|
15341
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(group.partDefinitions, (part) => {
|
|
15342
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15343
|
+
key: part.partName,
|
|
15344
|
+
class: "part w-200",
|
|
15345
|
+
onClick: ($event) => select(part),
|
|
15346
|
+
textContent: vue.toDisplayString(part.caption)
|
|
15347
|
+
}, null, 8, _hoisted_7$1);
|
|
15348
|
+
}), 128))
|
|
15349
|
+
])
|
|
15350
|
+
]);
|
|
15351
|
+
}), 256))
|
|
15325
15352
|
])
|
|
15326
15353
|
]),
|
|
15327
15354
|
_: 1
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@g1cloud/page-builder-editor",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.0-alpha.
|
|
4
|
+
"version": "1.0.0-alpha.39",
|
|
5
5
|
"engins": {
|
|
6
6
|
"node": ">= 20.0.0"
|
|
7
7
|
},
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"vue-router": "^4.4.3",
|
|
31
31
|
"vue3-click-away": "^1.2.4",
|
|
32
32
|
"yjs": "^13.6.14",
|
|
33
|
-
"@g1cloud/page-builder-viewer": "1.0.0-alpha.
|
|
33
|
+
"@g1cloud/page-builder-viewer": "1.0.0-alpha.39"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^20.12.7",
|