@g1cloud/bluesea 5.0.0-beta.13 → 5.0.0-beta.14

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 (29) hide show
  1. package/css/bluesea.css +13 -0
  2. package/dist/{BSAlertModal-CEerY3JH.js → BSAlertModal-CF_JTmhi.js} +1 -1
  3. package/dist/{BSGridColumnSettingModal-n3Oywrw4.js → BSGridColumnSettingModal-Cx7oqsyb.js} +1 -1
  4. package/dist/{BSRichTextMaximizedModal-Dd6QAZK9.js → BSRichTextMaximizedModal-51YcW4Ml.js} +1 -1
  5. package/dist/{BSYesNoModal-sWKO9rWp.js → BSYesNoModal-C6_FunXV.js} +1 -1
  6. package/dist/{BSYoutubeInputModal-DKwL4GLd.js → BSYoutubeInputModal-DmQZMtJ_.js} +1 -1
  7. package/dist/{ImageInsertModal-CuviaF6-.js → ImageInsertModal-DH0cfB5D.js} +2 -2
  8. package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-Bw2yOIXv.js → ImageProperties.vue_vue_type_script_setup_true_lang-BAfBNS3t.js} +1 -1
  9. package/dist/{ImagePropertiesModal-BtdgZ-8W.js → ImagePropertiesModal-BrR5bkLN.js} +2 -2
  10. package/dist/{LinkPropertiesModal-COSAhi80.js → LinkPropertiesModal-b-R8bfjK.js} +1 -1
  11. package/dist/{TableInsertModal-DlNMTd8g.js → TableInsertModal-BoOcP8EU.js} +1 -1
  12. package/dist/{TablePropertiesModal-4wruPg2P.js → TablePropertiesModal-DAVdW1Ds.js} +1 -1
  13. package/dist/{VideoInsertModal-CawbofQW.js → VideoInsertModal-PR-DONIh.js} +2 -2
  14. package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-D3HsOwxJ.js → VideoProperties.vue_vue_type_script_setup_true_lang-CZC00R1a.js} +1 -1
  15. package/dist/{VideoPropertiesModal-BRQL-Aoe.js → VideoPropertiesModal-GuGVIRso.js} +2 -2
  16. package/dist/{YoutubeInsertModal-ByPCE0Qr.js → YoutubeInsertModal-DGnlllWV.js} +2 -2
  17. package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-BqZNJeHZ.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-BXXoeaXn.js} +1 -1
  18. package/dist/{YoutubePropertiesModal-lui6_XIz.js → YoutubePropertiesModal-1fqFfuqp.js} +2 -2
  19. package/dist/bluesea.css +10 -0
  20. package/dist/bluesea.js +46 -45
  21. package/dist/bluesea.umd.cjs +35 -3
  22. package/dist/component/grid/GridLib.d.ts +2 -1
  23. package/dist/component/input/BSNumberInput.vue.d.ts +5 -0
  24. package/dist/component/input/BSPriceInput.vue.d.ts +5 -0
  25. package/dist/component/tree/TreeModel.d.ts +4 -0
  26. package/dist/frame/default/DefaultFrameModel.d.ts +1 -0
  27. package/dist/{index-fmtGWcf1.js → index-lj_R2xa0.js} +95 -63
  28. package/dist/index.d.ts +1 -0
  29. package/package.json +1 -1
package/css/bluesea.css CHANGED
@@ -18681,6 +18681,19 @@ html {
18681
18681
  min-width: 100%;
18682
18682
  }
18683
18683
 
