@g1cloud/page-builder-editor 1.0.0-alpha.87 → 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.
@@ -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, Fragment, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, watch, onMounted, onBeforeUnmount, createBlock as createBlock$1, resolveDynamicComponent, unref, provide, inject, renderList, normalizeProps, mergeProps, normalizeClass, withDirectives, vShow, reactive, defineAsyncComponent, createVNode, resolveComponent, vModelText, resolveDirective, withModifiers, renderSlot, guardReactiveProps, createTextVNode, markRaw, toHandlers, Teleport } from "vue";
4
+ import { ref, defineComponent, computed, openBlock, createElementBlock, Fragment, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, createBlock as createBlock$1, resolveDynamicComponent, watch, onMounted, onBeforeUnmount, unref, provide, inject, renderList, normalizeProps, mergeProps, normalizeClass, withDirectives, withCtx, vShow, reactive, defineAsyncComponent, createVNode, resolveComponent, vModelText, resolveDirective, withModifiers, renderSlot, guardReactiveProps, createTextVNode, markRaw, toHandlers, Teleport } from "vue";
5
5
  import { notNull, vT, BSTextInput, vClickOutside, useModal, BSButton, BSMultiLangTextInput, showNotification, BSSelect, BSTree, useContextMenu, i18n, BSHorizontalLayoutResizer } from "@g1cloud/bluesea";
6
6
  import YouTube from "vue3-youtube";
7
7
  const create$5 = () => /* @__PURE__ */ new Map();
@@ -6880,7 +6880,7 @@ let Model$1 = class Model {
6880
6880
  this.rootPart = ref(new RootPart());
6881
6881
  }
6882
6882
  };
6883
- const _hoisted_1$a$1 = ["data-part-id"];
6883
+ const _hoisted_1$8$1 = ["data-part-id"];
6884
6884
  const _sfc_main$b$1 = /* @__PURE__ */ defineComponent({
6885
6885
  __name: "PbWidget",
6886
6886
  props: {
@@ -6940,13 +6940,12 @@ const _sfc_main$b$1 = /* @__PURE__ */ defineComponent({
6940
6940
  part: _ctx.part,
6941
6941
  "onUpdate:visible": updateVisible
6942
6942
  }, null, 40, ["part"])) : createCommentVNode("", true)
6943
- ], 14, _hoisted_1$a$1)), [
6943
+ ], 14, _hoisted_1$8$1)), [
6944
6944
  [vShow, visible.value]
6945
6945
  ]);
6946
6946
  };
6947
6947
  }
6948
6948
  });
6949
- const _hoisted_1$9$1 = ["data-part-id"];
6950
6949
  const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
6951
6950
  __name: "PbBlock",
6952
6951
  props: {
@@ -6964,6 +6963,12 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
6964
6963
  }
6965
6964
  emit("update:visible", visible.value, hideParentWhenInvisible);
6966
6965
  };
6966
+ const validTags = ["div", "section", "li"];
6967
+ const tag = computed(() => {
6968
+ var _a;
6969
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
6970
+ return validTags.includes(_tag) ? _tag : "div";
6971
+ });
6967
6972
  const classNames = computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
6968
6973
  const style = computed(() => ({
6969
6974
  ...props.part.getStyles(props.isMobilePage),
@@ -6997,25 +7002,29 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
6997
7002
  removeStyleTag();
6998
7003
  });
6999
7004
  return (_ctx, _cache) => {
7000
- return withDirectives((openBlock(), createElementBlock("div", {
7001
- class: normalizeClass(classNames.value),
7002
- "data-part-id": _ctx.part.partId,
7003
- style: normalizeStyle(style.value)
7004
- }, [
7005
- _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (child) => {
7006
- return openBlock(), createBlock$1(_sfc_main$b$1, {
7007
- key: child.partId,
7008
- part: child,
7009
- "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7010
- }, null, 8, ["part"]);
7011
- }), 128)) : createCommentVNode("", true)
7012
- ], 14, _hoisted_1$9$1)), [
7005
+ return withDirectives((openBlock(), createElementBlock("template", null, [
7006
+ (openBlock(), createBlock$1(resolveDynamicComponent(tag.value), {
7007
+ class: normalizeClass(classNames.value),
7008
+ "data-part-id": _ctx.part.partId,
7009
+ style: normalizeStyle(style.value)
7010
+ }, {
7011
+ default: withCtx(() => [
7012
+ _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (child) => {
7013
+ return openBlock(), createBlock$1(_sfc_main$b$1, {
7014
+ key: child.partId,
7015
+ part: child,
7016
+ "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7017
+ }, null, 8, ["part"]);
7018
+ }), 128)) : createCommentVNode("", true)
7019
+ ]),
7020
+ _: 1
7021
+ }, 8, ["class", "data-part-id", "style"]))
7022
+ ], 512)), [
7013
7023
  [vShow, visible.value]
7014
7024
  ]);
