@g1cloud/bluesea 5.0.0-beta.21 → 5.0.0-beta.23

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 (25) hide show
  1. package/css/bluesea.css +13 -8
  2. package/dist/{BSAlertModal-CYU9CQls.js → BSAlertModal-6tEkwgWx.js} +1 -1
  3. package/dist/{BSGridColumnSettingModal-ZZsojFuF.js → BSGridColumnSettingModal-VUocv6UV.js} +1 -1
  4. package/dist/{BSRichTextMaximizedModal-SyLzOqK2.js → BSRichTextMaximizedModal-CY9SoSef.js} +1 -1
  5. package/dist/{BSYesNoModal-BnlBSnTl.js → BSYesNoModal-Cl1BTqpc.js} +1 -1
  6. package/dist/{BSYoutubeInputModal-DoEETszL.js → BSYoutubeInputModal-ZPgUtYEv.js} +1 -1
  7. package/dist/{ImageInsertModal-CB7nCYk5.js → ImageInsertModal-CxWBdXkG.js} +2 -2
  8. package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-D6zZgPOW.js → ImageProperties.vue_vue_type_script_setup_true_lang-LPjH_QLh.js} +1 -1
  9. package/dist/{ImagePropertiesModal-DhC1BIGM.js → ImagePropertiesModal-BDQhSQ9v.js} +2 -2
  10. package/dist/{LinkPropertiesModal-CiC7e3lM.js → LinkPropertiesModal-BxuxKHfU.js} +1 -1
  11. package/dist/{TableInsertModal-D6pcuU2G.js → TableInsertModal-CXJ4brID.js} +1 -1
  12. package/dist/{TablePropertiesModal-dyMd6ysL.js → TablePropertiesModal-pkr6Msmu.js} +1 -1
  13. package/dist/{VideoInsertModal-B1uHQRye.js → VideoInsertModal-vjlc3ono.js} +2 -2
  14. package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-CuzZ0FvR.js → VideoProperties.vue_vue_type_script_setup_true_lang-BeTi_0bW.js} +1 -1
  15. package/dist/{VideoPropertiesModal-CWq4UM9A.js → VideoPropertiesModal-_ETvfO7t.js} +2 -2
  16. package/dist/{YoutubeInsertModal-BrhwLQmb.js → YoutubeInsertModal-CIEiPj4I.js} +2 -2
  17. package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-AiYZ7nOr.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-DCe1S3Z0.js} +1 -1
  18. package/dist/{YoutubePropertiesModal-BcDH9UvU.js → YoutubePropertiesModal-BEoWxNhm.js} +2 -2
  19. package/dist/bluesea.css +12 -8
  20. package/dist/bluesea.js +1 -1
  21. package/dist/bluesea.umd.cjs +56 -12
  22. package/dist/component/input/BSMultiImageUpload.vue.d.ts +2 -0
  23. package/dist/component/input/BSPriceInput.vue.d.ts +2 -0
  24. package/dist/{index-D3w5seMa.js → index-CcW6HExQ.js} +72 -28
  25. package/package.json +1 -1
package/css/bluesea.css CHANGED
@@ -27829,22 +27829,22 @@ div[data-v-c1655c12] {
27829
27829
  border-color: var(--border) !important;
27830
27830
  }
27831
27831
 
27832
- .image-upload-move[data-v-bb3fe045],
27833
- .image-upload-enter-active[data-v-bb3fe045],
27834
- .image-upload-leave-active[data-v-bb3fe045] {
27832
+ .image-upload-move[data-v-b7698f30],
27833
+ .image-upload-enter-active[data-v-b7698f30],
27834
+ .image-upload-leave-active[data-v-b7698f30] {
27835
27835
  transition: all 0.3s ease;
27836
27836
  }
27837
27837
 
27838
- .image-upload-leave-from[data-v-bb3fe045],
27839
- .image-upload-leave-to[data-v-bb3fe045] {
27838
+ .image-upload-leave-from[data-v-b7698f30],
27839
+ .image-upload-leave-to[data-v-b7698f30] {
27840
27840
  display: none;
27841
27841
  }
27842
27842
 
27843
- .image-upload-enter-from[data-v-bb3fe045] {
27843
+ .image-upload-enter-from[data-v-b7698f30] {
27844
27844
  opacity: 0;
27845
27845
  }
27846
27846
 
27847
- .image-upload-leave-active[data-v-bb3fe045] {
27847
+ .image-upload-leave-active[data-v-b7698f30] {
27848
27848
  position: absolute;
27849
27849
  }
27850
27850
 
@@ -29945,6 +29945,11 @@ div[data-v-c1655c12] {
29945
29945
  width: 100%;
29946
29946
  overflow-x: auto;
29947
29947
  overflow-y: hidden;
29948
+ scrollbar-width: none;
29949
+ }
29950
+
29951
+ .bs-tab-sheet .tab-bar::-webkit-scrollbar {
29952
+ display: none;
29948
29953
  }
29949
29954
 
29950
29955
  .bs-tab-sheet .tab-bar .tabs {
@@ -29961,7 +29966,7 @@ div[data-v-c1655c12] {
29961
29966
  margin-bottom: -1px;
29962
29967
  white-space: nowrap;
29963
29968
  cursor: pointer;
29964
- overflow-x: auto;
29969
+ overflow-x: hidden;
29965
29970
  }
29966
29971
 
29967
29972
  .bs-tab-sheet .tab-bar .tabs .tab + .tab:before {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createBlock, openBlock, withCtx, withDirectives, createElementVNode, unref, createVNode } from "vue";
2
- import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton, l as vFocusOnLoad } from "./index-D3w5seMa.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton, l as vFocusOnLoad } from "./index-CcW6HExQ.js";
3
3
  const _hoisted_1 = { class: "text-right" };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "BSAlertModal",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, mergeProps, unref, toHandlers, nextTick } from "vue";
2
- import { g as createInputGridHandler, u as useModalHandle, _ as _sfc_main$1, B as BSButton, h as _sfc_main$2, j as _sfc_main$3, k as _sfc_main$4, n as notNull } from "./index-D3w5seMa.js";
2
+ import { g as createInputGridHandler, u as useModalHandle, _ as _sfc_main$1, B as BSButton, h as _sfc_main$2, j as _sfc_main$3, k as _sfc_main$4, n as notNull } from "./index-CcW6HExQ.js";
3
3
  const _hoisted_1 = { class: "text-center" };
4
4
  const _hoisted_2 = { class: "text-center" };
5
5
  const _hoisted_3 = { class: "bs-layout-horizontal" };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, mergeModels, useModel, useTemplateRef, createBlock, openBlock } from "vue";
2
- import { u as useModalHandle, d as _sfc_main$1 } from "./index-D3w5seMa.js";
2
+ import { u as useModalHandle, d as _sfc_main$1 } from "./index-CcW6HExQ.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "BSRichTextMaximizedModal",
5
5
  props: /* @__PURE__ */ mergeModels({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createBlock, openBlock, withCtx, withDirectives, createElementVNode, unref, createVNode } from "vue";
2
- import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton } from "./index-D3w5seMa.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton } from "./index-CcW6HExQ.js";
3
3
  const _hoisted_1 = { class: "text-right" };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "BSYesNoModal",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, useModel, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode, createCommentVNode, unref } from "vue";
2
- import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, e as extractYoutubeVideoId, i as isYoutubeNocookieUrl, f as buildYoutubeUrl } from "./index-D3w5seMa.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, e as extractYoutubeVideoId, i as isYoutubeNocookieUrl, f as buildYoutubeUrl } from "./index-CcW6HExQ.js";
3
3
  import YouTube from "vue3-youtube";