18684
+ .bs-popup-button.icon-only > button {
18685
+ border: 0 !important;
18686
+ padding: 4px 0;
18687
+ }
18688
+
18689
+ .bs-popup-button.icon-only > button > .font-icon {
18690
+ font-size: 1.2rem;
18691
+ }
18692
+
18693
+ .bs-popup-button.icon-only > button > .font-icon.right {
18694
+ display: none;
18695
+ }
18696
+
18684
18697
  .bs-box-component-wrap, .bs-select-wrap, .bs-input-wrap, .bs-text-input {
18685
18698
  display: inline-flex;
18686
18699
  flex-direction: column;
@@ -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, j as vFocusOnLoad } from "./index-fmtGWcf1.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton, j as vFocusOnLoad } from "./index-lj_R2xa0.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 { f as createInputGridHandler, u as useModalHandle, _ as _sfc_main$1, B as BSButton, g as _sfc_main$2, h as _sfc_main$3, i as _sfc_main$4, n as notNull } from "./index-fmtGWcf1.js";
2
+ import { f as createInputGridHandler, u as useModalHandle, _ as _sfc_main$1, B as BSButton, g as _sfc_main$2, h as _sfc_main$3, i as _sfc_main$4, n as notNull } from "./index-lj_R2xa0.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-fmtGWcf1.js";
2
+ import { u as useModalHandle, d as _sfc_main$1 } from "./index-lj_R2xa0.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-fmtGWcf1.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton } from "./index-lj_R2xa0.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 } from "./index-fmtGWcf1.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 } from "./index-lj_R2xa0.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-fmtGWcf1.js";
3
- import { _ as _sfc_main$5 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-Bw2yOIXv.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-lj_R2xa0.js";
3
+ import { _ as _sfc_main$5 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-BAfBNS3t.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-fmtGWcf1.js";
2
+ import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-lj_R2xa0.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 { o as findImageNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, m as formValidator, p as imageInfoNumberToPixel } from "./index-fmtGWcf1.js";
3
- import { _ as _sfc_main$4 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-Bw2yOIXv.js";
2
+ import { o as findImageNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, m as formValidator, p as imageInfoNumberToPixel } from "./index-lj_R2xa0.js";
3
+ import { _ as _sfc_main$4 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-BAfBNS3t.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-fmtGWcf1.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-lj_R2xa0.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, h as _sfc_main$3 } from "./index-fmtGWcf1.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, h as _sfc_main$3 } from "./index-lj_R2xa0.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 { k 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, l as _sfc_main$4, m as formValidator } from "./index-fmtGWcf1.js";
2
+ import { k 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, l as _sfc_main$4, m as formValidator } from "./index-lj_R2xa0.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-fmtGWcf1.js";
3
- import { _ as _sfc_main$5 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-D3HsOwxJ.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-lj_R2xa0.js";
3
+ import { _ as _sfc_main$5 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-CZC00R1a.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 { i as _sfc_main$1, b as _sfc_main$2, c as _sfc_main$3, v as vT } from "./index-fmtGWcf1.js";
2
+ import { i as _sfc_main$1, b as _sfc_main$2, c as _sfc_main$3, v as vT } from "./index-lj_R2xa0.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 { s as findVideoNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, m as formValidator, t as videoInfoNumberToPixel } from "./index-fmtGWcf1.js";
3
- import { _ as _sfc_main$4 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-D3HsOwxJ.js";
2
+ import { s as findVideoNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, m as formValidator, t as videoInfoNumberToPixel } from "./index-lj_R2xa0.js";
3
+ import { _ as _sfc_main$4 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-CZC00R1a.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-fmtGWcf1.js";
3
- import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-BqZNJeHZ.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-lj_R2xa0.js";
3
+ import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-BXXoeaXn.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-fmtGWcf1.js";
2
+ import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-lj_R2xa0.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 { q as findYoutubeNode, r 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-fmtGWcf1.js";
3
- import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-BqZNJeHZ.js";
2
+ import { q as findYoutubeNode, r 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-lj_R2xa0.js";
3
+ import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-BXXoeaXn.js";
4
4
  const _hoisted_1 = {
5
5
  key: 0,
6
6
  class: "bs-layout-form"
package/dist/bluesea.css CHANGED
@@ -1553,6 +1553,16 @@
1553
1553
  .bs-popup-button .bs-context-menu {
1554
1554
  position: absolute;
1555
1555
  min-width: 100%;
1556
+ }
1557
+ .bs-popup-button.icon-only > button {
1558
+ border: 0 !important;
1559
+ padding: 4px 0;
1560
+ }
1561
+ .bs-popup-button.icon-only > button > .font-icon {
1562
+ font-size: 1.2rem;
1563
+ }
1564
+ .bs-popup-button.icon-only > button > .font-icon.right {
1565
+ display: none;
1556
1566
  }.bs-box-component-wrap, .bs-select-wrap, .bs-input-wrap, .bs-text-input {
1557
1567
  display: inline-flex;
1558
1568
  flex-direction: column;
package/dist/bluesea.js CHANGED
@@ -1,4 +1,4 @@
1
- import { aK, aL, bI, bJ, w, am, aw, B, H, I, a6, i, P, ao, L, D, ax, cp, F, M, as, N, a4, a5, at, O, b, g, a2, a1, a9, ap, an, Z, A, a8, a7, E, aj, c7, au, _, $, ag, ai, ah, af, ae, ad, T, ak, av, h, G, K, aq, z, W, a0, J, C, Q, l, d, S, ar, a, al, X, a3, c, ab, ac, V, U, aa, R, x, bQ, b8, bP, aU, az, cu, ay, a$, aZ, aW, Y, bO, b1, b0, cz, bG, bM, a_, bS, bR, bN, ct, b2, aT, aH, aI, aG, aJ, bL, bK, aY, bH, bx, c2, cy, bc, bj, c1, cI, cd, bT, b_, bZ, aQ, bA, cf, aR, co, b7, cs, cv, f, ca, aX, bf, cM, aM, b4, bg, aN, aP, aO, b6, bY, bu, bv, bw, br, bt, bs, e, bq, bn, m, cB, aS, b5, cm, ci, cA, bW, aC, cJ, cG, cK, bB, cH, bC, c0, b$, cj, bk, bX, bm, bi, cL, b3, c6, c5, aV, bV, n, cb, bU, cF, cw, c3, c9, by, b9, bd, bF, bD, bE, ce, cl, ck, cc, ch, bl, aB, bh, cg, cE, cq, cr, cx, c4, c8, u, bz, ba, bb, be, aA, aE, aF, j, v, aD, bo, bp, cD, cC, cn } from "./index-fmtGWcf1.js";
1
+ import { aK, aL, bI, bJ, w, am, aw, B, H, I, a6, i, P, ao, L, D, ax, cq, F, M, as, N, a4, a5, at, O, b, g, a2, a1, a9, ap, an, Z, A, a8, a7, E, aj, c8, au, _, $, ag, ai, ah, af, ae, ad, T, ak, av, h, G, K, aq, z, W, a0, J, C, Q, l, d, S, ar, a, al, X, a3, c, ab, ac, V, U, aa, R, x, bQ, b8, bP, aU, az, cv, ay, a$, aZ, aW, Y, bO, b1, b0, cA, bG, bM, a_, bS, bR, bN, cu, b2, aT, aH, aI, aG, aJ, bL, bK, aY, bH, bx, c2, cz, bc, bj, c1, cJ, ce, bT, b_, bZ, aQ, bA, cg, aR, cp, b7, ct, cw, f, cb, aX, bf, cN, aM, b4, bg, aN, aP, aO, b6, bY, bu, bv, bw, br, bt, bs, e, bq, bn, m, cC, aS, b5, cn, cj, cB, bW, aC, cK, cH, cL, bB, cI, bC, c0, b$, ck, bk, bX, bm, bi, cM, b3, c7, c6, aV, bV, n, cc, bU, cG, cx, c3, ca, by, b9, bd, bF, c5, bD, bE, cf, cm, cl, cd, ci, bl, aB, bh, ch, cF, cr, cs, cy, c4, c9, u, bz, ba, bb, be, aA, aE, aF, j, v, aD, bo, bp, cE, cD, co } from "./index-lj_R2xa0.js";
2
2
  export {
3
3
  aK as ADDRESS_COUNTRY_CONFIGS,
4
4
  aL as ADDRESS_COUNTRY_CONFIG_DEFAULT,
@@ -17,7 +17,7 @@ export {
17
17
  L as BSColorInput,
18
18
  D as BSConsole,
19
19
  ax as BSContextMenuContainer,
20
- cp as BSContextMenuPlugin,
20
+ cq as BSContextMenuPlugin,
21
21
  F as BSDate,
22
22
  M as BSDateInput,
23
23
  as as BSDateInputPopup,
@@ -39,7 +39,7 @@ export {
39
39
  a7 as BSListLayout,
40
40
  E as BSLoadingIcon,
41
41
  aj as BSLocaleSelect,
42
- c7 as BSModal,
42
+ c8 as BSModal,
43
43
  au as BSModalContainer,
44
44
  _ as BSModalFrame,
45
45
  $ as BSMultiImageUpload,
@@ -83,7 +83,7 @@ export {
83
83
  bP as BetweenFilter,
84
84
  aU as DEFAULT_GRID_COLUMN_WIDTH,
85
85
  az as DefaultBody,
86
- cu as DefaultFrameContext,
86
+ cv as DefaultFrameContext,
87
87
  ay as DefaultHeader,
88
88
  a$ as EditableInputGridHandlerImpl,
89
89
  aZ as EditablePageGridHandlerImpl,
@@ -92,14 +92,14 @@ export {
92
92
  bO as EqualFilter,
93
93
  b1 as GridHandlerEditableSupport,
94
94
  b0 as GridHandlerSelectDeleteSupport,
95
- cz as I18NTexts,
95
+ cA as I18NTexts,
96
96
  bG as IllegalAccessError,
97
97
  bM as InFilter,
98
98
  a_ as InputGridHandlerImpl,
99
99
  bS as IsNotNullFilter,
100
100
  bR as IsNullFilter,
101
101
  bN as LikeFilter,
102
- ct as LocalStorageFavoriteMenuHandler,
102
+ cu as LocalStorageFavoriteMenuHandler,
103
103
  b2 as LocalStorageGridPreferenceStore,
104
104
  aT as MediaObjectUrlStore,
105
105
  aH as NAME_INPUT_STYLE_2,
@@ -112,28 +112,28 @@ export {
112
112
  bH as PaginatedList,
113
113
  bx as SavePointImpl,
114
114
  c2 as SearchParam,
115
- cy as ShortcutKeyHandler,
115
+ cz as ShortcutKeyHandler,
116
116
  bc as TabStatusManagerImpl,
117
117
  bj as ValidationFailedError,
118
118
  c1 as acceptFilter,
119
- cI as addPrefixToMultiLangString,
120
- cd as alarmEntries,
119
+ cJ as addPrefixToMultiLangString,
120
+ ce as alarmEntries,
121
121
  bT as andFilter,
122
122
  b_ as betweenDateFilter,
123
123
  bZ as betweenFilter,
124
124
  aQ as blueseaConfig,
125
125
  bA as cancelProvidedSavePoint,
126
- cf as closeAlarm,
126
+ cg as closeAlarm,
127
127
  aR as configureBluesea,
128
- co as contextMenuPluginKey,
128
+ cp as contextMenuPluginKey,
129
129
  b7 as convertDateRangePresetKey,
130
- cs as createContextMenuPlugin,
131
- cv as createDefaultFrameContext,
130
+ ct as createContextMenuPlugin,
131
+ cw as createDefaultFrameContext,
132
132
  f as createInputGridHandler,
133
- ca as createModalPlugin,
133
+ cb as createModalPlugin,
134
134
  aX as createPageGridHandler,
135
135
  bf as createTreeHandler,
136
- cM as debounce,
136
+ cN as debounce,
137
137
  aM as defaultAddressInputComponentConfig,
138
138
  b4 as defaultCellFormatter,
139
139
  bg as defaultExpandMultiLang,
@@ -152,61 +152,62 @@ export {
152
152
  bq as fieldValidator,
153
153
  bn as findFieldValidatorElements,
154
154
  m as formValidator,
155
- cB as formatUtil,
155
+ cC as formatUtil,
156
156
  aS as getMediaType,
157
157
  b5 as gridExcelDownloadExtension,
158
- cm as hideLoading,
159
- ci as hideTooltip,
160
- cA as i18n,
158
+ cn as hideLoading,
159
+ cj as hideTooltip,
160
+ cB as i18n,
161
161
  bW as inFilter,
162
162
  aC as interpretMultiLangText,
163
- cJ as isBlankMultiLangImageFile,
164
- cG as isBlankMultiLangString,
165
- cK as isMultiLangImageFileValidRequired,
163
+ cK as isBlankMultiLangImageFile,
164
+ cH as isBlankMultiLangString,
165
+ cL as isMultiLangImageFileValidRequired,
166
166
  bB as isMultiLangMessage,
167
- cH as isMultiLangStringValidRequired,
167
+ cI as isMultiLangStringValidRequired,
168
168
  bC as isNameEmpty,
169
169
  c0 as isNotNullFilter,
170
170
  b$ as isNullFilter,
171
- cj as isTooltipDisplayed,
171
+ ck as isTooltipDisplayed,
172
172
  bk as isValidationFailedError,
173
173
  bX as likeFilter,
174
174
  bm as loadFieldValidator,
175
175
  bi as localeBasedExtraItemValidationRules,
176
- cL as localeNameProvider,
176
+ cM as localeNameProvider,
177
177
  b3 as mergeSameValueVertical,
178
- c6 as modalHandleKey,
179
- c5 as modalPluginKey,
178
+ c7 as modalHandleKey,
179
+ c6 as modalPluginKey,
180
180
  aV as nameFilterCreator,
181
181
  bV as notFilter,
182
182
  n as notNull,
183
- cb as notificationEntries,
183
+ cc as notificationEntries,
184
184
  bU as orFilter,
185
- cF as parsePathParam,
186
- cw as provideDefaultFrameContext,
185
+ cG as parsePathParam,
186
+ cx as provideDefaultFrameContext,
187
187
  c3 as provideFieldContext,
188
- c9 as provideModalHandle,
188
+ ca as provideModalHandle,
189
189
  by as provideSavePoint,
190
190
  b9 as provideTabManager,
191
191
  bd as provideTabStatusManager,
192
192
  bF as serializeAddress,
193
+ c5 as serializeMoney,
193
194
  bD as serializeName,
194
195
  bE as serializeTel,
195
- ce as showAlarm,
196
- cl as showLoading,
197
- ck as showLoadingIcon,
198
- cc as showNotification,
199
- ch as showTooltip,
196
+ cf as showAlarm,
197
+ cm as showLoading,
198
+ cl as showLoadingIcon,
199
+ cd as showNotification,
200
+ ci as showTooltip,
200
201
  bl as storeFieldValidator,
201
202
  aB as t,
202
203
  bh as toggleDefaultExpandMultiLang,
203
- cg as tooltipEntry,
204
- cE as tryUntil,
205
- cq as useContextMenu,
206
- cr as useContextMenuOptional,
207
- cx as useDefaultFrame,
204
+ ch as tooltipEntry,
205
+ cF as tryUntil,
206
+ cr as useContextMenu,
207
+ cs as useContextMenuOptional,
208
+ cy as useDefaultFrame,
208
209
  c4 as useFieldContext,
209
- c8 as useModal,
210
+ c9 as useModal,
210
211
  u as useModalHandle,
211
212
  bz as useSavePoint,
212
213
  ba as useTabManager,
@@ -220,7 +221,7 @@ export {
220
221
  aD as vTooltip,
221
222
  bo as validateField,
222
223
  bp as validateFields,
223
- cD as waitDuring,
224
- cC as waitUntil,
225
- cn as withLoading
224
+ cE as waitDuring,
225
+ cD as waitUntil,
226
+ co as withLoading
226
227
  };
@@ -3355,6 +3355,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3355
3355
  tabindex: { default: 0 },
3356
3356
  prefix: {},
3357
3357
  suffix: {},
3358
+ format: { type: Boolean, default: true },
3358
3359
  formatInViewMode: { type: Boolean, default: true },
3359
3360
  formatOnBlur: { type: Boolean, default: true },
3360
3361
  required: { type: Boolean },
@@ -3385,7 +3386,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3385
3386
  );
3386
3387
  const field = vue.ref();
3387
3388
  const focused = vue.ref(false);
3388
- const formattedStringValue = vue.computed(() => formatUtil.formatNumber(stringValue.value) || "");
3389
+ const formattedStringValue = vue.computed(() => props.format ? formatUtil.formatNumber(stringValue.value) || "" : stringValue.value || "");
3389
3390
  const fieldContext = useFieldContext();
3390
3391
  const isValid = async (value, phase) => {
3391
3392
  const errors2 = [];
@@ -3547,6 +3548,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3547
3548
  width: { default: "200px" },
3548
3549
  autocomplete: {},
3549
3550
  tabindex: { default: 0 },
3551
+ format: { type: Boolean, default: true },
3550
3552
  formatInViewMode: { type: Boolean, default: true },
3551
3553
  formatOnBlur: { type: Boolean, default: true },
3552
3554
  required: { type: Boolean },
@@ -3577,7 +3579,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3577
3579
  );
3578
3580
  const field = vue.ref();
3579
3581
  const focused = vue.ref(false);
3580
- const formattedStringValue = vue.computed(() => formatUtil.formatNumber(stringValue.value) || "");
3582
+ const formattedStringValue = vue.computed(() => props.format ? formatUtil.formatNumber(stringValue.value) || "" : stringValue.value || "");
3581
3583
  const currencyCode = vue.computed(() => {
3582
3584
  var _a2;
3583
3585
  return ((_a2 = props.modelValue) == null ? void 0 : _a2.currency) || props.currency || blueseaConfig.defaultCurrencyCode;
@@ -36834,6 +36836,31 @@ img.ProseMirror-separator {
36834
36836
  const filterSlotName = (column) => {
36835
36837
  return `${column.propertyId}Filter`;
36836
36838
  };
36839
+ const mergeColumnSettings = (columns, settings) => {
36840
+ const newSettings = settings.filter((col) => columns.find((baseCol) => baseCol.propertyId === col.propertyId));
36841
+ const added = columns.filter((baseCol) => !newSettings.find((col) => col.propertyId === baseCol.propertyId));
36842
+ added.forEach((addedCol) => {
36843
+ const addedColSetting = {
36844
+ propertyId: addedCol.propertyId,
36845
+ width: addedCol.width
36846
+ };
36847
+ const index = columns.findIndex((col) => col.propertyId === addedCol.propertyId);
36848
+ if (index === 0) {
36849
+ newSettings.splice(0, 0, addedColSetting);
36850
+ } else if (index > 0) {
36851
+ const prev = columns[index - 1];
36852
+ const prevIndex = newSettings.findIndex((col) => col.propertyId === prev.propertyId);
36853
+ if (prevIndex >= 0) {
36854
+ newSettings.splice(prevIndex + 1, 0, addedColSetting);
36855
+ } else {
36856
+ newSettings.push(addedColSetting);
36857
+ }
36858
+ } else {
36859
+ newSettings.push(addedColSetting);
36860
+ }
36861
+ });
36862
+ return newSettings;
36863
+ };
36837
36864
  const COLUMN_MIN_WIDTH = 24;
36838
36865
  const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
36839
36866
  __name: "BSGridHeaderCellResizeHandle",
@@ -37538,7 +37565,7 @@ img.ProseMirror-separator {
37538
37565
  const props = __props;
37539
37566
  const emit = __emit;
37540
37567
  const internalColumns = vue.computed(() => {
37541
- const visibleColumns = props.columnSettings ? props.columnSettings.filter((col) => !col.hidden).map((col) => {
37568
+ const visibleColumns = props.columnSettings ? mergeColumnSettings(props.columns, props.columnSettings).filter((col) => !col.hidden).map((col) => {
37542
37569
  const orig = props.columns.find((column) => column.propertyId === col.propertyId);
37543
37570
  return { ...orig, width: col.width || (orig == null ? void 0 : orig.width) };
37544
37571
  }).filter((col) => col.propertyId) : props.columns;
@@ -69249,6 +69276,10 @@ img.ProseMirror-separator {
69249
69276
  const pagePath = getRoutePagePath(this.config.framePrefix, route);
69250
69277
  return this.pageManager.getPageByPath(pagePath);
69251
69278
  }
69279
+ setPageTitle(route, title) {
69280
+ const page = this.getPageByRoute(route);
69281
+ if (page) page.title = title || "";
69282
+ }
69252
69283
  setPageSubtitle(route, subtitle) {
69253
69284
  const page = this.getPageByRoute(route);
69254
69285
  if (page) page.subtitle = subtitle;
@@ -72553,6 +72584,7 @@ img.ProseMirror-separator {
72553
72584
  exports2.provideTabManager = provideTabManager;
72554
72585
  exports2.provideTabStatusManager = provideTabStatusManager;
72555
72586
  exports2.serializeAddress = serializeAddress;
72587
+ exports2.serializeMoney = serializeMoney;
72556
72588
  exports2.serializeName = serializeName;
72557
72589
  exports2.serializeTel = serializeTel;
72558
72590
  exports2.showAlarm = showAlarm;
@@ -1,4 +1,4 @@
1
- import { Column } from './GridModel';
1
+ import { Column, GridColumnSetting } from './GridModel';
2
2
  import { MenuItem } from '../../contextmenu/contextMenuPlugin.ts';
3
3
  import { GridContextMenuParam } from './GridExtension.ts';
4
4
 
@@ -19,3 +19,4 @@ export declare const editComponentSlotName: (column: Column) => string;
19
19
  export type GridExtensionHandler = {
20
20
  handleExtendsContextMenu: (event: MouseEvent, param: GridContextMenuParam) => MenuItem[] | undefined;
21
21
  };
22
+ export declare const mergeColumnSettings: (columns: Column[], settings: GridColumnSetting[]) => GridColumnSetting[];
@@ -14,6 +14,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
14
14
  tabindex?: number | undefined;
15
15
  prefix?: MultiLangText | MultiLangText[] | undefined;
16
16
  suffix?: MultiLangText | MultiLangText[] | undefined;
17
+ format?: boolean | undefined;
17
18
  formatInViewMode?: boolean | undefined;
18
19
  formatOnBlur?: boolean | undefined;
19
20
  required?: boolean | undefined;
@@ -30,6 +31,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
30
31
  }>, {
31
32
  width: string;
32
33
  tabindex: number;
34
+ format: boolean;
33
35
  formatInViewMode: boolean;
34
36
  formatOnBlur: boolean;
35
37
  }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -47,6 +49,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
47
49
  tabindex?: number | undefined;
48
50
  prefix?: MultiLangText | MultiLangText[] | undefined;
49
51
  suffix?: MultiLangText | MultiLangText[] | undefined;
52
+ format?: boolean | undefined;
50
53
  formatInViewMode?: boolean | undefined;
51
54
  formatOnBlur?: boolean | undefined;
52
55
  required?: boolean | undefined;
@@ -63,6 +66,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
63
66
  }>, {
64
67
  width: string;
65
68
  tabindex: number;
69
+ format: boolean;
66
70
  formatInViewMode: boolean;
67
71
  formatOnBlur: boolean;
68
72
  }>>> & Readonly<{
@@ -70,6 +74,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
70
74
  }>, {
71
75
  width: string;
72
76
  tabindex: number;
77
+ format: boolean;
73
78
  formatInViewMode: boolean;
74
79
  formatOnBlur: boolean;
75
80
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -14,6 +14,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
14
14
  width?: string | undefined;
15
15
  autocomplete?: string | undefined;
16
16
  tabindex?: number | undefined;
17
+ format?: boolean | undefined;
17
18
  formatInViewMode?: boolean | undefined;
18
19
  formatOnBlur?: boolean | undefined;
19
20
  required?: boolean | undefined;
@@ -30,6 +31,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
30
31
  }>, {
31
32
  width: string;
32
33
  tabindex: number;
34
+ format: boolean;
33
35
  formatInViewMode: boolean;
34
36
  formatOnBlur: boolean;
35
37
  }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -47,6 +49,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
47
49
  width?: string | undefined;
48
50
  autocomplete?: string | undefined;
49
51
  tabindex?: number | undefined;
52
+ format?: boolean | undefined;
50
53
  formatInViewMode?: boolean | undefined;
51
54
  formatOnBlur?: boolean | undefined;
52
55
  required?: boolean | undefined;
@@ -63,6 +66,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
63
66
  }>, {
64
67
  width: string;
65
68
  tabindex: number;
69
+ format: boolean;
66
70
  formatInViewMode: boolean;
67
71
  formatOnBlur: boolean;
68
72
  }>>> & Readonly<{
@@ -70,6 +74,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
70
74
  }>, {
71
75
  width: string;
72
76
  tabindex: number;
77
+ format: boolean;
73
78
  formatInViewMode: boolean;
74
79
  formatOnBlur: boolean;
75
80
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -169,6 +169,10 @@ export type TreeHandlerOption<T> = {
169
169
  * TreeHandler 에서 신규 항목 추가가 필요할 때 호출된다.
170
170
  * 이 함수가 리턴한 신규 항목이 Tree 에 추가된다.
171
171
  * undefined 를 리턴하면 항목이 추가되지 않는다.
172
+ *
173
+ * 새로 생성된 항목의 parent 를 설정하는 것과 parent 에 이 항목을 추가하는 등의 작업이
174
+ * 이 함수 안에서 모두 이루어져야 한다. TreeHandler 가 이 작업을 대신해주지 않는다.
175
+ *
172
176
  * @param parent 생성할 항목의 부모. 최상위 항목이면 undefined 이다.
173
177
  * @param index 생성 위치.
174
178
  */
@@ -29,6 +29,7 @@ export declare class DefaultFrameContext implements FrameContext {
29
29
  syncCurrentPath(route: RouteLocation): Promise<void>;
30
30
  closeActivePage(): Promise<void>;
31
31
  getPageByRoute(route: RouteLocation): PageInstance | undefined;
32
+ setPageTitle(route: RouteLocation, title?: string): void;
32
33
  setPageSubtitle(route: RouteLocation, subtitle?: string): void;
33
34
  /**
34
35
  * pagePath 에 해당하는 화면 URL 로 이동한다.
@@ -360,8 +360,8 @@ const defaultAddressInputComponentConfig = {
360
360
  countryConfigs: ADDRESS_COUNTRY_CONFIGS
361
361
  };
362
362
  const defaultRichTextComponentConfig = {
363
- imageInsertModal: defineAsyncComponent(() => import("./ImageInsertModal-CuviaF6-.js")),
364
- videoInsertModal: defineAsyncComponent(() => import("./VideoInsertModal-CawbofQW.js")),
363
+ imageInsertModal: defineAsyncComponent(() => import("./ImageInsertModal-DH0cfB5D.js")),
364
+ videoInsertModal: defineAsyncComponent(() => import("./VideoInsertModal-PR-DONIh.js")),
365
365
  toolButtons: [
366
366
  "Heading",
367
367
  "FontSize",
@@ -3355,6 +3355,7 @@ const _sfc_main$1t = /* @__PURE__ */ defineComponent({
3355
3355
  tabindex: { default: 0 },
3356
3356
  prefix: {},
3357
3357
  suffix: {},
3358
+ format: { type: Boolean, default: true },
3358
3359
  formatInViewMode: { type: Boolean, default: true },
3359
3360
  formatOnBlur: { type: Boolean, default: true },
3360
3361
  required: { type: Boolean },
@@ -3385,7 +3386,7 @@ const _sfc_main$1t = /* @__PURE__ */ defineComponent({
3385
3386
  );
3386
3387
  const field = ref();
3387
3388
  const focused = ref(false);
3388
- const formattedStringValue = computed(() => formatUtil.formatNumber(stringValue.value) || "");
3389
+ const formattedStringValue = computed(() => props.format ? formatUtil.formatNumber(stringValue.value) || "" : stringValue.value || "");
3389
3390
  const fieldContext = useFieldContext();
3390
3391
  const isValid = async (value, phase) => {
3391
3392
  const errors2 = [];
@@ -3547,6 +3548,7 @@ const _sfc_main$1s = /* @__PURE__ */ defineComponent({
3547
3548
  width: { default: "200px" },
3548
3549
  autocomplete: {},
3549
3550
  tabindex: { default: 0 },
3551
+ format: { type: Boolean, default: true },
3550
3552
  formatInViewMode: { type: Boolean, default: true },
3551
3553
  formatOnBlur: { type: Boolean, default: true },
3552
3554
  required: { type: Boolean },
@@ -3577,7 +3579,7 @@ const _sfc_main$1s = /* @__PURE__ */ defineComponent({
3577
3579
  );
3578
3580
  const field = ref();
3579
3581
  const focused = ref(false);
3580
- const formattedStringValue = computed(() => formatUtil.formatNumber(stringValue.value) || "");
3582
+ const formattedStringValue = computed(() => props.format ? formatUtil.formatNumber(stringValue.value) || "" : stringValue.value || "");
3581
3583
  const currencyCode = computed(() => {
3582
3584
  var _a2;
3583
3585
  return ((_a2 = props.modelValue) == null ? void 0 : _a2.currency) || props.currency || blueseaConfig.defaultCurrencyCode;
@@ -6304,7 +6306,7 @@ class BSModal {
6304
6306
  }
6305
6307
  openAlert(title, message, clickHandler2) {
6306
6308
  const option = {
6307
- component: defineAsyncComponent(() => import("./BSAlertModal-CEerY3JH.js")),
6309
+ component: defineAsyncComponent(() => import("./BSAlertModal-CF_JTmhi.js")),
6308
6310
  bind: {
6309
6311
  title,
6310
6312
  message
@@ -6317,7 +6319,7 @@ class BSModal {
6317
6319
  }
6318
6320
  openYesNo(title, message, yesHandler, noHandler) {
6319
6321
  const option = {
6320
- component: defineAsyncComponent(() => import("./BSYesNoModal-sWKO9rWp.js")),
6322
+ component: defineAsyncComponent(() => import("./BSYesNoModal-C6_FunXV.js")),
6321
6323
  bind: {
6322
6324
  title,
6323
6325
  message
@@ -31451,13 +31453,13 @@ const tableContextMenus = (modal, editor) => {
31451
31453
  };
31452
31454
  const showTableProperties = (modal, editor) => {
31453
31455
  modal.openModal({
31454
- component: defineAsyncComponent(() => import("./TablePropertiesModal-4wruPg2P.js")),
31456
+ component: defineAsyncComponent(() => import("./TablePropertiesModal-DAVdW1Ds.js")),
31455
31457
  bind: { editor }
31456
31458
  });
31457
31459
  };
31458
31460
  const insertTable = (modal, editor) => {
31459
31461
  modal.openModal({
31460
- component: defineAsyncComponent(() => import("./TableInsertModal-DlNMTd8g.js")),
31462
+ component: defineAsyncComponent(() => import("./TableInsertModal-BoOcP8EU.js")),
31461
31463
  bind: { editor }
31462
31464
  });
31463
31465
  };
@@ -31622,7 +31624,7 @@ const insertImage = (modal, editor) => {
31622
31624
  const component = (_a2 = blueseaConfig.componentConfig.richText) == null ? void 0 : _a2.imageInsertModal;
31623
31625
  if (component) {
31624
31626
  modal.openModal({
31625
- component: defineAsyncComponent(() => import("./ImageInsertModal-CuviaF6-.js")),
31627
+ component: defineAsyncComponent(() => import("./ImageInsertModal-DH0cfB5D.js")),
31626
31628
  bind: { editor },
31627
31629
  on: {
31628
31630
  insertImage: (image) => {
@@ -31640,7 +31642,7 @@ const insertImage = (modal, editor) => {
31640
31642
  };
31641
31643
  const showImageProperties = (modal, editor) => {
31642
31644
  modal.openModal({
31643
- component: defineAsyncComponent(() => import("./ImagePropertiesModal-BtdgZ-8W.js")),
31645
+ component: defineAsyncComponent(() => import("./ImagePropertiesModal-BrR5bkLN.js")),
31644
31646
  bind: { editor }
31645
31647
  });
31646
31648
  };
@@ -32001,13 +32003,13 @@ const youtubeContextMenu = (modal, editor) => {
32001
32003
  };
32002
32004
  const insertYoutube = (modal, editor) => {
32003
32005
  modal.openModal({
32004
- component: defineAsyncComponent(() => import("./YoutubeInsertModal-ByPCE0Qr.js")),
32006
+ component: defineAsyncComponent(() => import("./YoutubeInsertModal-DGnlllWV.js")),
32005
32007
  bind: { editor }
32006
32008
  });
32007
32009
  };
32008
32010
  const showYoutubeProperties = (modal, editor) => {
32009
32011
  modal.openModal({
32010
- component: defineAsyncComponent(() => import("./YoutubePropertiesModal-lui6_XIz.js")),
32012
+ component: defineAsyncComponent(() => import("./YoutubePropertiesModal-1fqFfuqp.js")),
32011
32013
  bind: { editor }
32012
32014
  });
32013
32015
  };
@@ -32051,7 +32053,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
32051
32053
  const showLinkProperties = () => {
32052
32054
  if (!props.disabled) {
32053
32055
  modal.openModal({
32054
- component: defineAsyncComponent(() => import("./LinkPropertiesModal-COSAhi80.js")),
32056
+ component: defineAsyncComponent(() => import("./LinkPropertiesModal-b-R8bfjK.js")),
32055
32057
  bind: {
32056
32058
  editor: props.editor
32057
32059
  }
@@ -32416,7 +32418,7 @@ const insertVideo = (modal, editor) => {
32416
32418
  const component = (_a2 = blueseaConfig.componentConfig.richText) == null ? void 0 : _a2.videoInsertModal;
32417
32419
  if (component) {
32418
32420
  modal.openModal({
32419
- component: defineAsyncComponent(() => import("./VideoInsertModal-CawbofQW.js")),
32421
+ component: defineAsyncComponent(() => import("./VideoInsertModal-PR-DONIh.js")),
32420
32422
  bind: { editor },
32421
32423
  on: {
32422
32424
  insertVideo: (video) => {
@@ -32434,7 +32436,7 @@ const insertVideo = (modal, editor) => {
32434
32436
  };
32435
32437
  const showVideoProperties = (modal, editor) => {
32436
32438
  modal.openModal({
32437
- component: defineAsyncComponent(() => import("./VideoPropertiesModal-BRQL-Aoe.js")),
32439
+ component: defineAsyncComponent(() => import("./VideoPropertiesModal-GuGVIRso.js")),
32438
32440
  bind: { editor }
32439
32441
  });
32440
32442
  };
@@ -34612,7 +34614,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
34612
34614
  emit("maximized");
34613
34615
  if (!props.internalMaximized) {
34614
34616
  modal.openModal({
34615
- component: defineAsyncComponent(() => import("./BSRichTextMaximizedModal-Dd6QAZK9.js")),
34617
+ component: defineAsyncComponent(() => import("./BSRichTextMaximizedModal-51YcW4Ml.js")),
34616
34618
  bind: {
34617
34619
  modelValue: getEditorValue(),
34618
34620
  contentMaxWidth: props.contentMaxWidth,
@@ -35150,7 +35152,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
35150
35152
  const modal = useModal();
35151
35153
  const enterYoutubeUrl = () => {
35152
35154
  modal.openModal({
35153
- component: defineAsyncComponent(() => import("./BSYoutubeInputModal-DKwL4GLd.js")),
35155
+ component: defineAsyncComponent(() => import("./BSYoutubeInputModal-DmQZMtJ_.js")),
35154
35156
  on: {
35155
35157
  "update:modelValue": (url) => {
35156
35158
  emit("update:modelValue", {
@@ -36834,6 +36836,31 @@ const styleClassToObject = (style2) => {
36834
36836
  const filterSlotName = (column) => {
36835
36837
  return `${column.propertyId}Filter`;
36836
36838
  };
36839
+ const mergeColumnSettings = (columns, settings) => {
36840
+ const newSettings = settings.filter((col) => columns.find((baseCol) => baseCol.propertyId === col.propertyId));
36841
+ const added = columns.filter((baseCol) => !newSettings.find((col) => col.propertyId === baseCol.propertyId));
36842
+ added.forEach((addedCol) => {
36843
+ const addedColSetting = {
36844
+ propertyId: addedCol.propertyId,
36845
+ width: addedCol.width
36846
+ };
36847
+ const index = columns.findIndex((col) => col.propertyId === addedCol.propertyId);
36848
+ if (index === 0) {
36849
+ newSettings.splice(0, 0, addedColSetting);
36850
+ } else if (index > 0) {
36851
+ const prev = columns[index - 1];
36852
+ const prevIndex = newSettings.findIndex((col) => col.propertyId === prev.propertyId);
36853
+ if (prevIndex >= 0) {
36854
+ newSettings.splice(prevIndex + 1, 0, addedColSetting);
36855
+ } else {
36856
+ newSettings.push(addedColSetting);
36857
+ }
36858
+ } else {
36859
+ newSettings.push(addedColSetting);
36860
+ }
36861
+ });
36862
+ return newSettings;
36863
+ };
36837
36864
  const COLUMN_MIN_WIDTH = 24;
36838
36865
  const _sfc_main$S = /* @__PURE__ */ defineComponent({
36839
36866
  __name: "BSGridHeaderCellResizeHandle",
@@ -37538,7 +37565,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
37538
37565
  const props = __props;
37539
37566
  const emit = __emit;
37540
37567
  const internalColumns = computed(() => {
37541
- const visibleColumns = props.columnSettings ? props.columnSettings.filter((col) => !col.hidden).map((col) => {
37568
+ const visibleColumns = props.columnSettings ? mergeColumnSettings(props.columns, props.columnSettings).filter((col) => !col.hidden).map((col) => {
37542
37569
  const orig = props.columns.find((column) => column.propertyId === col.propertyId);
37543
37570
  return { ...orig, width: col.width || (orig == null ? void 0 : orig.width) };
37544
37571
  }).filter((col) => col.propertyId) : props.columns;
@@ -38527,7 +38554,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
38527
38554
  const modal = useModal();
38528
38555
  const openSettingModal = () => {
38529
38556
  modal.openModal({
38530
- component: defineAsyncComponent(() => import("./BSGridColumnSettingModal-n3Oywrw4.js")),
38557
+ component: defineAsyncComponent(() => import("./BSGridColumnSettingModal-Cx7oqsyb.js")),
38531
38558
  bind: {
38532
38559
  columns: props.columns,
38533
38560
  columnSettings: props.columnSettings,
@@ -69249,6 +69276,10 @@ class DefaultFrameContext {
69249
69276
  const pagePath = getRoutePagePath(this.config.framePrefix, route);
69250
69277
  return this.pageManager.getPageByPath(pagePath);
69251
69278
  }
69279
+ setPageTitle(route, title) {
69280
+ const page = this.getPageByRoute(route);
69281
+ if (page) page.title = title || "";
69282
+ }
69252
69283
  setPageSubtitle(route, subtitle) {
69253
69284
  const page = this.getPageByRoute(route);
69254
69285
  if (page) page.subtitle = subtitle;
@@ -70473,50 +70504,51 @@ export {
70473
70504
  SearchParam as c2,
70474
70505
  provideFieldContext as c3,
70475
70506
  useFieldContext as c4,
70476
- modalPluginKey as c5,
70477
- modalHandleKey as c6,
70478
- BSModal as c7,
70479
- useModal as c8,
70480
- provideModalHandle as c9,
70481
- i18n as cA,
70482
- formatUtil as cB,
70483
- waitUntil as cC,
70484
- waitDuring as cD,
70485
- tryUntil as cE,
70486
- parsePathParam as cF,
70487
- isBlankMultiLangString as cG,
70488
- isMultiLangStringValidRequired as cH,
70489
- addPrefixToMultiLangString as cI,
70490
- isBlankMultiLangImageFile as cJ,
70491
- isMultiLangImageFileValidRequired as cK,
70492
- localeNameProvider as cL,
70493
- debounce$2 as cM,
70494
- createModalPlugin as ca,
70495
- notificationEntries as cb,
70496
- showNotification as cc,
70497
- alarmEntries as cd,
70498
- showAlarm as ce,
70499
- closeAlarm as cf,
70500
- tooltipEntry as cg,
70501
- showTooltip$1 as ch,
70502
- hideTooltip$1 as ci,
70503
- isTooltipDisplayed as cj,
70504
- showLoadingIcon as ck,
70505
- showLoading as cl,
70506
- hideLoading as cm,
70507
- withLoading as cn,
70508
- contextMenuPluginKey as co,
70509
- BSContextMenuPlugin as cp,
70510
- useContextMenu as cq,
70511
- useContextMenuOptional as cr,
70512
- createContextMenuPlugin as cs,
70513
- LocalStorageFavoriteMenuHandler as ct,
70514
- DefaultFrameContext as cu,
70515
- createDefaultFrameContext as cv,
70516
- provideDefaultFrameContext as cw,
70517
- useDefaultFrame as cx,
70518
- ShortcutKeyHandler as cy,
70519
- I18NTexts as cz,
70507
+ serializeMoney as c5,
70508
+ modalPluginKey as c6,
70509
+ modalHandleKey as c7,
70510
+ BSModal as c8,
70511
+ useModal as c9,
70512
+ I18NTexts as cA,
70513
+ i18n as cB,
70514
+ formatUtil as cC,
70515
+ waitUntil as cD,
70516
+ waitDuring as cE,
70517
+ tryUntil as cF,
70518
+ parsePathParam as cG,
70519
+ isBlankMultiLangString as cH,
70520
+ isMultiLangStringValidRequired as cI,
70521
+ addPrefixToMultiLangString as cJ,
70522
+ isBlankMultiLangImageFile as cK,
70523
+ isMultiLangImageFileValidRequired as cL,
70524
+ localeNameProvider as cM,
70525
+ debounce$2 as cN,
70526
+ provideModalHandle as ca,
70527
+ createModalPlugin as cb,
70528
+ notificationEntries as cc,
70529
+ showNotification as cd,
70530
+ alarmEntries as ce,
70531
+ showAlarm as cf,
70532
+ closeAlarm as cg,
70533
+ tooltipEntry as ch,
70534
+ showTooltip$1 as ci,
70535
+ hideTooltip$1 as cj,
70536
+ isTooltipDisplayed as ck,
70537
+ showLoadingIcon as cl,
70538
+ showLoading as cm,
70539
+ hideLoading as cn,
70540
+ withLoading as co,
70541
+ contextMenuPluginKey as cp,
70542
+ BSContextMenuPlugin as cq,
70543
+ useContextMenu as cr,
70544
+ useContextMenuOptional as cs,
70545
+ createContextMenuPlugin as ct,
70546
+ LocalStorageFavoriteMenuHandler as cu,
70547
+ DefaultFrameContext as cv,
70548
+ createDefaultFrameContext as cw,
70549
+ provideDefaultFrameContext as cx,
70550
+ useDefaultFrame as cy,
70551
+ ShortcutKeyHandler as cz,
70520
70552
  _sfc_main$X as d,
70521
70553
  extractYoutubeVideoId as e,
70522
70554
  createInputGridHandler as f,
package/dist/index.d.ts CHANGED
@@ -98,6 +98,7 @@ export * from './model/SearchModel';
98
98
  export type * from './model/SearchModel';
99
99
  export * from './model/FieldContext';
100
100
  export type * from './model/FieldContext';
101
+ export * from './model/MoneySerializer';
101
102
  export { default as BSModalContainer } from './modal/BSModalContainer.vue';
102
103
  export { default as BSModalFrame } from './modal/BSModalFrame.vue';
103
104
  export * from './modal/modalPlugin';
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.13",
4
+ "version": "5.0.0-beta.14",
5
5
  "description": "Ui Library for g1cloud BackOffice.",
6
6
  "type": "module",
7
7
  "engines": {