@g1cloud/bluesea 5.0.0-beta.2 → 5.0.0-beta.3

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.
Files changed (39) hide show
  1. package/dist/{BSAlertModal-BixCrZDD.js → BSAlertModal-xBi30_WT.js} +1 -1
  2. package/dist/{BSGridColumnSettingModal-CVVenSnr.js → BSGridColumnSettingModal-CGOmNxYg.js} +1 -1
  3. package/dist/{BSRichTextMaximizedModal-BqzE5__U.js → BSRichTextMaximizedModal-bwfs_ETq.js} +1 -1
  4. package/dist/{BSYesNoModal-B5lERw_k.js → BSYesNoModal-g_jspSyV.js} +1 -1
  5. package/dist/{BSYoutubeInputModal-eRBqHjeW.js → BSYoutubeInputModal-gxqSatHw.js} +1 -1
  6. package/dist/{ImageInsertModal-DvKLXL1n.js → ImageInsertModal-BjQMX1aF.js} +2 -2
  7. package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-DVUZuLfG.js → ImageProperties.vue_vue_type_script_setup_true_lang-DngZdEN7.js} +1 -1
  8. package/dist/{ImagePropertiesModal-Dsg6BS63.js → ImagePropertiesModal-BVMSRdqN.js} +2 -2
  9. package/dist/{LinkPropertiesModal-Ct0ykD4j.js → LinkPropertiesModal-CjQMdxnd.js} +1 -1
  10. package/dist/{TableInsertModal-BhyzkcTU.js → TableInsertModal-W9oMIgb_.js} +1 -1
  11. package/dist/TablePropertiesModal-rKhKzzYG.js +353 -0
  12. package/dist/{VideoInsertModal-BAwRYBzU.js → VideoInsertModal-DMtZM5vy.js} +2 -2
  13. package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-BfwBHyER.js → VideoProperties.vue_vue_type_script_setup_true_lang-CbE-PZdm.js} +1 -1
  14. package/dist/{VideoPropertiesModal-B2FeEw4W.js → VideoPropertiesModal-CLkvzq3Y.js} +2 -2
  15. package/dist/{YoutubeInsertModal-EU6G-021.js → YoutubeInsertModal-4_qANoY5.js} +3 -3
  16. package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-Ci3ndkZR.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-B-LT9GYf.js} +1 -1
  17. package/dist/{YoutubePropertiesModal-CRy6zJwZ.js → YoutubePropertiesModal-BKwZsK6d.js} +2 -2
  18. package/dist/bluesea.js +21 -21
  19. package/dist/bluesea.umd.cjs +433 -197
  20. package/dist/component/input/BSMultiSelect.vue.d.ts +6 -6
  21. package/dist/component/input/BSSelect.vue.d.ts +6 -6
  22. package/dist/component/input/BSSelectPopup.vue.d.ts +6 -6
  23. package/dist/component/input/BSTreeMultiSelect.vue.d.ts +6 -6
  24. package/dist/component/input/BSTreeSelect.vue.d.ts +6 -6
  25. package/dist/component/richtext/RichTextModel.d.ts +1 -0
  26. package/dist/component/richtext/richTextUtil.d.ts +1 -1
  27. package/dist/component/richtext/table/RichTextTableCell.d.ts +1 -0
  28. package/dist/component/richtext/table/RichTextTableLib.d.ts +7 -1
  29. package/dist/component/tree/BSTree.vue.d.ts +3 -3
  30. package/dist/component/tree/BSTreeRow.vue.d.ts +3 -3
  31. package/dist/directive/vT.d.ts +1 -0
  32. package/dist/{index-CDwzpZX0.js → index-BQZ3zTp7.js} +160 -93
  33. package/package.json +3 -3
  34. package/text/bluesea_text_en.json +12 -0
  35. package/text/bluesea_text_fr.json +12 -0
  36. package/text/bluesea_text_ja.json +12 -0
  37. package/text/bluesea_text_ko.json +12 -0
  38. package/text/bluesea_text_zh.json +12 -0
  39. package/dist/TablePropertiesModal-BAxcByTD.js +0 -184
@@ -819,7 +819,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
819
819
  key: 0,
820
820
  class: "label"
821
821
  };
822
- const _hoisted_4$w = {
822
+ const _hoisted_4$x = {
823
823
  key: 1,
824
824
  class: "label null-label"
825
825
  };
@@ -1007,7 +1007,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
1007
1007
  _cache[3] || (_cache[3] = vue.createElementVNode("span", { class: "checkbox" }, null, -1)),
1008
1008
  item !== void 0 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("label", _hoisted_3$N, null, 512)), [
1009
1009
  [vue.unref(vT), item == null ? void 0 : item.label]
1010
- ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("label", _hoisted_4$w, null, 512)), [
1010
+ ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("label", _hoisted_4$x, null, 512)), [
1011
1011
  [vue.unref(vT), _ctx.nullLabel]
1012
1012
  ])
1013
1013
  ], 42, _hoisted_2$1g);
@@ -1432,11 +1432,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
1432
1432
  key: 0,
1433
1433
  class: "placeholder flex-grow-1"
1434
1434
  };
1435
- const _hoisted_4$v = {
1435
+ const _hoisted_4$w = {
1436
1436
  key: 1,
1437
1437
  class: "label"
1438
1438
  };
1439
- const _hoisted_5$j = {
1439
+ const _hoisted_5$k = {
1440
1440
  key: 2,
1441
1441
  class: "small-progress"
1442
1442
  };
@@ -1585,11 +1585,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
1585
1585
  }, [
1586
1586
  selectedItem.value === void 0 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_3$M, null, 512)), [
1587
1587
  [vue.unref(vT), _ctx.placeholder || { key: " ", html: true }]
1588
- ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$v, null, 512)), [
1588
+ ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$w, null, 512)), [
1589
1589
  [vue.unref(vT), selectedItemLabel.value]
1590
1590
  ]),
1591
1591
  _cache[4] || (_cache[4] = vue.createElementVNode("span", { class: "dropdown-btn" }, "expand_more", -1)),
1592
- loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$j, "progress_activity")) : vue.createCommentVNode("", true)
1592
+ loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$k, "progress_activity")) : vue.createCommentVNode("", true)
1593
1593
  ], 512),
1594
1594
  !_ctx.disabled && showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1Y, {
1595
1595
  key: 0,
@@ -1725,7 +1725,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
1725
1725
  const _hoisted_1$1C = ["data-menu-id"];
1726
1726
  const _hoisted_2$1e = ["href", "target"];
1727
1727
  const _hoisted_3$L = ["data-menu-id"];
1728
- const _hoisted_4$u = ["data-menu-id", "onMouseenter", "onClick"];
1728
+ const _hoisted_4$v = ["data-menu-id", "onMouseenter", "onClick"];
1729
1729
  const _sfc_main$1U = /* @__PURE__ */ vue.defineComponent({
1730
1730
  __name: "BSContextMenu",
1731
1731
  props: {
@@ -1827,7 +1827,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
1827
1827
  "data-id": "context-menu-item",
1828
1828
  onMouseenter: ($event) => showSubmenu($event, menu),
1829
1829
  onClick: vue.withModifiers(($event) => handleMenuClick(menu), ["stop"])
1830
- }, null, 42, _hoisted_4$u)), [
1830
+ }, null, 42, _hoisted_4$v)), [
1831
1831
  [vue.unref(vT), menu.caption]
1832
1832
  ])
1833
1833
  ], 64);
@@ -2031,18 +2031,18 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2031
2031
  class: "prefix"
2032
2032
  };
2033
2033
  const _hoisted_3$K = { class: "font-icon" };
2034
- const _hoisted_4$t = {
2034
+ const _hoisted_4$u = {
2035
2035
  key: 2,
2036
2036
  class: "prefix"
2037
2037
  };
2038
- const _hoisted_5$i = ["src"];
2039
- const _hoisted_6$8 = ["textContent"];
2040
- const _hoisted_7$5 = {
2038
+ const _hoisted_5$j = ["src"];
2039
+ const _hoisted_6$9 = ["textContent"];
2040
+ const _hoisted_7$6 = {
2041
2041
  key: 1,
2042
2042
  class: "suffix"
2043
2043
  };
2044
- const _hoisted_8$3 = { class: "font-icon" };
2045
- const _hoisted_9$2 = {
2044
+ const _hoisted_8$4 = { class: "font-icon" };
2045
+ const _hoisted_9$3 = {
2046
2046
  key: 2,
2047
2047
  class: "suffix"
2048
2048
  };
@@ -2197,17 +2197,17 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2197
2197
  [vue.unref(vT), item.value]
2198
2198
  ]) : item.type === "font-icon" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$1d, [
2199
2199
  vue.createElementVNode("span", _hoisted_3$K, vue.toDisplayString(item.value), 1)
2200
- ])) : item.type === "image-url" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$t, [
2200
+ ])) : item.type === "image-url" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$u, [
2201
2201
  vue.createElementVNode("img", {
2202
2202
  src: item.value,
2203
2203
  alt: "prefix"
2204
- }, null, 8, _hoisted_5$i)
2204
+ }, null, 8, _hoisted_5$j)
2205
2205
  ])) : vue.createCommentVNode("", true)
2206
2206
  ], 64);
2207
2207
  }), 256)),