7015
7025
  };
7016
7026
  }
7017
7027
  });
7018
- const _hoisted_1$8$1 = ["data-part-id"];
7019
7028
  const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
7020
7029
  __name: "PbSection",
7021
7030
  props: {
@@ -7030,6 +7039,12 @@ const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
7030
7039
  visible.value = false;
7031
7040
  }
7032
7041
  };
7042
+ const validTags = ["div", "section", "ul"];
7043
+ const tag = computed(() => {
7044
+ var _a;
7045
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
7046
+ return validTags.includes(_tag) ? _tag : "div";
7047
+ });
7033
7048
  const classNames = computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
7034
7049
  const style = computed(() => ({
7035
7050
  ...props.part.getStyles(props.isMobilePage),
@@ -7063,27 +7078,32 @@ const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
7063
7078
  removeStyleTag();
7064
7079
  });
7065
7080
  return (_ctx, _cache) => {
7066
- return withDirectives((openBlock(), createElementBlock("div", {
7067
- class: normalizeClass(classNames.value),
7068
- "data-part-id": _ctx.part.partId,
7069
- style: normalizeStyle(style.value)
7070
- }, [
7071
- _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (child) => {
7072
- return openBlock(), createBlock$1(_sfc_main$a$1, {
7073
- key: child.partId,
7074
- "is-mobile-page": _ctx.isMobilePage,
7075
- part: child,
7076
- "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7077
- }, null, 8, ["is-mobile-page", "part"]);
7078
- }), 128)) : createCommentVNode("", true)
7079
- ], 14, _hoisted_1$8$1)), [
7081
+ return withDirectives((openBlock(), createElementBlock("template", null, [
7082
+ (openBlock(), createBlock$1(resolveDynamicComponent(tag.value), {
7083
+ class: normalizeClass(classNames.value),
7084
+ "data-part-id": _ctx.part.partId,
7085
+ style: normalizeStyle(style.value)
7086
+ }, {
7087
+ default: withCtx(() => [
7088
+ _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (child) => {
7089
+ return openBlock(), createBlock$1(_sfc_main$a$1, {
7090
+ key: child.partId,
7091
+ "is-mobile-page": _ctx.isMobilePage,
7092
+ part: child,
7093
+ "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7094
+ }, null, 8, ["is-mobile-page", "part"]);
7095
+ }), 128)) : createCommentVNode("", true)
7096
+ ]),
7097
+ _: 1
7098
+ }, 8, ["class", "data-part-id", "style"]))
7099
+ ], 512)), [
7080
7100
  [vShow, visible.value]
7081
7101
  ]);
7082
7102
  };
7083
7103
  }
7084
7104
  });
7085
7105
  const _hoisted_1$7$1 = ["href", "target"];
7086
- const _hoisted_2$4$1 = ["alt", "src"];
7106
+ const _hoisted_2$3$1 = ["alt", "src"];
7087
7107
  const _hoisted_3$d = ["alt", "src"];
7088
7108
  const _hoisted_4$b = ["poster"];
7089
7109
  const _hoisted_5$8 = ["src"];
@@ -7142,7 +7162,7 @@ const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
7142
7162
  src: ((_d = _ctx.part.properties) == null ? void 0 : _d.media).fileUrl,
7143
7163
  style: normalizeStyle(style.value),
7144
7164
  class: "image"
7145
- }, null, 12, _hoisted_2$4$1)
7165
+ }, null, 12, _hoisted_2$3$1)
7146
7166
  ], 8, _hoisted_1$7$1)) : (openBlock(), createElementBlock("img", {
7147
7167
  key: 1,
7148
7168
  alt: altText.value,
@@ -7167,8 +7187,7 @@ const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
7167
7187
  };
7168
7188
  }
7169
7189
  });
