@g1cloud/page-builder-editor 1.0.0-alpha.86 → 1.0.0-alpha.88

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.
@@ -5,12 +5,14 @@ export declare const sizeGroup: () => PartPropertyGroup;
5
5
  export declare const marginGroup: () => PartPropertyGroup;
6
6
  export declare const paddingGroup: () => PartPropertyGroup;
7
7
  export declare const commonGroup: () => PartPropertyGroup;
8
- export declare const layoutGroup: () => PartPropertyGroup;
8
+ export declare const sectionLayoutGroup: () => PartPropertyGroup;
9
+ export declare const blockLayoutGroup: () => PartPropertyGroup;
9
10
  export declare const alignGroup: () => PartPropertyGroup;
10
11
  export declare const alignItemsGroup: () => PartPropertyGroup;
11
12
  export declare const alignSelfGroup: () => PartPropertyGroup;
12
13
  export declare const backgroundGroup: () => PartPropertyGroup;
13
14
  export declare const borderGroup: () => PartPropertyGroup;
14
15
  export declare const hideParentGroup: () => PartPropertyGroup;
15
- export declare const defaultPropertyGroups: () => PartPropertyGroup[];
16
+ export declare const defaultSectionPropertyGroups: () => PartPropertyGroup[];
17
+ export declare const defaultBlockPropertyGroups: () => PartPropertyGroup[];
16
18
  export declare const defaultWidgetPropertyGroups: () => PartPropertyGroup[];
@@ -1,4 +1,4 @@
1
- import { B, b, M, c, d, e, _, a, f, g, h, i, j, k, l, m, n, R, o, S, p, W, q, r, v, x, y, z, A, D, E } from "./index-BkwtXDoX.js";
1
+ import { B, b, M, c, d, e, _, a, f, g, h, i, j, k, l, m, n, R, o, S, p, W, q, r, v, x, y, z, A, D, E } from "./index-DUYDGuPh.js";
2
2
  export {
3
3
  B as BLOCK_TYPE,
4
4
  b as Block,
@@ -6881,7 +6881,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6881
6881
  this.rootPart = vue.ref(new RootPart());
6882
6882
  }
6883
6883
  };
6884
- const _hoisted_1$a$1 = ["data-part-id"];
6884
+ const _hoisted_1$8$1 = ["data-part-id"];
6885
6885
  const _sfc_main$b$1 = /* @__PURE__ */ vue.defineComponent({
6886
6886
  __name: "PbWidget",
6887
6887
  props: {
@@ -6941,13 +6941,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6941
6941
  part: _ctx.part,
6942
6942
  "onUpdate:visible": updateVisible
6943
6943
  }, null, 40, ["part"])) : vue.createCommentVNode("", true)
6944
- ], 14, _hoisted_1$a$1)), [
6944
+ ], 14, _hoisted_1$8$1)), [
6945
6945
  [vue.vShow, visible.value]
6946
6946
  ]);
6947
6947
  };
6948
6948
  }
6949
6949
  });
6950
- const _hoisted_1$9$1 = ["data-part-id"];
6951
6950
  const _sfc_main$a$1 = /* @__PURE__ */ vue.defineComponent({
6952
6951
  __name: "PbBlock",
6953
6952
  props: {
@@ -6965,6 +6964,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6965
6964
  }
6966
6965
  emit("update:visible", visible.value, hideParentWhenInvisible);
6967
6966
  };
6967
+ const validTags = ["div", "section", "li"];
6968
+ const tag = vue.computed(() => {
6969
+ var _a;
6970
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
6971
+ return validTags.includes(_tag) ? _tag : "div";
6972
+ });
6968
6973
  const classNames = vue.computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
6969
6974
  const style = vue.computed(() => ({
6970
6975
  ...props.part.getStyles(props.isMobilePage),
@@ -6998,25 +7003,29 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6998
7003
  removeStyleTag();
6999
7004
  });
7000
7005
  return (_ctx, _cache) => {
7001
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
7002
- class: vue.normalizeClass(classNames.value),
7003
- "data-part-id": _ctx.part.partId,
7004
- style: vue.normalizeStyle(style.value)
7005
- }, [
7006
- _ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
7007
- return vue.openBlock(), vue.createBlock(_sfc_main$b$1, {
7008
- key: child.partId,
7009
- part: child,
7010
- "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7011
- }, null, 8, ["part"]);
7012
- }), 128)) : vue.createCommentVNode("", true)
7013
- ], 14, _hoisted_1$9$1)), [
7006
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("template", null, [
7007
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tag.value), {
7008
+ class: vue.normalizeClass(classNames.value),
7009
+ "data-part-id": _ctx.part.partId,
7010
+ style: vue.normalizeStyle(style.value)
7011
+ }, {
7012
+ default: vue.withCtx(() => [
7013
+ _ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
7014
+ return vue.openBlock(), vue.createBlock(_sfc_main$b$1, {
7015
+ key: child.partId,
7016
+ part: child,
7017
+ "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7018
+ }, null, 8, ["part"]);
7019
+ }), 128)) : vue.createCommentVNode("", true)
7020
+ ]),
7021
+ _: 1
7022
+ }, 8, ["class", "data-part-id", "style"]))
7023
+ ], 512)), [
7014
7024
  [vue.vShow, visible.value]
7015
7025
  ]);
