@g1cloud/bluesea 5.0.0-alpha.106 → 5.0.0-alpha.108

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 (24) hide show
  1. package/css/bluesea.css +1 -1
  2. package/dist/{BSAlertModal-7hxZowtt.js → BSAlertModal-m4U_5uY4.js} +1 -1
  3. package/dist/{BSGridColumnSettingModal-BCfAUccc.js → BSGridColumnSettingModal-BSEAvzyF.js} +1 -1
  4. package/dist/{BSYesNoModal-CJGK9JV2.js → BSYesNoModal-BccZYYBl.js} +1 -1
  5. package/dist/{BSYoutubeInputModal-DNT4RGaV.js → BSYoutubeInputModal-Cp_ULgmf.js} +1 -1
  6. package/dist/{ImageInsertModal-D_XBzsuC.js → ImageInsertModal-LQ8-kbLa.js} +2 -2
  7. package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-DH6r3kb7.js → ImageProperties.vue_vue_type_script_setup_true_lang-CwIxHTca.js} +1 -1
  8. package/dist/{ImagePropertiesModal-gkpxUbke.js → ImagePropertiesModal-DfditHqP.js} +2 -2
  9. package/dist/{LinkPropertiesModal-BuwKpSP6.js → LinkPropertiesModal-DChDJSod.js} +1 -1
  10. package/dist/{TableInsertModal-lfB4Dm0t.js → TableInsertModal-BCNChtcJ.js} +1 -1
  11. package/dist/{VideoInsertModal-C6ATdr66.js → VideoInsertModal-CqiMwD_a.js} +2 -2
  12. package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-Bsp7wrxA.js → VideoProperties.vue_vue_type_script_setup_true_lang-BP4cE4qN.js} +1 -1
  13. package/dist/{VideoPropertiesModal-DLl0Z3Fc.js → VideoPropertiesModal-Bau_bMw4.js} +2 -2
  14. package/dist/{YoutubeInsertModal-6mFDyD4x.js → YoutubeInsertModal-Ccub4oEv.js} +2 -2
  15. package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-CPlUVNG7.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-DbVRMKwr.js} +1 -1
  16. package/dist/{YoutubePropertiesModal-D1_76O4H.js → YoutubePropertiesModal-BdusdCet.js} +2 -2
  17. package/dist/bluesea.css +1 -1
  18. package/dist/bluesea.js +1 -1
  19. package/dist/bluesea.umd.cjs +31 -2
  20. package/dist/component/input/DateInputLib.d.ts +4 -0
  21. package/dist/config/config.d.ts +4 -0
  22. package/dist/{index-ByMZYDl-.js → index-BnuagK8q.js} +45 -16
  23. package/dist/modal/modalPlugin.d.ts +1 -0
  24. package/package.json +2 -2
package/css/bluesea.css CHANGED
@@ -30412,7 +30412,7 @@ div[data-v-70fc1df7] {
30412
30412
  bottom: 0;
30413
30413
  background-color: #000;
30414
30414
  opacity: 0.1;
30415
- z-index: 200;
30415
+ z-index: 300;
30416
30416
  }
30417
30417
 