7170
- const _hoisted_1$6$1 = ["textContent"];
7171
- const _hoisted_2$3$1 = {
7190
+ const _hoisted_1$6$1 = {
7172
7191
  key: 1,
7173
7192
  class: "placeholder",
7174
7193
  textContent: "Empty Text"
@@ -7182,6 +7201,12 @@ const _sfc_main$7$1 = /* @__PURE__ */ defineComponent({
7182
7201
  setup(__props) {
7183
7202
  const props = __props;
7184
7203
  const pageBuilder = usePageBuilder();
7204
+ const validTags = ["div", "h1", "h2", "h3", "h4", "h5", "h6", "p", "span"];
7205
+ const tag = computed(() => {
7206
+ var _a;
7207
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
7208
+ return validTags.includes(_tag) ? _tag : "div";
7209
+ });
7185
7210
  const text = computed(() => {
7186
7211
  var _a;
7187
7212
  if ((_a = props.part.properties) == null ? void 0 : _a.text) {
@@ -7203,12 +7228,12 @@ const _sfc_main$7$1 = /* @__PURE__ */ defineComponent({
7203
7228
  };
7204
7229
  });
7205
7230
  return (_ctx, _cache) => {
7206
- return text.value ? (openBlock(), createElementBlock("div", {
7231
+ return text.value ? (openBlock(), createBlock$1(resolveDynamicComponent(tag.value), {
7207
7232
  key: 0,
7208
7233
  style: normalizeStyle(style.value),
7209
7234
  class: "text",
7210
7235
  textContent: toDisplayString(text.value)
7211
- }, null, 12, _hoisted_1$6$1)) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_2$3$1)) : createCommentVNode("", true);
7236
+ }, null, 8, ["style", "textContent"])) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_1$6$1)) : createCommentVNode("", true);
7212
7237
  };
7213
7238
  }
7214
7239
  });
@@ -7852,7 +7877,7 @@ const _sfc_main$2$1 = /* @__PURE__ */ defineComponent({
7852
7877
  };
7853
7878
  }
7854
7879
  });
7855
- const _hoisted_1$u = {
7880
+ const _hoisted_1$s = {
7856
7881
  key: 1,
7857
7882
  class: "placeholder",
7858
7883
  textContent: "Empty Widget"
@@ -7873,7 +7898,7 @@ const _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
7873
7898
  key: child.part.partId,
7874
7899
  part: child.part
7875
7900
  }, null, 8, ["part"]);
7876
- }), 128)) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_1$u)) : createCommentVNode("", true);
7901
+ }), 128)) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_1$s)) : createCommentVNode("", true);
7877
7902
  };
7878
7903
  }
7879
7904
  });
@@ -8481,16 +8506,16 @@ class PartManager {
8481
8506
  const defaultPartPropertyEditors = () => {
8482
8507
  return {
8483
8508
  "readonly-text": () => defineAsyncComponent(() => import("./PbPropertyEditorReadonlyText-BJ5qx69O.js")),
8484
- "text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-DdZJDy5K.js")),
8509
+ "text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-DnMxWwDQ.js")),
8485
8510
  "number": () => defineAsyncComponent(() => import("./PbPropertyEditorNumber-B76ArSb5.js")),
8486
8511
  "boolean": () => defineAsyncComponent(() => import("./PbPropertyEditorBoolean-c5CNiTpt.js")),
8487
- "multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-2DV3EbNx.js")),
8512
+ "multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-Cin44mTy.js")),
8488
8513
  "select": () => defineAsyncComponent(() => import("./PbPropertyEditorSelect-B5sfulvx.js")),
8489
- "css-length": () => defineAsyncComponent(() => import("./PbPropertyEditorCssLength-BEUxumJw.js")),
8490
- "color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-DHYODwQa.js")),
8491
- "image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-CkuJ28-N.js")),
8492
- "html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-B1GJNEmo.js")),
8493
- "youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-B7uPo3aW.js"))
8514
+ "css-length": () => defineAsyncComponent(() => import("./PbPropertyEditorCssLength-DBNTbWi_.js")),
8515
+ "color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-C59bCD27.js")),
8516
+ "image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-DmakSvWs.js")),
8517
+ "html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-D8Mn6FNE.js")),
8518
+ "youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-DfRViDLo.js"))
8494
8519
  };
8495
8520
  };