7016
7026
  };
7017
7027
  }
7018
7028
  });
7019
- const _hoisted_1$8$1 = ["data-part-id"];
7020
7029
  const _sfc_main$9$1 = /* @__PURE__ */ vue.defineComponent({
7021
7030
  __name: "PbSection",
7022
7031
  props: {
@@ -7031,6 +7040,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7031
7040
  visible.value = false;
7032
7041
  }
7033
7042
  };
7043
+ const validTags = ["div", "section", "ul"];
7044
+ const tag = vue.computed(() => {
7045
+ var _a;
7046
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
7047
+ return validTags.includes(_tag) ? _tag : "div";
7048
+ });
7034
7049
  const classNames = vue.computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
7035
7050
  const style = vue.computed(() => ({
7036
7051
  ...props.part.getStyles(props.isMobilePage),
@@ -7064,27 +7079,32 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7064
7079
  removeStyleTag();
7065
7080
  });
7066
7081
  return (_ctx, _cache) => {
7067
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
7068
- class: vue.normalizeClass(classNames.value),
7069
- "data-part-id": _ctx.part.partId,
7070
- style: vue.normalizeStyle(style.value)
7071
- }, [
7072
- _ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
7073
- return vue.openBlock(), vue.createBlock(_sfc_main$a$1, {
7074
- key: child.partId,
7075
- "is-mobile-page": _ctx.isMobilePage,
7076
- part: child,
7077
- "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7078
- }, null, 8, ["is-mobile-page", "part"]);
7079
- }), 128)) : vue.createCommentVNode("", true)
7080
- ], 14, _hoisted_1$8$1)), [
7082
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("template", null, [
7083
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tag.value), {
7084
+ class: vue.normalizeClass(classNames.value),
7085
+ "data-part-id": _ctx.part.partId,
7086
+ style: vue.normalizeStyle(style.value)
7087
+ }, {
7088
+ default: vue.withCtx(() => [
7089
+ _ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
7090
+ return vue.openBlock(), vue.createBlock(_sfc_main$a$1, {
7091
+ key: child.partId,
7092
+ "is-mobile-page": _ctx.isMobilePage,
7093
+ part: child,
7094
+ "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7095
+ }, null, 8, ["is-mobile-page", "part"]);
7096
+ }), 128)) : vue.createCommentVNode("", true)
7097
+ ]),
7098
+ _: 1
7099
+ }, 8, ["class", "data-part-id", "style"]))
7100
+ ], 512)), [
7081
7101
  [vue.vShow, visible.value]
7082
7102
  ]);
7083
7103
  };
7084
7104
  }
7085
7105
  });
7086
7106
  const _hoisted_1$7$1 = ["href", "target"];
7087
- const _hoisted_2$4$1 = ["alt", "src"];
7107
+ const _hoisted_2$3$1 = ["alt", "src"];
7088
7108
  const _hoisted_3$k = ["alt", "src"];
7089
7109
  const _hoisted_4$f = ["poster"];
7090
7110
  const _hoisted_5$b = ["src"];
@@ -7143,7 +7163,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7143
7163
  src: ((_d = _ctx.part.properties) == null ? void 0 : _d.media).fileUrl,
7144
7164
  style: vue.normalizeStyle(style.value),
7145
7165
  class: "image"
7146
- }, null, 12, _hoisted_2$4$1)
7166
+ }, null, 12, _hoisted_2$3$1)
7147
7167
  ], 8, _hoisted_1$7$1)) : (vue.openBlock(), vue.createElementBlock("img", {
7148
7168
  key: 1,
7149
7169
  alt: altText.value,
@@ -7168,8 +7188,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7168
7188
  };
7169
7189
  }
7170
7190
  });