2208
2208
  vue.createElementVNode("span", {
2209
2209
  textContent: vue.toDisplayString(vue.unref(stringValue))
2210
- }, null, 8, _hoisted_6$8),
2210
+ }, null, 8, _hoisted_6$9),
2211
2211
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getPrefixSuffixList(_ctx.suffix), (item) => {
2212
2212
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
2213
2213
  item.type === "text" ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
@@ -2215,9 +2215,9 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2215
2215
  class: "suffix"
2216
2216
  })), [
2217
2217
  [vue.unref(vT), item.value]
2218
- ]) : item.type === "font-icon" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$5, [
2219
- vue.createElementVNode("span", _hoisted_8$3, vue.toDisplayString(item.value), 1)
2220
- ])) : item.type === "image-url" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_9$2, [
2218
+ ]) : item.type === "font-icon" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$6, [
2219
+ vue.createElementVNode("span", _hoisted_8$4, vue.toDisplayString(item.value), 1)
2220
+ ])) : item.type === "image-url" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_9$3, [
2221
2221
  vue.createElementVNode("img", {
2222
2222
  src: item.value,
2223
2223
  alt: "suffix"
@@ -2770,15 +2770,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2770
2770
  const _hoisted_1$1v = { class: "bs-calendar bs-layout-vertical-inline" };
2771
2771
  const _hoisted_2$19 = { class: "bs-layout-horizontal justify-content-between align-items-center gap-8" };
2772
2772
  const _hoisted_3$I = { class: "year-month bs-layout-horizontal gap-4" };
2773
- const _hoisted_4$s = { class: "timezone" };
2774
- const _hoisted_5$h = { class: "weekdays" };
2775
- const _hoisted_6$7 = ["onClick"];
2776
- const _hoisted_7$4 = {
2773
+ const _hoisted_4$t = { class: "timezone" };
2774
+ const _hoisted_5$i = { class: "weekdays" };
2775
+ const _hoisted_6$8 = ["onClick"];
2776
+ const _hoisted_7$5 = {
2777
2777
  key: 0,
2778
2778
  class: "bs-layout-horizontal justify-content-center mt-8"
2779
2779
  };
2780
- const _hoisted_8$2 = { class: "select-wrap w-full pa-8 d-flex justify-content-center align-items-center" };
2781
- const _hoisted_9$1 = {
2780
+ const _hoisted_8$3 = { class: "select-wrap w-full pa-8 d-flex justify-content-center align-items-center" };
2781
+ const _hoisted_9$2 = {
2782
2782
  key: 1,
2783
2783
  class: "extra-dates bs-layout-vertical gap-2 mt-8"
2784
2784
  };
@@ -2983,13 +2983,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2983
2983
  onClick: nextMonth
2984
2984
  })
2985
2985
  ]),
2986
- vue.createElementVNode("div", _hoisted_4$s, " (" + vue.toDisplayString(vue.unref(blueseaConfig).timeZoneNameProvider(actualTimeZone.value)) + ") ", 1)
2986
+ vue.createElementVNode("div", _hoisted_4$t, " (" + vue.toDisplayString(vue.unref(blueseaConfig).timeZoneNameProvider(actualTimeZone.value)) + ") ", 1)
2987
2987
  ]),
2988
2988
  vue.createElementVNode("table", {
2989
2989
  class: vue.normalizeClass([{ disabled: _ctx.disabled }, "align-self-center"])
2990
2990
  }, [
2991
2991
  vue.createElementVNode("tbody", null, [
2992
- vue.createElementVNode("tr", _hoisted_5$h, [
2992
+ vue.createElementVNode("tr", _hoisted_5$i, [
2993
2993
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(weekdays.value, (day) => {
2994
2994
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("th", { key: day })), [
2995
2995
  [vue.unref(vT), day]
@@ -3008,14 +3008,14 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3008
3008
  onClick: () => selectDate(day)
3009
3009
  }, [
3010
3010
  vue.createElementVNode("div", null, vue.toDisplayString(day.date()), 1)
3011
- ], 10, _hoisted_6$7);
3011
+ ], 10, _hoisted_6$8);
3012
3012
  }), 128))
3013
3013
  ]);
3014
3014
  }), 128))
3015
3015
  ])
3016
3016
  ], 2),
3017
- _ctx.resolution === "HOUR" || _ctx.resolution === "MINUTE_10" || _ctx.resolution === "MINUTE" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$4, [
3018
- vue.createElementVNode("div", _hoisted_8$2, [
3017
+ _ctx.resolution === "HOUR" || _ctx.resolution === "MINUTE_10" || _ctx.resolution === "MINUTE" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$5, [
3018
+ vue.createElementVNode("div", _hoisted_8$3, [
3019
3019
  vue.createVNode(_sfc_main$1W, {
3020
3020
  disabled: _ctx.disabled,
3021
3021
  items: hours,
@@ -3035,7 +3035,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3035
3035
  }, null, 8, ["disabled", "items", "label-provider", "model-value"])
3036
3036
  ])
3037
3037
  ])) : vue.createCommentVNode("", true),
3038
- !_ctx.hideExtraDate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$1, [
3038
+ !_ctx.hideExtraDate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$2, [
3039
3039
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayTimeZones.value, (tz, index) => {
3040
3040
  return vue.openBlock(), vue.createElementBlock("div", {
3041
3041
  key: `${tz}_${index}`,
@@ -3052,12 +3052,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3052
3052
  const _hoisted_1$1u = { class: "bs-calendar-range bs-layout-horizontal" };
3053
3053
  const _hoisted_2$18 = { class: "bs-layout-vertical" };
3054
3054
  const _hoisted_3$H = { class: "bs-layout-horizontal align-items-center" };
3055
- const _hoisted_4$r = {
3055
+ const _hoisted_4$s = {
3056
3056
  key: 0,
3057
3057
  class: "extra-dates bs-layout-vertical gap-2 mt-8"
3058
3058
  };
3059
- const _hoisted_5$g = { key: 0 };
3060
- const _hoisted_6$6 = { key: 1 };
3059
+ const _hoisted_5$h = { key: 0 };
3060
+ const _hoisted_6$7 = { key: 1 };
3061
3061
  const _sfc_main$1K = /* @__PURE__ */ vue.defineComponent({
3062
3062
  __name: "BSCalendarRange",
3063
3063
  props: {
@@ -3138,15 +3138,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3138
3138
  "range-type": "to"
3139
3139
  }, null, 8, ["modelValue", "disabled", "display-format", "end-year", "first-day", "initial-month", "initial-year", "range-value", "resolution", "start-year", "time-zone"])
3140
3140
  ]),
3141
- !_ctx.hideExtraDate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$r, [
3141
+ !_ctx.hideExtraDate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$s, [
3142
3142
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayTimeZones.value, (tz, index) => {
3143
3143
  return vue.openBlock(), vue.createElementBlock("div", {
3144
3144
  key: `${tz}_${index}`,
3145
3145
  class: "extra-date"
3146
3146
  }, [
3147
- _ctx.from ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$g, vue.toDisplayString(vue.unref(formatUtil).formatDateString(_ctx.from, _ctx.displayFormat, tz)), 1)) : vue.createCommentVNode("", true),
3147
+ _ctx.from ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$h, vue.toDisplayString(vue.unref(formatUtil).formatDateString(_ctx.from, _ctx.displayFormat, tz)), 1)) : vue.createCommentVNode("", true),
3148
3148
  _cache[3] || (_cache[3] = vue.createElementVNode("span", null, "~", -1)),
3149
- _ctx.to ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, vue.toDisplayString(vue.unref(formatUtil).formatDateString(_ctx.to, _ctx.displayFormat, tz)), 1)) : vue.createCommentVNode("", true)
3149
+ _ctx.to ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$7, vue.toDisplayString(vue.unref(formatUtil).formatDateString(_ctx.to, _ctx.displayFormat, tz)), 1)) : vue.createCommentVNode("", true)
3150
3150
  ]);
3151
3151
  }), 128))
3152
3152
  ])) : vue.createCommentVNode("", true)
@@ -3164,7 +3164,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3164
3164
  key: 1,
3165
3165
  class: "input-area"
3166
3166
  };
3167
- const _hoisted_4$q = ["id", "autocomplete", "disabled", "maxlength", "name", "tabindex", "value"];
3167
+ const _hoisted_4$r = ["id", "autocomplete", "disabled", "maxlength", "name", "tabindex", "value"];
3168
3168
  const _sfc_main$1J = /* @__PURE__ */ vue.defineComponent({
3169
3169
  __name: "BSNumberInput",
3170
3170
  props: {
@@ -3318,7 +3318,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3318
3318
  tabindex: _ctx.tabindex,
3319
3319
  value: focused.value || !_ctx.formatOnBlur ? vue.unref(stringValue) : formattedStringValue.value,
3320
3320
  type: "text"
3321
- }, vue.toHandlers(handlers2, true)), null, 16, _hoisted_4$q), [
3321
+ }, vue.toHandlers(handlers2, true)), null, 16, _hoisted_4$r), [
3322
3322
  [
3323
3323
  vue.unref(vT),
3324
3324
  _ctx.placeholder,
@@ -3350,12 +3350,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3350
3350
  };
3351
3351
  const _hoisted_2$16 = ["textContent"];
3352
3352
  const _hoisted_3$F = ["textContent"];
3353
- const _hoisted_4$p = {
3353
+ const _hoisted_4$q = {
3354
3354
  key: 1,
3355
3355
  class: "input-area"
3356
3356
  };
3357
- const _hoisted_5$f = ["id", "autocomplete", "disabled", "maxlength", "name", "tabindex", "value"];
3358
- const _hoisted_6$5 = ["textContent"];
3357
+ const _hoisted_5$g = ["id", "autocomplete", "disabled", "maxlength", "name", "tabindex", "value"];
3358
+ const _hoisted_6$6 = ["textContent"];
3359
3359
  const _sfc_main$1I = /* @__PURE__ */ vue.defineComponent({
3360
3360
  __name: "BSPriceInput",
3361
3361
  props: {
@@ -3485,7 +3485,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3485
3485
  class: "currency-code",
3486
3486
  textContent: vue.toDisplayString(currencyCode.value)
3487
3487
  }, null, 8, _hoisted_3$F)
3488
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$p, [
3488
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$q, [
3489
3489
  vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
3490
3490
  id: _ctx.id,
3491
3491
  ref_key: "field",
@@ -3497,7 +3497,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3497
3497
  tabindex: _ctx.tabindex,
3498
3498
  value: focused.value || !_ctx.formatOnBlur ? vue.unref(stringValue) : formattedStringValue.value,
3499
3499
  type: "text"
3500
- }, vue.toHandlers(handlers2, true)), null, 16, _hoisted_5$f), [
3500
+ }, vue.toHandlers(handlers2, true)), null, 16, _hoisted_5$g), [
3501
3501
  [
3502
3502
  vue.unref(vT),
3503
3503
  _ctx.placeholder,
@@ -3508,7 +3508,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3508
3508
  vue.createElementVNode("div", {
3509
3509
  class: "currency-code",
3510
3510
  textContent: vue.toDisplayString(currencyCode.value)
3511
- }, null, 8, _hoisted_6$5)
3511
+ }, null, 8, _hoisted_6$6)
3512
3512
  ])),
3513
3513
  !_ctx.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$1X, {
3514
3514
  key: 2,
@@ -4279,7 +4279,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4279
4279
  class: "input-area"
4280
4280
  };
4281
4281
  const _hoisted_3$C = ["id", "disabled", "maxlength", "name", "tabindex", "value"];