8496
8521
  const getPropertyValueOfParts = (parts, propertyName) => {
@@ -8740,9 +8765,9 @@ const _export_sfc = (sfc, props) => {
8740
8765
  return target;
8741
8766
  };
8742
8767
  const _sfc_main$p = {};
8743
- const _hoisted_1$t = { class: "pb-add-widget-button" };
8768
+ const _hoisted_1$r = { class: "pb-add-widget-button" };
8744
8769
  function _sfc_render$1(_ctx, _cache) {
8745
- return openBlock(), createElementBlock("div", _hoisted_1$t, [
8770
+ return openBlock(), createElementBlock("div", _hoisted_1$r, [
8746
8771
  createElementVNode("button", {
8747
8772
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("add-widget", $event))
8748
8773
  }, _cache[1] || (_cache[1] = [
@@ -8779,7 +8804,7 @@ const useMouseTracker = () => {
8779
8804
  if (!mouseTracker) throw Error(MOUSE_TRACKER_NOT_FOUND);
8780
8805
  return mouseTracker;
8781
8806
  };
8782
- const _hoisted_1$s = ["data-part-id", "draggable"];
8807
+ const _hoisted_1$q = ["data-part-id", "draggable"];
8783
8808
  const _hoisted_2$h = {
8784
8809
  key: 1,
8785
8810
  class: "invalid-widget",
@@ -9249,13 +9274,12 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
9249
9274
  class: "resize-handle",
9250
9275
  onMousedown: resizeChild
9251
9276
  }, null, 32)) : createCommentVNode("", true)
9252
- ], 14, _hoisted_1$s)), [
9277
+ ], 14, _hoisted_1$q)), [
9253
9278
  [unref(vPartHandler), { pageBuilder: unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
9254
9279
  ]);
9255
9280
  };
9256
9281
  }
9257
9282
  });
9258
- const _hoisted_1$r = ["data-part-id"];
9259
9283
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
9260
9284
  __name: "PbBlock",
9261
9285
  props: {
@@ -9266,6 +9290,12 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
9266
9290
  setup(__props) {
9267
9291
  const props = __props;
9268
9292
  const pageBuilder = usePageBuilderEditor();
9293
+ const validTags = ["div", "section", "li"];
9294
+ const tag = computed(() => {
9295
+ var _a;
9296
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
9297
+ return validTags.includes(_tag) ? _tag : "div";
9298
+ });
9269
9299
  const selected = computed(() => pageBuilder.context.isSelected(props.part));
9270
9300
  const classNames = computed(() => [
9271
9301
  selected.value ? "selected" : "",
@@ -9465,31 +9495,37 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
9465
9495
  return index;
9466
9496
  };
9467
9497
  return (_ctx, _cache) => {
9468
- var _a, _b;
9469
- return withDirectives((openBlock(), createElementBlock("div", mergeProps({
9498
+ var _a;
9499
+ return withDirectives((openBlock(), createBlock$1(resolveDynamicComponent(tag.value), mergeProps({
9470
9500
  ref_key: "partRef",
9471
9501
  ref: partRef,
9472
9502
  class: [classNames.value, "pb-block"],
9473
9503
  "data-part-id": _ctx.part.partId,
9474
9504
  style: (_a = _ctx.part.properties) == null ? void 0 : _a.css
9475
- }, properties.value), [
9476
- !_ctx.part.children || ((_b = _ctx.part.children) == null ? void 0 : _b.length) === 0 ? (openBlock(), createBlock$1(PbAddWidgetButton, {
9477
- key: 0,
9478
- onAddWidget: addWidget
9479
- })) : createCommentVNode("", true),
9480
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.part.children, (child) => {
9481
- return openBlock(), createBlock$1(_sfc_main$o, {
9482
- key: child.partId,
9483
- part: child
9484
- }, null, 8, ["part"]);
9485
- }), 128))
9486
- ], 16, _hoisted_1$r)), [
9505
+ }, properties.value), {
9506
+ default: withCtx(() => {
9507
+ var _a2;
9508
+ return [
9509
+ !_ctx.part.children || ((_a2 = _ctx.part.children) == null ? void 0 : _a2.length) === 0 ? (openBlock(), createBlock$1(PbAddWidgetButton, {
9510
+ key: 0,
9511
+ onAddWidget: addWidget
9512
+ })) : createCommentVNode("", true),
9513
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.part.children, (child) => {
9514
+ return openBlock(), createBlock$1(_sfc_main$o, {
9515
+ key: child.partId,
9516
+ part: child
9517
+ }, null, 8, ["part"]);
9518
+ }), 128))
9519
+ ];
9520
+ }),
9521
+ _: 1
9522
+ }, 16, ["class", "data-part-id", "style"])), [
9487
9523
  [unref(vPartHandler), { pageBuilder: unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
9488
9524
  ]);
9489
9525
  };
9490
9526
  }
