@g1cloud/open-bluesea-core 1.0.0-alpha.4 → 1.0.0-alpha.6
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.
- package/dist/BSAlertModal-ZEIUM0ut.js +4 -0
- package/dist/BSYesNoModal-Cs6mgXcP.js +4 -0
- package/dist/index.d.ts +1521 -42
- package/dist/open-bluesea-core.css +106 -2
- package/dist/open-bluesea-core.es.js +1122 -314
- package/dist/open-bluesea-core.umd.js +1128 -312
- package/package.json +2 -1
- package/dist/blueseaPlugin.d.ts +0 -43
- package/dist/component/basic/PageNavigation.model.d.ts +0 -5
- package/dist/component/input/DateInputLib.d.ts +0 -26
- package/dist/contextmenu/contextMenuPlugin.d.ts +0 -36
- package/dist/directive/vClickOutside.d.ts +0 -20
- package/dist/directive/vFocusOnLoad.d.ts +0 -3
- package/dist/directive/vTooltip.d.ts +0 -7
- package/dist/model/CommonTypes.d.ts +0 -29
- package/dist/model/DefaultImpl.d.ts +0 -7
- package/dist/model/FieldContext.d.ts +0 -14
- package/dist/notification/notificationPlugin.d.ts +0 -31
- package/dist/savepoint/SavePoint.d.ts +0 -46
- package/dist/util/componentUtil.d.ts +0 -11
- package/dist/util/debounceUtil.d.ts +0 -16
- package/dist/util/formatUtil.d.ts +0 -69
- package/dist/util/typeUtil.d.ts +0 -18
- package/dist/util/waitUtil.d.ts +0 -19
- package/dist/validator/FieldValidator.d.ts +0 -43
|
@@ -26,17 +26,14 @@
|
|
|
26
26
|
// }
|
|
27
27
|
markComponentRaw(menus) {
|
|
28
28
|
menus.forEach((menu) => {
|
|
29
|
-
if (menu.component)
|
|
30
|
-
|
|
31
|
-
if (menu.children)
|
|
32
|
-
this.markComponentRaw(menu.children);
|
|
29
|
+
if (menu.component) menu.component = vue.markRaw(menu.component);
|
|
30
|
+
if (menu.children) this.markComponentRaw(menu.children);
|
|
33
31
|
});
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
34
|
const useContextMenu = () => {
|
|
37
35
|
const contextMenu = vue.inject(ContextMenuPluginKey);
|
|
38
|
-
if (!contextMenu)
|
|
39
|
-
throw new Error("BSContextMenuPlugin is not initialized.");
|
|
36
|
+
if (!contextMenu) throw new Error("BSContextMenuPlugin is not initialized.");
|
|
40
37
|
return contextMenu;
|
|
41
38
|
};
|
|
42
39
|
const useContextMenuOptional = () => {
|
|
@@ -61,8 +58,7 @@
|
|
|
61
58
|
this.dateFormatSecond = config?.dateFormatSecond || this.dateFormatSecond;
|
|
62
59
|
this.minDateValue = config?.minDateValue || this.minDateValue;
|
|
63
60
|
this.maxDateValue = config?.maxDateValue || this.maxDateValue;
|
|
64
|
-
if (config?.timeZone)
|
|
65
|
-
this.timeZone = config.timeZone;
|
|
61
|
+
if (config?.timeZone) this.timeZone = config.timeZone;
|
|
66
62
|
this.componentConfig = {
|
|
67
63
|
popup: { hideOnScroll: false, ...config?.componentConfig?.popup },
|
|
68
64
|
calendar: { startYear: "-20", endYear: "+20", ...config?.componentConfig?.calendar }
|
|
@@ -70,14 +66,10 @@
|
|
|
70
66
|
}
|
|
71
67
|
resolveDisplayDateFormat(format) {
|
|
72
68
|
const actualFormat = format || this.dateFormat;
|
|
73
|
-
if (actualFormat === "DAY")
|
|
74
|
-
|
|
75
|
-
else if (actualFormat === "
|
|
76
|
-
|
|
77
|
-
else if (actualFormat === "SECOND")
|
|
78
|
-
return this.dateFormatSecond;
|
|
79
|
-
else
|
|
80
|
-
return actualFormat;
|
|
69
|
+
if (actualFormat === "DAY") return this.dateFormatDay;
|
|
70
|
+
else if (actualFormat === "MINUTE") return this.dateFormatMinute;
|
|
71
|
+
else if (actualFormat === "SECOND") return this.dateFormatSecond;
|
|
72
|
+
else return actualFormat;
|
|
81
73
|
}
|
|
82
74
|
}
|
|
83
75
|
const BlueseaConfigKey = Symbol("BlueseaConfig");
|
|
@@ -93,7 +85,36 @@
|
|
|
93
85
|
}
|
|
94
86
|
};
|
|
95
87
|
const notificationEntries = vue.reactive([]);
|
|
88
|
+
let nextEntryId = 0;
|
|
89
|
+
const showNotification = (message, style = "info", durationInMilliSeconds = 3e3) => {
|
|
90
|
+
const entryId = ++nextEntryId;
|
|
91
|
+
notificationEntries.unshift({
|
|
92
|
+
entryId,
|
|
93
|
+
message,
|
|
94
|
+
style,
|
|
95
|
+
duration: durationInMilliSeconds
|
|
96
|
+
});
|
|
97
|
+
setTimeout(() => {
|
|
98
|
+
const index = notificationEntries.findIndex((entry) => entry.entryId === entryId);
|
|
99
|
+
notificationEntries.splice(index, 1);
|
|
100
|
+
}, durationInMilliSeconds);
|
|
101
|
+
};
|
|
96
102
|
const alarmEntries = vue.reactive([]);
|
|
103
|
+
let nextAlarmEntryId = 0;
|
|
104
|
+
const showAlarm = (component, durationInMilliSeconds = 3e3) => {
|
|
105
|
+
const entryId = ++nextAlarmEntryId;
|
|
106
|
+
alarmEntries.push({
|
|
107
|
+
entryId,
|
|
108
|
+
component: vue.markRaw(component),
|
|
109
|
+
duration: durationInMilliSeconds
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
const closeAlarm = (entryId) => {
|
|
113
|
+
const index = alarmEntries.findIndex((entry) => entry.entryId === entryId);
|
|
114
|
+
if (index >= 0) {
|
|
115
|
+
alarmEntries.splice(index, 1);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
97
118
|
const tooltipEntry = vue.ref();
|
|
98
119
|
const showTooltip = (content, target) => {
|
|
99
120
|
tooltipEntry.value = {
|
|
@@ -111,17 +132,37 @@
|
|
|
111
132
|
return !!tooltipEntry.value;
|
|
112
133
|
};
|
|
113
134
|
const showLoadingIcon = vue.ref(false);
|
|
135
|
+
let showLoadingCount = 0;
|
|
136
|
+
const showLoading = () => {
|
|
137
|
+
showLoadingCount++;
|
|
138
|
+
showLoadingIcon.value = showLoadingCount > 0;
|
|
139
|
+
};
|
|
140
|
+
const hideLoading = () => {
|
|
141
|
+
showLoadingCount = Math.max(0, showLoadingCount - 1);
|
|
142
|
+
showLoadingIcon.value = showLoadingCount > 0;
|
|
143
|
+
};
|
|
144
|
+
const withLoading = async (func) => {
|
|
145
|
+
let shown = false;
|
|
146
|
+
const timeoutId = window.setTimeout(() => {
|
|
147
|
+
showLoading();
|
|
148
|
+
shown = true;
|
|
149
|
+
}, 300);
|
|
150
|
+
try {
|
|
151
|
+
return await func();
|
|
152
|
+
} finally {
|
|
153
|
+
if (shown) hideLoading();
|
|
154
|
+
if (timeoutId) window.clearTimeout(timeoutId);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
114
157
|
const DEFAULT_TOOLTIP_SHOW_DELAY = 800;
|
|
115
158
|
const DEFAULT_TOOLTIP_HIDE_DELAY = 0;
|
|
116
159
|
const setTooltipParam = (el, param) => {
|
|
117
160
|
if (param && param.content) {
|
|
118
161
|
el.setAttribute("data-bs-tooltip-data", JSON.stringify(param));
|
|
119
|
-
if (isTooltipDisplayed())
|
|
120
|
-
showTooltip(param.content, el);
|
|
162
|
+
if (isTooltipDisplayed()) showTooltip(param.content, el);
|
|
121
163
|
} else {
|
|
122
164
|
el.removeAttribute("data-bs-tooltip-data");
|
|
123
|
-
if (isTooltipDisplayed())
|
|
124
|
-
hideTooltip();
|
|
165
|
+
if (isTooltipDisplayed()) hideTooltip();
|
|
125
166
|
}
|
|
126
167
|
};
|
|
127
168
|
const vTooltip = {
|
|
@@ -155,8 +196,8 @@
|
|
|
155
196
|
hideTooltip();
|
|
156
197
|
}
|
|
157
198
|
};
|
|
158
|
-
const _hoisted_1$
|
|
159
|
-
const _sfc_main$
|
|
199
|
+
const _hoisted_1$u = ["textContent"];
|
|
200
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
160
201
|
__name: "BSButton",
|
|
161
202
|
props: {
|
|
162
203
|
caption: {},
|
|
@@ -185,7 +226,7 @@
|
|
|
185
226
|
}, vue.toDisplayString(__props.leftIcon), 3)) : vue.createCommentVNode("", true),
|
|
186
227
|
vue.createElementVNode("span", {
|
|
187
228
|
textContent: vue.toDisplayString(__props.caption)
|
|
188
|
-
}, null, 8, _hoisted_1$
|
|
229
|
+
}, null, 8, _hoisted_1$u),
|
|
189
230
|
__props.rightIcon ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
190
231
|
key: 1,
|
|
191
232
|
class: vue.normalizeClass([{ "ml-1": !!__props.caption }, "font-icon right"])
|
|
@@ -198,9 +239,9 @@
|
|
|
198
239
|
};
|
|
199
240
|
}
|
|
200
241
|
});
|
|
201
|
-
const _hoisted_1$
|
|
202
|
-
const _hoisted_2$
|
|
203
|
-
const _sfc_main$
|
|
242
|
+
const _hoisted_1$t = { class: "page-navigation" };
|
|
243
|
+
const _hoisted_2$o = ["data-page", "onClick"];
|
|
244
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
204
245
|
__name: "BSPageNavigation",
|
|
205
246
|
props: {
|
|
206
247
|
totalCount: { default: 0 },
|
|
@@ -260,7 +301,7 @@
|
|
|
260
301
|
}
|
|
261
302
|
};
|
|
262
303
|
return (_ctx, _cache) => {
|
|
263
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
304
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
|
|
264
305
|
vue.createElementVNode("span", {
|
|
265
306
|
class: vue.normalizeClass([{ "disabled": isFirstSet.value }, "font-icon first"]),
|
|
266
307
|
onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => !isFirstSet.value && goToPage(1), ["prevent"]))
|
|
@@ -275,7 +316,7 @@
|
|
|
275
316
|
class: vue.normalizeClass([{ on: page === currentPage.value }, "page"]),
|
|
276
317
|
"data-page": page,
|
|
277
318
|
onClick: vue.withModifiers(($event) => goToPage(page), ["prevent"])
|
|
278
|
-
}, vue.toDisplayString(page), 11, _hoisted_2$
|
|
319
|
+
}, vue.toDisplayString(page), 11, _hoisted_2$o);
|
|
279
320
|
}), 128)),
|
|
280
321
|
vue.createElementVNode("span", {
|
|
281
322
|
class: vue.normalizeClass([{ "disabled": isLastSet.value }, "font-icon next"]),
|
|
@@ -296,14 +337,14 @@
|
|
|
296
337
|
}
|
|
297
338
|
return target;
|
|
298
339
|
};
|
|
299
|
-
const _sfc_main$
|
|
300
|
-
const _hoisted_1$
|
|
340
|
+
const _sfc_main$u = {};
|
|
341
|
+
const _hoisted_1$s = { class: "bs-loading-icon" };
|
|
301
342
|
function _sfc_render(_ctx, _cache) {
|
|
302
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
343
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [..._cache[0] || (_cache[0] = [
|
|
303
344
|
vue.createElementVNode("span", { class: "font-icon" }, "progress_activity", -1)
|
|
304
345
|
])]);
|
|
305
346
|
}
|
|
306
|
-
const BSLoadingIcon = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
347
|
+
const BSLoadingIcon = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["render", _sfc_render]]);
|
|
307
348
|
const waitUntil = async (condition, intervalMilliseconds = 200, maxTrial = 15) => {
|
|
308
349
|
return await new Promise((resolve) => {
|
|
309
350
|
let tried = 0;
|
|
@@ -326,9 +367,9 @@
|
|
|
326
367
|
tried++;
|
|
327
368
|
}, intervalMilliseconds);
|
|
328
369
|
};
|
|
329
|
-
const _hoisted_1$
|
|
370
|
+
const _hoisted_1$r = ["data-popup-id"];
|
|
330
371
|
const ADJUST_OFFSET = 8;
|
|
331
|
-
const _sfc_main$
|
|
372
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
332
373
|
__name: "BSPopup",
|
|
333
374
|
props: {
|
|
334
375
|
popupId: {},
|
|
@@ -519,7 +560,7 @@
|
|
|
519
560
|
onKeydown: _cache[1] || (_cache[1] = ($event) => emit("keydown", $event))
|
|
520
561
|
}, [
|
|
521
562
|
vue.renderSlot(_ctx.$slots, "default")
|
|
522
|
-
], 46, _hoisted_1$
|
|
563
|
+
], 46, _hoisted_1$r)
|
|
523
564
|
]),
|
|
524
565
|
_: 3
|
|
525
566
|
})
|
|
@@ -527,8 +568,8 @@
|
|
|
527
568
|
};
|
|
528
569
|
}
|
|
529
570
|
});
|
|
530
|
-
const _hoisted_1$
|
|
531
|
-
const _sfc_main$
|
|
571
|
+
const _hoisted_1$q = ["textContent"];
|
|
572
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
532
573
|
__name: "BSTooltip",
|
|
533
574
|
props: {
|
|
534
575
|
align: { default: "center" },
|
|
@@ -555,7 +596,7 @@
|
|
|
555
596
|
}, [
|
|
556
597
|
vue.createElementVNode("div", {
|
|
557
598
|
textContent: vue.toDisplayString(__props.content)
|
|
558
|
-
}, null, 8, _hoisted_1$
|
|
599
|
+
}, null, 8, _hoisted_1$q)
|
|
559
600
|
], 6);
|
|
560
601
|
};
|
|
561
602
|
}
|
|
@@ -597,14 +638,14 @@
|
|
|
597
638
|
});
|
|
598
639
|
};
|
|
599
640
|
};
|
|
600
|
-
const _hoisted_1$
|
|
641
|
+
const _hoisted_1$p = {
|
|
601
642
|
key: 0,
|
|
602
643
|
class: "popup-search"
|
|
603
644
|
};
|
|
604
|
-
const _hoisted_2$
|
|
605
|
-
const _hoisted_3$
|
|
606
|
-
const _hoisted_4$
|
|
607
|
-
const _sfc_main$
|
|
645
|
+
const _hoisted_2$n = ["data-value", "onMouseover", "onClick"];
|
|
646
|
+
const _hoisted_3$h = ["textContent"];
|
|
647
|
+
const _hoisted_4$b = ["textContent"];
|
|
648
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
608
649
|
__name: "BSSelectPopup",
|
|
609
650
|
props: {
|
|
610
651
|
items: {},
|
|
@@ -746,7 +787,7 @@
|
|
|
746
787
|
handleKeyboard
|
|
747
788
|
});
|
|
748
789
|
return (_ctx, _cache) => {
|
|
749
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
790
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
750
791
|
"base-element": __props.baseElement,
|
|
751
792
|
"max-height": __props.maxHeight,
|
|
752
793
|
"offset-from-base-element": 4,
|
|
@@ -757,7 +798,7 @@
|
|
|
757
798
|
onKeydown: vue.withKeys(vue.withModifiers(handleKeyboard, ["stop", "prevent"]), ["enter", "down", "up"])
|
|
758
799
|
}, {
|
|
759
800
|
default: vue.withCtx(() => [
|
|
760
|
-
actualShowSearch.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
801
|
+
actualShowSearch.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
|
|
761
802
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
762
803
|
type: "text",
|
|
763
804
|
onInput: setSearchKeyword,
|
|
@@ -790,12 +831,12 @@
|
|
|
790
831
|
key: 0,
|
|
791
832
|
textContent: vue.toDisplayString(item?.label),
|
|
792
833
|
class: "label"
|
|
793
|
-
}, null, 8, _hoisted_3$
|
|
834
|
+
}, null, 8, _hoisted_3$h)) : (vue.openBlock(), vue.createElementBlock("label", {
|
|
794
835
|
key: 1,
|
|
795
836
|
textContent: vue.toDisplayString(__props.nullLabel),
|
|
796
837
|
class: "label null-label"
|
|
797
|
-
}, null, 8, _hoisted_4$
|
|
798
|
-
], 42, _hoisted_2$
|
|
838
|
+
}, null, 8, _hoisted_4$b))
|
|
839
|
+
], 42, _hoisted_2$n);
|
|
799
840
|
}), 128))
|
|
800
841
|
], 512)
|
|
801
842
|
]),
|
|
@@ -812,13 +853,10 @@
|
|
|
812
853
|
};
|
|
813
854
|
};
|
|
814
855
|
const clickInsideElements = (target, elements) => {
|
|
815
|
-
if (!elements)
|
|
816
|
-
return false;
|
|
856
|
+
if (!elements) return false;
|
|
817
857
|
return elements.some((el) => {
|
|
818
|
-
if (el instanceof HTMLElement)
|
|
819
|
-
|
|
820
|
-
else if (typeof el === "string")
|
|
821
|
-
return document.querySelector(el)?.contains(target);
|
|
858
|
+
if (el instanceof HTMLElement) return el.contains(target);
|
|
859
|
+
else if (typeof el === "string") return document.querySelector(el)?.contains(target);
|
|
822
860
|
});
|
|
823
861
|
};
|
|
824
862
|
const vClickOutside = {
|
|
@@ -843,8 +881,7 @@
|
|
|
843
881
|
},
|
|
844
882
|
unmounted: (el) => {
|
|
845
883
|
const clickListener = el.vClickOutsideListener;
|
|
846
|
-
if (clickListener)
|
|
847
|
-
window.removeEventListener("click", clickListener);
|
|
884
|
+
if (clickListener) window.removeEventListener("click", clickListener);
|
|
848
885
|
delete el.vClickOutsideContext;
|
|
849
886
|
}
|
|
850
887
|
};
|
|
@@ -939,10 +976,12 @@
|
|
|
939
976
|
};
|
|
940
977
|
stringValue.value = convertFromValue(value.value);
|
|
941
978
|
if (option.field) {
|
|
942
|
-
vue.watch(
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
979
|
+
vue.watch(
|
|
980
|
+
option.field,
|
|
981
|
+
(field) => {
|
|
982
|
+
if (field) storeFieldValidator(field, validator);
|
|
983
|
+
}
|
|
984
|
+
);
|
|
946
985
|
}
|
|
947
986
|
return validator;
|
|
948
987
|
};
|
|
@@ -951,8 +990,7 @@
|
|
|
951
990
|
if (rules) {
|
|
952
991
|
for (const rule of rules) {
|
|
953
992
|
const result = await rule(value, phase, fieldContext);
|
|
954
|
-
if (result)
|
|
955
|
-
result.forEach((error) => errs.push(error));
|
|
993
|
+
if (result) result.forEach((error) => errs.push(error));
|
|
956
994
|
}
|
|
957
995
|
errs.forEach((error) => errors.push(error));
|
|
958
996
|
}
|
|
@@ -1062,26 +1100,25 @@
|
|
|
1062
1100
|
setCurrentValue: option.setCurrentValue,
|
|
1063
1101
|
compare: option.compare
|
|
1064
1102
|
});
|
|
1065
|
-
vue.watch(
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1103
|
+
vue.watch(
|
|
1104
|
+
option.field,
|
|
1105
|
+
(field) => {
|
|
1106
|
+
if (field) this.fields.set(field, handler);
|
|
1107
|
+
}
|
|
1108
|
+
);
|
|
1069
1109
|
return handler;
|
|
1070
1110
|
}
|
|
1071
1111
|
unregisterField(field) {
|
|
1072
|
-
if (field.value)
|
|
1073
|
-
this.fields.delete(field.value);
|
|
1112
|
+
if (field.value) this.fields.delete(field.value);
|
|
1074
1113
|
}
|
|
1075
1114
|
addChild(child) {
|
|
1076
|
-
if (!this.children)
|
|
1077
|
-
this.children = [];
|
|
1115
|
+
if (!this.children) this.children = [];
|
|
1078
1116
|
this.children.push(child);
|
|
1079
1117
|
}
|
|
1080
1118
|
removeChild(child) {
|
|
1081
1119
|
if (this.children) {
|
|
1082
1120
|
const index = this.children.findIndex((ch) => ch === child);
|
|
1083
|
-
if (index >= 0)
|
|
1084
|
-
this.children.splice(index, 1);
|
|
1121
|
+
if (index >= 0) this.children.splice(index, 1);
|
|
1085
1122
|
}
|
|
1086
1123
|
}
|
|
1087
1124
|
set() {
|
|
@@ -1134,8 +1171,7 @@
|
|
|
1134
1171
|
return this.savedValue.value;
|
|
1135
1172
|
}
|
|
1136
1173
|
rollbackValue() {
|
|
1137
|
-
if (this.saved)
|
|
1138
|
-
this.valueProvider.setCurrentValue(this.savedValue.value);
|
|
1174
|
+
if (this.saved) this.valueProvider.setCurrentValue(this.savedValue.value);
|
|
1139
1175
|
}
|
|
1140
1176
|
isModified(currentValue) {
|
|
1141
1177
|
return this.saved && (this.valueProvider.compare ? !this.valueProvider.compare(this.savedValue.value, currentValue) : this.savedValue?.value !== currentValue);
|
|
@@ -1144,9 +1180,9 @@
|
|
|
1144
1180
|
return this.isModified(this.valueProvider.getCurrentValue());
|
|
1145
1181
|
}
|
|
1146
1182
|
}
|
|
1147
|
-
const _hoisted_1$
|
|
1148
|
-
const _hoisted_2$
|
|
1149
|
-
const _sfc_main$
|
|
1183
|
+
const _hoisted_1$o = { key: 0 };
|
|
1184
|
+
const _hoisted_2$m = ["textContent"];
|
|
1185
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
1150
1186
|
__name: "ValidationErrors",
|
|
1151
1187
|
props: {
|
|
1152
1188
|
errors: {},
|
|
@@ -1154,13 +1190,13 @@
|
|
|
1154
1190
|
},
|
|
1155
1191
|
setup(__props) {
|
|
1156
1192
|
return (_ctx, _cache) => {
|
|
1157
|
-
return !__props.hideErrorMessage && __props.errors && __props.errors.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1193
|
+
return !__props.hideErrorMessage && __props.errors && __props.errors.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
|
|
1158
1194
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.errors, (error) => {
|
|
1159
1195
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
1160
1196
|
key: error.code,
|
|
1161
1197
|
textContent: vue.toDisplayString(error.message),
|
|
1162
1198
|
class: "bs-field-error"
|
|
1163
|
-
}, null, 8, _hoisted_2$
|
|
1199
|
+
}, null, 8, _hoisted_2$m);
|
|
1164
1200
|
}), 128))
|
|
1165
1201
|
])) : vue.createCommentVNode("", true);
|
|
1166
1202
|
};
|
|
@@ -1176,39 +1212,43 @@
|
|
|
1176
1212
|
return result === dummyFieldContext ? void 0 : result;
|
|
1177
1213
|
};
|
|
1178
1214
|
const defaultLabelProvider = (item) => {
|
|
1179
|
-
if (!item)
|
|
1180
|
-
|
|
1181
|
-
else
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1215
|
+
if (!item) return "";
|
|
1216
|
+
else if (typeof item === "string") return item;
|
|
1217
|
+
else return String(item);
|
|
1218
|
+
};
|
|
1219
|
+
const emptyLabelProvider = (_item) => {
|
|
1220
|
+
return void 0;
|
|
1185
1221
|
};
|
|
1186
1222
|
const executeLabelProviderOrDefault = (item, labelProvider, defaultLabel) => {
|
|
1187
1223
|
if (labelProvider) {
|
|
1188
1224
|
const label = labelProvider(item);
|
|
1189
|
-
if (label !== void 0)
|
|
1190
|
-
return label;
|
|
1225
|
+
if (label !== void 0) return label;
|
|
1191
1226
|
}
|
|
1192
1227
|
return defaultLabel(item);
|
|
1193
1228
|
};
|
|
1229
|
+
const defaultKeyProvider = (item) => {
|
|
1230
|
+
return JSON.stringify(item);
|
|
1231
|
+
};
|
|
1232
|
+
const emptyKeyProvider = (_item) => {
|
|
1233
|
+
return void 0;
|
|
1234
|
+
};
|
|
1194
1235
|
const executeKeyProviderOrDefault = (item, keyProvider, defaultKey) => {
|
|
1195
1236
|
if (keyProvider) {
|
|
1196
1237
|
const key = keyProvider(item);
|
|
1197
|
-
if (key)
|
|
1198
|
-
return key;
|
|
1238
|
+
if (key) return key;
|
|
1199
1239
|
}
|
|
1200
1240
|
return defaultKey(item);
|
|
1201
1241
|
};
|
|
1202
|
-
const _hoisted_1$
|
|
1203
|
-
const _hoisted_2$
|
|
1204
|
-
const _hoisted_3$
|
|
1205
|
-
const _hoisted_4$
|
|
1206
|
-
const _hoisted_5$
|
|
1242
|
+
const _hoisted_1$n = ["tabindex", "onKeydown"];
|
|
1243
|
+
const _hoisted_2$l = ["textContent"];
|
|
1244
|
+
const _hoisted_3$g = ["data-field-name"];
|
|
1245
|
+
const _hoisted_4$a = ["textContent"];
|
|
1246
|
+
const _hoisted_5$5 = ["textContent"];
|
|
1207
1247
|
const _hoisted_6$2 = {
|
|
1208
1248
|
key: 2,
|
|
1209
1249
|
class: "small-progress"
|
|
1210
1250
|
};
|
|
1211
|
-
const _sfc_main$
|
|
1251
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
1212
1252
|
__name: "BSSelect",
|
|
1213
1253
|
props: {
|
|
1214
1254
|
modelValue: {},
|
|
@@ -1343,7 +1383,7 @@
|
|
|
1343
1383
|
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1344
1384
|
key: 0,
|
|
1345
1385
|
textContent: vue.toDisplayString(selectedItemLabel.value)
|
|
1346
|
-
}, null, 8, _hoisted_2$
|
|
1386
|
+
}, null, 8, _hoisted_2$l)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
1347
1387
|
vue.createElementVNode("div", {
|
|
1348
1388
|
ref_key: "field",
|
|
1349
1389
|
ref: field,
|
|
@@ -1355,15 +1395,15 @@
|
|
|
1355
1395
|
key: 0,
|
|
1356
1396
|
textContent: vue.toDisplayString(__props.placeholder),
|
|
1357
1397
|
class: "placeholder grow"
|
|
1358
|
-
}, null, 8, _hoisted_4$
|
|
1398
|
+
}, null, 8, _hoisted_4$a)) : (vue.openBlock(), vue.createElementBlock("span", {
|
|
1359
1399
|
key: 1,
|
|
1360
1400
|
textContent: vue.toDisplayString(selectedItemLabel.value),
|
|
1361
1401
|
class: "label"
|
|
1362
|
-
}, null, 8, _hoisted_5$
|
|
1402
|
+
}, null, 8, _hoisted_5$5)),
|
|
1363
1403
|
_cache[4] || (_cache[4] = vue.createElementVNode("span", { class: "dropdown-btn" }, "expand_more", -1)),
|
|
1364
1404
|
loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$2, "progress_activity")) : vue.createCommentVNode("", true)
|
|
1365
|
-
], 8, _hoisted_3$
|
|
1366
|
-
!__props.disabled && showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1405
|
+
], 8, _hoisted_3$g),
|
|
1406
|
+
!__props.disabled && showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
1367
1407
|
key: 0,
|
|
1368
1408
|
ref_key: "selectPopup",
|
|
1369
1409
|
ref: selectPopup,
|
|
@@ -1385,26 +1425,26 @@
|
|
|
1385
1425
|
focusToRoot();
|
|
1386
1426
|
})
|
|
1387
1427
|
}, null, 8, ["allow-null", "base-element", "initial-item", "items", "label-provider", "max-height", "null-label", "popup-align", "popup-direction", "selected-items", "show-search", "value-provider"])) : vue.createCommentVNode("", true),
|
|
1388
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1428
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
1389
1429
|
key: 1,
|
|
1390
1430
|
errors: vue.unref(errors),
|
|
1391
1431
|
"hide-error-message": __props.hideErrorMessage || __props.disabled && !__props.showErrorMessageOnDisabled
|
|
1392
1432
|
}, null, 8, ["errors", "hide-error-message"])) : vue.createCommentVNode("", true)
|
|
1393
1433
|
], 64))
|
|
1394
|
-
], 42, _hoisted_1$
|
|
1434
|
+
], 42, _hoisted_1$n)), [
|
|
1395
1435
|
[vue.unref(vClickOutside), () => togglePopup(false)]
|
|
1396
1436
|
]);
|
|
1397
1437
|
};
|
|
1398
1438
|
}
|
|
1399
1439
|
});
|
|
1400
|
-
const _hoisted_1$
|
|
1401
|
-
const _hoisted_2$
|
|
1402
|
-
const _hoisted_3$
|
|
1403
|
-
const _hoisted_4$
|
|
1440
|
+
const _hoisted_1$m = { class: "bs-calendar" };
|
|
1441
|
+
const _hoisted_2$k = { class: "bs-calendar-head" };
|
|
1442
|
+
const _hoisted_3$f = { class: "year-month" };
|
|
1443
|
+
const _hoisted_4$9 = {
|
|
1404
1444
|
key: 0,
|
|
1405
1445
|
class: "timezone"
|
|
1406
1446
|
};
|
|
1407
|
-
const _hoisted_5$
|
|
1447
|
+
const _hoisted_5$4 = { class: "weekdays" };
|
|
1408
1448
|
const _hoisted_6$1 = ["textContent"];
|
|
1409
1449
|
const _hoisted_7$1 = ["onClick"];
|
|
1410
1450
|
const _hoisted_8$1 = {
|
|
@@ -1412,7 +1452,7 @@
|
|
|
1412
1452
|
class: "bs-calendar-time"
|
|
1413
1453
|
};
|
|
1414
1454
|
const _hoisted_9$1 = { class: "select-wrap" };
|
|
1415
|
-
const _sfc_main$
|
|
1455
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
1416
1456
|
__name: "BSCalendar",
|
|
1417
1457
|
props: {
|
|
1418
1458
|
modelValue: {},
|
|
@@ -1601,39 +1641,39 @@
|
|
|
1601
1641
|
}
|
|
1602
1642
|
};
|
|
1603
1643
|
return (_ctx, _cache) => {
|
|
1604
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1605
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
1606
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
1607
|
-
vue.createVNode(_sfc_main$
|
|
1644
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
|
|
1645
|
+
vue.createElementVNode("div", _hoisted_2$k, [
|
|
1646
|
+
vue.createElementVNode("div", _hoisted_3$f, [
|
|
1647
|
+
vue.createVNode(_sfc_main$w, {
|
|
1608
1648
|
class: "",
|
|
1609
1649
|
"left-icon": "chevron_left",
|
|
1610
1650
|
onClick: prevMonth
|
|
1611
1651
|
}),
|
|
1612
|
-
vue.createVNode(_sfc_main$
|
|
1652
|
+
vue.createVNode(_sfc_main$p, {
|
|
1613
1653
|
modelValue: year.value,
|
|
1614
1654
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => year.value = $event),
|
|
1615
1655
|
disabled: __props.disabled,
|
|
1616
1656
|
items: years.value
|
|
1617
1657
|
}, null, 8, ["modelValue", "disabled", "items"]),
|
|
1618
|
-
vue.createVNode(_sfc_main$
|
|
1658
|
+
vue.createVNode(_sfc_main$p, {
|
|
1619
1659
|
modelValue: month.value,
|
|
1620
1660
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => month.value = $event),
|
|
1621
1661
|
disabled: __props.disabled,
|
|
1622
1662
|
items: vue.unref(months)
|
|
1623
1663
|
}, null, 8, ["modelValue", "disabled", "items"]),
|
|
1624
|
-
vue.createVNode(_sfc_main$
|
|
1664
|
+
vue.createVNode(_sfc_main$w, {
|
|
1625
1665
|
class: "",
|
|
1626
1666
|
"left-icon": "chevron_right",
|
|
1627
1667
|
onClick: nextMonth
|
|
1628
1668
|
})
|
|
1629
1669
|
]),
|
|
1630
|
-
__props.showTimeZone ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
1670
|
+
__props.showTimeZone ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$9, "(" + vue.toDisplayString(actualTimeZone.value) + ")", 1)) : vue.createCommentVNode("", true)
|
|
1631
1671
|
]),
|
|
1632
1672
|
vue.createElementVNode("table", {
|
|
1633
1673
|
class: vue.normalizeClass([{ disabled: __props.disabled }, "align-self-center"])
|
|
1634
1674
|
}, [
|
|
1635
1675
|
vue.createElementVNode("tbody", null, [
|
|
1636
|
-
vue.createElementVNode("tr", _hoisted_5$
|
|
1676
|
+
vue.createElementVNode("tr", _hoisted_5$4, [
|
|
1637
1677
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(weekdays.value, (day) => {
|
|
1638
1678
|
return vue.openBlock(), vue.createElementBlock("th", {
|
|
1639
1679
|
key: day,
|
|
@@ -1663,7 +1703,7 @@
|
|
|
1663
1703
|
__props.resolution
|
|
1664
1704
|
) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$1, [
|
|
1665
1705
|
vue.createElementVNode("div", _hoisted_9$1, [
|
|
1666
|
-
vue.createVNode(_sfc_main$
|
|
1706
|
+
vue.createVNode(_sfc_main$p, {
|
|
1667
1707
|
disabled: __props.disabled,
|
|
1668
1708
|
items: hours,
|
|
1669
1709
|
"label-provider": (item) => item < 10 ? "0" + item : item.toString(),
|
|
@@ -1672,7 +1712,7 @@
|
|
|
1672
1712
|
"onUpdate:modelValue": updateHour
|
|
1673
1713
|
}, null, 8, ["disabled", "label-provider", "model-value"]),
|
|
1674
1714
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", { class: "" }, ":", -1)),
|
|
1675
|
-
vue.createVNode(_sfc_main$
|
|
1715
|
+
vue.createVNode(_sfc_main$p, {
|
|
1676
1716
|
disabled: __props.disabled || __props.resolution === "HOUR",
|
|
1677
1717
|
items: minutes.value,
|
|
1678
1718
|
"label-provider": (item) => item < 10 ? "0" + item : item.toString(),
|
|
@@ -1686,10 +1726,10 @@
|
|
|
1686
1726
|
};
|
|
1687
1727
|
}
|
|
1688
1728
|
});
|
|
1689
|
-
const _hoisted_1$
|
|
1690
|
-
const _hoisted_2$
|
|
1691
|
-
const _hoisted_3$
|
|
1692
|
-
const _sfc_main$
|
|
1729
|
+
const _hoisted_1$l = { class: "bs-calendar-range flex flex-row" };
|
|
1730
|
+
const _hoisted_2$j = { class: "flex flex-col" };
|
|
1731
|
+
const _hoisted_3$e = { class: "flex flex-row items-center" };
|
|
1732
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
1693
1733
|
__name: "BSCalendarRange",
|
|
1694
1734
|
props: {
|
|
1695
1735
|
from: {},
|
|
@@ -1727,10 +1767,10 @@
|
|
|
1727
1767
|
emit("update:to", value);
|
|
1728
1768
|
};
|
|
1729
1769
|
return (_ctx, _cache) => {
|
|
1730
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1731
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
1732
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
1733
|
-
vue.createVNode(_sfc_main$
|
|
1770
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
|
|
1771
|
+
vue.createElementVNode("div", _hoisted_2$j, [
|
|
1772
|
+
vue.createElementVNode("div", _hoisted_3$e, [
|
|
1773
|
+
vue.createVNode(_sfc_main$o, {
|
|
1734
1774
|
modelValue: fromValue.value,
|
|
1735
1775
|
"onUpdate:modelValue": [
|
|
1736
1776
|
_cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
|
|
@@ -1748,7 +1788,7 @@
|
|
|
1748
1788
|
"range-type": "from"
|
|
1749
1789
|
}, null, 8, ["modelValue", "disabled", "display-format", "end-year", "first-day", "range-value", "resolution", "start-year", "time-zone"]),
|
|
1750
1790
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", { class: "tilde" }, "~", -1)),
|
|
1751
|
-
vue.createVNode(_sfc_main$
|
|
1791
|
+
vue.createVNode(_sfc_main$o, {
|
|
1752
1792
|
modelValue: toValue.value,
|
|
1753
1793
|
"onUpdate:modelValue": [
|
|
1754
1794
|
_cache[1] || (_cache[1] = ($event) => toValue.value = $event),
|
|
@@ -1809,13 +1849,11 @@
|
|
|
1809
1849
|
return trim ? value?.trim() : value;
|
|
1810
1850
|
},
|
|
1811
1851
|
getPrefixSuffixList(param) {
|
|
1812
|
-
if (!param)
|
|
1813
|
-
return [];
|
|
1852
|
+
if (!param) return [];
|
|
1814
1853
|
const params = Array.isArray(param) ? param : [param];
|
|
1815
1854
|
const list = [];
|
|
1816
1855
|
for (let item of params) {
|
|
1817
|
-
if (!item)
|
|
1818
|
-
continue;
|
|
1856
|
+
if (!item) continue;
|
|
1819
1857
|
if (typeof item === "object" && item.hasOwnProperty("type") && item.hasOwnProperty("value")) {
|
|
1820
1858
|
list.push(item);
|
|
1821
1859
|
} else {
|
|
@@ -1823,12 +1861,16 @@
|
|
|
1823
1861
|
}
|
|
1824
1862
|
}
|
|
1825
1863
|
return list;
|
|
1864
|
+
},
|
|
1865
|
+
isCursorInElement(event, element) {
|
|
1866
|
+
const rect = element.getBoundingClientRect();
|
|
1867
|
+
return event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom;
|
|
1826
1868
|
}
|
|
1827
1869
|
};
|
|
1828
|
-
const _hoisted_1$
|
|
1829
|
-
const _hoisted_2$
|
|
1830
|
-
const _hoisted_3$
|
|
1831
|
-
const _sfc_main$
|
|
1870
|
+
const _hoisted_1$k = ["textContent"];
|
|
1871
|
+
const _hoisted_2$i = { class: "font-icon" };
|
|
1872
|
+
const _hoisted_3$d = ["src", "alt"];
|
|
1873
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
1832
1874
|
__name: "BSPrefixSuffix",
|
|
1833
1875
|
props: {
|
|
1834
1876
|
value: {},
|
|
@@ -1844,11 +1886,11 @@
|
|
|
1844
1886
|
textContent: vue.toDisplayString(item.value),
|
|
1845
1887
|
key: JSON.stringify(item.value),
|
|
1846
1888
|
class: vue.normalizeClass(__props.type)
|
|
1847
|
-
}, null, 10, _hoisted_1$
|
|
1889
|
+
}, null, 10, _hoisted_1$k)) : item.type === "font-icon" ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
1848
1890
|
key: 1,
|
|
1849
1891
|
class: vue.normalizeClass(__props.type)
|
|
1850
1892
|
}, [
|
|
1851
|
-
vue.createElementVNode("span", _hoisted_2$
|
|
1893
|
+
vue.createElementVNode("span", _hoisted_2$i, vue.toDisplayString(item.value), 1)
|
|
1852
1894
|
], 2)) : item.type === "image-url" ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
1853
1895
|
key: 2,
|
|
1854
1896
|
class: vue.normalizeClass(__props.type)
|
|
@@ -1856,24 +1898,24 @@
|
|
|
1856
1898
|
vue.createElementVNode("img", {
|
|
1857
1899
|
src: item.value,
|
|
1858
1900
|
alt: __props.type
|
|
1859
|
-
}, null, 8, _hoisted_3$
|
|
1901
|
+
}, null, 8, _hoisted_3$d)
|
|
1860
1902
|
], 2)) : vue.createCommentVNode("", true)
|
|
1861
1903
|
], 64);
|
|
1862
1904
|
}), 256);
|
|
1863
1905
|
};
|
|
1864
1906
|
}
|
|
1865
1907
|
});
|
|
1866
|
-
const _hoisted_1$
|
|
1908
|
+
const _hoisted_1$j = {
|
|
1867
1909
|
key: 0,
|
|
1868
1910
|
class: "view-mode"
|
|
1869
1911
|
};
|
|
1870
|
-
const _hoisted_2$
|
|
1871
|
-
const _hoisted_3$
|
|
1912
|
+
const _hoisted_2$h = ["textContent"];
|
|
1913
|
+
const _hoisted_3$c = {
|
|
1872
1914
|
key: 1,
|
|
1873
1915
|
class: "input-area"
|
|
1874
1916
|
};
|
|
1875
|
-
const _hoisted_4$
|
|
1876
|
-
const _sfc_main$
|
|
1917
|
+
const _hoisted_4$8 = ["id", "placeholder", "autocomplete", "disabled", "maxlength", "name", "tabindex", "type"];
|
|
1918
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
1877
1919
|
__name: "BSTextInput",
|
|
1878
1920
|
props: {
|
|
1879
1921
|
id: {},
|
|
@@ -1997,20 +2039,20 @@
|
|
|
1997
2039
|
class: vue.normalizeClass([{ required: __props.required, disabled: __props.disabled, modified: modified.value, error: vue.unref(errors).length > 0 }, "bs-text-input bs-input-wrap"]),
|
|
1998
2040
|
style: vue.normalizeStyle({ width: __props.width })
|
|
1999
2041
|
}, [
|
|
2000
|
-
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2001
|
-
vue.createVNode(_sfc_main$
|
|
2042
|
+
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
|
|
2043
|
+
vue.createVNode(_sfc_main$m, {
|
|
2002
2044
|
value: __props.prefix,
|
|
2003
2045
|
type: "prefix"
|
|
2004
2046
|
}, null, 8, ["value"]),
|
|
2005
2047
|
vue.createElementVNode("span", {
|
|
2006
2048
|
textContent: vue.toDisplayString(vue.unref(stringValue))
|
|
2007
|
-
}, null, 8, _hoisted_2$
|
|
2008
|
-
vue.createVNode(_sfc_main$
|
|
2049
|
+
}, null, 8, _hoisted_2$h),
|
|
2050
|
+
vue.createVNode(_sfc_main$m, {
|
|
2009
2051
|
value: __props.suffix,
|
|
2010
2052
|
type: "suffix"
|
|
2011
2053
|
}, null, 8, ["value"])
|
|
2012
|
-
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
2013
|
-
vue.createVNode(_sfc_main$
|
|
2054
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$c, [
|
|
2055
|
+
vue.createVNode(_sfc_main$m, {
|
|
2014
2056
|
value: __props.prefix,
|
|
2015
2057
|
type: "prefix"
|
|
2016
2058
|
}, null, 8, ["value"]),
|
|
@@ -2026,15 +2068,15 @@
|
|
|
2026
2068
|
name: __props.name,
|
|
2027
2069
|
tabindex: __props.tabindex,
|
|
2028
2070
|
type: __props.inputType
|
|
2029
|
-
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_4$
|
|
2071
|
+
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_4$8), [
|
|
2030
2072
|
[vue.vModelDynamic, vue.unref(stringValue)]
|
|
2031
2073
|
]),
|
|
2032
|
-
vue.createVNode(_sfc_main$
|
|
2074
|
+
vue.createVNode(_sfc_main$m, {
|
|
2033
2075
|
value: __props.suffix,
|
|
2034
2076
|
type: "suffix"
|
|
2035
2077
|
}, null, 8, ["value"])
|
|
2036
2078
|
])),
|
|
2037
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2079
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
2038
2080
|
key: 2,
|
|
2039
2081
|
errors: vue.unref(errors),
|
|
2040
2082
|
"hide-error-message": __props.hideErrorMessage || __props.disabled && !__props.showErrorMessageOnDisabled
|
|
@@ -2237,8 +2279,7 @@
|
|
|
2237
2279
|
formatDateString(utcDate, format, displayTimeZone) {
|
|
2238
2280
|
if (utcDate) {
|
|
2239
2281
|
let date = dayjs(utcDate);
|
|
2240
|
-
if (displayTimeZone)
|
|
2241
|
-
date = date.tz(displayTimeZone);
|
|
2282
|
+
if (displayTimeZone) date = date.tz(displayTimeZone);
|
|
2242
2283
|
return date.format(format || "YYYY-MM-DD HH:mm Z");
|
|
2243
2284
|
}
|
|
2244
2285
|
return "";
|
|
@@ -2317,17 +2358,17 @@
|
|
|
2317
2358
|
return tmp.textContent || tmp.innerText;
|
|
2318
2359
|
}
|
|
2319
2360
|
};
|
|
2320
|
-
const _hoisted_1$
|
|
2361
|
+
const _hoisted_1$i = {
|
|
2321
2362
|
key: 0,
|
|
2322
2363
|
class: "view-mode"
|
|
2323
2364
|
};
|
|
2324
|
-
const _hoisted_2$
|
|
2325
|
-
const _hoisted_3$
|
|
2365
|
+
const _hoisted_2$g = ["textContent"];
|
|
2366
|
+
const _hoisted_3$b = {
|
|
2326
2367
|
key: 1,
|
|
2327
2368
|
class: "input-area"
|
|
2328
2369
|
};
|
|
2329
|
-
const _hoisted_4$
|
|
2330
|
-
const _sfc_main$
|
|
2370
|
+
const _hoisted_4$7 = ["id", "placeholder", "autocomplete", "disabled", "maxlength", "name", "tabindex", "value"];
|
|
2371
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
2331
2372
|
__name: "BSNumberInput",
|
|
2332
2373
|
props: {
|
|
2333
2374
|
id: {},
|
|
@@ -2459,20 +2500,20 @@
|
|
|
2459
2500
|
class: vue.normalizeClass([{ required: __props.required, disabled: __props.disabled, modified: modified.value, error: vue.unref(errors).length > 0 }, "bs-number-input bs-input-wrap"]),
|
|
2460
2501
|
style: vue.normalizeStyle({ width: __props.width })
|
|
2461
2502
|
}, [
|
|
2462
|
-
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2463
|
-
vue.createVNode(_sfc_main$
|
|
2503
|
+
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
|
|
2504
|
+
vue.createVNode(_sfc_main$m, {
|
|
2464
2505
|
value: __props.prefix,
|
|
2465
2506
|
type: "prefix"
|
|
2466
2507
|
}, null, 8, ["value"]),
|
|
2467
2508
|
vue.createElementVNode("span", {
|
|
2468
2509
|
textContent: vue.toDisplayString(__props.formatInViewMode ? formattedStringValue.value : vue.unref(stringValue))
|
|
2469
|
-
}, null, 8, _hoisted_2$
|
|
2470
|
-
vue.createVNode(_sfc_main$
|
|
2510
|
+
}, null, 8, _hoisted_2$g),
|
|
2511
|
+
vue.createVNode(_sfc_main$m, {
|
|
2471
2512
|
value: __props.suffix,
|
|
2472
2513
|
type: "suffix"
|
|
2473
2514
|
}, null, 8, ["value"])
|
|
2474
|
-
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
2475
|
-
vue.createVNode(_sfc_main$
|
|
2515
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$b, [
|
|
2516
|
+
vue.createVNode(_sfc_main$m, {
|
|
2476
2517
|
value: __props.prefix,
|
|
2477
2518
|
type: "prefix"
|
|
2478
2519
|
}, null, 8, ["value"]),
|
|
@@ -2488,13 +2529,13 @@
|
|
|
2488
2529
|
tabindex: __props.tabindex,
|
|
2489
2530
|
value: focused.value || !__props.formatOnBlur ? vue.unref(stringValue) : formattedStringValue.value,
|
|
2490
2531
|
type: "text"
|
|
2491
|
-
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_4$
|
|
2492
|
-
vue.createVNode(_sfc_main$
|
|
2532
|
+
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_4$7),
|
|
2533
|
+
vue.createVNode(_sfc_main$m, {
|
|
2493
2534
|
value: __props.suffix,
|
|
2494
2535
|
type: "suffix"
|
|
2495
2536
|
}, null, 8, ["value"])
|
|
2496
2537
|
])),
|
|
2497
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2538
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
2498
2539
|
key: 2,
|
|
2499
2540
|
errors: vue.unref(errors),
|
|
2500
2541
|
"hide-error-message": __props.hideErrorMessage || __props.disabled && !__props.showErrorMessageOnDisabled
|
|
@@ -2503,17 +2544,17 @@
|
|
|
2503
2544
|
};
|
|
2504
2545
|
}
|
|
2505
2546
|
});
|
|
2506
|
-
const _hoisted_1$
|
|
2547
|
+
const _hoisted_1$h = {
|
|
2507
2548
|
key: 0,
|
|
2508
2549
|
class: "view-mode flex flex-row gap-2 items-start"
|
|
2509
2550
|
};
|
|
2510
|
-
const _hoisted_2$
|
|
2511
|
-
const _hoisted_3$
|
|
2551
|
+
const _hoisted_2$f = ["textContent"];
|
|
2552
|
+
const _hoisted_3$a = {
|
|
2512
2553
|
key: 1,
|
|
2513
2554
|
class: "input-area flex flex-row items-start"
|
|
2514
2555
|
};
|
|
2515
|
-
const _hoisted_4$
|
|
2516
|
-
const _sfc_main$
|
|
2556
|
+
const _hoisted_4$6 = ["placeholder", "disabled", "maxlength", "name", "tabindex"];
|
|
2557
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
2517
2558
|
__name: "BSTextArea",
|
|
2518
2559
|
props: {
|
|
2519
2560
|
id: {},
|
|
@@ -2628,20 +2669,20 @@
|
|
|
2628
2669
|
class: vue.normalizeClass([{ disabled: __props.disabled, modified: modified.value, error: vue.unref(errors).length > 0 }, "bs-text-area bs-input-wrap"]),
|
|
2629
2670
|
style: vue.normalizeStyle({ width: outerWidth.value, height: outerHeight.value })
|
|
2630
2671
|
}, [
|
|
2631
|
-
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2632
|
-
vue.createVNode(_sfc_main$
|
|
2672
|
+
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
|
|
2673
|
+
vue.createVNode(_sfc_main$m, {
|
|
2633
2674
|
value: __props.prefix,
|
|
2634
2675
|
type: "prefix"
|
|
2635
2676
|
}, null, 8, ["value"]),
|
|
2636
2677
|
vue.createElementVNode("div", {
|
|
2637
2678
|
textContent: vue.toDisplayString(vue.unref(stringValue))
|
|
2638
|
-
}, null, 8, _hoisted_2$
|
|
2639
|
-
vue.createVNode(_sfc_main$
|
|
2679
|
+
}, null, 8, _hoisted_2$f),
|
|
2680
|
+
vue.createVNode(_sfc_main$m, {
|
|
2640
2681
|
value: __props.suffix,
|
|
2641
2682
|
type: "suffix"
|
|
2642
2683
|
}, null, 8, ["value"])
|
|
2643
|
-
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
2644
|
-
vue.createVNode(_sfc_main$
|
|
2684
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$a, [
|
|
2685
|
+
vue.createVNode(_sfc_main$m, {
|
|
2645
2686
|
value: __props.prefix,
|
|
2646
2687
|
type: "prefix"
|
|
2647
2688
|
}, null, 8, ["value"]),
|
|
@@ -2658,15 +2699,15 @@
|
|
|
2658
2699
|
class: "grow",
|
|
2659
2700
|
onPointerdown: capturePointer,
|
|
2660
2701
|
onPointerup: preserveResizedHeight
|
|
2661
|
-
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_4$
|
|
2702
|
+
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_4$6), [
|
|
2662
2703
|
[vue.vModelText, vue.unref(stringValue)]
|
|
2663
2704
|
]),
|
|
2664
|
-
vue.createVNode(_sfc_main$
|
|
2705
|
+
vue.createVNode(_sfc_main$m, {
|
|
2665
2706
|
value: __props.suffix,
|
|
2666
2707
|
type: "suffix"
|
|
2667
2708
|
}, null, 8, ["value"])
|
|
2668
2709
|
])),
|
|
2669
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2710
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
2670
2711
|
key: 2,
|
|
2671
2712
|
errors: vue.unref(errors),
|
|
2672
2713
|
"hide-error-message": __props.hideErrorMessage || __props.disabled && !__props.showErrorMessageOnDisabled
|
|
@@ -2675,10 +2716,10 @@
|
|
|
2675
2716
|
};
|
|
2676
2717
|
}
|
|
2677
2718
|
});
|
|
2678
|
-
const _hoisted_1$
|
|
2679
|
-
const _hoisted_2$
|
|
2680
|
-
const _hoisted_3$
|
|
2681
|
-
const _sfc_main$
|
|
2719
|
+
const _hoisted_1$g = ["id", "checked", "disabled", "name", "tabindex"];
|
|
2720
|
+
const _hoisted_2$e = ["textContent", "for"];
|
|
2721
|
+
const _hoisted_3$9 = ["for"];
|
|
2722
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
2682
2723
|
__name: "BSCheckbox",
|
|
2683
2724
|
props: {
|
|
2684
2725
|
id: { default: () => componentUtil.generateNextId("checkbox") },
|
|
@@ -2734,28 +2775,28 @@
|
|
|
2734
2775
|
tabindex: __props.tabindex,
|
|
2735
2776
|
class: "",
|
|
2736
2777
|
type: "checkbox"
|
|
2737
|
-
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_1$
|
|
2778
|
+
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_1$g),
|
|
2738
2779
|
__props.label ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
2739
2780
|
key: 0,
|
|
2740
2781
|
textContent: vue.toDisplayString(__props.label),
|
|
2741
2782
|
for: __props.id,
|
|
2742
2783
|
class: "text-label"
|
|
2743
|
-
}, null, 8, _hoisted_2$
|
|
2784
|
+
}, null, 8, _hoisted_2$e)) : vue.createCommentVNode("", true),
|
|
2744
2785
|
hasLabelSlot.value ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
2745
2786
|
key: 1,
|
|
2746
2787
|
for: __props.id,
|
|
2747
2788
|
class: "slot-label cursor-pointer"
|
|
2748
2789
|
}, [
|
|
2749
2790
|
vue.renderSlot(_ctx.$slots, "default", { disabled: __props.disabled })
|
|
2750
|
-
], 8, _hoisted_3$
|
|
2791
|
+
], 8, _hoisted_3$9)) : vue.createCommentVNode("", true)
|
|
2751
2792
|
], 2);
|
|
2752
2793
|
};
|
|
2753
2794
|
}
|
|
2754
2795
|
});
|
|
2755
|
-
const _hoisted_1$
|
|
2756
|
-
const _hoisted_2$
|
|
2757
|
-
const _hoisted_3$
|
|
2758
|
-
const _sfc_main$
|
|
2796
|
+
const _hoisted_1$f = ["data-field-name"];
|
|
2797
|
+
const _hoisted_2$d = { class: "items" };
|
|
2798
|
+
const _hoisted_3$8 = ["textContent"];
|
|
2799
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
2759
2800
|
__name: "BSCheckboxGroup",
|
|
2760
2801
|
props: {
|
|
2761
2802
|
name: {},
|
|
@@ -2861,13 +2902,13 @@
|
|
|
2861
2902
|
"data-field-name": __props.name,
|
|
2862
2903
|
role: "group"
|
|
2863
2904
|
}, [
|
|
2864
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
2905
|
+
vue.createElementVNode("div", _hoisted_2$d, [
|
|
2865
2906
|
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2866
2907
|
key: 0,
|
|
2867
2908
|
class: "view-mode",
|
|
2868
2909
|
textContent: vue.toDisplayString(modelValueLabels.value)
|
|
2869
|
-
}, null, 8, _hoisted_3$
|
|
2870
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2910
|
+
}, null, 8, _hoisted_3$8)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(__props.items, (item) => {
|
|
2911
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$i, {
|
|
2871
2912
|
key: itemKey(item),
|
|
2872
2913
|
disabled: __props.disabled || isDisabledItem(item),
|
|
2873
2914
|
label: itemLabel(item),
|
|
@@ -2879,24 +2920,24 @@
|
|
|
2879
2920
|
}, null, 8, ["disabled", "label", "model-value", "name", "tabindex", "onUpdate:modelValue"]);
|
|
2880
2921
|
}), 128))
|
|
2881
2922
|
]),
|
|
2882
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2923
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
2883
2924
|
key: 0,
|
|
2884
2925
|
errors: vue.unref(errors),
|
|
2885
2926
|
"hide-error-message": __props.hideErrorMessage || __props.disabled && !__props.showErrorMessageOnDisabled
|
|
2886
2927
|
}, null, 8, ["errors", "hide-error-message"])) : vue.createCommentVNode("", true)
|
|
2887
|
-
], 10, _hoisted_1$
|
|
2928
|
+
], 10, _hoisted_1$f);
|
|
2888
2929
|
};
|
|
2889
2930
|
}
|
|
2890
2931
|
});
|
|
2891
|
-
const _hoisted_1$
|
|
2892
|
-
const _hoisted_2$
|
|
2893
|
-
const _hoisted_3$
|
|
2932
|
+
const _hoisted_1$e = ["id", "checked", "disabled", "name", "tabindex"];
|
|
2933
|
+
const _hoisted_2$c = ["for"];
|
|
2934
|
+
const _hoisted_3$7 = {
|
|
2894
2935
|
key: 0,
|
|
2895
2936
|
class: "font-icon"
|
|
2896
2937
|
};
|
|
2897
|
-
const _hoisted_4$
|
|
2898
|
-
const _hoisted_5$
|
|
2899
|
-
const _sfc_main$
|
|
2938
|
+
const _hoisted_4$5 = ["textContent"];
|
|
2939
|
+
const _hoisted_5$3 = ["for"];
|
|
2940
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
2900
2941
|
__name: "BSRadioButton",
|
|
2901
2942
|
props: {
|
|
2902
2943
|
id: { default: () => componentUtil.generateNextId("radio") },
|
|
@@ -2939,34 +2980,34 @@
|
|
|
2939
2980
|
class: "",
|
|
2940
2981
|
role: "radio",
|
|
2941
2982
|
type: "radio"
|
|
2942
|
-
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_1$
|
|
2983
|
+
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_1$e),
|
|
2943
2984
|
vue.createElementVNode("label", { for: __props.id }, [
|
|
2944
|
-
__props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
2985
|
+
__props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$7, vue.toDisplayString(__props.icon), 1)) : vue.createCommentVNode("", true),
|
|
2945
2986
|
__props.label ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
2946
2987
|
key: 1,
|
|
2947
2988
|
textContent: vue.toDisplayString(__props.label),
|
|
2948
2989
|
class: "text-label"
|
|
2949
|
-
}, null, 8, _hoisted_4$
|
|
2950
|
-
], 8, _hoisted_2$
|
|
2990
|
+
}, null, 8, _hoisted_4$5)) : vue.createCommentVNode("", true)
|
|
2991
|
+
], 8, _hoisted_2$c),
|
|
2951
2992
|
hasLabelSlot.value ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
2952
2993
|
key: 0,
|
|
2953
2994
|
for: __props.id,
|
|
2954
2995
|
class: "slot-label cursor-pointer"
|
|
2955
2996
|
}, [
|
|
2956
2997
|
vue.renderSlot(_ctx.$slots, "default", { disabled: __props.disabled })
|
|
2957
|
-
], 8, _hoisted_5$
|
|
2998
|
+
], 8, _hoisted_5$3)) : vue.createCommentVNode("", true)
|
|
2958
2999
|
], 2);
|
|
2959
3000
|
};
|
|
2960
3001
|
}
|
|
2961
3002
|
});
|
|
2962
|
-
const _hoisted_1$
|
|
2963
|
-
const _hoisted_2$
|
|
2964
|
-
const _hoisted_3$
|
|
3003
|
+
const _hoisted_1$d = ["data-field-name"];
|
|
3004
|
+
const _hoisted_2$b = ["textContent"];
|
|
3005
|
+
const _hoisted_3$6 = {
|
|
2965
3006
|
key: 1,
|
|
2966
3007
|
class: "radio-button-group",
|
|
2967
3008
|
role: "radiogroup"
|
|
2968
3009
|
};
|
|
2969
|
-
const _sfc_main$
|
|
3010
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
2970
3011
|
__name: "BSRadioButtonGroup",
|
|
2971
3012
|
props: {
|
|
2972
3013
|
name: { default: () => componentUtil.generateNextName("radioGroup") },
|
|
@@ -3049,9 +3090,9 @@
|
|
|
3049
3090
|
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3050
3091
|
key: 0,
|
|
3051
3092
|
textContent: vue.toDisplayString(modelValueLabel.value)
|
|
3052
|
-
}, null, 8, _hoisted_2$
|
|
3093
|
+
}, null, 8, _hoisted_2$b)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, [
|
|
3053
3094
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item) => {
|
|
3054
|
-
return vue.withDirectives((vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3095
|
+
return vue.withDirectives((vue.openBlock(), vue.createBlock(_sfc_main$g, {
|
|
3055
3096
|
key: itemKey(item),
|
|
3056
3097
|
disabled: __props.disabled || isDisabledItem(item),
|
|
3057
3098
|
icon: __props.iconProvider?.(item),
|
|
@@ -3066,20 +3107,20 @@
|
|
|
3066
3107
|
]);
|
|
3067
3108
|
}), 128))
|
|
3068
3109
|
])),
|
|
3069
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3110
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
3070
3111
|
key: 2,
|
|
3071
3112
|
errors: vue.unref(errors),
|
|
3072
3113
|
"hide-error-message": __props.hideErrorMessage || __props.disabled && !__props.showErrorMessageOnDisabled
|
|
3073
3114
|
}, null, 8, ["errors", "hide-error-message"])) : vue.createCommentVNode("", true)
|
|
3074
|
-
], 10, _hoisted_1$
|
|
3115
|
+
], 10, _hoisted_1$d);
|
|
3075
3116
|
};
|
|
3076
3117
|
}
|
|
3077
3118
|
});
|
|
3078
|
-
const _hoisted_1$
|
|
3079
|
-
const _hoisted_2$
|
|
3080
|
-
const _hoisted_3$
|
|
3081
|
-
const _hoisted_4$
|
|
3082
|
-
const _hoisted_5$
|
|
3119
|
+
const _hoisted_1$c = ["tabindex", "onKeydown"];
|
|
3120
|
+
const _hoisted_2$a = { key: 0 };
|
|
3121
|
+
const _hoisted_3$5 = ["textContent"];
|
|
3122
|
+
const _hoisted_4$4 = ["textContent"];
|
|
3123
|
+
const _hoisted_5$2 = ["data-field-name"];
|
|
3083
3124
|
const _hoisted_6 = ["textContent"];
|
|
3084
3125
|
const _hoisted_7 = {
|
|
3085
3126
|
key: 1,
|
|
@@ -3091,7 +3132,7 @@
|
|
|
3091
3132
|
key: 2,
|
|
3092
3133
|
class: "small-progress"
|
|
3093
3134
|
};
|
|
3094
|
-
const _sfc_main$
|
|
3135
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
3095
3136
|
__name: "BSMultiSelect",
|
|
3096
3137
|
props: {
|
|
3097
3138
|
modelValue: { default: () => [] },
|
|
@@ -3214,17 +3255,17 @@
|
|
|
3214
3255
|
_cache[4] || (_cache[4] = vue.withKeys(($event) => togglePopup(false), ["tab"]))
|
|
3215
3256
|
]
|
|
3216
3257
|
}, [
|
|
3217
|
-
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
3258
|
+
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
|
|
3218
3259
|
__props.selectedLabelProvider ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
3219
3260
|
key: 0,
|
|
3220
3261
|
textContent: vue.toDisplayString(__props.selectedLabelProvider(selectedItems.value)),
|
|
3221
3262
|
class: "label"
|
|
3222
|
-
}, null, 8, _hoisted_3$
|
|
3263
|
+
}, null, 8, _hoisted_3$5)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(selectedItems.value, (item) => {
|
|
3223
3264
|
return vue.openBlock(), vue.createElementBlock("span", {
|
|
3224
3265
|
key: itemKey(item),
|
|
3225
3266
|
textContent: vue.toDisplayString(itemLabel(item)),
|
|
3226
3267
|
class: "label"
|
|
3227
|
-
}, null, 8, _hoisted_4$
|
|
3268
|
+
}, null, 8, _hoisted_4$4);
|
|
3228
3269
|
}), 128))
|
|
3229
3270
|
])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
3230
3271
|
vue.createElementVNode("div", {
|
|
@@ -3253,8 +3294,8 @@
|
|
|
3253
3294
|
])),
|
|
3254
3295
|
_cache[5] || (_cache[5] = vue.createElementVNode("span", { class: "dropdown-btn" }, "expand_more", -1)),
|
|
3255
3296
|
loadingItems.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_10, "progress_activity")) : vue.createCommentVNode("", true)
|
|
3256
|
-
], 8, _hoisted_5$
|
|
3257
|
-
!__props.disabled && showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3297
|
+
], 8, _hoisted_5$2),
|
|
3298
|
+
!__props.disabled && showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
3258
3299
|
key: 0,
|
|
3259
3300
|
ref_key: "selectPopup",
|
|
3260
3301
|
ref: selectPopup,
|
|
@@ -3272,12 +3313,12 @@
|
|
|
3272
3313
|
onRequestClose: _cache[0] || (_cache[0] = ($event) => togglePopup(false))
|
|
3273
3314
|
}, null, 8, ["base-element", "initial-item", "items", "label-provider", "max-height", "popup-align", "popup-direction", "selected-items", "show-search", "value-provider"])) : vue.createCommentVNode("", true)
|
|
3274
3315
|
], 64)),
|
|
3275
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3316
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
3276
3317
|
key: 2,
|
|
3277
3318
|
errors: vue.unref(errors),
|
|
3278
3319
|
"hide-error-message": __props.hideErrorMessage || __props.disabled && !__props.showErrorMessageOnDisabled
|
|
3279
3320
|
}, null, 8, ["errors", "hide-error-message"])) : vue.createCommentVNode("", true)
|
|
3280
|
-
], 42, _hoisted_1$
|
|
3321
|
+
], 42, _hoisted_1$c)), [
|
|
3281
3322
|
[vue.unref(vClickOutside), () => togglePopup(false)]
|
|
3282
3323
|
]);
|
|
3283
3324
|
};
|
|
@@ -3286,14 +3327,10 @@
|
|
|
3286
3327
|
dayjs.extend(utc);
|
|
3287
3328
|
dayjs.extend(timezone);
|
|
3288
3329
|
const dateInputFormatByResolution = (resolution) => {
|
|
3289
|
-
if (resolution === "DAY")
|
|
3290
|
-
|
|
3291
|
-
else if (resolution === "
|
|
3292
|
-
|
|
3293
|
-
else if (resolution === "SECOND")
|
|
3294
|
-
return "YYYYMMDDHHmmss";
|
|
3295
|
-
else
|
|
3296
|
-
return "YYYYMMDDHHmm";
|
|
3330
|
+
if (resolution === "DAY") return "YYYYMMDD";
|
|
3331
|
+
else if (resolution === "HOUR") return "YYYYMMDDHH";
|
|
3332
|
+
else if (resolution === "SECOND") return "YYYYMMDDHHmmss";
|
|
3333
|
+
else return "YYYYMMDDHHmm";
|
|
3297
3334
|
};
|
|
3298
3335
|
const convertInputToDateString = (str, inputFormat, endTime, resolution, inputTimeZone, minDateValue, maxDateValue) => {
|
|
3299
3336
|
if (str) {
|
|
@@ -3306,19 +3343,16 @@
|
|
|
3306
3343
|
}
|
|
3307
3344
|
}
|
|
3308
3345
|
let value = dayjs.tz(str, inputFormat, inputTimeZone);
|
|
3309
|
-
if (endTime)
|
|
3310
|
-
value = value.endOf(resolution.toLowerCase());
|
|
3346
|
+
if (endTime) value = value.endOf(resolution.toLowerCase());
|
|
3311
3347
|
const minValue = minDateValue;
|
|
3312
3348
|
if (minValue) {
|
|
3313
3349
|
let minDate = dayjs(minValue).tz(inputTimeZone);
|
|
3314
|
-
if (value.isBefore(minDate))
|
|
3315
|
-
value = minDate;
|
|
3350
|
+
if (value.isBefore(minDate)) value = minDate;
|
|
3316
3351
|
}
|
|
3317
3352
|
const maxValue = maxDateValue;
|
|
3318
3353
|
if (maxValue) {
|
|
3319
3354
|
let maxDate = dayjs(maxValue).tz(inputTimeZone);
|
|
3320
|
-
if (maxDate.isBefore(value))
|
|
3321
|
-
value = maxDate;
|
|
3355
|
+
if (maxDate.isBefore(value)) value = maxDate;
|
|
3322
3356
|
}
|
|
3323
3357
|
if (resolution === "MINUTE_10" || resolution === "MINUTE_30") {
|
|
3324
3358
|
const truncateUnit = resolution === "MINUTE_10" ? 10 : 30;
|
|
@@ -3348,9 +3382,9 @@
|
|
|
3348
3382
|
const normalizeDateInput = (value) => {
|
|
3349
3383
|
return value.replace(/[^\d-]/g, "");
|
|
3350
3384
|
};
|
|
3351
|
-
const _hoisted_1$
|
|
3352
|
-
const _hoisted_2$
|
|
3353
|
-
const _sfc_main$
|
|
3385
|
+
const _hoisted_1$b = { class: "bs-date-input-popup" };
|
|
3386
|
+
const _hoisted_2$9 = { class: "buttons" };
|
|
3387
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
3354
3388
|
__name: "BSDateInputPopup",
|
|
3355
3389
|
props: {
|
|
3356
3390
|
modelValue: {},
|
|
@@ -3378,7 +3412,7 @@
|
|
|
3378
3412
|
emit("close");
|
|
3379
3413
|
};
|
|
3380
3414
|
return (_ctx, _cache) => {
|
|
3381
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3415
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
3382
3416
|
"base-element": __props.baseElement,
|
|
3383
3417
|
"popup-align": __props.popupAlign,
|
|
3384
3418
|
"offset-from-base-element": 4,
|
|
@@ -3389,8 +3423,8 @@
|
|
|
3389
3423
|
}, ["stop"]))
|
|
3390
3424
|
}, {
|
|
3391
3425
|
default: vue.withCtx(() => [
|
|
3392
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
3393
|
-
vue.createVNode(_sfc_main$
|
|
3426
|
+
vue.createElementVNode("div", _hoisted_1$b, [
|
|
3427
|
+
vue.createVNode(_sfc_main$o, {
|
|
3394
3428
|
modelValue: date.value,
|
|
3395
3429
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => date.value = $event),
|
|
3396
3430
|
"display-format": __props.displayFormat,
|
|
@@ -3399,14 +3433,14 @@
|
|
|
3399
3433
|
"start-year": __props.selectStartYear,
|
|
3400
3434
|
"time-zone": __props.timeZone
|
|
3401
3435
|
}, null, 8, ["modelValue", "display-format", "end-year", "resolution", "start-year", "time-zone"]),
|
|
3402
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
3403
|
-
vue.createVNode(_sfc_main$
|
|
3436
|
+
vue.createElementVNode("div", _hoisted_2$9, [
|
|
3437
|
+
vue.createVNode(_sfc_main$w, {
|
|
3404
3438
|
caption: __props.okButtonCaption,
|
|
3405
3439
|
"button-color": "blue",
|
|
3406
3440
|
class: "min-w-80",
|
|
3407
3441
|
onClick: emitValue
|
|
3408
3442
|
}, null, 8, ["caption"]),
|
|
3409
|
-
vue.createVNode(_sfc_main$
|
|
3443
|
+
vue.createVNode(_sfc_main$w, {
|
|
3410
3444
|
caption: __props.cancelButtonCaption,
|
|
3411
3445
|
class: "min-w-80",
|
|
3412
3446
|
onClick: close
|
|
@@ -3419,16 +3453,16 @@
|
|
|
3419
3453
|
};
|
|
3420
3454
|
}
|
|
3421
3455
|
});
|
|
3422
|
-
const _hoisted_1$
|
|
3456
|
+
const _hoisted_1$a = {
|
|
3423
3457
|
key: 0,
|
|
3424
3458
|
class: "view-mode"
|
|
3425
3459
|
};
|
|
3426
|
-
const _hoisted_2$
|
|
3460
|
+
const _hoisted_2$8 = {
|
|
3427
3461
|
key: 1,
|
|
3428
3462
|
class: "input-area"
|
|
3429
3463
|
};
|
|
3430
|
-
const _hoisted_3$
|
|
3431
|
-
const _sfc_main$
|
|
3464
|
+
const _hoisted_3$4 = ["id", "placeholder", "disabled", "maxlength", "name", "tabindex", "value"];
|
|
3465
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
3432
3466
|
__name: "BSDateInput",
|
|
3433
3467
|
props: {
|
|
3434
3468
|
id: {},
|
|
@@ -3635,9 +3669,9 @@
|
|
|
3635
3669
|
style: vue.normalizeStyle({ width: __props.width }),
|
|
3636
3670
|
onKeydown: _cache[2] || (_cache[2] = vue.withKeys(vue.withModifiers(() => togglePopup(false), ["stop", "prevent"]), ["esc"]))
|
|
3637
3671
|
}, [
|
|
3638
|
-
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3672
|
+
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
|
|
3639
3673
|
vue.createElementVNode("span", null, vue.toDisplayString(viewModeValue.value), 1)
|
|
3640
|
-
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
3674
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$8, [
|
|
3641
3675
|
vue.createElementVNode("span", {
|
|
3642
3676
|
class: vue.normalizeClass([{ "bs-clickable": !__props.disabled }, "font-icon"]),
|
|
3643
3677
|
onClick: _cache[0] || (_cache[0] = ($event) => togglePopup())
|
|
@@ -3653,14 +3687,14 @@
|
|
|
3653
3687
|
tabindex: __props.tabindex,
|
|
3654
3688
|
value: focused.value ? vue.unref(stringValue) : formattedValue.value,
|
|
3655
3689
|
type: "text"
|
|
3656
|
-
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_3$
|
|
3690
|
+
}, vue.toHandlers(handlers, true)), null, 16, _hoisted_3$4)
|
|
3657
3691
|
])),
|
|
3658
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3692
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
3659
3693
|
key: 2,
|
|
3660
3694
|
errors: vue.unref(errors),
|
|
3661
3695
|
"hide-error-message": __props.hideErrorMessage || __props.disabled && !__props.showErrorMessageOnDisabled
|
|
3662
3696
|
}, null, 8, ["errors", "hide-error-message"])) : vue.createCommentVNode("", true),
|
|
3663
|
-
showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3697
|
+
showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$d, {
|
|
3664
3698
|
key: 3,
|
|
3665
3699
|
"base-element": rootRef.value,
|
|
3666
3700
|
"display-format": actualDisplayFormat.value,
|
|
@@ -3681,9 +3715,9 @@
|
|
|
3681
3715
|
};
|
|
3682
3716
|
}
|
|
3683
3717
|
});
|
|
3684
|
-
const _hoisted_1$
|
|
3685
|
-
const _hoisted_2$
|
|
3686
|
-
const _sfc_main$
|
|
3718
|
+
const _hoisted_1$9 = { class: "bs-date-range-popup flex flex-col px-16 py-8" };
|
|
3719
|
+
const _hoisted_2$7 = { class: "buttons" };
|
|
3720
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
3687
3721
|
__name: "BSDateRangeInputPopup",
|
|
3688
3722
|
props: {
|
|
3689
3723
|
from: {},
|
|
@@ -3714,7 +3748,7 @@
|
|
|
3714
3748
|
emit("close");
|
|
3715
3749
|
};
|
|
3716
3750
|
return (_ctx, _cache) => {
|
|
3717
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3751
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
3718
3752
|
"base-element": __props.baseElement,
|
|
3719
3753
|
"offset-from-base-element": 4,
|
|
3720
3754
|
"max-height": "auto",
|
|
@@ -3723,8 +3757,8 @@
|
|
|
3723
3757
|
}, ["stop"]))
|
|
3724
3758
|
}, {
|
|
3725
3759
|
default: vue.withCtx(() => [
|
|
3726
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
3727
|
-
vue.createVNode(_sfc_main$
|
|
3760
|
+
vue.createElementVNode("div", _hoisted_1$9, [
|
|
3761
|
+
vue.createVNode(_sfc_main$n, {
|
|
3728
3762
|
from: fromValue.value,
|
|
3729
3763
|
"onUpdate:from": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
|
|
3730
3764
|
to: toValue.value,
|
|
@@ -3737,14 +3771,14 @@
|
|
|
3737
3771
|
"start-year": __props.selectStartYear,
|
|
3738
3772
|
"time-zone": __props.timeZone
|
|
3739
3773
|
}, null, 8, ["from", "to", "disabled-from", "disabled-to", "display-format", "end-year", "resolution", "start-year", "time-zone"]),
|
|
3740
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
3741
|
-
vue.createVNode(_sfc_main$
|
|
3774
|
+
vue.createElementVNode("div", _hoisted_2$7, [
|
|
3775
|
+
vue.createVNode(_sfc_main$w, {
|
|
3742
3776
|
caption: __props.okButtonCaption,
|
|
3743
3777
|
"button-color": "blue",
|
|
3744
3778
|
class: "min-w-80",
|
|
3745
3779
|
onClick: emitValue
|
|
3746
3780
|
}, null, 8, ["caption"]),
|
|
3747
|
-
vue.createVNode(_sfc_main$
|
|
3781
|
+
vue.createVNode(_sfc_main$w, {
|
|
3748
3782
|
caption: __props.cancelButtonCaption,
|
|
3749
3783
|
class: "min-w-80",
|
|
3750
3784
|
onClick: close
|
|
@@ -3757,17 +3791,17 @@
|
|
|
3757
3791
|
};
|
|
3758
3792
|
}
|
|
3759
3793
|
});
|
|
3760
|
-
const _hoisted_1$
|
|
3794
|
+
const _hoisted_1$8 = {
|
|
3761
3795
|
key: 0,
|
|
3762
3796
|
class: "view-mode"
|
|
3763
3797
|
};
|
|
3764
|
-
const _hoisted_2$
|
|
3798
|
+
const _hoisted_2$6 = {
|
|
3765
3799
|
key: 1,
|
|
3766
3800
|
class: "input-area"
|
|
3767
3801
|
};
|
|
3768
|
-
const _hoisted_3$
|
|
3769
|
-
const _hoisted_4$
|
|
3770
|
-
const _sfc_main$
|
|
3802
|
+
const _hoisted_3$3 = ["id", "placeholder", "disabled", "maxlength", "name", "tabindex", "value"];
|
|
3803
|
+
const _hoisted_4$3 = ["id", "placeholder", "disabled", "maxlength", "name", "tabindex", "value"];
|
|
3804
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
3771
3805
|
__name: "BSDateRange",
|
|
3772
3806
|
props: {
|
|
3773
3807
|
idFrom: {},
|
|
@@ -4145,9 +4179,9 @@
|
|
|
4145
4179
|
style: vue.normalizeStyle({ width: __props.width }),
|
|
4146
4180
|
onKeydown: _cache[2] || (_cache[2] = vue.withKeys(vue.withModifiers(() => togglePopup(false), ["stop", "prevent"]), ["esc"]))
|
|
4147
4181
|
}, [
|
|
4148
|
-
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4182
|
+
__props.viewMode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
|
|
4149
4183
|
vue.createElementVNode("span", null, vue.toDisplayString(formattedDateRange.value), 1)
|
|
4150
|
-
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
4184
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$6, [
|
|
4151
4185
|
vue.createElementVNode("span", {
|
|
4152
4186
|
class: vue.normalizeClass([{ "bs-clickable": !disabled.value }, "font-icon"]),
|
|
4153
4187
|
onClick: _cache[0] || (_cache[0] = () => togglePopup())
|
|
@@ -4163,7 +4197,7 @@
|
|
|
4163
4197
|
tabindex: __props.tabindex,
|
|
4164
4198
|
value: focusedFrom.value ? vue.unref(stringValueFrom) : formattedFrom.value,
|
|
4165
4199
|
type: "text"
|
|
4166
|
-
}, vue.toHandlers(handlersFrom, true)), null, 16, _hoisted_3$
|
|
4200
|
+
}, vue.toHandlers(handlersFrom, true)), null, 16, _hoisted_3$3),
|
|
4167
4201
|
_cache[3] || (_cache[3] = vue.createElementVNode("span", { class: "px-4" }, "~", -1)),
|
|
4168
4202
|
vue.createElementVNode("input", vue.mergeProps({
|
|
4169
4203
|
id: __props.idTo,
|
|
@@ -4176,14 +4210,14 @@
|
|
|
4176
4210
|
tabindex: __props.tabindex,
|
|
4177
4211
|
value: focusedTo.value ? vue.unref(stringValueTo) : formattedTo.value,
|
|
4178
4212
|
type: "text"
|
|
4179
|
-
}, vue.toHandlers(handlersTo, true)), null, 16, _hoisted_4$
|
|
4213
|
+
}, vue.toHandlers(handlersTo, true)), null, 16, _hoisted_4$3)
|
|
4180
4214
|
])),
|
|
4181
|
-
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
4215
|
+
!__props.viewMode ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
4182
4216
|
key: 2,
|
|
4183
4217
|
errors: errors.value,
|
|
4184
4218
|
"hide-error-message": __props.hideErrorMessage || disabled.value && !__props.showErrorMessageOnDisabled
|
|
4185
4219
|
}, null, 8, ["errors", "hide-error-message"])) : vue.createCommentVNode("", true),
|
|
4186
|
-
showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
4220
|
+
showPopup.value ? (vue.openBlock(), vue.createBlock(_sfc_main$b, {
|
|
4187
4221
|
key: 3,
|
|
4188
4222
|
"base-element": rootRef.value,
|
|
4189
4223
|
"disabled-from": __props.disabledFrom,
|
|
@@ -4208,7 +4242,7 @@
|
|
|
4208
4242
|
};
|
|
4209
4243
|
}
|
|
4210
4244
|
});
|
|
4211
|
-
const _sfc_main$
|
|
4245
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
4212
4246
|
__name: "SlideDownTransition",
|
|
4213
4247
|
setup(__props) {
|
|
4214
4248
|
const beforeEnter = (el) => {
|
|
@@ -4271,12 +4305,12 @@
|
|
|
4271
4305
|
};
|
|
4272
4306
|
}
|
|
4273
4307
|
});
|
|
4274
|
-
const _hoisted_1$
|
|
4308
|
+
const _hoisted_1$7 = {
|
|
4275
4309
|
key: 0,
|
|
4276
4310
|
class: "card-layout-header flex flex-row items-center"
|
|
4277
4311
|
};
|
|
4278
|
-
const _hoisted_2$
|
|
4279
|
-
const _sfc_main$
|
|
4312
|
+
const _hoisted_2$5 = ["textContent"];
|
|
4313
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
4280
4314
|
__name: "BSCardLayout",
|
|
4281
4315
|
props: {
|
|
4282
4316
|
title: {},
|
|
@@ -4290,7 +4324,7 @@
|
|
|
4290
4324
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
4291
4325
|
class: vue.normalizeClass([{ expanded: expanded.value }, "bs-card-layout"])
|
|
4292
4326
|
}, [
|
|
4293
|
-
!__props.hideTitle ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4327
|
+
!__props.hideTitle ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
|
|
4294
4328
|
vue.createElementVNode("span", {
|
|
4295
4329
|
class: "expand-btn font-icon bs-clickable",
|
|
4296
4330
|
onClick: toggleExpand
|
|
@@ -4298,13 +4332,13 @@
|
|
|
4298
4332
|
vue.createElementVNode("div", {
|
|
4299
4333
|
textContent: vue.toDisplayString(__props.title),
|
|
4300
4334
|
class: "card-layout-title"
|
|
4301
|
-
}, null, 8, _hoisted_2$
|
|
4335
|
+
}, null, 8, _hoisted_2$5),
|
|
4302
4336
|
_cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "grow" }, null, -1)),
|
|
4303
4337
|
vue.createElementVNode("div", null, [
|
|
4304
4338
|
vue.renderSlot(_ctx.$slots, "title-right")
|
|
4305
4339
|
])
|
|
4306
4340
|
])) : vue.createCommentVNode("", true),
|
|
4307
|
-
vue.createVNode(_sfc_main$
|
|
4341
|
+
vue.createVNode(_sfc_main$9, null, {
|
|
4308
4342
|
default: vue.withCtx(() => [
|
|
4309
4343
|
vue.withDirectives(vue.createElementVNode("div", {
|
|
4310
4344
|
class: vue.normalizeClass(__props.cardBodyClass)
|
|
@@ -4320,6 +4354,742 @@
|
|
|
4320
4354
|
};
|
|
4321
4355
|
}
|
|
4322
4356
|
});
|
|
4357
|
+
const modalPluginKey = "BlueseaModalPlugin";
|
|
4358
|
+
const modalHandleKey = "BlueseaModalHandle";
|
|
4359
|
+
class ModalHandleImpl {
|
|
4360
|
+
constructor(modal, modalId) {
|
|
4361
|
+
this.modal = modal;
|
|
4362
|
+
this.modalId = modalId;
|
|
4363
|
+
}
|
|
4364
|
+
maximized = false;
|
|
4365
|
+
defaultStyleListener;
|
|
4366
|
+
defaultPositionListener;
|
|
4367
|
+
close() {
|
|
4368
|
+
this.modal.closeModal(this.modalId);
|
|
4369
|
+
}
|
|
4370
|
+
setDefaultStyle(modalStyle) {
|
|
4371
|
+
this.defaultStyleListener?.(modalStyle);
|
|
4372
|
+
}
|
|
4373
|
+
setDefaultPosition(modalPosition) {
|
|
4374
|
+
this.defaultPositionListener?.(modalPosition);
|
|
4375
|
+
}
|
|
4376
|
+
setDefaultStyleListener(listener) {
|
|
4377
|
+
this.defaultStyleListener = listener;
|
|
4378
|
+
}
|
|
4379
|
+
setDefaultPositionListener(listener) {
|
|
4380
|
+
this.defaultPositionListener = listener;
|
|
4381
|
+
}
|
|
4382
|
+
}
|
|
4383
|
+
class BSModal {
|
|
4384
|
+
modalItems = vue.reactive([]);
|
|
4385
|
+
openModal(modalItem) {
|
|
4386
|
+
const modalId = Math.random().toString(36);
|
|
4387
|
+
const handle = new ModalHandleImpl(this, modalId);
|
|
4388
|
+
const registered = {
|
|
4389
|
+
modalId,
|
|
4390
|
+
pageId: modalItem.pageId,
|
|
4391
|
+
component: vue.markRaw(modalItem.component),
|
|
4392
|
+
style: modalItem.style,
|
|
4393
|
+
position: modalItem.position,
|
|
4394
|
+
bind: modalItem.bind,
|
|
4395
|
+
on: modalItem.on,
|
|
4396
|
+
slots: modalItem.slots,
|
|
4397
|
+
modalHandle: handle
|
|
4398
|
+
};
|
|
4399
|
+
this.modalItems.push(registered);
|
|
4400
|
+
return registered;
|
|
4401
|
+
}
|
|
4402
|
+
closeModal(modalItem) {
|
|
4403
|
+
let index = -1;
|
|
4404
|
+
if (typeof modalItem === "string") {
|
|
4405
|
+
index = this.modalItems.findIndex((item) => item.modalId === modalItem);
|
|
4406
|
+
} else {
|
|
4407
|
+
index = this.modalItems.findIndex((item) => item === modalItem);
|
|
4408
|
+
}
|
|
4409
|
+
if (index >= 0) this.modalItems.splice(index, 1);
|
|
4410
|
+
}
|
|
4411
|
+
closeAllModals() {
|
|
4412
|
+
this.modalItems.splice(0, this.modalItems.length);
|
|
4413
|
+
}
|
|
4414
|
+
openAlert(title, message, clickHandler) {
|
|
4415
|
+
const option = {
|
|
4416
|
+
component: vue.defineAsyncComponent(() => Promise.resolve().then(() => BSAlertModal)),
|
|
4417
|
+
bind: {
|
|
4418
|
+
title,
|
|
4419
|
+
message
|
|
4420
|
+
},
|
|
4421
|
+
on: {
|
|
4422
|
+
click: async () => await clickHandler?.()
|
|
4423
|
+
}
|
|
4424
|
+
};
|
|
4425
|
+
return this.openModal(option);
|
|
4426
|
+
}
|
|
4427
|
+
openYesNo(title, message, yesHandler, noHandler) {
|
|
4428
|
+
const option = {
|
|
4429
|
+
component: vue.defineAsyncComponent(() => Promise.resolve().then(() => BSYesNoModal)),
|
|
4430
|
+
bind: {
|
|
4431
|
+
title,
|
|
4432
|
+
message
|
|
4433
|
+
},
|
|
4434
|
+
on: {
|
|
4435
|
+
clickYes: async () => await yesHandler?.(),
|
|
4436
|
+
clickNo: async () => await noHandler?.()
|
|
4437
|
+
}
|
|
4438
|
+
};
|
|
4439
|
+
return this.openModal(option);
|
|
4440
|
+
}
|
|
4441
|
+
install(app) {
|
|
4442
|
+
app.provide(modalPluginKey, this);
|
|
4443
|
+
}
|
|
4444
|
+
}
|
|
4445
|
+
const useModal = () => {
|
|
4446
|
+
const modal = vue.inject(modalPluginKey);
|
|
4447
|
+
if (!modal) throw new Error("BSModal is not initialized.");
|
|
4448
|
+
return modal;
|
|
4449
|
+
};
|
|
4450
|
+
const provideModalHandle = (modalHandle) => {
|
|
4451
|
+
vue.provide(modalHandleKey, modalHandle);
|
|
4452
|
+
};
|
|
4453
|
+
const useModalHandle = () => {
|
|
4454
|
+
const modalHandle = vue.inject(modalHandleKey);
|
|
4455
|
+
if (!modalHandle) throw new Error("ModalHandle not found. Maybe not inside modal component.");
|
|
4456
|
+
return modalHandle;
|
|
4457
|
+
};
|
|
4458
|
+
const createModalPlugin = () => {
|
|
4459
|
+
return new BSModal();
|
|
4460
|
+
};
|
|
4461
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
4462
|
+
__name: "BSModalWrapper",
|
|
4463
|
+
props: {
|
|
4464
|
+
modalItem: {}
|
|
4465
|
+
},
|
|
4466
|
+
setup(__props) {
|
|
4467
|
+
const props = __props;
|
|
4468
|
+
const defaultModalPosition = vue.ref();
|
|
4469
|
+
props.modalItem.modalHandle.setDefaultPositionListener(
|
|
4470
|
+
(position) => {
|
|
4471
|
+
defaultModalPosition.value = position;
|
|
4472
|
+
initializeOffset(position);
|
|
4473
|
+
}
|
|
4474
|
+
);
|
|
4475
|
+
const modalPositionStyle = vue.computed(() => {
|
|
4476
|
+
const pos = {
|
|
4477
|
+
...defaultModalPosition.value,
|
|
4478
|
+
...props.modalItem.position
|
|
4479
|
+
};
|
|
4480
|
+
const result = [];
|
|
4481
|
+
if (pos.horizontal === "left") result.push("items-start");
|
|
4482
|
+
else if (pos.horizontal === "right") result.push("items-end");
|
|
4483
|
+
else result.push("items-center");
|
|
4484
|
+
if (pos.vertical === "top") result.push("justify-start");
|
|
4485
|
+
else if (pos.vertical === "bottom") result.push("justify-end");
|
|
4486
|
+
else result.push("justify-center");
|
|
4487
|
+
return result;
|
|
4488
|
+
});
|
|
4489
|
+
const defaultModalStyle = vue.ref();
|
|
4490
|
+
props.modalItem.modalHandle.setDefaultStyleListener((style) => {
|
|
4491
|
+
defaultModalStyle.value = style;
|
|
4492
|
+
props.modalItem.escToClose = style.escToClose;
|
|
4493
|
+
});
|
|
4494
|
+
const mergedStyle = vue.computed(() => {
|
|
4495
|
+
const result = {
|
|
4496
|
+
...defaultModalStyle.value,
|
|
4497
|
+
...props.modalItem.style,
|
|
4498
|
+
transform: ""
|
|
4499
|
+
};
|
|
4500
|
+
if (props.modalItem.modalHandle.maximized) {
|
|
4501
|
+
delete result.maxWidth;
|
|
4502
|
+
delete result.maxHeight;
|
|
4503
|
+
} else {
|
|
4504
|
+
result.transform = `translate(${offset.value.x}px, ${offset.value.y}px)`;
|
|
4505
|
+
}
|
|
4506
|
+
return result;
|
|
4507
|
+
});
|
|
4508
|
+
provideModalHandle(props.modalItem.modalHandle);
|
|
4509
|
+
const modalComponent = vue.ref();
|
|
4510
|
+
const modalPanel = vue.ref();
|
|
4511
|
+
const offset = vue.ref({ x: 0, y: 0 });
|
|
4512
|
+
const initializeOffset = (defaultPosition) => {
|
|
4513
|
+
if (offset.value.x === 0) {
|
|
4514
|
+
offset.value.x = props.modalItem.position?.offsetX ?? defaultPosition?.offsetX ?? 0;
|
|
4515
|
+
}
|
|
4516
|
+
if (offset.value.y === 0) {
|
|
4517
|
+
offset.value.y = props.modalItem.position?.offsetY ?? defaultPosition?.offsetY ?? 0;
|
|
4518
|
+
}
|
|
4519
|
+
};
|
|
4520
|
+
initializeOffset();
|
|
4521
|
+
let initialPosition = void 0;
|
|
4522
|
+
const startMoveModal = (event) => {
|
|
4523
|
+
if (!props.modalItem.modalHandle.maximized && modalPanel.value === event.target && event.button === 0) {
|
|
4524
|
+
initialPosition = {
|
|
4525
|
+
x: event.clientX - offset.value.x,
|
|
4526
|
+
y: event.clientY - offset.value.y
|
|
4527
|
+
};
|
|
4528
|
+
modalPanel.value.setPointerCapture(event.pointerId);
|
|
4529
|
+
}
|
|
4530
|
+
};
|
|
4531
|
+
const moveModal = (event) => {
|
|
4532
|
+
if (!props.modalItem.modalHandle.maximized && initialPosition) {
|
|
4533
|
+
offset.value.x = event.clientX - initialPosition.x;
|
|
4534
|
+
offset.value.y = event.clientY - initialPosition.y;
|
|
4535
|
+
event.preventDefault();
|
|
4536
|
+
event.stopPropagation();
|
|
4537
|
+
}
|
|
4538
|
+
};
|
|
4539
|
+
const endMoveModal = (event) => {
|
|
4540
|
+
if (!props.modalItem.modalHandle.maximized && initialPosition) {
|
|
4541
|
+
modalPanel.value?.releasePointerCapture(event.pointerId);
|
|
4542
|
+
initialPosition = void 0;
|
|
4543
|
+
}
|
|
4544
|
+
};
|
|
4545
|
+
return (_ctx, _cache) => {
|
|
4546
|
+
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
4547
|
+
class: vue.normalizeClass([modalPositionStyle.value, "modal-wrapper flex flex-col"])
|
|
4548
|
+
}, [
|
|
4549
|
+
vue.createElementVNode("div", {
|
|
4550
|
+
ref_key: "modalPanel",
|
|
4551
|
+
ref: modalPanel,
|
|
4552
|
+
class: vue.normalizeClass([[
|
|
4553
|
+
__props.modalItem.style?.styleClass,
|
|
4554
|
+
__props.modalItem.modalHandle.maximized ? "maximized" : void 0
|
|
4555
|
+
], "modal-panel"]),
|
|
4556
|
+
style: vue.normalizeStyle(mergedStyle.value),
|
|
4557
|
+
onPointerdown: startMoveModal,
|
|
4558
|
+
onPointermove: moveModal,
|
|
4559
|
+
onPointerup: endMoveModal
|
|
4560
|
+
}, [
|
|
4561
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(__props.modalItem.component), vue.mergeProps({
|
|
4562
|
+
ref_key: "modalComponent",
|
|
4563
|
+
ref: modalComponent
|
|
4564
|
+
}, __props.modalItem.bind || {}, vue.toHandlers(__props.modalItem.on || {})), null, 16))
|
|
4565
|
+
], 38)
|
|
4566
|
+
], 2)), [
|
|
4567
|
+
[vue.vShow, modalComponent.value]
|
|
4568
|
+
]);
|
|
4569
|
+
};
|
|
4570
|
+
}
|
|
4571
|
+
});
|
|
4572
|
+
const _hoisted_1$6 = {
|
|
4573
|
+
key: 0,
|
|
4574
|
+
class: "modal-curtain"
|
|
4575
|
+
};
|
|
4576
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
4577
|
+
__name: "BSModalContainer",
|
|
4578
|
+
setup(__props) {
|
|
4579
|
+
const modal = useModal();
|
|
4580
|
+
const modalExists = vue.computed(() => modal.modalItems.length > 0);
|
|
4581
|
+
const disableBodyScroll = (disable) => {
|
|
4582
|
+
document.body.style.overflow = disable ? "hidden" : "auto";
|
|
4583
|
+
};
|
|
4584
|
+
vue.watch(
|
|
4585
|
+
modalExists,
|
|
4586
|
+
() => disableBodyScroll(modalExists.value)
|
|
4587
|
+
);
|
|
4588
|
+
const modalContainer = vue.ref();
|
|
4589
|
+
const getLastModal = () => {
|
|
4590
|
+
return modal.modalItems[modal.modalItems.length - 1];
|
|
4591
|
+
};
|
|
4592
|
+
const escapeLastModal = () => {
|
|
4593
|
+
const lastModal = getLastModal();
|
|
4594
|
+
if (lastModal) {
|
|
4595
|
+
if (lastModal.modalHandle.maximized) {
|
|
4596
|
+
lastModal.modalHandle.maximized = false;
|
|
4597
|
+
} else {
|
|
4598
|
+
lastModal.modalHandle.close();
|
|
4599
|
+
}
|
|
4600
|
+
}
|
|
4601
|
+
};
|
|
4602
|
+
const handleKeyDown = (event) => {
|
|
4603
|
+
if (modalExists.value && event.key === "Escape") {
|
|
4604
|
+
if (event.shiftKey) {
|
|
4605
|
+
escapeLastModal();
|
|
4606
|
+
} else if (modalContainer.value) {
|
|
4607
|
+
const lastModal = getLastModal();
|
|
4608
|
+
if (lastModal?.escToClose) {
|
|
4609
|
+
escapeLastModal();
|
|
4610
|
+
}
|
|
4611
|
+
}
|
|
4612
|
+
}
|
|
4613
|
+
};
|
|
4614
|
+
vue.onMounted(() => {
|
|
4615
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
4616
|
+
});
|
|
4617
|
+
vue.onBeforeUnmount(() => {
|
|
4618
|
+
window.removeEventListener("keydown", handleKeyDown);
|
|
4619
|
+
});
|
|
4620
|
+
return (_ctx, _cache) => {
|
|
4621
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
4622
|
+
ref_key: "modalContainer",
|
|
4623
|
+
ref: modalContainer,
|
|
4624
|
+
class: "bs-modal-container"
|
|
4625
|
+
}, [
|
|
4626
|
+
modalExists.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6)) : vue.createCommentVNode("", true),
|
|
4627
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(modal).modalItems, (item) => {
|
|
4628
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$7, {
|
|
4629
|
+
key: item.modalId,
|
|
4630
|
+
"data-page-id": item.pageId,
|
|
4631
|
+
"modal-item": item
|
|
4632
|
+
}, null, 8, ["data-page-id", "modal-item"]);
|
|
4633
|
+
}), 128))
|
|
4634
|
+
], 512);
|
|
4635
|
+
};
|
|
4636
|
+
}
|
|
4637
|
+
});
|
|
4638
|
+
const findElement = (maybeElement) => {
|
|
4639
|
+
const val = maybeElement?.value;
|
|
4640
|
+
if (val) {
|
|
4641
|
+
if ("querySelectorAll" in val) return val;
|
|
4642
|
+
if ("$el" in val && "querySelectorAll" in val.$el) return val.$el;
|
|
4643
|
+
}
|
|
4644
|
+
};
|
|
4645
|
+
const findInputComponents = (maybeElement) => {
|
|
4646
|
+
const element = findElement(maybeElement);
|
|
4647
|
+
if (element) {
|
|
4648
|
+
const selector = `input,textarea,select,[role=listbox],[role=radiogroup],[role=group],[role=textbox],[role=img]`;
|
|
4649
|
+
return Array.from(element.querySelectorAll(selector)).map((el) => el);
|
|
4650
|
+
}
|
|
4651
|
+
return [];
|
|
4652
|
+
};
|
|
4653
|
+
const getComponentRootElement = (component) => {
|
|
4654
|
+
return "$el" in component ? component.$el : void 0;
|
|
4655
|
+
};
|
|
4656
|
+
const focusFirstElement = (element) => {
|
|
4657
|
+
const focusable = findFirstFocusableElement(element);
|
|
4658
|
+
if (focusable) {
|
|
4659
|
+
focusable.focus();
|
|
4660
|
+
return true;
|
|
4661
|
+
} else {
|
|
4662
|
+
return false;
|
|
4663
|
+
}
|
|
4664
|
+
};
|
|
4665
|
+
const focusLastElement = (element) => {
|
|
4666
|
+
const focusable = findLastFocusableElement(element);
|
|
4667
|
+
if (focusable) {
|
|
4668
|
+
focusable.focus();
|
|
4669
|
+
return true;
|
|
4670
|
+
} else {
|
|
4671
|
+
return false;
|
|
4672
|
+
}
|
|
4673
|
+
};
|
|
4674
|
+
const findFirstFocusableElement = (element) => {
|
|
4675
|
+
const focusableElementsSelector = 'a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), [tabindex]:not([disabled])';
|
|
4676
|
+
return element.querySelector(focusableElementsSelector) || void 0;
|
|
4677
|
+
};
|
|
4678
|
+
const findLastFocusableElement = (element) => {
|
|
4679
|
+
const focusableElementsSelector = 'a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), [tabindex]:not([disabled])';
|
|
4680
|
+
const all = element.querySelectorAll(focusableElementsSelector);
|
|
4681
|
+
return all.item(all.length - 1) || void 0;
|
|
4682
|
+
};
|
|
4683
|
+
const getSelfIndex = (element) => {
|
|
4684
|
+
if (element.parentElement) {
|
|
4685
|
+
return Array.from(element.parentElement.children).indexOf(element);
|
|
4686
|
+
} else {
|
|
4687
|
+
return -1;
|
|
4688
|
+
}
|
|
4689
|
+
};
|
|
4690
|
+
const NAMED_COLORS = {
|
|
4691
|
+
aliceblue: "#F0F8FF",
|
|
4692
|
+
antiquewhite: "#FAEBD7",
|
|
4693
|
+
aqua: "#00FFFF",
|
|
4694
|
+
aquamarine: "#7FFFD4",
|
|
4695
|
+
azure: "#F0FFFF",
|
|
4696
|
+
beige: "#F5F5DC",
|
|
4697
|
+
bisque: "#FFE4C4",
|
|
4698
|
+
black: "#000000",
|
|
4699
|
+
blanchedalmond: "#FFEBCD",
|
|
4700
|
+
blue: "#0000FF",
|
|
4701
|
+
blueviolet: "#8A2BE2",
|
|
4702
|
+
brown: "#A52A2A",
|
|
4703
|
+
burlywood: "#DEB887",
|
|
4704
|
+
cadetblue: "#5F9EA0",
|
|
4705
|
+
chartreuse: "#7FFF00",
|
|
4706
|
+
chocolate: "#D2691E",
|
|
4707
|
+
coral: "#FF7F50",
|
|
4708
|
+
cornflowerblue: "#6495ED",
|
|
4709
|
+
cornsilk: "#FFF8DC",
|
|
4710
|
+
crimson: "#DC143C",
|
|
4711
|
+
cyan: "#00FFFF",
|
|
4712
|
+
darkblue: "#00008B",
|
|
4713
|
+
darkcyan: "#008B8B",
|
|
4714
|
+
darkgoldenrod: "#B8860B",
|
|
4715
|
+
darkgray: "#A9A9A9",
|
|
4716
|
+
darkgrey: "#A9A9A9",
|
|
4717
|
+
darkgreen: "#006400",
|
|
4718
|
+
darkkhaki: "#BDB76B",
|
|
4719
|
+
darkmagenta: "#8B008B",
|
|
4720
|
+
darkolivegreen: "#556B2F",
|
|
4721
|
+
darkorange: "#FF8C00",
|
|
4722
|
+
darkorchid: "#9932CC",
|
|
4723
|
+
darkred: "#8B0000",
|
|
4724
|
+
darksalmon: "#E9967A",
|
|
4725
|
+
darkseagreen: "#8FBC8F",
|
|
4726
|
+
darkslateblue: "#483D8B",
|
|
4727
|
+
darkslategray: "#2F4F4F",
|
|
4728
|
+
darkslategrey: "#2F4F4F",
|
|
4729
|
+
darkturquoise: "#00CED1",
|
|
4730
|
+
darkviolet: "#9400D3",
|
|
4731
|
+
deeppink: "#FF1493",
|
|
4732
|
+
deepskyblue: "#00BFFF",
|
|
4733
|
+
dimgray: "#696969",
|
|
4734
|
+
dimgrey: "#696969",
|
|
4735
|
+
dodgerblue: "#1E90FF",
|
|
4736
|
+
firebrick: "#B22222",
|
|
4737
|
+
floralwhite: "#FFFAF0",
|
|
4738
|
+
forestgreen: "#228B22",
|
|
4739
|
+
fuchsia: "#FF00FF",
|
|
4740
|
+
gainsboro: "#DCDCDC",
|
|
4741
|
+
ghostwhite: "#F8F8FF",
|
|
4742
|
+
gold: "#FFD700",
|
|
4743
|
+
goldenrod: "#DAA520",
|
|
4744
|
+
gray: "#808080",
|
|
4745
|
+
grey: "#808080",
|
|
4746
|
+
green: "#008000",
|
|
4747
|
+
greenyellow: "#ADFF2F",
|
|
4748
|
+
honeydew: "#F0FFF0",
|
|
4749
|
+
hotpink: "#FF69B4",
|
|
4750
|
+
indianred: "#CD5C5C",
|
|
4751
|
+
indigo: "#4B0082",
|
|
4752
|
+
ivory: "#FFFFF0",
|
|
4753
|
+
khaki: "#F0E68C",
|
|
4754
|
+
lavender: "#E6E6FA",
|
|
4755
|
+
lavenderblush: "#FFF0F5",
|
|
4756
|
+
lawngreen: "#7CFC00",
|
|
4757
|
+
lemonchiffon: "#FFFACD",
|
|
4758
|
+
lightblue: "#ADD8E6",
|
|
4759
|
+
lightcoral: "#F08080",
|
|
4760
|
+
lightcyan: "#E0FFFF",
|
|
4761
|
+
lightgoldenrodyellow: "#FAFAD2",
|
|
4762
|
+
lightgray: "#D3D3D3",
|
|
4763
|
+
lightgrey: "#D3D3D3",
|
|
4764
|
+
lightgreen: "#90EE90",
|
|
4765
|
+
lightpink: "#FFB6C1",
|
|
4766
|
+
lightsalmon: "#FFA07A",
|
|
4767
|
+
lightseagreen: "#20B2AA",
|
|
4768
|
+
lightskyblue: "#87CEFA",
|
|
4769
|
+
lightslategray: "#778899",
|
|
4770
|
+
lightslategrey: "#778899",
|
|
4771
|
+
lightsteelblue: "#B0C4DE",
|
|
4772
|
+
lightyellow: "#FFFFE0",
|
|
4773
|
+
lime: "#00FF00",
|
|
4774
|
+
limegreen: "#32CD32",
|
|
4775
|
+
linen: "#FAF0E6",
|
|
4776
|
+
magenta: "#FF00FF",
|
|
4777
|
+
maroon: "#800000",
|
|
4778
|
+
mediumaquamarine: "#66CDAA",
|
|
4779
|
+
mediumblue: "#0000CD",
|
|
4780
|
+
mediumorchid: "#BA55D3",
|
|
4781
|
+
mediumpurple: "#9370DB",
|
|
4782
|
+
mediumseagreen: "#3CB371",
|
|
4783
|
+
mediumslateblue: "#7B68EE",
|
|
4784
|
+
mediumspringgreen: "#00FA9A",
|
|
4785
|
+
mediumturquoise: "#48D1CC",
|
|
4786
|
+
mediumvioletred: "#C71585",
|
|
4787
|
+
midnightblue: "#191970",
|
|
4788
|
+
mintcream: "#F5FFFA",
|
|
4789
|
+
mistyrose: "#FFE4E1",
|
|
4790
|
+
moccasin: "#FFE4B5",
|
|
4791
|
+
navajowhite: "#FFDEAD",
|
|
4792
|
+
navy: "#000080",
|
|
4793
|
+
oldlace: "#FDF5E6",
|
|
4794
|
+
olive: "#808000",
|
|
4795
|
+
olivedrab: "#6B8E23",
|
|
4796
|
+
orange: "#FFA500",
|
|
4797
|
+
orangered: "#FF4500",
|
|
4798
|
+
orchid: "#DA70D6",
|
|
4799
|
+
palegoldenrod: "#EEE8AA",
|
|
4800
|
+
palegreen: "#98FB98",
|
|
4801
|
+
paleturquoise: "#AFEEEE",
|
|
4802
|
+
palevioletred: "#DB7093",
|
|
4803
|
+
papayawhip: "#FFEFD5",
|
|
4804
|
+
peachpuff: "#FFDAB9",
|
|
4805
|
+
peru: "#CD853F",
|
|
4806
|
+
pink: "#FFC0CB",
|
|
4807
|
+
plum: "#DDA0DD",
|
|
4808
|
+
powderblue: "#B0E0E6",
|
|
4809
|
+
purple: "#800080",
|
|
4810
|
+
rebeccapurple: "#663399",
|
|
4811
|
+
red: "#FF0000",
|
|
4812
|
+
rosybrown: "#BC8F8F",
|
|
4813
|
+
royalblue: "#4169E1",
|
|
4814
|
+
saddlebrown: "#8B4513",
|
|
4815
|
+
salmon: "#FA8072",
|
|
4816
|
+
sandybrown: "#F4A460",
|
|
4817
|
+
seagreen: "#2E8B57",
|
|
4818
|
+
seashell: "#FFF5EE",
|
|
4819
|
+
sienna: "#A0522D",
|
|
4820
|
+
silver: "#C0C0C0",
|
|
4821
|
+
skyblue: "#87CEEB",
|
|
4822
|
+
slateblue: "#6A5ACD",
|
|
4823
|
+
slategray: "#708090",
|
|
4824
|
+
slategrey: "#708090",
|
|
4825
|
+
snow: "#FFFAFA",
|
|
4826
|
+
springgreen: "#00FF7F",
|
|
4827
|
+
steelblue: "#4682B4",
|
|
4828
|
+
tan: "#D2B48C",
|
|
4829
|
+
teal: "#008080",
|
|
4830
|
+
thistle: "#D8BFD8",
|
|
4831
|
+
tomato: "#FF6347",
|
|
4832
|
+
turquoise: "#40E0D0",
|
|
4833
|
+
violet: "#EE82EE",
|
|
4834
|
+
wheat: "#F5DEB3",
|
|
4835
|
+
white: "#FFFFFF",
|
|
4836
|
+
whitesmoke: "#F5F5F5",
|
|
4837
|
+
yellow: "#FFFF00",
|
|
4838
|
+
yellowgreen: "#9ACD32"
|
|
4839
|
+
};
|
|
4840
|
+
class FocusLoopContext {
|
|
4841
|
+
constructor(el) {
|
|
4842
|
+
this.el = el;
|
|
4843
|
+
}
|
|
4844
|
+
firstEl;
|
|
4845
|
+
lastEl;
|
|
4846
|
+
update() {
|
|
4847
|
+
const first = findFirstFocusableElement(this.el);
|
|
4848
|
+
if (this.firstEl !== first) {
|
|
4849
|
+
this.firstEl?.removeEventListener("keydown", this.onShiftTabKeyDown.bind(this));
|
|
4850
|
+
this.firstEl = first;
|
|
4851
|
+
this.firstEl?.addEventListener("keydown", this.onShiftTabKeyDown.bind(this));
|
|
4852
|
+
}
|
|
4853
|
+
const last = findLastFocusableElement(this.el);
|
|
4854
|
+
if (this.lastEl !== last) {
|
|
4855
|
+
this.lastEl?.removeEventListener("keydown", this.onTabKeyDown.bind(this));
|
|
4856
|
+
this.lastEl = last;
|
|
4857
|
+
this.lastEl?.addEventListener("keydown", this.onTabKeyDown.bind(this));
|
|
4858
|
+
}
|
|
4859
|
+
}
|
|
4860
|
+
onTabKeyDown(event) {
|
|
4861
|
+
if (event.key == "Tab" && !event.shiftKey) {
|
|
4862
|
+
this.firstEl?.focus();
|
|
4863
|
+
event.preventDefault();
|
|
4864
|
+
event.stopPropagation();
|
|
4865
|
+
}
|
|
4866
|
+
}
|
|
4867
|
+
onShiftTabKeyDown(event) {
|
|
4868
|
+
if (event.key == "Tab" && event.shiftKey) {
|
|
4869
|
+
this.lastEl?.focus();
|
|
4870
|
+
event.preventDefault();
|
|
4871
|
+
event.stopPropagation();
|
|
4872
|
+
}
|
|
4873
|
+
}
|
|
4874
|
+
}
|
|
4875
|
+
const VFocusLoop = {
|
|
4876
|
+
mounted: async (el, _binding) => {
|
|
4877
|
+
if (el instanceof HTMLElement) {
|
|
4878
|
+
el.vFocusLoopContext = new FocusLoopContext(el);
|
|
4879
|
+
await vue.nextTick();
|
|
4880
|
+
el.vFocusLoopContext.update();
|
|
4881
|
+
}
|
|
4882
|
+
}
|
|
4883
|
+
};
|
|
4884
|
+
const _hoisted_1$5 = { class: "bs-modal-frame flex flex-col" };
|
|
4885
|
+
const _hoisted_2$4 = {
|
|
4886
|
+
key: 0,
|
|
4887
|
+
class: "title-bar flex flex-row items-center"
|
|
4888
|
+
};
|
|
4889
|
+
const _hoisted_3$2 = { class: "title grow" };
|
|
4890
|
+
const _hoisted_4$2 = ["textContent"];
|
|
4891
|
+
const _hoisted_5$1 = { class: "title-buttons" };
|
|
4892
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
4893
|
+
__name: "BSModalFrame",
|
|
4894
|
+
props: {
|
|
4895
|
+
title: {},
|
|
4896
|
+
hideMaximizeButton: { type: Boolean },
|
|
4897
|
+
hideCloseButton: { type: Boolean },
|
|
4898
|
+
closeCaption: { default: "Close" },
|
|
4899
|
+
autoFocus: { type: Boolean }
|
|
4900
|
+
},
|
|
4901
|
+
emits: ["closeModal"],
|
|
4902
|
+
setup(__props, { emit: __emit }) {
|
|
4903
|
+
const props = __props;
|
|
4904
|
+
const emit = __emit;
|
|
4905
|
+
const slots = vue.useSlots();
|
|
4906
|
+
const hasTitleBar = vue.computed(
|
|
4907
|
+
() => props.title || slots["title"] || slots["title-buttons"] || !props.hideCloseButton
|
|
4908
|
+
);
|
|
4909
|
+
const hasButtons = vue.computed(() => slots["buttons"]);
|
|
4910
|
+
const modalHandle = useModalHandle();
|
|
4911
|
+
const toggleMaximize = () => {
|
|
4912
|
+
modalHandle.maximized = !modalHandle.maximized;
|
|
4913
|
+
};
|
|
4914
|
+
const closeModal = () => {
|
|
4915
|
+
modalHandle.close();
|
|
4916
|
+
emit("closeModal");
|
|
4917
|
+
};
|
|
4918
|
+
const modalBody = vue.ref();
|
|
4919
|
+
const modalButtons = vue.ref();
|
|
4920
|
+
vue.onMounted(async () => {
|
|
4921
|
+
await vue.nextTick();
|
|
4922
|
+
if (props.autoFocus) {
|
|
4923
|
+
modalBody.value && focusFirstElement(modalBody.value) || modalButtons.value && focusFirstElement(modalButtons.value);
|
|
4924
|
+
} else if (modalBody.value) {
|
|
4925
|
+
modalBody.value.tabIndex = 0;
|
|
4926
|
+
modalBody.value.focus();
|
|
4927
|
+
modalBody.value.tabIndex = -1;
|
|
4928
|
+
}
|
|
4929
|
+
});
|
|
4930
|
+
return (_ctx, _cache) => {
|
|
4931
|
+
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
|
|
4932
|
+
hasTitleBar.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$4, [
|
|
4933
|
+
vue.createElementVNode("div", _hoisted_3$2, [
|
|
4934
|
+
vue.renderSlot(_ctx.$slots, "title", {}, () => [
|
|
4935
|
+
vue.createElementVNode("span", {
|
|
4936
|
+
textContent: vue.toDisplayString(__props.title)
|
|
4937
|
+
}, null, 8, _hoisted_4$2)
|
|
4938
|
+
])
|
|
4939
|
+
]),
|
|
4940
|
+
vue.createElementVNode("div", _hoisted_5$1, [
|
|
4941
|
+
vue.renderSlot(_ctx.$slots, "title-buttons")
|
|
4942
|
+
]),
|
|
4943
|
+
vue.createElementVNode("div", null, [
|
|
4944
|
+
!__props.hideMaximizeButton ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
|
|
4945
|
+
key: 0,
|
|
4946
|
+
"left-icon": vue.unref(modalHandle).maximized ? "minimize" : "maximize",
|
|
4947
|
+
title: vue.unref(modalHandle).maximized ? "Restore" : "Maximize",
|
|
4948
|
+
class: "border-0 maximize-btn",
|
|
4949
|
+
onClick: toggleMaximize
|
|
4950
|
+
}, null, 8, ["left-icon", "title"])) : vue.createCommentVNode("", true),
|
|
4951
|
+
!__props.hideCloseButton ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
|
|
4952
|
+
key: 1,
|
|
4953
|
+
title: __props.closeCaption,
|
|
4954
|
+
class: "border-0 close-btn",
|
|
4955
|
+
"left-icon": "close",
|
|
4956
|
+
onClick: closeModal
|
|
4957
|
+
}, null, 8, ["title"])) : vue.createCommentVNode("", true)
|
|
4958
|
+
])
|
|
4959
|
+
])) : vue.createCommentVNode("", true),
|
|
4960
|
+
vue.createElementVNode("div", {
|
|
4961
|
+
ref_key: "modalBody",
|
|
4962
|
+
ref: modalBody,
|
|
4963
|
+
class: "grow overflow-auto outline-none"
|
|
4964
|
+
}, [
|
|
4965
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
4966
|
+
], 512),
|
|
4967
|
+
hasButtons.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
4968
|
+
key: 1,
|
|
4969
|
+
ref_key: "modalButtons",
|
|
4970
|
+
ref: modalButtons,
|
|
4971
|
+
class: "buttons"
|
|
4972
|
+
}, [
|
|
4973
|
+
vue.renderSlot(_ctx.$slots, "buttons")
|
|
4974
|
+
], 512)) : vue.createCommentVNode("", true)
|
|
4975
|
+
])), [
|
|
4976
|
+
[vue.unref(VFocusLoop)]
|
|
4977
|
+
]);
|
|
4978
|
+
};
|
|
4979
|
+
}
|
|
4980
|
+
});
|
|
4981
|
+
const _hoisted_1$4 = ["textContent"];
|
|
4982
|
+
const _hoisted_2$3 = { class: "text-right" };
|
|
4983
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
4984
|
+
__name: "BSAlertModal",
|
|
4985
|
+
props: {
|
|
4986
|
+
title: {},
|
|
4987
|
+
message: {},
|
|
4988
|
+
okCaption: { default: "OK" }
|
|
4989
|
+
},
|
|
4990
|
+
emits: ["click"],
|
|
4991
|
+
setup(__props, { emit: __emit }) {
|
|
4992
|
+
const emit = __emit;
|
|
4993
|
+
const modalHandle = useModalHandle();
|
|
4994
|
+
modalHandle.setDefaultStyle({
|
|
4995
|
+
minWidth: "300px",
|
|
4996
|
+
escToClose: true
|
|
4997
|
+
});
|
|
4998
|
+
const clickOk = () => {
|
|
4999
|
+
emit("click");
|
|
5000
|
+
modalHandle.close();
|
|
5001
|
+
};
|
|
5002
|
+
return (_ctx, _cache) => {
|
|
5003
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$5, {
|
|
5004
|
+
title: __props.title,
|
|
5005
|
+
"auto-focus": ""
|
|
5006
|
+
}, {
|
|
5007
|
+
buttons: vue.withCtx(() => [
|
|
5008
|
+
vue.createElementVNode("div", _hoisted_2$3, [
|
|
5009
|
+
vue.withDirectives(vue.createVNode(_sfc_main$w, {
|
|
5010
|
+
caption: __props.okCaption,
|
|
5011
|
+
"button-color": "blue",
|
|
5012
|
+
class: "min-w-80",
|
|
5013
|
+
"data-id": "okBtn",
|
|
5014
|
+
onClick: clickOk
|
|
5015
|
+
}, null, 8, ["caption"]), [
|
|
5016
|
+
[vue.unref(vFocusOnLoad)]
|
|
5017
|
+
])
|
|
5018
|
+
])
|
|
5019
|
+
]),
|
|
5020
|
+
default: vue.withCtx(() => [
|
|
5021
|
+
vue.createElementVNode("div", {
|
|
5022
|
+
textContent: vue.toDisplayString(__props.message)
|
|
5023
|
+
}, null, 8, _hoisted_1$4)
|
|
5024
|
+
]),
|
|
5025
|
+
_: 1
|
|
5026
|
+
}, 8, ["title"]);
|
|
5027
|
+
};
|
|
5028
|
+
}
|
|
5029
|
+
});
|
|
5030
|
+
const BSAlertModal = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5031
|
+
__proto__: null,
|
|
5032
|
+
default: _sfc_main$4
|
|
5033
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
5034
|
+
const _hoisted_1$3 = ["textContent"];
|
|
5035
|
+
const _hoisted_2$2 = { class: "text-right" };
|
|
5036
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
5037
|
+
__name: "BSYesNoModal",
|
|
5038
|
+
props: {
|
|
5039
|
+
title: {},
|
|
5040
|
+
message: {},
|
|
5041
|
+
yesCaption: { default: "Yes" },
|
|
5042
|
+
noCaption: { default: "No" }
|
|
5043
|
+
},
|
|
5044
|
+
emits: ["clickNo", "clickYes"],
|
|
5045
|
+
setup(__props, { emit: __emit }) {
|
|
5046
|
+
const emit = __emit;
|
|
5047
|
+
const modalHandle = useModalHandle();
|
|
5048
|
+
modalHandle.setDefaultStyle({
|
|
5049
|
+
minWidth: "300px",
|
|
5050
|
+
escToClose: true
|
|
5051
|
+
});
|
|
5052
|
+
const clickNo = () => {
|
|
5053
|
+
emit("clickNo");
|
|
5054
|
+
modalHandle.close();
|
|
5055
|
+
};
|
|
5056
|
+
const clickYes = () => {
|
|
5057
|
+
emit("clickYes");
|
|
5058
|
+
modalHandle.close();
|
|
5059
|
+
};
|
|
5060
|
+
return (_ctx, _cache) => {
|
|
5061
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$5, { title: __props.title }, {
|
|
5062
|
+
buttons: vue.withCtx(() => [
|
|
5063
|
+
vue.createElementVNode("div", _hoisted_2$2, [
|
|
5064
|
+
vue.createVNode(_sfc_main$w, {
|
|
5065
|
+
caption: __props.noCaption,
|
|
5066
|
+
class: "min-w-80",
|
|
5067
|
+
"data-id": "noBtn",
|
|
5068
|
+
onClick: clickNo
|
|
5069
|
+
}, null, 8, ["caption"]),
|
|
5070
|
+
vue.createVNode(_sfc_main$w, {
|
|
5071
|
+
caption: __props.yesCaption,
|
|
5072
|
+
"button-color": "blue",
|
|
5073
|
+
class: "ml-8 min-w-80",
|
|
5074
|
+
"data-id": "yesBtn",
|
|
5075
|
+
onClick: clickYes
|
|
5076
|
+
}, null, 8, ["caption"])
|
|
5077
|
+
])
|
|
5078
|
+
]),
|
|
5079
|
+
default: vue.withCtx(() => [
|
|
5080
|
+
vue.createElementVNode("div", {
|
|
5081
|
+
textContent: vue.toDisplayString(__props.message)
|
|
5082
|
+
}, null, 8, _hoisted_1$3)
|
|
5083
|
+
]),
|
|
5084
|
+
_: 1
|
|
5085
|
+
}, 8, ["title"]);
|
|
5086
|
+
};
|
|
5087
|
+
}
|
|
5088
|
+
});
|
|
5089
|
+
const BSYesNoModal = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5090
|
+
__proto__: null,
|
|
5091
|
+
default: _sfc_main$3
|
|
5092
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
4323
5093
|
const _hoisted_1$2 = { class: "bs-notification-container" };
|
|
4324
5094
|
const _hoisted_2$1 = { class: "top-notification inline-flex flex-col items-center gap-1" };
|
|
4325
5095
|
const _hoisted_3$1 = ["textContent"];
|
|
@@ -4366,7 +5136,7 @@
|
|
|
4366
5136
|
})
|
|
4367
5137
|
]),
|
|
4368
5138
|
vue.createElementVNode("div", _hoisted_5, [
|
|
4369
|
-
vue.unref(tooltipEntry) ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
5139
|
+
vue.unref(tooltipEntry) ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
|
|
4370
5140
|
key: 0,
|
|
4371
5141
|
ref_key: "tooltip",
|
|
4372
5142
|
ref: tooltip,
|
|
@@ -4433,7 +5203,7 @@
|
|
|
4433
5203
|
return (_ctx, _cache) => {
|
|
4434
5204
|
const _component_router_link = vue.resolveComponent("router-link");
|
|
4435
5205
|
const _component_BSContextMenu = vue.resolveComponent("BSContextMenu", true);
|
|
4436
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
5206
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
4437
5207
|
ref: "root",
|
|
4438
5208
|
"base-element": __props.baseElement || { left: __props.left || 0, top: __props.top || 0 },
|
|
4439
5209
|
"popup-direction": __props.direction,
|
|
@@ -4532,49 +5302,95 @@
|
|
|
4532
5302
|
};
|
|
4533
5303
|
}
|
|
4534
5304
|
});
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
exports2.
|
|
4538
|
-
exports2.
|
|
4539
|
-
exports2.
|
|
4540
|
-
exports2.
|
|
5305
|
+
class IllegalAccessError {
|
|
5306
|
+
}
|
|
5307
|
+
exports2.BSAlertModal = _sfc_main$4;
|
|
5308
|
+
exports2.BSButton = _sfc_main$w;
|
|
5309
|
+
exports2.BSCalendar = _sfc_main$o;
|
|
5310
|
+
exports2.BSCalendarRange = _sfc_main$n;
|
|
5311
|
+
exports2.BSCardLayout = _sfc_main$8;
|
|
5312
|
+
exports2.BSCheckbox = _sfc_main$i;
|
|
5313
|
+
exports2.BSCheckboxGroup = _sfc_main$h;
|
|
4541
5314
|
exports2.BSContextMenu = _sfc_main$1;
|
|
4542
5315
|
exports2.BSContextMenuContainer = _sfc_main;
|
|
4543
5316
|
exports2.BSContextMenuPlugin = BSContextMenuPlugin;
|
|
4544
|
-
exports2.BSDateInput = _sfc_main$
|
|
4545
|
-
exports2.BSDateInputPopup = _sfc_main$
|
|
4546
|
-
exports2.BSDateRange = _sfc_main$
|
|
4547
|
-
exports2.BSDateRangeInputPopup = _sfc_main$
|
|
5317
|
+
exports2.BSDateInput = _sfc_main$c;
|
|
5318
|
+
exports2.BSDateInputPopup = _sfc_main$d;
|
|
5319
|
+
exports2.BSDateRange = _sfc_main$a;
|
|
5320
|
+
exports2.BSDateRangeInputPopup = _sfc_main$b;
|
|
4548
5321
|
exports2.BSLoadingIcon = BSLoadingIcon;
|
|
4549
|
-
exports2.
|
|
5322
|
+
exports2.BSModal = BSModal;
|
|
5323
|
+
exports2.BSModalContainer = _sfc_main$6;
|
|
5324
|
+
exports2.BSModalFrame = _sfc_main$5;
|
|
5325
|
+
exports2.BSMultiSelect = _sfc_main$e;
|
|
4550
5326
|
exports2.BSNotificationContainer = _sfc_main$2;
|
|
4551
|
-
exports2.BSNumberInput = _sfc_main$
|
|
4552
|
-
exports2.BSPageNavigation = _sfc_main$
|
|
4553
|
-
exports2.BSPopup = _sfc_main$
|
|
4554
|
-
exports2.BSRadioButton = _sfc_main$
|
|
4555
|
-
exports2.BSRadioButtonGroup = _sfc_main$
|
|
4556
|
-
exports2.BSSelect = _sfc_main$
|
|
4557
|
-
exports2.BSTextArea = _sfc_main$
|
|
4558
|
-
exports2.BSTextInput = _sfc_main$
|
|
4559
|
-
exports2.BSTooltip = _sfc_main$
|
|
5327
|
+
exports2.BSNumberInput = _sfc_main$k;
|
|
5328
|
+
exports2.BSPageNavigation = _sfc_main$v;
|
|
5329
|
+
exports2.BSPopup = _sfc_main$t;
|
|
5330
|
+
exports2.BSRadioButton = _sfc_main$g;
|
|
5331
|
+
exports2.BSRadioButtonGroup = _sfc_main$f;
|
|
5332
|
+
exports2.BSSelect = _sfc_main$p;
|
|
5333
|
+
exports2.BSTextArea = _sfc_main$j;
|
|
5334
|
+
exports2.BSTextInput = _sfc_main$l;
|
|
5335
|
+
exports2.BSTooltip = _sfc_main$s;
|
|
5336
|
+
exports2.BSYesNoModal = _sfc_main$3;
|
|
4560
5337
|
exports2.BlueseaPlugin = BlueseaPlugin;
|
|
4561
5338
|
exports2.ContextMenuPluginKey = ContextMenuPluginKey;
|
|
5339
|
+
exports2.IllegalAccessError = IllegalAccessError;
|
|
5340
|
+
exports2.NAMED_COLORS = NAMED_COLORS;
|
|
4562
5341
|
exports2.SavePointImpl = SavePointImpl;
|
|
5342
|
+
exports2.alarmEntries = alarmEntries;
|
|
4563
5343
|
exports2.cancelProvidedSavePoint = cancelProvidedSavePoint;
|
|
5344
|
+
exports2.closeAlarm = closeAlarm;
|
|
5345
|
+
exports2.componentUtil = componentUtil;
|
|
4564
5346
|
exports2.createContextMenuPlugin = createContextMenuPlugin;
|
|
5347
|
+
exports2.createModalPlugin = createModalPlugin;
|
|
4565
5348
|
exports2.debounce = debounce;
|
|
5349
|
+
exports2.defaultKeyProvider = defaultKeyProvider;
|
|
5350
|
+
exports2.defaultLabelProvider = defaultLabelProvider;
|
|
5351
|
+
exports2.emptyKeyProvider = emptyKeyProvider;
|
|
5352
|
+
exports2.emptyLabelProvider = emptyLabelProvider;
|
|
5353
|
+
exports2.executeKeyProviderOrDefault = executeKeyProviderOrDefault;
|
|
5354
|
+
exports2.executeLabelProviderOrDefault = executeLabelProviderOrDefault;
|
|
5355
|
+
exports2.findElement = findElement;
|
|
5356
|
+
exports2.findFirstFocusableElement = findFirstFocusableElement;
|
|
5357
|
+
exports2.findInputComponents = findInputComponents;
|
|
5358
|
+
exports2.findLastFocusableElement = findLastFocusableElement;
|
|
5359
|
+
exports2.focusFirstElement = focusFirstElement;
|
|
5360
|
+
exports2.focusLastElement = focusLastElement;
|
|
5361
|
+
exports2.formatUtil = formatUtil;
|
|
5362
|
+
exports2.getComponentRootElement = getComponentRootElement;
|
|
5363
|
+
exports2.getSelfIndex = getSelfIndex;
|
|
5364
|
+
exports2.hideLoading = hideLoading;
|
|
5365
|
+
exports2.hideTooltip = hideTooltip;
|
|
5366
|
+
exports2.isTooltipDisplayed = isTooltipDisplayed;
|
|
5367
|
+
exports2.modalHandleKey = modalHandleKey;
|
|
5368
|
+
exports2.modalPluginKey = modalPluginKey;
|
|
4566
5369
|
exports2.notNull = notNull;
|
|
5370
|
+
exports2.notificationEntries = notificationEntries;
|
|
4567
5371
|
exports2.provideFieldContext = provideFieldContext;
|
|
5372
|
+
exports2.provideModalHandle = provideModalHandle;
|
|
4568
5373
|
exports2.provideSavePoint = provideSavePoint;
|
|
5374
|
+
exports2.showAlarm = showAlarm;
|
|
5375
|
+
exports2.showLoading = showLoading;
|
|
5376
|
+
exports2.showLoadingIcon = showLoadingIcon;
|
|
5377
|
+
exports2.showNotification = showNotification;
|
|
5378
|
+
exports2.showTooltip = showTooltip;
|
|
5379
|
+
exports2.tooltipEntry = tooltipEntry;
|
|
4569
5380
|
exports2.tryUntil = tryUntil;
|
|
5381
|
+
exports2.useBlueseaConfig = useBlueseaConfig;
|
|
4570
5382
|
exports2.useContextMenu = useContextMenu;
|
|
4571
5383
|
exports2.useContextMenuOptional = useContextMenuOptional;
|
|
4572
5384
|
exports2.useFieldContext = useFieldContext;
|
|
5385
|
+
exports2.useModal = useModal;
|
|
5386
|
+
exports2.useModalHandle = useModalHandle;
|
|
4573
5387
|
exports2.useSavePoint = useSavePoint;
|
|
4574
5388
|
exports2.vClickOutside = vClickOutside;
|
|
5389
|
+
exports2.vFocusLoop = VFocusLoop;
|
|
4575
5390
|
exports2.vFocusOnLoad = vFocusOnLoad;
|
|
4576
5391
|
exports2.vTooltip = vTooltip;
|
|
4577
5392
|
exports2.waitDuring = waitDuring;
|
|
4578
5393
|
exports2.waitUntil = waitUntil;
|
|
5394
|
+
exports2.withLoading = withLoading;
|
|
4579
5395
|
Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
|
|
4580
5396
|
}));
|