4282
- const _hoisted_4$o = ["id", "disabled", "maxlength", "name", "tabindex", "value"];
4282
+ const _hoisted_4$p = ["id", "disabled", "maxlength", "name", "tabindex", "value"];
4283
4283
  const _sfc_main$1D = /* @__PURE__ */ vue.defineComponent({
4284
4284
  __name: "BSDateRange",
4285
4285
  props: {
@@ -4599,7 +4599,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4599
4599
  tabindex: _ctx.tabindex,
4600
4600
  value: focusedTo.value ? vue.unref(stringValueTo) : formattedTo.value,
4601
4601
  type: "text"
4602
- }, vue.toHandlers(handlersTo, true)), null, 16, _hoisted_4$o), [
4602
+ }, vue.toHandlers(handlersTo, true)), null, 16, _hoisted_4$p), [
4603
4603
  [
4604
4604
  vue.unref(vT),
4605
4605
  _ctx.placeholderTo,
@@ -4723,11 +4723,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4723
4723
  key: 0,
4724
4724
  class: "font-icon"
4725
4725
  };
4726
- const _hoisted_4$n = {
4726
+ const _hoisted_4$o = {
4727
4727
  key: 1,
4728
4728
  class: "text-label"
4729
4729
  };
4730
- const _hoisted_5$e = ["for"];
4730
+ const _hoisted_5$f = ["for"];
4731
4731
  const _sfc_main$1C = /* @__PURE__ */ vue.defineComponent({
4732
4732
  __name: "BSRadioButton",
4733
4733
  props: {
@@ -4774,7 +4774,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4774
4774
  }, vue.toHandlers(handlers2, true)), null, 16, _hoisted_1$1m),
4775
4775
  vue.createElementVNode("label", { for: _ctx.id }, [
4776
4776
  _ctx.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$B, vue.toDisplayString(_ctx.icon), 1)) : vue.createCommentVNode("", true),
4777
- _ctx.label ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$n, null, 512)), [
4777
+ _ctx.label ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$o, null, 512)), [
4778
4778
  [vue.unref(vT), _ctx.label]
4779
4779
  ]) : vue.createCommentVNode("", true)
4780
4780
  ], 8, _hoisted_2$10),
@@ -4784,7 +4784,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4784
4784
  class: "slot-label cursor-pointer"
4785
4785
  }, [
4786
4786
  vue.renderSlot(_ctx.$slots, "default", { disabled: _ctx.disabled })
4787
- ], 8, _hoisted_5$e)) : vue.createCommentVNode("", true)
4787
+ ], 8, _hoisted_5$f)) : vue.createCommentVNode("", true)
4788
4788
  ], 2);
4789
4789
  };
4790
4790
  }
@@ -5217,19 +5217,19 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5217
5217
  key: 0,
5218
5218
  class: "label"
5219
5219
  };
5220
- const _hoisted_4$m = {
5220
+ const _hoisted_4$n = {
5221
5221
  key: 0,
5222
5222
  class: "placeholder flex-grow-1"
5223
5223
  };
5224
- const _hoisted_5$d = {
5224
+ const _hoisted_5$e = {
5225
5225
  key: 1,
5226
5226
  class: "text-truncate"
5227
5227
  };
5228
- const _hoisted_6$4 = {
5228
+ const _hoisted_6$5 = {
5229
5229
  key: 0,
5230
5230
  class: "label"
5231
5231
  };
5232
- const _hoisted_7$3 = {
5232
+ const _hoisted_7$4 = {
5233
5233
  key: 2,
5234
5234
  class: "small-progress"
5235
5235
  };
@@ -5373,10 +5373,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5373
5373
  class: "selected w-full",
5374
5374
  role: "listbox"
5375
5375
  }, [
5376
- selectedItems.value.length === 0 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$m, null, 512)), [
5376
+ selectedItems.value.length === 0 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$n, null, 512)), [
5377
5377
  [vue.unref(vT), _ctx.placeholder]
5378
- ]) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$d, [
5379
- _ctx.selectedLabelProvider ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_6$4, null, 512)), [
5378
+ ]) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$e, [
5379
+ _ctx.selectedLabelProvider ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_6$5, null, 512)), [
5380
5380
  [vue.unref(vT), _ctx.selectedLabelProvider(selectedItems.value)]
5381
5381
  ]) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(selectedItems.value, (item) => {
5382
5382
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
@@ -5388,7 +5388,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5388
5388
  }), 128))
5389
5389
  ])),
5390
5390
  _cache[5] || (_cache[5] = vue.createElementVNode("span", { class: "dropdown-btn" }, "expand_more", -1)),
5391
- loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$3, "progress_activity")) : vue.createCommentVNode("", true)
5391
+ loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$4, "progress_activity")) : vue.createCommentVNode("", true)
5392
5392
  ], 512),
5393
5393
  !_ctx.disabled && showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1Y, {
5394
5394
  key: 0,
@@ -5580,11 +5580,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5580
5580
  key: 1,
5581
5581
  class: "font-icon w-16 text-gray-400"
5582
5582
  };
5583
- const _hoisted_4$l = {
5583
+ const _hoisted_4$m = {
5584
5584
  key: 2,
5585
5585
  class: "move-buttons"
5586
5586
  };
5587
- const _hoisted_5$c = {
5587
+ const _hoisted_5$d = {
5588
5588
  key: 0,
5589
5589
  class: "child-rows"
5590
5590
  };
@@ -5705,7 +5705,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5705
5705
  [vue.unref(vT), label.value],
5706
5706
  [vue.unref(vTreeRowDrag), dragOption]
5707
5707
  ]),
5708
- _ctx.showMoveButton ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$l, [
5708
+ _ctx.showMoveButton ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$m, [
5709
5709
  vue.createElementVNode("span", {
5710
5710
  class: "bs-clickable font-icon move-down",
5711
5711
  onClick: moveDownRow
@@ -5718,7 +5718,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5718
5718
  ], 2)), [
5719
5719
  [vue.unref(vTreeRowDrop), dropOption]
5720
5720
  ]),
5721
- children.value && children.value.length > 0 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_5$c, [
5721
+ children.value && children.value.length > 0 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, [
5722
5722
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(children.value, (child) => {
5723
5723
  return vue.openBlock(), vue.createBlock(_component_BSTreeRow, {
5724
5724
  key: _ctx.keyProvider(child),
@@ -6390,11 +6390,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6390
6390
  key: 0,
6391
6391
  class: "placeholder flex-grow-1"
6392
6392
  };
6393
- const _hoisted_4$k = {
6393
+ const _hoisted_4$l = {
6394
6394
  key: 1,
6395
6395
  class: "label"
6396
6396
  };
6397
- const _hoisted_5$b = {
6397
+ const _hoisted_5$c = {
6398
6398
  key: 2,
6399
6399
  class: "small-progress"
6400
6400
  };
@@ -6544,11 +6544,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6544
6544
  }, [
6545
6545
  !selectedItem.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_3$w, null, 512)), [
6546
6546
  [vue.unref(vT), _ctx.placeholder]
6547
- ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$k, null, 512)), [
6547
+ ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$l, null, 512)), [
6548
6548
  [vue.unref(vT), selectedItemLabel.value]
6549
6549
  ]),
6550
6550
  _cache[6] || (_cache[6] = vue.createElementVNode("span", { class: "dropdown-btn" }, "expand_more", -1)),
6551
- loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$b, "progress_activity")) : vue.createCommentVNode("", true)
6551
+ loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$c, "progress_activity")) : vue.createCommentVNode("", true)
6552
6552
  ], 512),
6553
6553
  showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1Z, {
6554
6554
  key: 0,
@@ -6584,11 +6584,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6584
6584
  key: 0,
6585
6585
  class: "placeholder flex-grow-1"
6586
6586
  };
6587
- const _hoisted_4$j = {
6587
+ const _hoisted_4$k = {
6588
6588
  key: 1,
6589
6589
  class: "label"
6590
6590
  };
6591
- const _hoisted_5$a = {
6591
+ const _hoisted_5$b = {
6592
6592
  key: 2,
6593
6593
  class: "small-progress"
6594
6594
  };
@@ -6734,11 +6734,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6734
6734
  }, [
6735
6735
  !selectedItems.value || selectedItems.value.length == 0 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_3$v, null, 512)), [
6736
6736
  [vue.unref(vT), _ctx.placeholder]
6737
- ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$j, null, 512)), [
6737
+ ]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", _hoisted_4$k, null, 512)), [
6738
6738
  [vue.unref(vT), selectedItemLabel.value]
6739
6739
  ]),
6740
6740
  _cache[7] || (_cache[7] = vue.createElementVNode("span", { class: "dropdown-btn" }, "expand_more", -1)),
6741
- loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$a, "progress_activity")) : vue.createCommentVNode("", true)
6741
+ loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$b, "progress_activity")) : vue.createCommentVNode("", true)
6742
6742
  ], 512),
6743
6743
  showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1Z, {
6744
6744
  key: 0,
@@ -6832,7 +6832,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6832
6832
  key: 1,
6833
6833
  class: "input-area bs-layout-horizontal align-items-start"
6834
6834
  };
6835
- const _hoisted_4$i = ["disabled", "maxlength", "name", "tabindex"];
6835
+ const _hoisted_4$j = ["disabled", "maxlength", "name", "tabindex"];
6836
6836
  const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
6837
6837
  __name: "BSTextArea",