9491
9527
  });
9492
- const _hoisted_1$q = { class: "pb-block" };
9528
+ const _hoisted_1$p = { class: "pb-block" };
9493
9529
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
9494
9530
  __name: "PbLoginDepart",
9495
9531
  props: {
@@ -9497,7 +9533,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
9497
9533
  },
9498
9534
  setup(__props) {
9499
9535
  return (_ctx, _cache) => {
9500
- return openBlock(), createElementBlock("div", _hoisted_1$q, _cache[0] || (_cache[0] = [
9536
+ return openBlock(), createElementBlock("div", _hoisted_1$p, _cache[0] || (_cache[0] = [
9501
9537
  createElementVNode("div", {
9502
9538
  class: "pb-widget",
9503
9539
  style: { "margin": "0 auto" }
@@ -9510,7 +9546,6 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
9510
9546
  };
9511
9547
  }
9512
9548
  });
9513
- const _hoisted_1$p = ["data-part-id"];
9514
9549
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
9515
9550
  __name: "PbSection",
9516
9551
  props: {
@@ -9521,6 +9556,12 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
9521
9556
  setup(__props) {
9522
9557
  const props = __props;
9523
9558
  const pageBuilder = usePageBuilderEditor();
9559
+ const validTags = ["div", "section", "ul"];
9560
+ const tag = computed(() => {
9561
+ var _a;
9562
+ const _tag = (_a = props.part.properties) == null ? void 0 : _a.tag;
9563
+ return validTags.includes(_tag) ? _tag : "div";
9564
+ });
9524
9565
  const selected = computed(() => pageBuilder.context.isSelected(props.part));
9525
9566
  const classNames = computed(() => {
9526
9567
  return [
@@ -9644,32 +9685,38 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
9644
9685
  return index;
9645
9686
  };
9646
9687
  return (_ctx, _cache) => {
9647
- var _a, _b, _c;
9648
- return withDirectives((openBlock(), createElementBlock("div", mergeProps({
9688
+ var _a;
9689
+ return withDirectives((openBlock(), createBlock$1(resolveDynamicComponent(tag.value), mergeProps({
9649
9690
  ref_key: "partRef",
9650
9691
  ref: partRef,
9651
9692
  class: [classNames.value, "pb-section"],
9652
9693
  "data-part-id": _ctx.part.partId,
9653
9694
  style: (_a = _ctx.part.properties) == null ? void 0 : _a.css
9654
- }, properties.value), [
9655
- ((_b = _ctx.part.properties) == null ? void 0 : _b.sectionType) === "static" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
9656
- ((_c = _ctx.part.properties) == null ? void 0 : _c.name) === "Login Design Part" ? (openBlock(), createBlock$1(_sfc_main$m, {
9657
- key: 0,
9658
- part: _ctx.part
9659
- }, null, 8, ["part"])) : createCommentVNode("", true)
9660
- ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
9661
- _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (block) => {
9662
- return openBlock(), createBlock$1(_sfc_main$n, {
9663
- key: block.partId,
9664
- "is-mobile-page": _ctx.isMobilePage,
9665
- part: block
9666
- }, null, 8, ["is-mobile-page", "part"]);
9667
- }), 128)) : (openBlock(), createBlock$1(PbAddWidgetButton, {
9668
- key: 1,
9669
- onAddWidget: addWidget
9670
- }))
9671
- ], 64))
9672
- ], 16, _hoisted_1$p)), [
9695
+ }, properties.value), {
9696
+ default: withCtx(() => {
9697
+ var _a2, _b;
9698
+ return [
9699
+ ((_a2 = _ctx.part.properties) == null ? void 0 : _a2.sectionType) === "static" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
9700
+ ((_b = _ctx.part.properties) == null ? void 0 : _b.name) === "Login Design Part" ? (openBlock(), createBlock$1(_sfc_main$m, {
9701
+ key: 0,
9702
+ part: _ctx.part
9703
+ }, null, 8, ["part"])) : createCommentVNode("", true)
9704
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
9705
+ _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (block) => {
9706
+ return openBlock(), createBlock$1(_sfc_main$n, {
9707
+ key: block.partId,
9708
+ "is-mobile-page": _ctx.isMobilePage,
9709
+ part: block
9710
+ }, null, 8, ["is-mobile-page", "part"]);
9711
+ }), 128)) : (openBlock(), createBlock$1(PbAddWidgetButton, {
9712
+ key: 1,
9713
+ onAddWidget: addWidget
9714
+ }))
9715
+ ], 64))
9716
+ ];
9717
+ }),
9718
+ _: 1
9719
+ }, 16, ["class", "data-part-id", "style"])), [
9673
9720
  [unref(vPartHandler), { pageBuilder: unref(pageBuilder), part: _ctx.part, droppable: true, locatePositionMark, calculateDropIndex, acceptChildPart }]
9674
9721
  ]);
9675
9722
  };