4
4
  const _hoisted_1 = { class: "bs-layout-vertical gap-16" };
5
5
  const _hoisted_2 = { class: "bs-layout-horizontal align-items-center" };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode, withDirectives, vShow } from "vue";
2
- import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, a as _sfc_main$2, b as _sfc_main$3, c as _sfc_main$4 } from "./index-D3w5seMa.js";
3
- import { _ as _sfc_main$5 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-D6zZgPOW.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, a as _sfc_main$2, b as _sfc_main$3, c as _sfc_main$4 } from "./index-CcW6HExQ.js";
3
+ import { _ as _sfc_main$5 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-LPjH_QLh.js";
4
4
  const _hoisted_1 = { class: "bs-layout-form title-w-8" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _hoisted_3 = { class: "bs-layout-horizontal justify-content-end gap-8" };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createElementBlock, openBlock, Fragment, createElementVNode, createVNode, withDirectives, createTextVNode, unref } from "vue";
2
- import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-D3w5seMa.js";
2
+ import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-CcW6HExQ.js";
3
3
  const _hoisted_1 = { class: "title" };
4
4
  const _hoisted_2 = { class: "title" };
5
5
  const _hoisted_3 = { class: "title" };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, onMounted, useTemplateRef, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode } from "vue";
2
- import { q as findImageNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, p as formValidator, r as imageInfoNumberToPixel } from "./index-D3w5seMa.js";
3
- import { _ as _sfc_main$4 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-D6zZgPOW.js";
2
+ import { q as findImageNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, p as formValidator, r as imageInfoNumberToPixel } from "./index-CcW6HExQ.js";
3
+ import { _ as _sfc_main$4 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-LPjH_QLh.js";
4
4
  const _hoisted_1 = { class: "title" };
5
5
  const _hoisted_2 = { class: "bs-layout-horizontal justify-content-end gap-8" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, createTextVNode, withModifiers } from "vue";
2
- import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3 } from "./index-D3w5seMa.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3 } from "./index-CcW6HExQ.js";
3
3
  const _hoisted_1 = { class: "bs-layout-form title-w-8" };
4
4
  const _hoisted_2 = { class: "title" };
5
5
  const _hoisted_3 = { class: "title" };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode } from "vue";
2
- import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, j as _sfc_main$3 } from "./index-D3w5seMa.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, j as _sfc_main$3 } from "./index-CcW6HExQ.js";
3
3
  const _hoisted_1 = { class: "bs-layout-form" };
4
4
  const _hoisted_2 = { class: "bs-form-label" };
5
5
  const _hoisted_3 = { class: "bs-form-label" };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, ref, onMounted, useTemplateRef, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode, withDirectives, createTextVNode, unref, Fragment, renderList, toDisplayString } from "vue";
2
- import { m as componentUtil, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, v as vT, o as _sfc_main$4, p as formValidator } from "./index-D3w5seMa.js";
2
+ import { m as componentUtil, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, v as vT, o as _sfc_main$4, p as formValidator } from "./index-CcW6HExQ.js";
3
3
  const findTableNode = (selection, type) => {
4
4
  const head = selection.$head;
5
5
  let depth = head.depth;
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode, withDirectives, vShow } from "vue";
2
- import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, a as _sfc_main$2, b as _sfc_main$3, c as _sfc_main$4 } from "./index-D3w5seMa.js";
3
- import { _ as _sfc_main$5 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-CuzZ0FvR.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, a as _sfc_main$2, b as _sfc_main$3, c as _sfc_main$4 } from "./index-CcW6HExQ.js";
3
+ import { _ as _sfc_main$5 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-BeTi_0bW.js";
4
4
  const _hoisted_1 = { class: "bs-layout-form title-w-8" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _hoisted_3 = { class: "bs-layout-horizontal justify-content-end gap-8" };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createElementBlock, openBlock, Fragment, createElementVNode, createVNode, withDirectives, createTextVNode, unref } from "vue";
2
- import { k as _sfc_main$1, b as _sfc_main$2, c as _sfc_main$3, v as vT } from "./index-D3w5seMa.js";
2
+ import { k as _sfc_main$1, b as _sfc_main$2, c as _sfc_main$3, v as vT } from "./index-CcW6HExQ.js";
3
3
  const _hoisted_1 = { class: "bs-layout-horizontal gap-8" };
4
4
  const _hoisted_2 = { class: "title" };
5
5
  const _hoisted_3 = { class: "title" };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, onMounted, useTemplateRef, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode } from "vue";