7171
- const _hoisted_1$6$1 = ["textContent"];
7172
- const _hoisted_2$3$1 = {
7191
+ const _hoisted_1$6$1 = {
7173
7192
  key: 1,
7174
7193
  class: "placeholder",
7175
7194
  textContent: "Empty Text"
@@ -7183,6 +7202,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7183
7202
  setup(__props) {
7184
7203
  const props = __props;
7185
7204
  const pageBuilder = usePageBuilder();
7205
+ const validTags = ["div", "h1", "h2", "h3", "h4", "h5", "h6", "p", "span"];
7206
+ const tag = vue.computed(() => {
7207
+ var _a;
7208
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
7209
+ return validTags.includes(_tag) ? _tag : "div";
7210
+ });
7186
7211
  const text = vue.computed(() => {
7187
7212
  var _a;
7188
7213
  if ((_a = props.part.properties) == null ? void 0 : _a.text) {
@@ -7204,12 +7229,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7204
7229
  };
7205
7230
  });
7206
7231
  return (_ctx, _cache) => {
7207
- return text.value ? (vue.openBlock(), vue.createElementBlock("div", {
7232
+ return text.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tag.value), {
7208
7233
  key: 0,
7209
7234
  style: vue.normalizeStyle(style.value),
7210
7235
  class: "text",
7211
7236
  textContent: vue.toDisplayString(text.value)
7212
- }, null, 12, _hoisted_1$6$1)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$3$1)) : vue.createCommentVNode("", true);
7237
+ }, null, 8, ["style", "textContent"])) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6$1)) : vue.createCommentVNode("", true);
7213
7238
  };
7214
7239
  }
7215
7240
  });
@@ -7484,7 +7509,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7484
7509
  vue.onMounted(() => {
7485
7510
  const interval = setInterval(() => {
7486
7511
  try {
7487
- if (window && window.YT) {
7512
+ if (window && window.YT && window.YT.Player) {
7488
7513
  isYTReady.value = true;
7489
7514
  clearInterval(interval);
7490
7515
  }
@@ -7853,7 +7878,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7853
7878
  };
7854
7879
  }
7855
7880
  });
7856
- const _hoisted_1$J = {
7881
+ const _hoisted_1$H = {
7857
7882
  key: 1,
7858
7883
  class: "placeholder",
7859
7884
  textContent: "Empty Widget"
@@ -7874,7 +7899,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
7874
7899
  key: child.part.partId,
7875
7900
  part: child.part
7876
7901
  }, null, 8, ["part"]);
7877
- }), 128)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J)) : vue.createCommentVNode("", true);
7902
+ }), 128)) : _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H)) : vue.createCommentVNode("", true);
7878
7903
  };
7879
7904
  }
7880
7905
  });
@@ -8741,9 +8766,9 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
8741
8766
  return target;
8742
8767
  };
8743
8768
  const _sfc_main$E = {};
8744
- const _hoisted_1$I = { class: "pb-add-widget-button" };
8769
+ const _hoisted_1$G = { class: "pb-add-widget-button" };
8745
8770
  function _sfc_render$1(_ctx, _cache) {
8746
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
8771
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
8747
8772
  vue.createElementVNode("button", {
8748
8773
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("add-widget", $event))
8749
8774
  }, _cache[1] || (_cache[1] = [
@@ -8780,7 +8805,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
8780
8805
  if (!mouseTracker) throw Error(MOUSE_TRACKER_NOT_FOUND);
8781
8806
  return mouseTracker;
8782
8807
  };
8783
- const _hoisted_1$H = ["data-part-id", "draggable"];
8808
+ const _hoisted_1$F = ["data-part-id", "draggable"];
8784
8809
  const _hoisted_2$v = {
8785
8810
  key: 1,
8786
8811
  class: "invalid-widget",
@@ -9250,13 +9275,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
9250
9275
  class: "resize-handle",
9251
9276
  onMousedown: resizeChild
9252
9277
  }, null, 32)) : vue.createCommentVNode("", true)
9253
- ], 14, _hoisted_1$H)), [
9278
+ ], 14, _hoisted_1$F)), [
9254
9279
  [vue.unref(vPartHandler), { pageBuilder: vue.unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
9255
9280
  ]);
9256
9281
  };