6838
6838
  props: {
@@ -6988,7 +6988,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6988
6988
  class: "flex-grow-1",
6989
6989
  onPointerdown: capturePointer,
6990
6990
  onPointerup: preserveResizedHeight
6991
- }, vue.toHandlers(handlers2, true)), null, 16, _hoisted_4$i), [
6991
+ }, vue.toHandlers(handlers2, true)), null, 16, _hoisted_4$j), [
6992
6992
  [vue.vModelText, vue.unref(stringValue)],
6993
6993
  [
6994
6994
  vue.unref(vT),
@@ -28352,43 +28352,6 @@ img.ProseMirror-separator {
28352
28352
  return ["tr", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
28353
28353
  }
28354
28354
  });
28355
- const TableCell = Node.create({
28356
- name: "tableCell",
28357
- addOptions() {
28358
- return {
28359
- HTMLAttributes: {}
28360
- };
28361
- },
28362
- content: "block+",
28363
- addAttributes() {
28364
- return {
28365
- colspan: {
28366
- default: 1
28367
- },
28368
- rowspan: {
28369
- default: 1
28370
- },
28371
- colwidth: {
28372
- default: null,
28373
- parseHTML: (element) => {
28374
- const colwidth = element.getAttribute("colwidth");
28375
- const value = colwidth ? colwidth.split(",").map((width) => parseInt(width, 10)) : null;
28376
- return value;
28377
- }
28378
- }
28379
- };
28380
- },
28381
- tableRole: "cell",
28382
- isolating: true,
28383
- parseHTML() {
28384
- return [
28385
- { tag: "td" }
28386
- ];
28387
- },
28388
- renderHTML({ HTMLAttributes }) {
28389
- return ["td", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
28390
- }
28391
- });
28392
28355
  const _hoisted_1$1b = { class: "tool-button-font-size bs-layout-horizontal align-items-center" };
28393
28356
  const _hoisted_2$S = ["disabled", "value"];
28394
28357
  const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
@@ -31022,10 +30985,11 @@ img.ProseMirror-separator {
31022
30985
  const parseHTMLStyle = (attr) => {
31023
30986
  return (element) => element.style[attr];
31024
30987
  };
31025
- const renderHTMLStyle = (attr) => {
30988
+ const renderHTMLStyle = (attr, attrName2) => {
31026
30989
  return (attrs) => {
31027
30990
  const kebabCaseName = attr.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
31028
- return attrs[attr] ? { style: `${kebabCaseName}: ${attrs[attr]}` } : void 0;
30991
+ const value = attrs[attrName2 || attr];
30992
+ return value ? { style: `${kebabCaseName}: ${value}` } : void 0;
31029
30993
  };
31030
30994
  };
31031
30995
  const createStyleString = (attr, names) => {
@@ -31038,6 +31002,15 @@ img.ProseMirror-separator {
31038
31002
  height: { parseHTML: parseHTMLStyle("height"), renderHTML: renderHTMLStyle("height") },
31039
31003
  maxWidth: { parseHTML: parseHTMLStyle("maxWidth"), renderHTML: renderHTMLStyle("maxWidth") },
31040
31004
  maxHeight: { parseHTML: parseHTMLStyle("maxHeight"), renderHTML: renderHTMLStyle("maxHeight") },
31005
+ marginLeft: { parseHTML: parseHTMLStyle("marginLeft"), renderHTML: renderHTMLStyle("marginLeft") },
31006
+ marginTop: { parseHTML: parseHTMLStyle("marginTop"), renderHTML: renderHTMLStyle("marginTop") },
31007
+ marginRight: { parseHTML: parseHTMLStyle("marginRight"), renderHTML: renderHTMLStyle("marginRight") },
31008
+ marginBottom: { parseHTML: parseHTMLStyle("marginBottom"), renderHTML: renderHTMLStyle("marginBottom") },
31009
+ tableAlign: {
31010
+ default: "",
31011
+ parseHTML: parseHTMLStyle("alignSelf"),
31012
+ renderHTML: renderHTMLStyle("alignSelf", "tableAlign")
31013
+ },
31041
31014
  class: {
31042
31015
  default: void 0,
31043
31016
  parseHTML: (element) => element.className,
@@ -31050,6 +31023,13 @@ img.ProseMirror-separator {
31050
31023
  renderHTML: (props) => {
31051
31024
  var _a2;
31052
31025
  const result = (_a2 = Table.config.renderHTML) == null ? void 0 : _a2.apply(Table, [props]);
31026
+ if (Array.isArray(result) && result.length > 1) {
31027
+ const attrs = result[1];
31028
+ attrs.style = props.HTMLAttributes.style;
31029
+ }
31030
+ if (Array.isArray(result) && result.length > 2 && result[2][0] === "colgroup") {
31031
+ result.splice(2, 1);
31032
+ }
31053
31033
  return [
31054
31034
  "div",
31055
31035
  { class: "table-wrapper" },
@@ -31595,16 +31575,23 @@ img.ProseMirror-separator {
31595
31575
  start: {
31596
31576
  default: 0
31597
31577
  },
31598
- width: { parseHTML: parseHTMLStyle("width"), renderHTML: renderHTMLStyle("width") },
31599
- height: { parseHTML: parseHTMLStyle("height"), renderHTML: renderHTMLStyle("height") },
31600
- maxWidth: { parseHTML: parseHTMLStyle("maxWidth"), renderHTML: renderHTMLStyle("maxWidth") },
31601
- maxHeight: { parseHTML: parseHTMLStyle("maxHeight"), renderHTML: renderHTMLStyle("maxHeight") },
31602
- marginLeft: { parseHTML: parseHTMLStyle("marginLeft"), renderHTML: renderHTMLStyle("marginLeft") },
31603
- marginTop: { parseHTML: parseHTMLStyle("marginTop"), renderHTML: renderHTMLStyle("marginTop") },
31604
- marginRight: { parseHTML: parseHTMLStyle("marginRight"), renderHTML: renderHTMLStyle("marginRight") },
31605
- marginBottom: { parseHTML: parseHTMLStyle("marginBottom"), renderHTML: renderHTMLStyle("marginBottom") }
31578
+ width: { parseHTML: parseWrapperHTMLStyle("width"), renderHTML: renderHTMLStyle("width") },
31579
+ height: { parseHTML: parseWrapperHTMLStyle("height"), renderHTML: renderHTMLStyle("height") },
31580
+ maxWidth: { parseHTML: parseWrapperHTMLStyle("maxWidth"), renderHTML: renderHTMLStyle("maxWidth") },
31581
+ maxHeight: { parseHTML: parseWrapperHTMLStyle("maxHeight"), renderHTML: renderHTMLStyle("maxHeight") },
31582
+ marginLeft: { parseHTML: parseWrapperHTMLStyle("marginLeft"), renderHTML: renderHTMLStyle("marginLeft") },
31583
+ marginTop: { parseHTML: parseWrapperHTMLStyle("marginTop"), renderHTML: renderHTMLStyle("marginTop") },
31584
+ marginRight: { parseHTML: parseWrapperHTMLStyle("marginRight"), renderHTML: renderHTMLStyle("marginRight") },
31585
+ marginBottom: { parseHTML: parseWrapperHTMLStyle("marginBottom"), renderHTML: renderHTMLStyle("marginBottom") }
31606
31586
  };
31607
31587
  },
31588
+ parseHTML() {
31589
+ return [
31590
+ {
31591
+ tag: "span[data-youtube-video] iframe"
31592
+ }
31593
+ ];
31594
+ },
31608
31595
  // Youtube extension 에서는 div 로 감싸는데, p 안에 div 가 들어갈 수 없어, span 으로 변경함.
31609
31596
  renderHTML: (props) => {
31610
31597
  var _a2;
@@ -31616,14 +31603,21 @@ img.ProseMirror-separator {
31616
31603
  const iframeAttr = result[2][1];
31617
31604
  delete iframeAttr.width;
31618
31605
  delete iframeAttr.height;
31619
- iframeAttr.style = `width: 100%; height:100%;`;
31606
+ iframeAttr.style = `width: 100%; height:100%; ${args.style};`;
31620
31607
  return ["span", args, [iframe, iframeAttr]];
31621
31608
  }
31622
31609
  return "span";
31623
31610
  }
31624
31611
  });
31612
+ const parseWrapperHTMLStyle = (attr) => {
31613
+ return (element) => {
31614
+ var _a2;
31615
+ return (_a2 = element.parentElement) == null ? void 0 : _a2.style[attr];
31616
+ };
31617
+ };
31625
31618
  const createWrapperStyle = (attrs) => {
31626
31619
  if (!attrs.aspectRatio) attrs.aspectRatio = "16/9";
31620
+ if (!attrs.width) attrs.width = "100%";
31627
31621
  attrs = normalizeYoutubeInfoData(attrs);
31628
31622
  const styleKeys = ["aspectRatio", "width", "height", "maxWidth", "maxHeight", "marginLeft", "marginTop", "marginRight", "marginBottom"];
31629
31623
  const styles = [];
@@ -33988,6 +33982,70 @@ img.ProseMirror-separator {
33988
33982
  }
33989
33983
  const richTextContentStyle = '.rich-text-content {\n font-size: 14px;\n}\n.rich-text-content * {\n line-height: 1.4em;\n}\n.rich-text-content p {\n margin: 0 0 4px 0;\n padding: 0;\n}\n.rich-text-content p:empty:before {\n content: " ";\n white-space: pre;\n}\n.rich-text-content pre {\n background-color: #eee;\n padding: 8px;\n margin: 8px 0;\n border-radius: 4px;\n font-family: "Lucida Console", sans-serif;\n}\n.rich-text-content h1 {\n font-size: 1.8rem;\n margin: 1rem 0 0.4rem;\n}\n.rich-text-content h2 {\n font-size: 1.6rem;\n margin: 0.6rem 0 0.2rem;\n}\n.rich-text-content h3 {\n font-size: 1.4rem;\n margin: 0.4rem 0 0.2rem;\n}\n.rich-text-content h4 {\n font-size: 1.2rem;\n margin: 0.4rem 0 0.2rem;\n}\n.rich-text-content ul {\n padding-left: 1em;\n}\n.rich-text-content ul li {\n list-style: inside disc;\n}\n.rich-text-content ul li > ul > li {\n list-style: inside circle;\n}\n.rich-text-content ul li > ul > li > ul > li {\n list-style: inside square;\n}\n.rich-text-content ul li > p {\n display: inline;\n}\n.rich-text-content ol {\n padding-left: 1em;\n}\n.rich-text-content ol li {\n list-style: inside decimal;\n}\n.rich-text-content ol li > ol > li {\n list-style: inside lower-alpha;\n}\n.rich-text-content ol li > ol > li > ol > li {\n list-style: inside lower-roman;\n}\n.rich-text-content ol li > p {\n display: inline;\n}\n.rich-text-content > div > ul, .rich-text-content > div > ol {\n margin: 8px 0;\n}\n.rich-text-content em {\n font-style: italic;\n}\n.rich-text-content .table-wrapper {\n margin: 0.5rem 0;\n overflow-x: auto;\n display: flex;\n flex-direction: column;\n}\n.rich-text-content table {\n border-collapse: collapse;\n text-align: left;\n}\n.rich-text-content table > tr > th, .rich-text-content table > tr > td, .rich-text-content table > tbody > tr > th, .rich-text-content table > tbody > tr > td {\n border: 1px solid #ccc;\n box-sizing: border-box;\n padding: 6px 8px;\n vertical-align: top;\n}\n.rich-text-content table > tr > th > p, .rich-text-content table > tr > td > p, .rich-text-content table > tbody > tr > th > p, .rich-text-content table > tbody > tr > td > p {\n margin-bottom: 0;\n}\n.rich-text-content img {\n display: inline-block;\n height: auto;\n margin: 0.5rem 0;\n max-width: 100%;\n}\n.rich-text-content span[data-youtube-video] {\n padding-right: 0.5rem;\n display: inline-block;\n}\n.rich-text-content span[data-youtube-video] iframe {\n border: 0.5rem solid var(--black-contrast);\n outline: 0 solid transparent;\n}';
33990
33984
  const richTextContainerStyle = ':root {\n --body-bg: #ffffff;\n --gray-400: #A9A9A9;\n --primary: #5672EF;\n --icon-font-family: Material Symbols Outlined, monospace;\n}\n\n.bs-rich-text-editor {\n width: 100%;\n box-sizing: border-box;\n overflow: auto;\n padding: 8px;\n margin: 0 auto;\n background-color: var(--body-bg);\n align-self: center;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.2);\n /* table */\n /* image */\n /* youtube */\n}\n.bs-rich-text-editor > .tiptap {\n width: 100%;\n flex-grow: 1;\n}\n.bs-rich-text-editor > .tiptap:focus {\n outline: 0;\n}\n.bs-rich-text-editor table {\n table-layout: fixed;\n}\n.bs-rich-text-editor table td,\n.bs-rich-text-editor table th {\n min-width: 1em;\n position: relative;\n}\n.bs-rich-text-editor table td > *,\n.bs-rich-text-editor table th > * {\n margin-bottom: 0;\n}\n.bs-rich-text-editor table th {\n font-weight: bold;\n text-align: left;\n}\n.bs-rich-text-editor table .selectedCell:after {\n background: var(--gray-400);\n opacity: 0.3;\n content: "";\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n position: absolute;\n z-index: 1;\n}\n.bs-rich-text-editor table .column-resize-handle {\n background-color: var(--primary);\n bottom: -2px;\n pointer-events: none;\n position: absolute;\n right: -2px;\n top: 0;\n width: 4px;\n z-index: 2;\n}\n.bs-rich-text-editor img, .bs-rich-text-editor video {\n user-select: auto;\n}\n.bs-rich-text-editor img.ProseMirror-selectednode, .bs-rich-text-editor video.ProseMirror-selectednode {\n outline: 3px solid var(--primary);\n position: relative;\n transition: outline 0.15s;\n z-index: 1;\n}\n.bs-rich-text-editor span[data-youtube-video] {\n position: relative;\n cursor: move;\n}\n.bs-rich-text-editor span[data-youtube-video] iframe {\n user-select: auto;\n}\n.bs-rich-text-editor span[data-youtube-video].ProseMirror-selectednode iframe {\n outline: 3px solid var(--primary);\n transition: outline 0.15s;\n}\n.bs-rich-text-editor span[data-youtube-video]::after {\n content: "menu";\n font-family: var(--icon-font-family);\n position: absolute;\n background-color: white;\n border-radius: 4px;\n padding: 4px;\n left: 8px;\n top: 8px;\n font-size: 20px;\n line-height: 1em;\n}';
33985
+ const TableCell = Node.create({
33986
+ name: "tableCell",
33987
+ addOptions() {
33988
+ return {
33989
+ HTMLAttributes: {}
33990
+ };
33991
+ },
33992
+ content: "block+",
33993
+ addAttributes() {
33994
+ return {
33995
+ colspan: {
33996
+ default: 1
33997
+ },
33998
+ rowspan: {
33999
+ default: 1
34000
+ },
34001
+ colwidth: {
34002
+ default: null,
34003
+ parseHTML: (element) => {
34004
+ const colwidth = element.getAttribute("colwidth");
34005
+ const value = colwidth ? colwidth.split(",").map((width) => parseInt(width, 10)) : null;
34006
+ return value;
34007
+ }
34008
+ }
34009
+ };
34010
+ },
34011
+ tableRole: "cell",
34012
+ isolating: true,
34013
+ parseHTML() {
34014
+ return [
34015
+ { tag: "td" }
34016
+ ];
34017
+ },
34018
+ renderHTML({ HTMLAttributes }) {
34019
+ return ["td", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
34020
+ }
34021
+ });
34022
+ const RichTextTableCell = TableCell.extend({
34023
+ addAttributes() {
34024
+ var _a2;
34025
+ return {
34026
+ ...(_a2 = this.parent) == null ? void 0 : _a2.call(this),
34027
+ width: { parseHTML: parseHTMLStyle("width"), renderHTML: renderHTMLStyle("width") },
34028
+ colspan: {
34029
+ default: 1,
34030
+ parseHTML: (el) => {
34031
+ return Number(el.getAttribute("colspan")) || 1;
34032
+ },
34033
+ renderHTML: (attrs) => {
34034
+ if ((attrs.colspan || 1) > 1) return { colspan: attrs.colspan };
34035
+ }
34036
+ },
34037
+ rowspan: {
34038
+ default: 1,
34039
+ parseHTML: (el) => {
34040
+ return Number(el.getAttribute("rowspan")) || 1;
34041
+ },
34042
+ renderHTML: (attrs) => {
34043
+ if ((attrs.rowspan || 1) > 1) return { rowspan: attrs.rowspan };
34044
+ }
34045
+ }
34046
+ };
34047
+ }
34048
+ });
33991
34049
  const _hoisted_1$10 = ["innerHTML"];
33992
34050
  const _hoisted_2$L = { class: "editor-container" };
33993
34051
  const WRAP_BEGIN = '<div class="rich-text-content">';
@@ -34041,14 +34099,14 @@ img.ProseMirror-separator {
34041
34099
  inline: true
34042
34100
  }),
34043
34101
  RichTextTable.configure({
34044
- resizable: true,
34045
- lastColumnResizable: true,
34102
+ resizable: false,
34103
+ lastColumnResizable: false,
34046
34104
  allowTableNodeSelection: true,
34047
34105
  View: RichTextTableView
34048
34106
  }),
34049
34107
  TableHeader,
34050
34108
  TableRow,
34051
- TableCell,
34109
+ RichTextTableCell,
34052
34110
  RichTextYoutube.configure({
34053
34111
  inline: true,
34054
34112
  controls: false,
@@ -34168,10 +34226,19 @@ img.ProseMirror-separator {
34168
34226
  const doc2 = iframeRef.value.contentWindow.document;
34169
34227
  const context = {
34170
34228
  iframeDocument: doc2,
34229
+ fontLinks: [
34230
+ "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block"
34231
+ ],
34171
34232
  editorStyles: [richTextContainerStyle],
34172
34233
  contentStyles: [richTextContentStyle]
34173
34234
  };
34174
34235
  emit("editorIframeReady", context);
34236
+ context.fontLinks.forEach((font) => {
34237
+ const link = doc2.createElement("link");
34238
+ link.setAttribute("href", font);
34239
+ link.setAttribute("rel", "stylesheet");
34240
+ doc2.head.appendChild(link);
34241
+ });
34175
34242
  const styles = [...context.editorStyles || [], ...context.contentStyles || []];
34176
34243
  styles.forEach((css2) => {
34177
34244
  const style2 = doc2.createElement("style");
@@ -34391,9 +34458,9 @@ img.ProseMirror-separator {
34391
34458
  const _hoisted_1$$ = ["poster"];
34392
34459
  const _hoisted_2$K = ["src"];
34393
34460
  const _hoisted_3$s = ["alt", "src"];
34394
- const _hoisted_4$h = ["alt", "src"];
34395
- const _hoisted_5$9 = ["href"];
34396
- const _hoisted_6$3 = {
34461
+ const _hoisted_4$i = ["alt", "src"];
34462
+ const _hoisted_5$a = ["href"];
34463
+ const _hoisted_6$4 = {
34397
34464
  key: 7,
34398
34465
  class: "font-icon bottom-2 left-2 button"
34399
34466
  };
@@ -34505,7 +34572,7 @@ img.ProseMirror-separator {
34505
34572
  alt: _ctx.file.altText,
34506
34573
  src: fileUrl.value,
34507
34574
  style: vue.normalizeStyle({ width: _ctx.width, height: _ctx.height, maxWidth: _ctx.maxWidth })
34508
- }, null, 12, _hoisted_4$h)),
34575
+ }, null, 12, _hoisted_4$i)),
34509
34576
  _ctx.showDeleteButton ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
34510
34577
  key: 3,
34511
34578
  class: "bs-clickable font-icon button show-on-hover top-2 right-2",
@@ -34551,7 +34618,7 @@ img.ProseMirror-separator {
34551
34618
  target: "_blank"
34552
34619
  }, _cache[2] || (_cache[2] = [
34553
34620
  vue.createTextVNode("zoom_in")
34554
- ]), 8, _hoisted_5$9)), [
34621
+ ]), 8, _hoisted_5$a)), [
34555
34622
  [
34556
34623
  vue.unref(vT),
34557
34624
  { key: "bs.openInNewTab" },
@@ -34572,7 +34639,7 @@ img.ProseMirror-separator {
34572
34639
  void 0,
34573
34640
  { title: true }
34574
34641
  ]
34575
- ]) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$3, vue.toDisplayString(mediaTypeIcon.value), 1))
34642
+ ]) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$4, vue.toDisplayString(mediaTypeIcon.value), 1))
34576
34643
  ], 34)) : vue.createCommentVNode("", true);