2
- import { w as findVideoNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, p as formValidator, x as videoInfoNumberToPixel } from "./index-D3w5seMa.js";
3
- import { _ as _sfc_main$4 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-CuzZ0FvR.js";
2
+ import { w as findVideoNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, p as formValidator, x as videoInfoNumberToPixel } from "./index-CcW6HExQ.js";
3
+ import { _ as _sfc_main$4 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-BeTi_0bW.js";
4
4
  const _hoisted_1 = { class: "title" };
5
5
  const _hoisted_2 = { class: "bs-layout-horizontal justify-content-end gap-8" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode } from "vue";
2
- import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, y as youtubeInfoNumberToPixel } from "./index-D3w5seMa.js";
3
- import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-AiYZ7nOr.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, y as youtubeInfoNumberToPixel } from "./index-CcW6HExQ.js";
3
+ import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-DCe1S3Z0.js";
4
4
  const _hoisted_1 = { class: "bs-layout-form" };
5
5
  const _hoisted_2 = { class: "title" };
6
6
  const _hoisted_3 = { class: "bs-layout-horizontal justify-content-end gap-8" };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createElementBlock, openBlock, Fragment, createElementVNode, createVNode, withDirectives, createTextVNode, unref } from "vue";
2
- import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-D3w5seMa.js";
2
+ import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-CcW6HExQ.js";
3
3
  const _hoisted_1 = { class: "title" };
4
4
  const _hoisted_2 = { class: "title" };
5
5
  const _hoisted_3 = { class: "title" };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode } from "vue";
2
- import { s as findYoutubeNode, t as normalizeYoutubeInfoData, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, y as youtubeInfoNumberToPixel } from "./index-D3w5seMa.js";
3
- import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-AiYZ7nOr.js";
2
+ import { s as findYoutubeNode, t as normalizeYoutubeInfoData, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, y as youtubeInfoNumberToPixel } from "./index-CcW6HExQ.js";
3
+ import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-DCe1S3Z0.js";
4
4
  const _hoisted_1 = {
5
5
  key: 0,
6
6
  class: "bs-layout-form"
package/dist/bluesea.css CHANGED
@@ -9137,19 +9137,19 @@ span.table-property[data-v-537f70be]:after {
9137
9137
  }
9138
9138
  .bs-image-upload .disabled .image-box {
9139
9139
  border-color: var(--border) !important;
9140
- }.image-upload-move[data-v-bb3fe045],
9141
- .image-upload-enter-active[data-v-bb3fe045],
9142
- .image-upload-leave-active[data-v-bb3fe045] {
9140
+ }.image-upload-move[data-v-b7698f30],
9141
+ .image-upload-enter-active[data-v-b7698f30],
9142
+ .image-upload-leave-active[data-v-b7698f30] {
9143
9143
  transition: all 0.3s ease;
9144
9144
  }
9145
- .image-upload-leave-from[data-v-bb3fe045],
9146
- .image-upload-leave-to[data-v-bb3fe045] {
9145
+ .image-upload-leave-from[data-v-b7698f30],
9146
+ .image-upload-leave-to[data-v-b7698f30] {
9147
9147
  display: none;
9148
9148
  }
9149
- .image-upload-enter-from[data-v-bb3fe045] {
9149
+ .image-upload-enter-from[data-v-b7698f30] {
9150
9150
  opacity: 0;
9151
9151
  }
9152
- .image-upload-leave-active[data-v-bb3fe045] {
9152
+ .image-upload-leave-active[data-v-b7698f30] {
9153
9153
  position: absolute;
9154
9154
  }.bs-positioned-image-upload .image-box {
9155
9155
  border: 1px solid var(--border);
@@ -10854,6 +10854,10 @@ span.table-property[data-v-537f70be]:after {
10854
10854
  width: 100%;
10855
10855
  overflow-x: auto;
10856
10856
  overflow-y: hidden;
10857
+ scrollbar-width: none;
10858
+ }
10859
+ .bs-tab-sheet .tab-bar::-webkit-scrollbar {
10860
+ display: none;
10857
10861
  }
10858
10862
  .bs-tab-sheet .tab-bar .tabs {
10859
10863
  padding-top: 8px;
@@ -10868,7 +10872,7 @@ span.table-property[data-v-537f70be]:after {
10868
10872
  margin-bottom: -1px;
10869
10873
  white-space: nowrap;
10870
10874
  cursor: pointer;
10871
- overflow-x: auto;
10875
+ overflow-x: hidden;
10872
10876
  }
10873
10877
  .bs-tab-sheet .tab-bar .tabs .tab + .tab:before {
10874
10878
  content: "|";
package/dist/bluesea.js CHANGED
@@ -1,4 +1,4 @@
1
- import { aN, aO, bL, bM, z, ap, az, B, J, K, a9, k, R, ar, N, F, aA, ct, H, O, av, P, a7, a8, aw, Q, a3, b, h, a5, a4, ac, as, aq, a0, D, ab, aa, G, am, cb, ax, _, a1, aj, al, ak, ai, ah, ag, V, an, ay, j, I, M, at, C, Y, a2, L, E, S, o, d, U, au, a, ao, Z, a6, c, ae, af, X, W, ad, T, A, bT, bb, bS, aX, aC, cy, aB, b2, b0, aZ, $, bR, b4, b3, cD, bJ, bP, b1, bV, bU, bQ, cx, b5, aW, aK, aL, aJ, aM, bO, bN, a$, bK, bA, c5, cC, bf, bm, c4, cM, ch, bW, c1, c0, aT, f, bD, cj, aU, cs, ba, cw, cz, g, ce, a_, bi, cQ, aP, b7, bj, aQ, aS, aR, b9, b$, bx, by, bz, bu, bw, bv, e, bt, bq, p, cF, aV, b8, cq, cm, cE, bZ, aF, cN, cK, cO, bE, cL, bF, c3, c2, cn, bn, i, b_, bp, bl, cP, b6, ca, c9, aY, bY, n, cf, bX, cJ, cA, c6, cd, bB, bc, bg, bI, c8, bG, bH, ci, cp, co, cg, cl, bo, aE, bk, ck, cI, cu, cv, cB, c7, cc, u, bC, bd, be, bh, aD, aH, aI, l, v, aG, br, bs, cH, cG, cr } from "./index-D3w5seMa.js";
1
+ import { aN, aO, bL, bM, z, ap, az, B, J, K, a9, k, R, ar, N, F, aA, ct, H, O, av, P, a7, a8, aw, Q, a3, b, h, a5, a4, ac, as, aq, a0, D, ab, aa, G, am, cb, ax, _, a1, aj, al, ak, ai, ah, ag, V, an, ay, j, I, M, at, C, Y, a2, L, E, S, o, d, U, au, a, ao, Z, a6, c, ae, af, X, W, ad, T, A, bT, bb, bS, aX, aC, cy, aB, b2, b0, aZ, $, bR, b4, b3, cD, bJ, bP, b1, bV, bU, bQ, cx, b5, aW, aK, aL, aJ, aM, bO, bN, a$, bK, bA, c5, cC, bf, bm, c4, cM, ch, bW, c1, c0, aT, f, bD, cj, aU, cs, ba, cw, cz, g, ce, a_, bi, cQ, aP, b7, bj, aQ, aS, aR, b9, b$, bx, by, bz, bu, bw, bv, e, bt, bq, p, cF, aV, b8, cq, cm, cE, bZ, aF, cN, cK, cO, bE, cL, bF, c3, c2, cn, bn, i, b_, bp, bl, cP, b6, ca, c9, aY, bY, n, cf, bX, cJ, cA, c6, cd, bB, bc, bg, bI, c8, bG, bH, ci, cp, co, cg, cl, bo, aE, bk, ck, cI, cu, cv, cB, c7, cc, u, bC, bd, be, bh, aD, aH, aI, l, v, aG, br, bs, cH, cG, cr } from "./index-CcW6HExQ.js";
2
2
  export {
3
3
  aN as ADDRESS_COUNTRY_CONFIGS,
4
4
  aO as ADDRESS_COUNTRY_CONFIG_DEFAULT,
@@ -3558,6 +3558,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3558
3558
  modelValue: {},
3559
3559
  currency: {},
3560
3560
  prefix: { type: Boolean },
3561
+ suffix: {},
3561
3562
  maxlength: {},
3562
3563
  disabled: { type: Boolean },
3563
3564
  viewMode: { type: Boolean },
@@ -3600,6 +3601,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3600
3601
  var _a2;
3601
3602
  return ((_a2 = props.modelValue) == null ? void 0 : _a2.currency) || props.currency || blueseaConfig.defaultCurrencyCode;
3602
3603
  });
3604
+ const suffixText = vue.computed(() => props.suffix !== void 0 ? props.suffix : currencyCode.value);
3603
3605
  const fieldContext = useFieldContext();
3604
3606
  const isValid = async (value, phase) => {
3605
3607
  const errors2 = [];
@@ -3676,10 +3678,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3676
3678
  class: "price mr-4",
3677
3679
  textContent: vue.toDisplayString(_ctx.formatInViewMode ? formattedStringValue.value : vue.unref(stringValue))
3678
3680
  }, null, 8, _hoisted_2$1a),
3679
- vue.createElementVNode("span", {
3681
+ suffixText.value ? (vue.openBlock(), vue.createElementBlock("span", {
3682
+ key: 0,
3680
3683
  class: "currency-code",
3681
- textContent: vue.toDisplayString(currencyCode.value)
3682
- }, null, 8, _hoisted_3$M)
3684
+ textContent: vue.toDisplayString(suffixText.value)
3685
+ }, null, 8, _hoisted_3$M)) : vue.createCommentVNode("", true)
3683
3686
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$s, [
3684
3687
  vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
3685
3688
  id: _ctx.id,
@@ -3700,10 +3703,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3700
3703
  { placeholder: true }
3701
3704
  ]
3702
3705
  ]),
3703
- vue.createElementVNode("div", {
3706
+ suffixText.value ? (vue.openBlock(), vue.createElementBlock("div", {
3707
+ key: 0,
3704
3708
  class: "currency-code",
3705
- textContent: vue.toDisplayString(currencyCode.value)
3706
- }, null, 8, _hoisted_6$9)
3709
+ textContent: vue.toDisplayString(suffixText.value)
3710
+ }, null, 8, _hoisted_6$9)) : vue.createCommentVNode("", true)
3707
3711
  ])),