9257
9282
  }
9258
9283
  });
9259
- const _hoisted_1$G = ["data-part-id"];
9260
9284
  const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
9261
9285
  __name: "PbBlock",
9262
9286
  props: {
@@ -9267,6 +9291,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
9267
9291
  setup(__props) {
9268
9292
  const props = __props;
9269
9293
  const pageBuilder = usePageBuilderEditor();
9294
+ const validTags = ["div", "section", "li"];
9295
+ const tag = vue.computed(() => {
9296
+ var _a;
9297
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
9298
+ return validTags.includes(_tag) ? _tag : "div";
9299
+ });
9270
9300
  const selected = vue.computed(() => pageBuilder.context.isSelected(props.part));
9271
9301
  const classNames = vue.computed(() => [
9272
9302
  selected.value ? "selected" : "",
@@ -9466,31 +9496,37 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
9466
9496
  return index;
9467
9497
  };
9468
9498
  return (_ctx, _cache) => {
9469
- var _a, _b;
9470
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
9499
+ var _a;
9500
+ return vue.withDirectives((vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tag.value), vue.mergeProps({
9471
9501
  ref_key: "partRef",
9472
9502
  ref: partRef,
9473
9503
  class: [classNames.value, "pb-block"],
9474
9504
  "data-part-id": _ctx.part.partId,
9475
9505
  style: (_a = _ctx.part.properties) == null ? void 0 : _a.css
9476
- }, properties.value), [
9477
- !_ctx.part.children || ((_b = _ctx.part.children) == null ? void 0 : _b.length) === 0 ? (vue.openBlock(), vue.createBlock(PbAddWidgetButton, {
9478
- key: 0,
9479
- onAddWidget: addWidget
9480
- })) : vue.createCommentVNode("", true),
9481
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.part.children, (child) => {
9482
- return vue.openBlock(), vue.createBlock(_sfc_main$D, {
9483
- key: child.partId,
9484
- part: child
9485
- }, null, 8, ["part"]);
9486
- }), 128))
9487
- ], 16, _hoisted_1$G)), [
9506
+ }, properties.value), {
9507
+ default: vue.withCtx(() => {
9508
+ var _a2;
9509
+ return [
9510
+ !_ctx.part.children || ((_a2 = _ctx.part.children) == null ? void 0 : _a2.length) === 0 ? (vue.openBlock(), vue.createBlock(PbAddWidgetButton, {
9511
+ key: 0,
9512
+ onAddWidget: addWidget
9513
+ })) : vue.createCommentVNode("", true),
9514
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.part.children, (child) => {
9515
+ return vue.openBlock(), vue.createBlock(_sfc_main$D, {
9516
+ key: child.partId,
9517
+ part: child
9518
+ }, null, 8, ["part"]);
9519
+ }), 128))
9520
+ ];
9521
+ }),
9522
+ _: 1
9523
+ }, 16, ["class", "data-part-id", "style"])), [
9488
9524
  [vue.unref(vPartHandler), { pageBuilder: vue.unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
9489
9525
  ]);
9490
9526
  };
9491
9527
  }
9492
9528
  });
9493
- const _hoisted_1$F = { class: "pb-block" };
9529
+ const _hoisted_1$E = { class: "pb-block" };
9494
9530
  const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
9495
9531
  __name: "PbLoginDepart",
9496
9532
  props: {
@@ -9498,7 +9534,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
9498
9534
  },
