@g1cloud/page-builder-editor 1.0.0-alpha.52 → 1.0.0-alpha.54

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,8 +1,8 @@
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, onMounted, onBeforeUnmount, createBlock as createBlock$1, resolveDynamicComponent, unref, provide, inject, watch, renderList, normalizeProps, mergeProps, normalizeClass, withDirectives, vShow, reactive, defineAsyncComponent, createVNode, resolveComponent, vModelText, resolveDirective, withModifiers, renderSlot, guardReactiveProps, markRaw, toHandlers, Teleport } from "vue";
5
- import { notNull, vT, BSTextInput, vClickOutside, useModal, BSMultiLangTextInput, BSSelect, BSTree, useContextMenu, i18n } from "@g1cloud/bluesea";
4
+ import { ref, defineComponent, computed, openBlock, createElementBlock, Fragment, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, onMounted, onBeforeUnmount, createBlock as createBlock$1, resolveDynamicComponent, unref, provide, inject, watch, renderList, normalizeProps, mergeProps, normalizeClass, withDirectives, vShow, reactive, defineAsyncComponent, createVNode, resolveComponent, vModelText, resolveDirective, withModifiers, renderSlot, guardReactiveProps, createTextVNode, markRaw, toHandlers, Teleport } from "vue";
5
+ import { notNull, vT, BSTextInput, vClickOutside, useModal, BSButton, BSMultiLangTextInput, showNotification, BSSelect, BSTree, useContextMenu, i18n } from "@g1cloud/bluesea";
6
6
  import YouTube from "vue3-youtube";
7
7
  const create$5 = () => /* @__PURE__ */ new Map();
8
8
  const copy = (m) => {
@@ -6879,8 +6879,8 @@ let Model$1 = class Model {
6879
6879
  this.rootPart = ref(new RootPart());
6880
6880
  }
6881
6881
  };
6882
- const _hoisted_1$b$1 = ["data-part-id"];
6883
- const _sfc_main$c$1 = /* @__PURE__ */ defineComponent({
6882
+ const _hoisted_1$a$1 = ["data-part-id"];
6883
+ const _sfc_main$b$1 = /* @__PURE__ */ defineComponent({
6884
6884
  __name: "PbWidget",
6885
6885
  props: {
6886
6886
  part: {}
@@ -6918,15 +6918,15 @@ const _sfc_main$c$1 = /* @__PURE__ */ defineComponent({
6918
6918
  part: _ctx.part,
6919
6919
  "onUpdate:visible": updateVisible
6920
6920
  }, null, 40, ["part"])) : createCommentVNode("", true)
6921
- ], 14, _hoisted_1$b$1), [
6921
+ ], 14, _hoisted_1$a$1), [
6922
6922
  [vShow, visible.value]
6923
6923
  ])
6924
6924
  ], 64);
6925
6925
  };
6926
6926
  }
6927
6927
  });
6928
- const _hoisted_1$a$1 = ["data-part-id"];
6929
- const _sfc_main$b$1 = /* @__PURE__ */ defineComponent({
6928
+ const _hoisted_1$9$1 = ["data-part-id"];
6929
+ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
6930
6930
  __name: "PbBlock",
6931
6931
  props: {
6932
6932
  part: {},
@@ -6961,21 +6961,21 @@ const _sfc_main$b$1 = /* @__PURE__ */ defineComponent({
6961
6961
  style: normalizeStyle(style.value)
6962
6962
  }, [
6963
6963
  _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (child) => {
6964
- return openBlock(), createBlock$1(_sfc_main$c$1, {
6964
+ return openBlock(), createBlock$1(_sfc_main$b$1, {
6965
6965
  key: child.partId,
6966
6966
  part: child,
6967
6967
  "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
6968
6968
  }, null, 8, ["part"]);
6969
6969
  }), 128)) : createCommentVNode("", true)
6970
- ], 14, _hoisted_1$a$1), [
6970
+ ], 14, _hoisted_1$9$1), [
6971
6971
  [vShow, visible.value]
6972
6972
  ])
6973
6973
  ], 64);
6974
6974
  };
6975
6975
  }
6976
6976
  });
6977
- const _hoisted_1$9$1 = ["data-part-id"];
6978
- const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
6977
+ const _hoisted_1$8$1 = ["data-part-id"];
6978
+ const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
6979
6979
  __name: "PbSection",
6980
6980
  props: {
6981
6981
  part: {},
@@ -7007,82 +7007,20 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
7007
7007
  style: normalizeStyle(style.value)
7008
7008
  }, [
7009
7009
  _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (child) => {
7010
- return openBlock(), createBlock$1(_sfc_main$b$1, {
7010
+ return openBlock(), createBlock$1(_sfc_main$a$1, {
7011
7011
  key: child.partId,
7012
7012
  "is-mobile-page": _ctx.isMobilePage,
7013
7013
  part: child,
7014
7014
  "onUpdate:visible": _cache[0] || (_cache[0] = (value, hideParentWhenInvisible) => updateVisible(value, hideParentWhenInvisible))
7015
7015
  }, null, 8, ["is-mobile-page", "part"]);
7016
7016
  }), 128)) : createCommentVNode("", true)
7017
- ], 14, _hoisted_1$9$1), [
7017
+ ], 14, _hoisted_1$8$1), [
7018
7018
  [vShow, visible.value]
7019
7019
  ])
7020
7020
  ], 64);
7021
7021
  };
7022
7022
  }
7023
7023
  });