3708
3712
  !_ctx.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$1Z, {
3709
3713
  key: 2,
@@ -3759,8 +3763,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3759
3763
  modelValue.value = Number(str);
3760
3764
  }
3761
3765
  };
3762
- const percentMaxValue = vue.computed(() => props.maxValue ? Number((props.maxValue * 100).toFixed(props.maxDecimalPlaces)) : void 0);
3763
- const percentMinValue = vue.computed(() => props.minValue ? Number((props.minValue * 100).toFixed(props.maxDecimalPlaces)) : void 0);
3766
+ const percentMaxValue = vue.computed(() => props.maxValue !== void 0 ? Number((props.maxValue * 100).toFixed(props.maxDecimalPlaces)) : void 0);
3767
+ const percentMinValue = vue.computed(() => props.minValue !== void 0 ? Number((props.minValue * 100).toFixed(props.maxDecimalPlaces)) : void 0);
3764
3768
  return (_ctx, _cache) => {
3765
3769
  return vue.openBlock(), vue.createBlock(_sfc_main$1L, {
3766
3770
  id: _ctx.id,
@@ -35479,6 +35483,7 @@ img.ProseMirror-separator {
35479
35483
  extraValidationRules: {},
35480
35484
  ignoreSavePoint: { type: Boolean },
35481
35485
  hideErrorMessage: { type: Boolean },
35486
+ disableUpload: { type: Boolean },
35482
35487
  enableDraggableOrder: { type: Boolean },
35483
35488
  mediaObjectUrlStore: {}
35484
35489
  },
@@ -35535,7 +35540,7 @@ img.ProseMirror-separator {
35535
35540
  );
35536
35541
  const validationDisabled = vue.computed(() => props.disabled || props.viewMode);
35537
35542
  const maxFileSizeValue = vue.computed(() => props.maxFileSize || blueseaConfig.maxFileSize);
35538
- const canUpload = vue.computed(() => !props.disabled && !props.viewMode && props.modelValue.length < props.maxCount);
35543
+ const canUpload = vue.computed(() => !props.disabled && !props.viewMode && !props.disableUpload && props.modelValue.length < props.maxCount);
35539
35544
  const fieldContext = useFieldContext();
35540
35545
  const errorRecord = vue.ref([]);
35541
35546
  const isValid = async (value, phase) => {
@@ -35669,7 +35674,7 @@ img.ProseMirror-separator {
35669
35674
  };
35670
35675
  }
35671
35676
  });
35672
- const BSMultiImageUpload = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["__scopeId", "data-v-bb3fe045"]]);
35677
+ const BSMultiImageUpload = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["__scopeId", "data-v-b7698f30"]]);
35673
35678
  const _hoisted_1$_ = ["data-field-name"];