9499
9535
  setup(__props) {
9500
9536
  return (_ctx, _cache) => {
9501
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, _cache[0] || (_cache[0] = [
9537
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, _cache[0] || (_cache[0] = [
9502
9538
  vue.createElementVNode("div", {
9503
9539
  class: "pb-widget",
9504
9540
  style: { "margin": "0 auto" }
@@ -9511,7 +9547,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
9511
9547
  };
9512
9548
  }
9513
9549
  });
9514
- const _hoisted_1$E = ["data-part-id"];
9515
9550
  const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
9516
9551
  __name: "PbSection",
9517
9552
  props: {
@@ -9522,6 +9557,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
9522
9557
  setup(__props) {
9523
9558
  const props = __props;
9524
9559
  const pageBuilder = usePageBuilderEditor();
9560
+ const validTags = ["div", "section", "ul"];
9561
+ const tag = vue.computed(() => {
9562
+ var _a;
9563
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
9564
+ return validTags.includes(_tag) ? _tag : "div";
9565
+ });
9525
9566
  const selected = vue.computed(() => pageBuilder.context.isSelected(props.part));
9526
9567
  const classNames = vue.computed(() => {
9527
9568
  return [
@@ -9645,32 +9686,38 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
9645
9686
  return index;
9646
9687
  };
9647
9688
  return (_ctx, _cache) => {
9648
- var _a, _b, _c;
9649
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
9689
+ var _a;
9690
+ return vue.withDirectives((vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tag.value), vue.mergeProps({
9650
9691
  ref_key: "partRef",
9651
9692
  ref: partRef,
9652
9693
  class: [classNames.value, "pb-section"],
9653
9694
  "data-part-id": _ctx.part.partId,
9654
9695
  style: (_a = _ctx.part.properties) == null ? void 0 : _a.css
9655
- }, properties.value), [
9656
- ((_b = _ctx.part.properties) == null ? void 0 : _b.sectionType) === "static" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
9657
- ((_c = _ctx.part.properties) == null ? void 0 : _c.name) === "Login Design Part" ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
9658
- key: 0,
9659
- part: _ctx.part
9660
- }, null, 8, ["part"])) : vue.createCommentVNode("", true)
9661
- ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
9662
- _ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (block) => {
9663
- return vue.openBlock(), vue.createBlock(_sfc_main$C, {
9664
- key: block.partId,
9665
- "is-mobile-page": _ctx.isMobilePage,
9666
- part: block
9667
- }, null, 8, ["is-mobile-page", "part"]);
9668
- }), 128)) : (vue.openBlock(), vue.createBlock(PbAddWidgetButton, {
9669
- key: 1,
9670
- onAddWidget: addWidget
9671
- }))
9672
- ], 64))
9673
- ], 16, _hoisted_1$E)), [
9696
+ }, properties.value), {
9697
+ default: vue.withCtx(() => {
9698
+ var _a2, _b;
9699
+ return [
9700
+ ((_a2 = _ctx.part.properties) == null ? void 0 : _a2.sectionType) === "static" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
9701
+ ((_b = _ctx.part.properties) == null ? void 0 : _b.name) === "Login Design Part" ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
9702
+ key: 0,
9703
+ part: _ctx.part
9704
+ }, null, 8, ["part"])) : vue.createCommentVNode("", true)
9705
+ ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
9706
+ _ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (block) => {
9707
+ return vue.openBlock(), vue.createBlock(_sfc_main$C, {
9708
+ key: block.partId,
9709
+ "is-mobile-page": _ctx.isMobilePage,
9710
+ part: block
9711
+ }, null, 8, ["is-mobile-page", "part"]);
9712
+ }), 128)) : (vue.openBlock(), vue.createBlock(PbAddWidgetButton, {
9713
+ key: 1,
9714
+ onAddWidget: addWidget
9715
+ }))
9716
+ ], 64))
9717
+ ];
9718
+ }),
9719
+ _: 1
9720
+ }, 16, ["class", "data-part-id", "style"])), [
9674
9721
  [vue.unref(vPartHandler), { pageBuilder: vue.unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
9675
9722
  ]);
9676
9723
  };
@@ -12440,7 +12487,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
12440
12487
  ]
12441
12488
  };
12442
12489
  };
12443
- const layoutGroup = () => {
12490
+ const sectionLayoutGroup = () => {
12444
12491
  return {
12445
12492
  groupName: "layout",
12446
12493
  caption: "pb.prop.layout",
@@ -12461,6 +12508,43 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
12461
12508
  propertyName: "gap",
12462
12509
  caption: "pb.prop.gap",
12463
12510
  propertyType: "text"
12511
+ },
12512
+ {
12513
+ propertyName: "tag",
12514
+ caption: "pb.prop.tag",
12515
+ propertyType: "select",
12516
+ params: "div,section,ul"
12517
+ }
12518
+ ]
12519
+ };
12520
+ };
12521
+ const blockLayoutGroup = () => {
12522
+ return {
12523
+ groupName: "layout",
12524
+ caption: "pb.prop.layout",
12525
+ properties: [
12526
+ {
12527
+ propertyName: "direction",
12528
+ caption: "pb.prop.layout",
12529
+ propertyType: "select",
12530
+ params: "vertical,horizontal"
12531
+ },
12532
+ {
12533
+ propertyName: "wrap",
12534
+ caption: "pb.prop.wrap",
12535
+ propertyType: "select",
12536
+ params: "nowrap,wrap"
12537
+ },
12538
+ {
12539
+ propertyName: "gap",
12540
+ caption: "pb.prop.gap",
12541
+ propertyType: "text"
12542
+ },
12543
+ {
12544
+ propertyName: "tag",
12545
+ caption: "pb.prop.tag",
12546
+ propertyType: "select",
12547
+ params: "div,section,li"
12464
12548
  }
12465
12549
  ]
12466
12550
  };
@@ -12605,8 +12689,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
12605
12689
  ]