7024
- const _hoisted_1$8$1 = ["href", "target"];
7025
- const _hoisted_2$5$1 = ["alt", "src"];
7026
- const _hoisted_3$1$1 = ["alt", "src"];
7027
- const _hoisted_4$1$1 = {
7028
- key: 1,
7029
- class: "placeholder"
7030
- };
7031
- const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
7032
- __name: "PbImageWidget",
7033
- props: {
7034
- part: {},
7035
- placeholder: { type: Boolean }
7036
- },
7037
- setup(__props) {
7038
- const props = __props;
7039
- const pageBuilder = usePageBuilder();
7040
- const altText = computed(() => {
7041
- var _a;
7042
- const media = (_a = props.part.properties) == null ? void 0 : _a.media;
7043
- if (media && media.altText) {
7044
- const locale = pageBuilder.getLocale();
7045
- return media.altText[locale] || "";
7046
- }
7047
- return "";
7048
- });
7049
- const style = computed(() => {
7050
- var _a;
7051
- const media = (_a = props.part.properties) == null ? void 0 : _a.media;
7052
- if (media.width && media.height) {
7053
- return {
7054
- aspectRatio: media.width / media.height
7055
- };
7056
- }
7057
- return {};
7058
- });
7059
- return (_ctx, _cache) => {
7060
- var _a, _b, _c, _d, _e, _f;
7061
- return ((_a = _ctx.part.properties) == null ? void 0 : _a.media) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7062
- ((_b = _ctx.part.properties) == null ? void 0 : _b.link) ? (openBlock(), createElementBlock("a", {
7063
- key: 0,
7064
- href: (_c = _ctx.part.properties) == null ? void 0 : _c.link,
7065
- target: (_d = _ctx.part.properties) == null ? void 0 : _d.linkTarget
7066
- }, [
7067
- createElementVNode("img", {
7068
- alt: altText.value,
7069
- src: ((_e = _ctx.part.properties) == null ? void 0 : _e.media).url,
7070
- style: normalizeStyle(style.value),
7071
- class: "image"
7072
- }, null, 12, _hoisted_2$5$1)
7073
- ], 8, _hoisted_1$8$1)) : (openBlock(), createElementBlock("img", {
7074
- key: 1,
7075
- alt: altText.value,
7076
- src: ((_f = _ctx.part.properties) == null ? void 0 : _f.media).url,
7077
- style: normalizeStyle(style.value),
7078
- class: "image"
7079
- }, null, 12, _hoisted_3$1$1))
7080
- ], 64)) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_4$1$1, _cache[0] || (_cache[0] = [
7081
- createElementVNode("span", { class: "font-icon" }, "image", -1)
7082
- ]))) : createCommentVNode("", true);
7083
- };
7084
- }
7085
- });
7086
7024
  const _hoisted_1$7$1 = ["href", "target"];
7087
7025
  const _hoisted_2$4$1 = ["alt", "src"];
7088
7026
  const _hoisted_3$d = ["alt", "src"];
@@ -7092,7 +7030,7 @@ const _hoisted_6$8 = {
7092
7030
  key: 1,
7093
7031
  class: "placeholder"
7094
7032
  };
7095
- const _hoisted_7$6 = { class: "font-icon" };
7033
+ const _hoisted_7$7 = { class: "font-icon" };
7096
7034
  const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
7097
7035
  __name: "PbMediaWidget",
7098
7036
  props: {
@@ -7161,7 +7099,7 @@ const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
7161
7099
  }, null, 8, _hoisted_5$8)
7162
7100
  ], 8, _hoisted_4$b)) : createCommentVNode("", true)
7163
7101
  ], 64)) : _ctx.placeholder ? (openBlock(), createElementBlock("div", _hoisted_6$8, [
7164
- createElementVNode("span", _hoisted_7$6, toDisplayString(placeholderIcon.value), 1)
7102
+ createElementVNode("span", _hoisted_7$7, toDisplayString(placeholderIcon.value), 1)
7165
7103
  ])) : createCommentVNode("", true);
7166
7104
  };
7167
7105
  }
@@ -7363,13 +7301,13 @@ const defaultPartDefinitions = {
7363
7301
  partType: "Section",
7364
7302
  partName: "Section",
7365
7303
  className: "pb-section",
7366
- creator: () => _sfc_main$a$1
7304
+ creator: () => _sfc_main$9$1
7367
7305
  },
7368
7306
  "Block": {
7369
7307
  partType: "Block",
7370
7308
  partName: "Block",
7371
7309
  className: "pb-block",
7372
- creator: () => _sfc_main$b$1
7310
+ creator: () => _sfc_main$a$1
7373
7311
  },
7374
7312
  "TextWidget": {
7375
7313
  partType: "Widget",
@@ -7377,12 +7315,6 @@ const defaultPartDefinitions = {
7377
7315
  className: "pb-text-widget",
7378
7316
  creator: () => _sfc_main$7$1
7379
7317
  },
7380
- "ImageWidget": {
7381
- partType: "Widget",
7382
- partName: "ImageWidget",
7383
- className: "pb-image-widget",
7384
- creator: () => _sfc_main$9$1
7385
- },
7386
7318
  "MediaWidget": {
7387
7319
  partType: "Widget",
7388
7320
  partName: "MediaWidget",
@@ -7581,7 +7513,7 @@ const _sfc_main$3$1 = /* @__PURE__ */ defineComponent({
7581
7513
  style: normalizeStyle(style.value)
7582
7514
  }, [
7583
7515
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.part.children, (section) => {
7584
- return openBlock(), createBlock$1(_sfc_main$a$1, {
7516
+ return openBlock(), createBlock$1(_sfc_main$9$1, {
7585
7517
  key: section.partId,
7586
7518
  "is-mobile-page": _ctx.isMobilePage,
7587
7519
  part: section
@@ -8270,15 +8202,15 @@ class PartManager {
8270
8202
  const defaultPartPropertyEditors = () => {
8271
8203
  return {
8272
8204
  "readonly-text": () => defineAsyncComponent(() => import("./PbPropertyEditorReadonlyText-BJ5qx69O.js")),
8273
- "text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-DmTjpx6J.js")),
8205
+ "text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-BPFRUHyB.js")),
8274
8206
  "number": () => defineAsyncComponent(() => import("./PbPropertyEditorNumber-B76ArSb5.js")),
8275
8207
  "boolean": () => defineAsyncComponent(() => import("./PbPropertyEditorBoolean-c5CNiTpt.js")),
8276
- "multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-C43eDCgk.js")),
8208
+ "multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-Cpz6njhD.js")),
8277
8209
  "select": () => defineAsyncComponent(() => import("./PbPropertyEditorSelect-B5sfulvx.js")),
8278
- "color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-Db3UUuLc.js")),
8279
- "image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-B73oOweb.js")),
8280
- "html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-CoxUtACW.js")),
8281
- "youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-DPX-k3c5.js"))
8210
+ "color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-kyvEt6xI.js")),
8211
+ "image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-CMomDUUw.js")),
8212
+ "html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-BuKh8j3Z.js")),
8213
+ "youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-D88m-cfy.js"))
8282
8214
  };