35674
35679
  const _hoisted_2$L = { class: "bs-layout-horizontal-wrap gap-8" };
35675
35680
  const _hoisted_3$w = { class: "mr-4" };
@@ -39166,6 +39171,41 @@ img.ProseMirror-separator {
39166
39171
  setup(__props, { expose: __expose, emit: __emit }) {
39167
39172
  const props = __props;
39168
39173
  const emit = __emit;
39174
+ const tabBarRef = vue.ref();
39175
+ const isDragging = vue.ref(false);
39176
+ const onTabBarPointerDown = (e) => {
39177
+ const tabBar = tabBarRef.value;
39178
+ if (!tabBar || e.button !== 0) return;
39179
+ const startX = e.clientX;
39180
+ const startScrollLeft = tabBar.scrollLeft;
39181
+ const pointerId = e.pointerId;
39182
+ const onPointerMove = (ev) => {
39183
+ const deltaX = ev.clientX - startX;
39184
+ if (!isDragging.value && Math.abs(deltaX) > 8) {
39185
+ isDragging.value = true;
39186
+ tabBar.setPointerCapture(pointerId);
39187
+ tabBar.style.userSelect = "none";
39188
+ tabBar.style.cursor = "grabbing";
39189
+ }
39190
+ if (isDragging.value) {
39191
+ tabBar.scrollLeft = startScrollLeft - deltaX;
39192
+ }
39193
+ };
39194
+ const onPointerUp = () => {
39195
+ if (isDragging.value) {
39196
+ tabBar.releasePointerCapture(pointerId);
39197
+ tabBar.style.userSelect = "";
39198
+ tabBar.style.cursor = "";
39199
+ vue.nextTick(() => {
39200
+ isDragging.value = false;
39201
+ });
39202
+ }
39203
+ tabBar.removeEventListener("pointermove", onPointerMove);
39204
+ tabBar.removeEventListener("pointerup", onPointerUp);
39205
+ };
39206
+ tabBar.addEventListener("pointermove", onPointerMove);
39207
+ tabBar.addEventListener("pointerup", onPointerUp);
39208
+ };
39169
39209
  const visibleTabs = vue.computed(() => props.tabs.filter((tab) => !tab.hidden));
39170
39210
  const createdTabs = vue.ref([]);
39171
39211
  const ensureAddCreatedTab = (tab) => {
@@ -39188,6 +39228,7 @@ img.ProseMirror-separator {
39188
39228
  const modal = useModal();
39189
39229
  const selectTab = (tab) => {
39190
39230
  var _a2;
39231
+ if (isDragging.value) return;
39191
39232
  if (((_a2 = currentTab.value) == null ? void 0 : _a2.tabId) === (tab == null ? void 0 : tab.tabId)) return;
39192
39233
  if (tab == null ? void 0 : tab.disabled) return;
39193
39234
  if (props.blockLeavingModifiedTab || props.confirmLeavingModifiedTab) {
@@ -39242,7 +39283,10 @@ img.ProseMirror-separator {
39242
39283
  class: "bs-tab-sheet bs-layout-vertical"
39243
39284
  }, [
39244
39285
  vue.createElementVNode("div", {
39245
- class: vue.normalizeClass([{ "first-tab": firstTabSelected.value }, "tab-bar bs-layout-horizontal"])
39286
+ ref_key: "tabBarRef",
39287
+ ref: tabBarRef,
39288
+ class: vue.normalizeClass([{ "first-tab": firstTabSelected.value }, "tab-bar bs-layout-horizontal"]),
39289
+ onPointerdown: onTabBarPointerDown
39246
39290
  }, [
39247
39291
  vue.createElementVNode("div", _hoisted_2$A, [
39248
39292
  vue.renderSlot(_ctx.$slots, "prefix")
@@ -39266,7 +39310,7 @@ img.ProseMirror-separator {
39266
39310
  vue.createElementVNode("div", _hoisted_7$1, [
39267
39311
  vue.renderSlot(_ctx.$slots, "buttons")
39268
39312
  ])
39269
- ], 2),
39313
+ ], 34),
39270
39314
  vue.createElementVNode("div", _hoisted_8$1, [
39271
39315
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(createdTabs.value, (createdTab) => {
39272
39316
  var _a3;
@@ -24,6 +24,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
24
24
  extraValidationRules?: FieldValidationRule<MultiImageFile>[] | undefined;
25
25
  ignoreSavePoint?: boolean | undefined;
26
26
  hideErrorMessage?: boolean | undefined;
27
+ disableUpload?: boolean | undefined;
27
28
  enableDraggableOrder?: boolean | undefined;
28
29
  mediaObjectUrlStore?: MediaObjectUrlStore | undefined;
29
30
  }>, {
@@ -61,6 +62,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
61
62
  extraValidationRules?: FieldValidationRule<MultiImageFile>[] | undefined;
62
63
  ignoreSavePoint?: boolean | undefined;
63
64
  hideErrorMessage?: boolean | undefined;
65
+ disableUpload?: boolean | undefined;
64
66
  enableDraggableOrder?: boolean | undefined;
65
67
  mediaObjectUrlStore?: MediaObjectUrlStore | undefined;
66
68
  }>, {
@@ -8,6 +8,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
8
8
  modelValue?: Money | undefined;
9
9
  currency?: string | undefined;
10
10
  prefix?: false | undefined;
11
+ suffix?: string | undefined;
11
12
  maxlength?: number | undefined;
12
13
  disabled?: boolean | undefined;
13
14
  viewMode?: boolean | undefined;
@@ -43,6 +44,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
43
44
  modelValue?: Money | undefined;
44
45
  currency?: string | undefined;
45
46
  prefix?: false | undefined;
47
+ suffix?: string | undefined;
46
48
  maxlength?: number | undefined;
47
49
  disabled?: boolean | undefined;
48
50
  viewMode?: boolean | undefined;
@@ -368,8 +368,8 @@ const defaultAddressInputComponentConfig = {
368
368
  countryConfigs: ADDRESS_COUNTRY_CONFIGS
369
369
  };
370
370
  const defaultRichTextComponentConfig = {
371
- imageInsertModal: defineAsyncComponent(() => import("./ImageInsertModal-CB7nCYk5.js")),
372
- videoInsertModal: defineAsyncComponent(() => import("./VideoInsertModal-B1uHQRye.js")),
371
+ imageInsertModal: defineAsyncComponent(() => import("./ImageInsertModal-CxWBdXkG.js")),
372
+ videoInsertModal: defineAsyncComponent(() => import("./VideoInsertModal-vjlc3ono.js")),
373
373
  toolButtons: [
374
374
  "Heading",
375
375
  "FontSize",
@@ -3558,6 +3558,7 @@ const _sfc_main$1t = /* @__PURE__ */ defineComponent({
3558
3558
  modelValue: {},
3559
3559
  currency: {},
3560
3560
  prefix: { type: Boolean },
3561
+ suffix: {},
3561
3562
  maxlength: {},
3562
3563
  disabled: { type: Boolean },
3563
3564
  viewMode: { type: Boolean },
@@ -3600,6 +3601,7 @@ const _sfc_main$1t = /* @__PURE__ */ defineComponent({
3600
3601
  var _a2;
3601
3602
  return ((_a2 = props.modelValue) == null ? void 0 : _a2.currency) || props.currency || blueseaConfig.defaultCurrencyCode;
3602
3603
  });
3604
+ const suffixText = computed(() => props.suffix !== void 0 ? props.suffix : currencyCode.value);
3603
3605
  const fieldContext = useFieldContext();
3604
3606
  const isValid = async (value, phase) => {
3605
3607
  const errors2 = [];
@@ -3676,10 +3678,11 @@ const _sfc_main$1t = /* @__PURE__ */ defineComponent({
3676
3678
  class: "price mr-4",
3677
3679
  textContent: toDisplayString(_ctx.formatInViewMode ? formattedStringValue.value : unref(stringValue))
3678
3680
  }, null, 8, _hoisted_2$Y),
3679
- createElementVNode("span", {
3681
+ suffixText.value ? (openBlock(), createElementBlock("span", {
3682
+ key: 0,
3680
3683
  class: "currency-code",
3681
- textContent: toDisplayString(currencyCode.value)
3682
- }, null, 8, _hoisted_3$A)
3684
+ textContent: toDisplayString(suffixText.value)
3685
+ }, null, 8, _hoisted_3$A)) : createCommentVNode("", true)
3683
3686
  ])) : (openBlock(), createElementBlock("div", _hoisted_4$k, [
3684
3687
  withDirectives(createElementVNode("input", mergeProps({
3685
3688
  id: _ctx.id,
@@ -3700,10 +3703,11 @@ const _sfc_main$1t = /* @__PURE__ */ defineComponent({
3700
3703
  { placeholder: true }
3701
3704
  ]
3702
3705
  ]),
3703
- createElementVNode("div", {
3706
+ suffixText.value ? (openBlock(), createElementBlock("div", {
3707
+ key: 0,
3704
3708
  class: "currency-code",
3705
- textContent: toDisplayString(currencyCode.value)
3706
- }, null, 8, _hoisted_6$8)
3709
+ textContent: toDisplayString(suffixText.value)
3710
+ }, null, 8, _hoisted_6$8)) : createCommentVNode("", true)
3707
3711
  ])),
3708
3712
  !_ctx.viewMode ? (openBlock(), createBlock(_sfc_main$1I, {
3709
3713
  key: 2,
@@ -3759,8 +3763,8 @@ const _sfc_main$1s = /* @__PURE__ */ defineComponent({
3759
3763
  modelValue.value = Number(str);
3760
3764
  }
3761
3765
  };
3762
- const percentMaxValue = computed(() => props.maxValue ? Number((props.maxValue * 100).toFixed(props.maxDecimalPlaces)) : void 0);
3763
- const percentMinValue = computed(() => props.minValue ? Number((props.minValue * 100).toFixed(props.maxDecimalPlaces)) : void 0);
3766
+ const percentMaxValue = computed(() => props.maxValue !== void 0 ? Number((props.maxValue * 100).toFixed(props.maxDecimalPlaces)) : void 0);
3767
+ const percentMinValue = computed(() => props.minValue !== void 0 ? Number((props.minValue * 100).toFixed(props.maxDecimalPlaces)) : void 0);
3764
3768
  return (_ctx, _cache) => {
3765
3769
  return openBlock(), createBlock(_sfc_main$1u, {
3766
3770
  id: _ctx.id,
@@ -6322,7 +6326,7 @@ class BSModal {
6322
6326
  }
6323
6327
  openAlert(title, message, clickHandler2) {
6324
6328
  const option = {
6325
- component: defineAsyncComponent(() => import("./BSAlertModal-CYU9CQls.js")),
6329
+ component: defineAsyncComponent(() => import("./BSAlertModal-6tEkwgWx.js")),
6326
6330
  bind: {
6327
6331
  title,
6328
6332
  message
@@ -6335,7 +6339,7 @@ class BSModal {
6335
6339
  }
6336
6340
  openYesNo(title, message, yesHandler, noHandler) {
6337
6341
  const option = {
6338
- component: defineAsyncComponent(() => import("./BSYesNoModal-BnlBSnTl.js")),
6342
+ component: defineAsyncComponent(() => import("./BSYesNoModal-Cl1BTqpc.js")),
6339
6343
  bind: {
6340
6344
  title,
6341
6345
  message
@@ -31469,13 +31473,13 @@ const tableContextMenus = (modal, editor) => {
31469
31473
  };
31470
31474
  const showTableProperties = (modal, editor) => {
31471
31475
  modal.openModal({
31472
- component: defineAsyncComponent(() => import("./TablePropertiesModal-dyMd6ysL.js")),
31476
+ component: defineAsyncComponent(() => import("./TablePropertiesModal-pkr6Msmu.js")),
31473
31477
  bind: { editor }
31474
31478
  });
31475
31479
  };
31476
31480
  const insertTable = (modal, editor) => {
31477
31481
  modal.openModal({
31478
- component: defineAsyncComponent(() => import("./TableInsertModal-D6pcuU2G.js")),
31482
+ component: defineAsyncComponent(() => import("./TableInsertModal-CXJ4brID.js")),
31479
31483
  bind: { editor }
31480
31484
  });
31481
31485
  };
@@ -31640,7 +31644,7 @@ const insertImage = (modal, editor) => {
31640
31644
  const component = (_a2 = blueseaConfig.componentConfig.richText) == null ? void 0 : _a2.imageInsertModal;
31641
31645
  if (component) {
31642
31646
  modal.openModal({
31643
- component: defineAsyncComponent(() => import("./ImageInsertModal-CB7nCYk5.js")),
31647
+ component: defineAsyncComponent(() => import("./ImageInsertModal-CxWBdXkG.js")),
31644
31648
  bind: { editor },
31645
31649
  on: {
31646
31650
  insertImage: (image) => {
@@ -31658,7 +31662,7 @@ const insertImage = (modal, editor) => {
31658
31662
  };
31659
31663
  const showImageProperties = (modal, editor) => {
31660
31664
  modal.openModal({
31661
- component: defineAsyncComponent(() => import("./ImagePropertiesModal-DhC1BIGM.js")),
31665
+ component: defineAsyncComponent(() => import("./ImagePropertiesModal-BDQhSQ9v.js")),
31662
31666
  bind: { editor }
31663
31667
  });
31664
31668
  };
@@ -32019,13 +32023,13 @@ const youtubeContextMenu = (modal, editor) => {
32019
32023
  };
32020
32024
  const insertYoutube = (modal, editor) => {
32021
32025
  modal.openModal({
32022
- component: defineAsyncComponent(() => import("./YoutubeInsertModal-BrhwLQmb.js")),
32026
+ component: defineAsyncComponent(() => import("./YoutubeInsertModal-CIEiPj4I.js")),
32023
32027
  bind: { editor }
32024
32028
  });
32025
32029
  };
32026
32030
  const showYoutubeProperties = (modal, editor) => {
32027
32031
  modal.openModal({
32028
- component: defineAsyncComponent(() => import("./YoutubePropertiesModal-BcDH9UvU.js")),
32032
+ component: defineAsyncComponent(() => import("./YoutubePropertiesModal-BEoWxNhm.js")),
32029
32033
  bind: { editor }
32030
32034
  });
32031
32035
  };
@@ -32069,7 +32073,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
32069
32073
  const showLinkProperties = () => {
32070
32074
  if (!props.disabled) {
32071
32075
  modal.openModal({
32072
- component: defineAsyncComponent(() => import("./LinkPropertiesModal-CiC7e3lM.js")),
32076
+ component: defineAsyncComponent(() => import("./LinkPropertiesModal-BxuxKHfU.js")),
32073
32077
  bind: {
32074
32078
  editor: props.editor
32075
32079
  }
@@ -32434,7 +32438,7 @@ const insertVideo = (modal, editor) => {
32434
32438
  const component = (_a2 = blueseaConfig.componentConfig.richText) == null ? void 0 : _a2.videoInsertModal;
32435
32439
  if (component) {
32436
32440
  modal.openModal({
32437
- component: defineAsyncComponent(() => import("./VideoInsertModal-B1uHQRye.js")),
32441
+ component: defineAsyncComponent(() => import("./VideoInsertModal-vjlc3ono.js")),
32438
32442
  bind: { editor },
32439
32443
  on: {
32440
32444
  insertVideo: (video) => {
@@ -32452,7 +32456,7 @@ const insertVideo = (modal, editor) => {
32452
32456
  };
32453
32457
  const showVideoProperties = (modal, editor) => {
32454
32458
  modal.openModal({
32455
- component: defineAsyncComponent(() => import("./VideoPropertiesModal-CWq4UM9A.js")),
32459
+ component: defineAsyncComponent(() => import("./VideoPropertiesModal-_ETvfO7t.js")),
32456
32460
  bind: { editor }
32457
32461
  });
32458
32462
  };
@@ -34630,7 +34634,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
34630
34634
  emit("maximized");
34631
34635
  if (!props.internalMaximized) {
34632
34636
  modal.openModal({
34633
- component: defineAsyncComponent(() => import("./BSRichTextMaximizedModal-SyLzOqK2.js")),
34637
+ component: defineAsyncComponent(() => import("./BSRichTextMaximizedModal-CY9SoSef.js")),
34634
34638
  bind: {
34635
34639
  modelValue: getEditorValue(),
34636
34640
  contentMaxWidth: props.contentMaxWidth,
@@ -35177,7 +35181,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
35177
35181
  const modal = useModal();
35178
35182
  const enterYoutubeUrl = () => {
35179
35183
  modal.openModal({
35180
- component: defineAsyncComponent(() => import("./BSYoutubeInputModal-DoEETszL.js")),
35184
+ component: defineAsyncComponent(() => import("./BSYoutubeInputModal-ZPgUtYEv.js")),
35181
35185
  on: {
35182
35186
  "update:modelValue": (url) => {
35183
35187
  emit("update:modelValue", {
@@ -35479,6 +35483,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
35479
35483
  extraValidationRules: {},
35480
35484
  ignoreSavePoint: { type: Boolean },
35481
35485
  hideErrorMessage: { type: Boolean },
35486
+ disableUpload: { type: Boolean },
35482
35487
  enableDraggableOrder: { type: Boolean },
35483
35488
  mediaObjectUrlStore: {}
35484
35489
  },
@@ -35535,7 +35540,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
35535
35540
  );
35536
35541
  const validationDisabled = computed(() => props.disabled || props.viewMode);
35537
35542
  const maxFileSizeValue = computed(() => props.maxFileSize || blueseaConfig.maxFileSize);
35538
- const canUpload = computed(() => !props.disabled && !props.viewMode && props.modelValue.length < props.maxCount);
35543
+ const canUpload = computed(() => !props.disabled && !props.viewMode && !props.disableUpload && props.modelValue.length < props.maxCount);
35539
35544
  const fieldContext = useFieldContext();
35540
35545
  const errorRecord = ref([]);
35541
35546
  const isValid = async (value, phase) => {
@@ -35669,7 +35674,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
35669
35674
  };
35670
35675
  }
35671
35676
  });
35672
- const BSMultiImageUpload = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-bb3fe045"]]);
35677
+ const BSMultiImageUpload = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-b7698f30"]]);
35673
35678
  const _hoisted_1$K = ["data-field-name"];
35674
35679
  const _hoisted_2$x = { class: "bs-layout-horizontal-wrap gap-8" };
35675
35680
  const _hoisted_3$k = { class: "mr-4" };
@@ -38833,7 +38838,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
38833
38838
  const modal = useModal();
38834
38839
  const openSettingModal = () => {
38835
38840
  modal.openModal({
38836
- component: defineAsyncComponent(() => import("./BSGridColumnSettingModal-ZZsojFuF.js")),
38841
+ component: defineAsyncComponent(() => import("./BSGridColumnSettingModal-VUocv6UV.js")),
38837
38842
  bind: {
38838
38843
  columns: props.columns,
38839
38844
  columnSettings: props.columnSettings,
@@ -39166,6 +39171,41 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
39166
39171
  setup(__props, { expose: __expose, emit: __emit }) {
39167
39172
  const props = __props;
39168
39173
  const emit = __emit;
39174
+ const tabBarRef = ref();
39175
+ const isDragging = ref(false);
39176
+ const onTabBarPointerDown = (e) => {
39177
+ const tabBar = tabBarRef.value;
39178
+ if (!tabBar || e.button !== 0) return;
39179
+ const startX = e.clientX;
39180
+ const startScrollLeft = tabBar.scrollLeft;
39181
+ const pointerId = e.pointerId;
39182
+ const onPointerMove = (ev) => {
39183
+ const deltaX = ev.clientX - startX;
39184
+ if (!isDragging.value && Math.abs(deltaX) > 8) {
39185
+ isDragging.value = true;
39186
+ tabBar.setPointerCapture(pointerId);
39187
+ tabBar.style.userSelect = "none";
39188
+ tabBar.style.cursor = "grabbing";
39189
+ }
39190
+ if (isDragging.value) {
39191
+ tabBar.scrollLeft = startScrollLeft - deltaX;
39192
+ }
39193
+ };
39194
+ const onPointerUp = () => {
39195
+ if (isDragging.value) {
39196
+ tabBar.releasePointerCapture(pointerId);
39197
+ tabBar.style.userSelect = "";
39198
+ tabBar.style.cursor = "";
39199
+ nextTick(() => {
39200
+ isDragging.value = false;
39201
+ });
39202
+ }
39203
+ tabBar.removeEventListener("pointermove", onPointerMove);
39204
+ tabBar.removeEventListener("pointerup", onPointerUp);
39205
+ };
39206
+ tabBar.addEventListener("pointermove", onPointerMove);
39207
+ tabBar.addEventListener("pointerup", onPointerUp);
39208
+ };
39169
39209
  const visibleTabs = computed(() => props.tabs.filter((tab) => !tab.hidden));
39170
39210
  const createdTabs = ref([]);
39171
39211
  const ensureAddCreatedTab = (tab) => {
@@ -39188,6 +39228,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
39188
39228
  const modal = useModal();
39189
39229
  const selectTab = (tab) => {
39190
39230
  var _a2;
39231
+ if (isDragging.value) return;
39191
39232
  if (((_a2 = currentTab.value) == null ? void 0 : _a2.tabId) === (tab == null ? void 0 : tab.tabId)) return;
39192
39233
  if (tab == null ? void 0 : tab.disabled) return;
39193
39234
  if (props.blockLeavingModifiedTab || props.confirmLeavingModifiedTab) {
@@ -39242,7 +39283,10 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
39242
39283
  class: "bs-tab-sheet bs-layout-vertical"
39243
39284
  }, [
39244
39285
  createElementVNode("div", {
39245
- class: normalizeClass([{ "first-tab": firstTabSelected.value }, "tab-bar bs-layout-horizontal"])
39286
+ ref_key: "tabBarRef",
39287
+ ref: tabBarRef,
39288
+ class: normalizeClass([{ "first-tab": firstTabSelected.value }, "tab-bar bs-layout-horizontal"]),
39289
+ onPointerdown: onTabBarPointerDown
39246
39290
  }, [
39247
39291
  createElementVNode("div", _hoisted_2$m, [
39248
39292
  renderSlot(_ctx.$slots, "prefix")
@@ -39266,7 +39310,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
39266
39310
  createElementVNode("div", _hoisted_7, [
39267
39311
  renderSlot(_ctx.$slots, "buttons")
39268
39312
  ])
39269
- ], 2),
39313
+ ], 34),
39270
39314
  createElementVNode("div", _hoisted_8, [
39271
39315
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(createdTabs.value, (createdTab) => {
39272
39316
  var _a3;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@g1cloud/bluesea",
3
3
  "private": false,
4
- "version": "5.0.0-beta.21",
4
+ "version": "5.0.0-beta.23",
5
5
  "description": "Ui Library for g1cloud BackOffice.",
6
6
  "type": "module",
7
7
  "engines": {