12606
12690
  };
12607
12691
  };
12608
- const defaultPropertyGroups = () => {
12609
- return [layoutGroup(), alignGroup(), sizeGroup(), marginGroup(), paddingGroup(), backgroundGroup(), commonGroup()];
12692
+ const defaultSectionPropertyGroups = () => {
12693
+ return [sectionLayoutGroup(), alignGroup(), sizeGroup(), marginGroup(), paddingGroup(), backgroundGroup(), commonGroup()];
12694
+ };
12695
+ const defaultBlockPropertyGroups = () => {
12696
+ return [blockLayoutGroup(), alignGroup(), sizeGroup(), marginGroup(), paddingGroup(), backgroundGroup(), commonGroup()];
12610
12697
  };
12611
12698
  const defaultWidgetPropertyGroups = () => {
12612
12699
  return [alignSelfGroup(), positionGroup(), sizeGroup(), marginGroup(), paddingGroup(), borderGroup(), backgroundGroup(), commonGroup(), hideParentGroup()];
@@ -12807,7 +12894,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
12807
12894
  icon: "rectangle",
12808
12895
  className: "pb-section",
12809
12896
  propertyGroups: [
12810
- ...defaultPropertyGroups()
12897
+ ...defaultSectionPropertyGroups()
12811
12898
  ],
12812
12899
  initialProperties: {
12813
12900
  direction: "horizontal",
@@ -12826,7 +12913,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
12826
12913
  icon: "space_dashboard",
12827
12914
  className: "pb-block",
12828
12915
  propertyGroups: [
12829
- ...defaultPropertyGroups()
12916
+ ...defaultBlockPropertyGroups()
12830
12917
  ],
12831
12918
  initialProperties: {
12832
12919
  direction: "vertical",
@@ -12879,6 +12966,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
12879
12966
  caption: "pb.prop.fontColor",
12880
12967
  propertyType: "color",
12881
12968
  params: ""
12969
+ },
12970
+ {
12971
+ propertyName: "tag",
12972
+ caption: "pb.prop.tag",
12973
+ propertyType: "select",
12974
+ params: "div,h1,h2,h3,h4,h5,h6,p,span"
12882
12975
  }
12883
12976
  ]
12884
12977
  },
@@ -12891,7 +12984,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
12891
12984
  paddingBottom: "12px",
12892
12985
  paddingLeft: "12px",
12893
12986
  paddingRight: "12px",
12894
- align: "center"
12987
+ align: "center",
12988
+ tag: "div"
12895
12989
  },
12896
12990
  allowsChild: () => false,
12897
12991
  creator: () => _sfc_main$7$1
@@ -15303,7 +15397,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
15303
15397
  };
15304
15398
  }
15305
15399
  });