8283
8215
  };
8284
8216
  const getPropertyValueOfParts = (parts, propertyName) => {
@@ -9156,7 +9088,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
9156
9088
  const acceptWidget = (pageBuilder2, target, droppedPart, mouseOffsetX, mouseOffsetY) => {
9157
9089
  const block = props.part;
9158
9090
  let update = void 0;
9159
- if (droppedPart.partName === "ImageWidget") {
9091
+ if (droppedPart.partName === "MediaWidget") {
9160
9092
  update = [{
9161
9093
  partId: droppedPart.partId,
9162
9094
  properties: {
@@ -9377,8 +9309,8 @@ const _hoisted_3$c = { class: "title" };
9377
9309
  const _hoisted_4$a = { class: "flex-grow-1" };
9378
9310
  const _hoisted_5$7 = { class: "bg-gray-100 py-5 rounded-8" };
9379
9311
  const _hoisted_6$7 = { class: "text-center" };
9380
- const _hoisted_7$5 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
9381
- const _hoisted_8$5 = { class: "text-center" };
9312
+ const _hoisted_7$6 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
9313
+ const _hoisted_8$6 = { class: "text-center" };
9382
9314
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
9383
9315
  __name: "PbPropertyGroupEditorPosition",
9384
9316
  props: {
@@ -9421,7 +9353,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
9421
9353
  "onUpdate:modelValue": updateTop
9422
9354
  }, null, 8, ["model-value"])
9423
9355
  ]),
9424
- createElementVNode("div", _hoisted_7$5, [
9356
+ createElementVNode("div", _hoisted_7$6, [
9425
9357
  createVNode(unref(BSTextInput), {
9426
9358
  "model-value": left.value,
9427
9359
  class: "ml-4",
@@ -9443,7 +9375,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
9443
9375
  "onUpdate:modelValue": updateRight
9444
9376
  }, null, 8, ["model-value"])
9445
9377
  ]),
9446
- createElementVNode("div", _hoisted_8$5, [
9378
+ createElementVNode("div", _hoisted_8$6, [
9447
9379
  createVNode(unref(BSTextInput), {
9448
9380
  "model-value": bottom.value,
9449
9381
  class: "ml-4",
@@ -9465,8 +9397,8 @@ const _hoisted_3$b = { class: "title" };
9465
9397
  const _hoisted_4$9 = { class: "flex-grow-1 bs-layout-horizontal" };
9466
9398
  const _hoisted_5$6 = { class: "flex-align-center mt-12" };
9467
9399
  const _hoisted_6$6 = { class: "title" };
9468
- const _hoisted_7$4 = { class: "flex-grow-1 bs-layout-horizontal" };
9469
- const _hoisted_8$4 = { class: "flex-align-center mt-12" };
9400
+ const _hoisted_7$5 = { class: "flex-grow-1 bs-layout-horizontal" };
9401
+ const _hoisted_8$5 = { class: "flex-align-center mt-12" };
9470
9402
  const _hoisted_9$2 = { class: "title" };
9471
9403
  const _hoisted_10$2 = { class: "flex-grow-1 bs-layout-horizontal" };
9472
9404
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
@@ -9525,7 +9457,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
9525
9457
  [unref(vT), { key: "pb.prop.maxSize" }]
9526
9458
  ])
9527
9459
  ]),
9528
- createElementVNode("div", _hoisted_7$4, [
9460
+ createElementVNode("div", _hoisted_7$5, [
9529
9461
  createVNode(unref(BSTextInput), {
9530
9462
  "model-value": maxWidth.value,
9531
9463
  class: "flex-grow-1 mr-2",
@@ -9540,7 +9472,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
9540
9472
  }, null, 8, ["model-value"])
9541
9473
  ])
9542
9474
  ]),
9543
- createElementVNode("div", _hoisted_8$4, [
9475
+ createElementVNode("div", _hoisted_8$5, [
9544
9476
  createElementVNode("div", _hoisted_9$2, [
9545
9477
  withDirectives(createElementVNode("label", null, null, 512), [
9546
9478
  [unref(vT), { key: "pb.prop.minSize" }]
@@ -11269,8 +11201,8 @@ const _hoisted_5$5 = {
11269
11201
  class: "vc-sketch-alpha-wrap"
11270
11202
  };
11271
11203
  const _hoisted_6$5 = { class: "vc-sketch-color-wrap" };
11272
- const _hoisted_7$3 = ["aria-label"];
11273
- const _hoisted_8$3 = {
11204
+ const _hoisted_7$4 = ["aria-label"];
11205
+ const _hoisted_8$4 = {
11274
11206
  key: 0,
11275
11207
  class: "vc-sketch-field"
11276
11208
  };
@@ -11329,11 +11261,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
11329
11261
  "aria-label": `Current color is ${$options.activeColor}`,
11330
11262
  class: "vc-sketch-active-color",
11331
11263
  style: normalizeStyle({ background: $options.activeColor })
11332
- }, null, 12, _hoisted_7$3),
11264
+ }, null, 12, _hoisted_7$4),
11333
11265
  createVNode(_component_Checkboard)
11334
11266
  ])
11335
11267
  ]),
11336
- !$props.disableFields ? (openBlock(), createElementBlock("div", _hoisted_8$3, [
11268
+ !$props.disableFields ? (openBlock(), createElementBlock("div", _hoisted_8$4, [
11337
11269
  createCommentVNode(" rgba "),
11338
11270
  createElementVNode("div", _hoisted_9$1, [
11339
11271
  createVNode(_component_EdIn, {
@@ -11597,8 +11529,8 @@ const _hoisted_3$4 = { class: "title" };
11597
11529
  const _hoisted_4$3 = { class: "" };
11598
11530
  const _hoisted_5$3 = { class: "sub-title" };
11599
11531
  const _hoisted_6$3 = { class: "color" };
11600
- const _hoisted_7$2 = { class: "mt-8" };
11601
- const _hoisted_8$2 = { class: "sub-title" };
11532
+ const _hoisted_7$3 = { class: "mt-8" };
11533
+ const _hoisted_8$3 = { class: "sub-title" };
11602
11534
  const _hoisted_9 = { class: "flex-grow-1 mt-4" };
11603
11535
  const _hoisted_10 = { class: "bg-gray-100 py-5 rounded-8" };
11604
11536
  const _hoisted_11 = { class: "text-center" };
@@ -11679,8 +11611,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
11679
11611
  }, null, 8, ["model-value"])
11680
11612
  ])
11681
11613
  ]),
11682
- createElementVNode("div", _hoisted_7$2, [
11683
- createElementVNode("div", _hoisted_8$2, [
11614
+ createElementVNode("div", _hoisted_7$3, [
11615
+ createElementVNode("div", _hoisted_8$3, [
11684
11616
  withDirectives(createElementVNode("label", null, null, 512), [
11685
11617
  [unref(vT), { key: "pb.prop.borderWidth" }]
11686
11618
  ])
@@ -11784,8 +11716,8 @@ const _hoisted_3$3 = { class: "title" };
11784
11716
  const _hoisted_4$2 = { class: "flex-grow-1" };
11785
11717
  const _hoisted_5$2 = { class: "bg-gray-100 py-5 rounded-8" };
11786
11718
  const _hoisted_6$2 = { class: "text-center" };
11787
- const _hoisted_7$1 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
11788
- const _hoisted_8$1 = { class: "text-center" };
11719
+ const _hoisted_7$2 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
11720
+ const _hoisted_8$2 = { class: "text-center" };
11789
11721
  const _sfc_main$g = /* @__PURE__ */ defineComponent({
11790
11722
  __name: "PbPropertyGroupEditorMargin",
11791
11723
  props: {
@@ -11828,7 +11760,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
11828
11760
  "onUpdate:modelValue": updateTop
11829
11761
  }, null, 8, ["model-value"])
11830
11762
  ]),
11831
- createElementVNode("div", _hoisted_7$1, [
11763
+ createElementVNode("div", _hoisted_7$2, [
11832
11764
  createVNode(unref(BSTextInput), {
11833
11765
  "model-value": left.value,
11834
11766
  class: "ml-4",
@@ -11850,7 +11782,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
11850
11782
  "onUpdate:modelValue": updateRight
11851
11783
  }, null, 8, ["model-value"])
11852
11784
  ]),
11853
- createElementVNode("div", _hoisted_8$1, [
11785
+ createElementVNode("div", _hoisted_8$2, [
11854
11786
  createVNode(unref(BSTextInput), {
11855
11787
  "model-value": bottom.value,
11856
11788
  class: "ml-4",
@@ -11872,8 +11804,8 @@ const _hoisted_3$2 = { class: "title" };
11872
11804
  const _hoisted_4$1 = { class: "flex-grow-1" };
11873
11805
  const _hoisted_5$1 = { class: "bg-gray-100 py-5 rounded-8" };
11874
11806
  const _hoisted_6$1 = { class: "text-center" };
11875
- const _hoisted_7 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
11876
- const _hoisted_8 = { class: "text-center" };
11807
+ const _hoisted_7$1 = { class: "bs-layout-horizontal justify-content-center align-items-center" };
11808
+ const _hoisted_8$1 = { class: "text-center" };
11877
11809
  const _sfc_main$f = /* @__PURE__ */ defineComponent({
11878
11810
  __name: "PbPropertyGroupEditorPadding",
11879
11811
  props: {
@@ -11916,7 +11848,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
11916
11848
  "onUpdate:modelValue": updateTop
11917
11849
  }, null, 8, ["model-value"])
11918
11850
  ]),
11919
- createElementVNode("div", _hoisted_7, [
11851
+ createElementVNode("div", _hoisted_7$1, [
11920
11852
  createVNode(unref(BSTextInput), {
11921
11853
  "model-value": left.value,
11922
11854
  class: "ml-4",
@@ -11938,7 +11870,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
11938
11870
  "onUpdate:modelValue": updateRight
11939
11871
  }, null, 8, ["model-value"])
11940
11872
  ]),
11941
- createElementVNode("div", _hoisted_8, [
11873
+ createElementVNode("div", _hoisted_8$1, [
11942
11874
  createVNode(unref(BSTextInput), {
11943
11875
  "model-value": bottom.value,
11944
11876
  class: "ml-4",
@@ -12320,10 +12252,15 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
12320
12252
  });
12321
12253
  const _hoisted_1$c = { class: "group-editor group-editor-media" };
12322
12254
  const _hoisted_2$4 = { class: "title" };
12323
- const _hoisted_3$1 = { class: "title mt-12" };
12324
- const _hoisted_4 = { class: "title mt-12" };
12255
+ const _hoisted_3$1 = {
12256
+ key: 0,
12257
+ class: "title mt-12"
12258
+ };
12259
+ const _hoisted_4 = { class: "mt-8" };
12325
12260
  const _hoisted_5 = { class: "title mt-12" };
12326
12261
  const _hoisted_6 = { class: "title mt-12" };
12262
+ const _hoisted_7 = { class: "title mt-12" };
12263
+ const _hoisted_8 = { class: "title mt-12" };
12327
12264
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
12328
12265
  __name: "PbPropertyGroupEditorMedia",
12329
12266
  props: {
@@ -12370,8 +12307,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12370
12307
  var _a, _b;
12371
12308
  return (_b = (_a = part == null ? void 0 : part[0]) == null ? void 0 : _a.properties) == null ? void 0 : _b.thumbnail;
12372
12309
  });
12310
+ const copyUrl = () => {
12311
+ if (!media.value || !media.value.url) return;
12312
+ navigator.clipboard.writeText(media.value.url);
12313
+ showNotification({ key: "pb.prop.copied" });
12314
+ };
12373
12315
  return (_ctx, _cache) => {
12374
- var _a, _b;
12316
+ var _a, _b, _c, _d;
12375
12317
  return openBlock(), createElementBlock("div", _hoisted_1$c, [
12376
12318
  createElementVNode("div", _hoisted_2$4, [
12377
12319
  withDirectives(createElementVNode("label", null, null, 512), [
@@ -12379,12 +12321,33 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12379
12321
  ])
12380
12322
  ]),
12381
12323
  createElementVNode("div", null, [
12382
- withDirectives(createElementVNode("button", { onClick: selectMedia }, null, 512), [
12324
+ withDirectives(createElementVNode("button", {
12325
+ class: "select-button",
12326
+ onClick: selectMedia
12327
+ }, null, 512), [
12383
12328
  [unref(vT), { key: "pb.prop.selectMedia" }]
12384
12329
  ])
12385
12330
  ]),
12386
- ((_a = media.value) == null ? void 0 : _a.mediaType) === "Image" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
12387
- createElementVNode("div", _hoisted_3$1, [
12331
+ ((_a = media.value) == null ? void 0 : _a.url) ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
12332
+ _cache[4] || (_cache[4] = createElementVNode("label", null, "URL", -1)),
12333
+ createElementVNode("div", _hoisted_4, [
12334
+ createTextVNode(toDisplayString((_b = media.value) == null ? void 0 : _b.url) + " ", 1),
12335
+ withDirectives(createVNode(unref(BSButton), {
12336
+ class: "border-0 mb-2 pl-0",
12337
+ "left-icon": "content_copy",
12338
+ onClick: copyUrl
12339
+ }, null, 512), [
12340
+ [
12341
+ unref(vT),
12342
+ { key: "pb.button.copy" },
12343
+ void 0,
12344
+ { title: true }
12345
+ ]
12346
+ ])
12347
+ ])
12348
+ ])) : createCommentVNode("", true),
12349
+ ((_c = media.value) == null ? void 0 : _c.mediaType) === "Image" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
12350
+ createElementVNode("div", _hoisted_5, [
12388
12351
  withDirectives(createElementVNode("label", null, null, 512), [
12389
12352
  [unref(vT), { key: "pb.prop.altText" }]
12390
12353
  ])
@@ -12397,7 +12360,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12397
12360
  "onUpdate:modelValue": _cache[0] || (_cache[0] = (value) => updateProperty({ altText: value }))
12398
12361
  }, null, 8, ["locales", "model-value"])
12399
12362
  ]),
12400
- createElementVNode("div", _hoisted_4, [
12363
+ createElementVNode("div", _hoisted_6, [
12401
12364
  withDirectives(createElementVNode("label", null, null, 512), [
12402
12365
  [unref(vT), { key: "pb.prop.link" }]
12403
12366
  ])
@@ -12409,7 +12372,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12409
12372
  "onUpdate:modelValue": _cache[1] || (_cache[1] = (value) => updateProperty({ link: value }))
12410
12373
  }, null, 8, ["model-value"])
12411
12374
  ]),
12412
- createElementVNode("div", _hoisted_5, [
12375
+ createElementVNode("div", _hoisted_7, [
12413
12376
  withDirectives(createElementVNode("label", null, null, 512), [
12414
12377
  [unref(vT), { key: "pb.prop.linkTarget" }]
12415
12378
  ])
@@ -12422,8 +12385,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12422
12385
  }, null, 8, ["model-value"])
12423
12386
  ])
12424
12387
  ], 64)) : createCommentVNode("", true),
12425
- ((_b = media.value) == null ? void 0 : _b.mediaType) === "Video" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
12426
- createElementVNode("div", _hoisted_6, [
12388
+ ((_d = media.value) == null ? void 0 : _d.mediaType) === "Video" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
12389
+ createElementVNode("div", _hoisted_8, [
12427
12390
  withDirectives(createElementVNode("label", null, null, 512), [
12428
12391
  [unref(vT), { key: "pb.prop.thumbnail" }]
12429
12392
  ])
@@ -12569,50 +12532,6 @@ const widgets = [
12569
12532
  allowsChild: () => false,
12570
12533
  creator: () => _sfc_main$7$1
12571
12534
  },
12572
- {
12573
- partType: "Widget",
12574
- partName: "ImageWidget",
12575
- caption: "Image",
12576
- icon: "image",
12577
- className: "pb-image-widget",
12578
- propertyGroups: [
12579
- {
12580
- groupName: "Image",
12581
- caption: "Image",
12582
- properties: [
12583
- {
12584
- propertyName: "image",
12585
- caption: "pb.prop.image",
12586
- propertyType: "image",
12587
- params: ""
12588
- },
12589
- {
12590
- propertyName: "altText",
12591
- caption: "pb.prop.altText",
12592
- propertyType: "text",
12593
- params: "",
12594
- multiLang: true
12595
- },
12596
- {
12597
- propertyName: "link",
12598
- caption: "pb.prop.link",
12599
- propertyType: "text",
12600
- params: ""
12601
- },
12602
- {
12603
- propertyName: "linkTarget",
12604
- caption: "pb.prop.linkTarget",
12605
- propertyType: "text",
12606
- params: ""
12607
- }
12608
- ]
12609
- },
12610
- ...defaultWidgetPropertyGroups()
12611
- ],
12612
- initialProperties: {},
12613
- allowsChild: () => false,
12614
- creator: () => _sfc_main$9$1
12615
- },
12616
12535
  {
12617
12536
  partType: "Widget",
12618
12537
  partName: "MediaWidget",
@@ -12850,7 +12769,7 @@ __publicField(_OpenAddWidgetModalCommand, "COMMAND_ID", "OpenAddWidgetModal");
12850
12769
  let OpenAddWidgetModalCommand = _OpenAddWidgetModalCommand;
12851
12770
  const openWidgetAddModal = (modal, args, callback) => {
12852
12771
  modal.openModal({
12853
- component: defineAsyncComponent(() => import("./PbWidgetAddModal-CoT-pyXr.js")),
12772
+ component: defineAsyncComponent(() => import("./PbWidgetAddModal-3npSogG0.js")),
12854
12773
  style: {
12855
12774
  width: "80%",
12856
12775
  height: "80%",
@@ -12861,7 +12780,7 @@ const openWidgetAddModal = (modal, args, callback) => {
12861
12780
  bind: args,
12862
12781
  on: {
12863
12782
  selectHandler: (part) => {
12864
- if (["ImageWidget"].includes(part.partName)) {
12783
+ if (["MediaWidget"].includes(part.partName)) {
12865
12784
  const imageProvider = args.pageBuilder.getProvider("imageProvider");
12866
12785
  if (imageProvider) {
12867
12786
  imageProvider({ modal }, (media) => {
@@ -13346,7 +13265,7 @@ const addWidgetInside = (command, pageBuilder, modal, args) => {
13346
13265
  if (!selected) return;
13347
13266
  const newWidget = createPartWithDefinition(def, { image: args.image });
13348
13267
  if (!newWidget) return;
13349
- if (selected.isWidget() && def.partName === "ImageWidget") {
13268
+ if (selected.isWidget() && def.partName === "MediaWidget") {
13350
13269
  if (!newWidget.properties) newWidget.properties = {};
13351
13270
  newWidget.properties.left = "25%";
13352
13271
  newWidget.properties.top = "25%";
@@ -14967,7 +14886,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
14967
14886
  };
14968
14887
  }
14969
14888
  });
14970
- const canvasStyle = '.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n padding-bottom: 100px;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.pb-page .pb-page-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.pb-page .pb-page-content.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-page * {\n box-sizing: border-box;\n}\n\n.pb-add-widget-button {\n width: 100%;\n height: 100%;\n min-height: 200px;\n position: relative;\n}\n\n.pb-add-widget-button button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 8px;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.pb-add-widget-button button:hover {\n background-color: #eeeeee;\n}\n\n.pb-add-widget-button .icon {\n font-size: 1rem;\n vertical-align: middle;\n}\n\n.pb-add-widget-button .text {\n font-size: 1rem;\n vertical-align: middle;\n margin-left: 0.4rem;\n}\n\n.pb-section {\n display: flex;\n position: relative;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n outline: 1px dashed #ccc;\n background-color: #fff;\n}\n\n.pb-section:hover:not(:has(.pb-block:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-section.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static {\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static:after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n.pb-section-static .pb-widget {\n outline: none;\n}\n\n.pb-block {\n display: flex;\n min-width: 1px;\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n outline: 1px dashed #ccc;\n}\n\n.pb-block:hover:not(:has(.pb-widget:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-block.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget {\n position: relative;\n outline: 1px dashed #ccc;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n pointer-events: auto !important;\n min-height: 50px;\n}\n\n.pb-widget * {\n pointer-events: none;\n}\n\n.pb-widget.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-widget .pan-handle {\n position: absolute;\n left: -6px;\n top: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: move;\n pointer-events: auto !important;\n}\n\n.pb-widget .resize-handle {\n position: absolute;\n right: -6px;\n bottom: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: nwse-resize;\n pointer-events: auto !important;\n}\n\n.pb-widget {\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-text-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-text-widget .text {\n color: #333;\n}\n\n.pb-text-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-image-widget {\n width: 100%;\n}\n\n.pb-image-widget .image {\n width: 100%;\n}\n\n.pb-image-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-image-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-media-widget {\n width: 100%;\n}\n\n.pb-media-widget .image {\n width: 100%;\n}\n\n.pb-media-widget .video {\n width: 100%;\n}\n\n.pb-media-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-media-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-html-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-html-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-iframe-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-iframe-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-youtube-widget {\n width: 100%;\n}\n\n.pb-youtube-widget .youtube {\n width: 100%;\n height: 100%;\n}\n\n.pb-youtube-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-youtube-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-container-widget {\n width: 100%;\n}\n\n.pb-container-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-container-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-product-list-widget {\n width: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\n.pb-product-list-widget .product-wrapper {\n width: 25%;\n}\n\n.pb-product-list-widget .product-wrapper .product {\n width: 95%;\n margin: 0 auto;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n.pb-product-list-widget .product-wrapper img {\n width: 100%;\n}\n\n.pb-product-list-widget .product-wrapper .name {\n margin-top: 8px;\n font-size: 14px;\n}\n\n.pb-product-list-widget .product-wrapper .price {\n margin-top: 8px;\n font-size: 14px;\n font-weight: bold;\n}\n\n.pb-product-list-widget .product-wrapper .empty {\n height: 200px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-product-list-widget .product-wrapper .empty span {\n font-size: 40px;\n color: #999;\n line-height: 200px;\n vertical-align: middle;\n}\n\n@media (max-width: 768px) {\n .pb-product-list-widget .product-wrapper {\n width: 50%;\n }\n}\n\n.mobile .pb-product-list-widget .product-wrapper {\n width: 50%;\n}\n\n.pb-login-widget {\n height: 200px;\n text-align: center;\n}\n\n.pb-login-widget h3 {\n padding: 0;\n margin: 0;\n font-size: 32px;\n font-weight: bold;\n color: #ccc;\n line-height: 200px;\n vertical-align: middle;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: #aaa;\n overflow: hidden;\n}\n\n.font-icon, .material-icons-outlined {\n font-family: "Material Symbols Outlined", monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\n.pb-position-mark {\n background-color: #ff3333;\n opacity: 0.5;\n border-radius: 2px;\n}\n\n.pb-add-section-handle {\n position: relative;\n text-align: center;\n cursor: pointer;\n z-index: 5;\n height: 0;\n}\n\n.pb-add-section-handle.top::before, .pb-add-section-handle.bottom::before, .pb-add-section-handle.middle::before {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.pb-add-section-handle.bottom {\n bottom: -32px;\n}\n\n.pb-add-section-handle:hover.top::before, .pb-add-section-handle:hover.bottom::before, .pb-add-section-handle:hover.middle::before,\n.pb-add-section-handle:hover > i {\n opacity: 1;\n}\n\n.pb-add-section-handle > i {\n font-style: normal;\n vertical-align: middle;\n position: absolute;\n top: 50%;\n left: 0;\n font-size: 2rem;\n transform: translate(-50%, -50%);\n opacity: 0.2;\n}';
14889
+ const canvasStyle = '.pb-page-wrapper {\n margin: 0 auto;\n padding: 0;\n}\n\n.pb-page {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n padding-bottom: 100px;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.pb-page .pb-page-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.pb-page .pb-page-content.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-page * {\n box-sizing: border-box;\n}\n\n.pb-add-widget-button {\n width: 100%;\n height: 100%;\n min-height: 200px;\n position: relative;\n}\n\n.pb-add-widget-button button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 8px;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.pb-add-widget-button button:hover {\n background-color: #eeeeee;\n}\n\n.pb-add-widget-button .icon {\n font-size: 1rem;\n vertical-align: middle;\n}\n\n.pb-add-widget-button .text {\n font-size: 1rem;\n vertical-align: middle;\n margin-left: 0.4rem;\n}\n\n.pb-section {\n display: flex;\n position: relative;\n width: 100%;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n outline: 1px dashed #ccc;\n background-color: #fff;\n}\n\n.pb-section:hover:not(:has(.pb-block:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-section.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static {\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\n.pb-section.pb-section-static:after {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n.pb-section-static .pb-widget {\n outline: none;\n}\n\n.pb-block {\n display: flex;\n min-width: 1px;\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n outline: 1px dashed #ccc;\n}\n\n.pb-block:hover:not(:has(.pb-widget:hover)) {\n background-color: #f0f0f0;\n}\n\n.pb-block.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget {\n position: relative;\n outline: 1px dashed #ccc;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n pointer-events: auto !important;\n min-height: 50px;\n}\n\n.pb-widget * {\n pointer-events: none;\n}\n\n.pb-widget.selected::before {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid #4998f8;\n z-index: 999;\n pointer-events: none;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-widget .pan-handle {\n position: absolute;\n left: -6px;\n top: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: move;\n pointer-events: auto !important;\n}\n\n.pb-widget .resize-handle {\n position: absolute;\n right: -6px;\n bottom: -6px;\n width: 12px;\n height: 12px;\n background-color: #27ae60;\n cursor: nwse-resize;\n pointer-events: auto !important;\n}\n\n.pb-widget {\n position: relative;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: cover;\n width: 100%;\n}\n\n.pb-widget .children {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.pb-text-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-text-widget .text {\n color: #333;\n}\n\n.pb-text-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-media-widget {\n width: 100%;\n}\n\n.pb-media-widget .image {\n width: 100%;\n}\n\n.pb-media-widget .video {\n width: 100%;\n}\n\n.pb-media-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-media-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-html-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-html-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-iframe-widget {\n width: 100%;\n height: fit-content;\n}\n\n.pb-iframe-widget .placeholder {\n padding: 4px 0;\n font-size: 18px;\n text-align: center;\n color: #999;\n}\n\n.pb-youtube-widget {\n width: 100%;\n}\n\n.pb-youtube-widget .youtube {\n width: 100%;\n height: 100%;\n}\n\n.pb-youtube-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-youtube-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-container-widget {\n width: 100%;\n}\n\n.pb-container-widget .placeholder {\n height: 100px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-container-widget .placeholder span {\n font-size: 40px;\n color: #999;\n line-height: 100px;\n vertical-align: middle;\n}\n\n.pb-product-list-widget {\n width: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\n.pb-product-list-widget .product-wrapper {\n width: 25%;\n}\n\n.pb-product-list-widget .product-wrapper .product {\n width: 95%;\n margin: 0 auto;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n.pb-product-list-widget .product-wrapper img {\n width: 100%;\n}\n\n.pb-product-list-widget .product-wrapper .name {\n margin-top: 8px;\n font-size: 14px;\n}\n\n.pb-product-list-widget .product-wrapper .price {\n margin-top: 8px;\n font-size: 14px;\n font-weight: bold;\n}\n\n.pb-product-list-widget .product-wrapper .empty {\n height: 200px;\n background-color: #eee;\n text-align: center;\n}\n\n.pb-product-list-widget .product-wrapper .empty span {\n font-size: 40px;\n color: #999;\n line-height: 200px;\n vertical-align: middle;\n}\n\n@media (max-width: 768px) {\n .pb-product-list-widget .product-wrapper {\n width: 50%;\n }\n}\n\n.mobile .pb-product-list-widget .product-wrapper {\n width: 50%;\n}\n\n.pb-login-widget {\n height: 200px;\n text-align: center;\n}\n\n.pb-login-widget h3 {\n padding: 0;\n margin: 0;\n font-size: 32px;\n font-weight: bold;\n color: #ccc;\n line-height: 200px;\n vertical-align: middle;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: #aaa;\n overflow: hidden;\n}\n\n.font-icon, .material-icons-outlined {\n font-family: "Material Symbols Outlined", monospace;\n font-size: 1rem;\n max-width: 1em;\n}\n\n.pb-position-mark {\n background-color: #ff3333;\n opacity: 0.5;\n border-radius: 2px;\n}\n\n.pb-add-section-handle {\n position: relative;\n text-align: center;\n cursor: pointer;\n z-index: 5;\n height: 0;\n}\n\n.pb-add-section-handle.top::before, .pb-add-section-handle.bottom::before, .pb-add-section-handle.middle::before {\n content: "";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.pb-add-section-handle.bottom {\n bottom: -32px;\n}\n\n.pb-add-section-handle:hover.top::before, .pb-add-section-handle:hover.bottom::before, .pb-add-section-handle:hover.middle::before,\n.pb-add-section-handle:hover > i {\n opacity: 1;\n}\n\n.pb-add-section-handle > i {\n font-style: normal;\n vertical-align: middle;\n position: absolute;\n top: 50%;\n left: 0;\n font-size: 2rem;\n transform: translate(-50%, -50%);\n opacity: 0.2;\n}';
14971
14890
  const _hoisted_1$2 = ["width"];
14972
14891
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
14973
14892
  __name: "PbPageFrame",
@@ -15461,6 +15380,10 @@ const enTexts = [
15461
15380
  {
15462
15381
  key: "pb.prop.hideParentWhenInvisible",
15463
15382
  text: "Hide block and section when invisible"
15383
+ },
15384
+ {
15385
+ key: "pb.prop.copied",
15386
+ text: "Copied."
15464
15387
  }
15465
15388
  ];
15466
15389
  const jaTexts = [
@@ -15787,6 +15710,10 @@ const jaTexts = [
15787
15710
  {
15788
15711
  key: "pb.prop.hideParentWhenInvisible",
15789
15712
  text: "非表示の場合はブロックとセクションも隠す"
15713
+ },
15714
+ {
15715
+ key: "pb.prop.copied",
15716
+ text: "コピーされました。"
15790
15717
  }
15791
15718
  ];
15792
15719
  const koTexts = [
@@ -16113,6 +16040,10 @@ const koTexts = [
16113
16040
  {
16114
16041
  key: "pb.prop.hideParentWhenInvisible",
16115
16042
  text: "블록과 섹션도 함께 숨김처리하기"
16043
+ },
16044
+ {
16045
+ key: "pb.prop.copied",
16046
+ text: "복사되었습니다."
16116
16047
  }
16117
16048
  ];
16118
16049
  const zhTexts = [
@@ -16439,6 +16370,10 @@ const zhTexts = [
16439
16370
  {
16440
16371
  key: "pb.prop.hideParentWhenInvisible",
16441
16372
  text: "不可见时隐藏区块和区域"
16373
+ },
16374
+ {
16375
+ key: "pb.prop.copied",
16376
+ text: "已复制。"
16442
16377
  }
16443
16378
  ];
16444
16379
  i18n.addTexts("en", enTexts);
@@ -16515,9 +16450,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16515
16450
  }
16516
16451
  });
16517
16452
  export {
16518
- providePageBuilderViewer as A,
16453
+ usePageBuilder as A,
16519
16454
  BLOCK_TYPE$1 as B,
16520
- usePageBuilder as C,
16455
+ ChangePropertyCommand as C,
16521
16456
  usePageBuilderViewer as D,
16522
16457
  Model$1 as M,
16523
16458
  PbColorPicker as P,
@@ -16536,19 +16471,19 @@ export {
16536
16471
  _sfc_main$r as i,
16537
16472
  _sfc_main$6$1 as j,
16538
16473
  _sfc_main$5$1 as k,
16539
- _sfc_main$9$1 as l,
16540
- _sfc_main$8$1 as m,
16541
- _sfc_main$7$1 as n,
16542
- _sfc_main$4$1 as o,
16543
- RootPart as p,
16544
- Section as q,
16545
- Widget as r,
16474
+ _sfc_main$8$1 as l,
16475
+ _sfc_main$7$1 as m,
16476
+ _sfc_main$4$1 as n,
16477
+ RootPart as o,
16478
+ Section as p,
16479
+ Widget as q,
16480
+ createPageBuilderViewer as r,
16546
16481
  selectYoutubeVideo as s,
16547
- createPageBuilderViewer as t,
16482
+ createPartComponent as t,
16548
16483
  usePageBuilderEditor as u,
16549
- createPartComponent as v,
16484
+ createPartComponents as v,
16550
16485
  widgetPartDefinitions as w,
16551
- createPartComponents as x,
16552
- getPartClassName as y,
16553
- providePageBuilder as z
16486
+ getPartClassName as x,
16487
+ providePageBuilder as y,
16488
+ providePageBuilderViewer as z
16554
16489
  };