@@ -12439,7 +12486,7 @@ const commonGroup = () => {
12439
12486
  ]
12440
12487
  };
12441
12488
  };
12442
- const layoutGroup = () => {
12489
+ const sectionLayoutGroup = () => {
12443
12490
  return {
12444
12491
  groupName: "layout",
12445
12492
  caption: "pb.prop.layout",
@@ -12460,6 +12507,43 @@ const layoutGroup = () => {
12460
12507
  propertyName: "gap",
12461
12508
  caption: "pb.prop.gap",
12462
12509
  propertyType: "text"
12510
+ },
12511
+ {
12512
+ propertyName: "tag",
12513
+ caption: "pb.prop.tag",
12514
+ propertyType: "select",
12515
+ params: "div,section,ul"
12516
+ }
12517
+ ]
12518
+ };
12519
+ };
12520
+ const blockLayoutGroup = () => {
12521
+ return {
12522
+ groupName: "layout",
12523
+ caption: "pb.prop.layout",
12524
+ properties: [
12525
+ {
12526
+ propertyName: "direction",
12527
+ caption: "pb.prop.layout",
12528
+ propertyType: "select",
12529
+ params: "vertical,horizontal"
12530
+ },
12531
+ {
12532
+ propertyName: "wrap",
12533
+ caption: "pb.prop.wrap",
12534
+ propertyType: "select",
12535
+ params: "nowrap,wrap"
12536
+ },
12537
+ {
12538
+ propertyName: "gap",
12539
+ caption: "pb.prop.gap",
12540
+ propertyType: "text"
12541
+ },
12542
+ {
12543
+ propertyName: "tag",
12544
+ caption: "pb.prop.tag",
12545
+ propertyType: "select",
12546
+ params: "div,section,li"
12463
12547
  }
12464
12548
  ]
12465
12549
  };
@@ -12604,8 +12688,11 @@ const hideParentGroup = () => {
12604
12688
  ]
12605
12689
  };
12606
12690
  };