34577
34644
  };
34578
34645
  }
@@ -36449,7 +36516,7 @@ img.ProseMirror-separator {
36449
36516
  const _hoisted_1$X = ["data-property-id"];
36450
36517
  const _hoisted_2$H = { class: "bs-layout-horizontal align-items-center" };
36451
36518
  const _hoisted_3$p = { class: "flex-grow-1 text-truncate" };
36452
- const _hoisted_4$g = ["textContent"];
36519
+ const _hoisted_4$h = ["textContent"];
36453
36520
  const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
36454
36521
  __name: "BSGridHeaderCell",
36455
36522
  props: {
@@ -36538,7 +36605,7 @@ img.ProseMirror-separator {
36538
36605
  class: vue.normalizeClass([{ "text-gray-400": ascending.value === void 0, "descending": !ascending.value }, "sort-icon font-icon bs-clickable"]),
36539
36606
  onClick: sort,
36540
36607
  textContent: vue.toDisplayString(ascending.value === void 0 ? "swap_vert" : "straight")
36541
- }, null, 10, _hoisted_4$g)) : vue.createCommentVNode("", true)
36608
+ }, null, 10, _hoisted_4$h)) : vue.createCommentVNode("", true)
36542
36609
  ]),
36543
36610
  vue.renderSlot(_ctx.$slots, "filter", {}, void 0, true),
36544
36611
  vue.createVNode(BSGridHeaderCellResizeHandle, {
@@ -37051,13 +37118,13 @@ img.ProseMirror-separator {
37051
37118
  key: 0,
37052
37119
  class: "fixed func-cell"
37053
37120
  };
37054
- const _hoisted_4$f = {
37121
+ const _hoisted_4$g = {
37055
37122
  key: 2,
37056
37123
  class: "fixed func-cell edit-icon"
37057
37124
  };
37058
- const _hoisted_5$8 = { key: 0 };
37059
- const _hoisted_6$2 = { key: 1 };
37060
- const _hoisted_7$2 = { class: "position-absolute text-nowrap pa-8" };
37125
+ const _hoisted_5$9 = { key: 0 };
37126
+ const _hoisted_6$3 = { key: 1 };
37127
+ const _hoisted_7$3 = { class: "position-absolute text-nowrap pa-8" };
37061
37128
  const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
37062
37129
  __name: "BSGrid",
37063
37130
  props: {
@@ -37333,7 +37400,7 @@ img.ProseMirror-separator {
37333
37400
  "selected-row-count": vue.unref(internalSelectedRows).size,
37334
37401
  onClick: toggleAllSelection
37335
37402
  }, null, 8, ["selected-row-count"])) : vue.createCommentVNode("", true),
37336
- _ctx.editable && !_ctx.hideEditIcon ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$f, _cache[1] || (_cache[1] = [
37403
+ _ctx.editable && !_ctx.hideEditIcon ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$g, _cache[1] || (_cache[1] = [
37337
37404
  vue.createElementVNode("div", null, null, -1)
37338
37405
  ]))) : vue.createCommentVNode("", true),
37339
37406
  _ctx.showSerial ? (vue.openBlock(), vue.createBlock(BSGridHeaderCellSerialNo, { key: 3 })) : vue.createCommentVNode("", true),
@@ -37363,13 +37430,13 @@ img.ProseMirror-separator {
37363
37430
  ])
37364
37431
  ]),