15306
- const canvasStyle = '.pb-page {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n overflow-x: hidden;\n}\n.pb-page .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}\n.pb-page .pb-section .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}\n.pb-page .pb-section .pb-block .pb-widget {\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.pb-page .pb-section .pb-block .pb-text-widget {\n width: 100%;\n height: fit-content;\n}\n.pb-page .pb-section .pb-block .pb-text-widget .text {\n color: #333;\n}\n.pb-page .pb-section .pb-block .pb-text-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n.pb-page .pb-section .pb-block .pb-media-widget {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-media-widget .image {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-media-widget .video {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-media-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .pb-media-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n.pb-page .pb-section .pb-block .pb-html-widget {\n width: 100%;\n height: fit-content;\n}\n.pb-page .pb-section .pb-block .pb-html-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n.pb-page .pb-section .pb-block .pb-iframe-widget {\n width: 100%;\n height: fit-content;\n}\n.pb-page .pb-section .pb-block .pb-iframe-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n.pb-page .pb-section .pb-block .pb-youtube-widget {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-youtube-widget .youtube {\n width: 100%;\n height: 100%;\n}\n.pb-page .pb-section .pb-block .pb-youtube-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .pb-youtube-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n.pb-page .pb-section .pb-block .pb-container-widget {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-container-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .pb-container-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n.pb-page .pb-section .pb-block .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.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper {\n width: 25%;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper .product {\n width: 95%;\n margin: 0 auto;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper img {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper .name {\n margin-top: 8px;\n font-size: 14px;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper .price {\n margin-top: 8px;\n font-size: 14px;\n font-weight: bold;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper .empty {\n height: 200px;\n background-color: #eee;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .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@media (max-width: 768px) {\n .pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper {\n width: 50%;\n }\n}\n.pb-page .pb-section .pb-block .mobile .pb-product-list-widget .product-wrapper {\n width: 50%;\n}\n.pb-page .pb-section .pb-block .pb-login-widget {\n height: 200px;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .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.pb-page * {\n box-sizing: border-box;\n}\n.pb-viewer {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n overflow-y: auto;\n}\n.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\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.pb-page .pb-page-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: #fff;\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.pb-page * {\n box-sizing: border-box;\n}\n.pb-add-widget-button {\n width: 100%;\n height: 100%;\n min-height: 200px;\n position: relative;\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.pb-add-widget-button button:hover {\n background-color: #eeeeee;\n}\n.pb-add-widget-button .icon {\n font-size: 1rem;\n vertical-align: middle;\n}\n.pb-add-widget-button .text {\n font-size: 1rem;\n vertical-align: middle;\n margin-left: 0.4rem;\n}\n.pb-section {\n display: flex;\n position: relative;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n outline: 1px dashed #ccc;\n}\n.pb-section:empty {\n background-color: #fff;\n}\n.pb-section:hover:not(:has(.pb-block:hover)) {\n background-color: #f0f0f0;\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.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.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.pb-section-static .pb-widget {\n outline: none;\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.pb-block:hover:not(:has(.pb-widget:hover)) {\n background-color: #f0f0f0;\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.pb-widget {\n position: relative;\n outline: 1px dashed #ccc;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n pointer-events: auto !important;\n min-height: 50px;\n}\n.pb-widget * {\n pointer-events: none;\n}\n.pb-widget > .invalid-widget {\n display: flex;\n height: 50px;\n justify-content: center;\n align-items: center;\n width: 100%;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n.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.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\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.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}\nbody {\n margin: 0;\n padding: 0;\n background-color: var(--color-canvas-frame-bg);\n overflow: hidden;\n}\n.font-icon, .material-icons-outlined {\n font-family: "Material Symbols Outlined", monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n.pb-position-mark {\n background-color: #ff3333;\n opacity: 0.5;\n border-radius: 2px;\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.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.pb-add-section-handle.bottom {\n bottom: -32px;\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.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}';
15400
+ const canvasStyle = '.pb-page {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n overflow-x: hidden;\n}\n.pb-page .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}\n.pb-page .pb-section .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}\n.pb-page .pb-section .pb-block .pb-widget {\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.pb-page .pb-section .pb-block .pb-text-widget {\n width: 100%;\n height: fit-content;\n}\n.pb-page .pb-section .pb-block .pb-text-widget .text {\n display: block;\n color: #333;\n}\n.pb-page .pb-section .pb-block .pb-text-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n.pb-page .pb-section .pb-block .pb-media-widget {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-media-widget .image {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-media-widget .video {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-media-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .pb-media-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n.pb-page .pb-section .pb-block .pb-html-widget {\n width: 100%;\n height: fit-content;\n}\n.pb-page .pb-section .pb-block .pb-html-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n.pb-page .pb-section .pb-block .pb-iframe-widget {\n width: 100%;\n height: fit-content;\n}\n.pb-page .pb-section .pb-block .pb-iframe-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n.pb-page .pb-section .pb-block .pb-youtube-widget {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-youtube-widget .youtube {\n width: 100%;\n height: 100%;\n}\n.pb-page .pb-section .pb-block .pb-youtube-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .pb-youtube-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n.pb-page .pb-section .pb-block .pb-container-widget {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-container-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .pb-container-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n.pb-page .pb-section .pb-block .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.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper {\n width: 25%;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper .product {\n width: 95%;\n margin: 0 auto;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper img {\n width: 100%;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper .name {\n margin-top: 8px;\n font-size: 14px;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper .price {\n margin-top: 8px;\n font-size: 14px;\n font-weight: bold;\n}\n.pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper .empty {\n height: 200px;\n background-color: #eee;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .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@media (max-width: 768px) {\n .pb-page .pb-section .pb-block .pb-product-list-widget .product-wrapper {\n width: 50%;\n }\n}\n.pb-page .pb-section .pb-block .mobile .pb-product-list-widget .product-wrapper {\n width: 50%;\n}\n.pb-page .pb-section .pb-block .pb-login-widget {\n height: 200px;\n text-align: center;\n}\n.pb-page .pb-section .pb-block .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.pb-page * {\n box-sizing: border-box;\n}\n.pb-viewer {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n overflow-y: auto;\n}\n.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\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.pb-page .pb-page-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: #fff;\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.pb-page * {\n box-sizing: border-box;\n}\n.pb-add-widget-button {\n width: 100%;\n height: 100%;\n min-height: 200px;\n position: relative;\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.pb-add-widget-button button:hover {\n background-color: #eeeeee;\n}\n.pb-add-widget-button .icon {\n font-size: 1rem;\n vertical-align: middle;\n}\n.pb-add-widget-button .text {\n font-size: 1rem;\n vertical-align: middle;\n margin-left: 0.4rem;\n}\n.pb-section {\n display: flex;\n position: relative;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n outline: 1px dashed #ccc;\n}\n.pb-section:empty {\n background-color: #fff;\n}\n.pb-section:hover:not(:has(.pb-block:hover)) {\n background-color: #f0f0f0;\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.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.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.pb-section-static .pb-widget {\n outline: none;\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.pb-block:hover:not(:has(.pb-widget:hover)) {\n background-color: #f0f0f0;\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.pb-widget {\n position: relative;\n outline: 1px dashed #ccc;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n pointer-events: auto !important;\n min-height: 50px;\n}\n.pb-widget * {\n pointer-events: none;\n}\n.pb-widget > .invalid-widget {\n display: flex;\n height: 50px;\n justify-content: center;\n align-items: center;\n width: 100%;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n.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.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\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.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}\nbody {\n margin: 0;\n padding: 0;\n background-color: var(--color-canvas-frame-bg);\n overflow: hidden;\n}\n.font-icon, .material-icons-outlined {\n font-family: "Material Symbols Outlined", monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n.pb-position-mark {\n background-color: #ff3333;\n opacity: 0.5;\n border-radius: 2px;\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.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.pb-add-section-handle.bottom {\n bottom: -32px;\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.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}';
15307
15401
  const _hoisted_1$h = ["width"];
