@g1cloud/page-builder-editor 1.0.0-alpha.31 → 1.0.0-alpha.32
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-section.scss +1 -0
- package/dist/{PbPropertyEditorColor-CnF04lLw.js → PbPropertyEditorColor-CQqLwB4B.js} +1 -1
- package/dist/{PbPropertyEditorHtml-DGWhLeBV.js → PbPropertyEditorHtml-CeCp8qgN.js} +1 -1
- package/dist/{PbPropertyEditorImage-wnD2ZhtY.js → PbPropertyEditorImage-BIxdt8XI.js} +1 -1
- package/dist/{PbPropertyEditorMultilineText-BupCrg8y.js → PbPropertyEditorMultilineText-4sF6PJTE.js} +1 -1
- package/dist/{PbPropertyEditorText-DPMCCfN3.js → PbPropertyEditorText-9hf9BTum.js} +1 -1
- package/dist/{PbPropertyEditorYoutube-CyyNcDAu.js → PbPropertyEditorYoutube-B-pIw-m5.js} +1 -1
- package/dist/{PbWidgetAddModal-CpkklmlZ.js → PbWidgetAddModal-CFwyR_Bq.js} +1 -1
- package/dist/{index-Cu4Pt-wp.js → index-iOtzsn-m.js} +78 -33
- package/dist/page-builder-editor.js +1 -1
- package/dist/page-builder-editor.umd.cjs +70 -25
- package/package.json +2 -2
package/css/page-section.scss
CHANGED
|
@@ -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-iOtzsn-m.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-iOtzsn-m.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-iOtzsn-m.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-BupCrg8y.js → PbPropertyEditorMultilineText-4sF6PJTE.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-iOtzsn-m.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-iOtzsn-m.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-iOtzsn-m.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,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock, unref, withCtx, createElementVNode, createElementBlock, Fragment, renderList, toDisplayString } from "vue";
|
|
2
2
|
import { useModalHandle, BSModalFrame } from "@g1cloud/bluesea";
|
|
3
|
-
import { w as widgetPartDefinitions } from "./index-
|
|
3
|
+
import { w as widgetPartDefinitions } from "./index-iOtzsn-m.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"];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { ref, defineComponent, computed, openBlock, createElementBlock,
|
|
4
|
+
import { ref, defineComponent, computed, openBlock, createElementBlock, Fragment, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, onMounted, onBeforeUnmount, createBlock as createBlock$1, unref, provide, inject, watch, renderList, resolveDynamicComponent, normalizeProps, mergeProps, normalizeClass, reactive, defineAsyncComponent, withDirectives, createVNode, resolveComponent, vModelText, resolveDirective, withModifiers, renderSlot, guardReactiveProps, markRaw, toHandlers, Teleport } from "vue";
|
|
5
5
|
import { notNull, BSTextInput, vClickOutside, useModal, BSSelect, BSTree, useContextMenu } from "@g1cloud/bluesea";
|
|
6
6
|
import YouTube from "vue3-youtube";
|
|
7
7
|
const create$5 = () => /* @__PURE__ */ new Map();
|
|
@@ -6693,6 +6693,10 @@ class Part {
|
|
|
6693
6693
|
const align = ((_a = this.properties) == null ? void 0 : _a.align) || "center";
|
|
6694
6694
|
if (this.isWidget()) {
|
|
6695
6695
|
style.alignSelf = this.getAlignStyleValue(align);
|
|
6696
|
+
} else if (this.isPage()) {
|
|
6697
|
+
style.display = "flex";
|
|
6698
|
+
style.flexDirection = "column";
|
|
6699
|
+
style.alignItems = this.getAlignStyleValue(align);
|
|
6696
6700
|
} else {
|
|
6697
6701
|
const direction = isMobilePage ? (_b = this.properties) == null ? void 0 : _b.directionSm : (_c = this.properties) == null ? void 0 : _c.directionLg;
|
|
6698
6702
|
if (direction === "horizontal") {
|
|
@@ -6724,10 +6728,10 @@ class Part {
|
|
|
6724
6728
|
if ((_r = this.properties) == null ? void 0 : _r.bottom) style.bottom = this.properties.bottom;
|
|
6725
6729
|
if ((_s = this.properties) == null ? void 0 : _s.width) style.width = this.properties.width;
|
|
6726
6730
|
if ((_t = this.properties) == null ? void 0 : _t.height) style.height = this.properties.height;
|
|
6727
|
-
if ((_u = this.properties) == null ? void 0 : _u.maxWidth) style.
|
|
6728
|
-
if ((_v = this.properties) == null ? void 0 : _v.maxHeight) style.
|
|
6729
|
-
if ((_w = this.properties) == null ? void 0 : _w.minWidth) style.
|
|
6730
|
-
if ((_x = this.properties) == null ? void 0 : _x.minHeight) style.
|
|
6731
|
+
if ((_u = this.properties) == null ? void 0 : _u.maxWidth) style.maxWidth = this.properties.maxWidth;
|
|
6732
|
+
if ((_v = this.properties) == null ? void 0 : _v.maxHeight) style.maxHeight = this.properties.maxHeight;
|
|
6733
|
+
if ((_w = this.properties) == null ? void 0 : _w.minWidth) style.minWidth = this.properties.minWidth;
|
|
6734
|
+
if ((_x = this.properties) == null ? void 0 : _x.minHeight) style.minHeight = this.properties.minHeight;
|
|
6731
6735
|
if ((_y = this.properties) == null ? void 0 : _y.textAlign) style.textAlign = this.properties.textAlign;
|
|
6732
6736
|
if ((_z = this.properties) == null ? void 0 : _z.backgroundColor) style.backgroundColor = this.properties.backgroundColor;
|
|
6733
6737
|
if ((_A = this.properties) == null ? void 0 : _A.borderLeftWidth) style.borderLeftWidth = this.properties.borderLeftWidth;
|
|
@@ -6981,8 +6985,10 @@ const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
|
|
|
6981
6985
|
};
|
|
6982
6986
|
}
|
|
6983
6987
|
});
|
|
6984
|
-
const _hoisted_1$7$1 = ["
|
|
6985
|
-
const _hoisted_2$4$1 =
|
|
6988
|
+
const _hoisted_1$7$1 = ["href", "target"];
|
|
6989
|
+
const _hoisted_2$4$1 = ["alt", "src"];
|
|
6990
|
+
const _hoisted_3$d = ["alt", "src"];
|
|
6991
|
+
const _hoisted_4$a = {
|
|
6986
6992
|
key: 1,
|
|
6987
6993
|
class: "placeholder"
|
|
6988
6994
|
};
|
|
@@ -7015,14 +7021,27 @@ const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
|
|
|
7015
7021
|
return {};
|
|
7016
7022
|
});
|
|
7017
7023
|
return (_ctx, _cache) => {
|
|
7018
|
-
var _a, _b;
|
|
7019
|
-
return ((_a = _ctx.part.properties) == null ? void 0 : _a.media) ? (openBlock(), createElementBlock(
|
|
7020
|
-
|
|
7021
|
-
|
|
7022
|
-
|
|
7023
|
-
|
|
7024
|
-
|
|
7025
|
-
|
|
7024
|
+
var _a, _b, _c, _d, _e, _f;
|
|
7025
|
+
return ((_a = _ctx.part.properties) == null ? void 0 : _a.media) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
7026
|
+
((_b = _ctx.part.properties) == null ? void 0 : _b.link) ? (openBlock(), createElementBlock("a", {
|
|
7027
|
+
key: 0,
|
|
7028
|
+
href: (_c = _ctx.part.properties) == null ? void 0 : _c.link,
|
|
7029
|
+
target: (_d = _ctx.part.properties) == null ? void 0 : _d.linkTarget
|
|
7030
|
+
}, [
|
|
7031
|
+
createElementVNode("img", {
|
|
7032
|
+
alt: altText.value,
|
|
7033
|
+
src: ((_e = _ctx.part.properties) == null ? void 0 : _e.media).url,
|
|
7034
|
+
style: normalizeStyle(style.value),
|
|
7035
|
+
class: "image"
|
|
7036
|
+
}, null, 12, _hoisted_2$4$1)
|
|
7037
|
+
], 8, _hoisted_1$7$1)) : (openBlock(), createElementBlock("img", {
|
|
7038
|
+
key: 1,
|
|
7039
|
+
alt: altText.value,
|
|
7040
|
+
src: ((_f = _ctx.part.properties) == null ? void 0 : _f.media).url,
|
|
7041
|
+
style: normalizeStyle(style.value),
|
|
7042
|
+
class: "image"
|
|
7043
|
+
}, null, 12, _hoisted_3$d))
|
|
7044
|
+
], 64)) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_4$a, _cache[0] || (_cache[0] = [
|
|
7026
7045
|
createElementVNode("span", { class: "font-icon" }, "image", -1)
|
|
7027
7046
|
]))) : createCommentVNode("", true);
|
|
7028
7047
|
};
|
|
@@ -8102,14 +8121,14 @@ class PartManager {
|
|
|
8102
8121
|
const defaultPartPropertyEditors = () => {
|
|
8103
8122
|
return {
|
|
8104
8123
|
"readonly-text": () => defineAsyncComponent(() => import("./PbPropertyEditorReadonlyText-Dgp_AVOD.js")),
|
|
8105
|
-
"text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-
|
|
8124
|
+
"text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-9hf9BTum.js")),
|
|
8106
8125
|
"number": () => defineAsyncComponent(() => import("./PbPropertyEditorNumber-DrxTz2s1.js")),
|
|
8107
|
-
"multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-
|
|
8126
|
+
"multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-4sF6PJTE.js")),
|
|
8108
8127
|
"select": () => defineAsyncComponent(() => import("./PbPropertyEditorSelect-CWedbXJI.js")),
|
|
8109
|
-
"color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-
|
|
8110
|
-
"image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-
|
|
8111
|
-
"html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-
|
|
8112
|
-
"youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-
|
|
8128
|
+
"color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-CQqLwB4B.js")),
|
|
8129
|
+
"image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-BIxdt8XI.js")),
|
|
8130
|
+
"html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-CeCp8qgN.js")),
|
|
8131
|
+
"youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-B-pIw-m5.js"))
|
|
8113
8132
|
};
|
|
8114
8133
|
};
|
|
8115
8134
|
const getPropertyValueOfParts = (parts, propertyName) => {
|
|
@@ -9320,7 +9339,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
9320
9339
|
const updateWidth = (value) => updatePropertyValue({ width: value });
|
|
9321
9340
|
const updateHeight = (value) => updatePropertyValue({ height: value });
|
|
9322
9341
|
const updateMaxWidth = (value) => updatePropertyValue({ maxWidth: value });
|
|
9323
|
-
const updateMaxHeight = (value) => updatePropertyValue({
|
|
9342
|
+
const updateMaxHeight = (value) => updatePropertyValue({ maxHeight: value });
|
|
9324
9343
|
const updateMinWidth = (value) => updatePropertyValue({ minWidth: value });
|
|
9325
9344
|
const updateMinHeight = (value) => updatePropertyValue({ minHeight: value });
|
|
9326
9345
|
return (_ctx, _cache) => {
|
|
@@ -11796,22 +11815,22 @@ const sizeGroup = () => {
|
|
|
11796
11815
|
propertyType: "text"
|
|
11797
11816
|
},
|
|
11798
11817
|
{
|
|
11799
|
-
propertyName: "
|
|
11818
|
+
propertyName: "minWidth",
|
|
11800
11819
|
caption: "Min Width",
|
|
11801
11820
|
propertyType: "text"
|
|
11802
11821
|
},
|
|
11803
11822
|
{
|
|
11804
|
-
propertyName: "
|
|
11823
|
+
propertyName: "minHeight",
|
|
11805
11824
|
caption: "Min Height",
|
|
11806
11825
|
propertyType: "text"
|
|
11807
11826
|
},
|
|
11808
11827
|
{
|
|
11809
|
-
propertyName: "
|
|
11828
|
+
propertyName: "maxWidth",
|
|
11810
11829
|
caption: "Max Width",
|
|
11811
11830
|
propertyType: "text"
|
|
11812
11831
|
},
|
|
11813
11832
|
{
|
|
11814
|
-
propertyName: "
|
|
11833
|
+
propertyName: "maxHeight",
|
|
11815
11834
|
caption: "Max Height",
|
|
11816
11835
|
propertyType: "text"
|
|
11817
11836
|
}
|
|
@@ -12071,6 +12090,18 @@ const pageParts = [
|
|
|
12071
12090
|
icon: "draft",
|
|
12072
12091
|
className: "pb-page",
|
|
12073
12092
|
propertyGroups: [
|
|
12093
|
+
{
|
|
12094
|
+
groupName: "size",
|
|
12095
|
+
caption: "Size",
|
|
12096
|
+
properties: [
|
|
12097
|
+
{
|
|
12098
|
+
propertyName: "maxWidth",
|
|
12099
|
+
caption: "Max Width",
|
|
12100
|
+
propertyType: "text",
|
|
12101
|
+
params: ""
|
|
12102
|
+
}
|
|
12103
|
+
]
|
|
12104
|
+
},
|
|
12074
12105
|
alignGroup(),
|
|
12075
12106
|
paddingGroup(),
|
|
12076
12107
|
backgroundGroup(),
|
|
@@ -12196,6 +12227,18 @@ const widgets = [
|
|
|
12196
12227
|
caption: "Image",
|
|
12197
12228
|
propertyType: "image",
|
|
12198
12229
|
params: ""
|
|
12230
|
+
},
|
|
12231
|
+
{
|
|
12232
|
+
propertyName: "link",
|
|
12233
|
+
caption: "Link",
|
|
12234
|
+
propertyType: "text",
|
|
12235
|
+
params: ""
|
|
12236
|
+
},
|
|
12237
|
+
{
|
|
12238
|
+
propertyName: "linkTarget",
|
|
12239
|
+
caption: "Link Target",
|
|
12240
|
+
propertyType: "text",
|
|
12241
|
+
params: ""
|
|
12199
12242
|
}
|
|
12200
12243
|
]
|
|
12201
12244
|
},
|
|
@@ -12387,7 +12430,7 @@ __publicField(_OpenAddWidgetModalCommand, "COMMAND_ID", "OpenAddWidgetModal");
|
|
|
12387
12430
|
let OpenAddWidgetModalCommand = _OpenAddWidgetModalCommand;
|
|
12388
12431
|
const openWidgetAddModal = (modal, args, callback) => {
|
|
12389
12432
|
modal.openModal({
|
|
12390
|
-
component: defineAsyncComponent(() => import("./PbWidgetAddModal-
|
|
12433
|
+
component: defineAsyncComponent(() => import("./PbWidgetAddModal-CFwyR_Bq.js")),
|
|
12391
12434
|
style: {
|
|
12392
12435
|
width: "80%",
|
|
12393
12436
|
height: "80%",
|
|
@@ -14290,7 +14333,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
14290
14333
|
};
|
|
14291
14334
|
}
|
|
14292
14335
|
});
|
|
14293
|
-
const canvasStyle = '.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n width: 100%;\n margin: 0 auto;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\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 position: relative;\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\n.font-icon {\n font-family: Material Symbols Outlined, monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\nhtml, body {\n font-family: Noto Sans, Noto Sans KR, Noto Sans JP, Arial, sans-serif;\n font-size: 12px;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: #aaa;\n overflow: hidden;\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 left: 50%;\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 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}';
|
|
14336
|
+
const canvasStyle = '.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n width: 100%;\n margin: 0 auto;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\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 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\n.font-icon {\n font-family: Material Symbols Outlined, monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\nhtml, body {\n font-family: Noto Sans, Noto Sans KR, Noto Sans JP, Arial, sans-serif;\n font-size: 12px;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: #aaa;\n overflow: hidden;\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 left: 50%;\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 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}';
|
|
14294
14337
|
const _hoisted_1$2 = ["height", "width"];
|
|
14295
14338
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
14296
14339
|
__name: "PbPageFrame",
|
|
@@ -14358,7 +14401,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14358
14401
|
// width: `${width.value}px`,
|
|
14359
14402
|
// height: `${height.value}px`,
|
|
14360
14403
|
}));
|
|
14361
|
-
let
|
|
14404
|
+
let resizeObserver;
|
|
14362
14405
|
const updateIframeHeight = () => {
|
|
14363
14406
|
setTimeout(() => {
|
|
14364
14407
|
if (!iframeRef.value || !iframeRef.value.contentDocument) return;
|
|
@@ -14371,13 +14414,15 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14371
14414
|
onMounted(() => {
|
|
14372
14415
|
if (!iframeRef.value || !iframeRef.value.contentDocument) return;
|
|
14373
14416
|
const iframeBody = iframeRef.value.contentDocument.body;
|
|
14374
|
-
|
|
14375
|
-
|
|
14417
|
+
resizeObserver = new ResizeObserver(() => {
|
|
14418
|
+
updateIframeHeight();
|
|
14419
|
+
});
|
|
14420
|
+
resizeObserver.observe(iframeBody, {});
|
|
14376
14421
|
iframeRef.value.onload = updateIframeHeight;
|
|
14377
14422
|
});
|
|
14378
14423
|
onBeforeUnmount(() => {
|
|
14379
|
-
if (
|
|
14380
|
-
|
|
14424
|
+
if (resizeObserver) {
|
|
14425
|
+
resizeObserver.disconnect();
|
|
14381
14426
|
}
|
|
14382
14427
|
});
|
|
14383
14428
|
return (_ctx, _cache) => {
|
|
@@ -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-iOtzsn-m.js";
|
|
2
2
|
export {
|
|
3
3
|
B as BLOCK_TYPE,
|
|
4
4
|
b as Block,
|
|
@@ -6694,6 +6694,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6694
6694
|
const align = ((_a = this.properties) == null ? void 0 : _a.align) || "center";
|
|
6695
6695
|
if (this.isWidget()) {
|
|
6696
6696
|
style.alignSelf = this.getAlignStyleValue(align);
|
|
6697
|
+
} else if (this.isPage()) {
|
|
6698
|
+
style.display = "flex";
|
|
6699
|
+
style.flexDirection = "column";
|
|
6700
|
+
style.alignItems = this.getAlignStyleValue(align);
|
|
6697
6701
|
} else {
|
|
6698
6702
|
const direction = isMobilePage ? (_b = this.properties) == null ? void 0 : _b.directionSm : (_c = this.properties) == null ? void 0 : _c.directionLg;
|
|
6699
6703
|
if (direction === "horizontal") {
|
|
@@ -6725,10 +6729,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6725
6729
|
if ((_r = this.properties) == null ? void 0 : _r.bottom) style.bottom = this.properties.bottom;
|
|
6726
6730
|
if ((_s = this.properties) == null ? void 0 : _s.width) style.width = this.properties.width;
|
|
6727
6731
|
if ((_t = this.properties) == null ? void 0 : _t.height) style.height = this.properties.height;
|
|
6728
|
-
if ((_u = this.properties) == null ? void 0 : _u.maxWidth) style.
|
|
6729
|
-
if ((_v = this.properties) == null ? void 0 : _v.maxHeight) style.
|
|
6730
|
-
if ((_w = this.properties) == null ? void 0 : _w.minWidth) style.
|
|
6731
|
-
if ((_x = this.properties) == null ? void 0 : _x.minHeight) style.
|
|
6732
|
+
if ((_u = this.properties) == null ? void 0 : _u.maxWidth) style.maxWidth = this.properties.maxWidth;
|
|
6733
|
+
if ((_v = this.properties) == null ? void 0 : _v.maxHeight) style.maxHeight = this.properties.maxHeight;
|
|
6734
|
+
if ((_w = this.properties) == null ? void 0 : _w.minWidth) style.minWidth = this.properties.minWidth;
|
|
6735
|
+
if ((_x = this.properties) == null ? void 0 : _x.minHeight) style.minHeight = this.properties.minHeight;
|
|
6732
6736
|
if ((_y = this.properties) == null ? void 0 : _y.textAlign) style.textAlign = this.properties.textAlign;
|
|
6733
6737
|
if ((_z = this.properties) == null ? void 0 : _z.backgroundColor) style.backgroundColor = this.properties.backgroundColor;
|
|
6734
6738
|
if ((_A = this.properties) == null ? void 0 : _A.borderLeftWidth) style.borderLeftWidth = this.properties.borderLeftWidth;
|
|
@@ -6982,8 +6986,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6982
6986
|
};
|
|
6983
6987
|
}
|
|
6984
6988
|
});
|
|
6985
|
-
const _hoisted_1$7$1 = ["
|
|
6986
|
-
const _hoisted_2$4$1 =
|
|
6989
|
+
const _hoisted_1$7$1 = ["href", "target"];
|
|
6990
|
+
const _hoisted_2$4$1 = ["alt", "src"];
|
|
6991
|
+
const _hoisted_3$o = ["alt", "src"];
|
|
6992
|
+
const _hoisted_4$e = {
|
|
6987
6993
|
key: 1,
|
|
6988
6994
|
class: "placeholder"
|
|
6989
6995
|
};
|
|
@@ -7016,14 +7022,27 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
7016
7022
|
return {};
|
|
7017
7023
|
});
|
|
7018
7024
|
return (_ctx, _cache) => {
|
|
7019
|
-
var _a, _b;
|
|
7020
|
-
return ((_a = _ctx.part.properties) == null ? void 0 : _a.media) ? (vue.openBlock(), vue.createElementBlock(
|
|
7021
|
-
|
|
7022
|
-
|
|
7023
|
-
|
|
7024
|
-
|
|
7025
|
-
|
|
7026
|
-
|
|
7025
|
+
var _a, _b, _c, _d, _e, _f;
|
|
7026
|
+
return ((_a = _ctx.part.properties) == null ? void 0 : _a.media) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
7027
|
+
((_b = _ctx.part.properties) == null ? void 0 : _b.link) ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
7028
|
+
key: 0,
|
|
7029
|
+
href: (_c = _ctx.part.properties) == null ? void 0 : _c.link,
|
|
7030
|
+
target: (_d = _ctx.part.properties) == null ? void 0 : _d.linkTarget
|
|
7031
|
+
}, [
|
|
7032
|
+
vue.createElementVNode("img", {
|
|
7033
|
+
alt: altText.value,
|
|
7034
|
+
src: ((_e = _ctx.part.properties) == null ? void 0 : _e.media).url,
|
|
7035
|
+
style: vue.normalizeStyle(style.value),
|
|
7036
|
+
class: "image"
|
|
7037
|
+
}, null, 12, _hoisted_2$4$1)
|
|
7038
|
+
], 8, _hoisted_1$7$1)) : (vue.openBlock(), vue.createElementBlock("img", {
|
|
7039
|
+
key: 1,
|
|
7040
|
+
alt: altText.value,
|
|
7041
|
+
src: ((_f = _ctx.part.properties) == null ? void 0 : _f.media).url,
|
|
7042
|
+
style: vue.normalizeStyle(style.value),
|
|
7043
|
+
class: "image"
|
|
7044
|
+
}, null, 12, _hoisted_3$o))
|
|
7045
|
+
], 64)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e, _cache[0] || (_cache[0] = [
|
|
7027
7046
|
vue.createElementVNode("span", { class: "font-icon" }, "image", -1)
|
|
7028
7047
|
]))) : vue.createCommentVNode("", true);
|
|
7029
7048
|
};
|
|
@@ -9321,7 +9340,7 @@ ${_html.style}
|
|
|
9321
9340
|
const updateWidth = (value) => updatePropertyValue({ width: value });
|
|
9322
9341
|
const updateHeight = (value) => updatePropertyValue({ height: value });
|
|
9323
9342
|
const updateMaxWidth = (value) => updatePropertyValue({ maxWidth: value });
|
|
9324
|
-
const updateMaxHeight = (value) => updatePropertyValue({
|
|
9343
|
+
const updateMaxHeight = (value) => updatePropertyValue({ maxHeight: value });
|
|
9325
9344
|
const updateMinWidth = (value) => updatePropertyValue({ minWidth: value });
|
|
9326
9345
|
const updateMinHeight = (value) => updatePropertyValue({ minHeight: value });
|
|
9327
9346
|
return (_ctx, _cache) => {
|
|
@@ -11797,22 +11816,22 @@ ${_html.style}
|
|
|
11797
11816
|
propertyType: "text"
|
|
11798
11817
|
},
|
|
11799
11818
|
{
|
|
11800
|
-
propertyName: "
|
|
11819
|
+
propertyName: "minWidth",
|
|
11801
11820
|
caption: "Min Width",
|
|
11802
11821
|
propertyType: "text"
|
|
11803
11822
|
},
|
|
11804
11823
|
{
|
|
11805
|
-
propertyName: "
|
|
11824
|
+
propertyName: "minHeight",
|
|
11806
11825
|
caption: "Min Height",
|
|
11807
11826
|
propertyType: "text"
|
|
11808
11827
|
},
|
|
11809
11828
|
{
|
|
11810
|
-
propertyName: "
|
|
11829
|
+
propertyName: "maxWidth",
|
|
11811
11830
|
caption: "Max Width",
|
|
11812
11831
|
propertyType: "text"
|
|
11813
11832
|
},
|
|
11814
11833
|
{
|
|
11815
|
-
propertyName: "
|
|
11834
|
+
propertyName: "maxHeight",
|
|
11816
11835
|
caption: "Max Height",
|
|
11817
11836
|
propertyType: "text"
|
|
11818
11837
|
}
|
|
@@ -12072,6 +12091,18 @@ ${_html.style}
|
|
|
12072
12091
|
icon: "draft",
|
|
12073
12092
|
className: "pb-page",
|
|
12074
12093
|
propertyGroups: [
|
|
12094
|
+
{
|
|
12095
|
+
groupName: "size",
|
|
12096
|
+
caption: "Size",
|
|
12097
|
+
properties: [
|
|
12098
|
+
{
|
|
12099
|
+
propertyName: "maxWidth",
|
|
12100
|
+
caption: "Max Width",
|
|
12101
|
+
propertyType: "text",
|
|
12102
|
+
params: ""
|
|
12103
|
+
}
|
|
12104
|
+
]
|
|
12105
|
+
},
|
|
12075
12106
|
alignGroup(),
|
|
12076
12107
|
paddingGroup(),
|
|
12077
12108
|
backgroundGroup(),
|
|
@@ -12197,6 +12228,18 @@ ${_html.style}
|
|
|
12197
12228
|
caption: "Image",
|
|
12198
12229
|
propertyType: "image",
|
|
12199
12230
|
params: ""
|
|
12231
|
+
},
|
|
12232
|
+
{
|
|
12233
|
+
propertyName: "link",
|
|
12234
|
+
caption: "Link",
|
|
12235
|
+
propertyType: "text",
|
|
12236
|
+
params: ""
|
|
12237
|
+
},
|
|
12238
|
+
{
|
|
12239
|
+
propertyName: "linkTarget",
|
|
12240
|
+
caption: "Link Target",
|
|
12241
|
+
propertyType: "text",
|
|
12242
|
+
params: ""
|
|
12200
12243
|
}
|
|
12201
12244
|
]
|
|
12202
12245
|
},
|
|
@@ -14291,7 +14334,7 @@ ${_html.style}
|
|
|
14291
14334
|
};
|
|
14292
14335
|
}
|
|
14293
14336
|
});
|
|
14294
|
-
const canvasStyle = '.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n width: 100%;\n margin: 0 auto;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\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 position: relative;\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\n.font-icon {\n font-family: Material Symbols Outlined, monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\nhtml, body {\n font-family: Noto Sans, Noto Sans KR, Noto Sans JP, Arial, sans-serif;\n font-size: 12px;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: #aaa;\n overflow: hidden;\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 left: 50%;\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 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}';
|
|
14337
|
+
const canvasStyle = '.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n width: 100%;\n margin: 0 auto;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\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 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\n.font-icon {\n font-family: Material Symbols Outlined, monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\nhtml, body {\n font-family: Noto Sans, Noto Sans KR, Noto Sans JP, Arial, sans-serif;\n font-size: 12px;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: #aaa;\n overflow: hidden;\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 left: 50%;\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 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}';
|
|
14295
14338
|
const _hoisted_1$f = ["height", "width"];
|
|
14296
14339
|
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
14297
14340
|
__name: "PbPageFrame",
|
|
@@ -14359,7 +14402,7 @@ ${_html.style}
|
|
|
14359
14402
|
// width: `${width.value}px`,
|
|
14360
14403
|
// height: `${height.value}px`,
|
|
14361
14404
|
}));
|
|
14362
|
-
let
|
|
14405
|
+
let resizeObserver;
|
|
14363
14406
|
const updateIframeHeight = () => {
|
|
14364
14407
|
setTimeout(() => {
|
|
14365
14408
|
if (!iframeRef.value || !iframeRef.value.contentDocument) return;
|
|
@@ -14372,13 +14415,15 @@ ${_html.style}
|
|
|
14372
14415
|
vue.onMounted(() => {
|
|
14373
14416
|
if (!iframeRef.value || !iframeRef.value.contentDocument) return;
|
|
14374
14417
|
const iframeBody = iframeRef.value.contentDocument.body;
|
|
14375
|
-
|
|
14376
|
-
|
|
14418
|
+
resizeObserver = new ResizeObserver(() => {
|
|
14419
|
+
updateIframeHeight();
|
|
14420
|
+
});
|
|
14421
|
+
resizeObserver.observe(iframeBody, {});
|
|
14377
14422
|
iframeRef.value.onload = updateIframeHeight;
|
|
14378
14423
|
});
|
|
14379
14424
|
vue.onBeforeUnmount(() => {
|
|
14380
|
-
if (
|
|
14381
|
-
|
|
14425
|
+
if (resizeObserver) {
|
|
14426
|
+
resizeObserver.disconnect();
|
|
14382
14427
|
}
|
|
14383
14428
|
});
|
|
14384
14429
|
return (_ctx, _cache) => {
|
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.32",
|
|
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.32"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^20.12.7",
|