37365
37432
  vue.createElementVNode("tbody", null, [
37366
- _ctx.loading ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_5$8, [
37433
+ _ctx.loading ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_5$9, [
37367
37434
  vue.createElementVNode("td", null, [
37368
37435
  vue.createVNode(BSLoadingIcon, { class: "position-absolute pa-8" })
37369
37436
  ])
37370
- ])) : _ctx.data && _ctx.data.length === 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_6$2, [
37437
+ ])) : _ctx.data && _ctx.data.length === 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_6$3, [
37371
37438
  vue.createElementVNode("td", null, [
37372
- vue.withDirectives(vue.createElementVNode("div", _hoisted_7$2, null, 512), [
37439
+ vue.withDirectives(vue.createElementVNode("div", _hoisted_7$3, null, 512), [
37373
37440
  [vue.unref(vT), { key: "bs.grid.empty" }]
37374
37441
  ])
37375
37442
  ])
@@ -37478,7 +37545,7 @@ img.ProseMirror-separator {
37478
37545
  const _hoisted_1$O = { class: "bs-text-filter" };
37479
37546
  const _hoisted_2$D = { class: "input-wrap" };
37480
37547
  const _hoisted_3$n = { class: "textarea-wrap" };
37481
- const _hoisted_4$e = {
37548
+ const _hoisted_4$f = {
37482
37549
  class: "filter-caption text-nowrap",
37483
37550
  "data-id": "filterCaption"
37484
37551
  };
@@ -37611,7 +37678,7 @@ img.ProseMirror-separator {
37611
37678
  ], 512), [
37612
37679
  [vue.vShow, filterMode.value === "TEXTAREA"]
37613
37680
  ]),
37614
- vue.createElementVNode("div", _hoisted_4$e, [
37681
+ vue.createElementVNode("div", _hoisted_4$f, [
37615
37682
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filterMode.value === "INPUT" ? likeTextFilterItems.value : inTextFilterItems.value, (item) => {
37616
37683
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
37617
37684
  key: item.propertyId
@@ -37995,12 +38062,12 @@ img.ProseMirror-separator {
37995
38062
  const _hoisted_1$L = { class: "bs-grid-control" };
37996
38063
  const _hoisted_2$A = { key: 0 };
37997
38064
  const _hoisted_3$m = { key: 1 };
37998
- const _hoisted_4$d = { key: 2 };
37999
- const _hoisted_5$7 = { key: 3 };
38000
- const _hoisted_6$1 = { key: 4 };
38001
- const _hoisted_7$1 = ["textContent"];
38002
- const _hoisted_8$1 = { key: 5 };
38003
- const _hoisted_9 = ["textContent"];
38065
+ const _hoisted_4$e = { key: 2 };
38066
+ const _hoisted_5$8 = { key: 3 };
38067
+ const _hoisted_6$2 = { key: 4 };
38068
+ const _hoisted_7$2 = ["textContent"];
38069
+ const _hoisted_8$2 = { key: 5 };
38070
+ const _hoisted_9$1 = ["textContent"];
38004
38071
  const _hoisted_10 = { key: 6 };
38005
38072
  const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
38006
38073
  __name: "BSGridControl",
@@ -38075,7 +38142,7 @@ img.ProseMirror-separator {
38075
38142
  onClick: refreshGrid
38076
38143
  })
38077
38144
  ])) : vue.createCommentVNode("", true),
38078
- _ctx.showClearFilter ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$d, [
38145
+ _ctx.showClearFilter ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e, [
38079
38146
  vue.createVNode(BSButton, {
38080
38147
  caption: { key: "bs.grid.clearSetting" },
38081
38148
  "data-id": "clearSettingBtn",
@@ -38083,7 +38150,7 @@ img.ProseMirror-separator {
38083
38150
  onClick: clearGridFilter
38084
38151
  })
38085
38152
  ])) : vue.createCommentVNode("", true),
38086
- _ctx.showAddButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$7, [
38153
+ _ctx.showAddButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$8, [
38087
38154
  vue.createVNode(BSButton, {
38088
38155
  caption: { key: "bs.gridcontrol.addRow" },
38089
38156
  "data-id": "addRowBtn",
@@ -38091,7 +38158,7 @@ img.ProseMirror-separator {
38091
38158
  onClick: _cache[0] || (_cache[0] = ($event) => emit("clickAdd"))
38092
38159
  })
38093
38160
  ])) : vue.createCommentVNode("", true),
38094
- _ctx.showRemoveButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [
38161
+ _ctx.showRemoveButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [
38095
38162
  vue.createVNode(BSButton, {
38096
38163
  caption: { key: "bs.gridcontrol.removeRow" },
38097
38164
  "data-id": "removeRowBtn",
@@ -38107,9 +38174,9 @@ img.ProseMirror-separator {
38107
38174
  vue.createElementVNode("span", {
38108
38175
  "data-id": "totalCount",
38109
38176
  textContent: vue.toDisplayString(formattedTotalCount.value)
38110
- }, null, 8, _hoisted_7$1)
38177
+ }, null, 8, _hoisted_7$2)
38111
38178
  ]),
38112
- selectedCount.value > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$1, [
38179
+ selectedCount.value > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$2, [
38113
38180
  vue.withDirectives(vue.createElementVNode("span", null, null, 512), [
38114
38181
  [vue.unref(vT), { key: "bs.gridcontrol.selectedCount" }]
38115
38182
  ]),
@@ -38117,7 +38184,7 @@ img.ProseMirror-separator {
38117
38184
  vue.createElementVNode("span", {
38118
38185
  "data-id": "selectedCount",
38119
38186
  textContent: vue.toDisplayString(formattedSelectedCount.value)
38120
- }, null, 8, _hoisted_9)
38187
+ }, null, 8, _hoisted_9$1)
38121
38188
  ])) : vue.createCommentVNode("", true),
38122
38189
  _ctx.showLimit ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10, [
38123
38190
  vue.createVNode(_sfc_main$1W, {
@@ -38346,14 +38413,14 @@ img.ProseMirror-separator {
38346
38413
  const _hoisted_1$J = ["data-current-tab"];
38347
38414
  const _hoisted_2$y = { class: "prefix" };
38348
38415
  const _hoisted_3$l = { class: "tabs flex-grow-1 flex-shrink-1" };
38349
- const _hoisted_4$c = ["data-tab-id", "onClick"];
38350
- const _hoisted_5$6 = {
38416
+ const _hoisted_4$d = ["data-tab-id", "onClick"];
38417
+ const _hoisted_5$7 = {
38351
38418
  key: 0,
38352
38419
  class: "font-icon"
38353
38420
  };
38354
- const _hoisted_6 = { class: "ml-4" };
38355
- const _hoisted_7 = { class: "buttons text-nowrap" };
38356
- const _hoisted_8 = { class: "flex-grow-1 h-4 bs-layout-vertical" };
38421
+ const _hoisted_6$1 = { class: "ml-4" };
38422
+ const _hoisted_7$1 = { class: "buttons text-nowrap" };
38423
+ const _hoisted_8$1 = { class: "flex-grow-1 h-4 bs-layout-vertical" };
38357
38424
  const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
38358
38425
  __name: "BSTabSheet",
38359
38426
  props: {
@@ -38463,18 +38530,18 @@ img.ProseMirror-separator {
38463
38530
  "data-tab-id": tab.tabId,
38464
38531
  onClick: ($event) => selectTab(tab)
38465
38532
  }, [
38466
- tab.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$6, vue.toDisplayString(tab.icon), 1)) : vue.createCommentVNode("", true),
38467
- vue.withDirectives(vue.createElementVNode("span", _hoisted_6, null, 512), [
38533
+ tab.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$7, vue.toDisplayString(tab.icon), 1)) : vue.createCommentVNode("", true),
38534
+ vue.withDirectives(vue.createElementVNode("span", _hoisted_6$1, null, 512), [
38468
38535
  [vue.unref(vT), tab.caption]
38469
38536
  ])
38470
- ], 10, _hoisted_4$c);
38537
+ ], 10, _hoisted_4$d);
38471
38538
  }), 128))
38472
38539
  ]),
38473
- vue.createElementVNode("div", _hoisted_7, [
38540
+ vue.createElementVNode("div", _hoisted_7$1, [
38474
38541
  vue.renderSlot(_ctx.$slots, "buttons")
38475
38542
  ])
38476
38543
  ], 2),
38477
- vue.createElementVNode("div", _hoisted_8, [
38544
+ vue.createElementVNode("div", _hoisted_8$1, [
38478
38545
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(createdTabs.value, (createdTab) => {
38479
38546
  var _a3;
38480
38547
  return vue.renderSlot(_ctx.$slots, createdTab.tabId, {
@@ -67795,7 +67862,7 @@ img.ProseMirror-separator {
67795
67862
  key: 0,
67796
67863
  class: "address-caption"
67797
67864
  };
67798
- const _hoisted_4$b = { key: 0 };
67865
+ const _hoisted_4$c = { key: 0 };
67799
67866
  const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
67800
67867
  __name: "BSAddressInput",
67801
67868
  props: {
@@ -67941,7 +68008,7 @@ img.ProseMirror-separator {
67941
68008
  width: ((_e = selectedConfig.value.widths) == null ? void 0 : _e[index - 1]) || "100%"
67942
68009
  }, null, 8, ["id", "modelValue", "onUpdate:modelValue", "class", "disabled", "max-length", "maxlength", "name", "view-mode", "width"])
67943
68010
  ]),
67944
- selectedConfig.value.lineBreak === index || selectedConfig.value.lineBreak === "all" ? (vue.openBlock(), vue.createElementBlock("br", _hoisted_4$b)) : vue.createCommentVNode("", true)
68011
+ selectedConfig.value.lineBreak === index || selectedConfig.value.lineBreak === "all" ? (vue.openBlock(), vue.createElementBlock("br", _hoisted_4$c)) : vue.createCommentVNode("", true)
67945
68012
  ], 64);
67946
68013
  }), 128))
67947
68014
  ]),
@@ -68329,7 +68396,7 @@ img.ProseMirror-separator {
68329
68396
  class: "title-bar bs-layout-horizontal flex-align-center"
68330
68397
  };
68331
68398
  const _hoisted_3$f = { class: "title flex-grow-1" };
68332
- const _hoisted_4$a = { class: "title-buttons" };
68399
+ const _hoisted_4$b = { class: "title-buttons" };
68333
68400
  const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