15308
15402
  const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15309
15403
  __name: "PbPageFrame",
@@ -15728,6 +15822,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
15728
15822
  key: "pb.prop.fontColor",
15729
15823
  text: "Font Color"
15730
15824
  },
15825
+ {
15826
+ key: "pb.prop.tag",
15827
+ text: "HTML Tag"
15828
+ },
15731
15829
  {
15732
15830
  key: "pb.prop.image",
15733
15831
  text: "Image"
@@ -16062,6 +16160,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
16062
16160
  key: "pb.prop.fontColor",
16063
16161
  text: "フォントの色"
16064
16162
  },
16163
+ {
16164
+ key: "pb.prop.tag",
16165
+ text: "HTMLのタグ"
16166
+ },
16065
16167
  {
16066
16168
  key: "pb.prop.image",
16067
16169
  text: "画像"
@@ -16396,6 +16498,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
16396
16498
  key: "pb.prop.fontColor",
16397
16499
  text: "텍스트 색상"
16398
16500
  },
16501
+ {
16502
+ key: "pb.prop.tag",
16503
+ text: "HTML 태그"
16504
+ },
16399
16505
  {
16400
16506
  key: "pb.prop.image",
16401
16507
  text: "이미지"
@@ -16730,6 +16836,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
16730
16836
  key: "pb.prop.fontColor",
16731
16837
  text: "字体颜色"
16732
16838
  },
16839
+ {
16840
+ key: "pb.prop.tag",
16841
+ text: "HTML 标签"
16842
+ },
16733
16843
  {
16734
16844
  key: "pb.prop.image",
16735
16845
  text: "图片"
@@ -17064,6 +17174,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
17064
17174
  key: "pb.prop.fontColor",
17065
17175
  text: "Couleur de police"
17066
17176
  },
17177
+ {
17178
+ key: "pb.prop.tag",
17179
+ text: "balise HTML"
17180
+ },
17067
17181
  {
17068
17182
  key: "pb.prop.image",
17069
17183
  text: "Image"