30418
30418
  .bs-notification-container > .bs-loading-icon > .font-icon {
@@ -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, i as vFocusOnLoad } from "./index-ByMZYDl-.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton, i as vFocusOnLoad } from "./index-BnuagK8q.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 { d as createInputGridHandler, u as useModalHandle, _ as _sfc_main$1, B as BSButton, f as _sfc_main$2, g as _sfc_main$3, h as _sfc_main$4, n as notNull } from "./index-ByMZYDl-.js";
2
+ import { d as createInputGridHandler, u as useModalHandle, _ as _sfc_main$1, B as BSButton, f as _sfc_main$2, g as _sfc_main$3, h as _sfc_main$4, n as notNull } from "./index-BnuagK8q.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, 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-ByMZYDl-.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton } from "./index-BnuagK8q.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-ByMZYDl-.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-BnuagK8q.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-ByMZYDl-.js";
3
- import { _ as _sfc_main$5 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-DH6r3kb7.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-BnuagK8q.js";
3
+ import { _ as _sfc_main$5 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-CwIxHTca.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-ByMZYDl-.js";
2
+ import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-BnuagK8q.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 { j as findImageNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, k as formValidator, l as imageInfoNumberToPixel } from "./index-ByMZYDl-.js";
3
- import { _ as _sfc_main$4 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-DH6r3kb7.js";
2
+ import { j as findImageNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, k as formValidator, l as imageInfoNumberToPixel } from "./index-BnuagK8q.js";
3
+ import { _ as _sfc_main$4 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-CwIxHTca.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-ByMZYDl-.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-BnuagK8q.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, g as _sfc_main$3 } from "./index-ByMZYDl-.js";
2
+ import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, g as _sfc_main$3 } from "./index-BnuagK8q.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,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-ByMZYDl-.js";
3
- import { _ as _sfc_main$5 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-Bsp7wrxA.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-BnuagK8q.js";
3
+ import { _ as _sfc_main$5 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-BP4cE4qN.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 { h as _sfc_main$1, b as _sfc_main$2, c as _sfc_main$3, v as vT } from "./index-ByMZYDl-.js";
2
+ import { h as _sfc_main$1, b as _sfc_main$2, c as _sfc_main$3, v as vT } from "./index-BnuagK8q.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 { p as findVideoNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, k as formValidator, q as videoInfoNumberToPixel } from "./index-ByMZYDl-.js";
3
- import { _ as _sfc_main$4 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-Bsp7wrxA.js";
2
+ import { p as findVideoNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, k as formValidator, q as videoInfoNumberToPixel } from "./index-BnuagK8q.js";
3
+ import { _ as _sfc_main$4 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-BP4cE4qN.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-ByMZYDl-.js";
3
- import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-CPlUVNG7.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-BnuagK8q.js";
3
+ import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-DbVRMKwr.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-ByMZYDl-.js";
2
+ import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-BnuagK8q.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 { m as findYoutubeNode, o 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-ByMZYDl-.js";
3
- import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-CPlUVNG7.js";
2
+ import { m as findYoutubeNode, o 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-BnuagK8q.js";
3
+ import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-DbVRMKwr.js";
4
4
  const _hoisted_1 = {
5
5
  key: 0,
6
6
  class: "bs-layout-form"
package/dist/bluesea.css CHANGED
@@ -11141,7 +11141,7 @@ span.table-property[data-v-96d890f0]:after {
11141
11141
  bottom: 0;
11142
11142
  background-color: #000;
11143
11143
  opacity: 0.1;
11144
- z-index: 200;
11144
+ z-index: 300;
11145
11145
  }
11146
11146
  .bs-notification-container > .bs-loading-icon > .font-icon {
11147
11147
  font-size: 52px;
package/dist/bluesea.js CHANGED
@@ -1,4 +1,4 @@
1
- import { aH, aI, bC, bD, r, ak, au, B, E, F, a4, h, L, am, H, z, av, cf, C, I, aq, J, a2, a3, ar, K, b, f, a0, $, a7, an, al, X, w, a6, a5, A, ah, bZ, as, _, Y, ae, ag, af, ad, ac, ab, Q, ai, at, g, D, ao, t, T, Z, G, x, M, N, V, P, ap, a, aj, U, a1, c, a9, aa, S, R, a8, O, s, bK, bJ, aQ, ax, ck, aw, aX, aV, aS, W, bI, aZ, aY, cp, bA, bG, aW, bH, cj, a_, aP, aE, aF, aD, aG, bF, bE, aU, bB, bq, bU, co, b5, bc, bT, cy, c3, bL, bS, bR, aM, bt, c5, aN, ce, ci, cl, d, c0, aT, b8, cC, aJ, b9, aK, aL, b1, bQ, bn, bo, bp, bk, bm, bl, e, bj, bg, k, cr, aO, b0, cc, c8, cq, bO, az, cz, cw, cA, bu, cx, bw, c9, bd, bP, bf, bb, cB, a$, bY, bX, aR, bN, n, c1, bM, cv, cm, bV, b$, br, b2, b6, bz, bv, bx, by, c4, cb, ca, c2, c7, be, ba, c6, cu, cg, ch, cn, bW, b_, u, bs, b3, b4, b7, ay, aB, aC, i, v, aA, bh, bi, ct, cs, cd } from "./index-ByMZYDl-.js";
1
+ import { aH, aI, bC, bD, r, ak, au, B, E, F, a4, h, L, am, H, z, av, cf, C, I, aq, J, a2, a3, ar, K, b, f, a0, $, a7, an, al, X, w, a6, a5, A, ah, bZ, as, _, Y, ae, ag, af, ad, ac, ab, Q, ai, at, g, D, ao, t, T, Z, G, x, M, N, V, P, ap, a, aj, U, a1, c, a9, aa, S, R, a8, O, s, bK, bJ, aQ, ax, ck, aw, aX, aV, aS, W, bI, aZ, aY, cp, bA, bG, aW, bH, cj, a_, aP, aE, aF, aD, aG, bF, bE, aU, bB, bq, bU, co, b5, bc, bT, cy, c3, bL, bS, bR, aM, bt, c5, aN, ce, ci, cl, d, c0, aT, b8, cC, aJ, b9, aK, aL, b1, bQ, bn, bo, bp, bk, bm, bl, e, bj, bg, k, cr, aO, b0, cc, c8, cq, bO, az, cz, cw, cA, bu, cx, bw, c9, bd, bP, bf, bb, cB, a$, bY, bX, aR, bN, n, c1, bM, cv, cm, bV, b$, br, b2, b6, bz, bv, bx, by, c4, cb, ca, c2, c7, be, ba, c6, cu, cg, ch, cn, bW, b_, u, bs, b3, b4, b7, ay, aB, aC, i, v, aA, bh, bi, ct, cs, cd } from "./index-BnuagK8q.js";
2
2
  export {
3
3
  aH as ADDRESS_COUNTRY_CONFIGS,
4
4
  aI as ADDRESS_COUNTRY_CONFIG_DEFAULT,
@@ -97,6 +97,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
97
97
  __publicField(this, "dateFormatDay", "YYYY-MM-DD Z");
98
98
  __publicField(this, "dateFormatMinute", "YYYY-MM-DD HH:mm Z");
99
99
  __publicField(this, "dateFormatSecond", "YYYY-MM-DD HH:mm:ss Z");
100
+ __publicField(this, "minDateValue", "1920-01-01T00:00:00.000Z");
101
+ __publicField(this, "maxDateValue", "9000-12-31T23:59:59.999Z");
100
102
  __publicField(this, "defaultCurrencyCode");
101
103
  __publicField(this, "maxFileSize");
102
104
  __publicField(this, "errorImageUrl");
@@ -141,6 +143,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
141
143
  if (options.dateFormatDay) this.dateFormatDay = options.dateFormatDay;
142
144
  if (options.dateFormatMinute) this.dateFormatMinute = options.dateFormatMinute;
143
145
  if (options.dateFormatSecond) this.dateFormatSecond = options.dateFormatSecond;
146
+ if (options.minDateValue) this.minDateValue = options.minDateValue;
147
+ if (options.maxDateValue) this.maxDateValue = options.maxDateValue;
144
148
  if (options.defaultCurrencyCode) {
145
149
  this.defaultCurrencyCode = options.defaultCurrencyCode;
146
150
  }
@@ -3814,9 +3818,31 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
3814
3818
  const convertInputToDateString = (str, inputFormat, endTime, resolution, inputTimeZone) => {
3815
3819
  if (str) {
3816
3820
  try {
3821
+ if (str.length < inputFormat.length) {
3822
+ if (endTime) {
3823
+ str += (dayjs().year() + "12312359").substring(str.length, inputFormat.length);
3824
+ } else {
3825
+ str += (dayjs().year() + "01010000").substring(str.length, inputFormat.length);
3826
+ }
3827
+ }
3817
3828
  let value = dayjs.tz(str, inputFormat, inputTimeZone);
3818
- if (endTime) {
3819
- value = value.endOf(resolution.toLowerCase());
3829
+ if (endTime) value = value.endOf(resolution.toLowerCase());
3830
+ if (blueseaConfig.minDateValue) {
3831
+ let minDate = dayjs.tz(blueseaConfig.minDateValue, inputTimeZone);
3832
+ if (value.isBefore(minDate)) value = minDate;
3833
+ }
3834
+ if (blueseaConfig.maxDateValue) {
3835
+ let maxDate = dayjs.tz(blueseaConfig.maxDateValue, inputTimeZone);
3836
+ if (maxDate.isBefore(value)) value = maxDate;
3837
+ }
3838
+ if (resolution === "MINUTE_10") {
3839
+ if (endTime) {
3840
+ const truncated = Math.ceil(value.minute() / 10) * 10;
3841
+ value = value.minute(truncated).second(0).millisecond(0).add(-1, "millisecond");
3842
+ } else {
3843
+ const truncated = Math.floor(value.minute() / 10) * 10;
3844
+ value = value.minute(truncated).second(0).millisecond(0);
3845
+ }
3820
3846
  }
3821
3847
  return value.toISOString();
3822
3848
  } catch (err) {
@@ -5745,6 +5771,9 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5745
5771
  }
5746
5772
  if (index >= 0) this.modalItems.splice(index, 1);
5747
5773
  }
5774
+ closeAllModals() {
5775
+ this.modalItems.splice(0, this.modalItems.length);
5776
+ }
5748
5777
  openAlert(title, message, clickHandler2) {
5749
5778
  const option = {
5750
5779
  component: vue.defineAsyncComponent(() => Promise.resolve().then(() => BSAlertModal)),
@@ -8,6 +8,10 @@ import { DateResolution, TimeZone } from '../../model/CommonTypes.ts';
8
8
  export declare const dateInputFormatByResolution: (resolution: DateResolution) => string;
9
9
  /**
10
10
  * 입력받은 YYYYMMDDHHmm 형식의 input string 을 ISO8601 형식의 string 으로 변환한다.
11
+ *
12
+ * 입력값(str) 은 blueseaConfig.minDateValue 와 blueseaConfig.maxDateValue 사이 값이어야 한다.
13
+ * 그렇지 않으면 이 사이 값으로 변경되어 처리된다.
14
+ *
11
15
  * @param str 변환할 입력 값. (ex: YYYYMMDDHHmm 형식)
12
16
  * @param inputFormat
13
17
  * @param endTime
@@ -86,6 +86,8 @@ declare class BlueseaConfig {
86
86
  dateFormatDay: string;
87
87
  dateFormatMinute: string;
88
88
  dateFormatSecond: string;
89
+ minDateValue: string;
90
+ maxDateValue: string;
89
91
  defaultCurrencyCode: CurrencyCode;
90
92
  maxFileSize: number;
91
93
  errorImageUrl?: string;
@@ -117,6 +119,8 @@ export type BlueseaConfigRaw = {
117
119
  dateFormatDay?: string;
118
120
  dateFormatMinute?: string;
119
121
  dateFormatSecond?: string;
122
+ minDateValue?: string;
123
+ maxDateValue?: string;
120
124
  defaultCurrencyCode?: CurrencyCode;
121
125
  fileUrlResolver?: FileUrlResolver;
122
126
  maxFileSize?: number;
@@ -62,8 +62,8 @@ const defaultAddressInputComponentConfig = {
62
62
  countryConfigs: ADDRESS_COUNTRY_CONFIGS
63
63
  };
64
64
  const defaultRichTextComponentConfig = {
65
- imageInsertModal: defineAsyncComponent(() => import("./ImageInsertModal-D_XBzsuC.js")),
66
- videoInsertModal: defineAsyncComponent(() => import("./VideoInsertModal-C6ATdr66.js")),
65
+ imageInsertModal: defineAsyncComponent(() => import("./ImageInsertModal-LQ8-kbLa.js")),
66
+ videoInsertModal: defineAsyncComponent(() => import("./VideoInsertModal-CqiMwD_a.js")),
67
67
  toolButtons: [
68
68
  "Heading",
69
69
  "FontSize",
@@ -97,6 +97,8 @@ class BlueseaConfig {
97
97
  __publicField(this, "dateFormatDay", "YYYY-MM-DD Z");
98
98
  __publicField(this, "dateFormatMinute", "YYYY-MM-DD HH:mm Z");
99
99
  __publicField(this, "dateFormatSecond", "YYYY-MM-DD HH:mm:ss Z");
100
+ __publicField(this, "minDateValue", "1920-01-01T00:00:00.000Z");
101
+ __publicField(this, "maxDateValue", "9000-12-31T23:59:59.999Z");
100
102
  __publicField(this, "defaultCurrencyCode");
101
103
  __publicField(this, "maxFileSize");
102
104
  __publicField(this, "errorImageUrl");
@@ -141,6 +143,8 @@ class BlueseaConfig {
141
143
  if (options.dateFormatDay) this.dateFormatDay = options.dateFormatDay;
142
144
  if (options.dateFormatMinute) this.dateFormatMinute = options.dateFormatMinute;
143
145
  if (options.dateFormatSecond) this.dateFormatSecond = options.dateFormatSecond;
146
+ if (options.minDateValue) this.minDateValue = options.minDateValue;
147
+ if (options.maxDateValue) this.maxDateValue = options.maxDateValue;
144
148
  if (options.defaultCurrencyCode) {
145
149
  this.defaultCurrencyCode = options.defaultCurrencyCode;
146
150
  }
@@ -3814,9 +3818,31 @@ const dateInputFormatByResolution = (resolution) => {
3814
3818
  const convertInputToDateString = (str, inputFormat, endTime, resolution, inputTimeZone) => {
3815
3819
  if (str) {
3816
3820
  try {
3821
+ if (str.length < inputFormat.length) {
3822
+ if (endTime) {
3823
+ str += (dayjs().year() + "12312359").substring(str.length, inputFormat.length);
3824
+ } else {
3825
+ str += (dayjs().year() + "01010000").substring(str.length, inputFormat.length);
3826
+ }
3827
+ }
3817
3828
  let value = dayjs.tz(str, inputFormat, inputTimeZone);
3818
- if (endTime) {
3819
- value = value.endOf(resolution.toLowerCase());
3829
+ if (endTime) value = value.endOf(resolution.toLowerCase());
3830
+ if (blueseaConfig.minDateValue) {
3831
+ let minDate = dayjs.tz(blueseaConfig.minDateValue, inputTimeZone);
3832
+ if (value.isBefore(minDate)) value = minDate;
3833
+ }
3834
+ if (blueseaConfig.maxDateValue) {
3835
+ let maxDate = dayjs.tz(blueseaConfig.maxDateValue, inputTimeZone);
3836
+ if (maxDate.isBefore(value)) value = maxDate;
3837
+ }
3838
+ if (resolution === "MINUTE_10") {
3839
+ if (endTime) {
3840
+ const truncated = Math.ceil(value.minute() / 10) * 10;
3841
+ value = value.minute(truncated).second(0).millisecond(0).add(-1, "millisecond");
3842
+ } else {
3843
+ const truncated = Math.floor(value.minute() / 10) * 10;
3844
+ value = value.minute(truncated).second(0).millisecond(0);
3845
+ }
3820
3846
  }
3821
3847
  return value.toISOString();
3822
3848
  } catch (err) {
@@ -5745,9 +5771,12 @@ class BSModal {
5745
5771
  }
5746
5772
  if (index >= 0) this.modalItems.splice(index, 1);
5747
5773
  }
5774
+ closeAllModals() {
5775
+ this.modalItems.splice(0, this.modalItems.length);
5776
+ }
5748
5777
  openAlert(title, message, clickHandler2) {
5749
5778
  const option = {
5750
- component: defineAsyncComponent(() => import("./BSAlertModal-7hxZowtt.js")),
5779
+ component: defineAsyncComponent(() => import("./BSAlertModal-m4U_5uY4.js")),
5751
5780
  bind: {
5752
5781
  title,
5753
5782
  message
@@ -5760,7 +5789,7 @@ class BSModal {
5760
5789
  }
5761
5790
  openYesNo(title, message, yesHandler, noHandler) {
5762
5791
  const option = {
5763
- component: defineAsyncComponent(() => import("./BSYesNoModal-CJGK9JV2.js")),
5792
+ component: defineAsyncComponent(() => import("./BSYesNoModal-BccZYYBl.js")),
5764
5793
  bind: {
5765
5794
  title,
5766
5795
  message
@@ -30858,7 +30887,7 @@ const tableContextMenus = (_modal, editor) => {
30858
30887
  };
30859
30888
  const insertTable = (modal, editor) => {
30860
30889
  modal.openModal({
30861
- component: defineAsyncComponent(() => import("./TableInsertModal-lfB4Dm0t.js")),
30890
+ component: defineAsyncComponent(() => import("./TableInsertModal-BCNChtcJ.js")),
30862
30891
  bind: { editor }
30863
30892
  });
30864
30893
  };
@@ -31058,7 +31087,7 @@ const insertImage = (modal, editor) => {
31058
31087
  const component = (_a2 = blueseaConfig.componentConfig.richText) == null ? void 0 : _a2.imageInsertModal;
31059
31088
  if (component) {
31060
31089
  modal.openModal({
31061
- component: defineAsyncComponent(() => import("./ImageInsertModal-D_XBzsuC.js")),
31090
+ component: defineAsyncComponent(() => import("./ImageInsertModal-LQ8-kbLa.js")),
31062
31091
  bind: { editor },
31063
31092
  on: {
31064
31093
  insertImage: (image) => {
@@ -31076,7 +31105,7 @@ const insertImage = (modal, editor) => {
31076
31105
  };
31077
31106
  const showImageProperties = (modal, editor) => {
31078
31107
  modal.openModal({
31079
- component: defineAsyncComponent(() => import("./ImagePropertiesModal-gkpxUbke.js")),
31108
+ component: defineAsyncComponent(() => import("./ImagePropertiesModal-DfditHqP.js")),
31080
31109
  bind: { editor }
31081
31110
  });
31082
31111
  };
@@ -31423,13 +31452,13 @@ const youtubeContextMenu = (modal, editor) => {
31423
31452
  };
31424
31453
  const insertYoutube = (modal, editor) => {
31425
31454
  modal.openModal({
31426
- component: defineAsyncComponent(() => import("./YoutubeInsertModal-6mFDyD4x.js")),
31455
+ component: defineAsyncComponent(() => import("./YoutubeInsertModal-Ccub4oEv.js")),
31427
31456
  bind: { editor }
31428
31457
  });
31429
31458
  };
31430
31459
  const showYoutubeProperties = (modal, editor) => {
31431
31460
  modal.openModal({
31432
- component: defineAsyncComponent(() => import("./YoutubePropertiesModal-D1_76O4H.js")),
31461
+ component: defineAsyncComponent(() => import("./YoutubePropertiesModal-BdusdCet.js")),
31433
31462
  bind: { editor }
31434
31463
  });
31435
31464
  };
@@ -31473,7 +31502,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
31473
31502
  const showLinkProperties = () => {
31474
31503
  if (!props.disabled) {
31475
31504
  modal.openModal({
31476
- component: defineAsyncComponent(() => import("./LinkPropertiesModal-BuwKpSP6.js")),
31505
+ component: defineAsyncComponent(() => import("./LinkPropertiesModal-DChDJSod.js")),
31477
31506
  bind: {
31478
31507
  editor: props.editor
31479
31508
  }
@@ -31837,7 +31866,7 @@ const insertVideo = (modal, editor) => {
31837
31866
  const component = (_a2 = blueseaConfig.componentConfig.richText) == null ? void 0 : _a2.videoInsertModal;
31838
31867
  if (component) {
31839
31868
  modal.openModal({
31840
- component: defineAsyncComponent(() => import("./VideoInsertModal-C6ATdr66.js")),
31869
+ component: defineAsyncComponent(() => import("./VideoInsertModal-CqiMwD_a.js")),
31841
31870
  bind: { editor },
31842
31871
  on: {
31843
31872
  insertVideo: (video) => {
@@ -31855,7 +31884,7 @@ const insertVideo = (modal, editor) => {
31855
31884
  };
31856
31885
  const showVideoProperties = (modal, editor) => {
31857
31886
  modal.openModal({
31858
- component: defineAsyncComponent(() => import("./VideoPropertiesModal-DLl0Z3Fc.js")),
31887
+ component: defineAsyncComponent(() => import("./VideoPropertiesModal-Bau_bMw4.js")),
31859
31888
  bind: { editor }
31860
31889
  });
31861
31890
  };
@@ -34426,7 +34455,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
34426
34455
  const modal = useModal();
34427
34456
  const enterYoutubeUrl = () => {
34428
34457
  modal.openModal({
34429
- component: defineAsyncComponent(() => import("./BSYoutubeInputModal-DNT4RGaV.js")),
34458
+ component: defineAsyncComponent(() => import("./BSYoutubeInputModal-Cp_ULgmf.js")),
34430
34459
  on: {
34431
34460
  "update:modelValue": (url) => {
34432
34461
  emit("update:modelValue", {
@@ -37663,7 +37692,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
37663
37692
  const modal = useModal();
37664
37693
  const openSettingModal = () => {
37665
37694
  modal.openModal({
37666
- component: defineAsyncComponent(() => import("./BSGridColumnSettingModal-BCfAUccc.js")),
37695
+ component: defineAsyncComponent(() => import("./BSGridColumnSettingModal-BSEAvzyF.js")),
37667
37696
  bind: {
37668
37697
  columns: props.columns,
37669
37698
  columnSettings: props.columnSettings,
@@ -62,6 +62,7 @@ export declare class BSModal {
62
62
  modalItems: RegisteredModalItem[];
63
63
  openModal(modalItem: ModalItem): RegisteredModalItem;
64
64
  closeModal(modalItem: RegisteredModalItem | string): void;
65
+ closeAllModals(): void;
65
66
  openAlert(title?: MultiLangText, message?: MultiLangText, clickHandler?: () => void | Promise<void>): RegisteredModalItem;
66
67
  openYesNo(title?: MultiLangText, message?: MultiLangText, yesHandler?: () => void | Promise<void>, noHandler?: () => void | Promise<void>): RegisteredModalItem;
67
68
  install(app: App): void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@g1cloud/bluesea",
3
3
  "private": false,
4
- "version": "5.0.0-alpha.106",
4
+ "version": "5.0.0-alpha.108",
5
5
  "description": "Ui Library for g1cloud BackOffice.",
6
6
  "type": "module",
7
7
  "engines": {
@@ -64,7 +64,7 @@
64
64
  },
65
65
  "peerDependencies": {
66
66
  "dayjs": "^1.11.11",
67
- "vue": "^3.4.26",
67
+ "vue": "^3.5.13",
68
68
  "vue-router": "^4.3.2",
69
69
  "vue3-youtube": "^0.1.9"
70
70
  },