12607
- const defaultPropertyGroups = () => {
12608
- return [layoutGroup(), alignGroup(), sizeGroup(), marginGroup(), paddingGroup(), backgroundGroup(), commonGroup()];
12691
+ const defaultSectionPropertyGroups = () => {
12692
+ return [sectionLayoutGroup(), alignGroup(), sizeGroup(), marginGroup(), paddingGroup(), backgroundGroup(), commonGroup()];
12693
+ };
12694
+ const defaultBlockPropertyGroups = () => {
12695
+ return [blockLayoutGroup(), alignGroup(), sizeGroup(), marginGroup(), paddingGroup(), backgroundGroup(), commonGroup()];
12609
12696
  };
12610
12697
  const defaultWidgetPropertyGroups = () => {
12611
12698
  return [alignSelfGroup(), positionGroup(), sizeGroup(), marginGroup(), paddingGroup(), borderGroup(), backgroundGroup(), commonGroup(), hideParentGroup()];
@@ -12806,7 +12893,7 @@ const sectionParts = [
12806
12893
  icon: "rectangle",
12807
12894
  className: "pb-section",
12808
12895
  propertyGroups: [
12809
- ...defaultPropertyGroups()
12896
+ ...defaultSectionPropertyGroups()
12810
12897
  ],
12811
12898
  initialProperties: {
12812
12899
  direction: "horizontal",
@@ -12825,7 +12912,7 @@ const blockParts = [
12825
12912
  icon: "space_dashboard",
12826
12913
  className: "pb-block",
12827
12914
  propertyGroups: [
12828
- ...defaultPropertyGroups()
12915
+ ...defaultBlockPropertyGroups()
12829
12916
  ],
12830
12917
  initialProperties: {
12831
12918
  direction: "vertical",
@@ -12878,6 +12965,12 @@ const widgets = [
12878
12965
  caption: "pb.prop.fontColor",
12879
12966
  propertyType: "color",
12880
12967
  params: ""
12968
+ },
12969
+ {
12970
+ propertyName: "tag",
12971
+ caption: "pb.prop.tag",
12972
+ propertyType: "select",
12973
+ params: "div,h1,h2,h3,h4,h5,h6,p,span"
12881
12974
  }
12882
12975
  ]
12883
12976
  },
@@ -12890,7 +12983,8 @@ const widgets = [
12890
12983
  paddingBottom: "12px",
12891
12984
  paddingLeft: "12px",
12892
12985
  paddingRight: "12px",
12893
- align: "center"
12986
+ align: "center",
12987
+ tag: "div"
12894
12988
  },
12895
12989
  allowsChild: () => false,
12896
12990
  creator: () => _sfc_main$7$1
@@ -13130,7 +13224,7 @@ __publicField(_OpenAddWidgetModalCommand, "COMMAND_ID", "OpenAddWidgetModal");
13130
13224
  let OpenAddWidgetModalCommand = _OpenAddWidgetModalCommand;
13131
13225
  const openWidgetAddModal = (modal, args, callback) => {
13132
13226
  modal.openModal({
13133
- component: defineAsyncComponent(() => import("./PbWidgetAddModal-BqYB3aeV.js")),
13227
+ component: defineAsyncComponent(() => import("./PbWidgetAddModal-BtkQzPFR.js")),
13134
13228
  style: {
13135
13229
  width: "80%",
13136
13230
  height: "80%",
@@ -15302,7 +15396,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
15302
15396
  };
15303
15397
  }
15304
15398
  });
15305
- 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}';
15399
+ 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}';
15306
15400
  const _hoisted_1$2 = ["width"];
15307
15401
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
15308
15402
  __name: "PbPageFrame",
@@ -15727,6 +15821,10 @@ const enTexts = [
15727
15821
  key: "pb.prop.fontColor",
15728
15822
  text: "Font Color"
15729
15823
  },
15824
+ {
15825
+ key: "pb.prop.tag",
15826
+ text: "HTML Tag"
15827
+ },
15730
15828
  {
15731
15829
  key: "pb.prop.image",
15732
15830
  text: "Image"
@@ -16061,6 +16159,10 @@ const jaTexts = [
16061
16159
  key: "pb.prop.fontColor",
16062
16160
  text: "フォントの色"
16063
16161
  },
16162
+ {
16163
+ key: "pb.prop.tag",
16164
+ text: "HTMLのタグ"
16165
+ },
16064
16166
  {
16065
16167
  key: "pb.prop.image",
16066
16168
  text: "画像"
@@ -16395,6 +16497,10 @@ const koTexts = [
16395
16497
  key: "pb.prop.fontColor",
16396
16498
  text: "텍스트 색상"
16397
16499
  },
16500
+ {
16501
+ key: "pb.prop.tag",
16502
+ text: "HTML 태그"
16503
+ },
16398
16504
  {
16399
16505
  key: "pb.prop.image",
16400
16506
  text: "이미지"
@@ -16729,6 +16835,10 @@ const zhTexts = [
16729
16835
  key: "pb.prop.fontColor",
16730
16836
  text: "字体颜色"
16731
16837
  },
16838
+ {
16839
+ key: "pb.prop.tag",
16840
+ text: "HTML 标签"
16841
+ },
16732
16842
  {
16733
16843
  key: "pb.prop.image",
16734
16844
  text: "图片"
@@ -17063,6 +17173,10 @@ const frTexts = [
17063
17173
  key: "pb.prop.fontColor",
17064
17174
  text: "Couleur de police"
17065
17175
  },
17176
+ {
17177
+ key: "pb.prop.tag",
17178
+ text: "balise HTML"
17179
+ },
17066
17180
  {
17067
17181
  key: "pb.prop.image",
17068
17182
  text: "Image"