@7pmlabs/design-system 0.3.8 → 0.4.1
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/design-system.js +1 -1
- package/dist/design-system.mjs +32 -32
- package/dist/design-system100.js +1 -1
- package/dist/design-system100.js.map +1 -1
- package/dist/design-system100.mjs +1 -1
- package/dist/design-system100.mjs.map +1 -1
- package/dist/design-system101.js +1 -1
- package/dist/design-system101.js.map +1 -1
- package/dist/design-system101.mjs +63 -2167
- package/dist/design-system101.mjs.map +1 -1
- package/dist/design-system102.js +1 -1
- package/dist/design-system102.js.map +1 -1
- package/dist/design-system102.mjs +6 -1103
- package/dist/design-system102.mjs.map +1 -1
- package/dist/design-system105.js +1 -1
- package/dist/design-system105.mjs +2 -2
- package/dist/design-system106.js +1 -1
- package/dist/design-system106.js.map +1 -1
- package/dist/design-system106.mjs +2 -4
- package/dist/design-system106.mjs.map +1 -1
- package/dist/design-system107.js +1 -1
- package/dist/design-system107.js.map +1 -1
- package/dist/design-system107.mjs +4 -8
- package/dist/design-system107.mjs.map +1 -1
- package/dist/design-system108.js +1 -1
- package/dist/design-system108.js.map +1 -1
- package/dist/design-system108.mjs +7 -6
- package/dist/design-system108.mjs.map +1 -1
- package/dist/design-system109.js +1 -1
- package/dist/design-system109.js.map +1 -1
- package/dist/design-system109.mjs +7 -2
- package/dist/design-system109.mjs.map +1 -1
- package/dist/design-system11.js.map +1 -1
- package/dist/design-system11.mjs.map +1 -1
- package/dist/design-system110.js +1 -1
- package/dist/design-system110.mjs +2 -2
- package/dist/design-system12.js +1 -7
- package/dist/design-system12.js.map +1 -1
- package/dist/design-system12.mjs +17 -297
- package/dist/design-system12.mjs.map +1 -1
- package/dist/design-system13.js +2 -2
- package/dist/design-system13.js.map +1 -1
- package/dist/design-system13.mjs +202 -166
- package/dist/design-system13.mjs.map +1 -1
- package/dist/design-system14.js +7 -1
- package/dist/design-system14.js.map +1 -1
- package/dist/design-system14.mjs +256 -92
- package/dist/design-system14.mjs.map +1 -1
- package/dist/design-system141.js +1 -1
- package/dist/design-system141.mjs +2 -2
- package/dist/design-system15.js +1 -1
- package/dist/design-system15.js.map +1 -1
- package/dist/design-system15.mjs +100 -14
- package/dist/design-system15.mjs.map +1 -1
- package/dist/design-system16.js +1 -1
- package/dist/design-system16.js.map +1 -1
- package/dist/design-system16.mjs +15 -59
- package/dist/design-system16.mjs.map +1 -1
- package/dist/design-system17.js +1 -1
- package/dist/design-system17.js.map +1 -1
- package/dist/design-system17.mjs +52 -243
- package/dist/design-system17.mjs.map +1 -1
- package/dist/design-system18.js +1 -1
- package/dist/design-system18.js.map +1 -1
- package/dist/design-system18.mjs +238 -107
- package/dist/design-system18.mjs.map +1 -1
- package/dist/design-system19.js +1 -3
- package/dist/design-system19.js.map +1 -1
- package/dist/design-system19.mjs +113 -113
- package/dist/design-system19.mjs.map +1 -1
- package/dist/design-system20.js +3 -1
- package/dist/design-system20.js.map +1 -1
- package/dist/design-system20.mjs +115 -61
- package/dist/design-system20.mjs.map +1 -1
- package/dist/design-system21.js +1 -1
- package/dist/design-system21.js.map +1 -1
- package/dist/design-system21.mjs +54 -187
- package/dist/design-system21.mjs.map +1 -1
- package/dist/design-system22.js +1 -1
- package/dist/design-system22.js.map +1 -1
- package/dist/design-system22.mjs +187 -62
- package/dist/design-system22.mjs.map +1 -1
- package/dist/design-system23.js +1 -1
- package/dist/design-system23.js.map +1 -1
- package/dist/design-system23.mjs +69 -37
- package/dist/design-system23.mjs.map +1 -1
- package/dist/design-system24.js +1 -1
- package/dist/design-system24.js.map +1 -1
- package/dist/design-system24.mjs +37 -144
- package/dist/design-system24.mjs.map +1 -1
- package/dist/design-system25.js +1 -1
- package/dist/design-system25.mjs +2 -2
- package/dist/design-system27.js +1 -1
- package/dist/design-system27.mjs +2 -2
- package/dist/design-system28.js +1 -1
- package/dist/design-system28.mjs +10 -6
- package/dist/design-system28.mjs.map +1 -1
- package/dist/design-system29.js +1 -1
- package/dist/design-system29.js.map +1 -1
- package/dist/design-system29.mjs +23 -10
- package/dist/design-system29.mjs.map +1 -1
- package/dist/design-system30.js +1 -1
- package/dist/design-system30.js.map +1 -1
- package/dist/design-system30.mjs +24 -14
- package/dist/design-system30.mjs.map +1 -1
- package/dist/design-system31.js +1 -1
- package/dist/design-system31.js.map +1 -1
- package/dist/design-system31.mjs +5 -29
- package/dist/design-system31.mjs.map +1 -1
- package/dist/design-system32.js +1 -1
- package/dist/design-system32.mjs +3 -3
- package/dist/design-system33.js +1 -1
- package/dist/design-system33.mjs +10 -5
- package/dist/design-system33.mjs.map +1 -1
- package/dist/design-system34.js +1 -1
- package/dist/design-system34.mjs +7 -7
- package/dist/design-system35.js +1 -1
- package/dist/design-system35.mjs +6 -6
- package/dist/design-system36.js +1 -1
- package/dist/design-system36.mjs +8 -8
- package/dist/design-system37.js +1 -1
- package/dist/design-system37.mjs +9 -8
- package/dist/design-system37.mjs.map +1 -1
- package/dist/design-system38.js +1 -1
- package/dist/design-system38.mjs +4 -10
- package/dist/design-system38.mjs.map +1 -1
- package/dist/design-system39.js +1 -1
- package/dist/design-system39.mjs +4 -4
- package/dist/design-system40.js +1 -1
- package/dist/design-system40.js.map +1 -1
- package/dist/design-system40.mjs +68 -141
- package/dist/design-system40.mjs.map +1 -1
- package/dist/design-system41.js +1 -1
- package/dist/design-system41.js.map +1 -1
- package/dist/design-system41.mjs +5 -76
- package/dist/design-system41.mjs.map +1 -1
- package/dist/design-system42.js +1 -1
- package/dist/design-system42.mjs +10 -5
- package/dist/design-system42.mjs.map +1 -1
- package/dist/design-system43.js +1 -1
- package/dist/design-system43.mjs +13 -8
- package/dist/design-system43.mjs.map +1 -1
- package/dist/design-system44.js +1 -1
- package/dist/design-system44.mjs +5 -15
- package/dist/design-system44.mjs.map +1 -1
- package/dist/design-system45.js +1 -1
- package/dist/design-system45.js.map +1 -1
- package/dist/design-system45.mjs +59 -5
- package/dist/design-system45.mjs.map +1 -1
- package/dist/design-system46.js +1 -1
- package/dist/design-system46.js.map +1 -1
- package/dist/design-system46.mjs +5 -59
- package/dist/design-system46.mjs.map +1 -1
- package/dist/design-system54.js +1 -1
- package/dist/design-system54.js.map +1 -1
- package/dist/design-system54.mjs +28 -28
- package/dist/design-system54.mjs.map +1 -1
- package/dist/design-system59.js +1 -1
- package/dist/design-system59.js.map +1 -1
- package/dist/design-system59.mjs +1 -1
- package/dist/design-system59.mjs.map +1 -1
- package/dist/design-system61.js +1 -1
- package/dist/design-system61.js.map +1 -1
- package/dist/design-system61.mjs +2 -49
- package/dist/design-system61.mjs.map +1 -1
- package/dist/design-system62.js +1 -1
- package/dist/design-system62.mjs +2 -2
- package/dist/design-system63.js +1 -1
- package/dist/design-system63.mjs +2 -2
- package/dist/design-system64.js +1 -1
- package/dist/design-system64.mjs +1 -1
- package/dist/design-system65.js +1 -1
- package/dist/design-system65.mjs +1 -1
- package/dist/design-system66.js +1 -1
- package/dist/design-system66.mjs +1 -1
- package/dist/design-system67.js +1 -1
- package/dist/design-system67.mjs +1 -1
- package/dist/design-system68.js +1 -1
- package/dist/design-system68.js.map +1 -1
- package/dist/design-system68.mjs +28 -2
- package/dist/design-system68.mjs.map +1 -1
- package/dist/design-system69.js +1 -1
- package/dist/design-system69.mjs +2 -2
- package/dist/design-system70.js +1 -1
- package/dist/design-system70.js.map +1 -1
- package/dist/design-system70.mjs +51 -21
- package/dist/design-system70.mjs.map +1 -1
- package/dist/design-system71.js +1 -1
- package/dist/design-system71.mjs +2 -2
- package/dist/design-system72.js +1 -1
- package/dist/design-system72.js.map +1 -1
- package/dist/design-system72.mjs +2 -58
- package/dist/design-system72.mjs.map +1 -1
- package/dist/design-system73.js +1 -1
- package/dist/design-system73.mjs +2 -2
- package/dist/design-system74.js +1 -1
- package/dist/design-system74.mjs +1 -1
- package/dist/design-system75.js +1 -1
- package/dist/design-system75.mjs +1 -1
- package/dist/design-system76.js +1 -1
- package/dist/design-system76.mjs +1 -1
- package/dist/design-system77.js +1 -1
- package/dist/design-system77.mjs +1 -1
- package/dist/design-system78.js +1 -1
- package/dist/design-system78.mjs +2 -2
- package/dist/design-system79.js +1 -1
- package/dist/design-system79.js.map +1 -1
- package/dist/design-system79.mjs +81 -2
- package/dist/design-system79.mjs.map +1 -1
- package/dist/design-system80.js +1 -1
- package/dist/design-system80.mjs +2 -2
- package/dist/design-system81.js +1 -1
- package/dist/design-system81.js.map +1 -1
- package/dist/design-system81.mjs +2 -81
- package/dist/design-system81.mjs.map +1 -1
- package/dist/design-system82.js +1 -1
- package/dist/design-system82.js.map +1 -1
- package/dist/design-system82.mjs +119 -2
- package/dist/design-system82.mjs.map +1 -1
- package/dist/design-system83.js +1 -1
- package/dist/design-system83.mjs +2 -2
- package/dist/design-system84.js +1 -1
- package/dist/design-system84.mjs +1 -1
- package/dist/design-system85.js +1 -1
- package/dist/design-system85.mjs +1 -1
- package/dist/design-system86.js +1 -1
- package/dist/design-system86.js.map +1 -1
- package/dist/design-system86.mjs +102 -2
- package/dist/design-system86.mjs.map +1 -1
- package/dist/design-system87.js +1 -1
- package/dist/design-system87.js.map +1 -1
- package/dist/design-system87.mjs +2 -102
- package/dist/design-system87.mjs.map +1 -1
- package/dist/design-system88.js +1 -1
- package/dist/design-system88.js.map +1 -1
- package/dist/design-system88.mjs +173 -2
- package/dist/design-system88.mjs.map +1 -1
- package/dist/design-system89.js +1 -1
- package/dist/design-system89.js.map +1 -1
- package/dist/design-system89.mjs +2 -175
- package/dist/design-system89.mjs.map +1 -1
- package/dist/design-system90.js +1 -1
- package/dist/design-system90.mjs +2 -2
- package/dist/design-system91.js +1 -1
- package/dist/design-system91.js.map +1 -1
- package/dist/design-system91.mjs +131 -2
- package/dist/design-system91.mjs.map +1 -1
- package/dist/design-system92.js +1 -1
- package/dist/design-system92.mjs +2 -2
- package/dist/design-system97.js +1 -1
- package/dist/design-system97.js.map +1 -1
- package/dist/design-system97.mjs +2167 -63
- package/dist/design-system97.mjs.map +1 -1
- package/dist/design-system98.js +1 -1
- package/dist/design-system98.js.map +1 -1
- package/dist/design-system98.mjs +1103 -17
- package/dist/design-system98.mjs.map +1 -1
- package/dist/design-system99.js +1 -1
- package/dist/design-system99.js.map +1 -1
- package/dist/design-system99.mjs +16 -5
- package/dist/design-system99.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/BButton.vue.d.ts +6 -3
- package/dist/types/components/BCarousel/BCarousel.vue.d.ts +1 -1
- package/dist/types/components/BCheckbox.vue.d.ts +1 -4
- package/dist/types/components/BCollapse.vue.d.ts +1 -1
- package/dist/types/components/BCurrencyField.vue.d.ts +12 -66
- package/dist/types/components/BDatePicker.vue.d.ts +1 -4
- package/dist/types/components/BDateRangePicker.vue.d.ts +1 -4
- package/dist/types/components/BDropdown/BDropdown.vue.d.ts +4 -4
- package/dist/types/components/BDropdown/BDropdownItem.vue.d.ts +0 -3
- package/dist/types/components/BErrorMessage.vue.d.ts +9 -5
- package/dist/types/components/BImagePicker/BImagePicker.vue.d.ts +1 -4
- package/dist/types/components/BImagePicker/BImagePreview.vue.d.ts +1 -4
- package/dist/types/components/BLabel.vue.d.ts +0 -3
- package/dist/types/components/BLoadingBar.vue.d.ts +0 -3
- package/dist/types/components/BLoadingOverlay.vue.d.ts +0 -3
- package/dist/types/components/BModal/BModal.vue.d.ts +4 -4
- package/dist/types/components/BModal/BModalContainer.vue.d.ts +0 -3
- package/dist/types/components/BMultiSelect.vue.d.ts +2 -5
- package/dist/types/components/BOtpField/BOtpField.vue.d.ts +2 -5
- package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +6 -9
- package/dist/types/components/BPagination.vue.d.ts +1 -4
- package/dist/types/components/BRadio.vue.d.ts +1 -4
- package/dist/types/components/BSelect.vue.d.ts +2 -5
- package/dist/types/components/BTabs/BTabs.vue.d.ts +1 -4
- package/dist/types/components/BTextField.vue.d.ts +8 -61
- package/dist/types/components/BTextarea.vue.d.ts +1 -4
- package/dist/types/components/BToast/BToast.vue.d.ts +1 -4
- package/dist/types/components/BToast/BToastItem.vue.d.ts +0 -3
- package/dist/types/components/BTooltip.vue.d.ts +1 -4
- package/package.json +10 -10
package/dist/design-system15.mjs
CHANGED
|
@@ -1,23 +1,109 @@
|
|
|
1
|
-
import { defineComponent as r,
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { defineComponent as M, ref as d, computed as E, watch as r, nextTick as _, onMounted as D, onBeforeUnmount as z, provide as F, openBlock as w, createElementBlock as h, toDisplayString as I, createCommentVNode as S, createElementVNode as O, normalizeClass as b, renderSlot as $, withDirectives as x, vShow as N } from "vue";
|
|
2
|
+
import { ensureVisiblePosition as T, resetPosition as K } from "./design-system6.mjs";
|
|
3
|
+
import { PIKey as U } from "./design-system4.mjs";
|
|
4
|
+
import j from "./design-system99.mjs";
|
|
5
|
+
const q = ["for"], A = ["id"], G = ["id", "data-cy", "data-ut"], X = /* @__PURE__ */ M({
|
|
6
|
+
__name: "BDropdown",
|
|
5
7
|
props: {
|
|
6
|
-
|
|
8
|
+
inputId: { default: "" },
|
|
9
|
+
modelValue: { type: Boolean, default: void 0 },
|
|
10
|
+
label: { default: "" },
|
|
11
|
+
toggleCssClass: { default: "" },
|
|
12
|
+
menuCssClass: { default: "" },
|
|
13
|
+
noCloseOnClickOutside: { type: Boolean, default: !1 },
|
|
14
|
+
noCloseOnEsc: { type: Boolean, default: !1 },
|
|
15
|
+
menuFixed: { type: Boolean, default: !1 }
|
|
7
16
|
},
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
17
|
+
emits: ["hidden", "shown", "update:modelValue"],
|
|
18
|
+
setup(B, { emit: a }) {
|
|
19
|
+
const o = B, c = d(null), t = d(null), n = d(null), f = d(!1), i = E(() => o.inputId || `id-${j()}`), s = E({
|
|
20
|
+
get() {
|
|
21
|
+
return o.modelValue !== void 0 ? o.modelValue : f.value;
|
|
22
|
+
},
|
|
23
|
+
set(e) {
|
|
24
|
+
o.modelValue !== void 0 ? a("update:modelValue", e) : f.value = e;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
r(s, (e) => {
|
|
28
|
+
var l;
|
|
29
|
+
e ? P() : (k(), (l = c.value) == null || l.blur());
|
|
30
|
+
}), r(
|
|
31
|
+
() => o.noCloseOnClickOutside,
|
|
32
|
+
(e) => {
|
|
33
|
+
e ? g() : p();
|
|
34
|
+
}
|
|
35
|
+
), r(
|
|
36
|
+
() => o.noCloseOnEsc,
|
|
37
|
+
(e) => {
|
|
38
|
+
e ? y() : m();
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
const m = () => {
|
|
42
|
+
document.addEventListener("keydown", v);
|
|
43
|
+
}, v = (e) => {
|
|
44
|
+
e.key === "Escape" && u();
|
|
45
|
+
}, p = () => {
|
|
46
|
+
document.addEventListener("click", C);
|
|
47
|
+
}, C = (e) => {
|
|
48
|
+
[t.value, n.value].some((L) => e.composedPath().includes(L)) || u();
|
|
49
|
+
}, V = () => {
|
|
50
|
+
s.value = !s.value;
|
|
51
|
+
}, P = () => {
|
|
52
|
+
_(() => {
|
|
53
|
+
T(
|
|
54
|
+
t.value,
|
|
55
|
+
n.value,
|
|
56
|
+
o.menuFixed
|
|
57
|
+
), a("shown");
|
|
58
|
+
});
|
|
59
|
+
}, k = () => {
|
|
60
|
+
K(t.value, n.value), a("hidden");
|
|
61
|
+
}, u = () => {
|
|
62
|
+
s.value = !1;
|
|
63
|
+
}, y = () => {
|
|
64
|
+
document.removeEventListener("keydown", v);
|
|
65
|
+
}, g = () => {
|
|
66
|
+
document.removeEventListener("click", C);
|
|
11
67
|
};
|
|
12
|
-
return (
|
|
13
|
-
|
|
14
|
-
|
|
68
|
+
return D(() => {
|
|
69
|
+
o.noCloseOnEsc || m(), o.noCloseOnClickOutside || p();
|
|
70
|
+
}), z(() => {
|
|
71
|
+
y(), g(), k();
|
|
72
|
+
}), F(U.CloseDropdown, u), (e, l) => (w(), h("div", {
|
|
73
|
+
ref_key: "dropdown",
|
|
74
|
+
ref: t
|
|
15
75
|
}, [
|
|
16
|
-
|
|
17
|
-
|
|
76
|
+
o.label ? (w(), h("label", {
|
|
77
|
+
key: 0,
|
|
78
|
+
for: i.value,
|
|
79
|
+
class: "ds-mb-2 ds-block ds-text-xs ds-font-bold ds-capitalize ds-text-gray-500"
|
|
80
|
+
}, I(o.label), 9, q)) : S("", !0),
|
|
81
|
+
O("button", {
|
|
82
|
+
id: i.value,
|
|
83
|
+
ref_key: "toggle",
|
|
84
|
+
ref: c,
|
|
85
|
+
class: b([e.toggleCssClass, "focus:ds-ring-1 focus:ds-ring-primary-t"]),
|
|
86
|
+
type: "button",
|
|
87
|
+
onClick: V
|
|
88
|
+
}, [
|
|
89
|
+
$(e.$slots, "toggle")
|
|
90
|
+
], 10, A),
|
|
91
|
+
x(O("div", {
|
|
92
|
+
id: `${i.value}Menu`,
|
|
93
|
+
ref_key: "dropdownMenu",
|
|
94
|
+
ref: n,
|
|
95
|
+
class: b([`${e.menuCssClass} ${o.menuFixed ? "ds-fixed" : "ds-absolute"}`, "ds-z-50 ds-py-1"]),
|
|
96
|
+
"data-cy": e.$attrs["data-cy"] ? `${e.$attrs["data-cy"]}Menu` : void 0,
|
|
97
|
+
"data-ut": e.$attrs["data-ut"] ? `${e.$attrs["data-ut"]}Menu` : void 0
|
|
98
|
+
}, [
|
|
99
|
+
$(e.$slots, "default")
|
|
100
|
+
], 10, G), [
|
|
101
|
+
[N, s.value]
|
|
102
|
+
])
|
|
103
|
+
], 512));
|
|
18
104
|
}
|
|
19
105
|
});
|
|
20
106
|
export {
|
|
21
|
-
|
|
107
|
+
X as default
|
|
22
108
|
};
|
|
23
109
|
//# sourceMappingURL=design-system15.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system15.mjs","sources":["../src/components/BDropdown/BDropdownItem.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { inject } from 'vue';\nimport { PIKey } from '@/constants/Common';\n\n/**\n * Props\n */\nexport interface Props {\n closeOnClick?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDropdownItem',\n props: {\n closeOnClick: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\nconst closeDropdown = inject(PIKey.CloseDropdown);\n\nconst onClick = () => {\n if (props.closeOnClick && closeDropdown) {\n closeDropdown();\n }\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: \"ds-cursor-pointer ds-px-3 ds-py-2 ds-text-sm ds-text-gray-700 hover:ds-bg-slate-100\",\n onClick: onClick\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","props","closeDropdown","inject","PIKey","onClick","_ctx","_cache","_openBlock","_createElementBlock","_renderSlot"],"mappings":";;AAaA,MAA4BA,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,cAAc,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EAChD;AAAA,EACA,MAAMC,GAAc;AAEtB,UAAMC,IAAQD,GAGRE,IAAgBC,EAAOC,EAAM,aAAa,GAE1CC,IAAU,MAAM;AAChB,MAAAJ,EAAM,gBAAgBC,KACVA;IAChB;AAGK,WAAA,CAACI,GAAUC,OACRC,EAAA,GAAcC,EAAoB,MAAM;AAAA,MAC9C,OAAO;AAAA,MACP,SAAAJ;AAAA,IAAA,GACC;AAAA,MACDK,EAAYJ,EAAK,QAAQ,SAAS;AAAA,IAAA,CACnC;AAAA,EAEH;AAEA,CAAC;"}
|
|
1
|
+
{"version":3,"file":"design-system15.mjs","sources":["../src/components/BDropdown/BDropdown.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = [\"for\"]\nconst _hoisted_2 = [\"id\"]\nconst _hoisted_3 = [\"id\", \"data-cy\", \"data-ut\"]\n\nimport {\n ensureVisiblePosition,\n resetPosition,\n} from '@/helpers/ComponentHelper';\nimport { v4 as uuid } from 'uuid';\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n watch,\n} from 'vue';\nimport { PIKey } from '@/constants/Common';\n\n//#region Props\nexport interface BDropdownProps {\n inputId?: string;\n modelValue?: boolean;\n label?: string;\n /**\n * CSS of toggle\n */\n toggleCssClass?: string;\n /**\n * CSS of menu\n */\n menuCssClass?: string;\n /**\n * Prevent menu from closing when clicking outside\n */\n noCloseOnClickOutside?: boolean;\n /**\n * Prevent menu from closing when \"Esc\" pressed\n */\n noCloseOnEsc?: boolean;\n /**\n * Enable \"fix\" position for menu\n */\n menuFixed?: boolean; // menu position should be fixed when toggle position is fixed\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDropdown',\n props: {\n inputId: { default: '' },\n modelValue: { type: Boolean, default: undefined },\n label: { default: '' },\n toggleCssClass: { default: '' },\n menuCssClass: { default: '' },\n noCloseOnClickOutside: { type: Boolean, default: false },\n noCloseOnEsc: { type: Boolean, default: false },\n menuFixed: { type: Boolean, default: false }\n },\n emits: [\"hidden\", \"shown\", \"update:modelValue\"],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n//#endregion\n\n//#region Events\n\n//#endregion\n\n//#region Data\nconst toggle = ref<HTMLElement | null>(null);\nconst dropdown = ref<HTMLElement | null>(null);\nconst dropdownMenu = ref<HTMLElement | null>(null);\nconst mValue = ref(false);\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue !== undefined ? props.modelValue : mValue.value;\n },\n set(val: boolean) {\n if (props.modelValue !== undefined) {\n emit('update:modelValue', val);\n } else {\n mValue.value = val;\n }\n },\n});\n//#endregion\n\n//#region Watchers\nwatch(value, (val) => {\n if (val) {\n ensureMenuPosition();\n } else {\n resetMenuPosition();\n toggle.value?.blur();\n }\n});\nwatch(\n () => props.noCloseOnClickOutside,\n (val) => {\n if (val) {\n removeClickOutsideEventListener();\n } else {\n initClickOutsideEventListener();\n }\n },\n);\nwatch(\n () => props.noCloseOnEsc,\n (val) => {\n if (val) {\n removePressEscapeEventListener();\n } else {\n initPressEscapeEventListener();\n }\n },\n);\n//#endregion\n\n//#region Methods\nconst initPressEscapeEventListener = () => {\n document.addEventListener('keydown', closeOnEscapePressed);\n};\nconst closeOnEscapePressed = (event: any) => {\n if (event.key === 'Escape') {\n close();\n }\n};\nconst initClickOutsideEventListener = () => {\n document.addEventListener('click', closeOnClickOutside);\n};\nconst closeOnClickOutside = (event: any) => {\n const refs = [dropdown.value, dropdownMenu.value];\n const withinBoundaries = refs.some((r) => event.composedPath().includes(r));\n if (!withinBoundaries) {\n close();\n }\n};\nconst onClickToggle = () => {\n value.value = !value.value;\n};\nconst ensureMenuPosition = () => {\n nextTick(() => {\n ensureVisiblePosition(\n dropdown.value!,\n dropdownMenu.value!,\n props.menuFixed,\n );\n emit('shown');\n });\n};\nconst resetMenuPosition = () => {\n resetPosition(dropdown.value!, dropdownMenu.value!);\n emit('hidden');\n};\nconst close = () => {\n value.value = false;\n};\nconst removePressEscapeEventListener = () => {\n document.removeEventListener('keydown', closeOnEscapePressed);\n};\nconst removeClickOutsideEventListener = () => {\n document.removeEventListener('click', closeOnClickOutside);\n};\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n if (!props.noCloseOnEsc) {\n initPressEscapeEventListener();\n }\n if (!props.noCloseOnClickOutside) {\n initClickOutsideEventListener();\n }\n});\nonBeforeUnmount(() => {\n removePressEscapeEventListener();\n removeClickOutsideEventListener();\n // Make sure dropdown menu unmounted with itself\n resetMenuPosition();\n});\n//#endregion\n\nprovide(PIKey.CloseDropdown, close);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n ref_key: \"dropdown\",\n ref: dropdown\n }, [\n (props.label)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n for: id.value,\n class: \"ds-mb-2 ds-block ds-text-xs ds-font-bold ds-capitalize ds-text-gray-500\"\n }, _toDisplayString(props.label), 9, _hoisted_1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n id: id.value,\n ref_key: \"toggle\",\n ref: toggle,\n class: _normalizeClass([_ctx.toggleCssClass, \"focus:ds-ring-1 focus:ds-ring-primary-t\"]),\n type: \"button\",\n onClick: onClickToggle\n }, [\n _renderSlot(_ctx.$slots, \"toggle\")\n ], 10, _hoisted_2),\n _withDirectives(_createElementVNode(\"div\", {\n id: `${id.value}Menu`,\n ref_key: \"dropdownMenu\",\n ref: dropdownMenu,\n class: _normalizeClass([`${_ctx.menuCssClass} ${props.menuFixed ? 'ds-fixed' : 'ds-absolute'}`, \"ds-z-50 ds-py-1\"]),\n \"data-cy\": _ctx.$attrs['data-cy'] ? `${_ctx.$attrs['data-cy']}Menu` : undefined,\n \"data-ut\": _ctx.$attrs['data-ut'] ? `${_ctx.$attrs['data-ut']}Menu` : undefined\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_3), [\n [_vShow, value.value]\n ])\n ], 512))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","_defineComponent","__props","emit","props","toggle","ref","dropdown","dropdownMenu","mValue","id","computed","uuid","value","val","watch","ensureMenuPosition","resetMenuPosition","_a","removeClickOutsideEventListener","initClickOutsideEventListener","removePressEscapeEventListener","initPressEscapeEventListener","closeOnEscapePressed","event","close","closeOnClickOutside","r","onClickToggle","nextTick","ensureVisiblePosition","resetPosition","onMounted","onBeforeUnmount","provide","PIKey","_ctx","_cache","_openBlock","_createElementBlock","_toDisplayString","_createCommentVNode","_createElementVNode","_normalizeClass","_renderSlot","_withDirectives","_vShow"],"mappings":"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"}
|
package/dist/design-system16.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),
|
|
1
|
+
"use strict";const e=require("vue"),c=require("./design-system4.js"),l=e.defineComponent({__name:"BDropdownItem",props:{closeOnClick:{type:Boolean,default:!1}},setup(s){const t=s,o=e.inject(c.PIKey.CloseDropdown),n=()=>{t.closeOnClick&&o&&o()};return(r,p)=>(e.openBlock(),e.createElementBlock("li",{class:"ds-cursor-pointer ds-px-3 ds-py-2 ds-text-sm ds-text-gray-700 hover:ds-bg-slate-100",onClick:n},[e.renderSlot(r.$slots,"default")]))}});module.exports=l;
|
|
2
2
|
//# sourceMappingURL=design-system16.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system16.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"design-system16.js","sources":["../src/components/BDropdown/BDropdownItem.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { inject } from 'vue';\nimport { PIKey } from '@/constants/Common';\n\n//#region Props\nexport interface Props {\n closeOnClick?: boolean;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDropdownItem',\n props: {\n closeOnClick: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\n//#endregion\n\n//#region Data\nconst closeDropdown = inject(PIKey.CloseDropdown);\n//#endregion\n\n//#region Methods\nconst onClick = () => {\n if (props.closeOnClick && closeDropdown) {\n closeDropdown();\n }\n};\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: \"ds-cursor-pointer ds-px-3 ds-py-2 ds-text-sm ds-text-gray-700 hover:ds-bg-slate-100\",\n onClick: onClick\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","props","closeDropdown","inject","PIKey","onClick","_ctx","_cache","_openBlock","_createElementBlock","_renderSlot"],"mappings":"qEAY4BA,EAAiBC,kBAAA,CAC3C,OAAQ,gBACR,MAAO,CACL,aAAc,CAAE,KAAM,QAAS,QAAS,EAAM,CAChD,EACA,MAAMC,EAAc,CAEtB,MAAMC,EAAQD,EAMRE,EAAgBC,EAAAA,OAAOC,EAAA,MAAM,aAAa,EAI1CC,EAAU,IAAM,CAChBJ,EAAM,cAAgBC,GACVA,GAChB,EAIK,MAAA,CAACI,EAAUC,KACRC,EAAA,UAAA,EAAcC,EAAA,mBAAoB,KAAM,CAC9C,MAAO,sFACP,QAAAJ,CAAA,EACC,CACDK,aAAYJ,EAAK,OAAQ,SAAS,CAAA,CACnC,EAEH,CAEA,CAAC"}
|
package/dist/design-system16.mjs
CHANGED
|
@@ -1,67 +1,23 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const S = {
|
|
6
|
-
// https://vuejs.org/guide/components/attrs.html#disabling-attribute-inheritance
|
|
7
|
-
inheritAttrs: !1
|
|
8
|
-
}, T = /* @__PURE__ */ c({
|
|
9
|
-
...S,
|
|
10
|
-
__name: "BModal",
|
|
1
|
+
import { defineComponent as r, inject as l, openBlock as c, createElementBlock as p, renderSlot as d } from "vue";
|
|
2
|
+
import { PIKey as a } from "./design-system4.mjs";
|
|
3
|
+
const u = /* @__PURE__ */ r({
|
|
4
|
+
__name: "BDropdownItem",
|
|
11
5
|
props: {
|
|
12
|
-
|
|
13
|
-
size: { default: V.Medium },
|
|
14
|
-
fullscreen: { type: Boolean, default: !1 },
|
|
15
|
-
persistent: { type: Boolean, default: !1 }
|
|
6
|
+
closeOnClick: { type: Boolean, default: !1 }
|
|
16
7
|
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
return f(
|
|
28
|
-
s,
|
|
29
|
-
(e) => {
|
|
30
|
-
e ? k() : n();
|
|
31
|
-
},
|
|
32
|
-
{ immediate: !0 }
|
|
33
|
-
), m(() => {
|
|
34
|
-
n();
|
|
35
|
-
}), (e, l) => (o(), a(p, { to: "body" }, [
|
|
36
|
-
y(B, {
|
|
37
|
-
"enter-active-class": "ds-transition-all ds-ease-in-out",
|
|
38
|
-
"enter-from-class": "ds-opacity-0",
|
|
39
|
-
"enter-to-class": "ds-opacity-1",
|
|
40
|
-
"leave-active-class": "ds-transition-all ds-ease-in-out",
|
|
41
|
-
"leave-from-class": "ds-opacity-1",
|
|
42
|
-
"leave-to-class": "ds-opacity-0"
|
|
43
|
-
}, {
|
|
44
|
-
default: r(() => [
|
|
45
|
-
s.value ? (o(), a(C, {
|
|
46
|
-
key: 0,
|
|
47
|
-
class: _(e.$attrs.class),
|
|
48
|
-
fullscreen: t.fullscreen,
|
|
49
|
-
persistent: t.persistent,
|
|
50
|
-
size: t.size,
|
|
51
|
-
onClose: l[0] || (l[0] = ($) => s.value = !1)
|
|
52
|
-
}, {
|
|
53
|
-
default: r(() => [
|
|
54
|
-
v(e.$slots, "default")
|
|
55
|
-
]),
|
|
56
|
-
_: 3
|
|
57
|
-
}, 8, ["class", "fullscreen", "persistent", "size"])) : z("", !0)
|
|
58
|
-
]),
|
|
59
|
-
_: 3
|
|
60
|
-
})
|
|
8
|
+
setup(o) {
|
|
9
|
+
const s = o, e = l(a.CloseDropdown), t = () => {
|
|
10
|
+
s.closeOnClick && e && e();
|
|
11
|
+
};
|
|
12
|
+
return (n, i) => (c(), p("li", {
|
|
13
|
+
class: "ds-cursor-pointer ds-px-3 ds-py-2 ds-text-sm ds-text-gray-700 hover:ds-bg-slate-100",
|
|
14
|
+
onClick: t
|
|
15
|
+
}, [
|
|
16
|
+
d(n.$slots, "default")
|
|
61
17
|
]));
|
|
62
18
|
}
|
|
63
19
|
});
|
|
64
20
|
export {
|
|
65
|
-
|
|
21
|
+
u as default
|
|
66
22
|
};
|
|
67
23
|
//# sourceMappingURL=design-system16.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system16.mjs","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"design-system16.mjs","sources":["../src/components/BDropdown/BDropdownItem.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { inject } from 'vue';\nimport { PIKey } from '@/constants/Common';\n\n//#region Props\nexport interface Props {\n closeOnClick?: boolean;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDropdownItem',\n props: {\n closeOnClick: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\n//#endregion\n\n//#region Data\nconst closeDropdown = inject(PIKey.CloseDropdown);\n//#endregion\n\n//#region Methods\nconst onClick = () => {\n if (props.closeOnClick && closeDropdown) {\n closeDropdown();\n }\n};\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: \"ds-cursor-pointer ds-px-3 ds-py-2 ds-text-sm ds-text-gray-700 hover:ds-bg-slate-100\",\n onClick: onClick\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","props","closeDropdown","inject","PIKey","onClick","_ctx","_cache","_openBlock","_createElementBlock","_renderSlot"],"mappings":";;AAYA,MAA4BA,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,cAAc,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EAChD;AAAA,EACA,MAAMC,GAAc;AAEtB,UAAMC,IAAQD,GAMRE,IAAgBC,EAAOC,EAAM,aAAa,GAI1CC,IAAU,MAAM;AAChB,MAAAJ,EAAM,gBAAgBC,KACVA;IAChB;AAIK,WAAA,CAACI,GAAUC,OACRC,EAAA,GAAcC,EAAoB,MAAM;AAAA,MAC9C,OAAO;AAAA,MACP,SAAAJ;AAAA,IAAA,GACC;AAAA,MACDK,EAAYJ,EAAK,QAAQ,SAAS;AAAA,IAAA,CACnC;AAAA,EAEH;AAEA,CAAC;"}
|
package/dist/design-system17.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),
|
|
1
|
+
"use strict";const e=require("vue"),u=require("./design-system5.js"),o=require("./design-system6.js"),c=require("./design-system100.js"),i={inheritAttrs:!1},d=e.defineComponent({...i,__name:"BModal",props:{modelValue:{type:Boolean},size:{default:u.BModalSize.Medium},fullscreen:{type:Boolean,default:!1},persistent:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:r}){const s=n,l=e.computed({get(){return s.modelValue},set(t){r("update:modelValue",t)}});return e.watch(l,t=>{t?o.lockScrollBody():o.unlockScrollBody()},{immediate:!0}),e.onBeforeUnmount(()=>{o.unlockScrollBody()}),(t,a)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"ds-transition-all ds-ease-in-out","enter-from-class":"ds-opacity-0","enter-to-class":"ds-opacity-1","leave-active-class":"ds-transition-all ds-ease-in-out","leave-from-class":"ds-opacity-1","leave-to-class":"ds-opacity-0"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(c,{key:0,class:e.normalizeClass(t.$attrs.class),fullscreen:s.fullscreen,persistent:s.persistent,size:s.size,onClose:a[0]||(a[0]=p=>l.value=!1)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["class","fullscreen","persistent","size"])):e.createCommentVNode("",!0)]),_:3})]))}});module.exports=d;
|
|
2
2
|
//# sourceMappingURL=design-system17.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system17.js","sources":["../src/components/BMultiSelect.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-absolute ds-right-3 ds-z-[1]\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"path\", { d: \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\" }, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\nconst _hoisted_7 = [\"id\", \"disabled\"]\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = [\"id\", \"data-cy\", \"data-ut\"]\nconst _hoisted_11 = { class: \"ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow\" }\nconst _hoisted_12 = { class: \"ds-py-1 ds-text-sm ds-text-black/[0.85]\" }\nconst _hoisted_13 = [\"onClick\"]\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport {\n ensureVisiblePosition,\n lockScrollBody,\n resetPosition,\n unlockScrollBody,\n} from '@/helpers/ComponentHelper';\nimport { v4 as uuid } from 'uuid';\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BCheckbox from './BCheckbox.vue';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport BTextField from './BTextField.vue';\nimport type { DisplayItem } from '@/types';\n\n/**\n * Props\n */\nexport interface BMultiSelectProps {\n inputId?: string;\n modelValue: Array<string | number>;\n label?: string;\n items: DisplayItem[];\n disabled?: boolean;\n placeholder?: string;\n valueCssClass?: string;\n menuCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Show number of selected items.\n */\n showSelectedItemCount?: boolean;\n /**\n * Allow to type to search.\n */\n allowInput?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BMultiSelect',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n items: {},\n disabled: { type: Boolean, default: false },\n placeholder: { default: '' },\n valueCssClass: { default: '' },\n menuCssClass: { default: '' },\n validationRules: { default: undefined },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n showSelectedItemCount: { type: Boolean, default: false },\n allowInput: { type: Boolean, default: false }\n },\n emits: [\"change\", \"open\", \"close\", \"change:input\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit }) {\n\nconst props = __props;\n\n// https://vuejs.org/guide/essentials/event-handling.html#event-modifiers\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst selectEl = ref<HTMLElement | null>(null);\nconst inputRef = ref<InstanceType<typeof BTextField> | null>(null);\nconst selectMenuEl = ref<HTMLElement | null>(null);\nconst selectMenu = ref(false);\nconst { t } = useI18n();\nconst validateRequired: ValidationRule = {\n validateRule: (val: Array<string | number>) => !!val && val.length > 0,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst inputText = ref('');\nconst selectedItems = ref<DisplayItem[]>([]);\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst btnCssClass = computed(() => {\n let result = `ds-border ds-drop-shadow-light ds-text-sm ds-h-[40px] ds-px-3 ds-rounded-lg ds-block ds-w-full ds-inline-flex ds-items-center ds-justify-between `;\n result += props.disabled\n ? `ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4] `\n : `ds-bg-white ds-text-black/[0.85] `;\n result += !validationResult.value.valid\n ? `ds-border-error focus:ds-ring-1 focus:ds-ring-error `\n : `ds-border-black/10 focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus `;\n\n return result;\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst selectedItemCount = computed(() =>\n value.value?.length > 1\n ? ` (${t('ds.components.base.multi_select.selected_item_count', {\n count: value.value?.length,\n })})`\n : '',\n);\nconst labelDisplay = computed(() =>\n props.showSelectedItemCount\n ? `${props.label}${selectedItemCount.value}`\n : props.label,\n);\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(selectMenu, (val) => {\n if (val) {\n lockScrollBody();\n ensureMenuPosition();\n emit('open');\n } else {\n unlockScrollBody();\n resetMenuPosition();\n emit('close');\n }\n});\nwatch(\n value,\n () => {\n ensureSelectedItems();\n },\n {\n deep: true,\n },\n);\nwatch(\n () => props.items,\n () => {\n if (value.value.length !== 0 && selectedItems.value.length === 0) {\n ensureSelectedItems();\n }\n },\n {\n deep: true,\n },\n);\n\n/**\n * Methods\n */\nconst ensureSelectedItems = () => {\n selectedItems.value = value.value.map((v) => {\n let item = selectedItems.value.find((i) => i.value === v);\n if (!item) {\n item = props.items.find((i) => i.value === v);\n }\n return { text: item?.text, value: v, cssClass: item?.cssClass };\n });\n};\nconst initPressEscapeEventListener = () => {\n document.addEventListener('keydown', closeOnEscapePressed);\n};\nconst closeOnEscapePressed = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeSelectMenu();\n }\n};\nconst initClickOutsideEventListener = () => {\n document.addEventListener('click', closeOnClickOutside);\n};\nconst closeOnClickOutside = (event: any) => {\n const refs = [selectEl.value, selectMenuEl.value];\n const withinBoundaries = refs.some((r) => event.composedPath().includes(r));\n if (!withinBoundaries) {\n closeSelectMenu();\n }\n};\nconst onClickItem = (item: DisplayItem) => {\n const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n } else {\n value.value.push(item.value);\n }\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n};\nconst ensureMenuWidth = (parentEl: HTMLElement, menuEl: HTMLElement) => {\n menuEl.style.width = `${parentEl.offsetWidth}px`;\n};\nconst ensureMenuPosition = () => {\n nextTick(() => {\n ensureVisiblePosition(selectEl.value!, selectMenuEl.value!);\n ensureMenuWidth(selectEl.value!, selectMenuEl.value!);\n });\n};\nconst resetMenuPosition = () => {\n resetPosition(selectEl.value!, selectMenuEl.value!);\n};\nconst onChangeInputText = (text: string) => {\n emit('change:input', text);\n};\nconst closeSelectMenu = () => {\n selectMenu.value = false;\n inputRef.value?.blur();\n inputText.value = '';\n};\nconst deselectItem = (item: DisplayItem) => {\n const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n }\n};\nconst init = () => {\n if (props.items.length > 0) {\n ensureSelectedItems();\n }\n};\ninit();\n\n/**\n * Lifecycle Hooks\n */\nonMounted(() => {\n initPressEscapeEventListener();\n initClickOutsideEventListener();\n});\nonBeforeUnmount(() => {\n document.removeEventListener('keydown', closeOnEscapePressed);\n document.removeEventListener('click', closeOnClickOutside);\n unlockScrollBody();\n // Make sure dropdown menu unmounted with itself\n resetMenuPosition();\n});\n\n__expose({ validate, selectMenu });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", {\n ref_key: \"selectEl\",\n ref: selectEl\n }, [\n _createVNode(BLabel, {\n id: id.value,\n label: labelDisplay.value,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n (props.allowInput)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([{\n 'ds-border-focus ds-ring-1 ds-ring-focus':\n selectMenu.value && _unref(validationResult).valid,\n 'ds-ring-1 ds-ring-error': selectMenu.value && !_unref(validationResult).valid,\n 'ds-border-black/10': _unref(validationResult).valid,\n 'ds-border-error': !_unref(validationResult).valid,\n }, \"ds-relative ds-flex ds-flex-wrap ds-items-center ds-gap-x-1 ds-rounded-lg ds-border ds-bg-white ds-px-3 ds-py-1 ds-drop-shadow-light\"])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (inputRef.value?.focus()))\n }, _hoisted_3, 2))\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(selectedItems.value, (item, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `item${i}`,\n class: \"ds-my-0.5 ds-flex-initial ds-space-x-1 ds-rounded-lg ds-bg-black/10 ds-px-2\"\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.text), 1),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: \"ds-mb-1 ds-inline ds-h-4 ds-w-4 ds-cursor-pointer ds-fill-black/60 hover:ds-fill-black/40\",\n viewBox: \"0 0 512 512\",\n xmlns: \"http://www.w3.org/2000/svg\",\n onClick: ($event: any) => (deselectItem(item))\n }, _hoisted_6, 8, _hoisted_4))\n ]))\n }), 128)),\n (props.allowInput)\n ? (_openBlock(), _createBlock(BTextField, {\n key: 0,\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n modelValue: inputText.value,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event: any) => ((inputText).value = $event)),\n onChangeInputText\n ],\n disabled: props.disabled,\n class: \"ds-flex-auto\",\n \"hide-details\": \"\",\n \"input-css-class\": \"ds-drop-shadow-none ds-border-none !ds-ring-0 ds-px-0 !ds-h-[30px] ds-pl-0\",\n onFocus: _cache[2] || (_cache[2] = ($event: any) => (selectMenu.value = true))\n }, null, 8, [\"id\", \"modelValue\", \"disabled\"]))\n : _createCommentVNode(\"\", true)\n ], 2))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n id: id.value,\n class: _normalizeClass(btnCssClass.value),\n disabled: _ctx.disabled,\n type: \"button\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (selectMenu.value = !selectMenu.value))\n }, [\n (selectedItems.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm\"])\n }, _toDisplayString(selectedItems.value?.map((s) => s.text).join(', ')), 3))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm ds-text-black/[0.4]\"])\n }, _toDisplayString(props.placeholder), 3)),\n _createTextVNode(\" \"),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _hoisted_9, 2))\n ], 10, _hoisted_7)),\n _withDirectives(_createElementVNode(\"div\", {\n id: `${id.value}Menu`,\n ref_key: \"selectMenuEl\",\n ref: selectMenuEl,\n class: _normalizeClass([_ctx.menuCssClass, \"ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1\"]),\n \"data-cy\": _ctx.$attrs['data-cy'] ? `${_ctx.$attrs['data-cy']}Menu` : undefined,\n \"data-ut\": _ctx.$attrs['data-ut'] ? `${_ctx.$attrs['data-ut']}Menu` : undefined\n }, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"ul\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `item${index}`,\n class: \"ds-cursor-pointer\",\n onClick: _withModifiers(($event: any) => (onClickItem(item)), [\"prevent\"])\n }, [\n _createElementVNode(\"a\", {\n class: _normalizeClass([\n item.cssClass +\n `${\n selectedItems.value.some((s) => s.value === item.value)\n ? ' ds-bg-slate-100'\n : ''\n }`\n , \"ds-flex ds-items-center ds-space-x-2 ds-px-4 ds-py-2 hover:ds-bg-slate-100\"])\n }, [\n _createVNode(BCheckbox, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((value).value = $event)),\n value: item.value,\n size: \"sm\"\n }, null, 8, [\"modelValue\", \"value\"]),\n _createElementVNode(\"span\", null, _toDisplayString(item?.text), 1)\n ], 2)\n ], 8, _hoisted_13))\n }), 128))\n ])\n ])\n ], 10, _hoisted_10), [\n [_vShow, selectMenu.value]\n ])\n ], 512),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_sfc_main","_defineComponent","__props","__expose","emit","props","selectEl","ref","inputRef","selectMenuEl","selectMenu","t","useI18n","validateRequired","val","inputText","selectedItems","id","computed","uuid","value","btnCssClass","result","validationResult","vRules","selectedItemCount","_a","_b","labelDisplay","validate","useValidationField","watch","lockScrollBody","ensureMenuPosition","unlockScrollBody","resetMenuPosition","ensureSelectedItems","v","item","i","initPressEscapeEventListener","closeOnEscapePressed","event","closeSelectMenu","initClickOutsideEventListener","closeOnClickOutside","r","onClickItem","index","nextTick","ensureMenuWidth","parentEl","menuEl","ensureVisiblePosition","resetPosition","onChangeInputText","text","deselectItem","onMounted","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_createVNode","BLabel","_normalizeClass","_unref","$event","_Fragment","_renderList","_toDisplayString","_createBlock","BTextField","_createCommentVNode","s","_createTextVNode","_withDirectives","_withModifiers","BCheckbox","_vShow","BErrorMessage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-system17.js","sources":["../src/components/BModal/BModal.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, normalizeClass as _normalizeClass, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Transition as _Transition, createVNode as _createVNode, Teleport as _Teleport } from \"vue\"\n\nimport { BModalSize } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport { computed, onBeforeUnmount, watch } from 'vue';\nimport BModalContainer from './BModalContainer.vue';\n\n//#region Props\n\n/**\n * [Vue warn]: Extraneous non-props attributes (class) were passed to component but could not be automatically inherited because component renders fragment or text root nodes\n */\nconst __default__ = {\n // https://vuejs.org/guide/components/attrs.html#disabling-attribute-inheritance\n inheritAttrs: false,\n};\n\nexport interface BModalProps {\n modelValue: boolean;\n /**\n * Modal size.\n */\n size?: BModalSize;\n /**\n * Fullscreen modal.\n */\n fullscreen?: boolean;\n /**\n * Prevent modal from closing when clicking outside or pressing \"Esc\".\n */\n persistent?: boolean;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n __name: 'BModal',\n props: {\n modelValue: { type: Boolean },\n size: { default: BModalSize.Medium },\n fullscreen: { type: Boolean, default: false },\n persistent: { type: Boolean, default: false }\n },\n emits: [\"update:modelValue\"],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n//#endregion\n\n//#region Events\n\n//#endregion\n\n//#region Data\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val: boolean) {\n emit('update:modelValue', val);\n },\n});\n//#endregion\n\n//#region Watchers\nwatch(\n value,\n (val) => {\n if (val) {\n lockScrollBody();\n } else {\n unlockScrollBody();\n }\n },\n { immediate: true },\n);\n//#endregion\n\n//#region Lifecycle Hooks\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n _createVNode(_Transition, {\n \"enter-active-class\": \"ds-transition-all ds-ease-in-out\",\n \"enter-from-class\": \"ds-opacity-0\",\n \"enter-to-class\": \"ds-opacity-1\",\n \"leave-active-class\": \"ds-transition-all ds-ease-in-out\",\n \"leave-from-class\": \"ds-opacity-1\",\n \"leave-to-class\": \"ds-opacity-0\"\n }, {\n default: _withCtx(() => [\n (value.value)\n ? (_openBlock(), _createBlock(BModalContainer, {\n key: 0,\n class: _normalizeClass(_ctx.$attrs.class),\n fullscreen: props.fullscreen,\n persistent: props.persistent,\n size: props.size,\n onClose: _cache[0] || (_cache[0] = ($event: any) => (value.value = false))\n }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\", \"fullscreen\", \"persistent\", \"size\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n })\n ]))\n}\n}\n\n})"],"names":["__default__","_sfc_main","_defineComponent","BModalSize","__props","emit","props","value","computed","val","watch","lockScrollBody","unlockScrollBody","onBeforeUnmount","_ctx","_cache","_openBlock","_createBlock","_Teleport","_createVNode","_Transition","_withCtx","BModalContainer","_normalizeClass","$event","_renderSlot","_createCommentVNode"],"mappings":"yIAaMA,EAAc,CAElB,aAAc,EAChB,EAmB4BC,EAAiBC,kBAAA,CAC3C,GAAGF,EACH,OAAQ,SACR,MAAO,CACL,WAAY,CAAE,KAAM,OAAQ,EAC5B,KAAM,CAAE,QAASG,EAAA,WAAW,MAAO,EACnC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAM,EAC5C,WAAY,CAAE,KAAM,QAAS,QAAS,EAAM,CAC9C,EACA,MAAO,CAAC,mBAAmB,EAC3B,MAAMC,EAAc,CAAE,KAAAC,GAAQ,CAEhC,MAAMC,EAAQF,EAURG,EAAQC,EAAAA,SAAS,CACrB,KAAM,CACJ,OAAOF,EAAM,UACf,EACA,IAAIG,EAAc,CAChBJ,EAAK,oBAAqBI,CAAG,CAC/B,CAAA,CACD,EAIDC,OAAAA,EAAA,MACEH,EACCE,GAAQ,CACHA,EACaE,EAAAA,iBAEEC,EAAAA,kBAErB,EACA,CAAE,UAAW,EAAK,CAAA,EAKpBC,EAAAA,gBAAgB,IAAM,CACHD,EAAAA,kBAAA,CAClB,EAGM,CAACE,EAAUC,KACRC,EAAAA,UAAc,EAAAC,EAAA,YAAaC,WAAW,CAAE,GAAI,QAAU,CAC5DC,EAAAA,YAAaC,EAAAA,WAAa,CACxB,qBAAsB,mCACtB,mBAAoB,eACpB,iBAAkB,eAClB,qBAAsB,mCACtB,mBAAoB,eACpB,iBAAkB,cAAA,EACjB,CACD,QAASC,UAAS,IAAM,CACrBd,EAAM,OACFS,EAAAA,YAAcC,EAAAA,YAAaK,EAAiB,CAC3C,IAAK,EACL,MAAOC,EAAA,eAAgBT,EAAK,OAAO,KAAK,EACxC,WAAYR,EAAM,WAClB,WAAYA,EAAM,WAClB,KAAMA,EAAM,KACZ,QAASS,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKS,GAAiBjB,EAAM,MAAQ,GAAA,EAClE,CACD,QAASc,UAAS,IAAM,CACtBI,aAAYX,EAAK,OAAQ,SAAS,CAAA,CACnC,EACD,EAAG,CAAA,EACF,EAAG,CAAC,QAAS,aAAc,aAAc,MAAM,CAAC,GACnDY,EAAAA,mBAAoB,GAAI,EAAI,CAAA,CACjC,EACD,EAAG,CAAA,CACJ,CAAA,CACF,EAEH,CAEA,CAAC"}
|