68334
68401
  __name: "BSModalFrame",
68335
68402
  props: {
@@ -68375,7 +68442,7 @@ img.ProseMirror-separator {
68375
68442
  ])
68376
68443
  ])
68377
68444
  ]),
68378
- vue.createElementVNode("div", _hoisted_4$a, [
68445
+ vue.createElementVNode("div", _hoisted_4$b, [
68379
68446
  vue.renderSlot(_ctx.$slots, "title-buttons")
68380
68447
  ]),
68381
68448
  vue.createElementVNode("div", null, [
@@ -68451,7 +68518,7 @@ img.ProseMirror-separator {
68451
68518
  const _hoisted_1$r = { class: "bs-notification-container" };
68452
68519
  const _hoisted_2$k = { class: "top-notification bs-layout-vertical-inline flex-align-center gap-4" };
68453
68520
  const _hoisted_3$e = { class: "bottom-notification bs-layout-vertical-inline flex-align-end gap-4" };
68454
- const _hoisted_4$9 = { class: "tooltip-container" };
68521
+ const _hoisted_4$a = { class: "tooltip-container" };
68455
68522
  const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
68456
68523
  __name: "BSNotificationContainer",
68457
68524
  setup(__props) {
@@ -68494,7 +68561,7 @@ img.ProseMirror-separator {
68494
68561
  _: 1
68495
68562
  })
68496
68563
  ]),
68497
- vue.createElementVNode("div", _hoisted_4$9, [
68564
+ vue.createElementVNode("div", _hoisted_4$a, [
68498
68565
  vue.unref(tooltipEntry) ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
68499
68566
  key: 0,
68500
68567
  ref_key: "tooltip",
@@ -68516,8 +68583,8 @@ img.ProseMirror-separator {
68516
68583
  class: "title-bar bs-layout-horizontal flex-align-center"
68517
68584
  };
68518
68585
  const _hoisted_3$d = { class: "title d-flex align-items-center gap-8" };
68519
- const _hoisted_4$8 = { class: "flex-grow-1 overflow-auto" };
68520
- const _hoisted_5$5 = {
68586
+ const _hoisted_4$9 = { class: "flex-grow-1 overflow-auto" };
68587
+ const _hoisted_5$6 = {
68521
68588
  key: 1,
68522
68589
  class: "buttons"
68523
68590
  };
@@ -68543,10 +68610,10 @@ img.ProseMirror-separator {
68543
68610
  ], true)
68544
68611
  ])
68545
68612
  ])) : vue.createCommentVNode("", true),
68546
- vue.createElementVNode("div", _hoisted_4$8, [
68613
+ vue.createElementVNode("div", _hoisted_4$9, [
68547
68614
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
68548
68615
  ]),
68549
- hasButtons.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$5, [
68616
+ hasButtons.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$6, [
68550
68617
  vue.renderSlot(_ctx.$slots, "buttons", {}, void 0, true)
68551
68618
  ])) : vue.createCommentVNode("", true)
68552
68619
  ]);
@@ -69019,8 +69086,8 @@ img.ProseMirror-separator {
69019
69086
  const _hoisted_1$o = { class: "menu-search position-relative bs-layout-horizontal gap-8" };
69020
69087
  const _hoisted_2$i = { class: "menu-search-box flex-grow-1" };
69021
69088
  const _hoisted_3$c = ["value"];
69022
- const _hoisted_4$7 = { class: "icon bs-layout-horizontal align-items-center" };
69023
- const _hoisted_5$4 = { class: "font-icon" };
69089
+ const _hoisted_4$8 = { class: "icon bs-layout-horizontal align-items-center" };
69090
+ const _hoisted_5$5 = { class: "font-icon" };
69024
69091
  const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
69025
69092
  __name: "SidebarMenuSearch",
69026
69093
  props: {
@@ -69109,7 +69176,7 @@ img.ProseMirror-separator {
69109
69176
  { placeholder: true }
69110
69177
  ]
69111
69178
  ]),
69112
- vue.createElementVNode("div", _hoisted_4$7, [
69179
+ vue.createElementVNode("div", _hoisted_4$8, [
69113
69180
  vue.createElementVNode("button", {
69114
69181
  class: "bs-clickable",
69115
69182
  onClick: emptyKeyword
@@ -69129,7 +69196,7 @@ img.ProseMirror-separator {
69129
69196
  class: "bs-clickable",
69130
69197
  onClick: toggleFixedMenu
69131
69198
  }, [
69132
- vue.createElementVNode("span", _hoisted_5$4, vue.toDisplayString(fixedMenuIcon.value), 1)
69199
+ vue.createElementVNode("span", _hoisted_5$5, vue.toDisplayString(fixedMenuIcon.value), 1)
69133
69200
  ])
69134
69201
  ]);
69135
69202
  };
@@ -69780,8 +69847,8 @@ img.ProseMirror-separator {
69780
69847
  const _hoisted_1$f = { class: "title" };
69781
69848
  const _hoisted_2$d = { class: "title" };
69782
69849
  const _hoisted_3$b = { class: "title" };
69783
- const _hoisted_4$6 = { class: "title" };
69784
- const _hoisted_5$3 = { class: "bs-layout-horizontal gap-2" };
69850
+ const _hoisted_4$7 = { class: "title" };
69851
+ const _hoisted_5$4 = { class: "bs-layout-horizontal gap-2" };
69785
69852
  const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
69786
69853
  __name: "ImageProperties",
69787
69854
  props: {
@@ -69882,10 +69949,10 @@ img.ProseMirror-separator {
69882
69949
  ])
69883
69950
  ]),
69884
69951
  vue.createElementVNode("div", null, [
69885
- vue.createElementVNode("div", _hoisted_4$6, [
69952
+ vue.createElementVNode("div", _hoisted_4$7, [
69886
69953
  vue.createVNode(_sfc_main$1_, { label: { key: "bs.margin" } })
69887
69954
  ]),
69888
- vue.createElementVNode("div", _hoisted_5$3, [
69955
+ vue.createElementVNode("div", _hoisted_5$4, [
69889
69956
  vue.withDirectives(vue.createVNode(_sfc_main$1S, {
69890
69957
  modelValue: _ctx.imageInfo.marginLeft,
69891
69958
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.imageInfo.marginLeft = $event),
@@ -70059,8 +70126,8 @@ img.ProseMirror-separator {
70059
70126
  const _hoisted_1$d = { class: "bs-layout-horizontal gap-8" };
70060
70127
  const _hoisted_2$b = { class: "title" };
70061
70128
  const _hoisted_3$9 = { class: "title" };
70062
- const _hoisted_4$5 = { class: "title" };
70063
- const _hoisted_5$2 = { class: "bs-layout-horizontal gap-2" };
70129
+ const _hoisted_4$6 = { class: "title" };
70130
+ const _hoisted_5$3 = { class: "bs-layout-horizontal gap-2" };
70064
70131
  const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
70065
70132
  __name: "VideoProperties",
70066
70133
  props: {
@@ -70175,10 +70242,10 @@ img.ProseMirror-separator {
70175
70242
  ])
70176
70243
  ]),
70177
70244
  vue.createElementVNode("div", null, [
70178
- vue.createElementVNode("div", _hoisted_4$5, [
70245
+ vue.createElementVNode("div", _hoisted_4$6, [
70179
70246
  vue.createVNode(_sfc_main$1_, { label: { key: "bs.margin" } })
70180
70247
  ]),
70181
- vue.createElementVNode("div", _hoisted_5$2, [
70248
+ vue.createElementVNode("div", _hoisted_5$3, [
70182
70249
  vue.withDirectives(vue.createVNode(_sfc_main$1S, {
70183
70250
  modelValue: _ctx.videoInfo.marginLeft,
70184
70251
  "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => _ctx.videoInfo.marginLeft = $event),
@@ -70483,9 +70550,34 @@ img.ProseMirror-separator {
70483
70550
  marginBottom: componentUtil.numberToPixel(data.marginBottom)
70484
70551
  };
70485
70552
  };
70553
+ const setTableColumnWidth = (node, tablePos, colIndex, width, tr2) => {
70554
+ node.forEach((row, rowOffset) => {
70555
+ let col = 0;
70556
+ row.forEach((cell, cellOffset) => {
70557
+ const colspan = cell.attrs.colspan || 1;
70558
+ if (col <= colIndex && col + colspan > colIndex) {
70559
+ tr2.setNodeMarkup(
70560
+ tablePos + 1 + rowOffset + cellOffset,
70561
+ void 0,
70562
+ {
70563
+ ...cell.attrs,
70564
+ width
70565
+ }
70566
+ );
70567
+ }
70568
+ col += colspan;
70569
+ });
70570
+ });
70571
+ };
70486
70572
  const _hoisted_1$9 = { class: "title" };
70487
70573
  const _hoisted_2$9 = { class: "title" };
70488
- const _hoisted_3$7 = { class: "bs-layout-horizontal justify-content-end gap-8" };
70574
+ const _hoisted_3$7 = { class: "title" };
70575
+ const _hoisted_4$5 = { class: "bs-layout-horizontal gap-2" };
70576
+ const _hoisted_5$2 = { class: "title" };
70577
+ const _hoisted_6 = { class: "title" };
70578
+ const _hoisted_7 = { class: "py-2 pr-8" };
70579
+ const _hoisted_8 = { class: "pt-4" };
70580
+ const _hoisted_9 = { class: "bs-layout-horizontal justify-content-end gap-8" };
70489
70581
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
70490
70582
  __name: "TablePropertiesModal",
70491
70583
  props: {
@@ -70495,6 +70587,7 @@ img.ProseMirror-separator {
70495
70587
  const props = __props;
70496
70588
  const disabled = vue.computed(() => !props.editor.isEditable);
70497
70589
  const data = vue.ref();
70590
+ const columns = vue.ref([]);
70498
70591
  vue.onMounted(() => {
70499
70592
  const selection = props.editor.state.selection;
70500
70593
  const { node } = findTableNode(selection, "table");
@@ -70502,20 +70595,41 @@ img.ProseMirror-separator {
70502
70595
  data.value = {
70503
70596
  ...node.attrs
70504
70597
  };
70598
+ if (node.firstChild && (node.firstChild.children.length || 0) > 0) {
70599
+ columns.value = node.firstChild.children.map((col) => ({
70600
+ width: col.attrs.width || void 0
70601
+ }));
70602
+ }
70505
70603
  }
70506
70604
  });
70605
+ const resetAllColumns = () => {
70606
+ var _a2;
70607
+ (_a2 = columns.value) == null ? void 0 : _a2.forEach((col) => {
70608
+ col.width = void 0;
70609
+ });
70610
+ };
70611
+ const alignItems = [
70612
+ { value: "", caption: "", icon: "format_align_justify" },
70613
+ { value: "start", caption: "", icon: "format_align_left", tooltip: { key: "bs.richtext.alignLeft" } },
70614
+ { value: "center", caption: "", icon: "format_align_center", tooltip: { key: "bs.richtext.alignCenter" } },
70615
+ { value: "end", caption: "", icon: "format_align_right", tooltip: { key: "bs.richtext.alignRight" } }
70616
+ ];
70507
70617
  const modalHandle = useModalHandle();
70508
70618
  const form = vue.useTemplateRef("form");
70509
70619
  const validator = formValidator({ element: form });
70510
70620
  const save = async () => {
70511
70621
  await validator.validate();
70512
70622
  props.editor.chain().focus().command(({ tr: tr2 }) => {
70623
+ var _a2;
70513
70624
  const { node, nodePos } = findTableNode(tr2.selection, "table");
70514
70625
  if (node && nodePos && data.value) {
70515
70626
  tr2.setNodeMarkup(nodePos - 1, null, {
70516
70627
  ...node.attrs,
70517
70628
  ...tableInfoNumberToPixel(data.value)
70518
70629
  });
70630
+ (_a2 = columns.value) == null ? void 0 : _a2.forEach((column, index) => {
70631
+ setTableColumnWidth(node, nodePos, index, column.width, tr2);
70632
+ });
70519
70633
  }
70520
70634
  return true;
70521
70635
  }).run();
@@ -70526,7 +70640,7 @@ img.ProseMirror-separator {
70526
70640
  };
70527
70641
  modalHandle.setDefaultStyle({
70528
70642
  width: "500px",
70529
- height: "400px"
70643
+ maxHeight: "80%"
70530
70644
  });
70531
70645
  return (_ctx, _cache) => {
70532
70646
  return vue.openBlock(), vue.createBlock(_sfc_main$u, { title: { key: "bs.richtext.table" } }, {
@@ -70548,7 +70662,7 @@ img.ProseMirror-separator {
70548
70662
  disabled: disabled.value,
70549
70663
  name: "width",
70550
70664
  prefix: "W",
70551
- width: "100px"
70665
+ width: "120px"
70552
70666
  }, null, 8, ["modelValue", "disabled"]), [
70553
70667
  [
70554
70668
  vue.unref(vT),
@@ -70557,14 +70671,14 @@ img.ProseMirror-separator {
70557
70671
  { title: true }
70558
70672
  ]
70559
70673
  ]),
70560
- _cache[4] || (_cache[4] = vue.createTextVNode(" x ")),
70674
+ _cache[9] || (_cache[9] = vue.createTextVNode(" x ")),
70561
70675
  vue.withDirectives(vue.createVNode(_sfc_main$1S, {
70562
70676
  modelValue: data.value.height,
70563
70677
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data.value.height = $event),
70564
70678
  disabled: disabled.value,
70565
70679
  name: "height",
70566
70680
  prefix: "H",
70567
- width: "100px"
70681
+ width: "120px"
70568
70682
  }, null, 8, ["modelValue", "disabled"]), [
70569
70683
  [
70570
70684
  vue.unref(vT),
@@ -70586,7 +70700,7 @@ img.ProseMirror-separator {
70586
70700
  disabled: disabled.value,
70587
70701
  name: "maxWidth",
70588
70702
  prefix: "W",
70589
- width: "100px"
70703
+ width: "120px"
70590
70704
  }, null, 8, ["modelValue", "disabled"]), [
70591
70705
  [
70592
70706
  vue.unref(vT),
@@ -70595,14 +70709,14 @@ img.ProseMirror-separator {
70595
70709
  { title: true }
70596
70710
  ]
70597
70711
  ]),
70598
- _cache[5] || (_cache[5] = vue.createTextVNode(" x ")),
70712
+ _cache[10] || (_cache[10] = vue.createTextVNode(" x ")),
70599
70713
  vue.withDirectives(vue.createVNode(_sfc_main$1S, {
70600
70714
  modelValue: data.value.maxHeight,
70601
70715
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => data.value.maxHeight = $event),
70602
70716
  disabled: disabled.value,
70603
70717
  name: "maxHeight",
70604
70718
  prefix: "H",
70605
- width: "100px"
70719
+ width: "120px"
70606
70720
  }, null, 8, ["modelValue", "disabled"]), [
70607
70721
  [
70608
70722
  vue.unref(vT),
@@ -70612,11 +70726,133 @@ img.ProseMirror-separator {
70612
70726
  ]
70613
70727
  ])
70614
70728
  ])
70729
+ ]),
70730
+ vue.createElementVNode("div", null, [
70731
+ vue.createElementVNode("div", _hoisted_3$7, [
70732
+ vue.createVNode(_sfc_main$1_, { label: { key: "bs.margin" } })
70733
+ ]),
70734
+ vue.createElementVNode("div", _hoisted_4$5, [
70735
+ vue.withDirectives(vue.createVNode(_sfc_main$1S, {
70736
+ modelValue: data.value.marginLeft,
70737
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => data.value.marginLeft = $event),
70738
+ disabled: disabled.value,
70739
+ prefix: { type: "font-icon", value: "keyboard_arrow_left" },
70740
+ name: "marginLeft",
70741
+ width: "80px"
70742
+ }, null, 8, ["modelValue", "disabled"]), [
70743
+ [
70744
+ vue.unref(vT),
70745
+ { key: "bs.left" },
70746
+ void 0,
70747
+ { title: true }
70748
+ ]
70749
+ ]),
70750
+ vue.withDirectives(vue.createVNode(_sfc_main$1S, {
70751
+ modelValue: data.value.marginTop,
70752
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => data.value.marginTop = $event),
70753
+ disabled: disabled.value,
70754
+ prefix: { type: "font-icon", value: "keyboard_arrow_up" },
70755
+ name: "marginTop",
70756
+ width: "80px"
70757
+ }, null, 8, ["modelValue", "disabled"]), [
70758
+ [
70759
+ vue.unref(vT),
70760
+ { key: "bs.top" },
70761
+ void 0,
70762
+ { title: true }
70763
+ ]
70764
+ ]),
70765
+ vue.withDirectives(vue.createVNode(_sfc_main$1S, {
70766
+ modelValue: data.value.marginBottom,
70767
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => data.value.marginBottom = $event),
70768
+ disabled: disabled.value,
70769
+ prefix: { type: "font-icon", value: "keyboard_arrow_down" },
70770
+ name: "marginBottom",
70771
+ width: "80px"
70772
+ }, null, 8, ["modelValue", "disabled"]), [
70773
+ [
70774
+ vue.unref(vT),
70775
+ { key: "bs.bottom" },
70776
+ void 0,
70777
+ { title: true }
70778
+ ]
70779
+ ]),
70780
+ vue.withDirectives(vue.createVNode(_sfc_main$1S, {
70781
+ modelValue: data.value.marginRight,
70782
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => data.value.marginRight = $event),
70783
+ disabled: disabled.value,
70784
+ prefix: { type: "font-icon", value: "keyboard_arrow_right" },
70785
+ name: "marginRight",
70786
+ width: "80px"
70787
+ }, null, 8, ["modelValue", "disabled"]), [
70788
+ [
70789
+ vue.unref(vT),
70790
+ { key: "bs.right" },
70791
+ void 0,
70792
+ { title: true }
70793
+ ]
70794
+ ])
70795
+ ])
70796
+ ]),
70797
+ vue.createElementVNode("div", null, [
70798
+ vue.createElementVNode("div", _hoisted_5$2, [
70799
+ vue.createVNode(_sfc_main$1_, { label: { key: "bs.align" } })
70800
+ ]),
70801
+ vue.createElementVNode("div", null, [
70802
+ vue.createVNode(_sfc_main$1B, {
70803
+ modelValue: data.value.tableAlign,
70804
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => data.value.tableAlign = $event),
70805
+ disabled: disabled.value,
70806
+ "icon-provider": (item) => item.icon,
70807
+ items: alignItems,
70808
+ "label-provider": (item) => item.caption,
70809
+ "tooltip-provider": (item) => item.tooltip,
70810
+ "value-provider": (item) => item.value,
70811
+ class: "button-group-style",
70812
+ name: "tableAlign"
70813
+ }, null, 8, ["modelValue", "disabled", "icon-provider", "label-provider", "tooltip-provider", "value-provider"])
70814
+ ])
70815
+ ]),
70816
+ vue.createElementVNode("div", null, [
70817
+ vue.createElementVNode("div", _hoisted_6, [
70818
+ vue.createVNode(_sfc_main$1_, { label: { key: "bs.richtext.tableColumnInfo" } })
70819
+ ]),
70820
+ vue.createElementVNode("div", null, [
70821
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(columns.value, (column, index) => {
70822
+ return vue.openBlock(), vue.createElementBlock("div", {
70823
+ key: index,
70824
+ class: "mb-4"
70825
+ }, [
70826
+ vue.createElementVNode("span", _hoisted_7, vue.toDisplayString(index + 1) + ":", 1),
70827
+ vue.withDirectives(vue.createVNode(_sfc_main$1S, {
70828
+ modelValue: column.width,
70829
+ "onUpdate:modelValue": ($event) => column.width = $event,
70830
+ disabled: disabled.value,
70831
+ name: `columnWidth_${index}`,
70832
+ prefix: "W",
70833
+ width: "120px"
70834
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "disabled", "name"]), [
70835
+ [
70836
+ vue.unref(vT),
70837
+ { key: "bs.width" },
70838
+ void 0,
70839
+ { title: true }
70840
+ ]
70841
+ ])
70842
+ ]);
70843
+ }), 128)),
70844
+ vue.createElementVNode("div", _hoisted_8, [
70845
+ vue.createVNode(BSButton, {
70846
+ caption: { key: "bs.clearAll" },
70847
+ onClick: resetAllColumns
70848
+ })
70849
+ ])
70850
+ ])
70615
70851
  ])
70616
70852
  ], 512)) : vue.createCommentVNode("", true)
70617
70853
  ]),
70618
70854
  buttons: vue.withCtx(() => [
70619
- vue.createElementVNode("div", _hoisted_3$7, [
70855
+ vue.createElementVNode("div", _hoisted_9, [
70620
70856
  vue.createVNode(BSButton, {
70621
70857
  caption: { key: "bs.ok" },
70622
70858
  "button-color": "blue",
@@ -70995,7 +71231,7 @@ img.ProseMirror-separator {
70995
71231
  setup(__props) {
70996
71232
  const props = __props;
70997
71233
  const disabled = vue.computed(() => !props.editor.isEditable);
70998
- const data = vue.ref({ src: "", aspectRatio: "16/9" });
71234
+ const data = vue.ref({ src: "", aspectRatio: "16/9", width: "480px" });
70999
71235
  const modalHandle = useModalHandle();
71000
71236
  const insert2 = () => {
71001
71237
  if (data.value.src) {