@forizi-tecnologia/ui 0.0.5 → 0.0.7
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/chunks/components/{messages-FzConfirmDialog-CkESdVvg.js → messages-FzConfirmDialog-BvnTIYZm.js} +2 -2
- package/dist/chunks/components/{messages-FzConfirmDialog-CkESdVvg.js.map → messages-FzConfirmDialog-BvnTIYZm.js.map} +1 -1
- package/dist/chunks/components/messages-FzCustomConfirmDialog-CcADw89-.js +118 -0
- package/dist/chunks/components/messages-FzCustomConfirmDialog-CcADw89-.js.map +1 -0
- package/dist/chunks/components/{modals-FzModalBase-DmsJR5qM.js → modals-FzModalBase-CBZ5Ea3Z.js} +26 -23
- package/dist/chunks/components/modals-FzModalBase-CBZ5Ea3Z.js.map +1 -0
- package/dist/chunks/{index-BEN9ppaq.js → index-B-0CLj_d.js} +4 -4
- package/dist/chunks/index-B-0CLj_d.js.map +1 -0
- package/dist/chunks/utils/types-DV6li0y5.js.map +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/messages/FzCustomConfirmDialog.vue.d.ts.map +1 -1
- package/dist/components/modals/FzModalBase.vue.d.ts +2 -0
- package/dist/components/modals/FzModalBase.vue.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/ui.css +1 -1
- package/dist/utils/notify.d.ts +1 -1
- package/dist/utils/types.d.ts +1 -0
- package/dist/utils/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/components/messages-FzCustomConfirmDialog-DiuYkXxY.js +0 -107
- package/dist/chunks/components/messages-FzCustomConfirmDialog-DiuYkXxY.js.map +0 -1
- package/dist/chunks/components/modals-FzModalBase-DmsJR5qM.js.map +0 -1
- package/dist/chunks/index-BEN9ppaq.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as l, ref as t, createBlock as a, openBlock as f } from "vue";
|
|
2
|
-
import { F as m } from "./messages-FzCustomConfirmDialog-
|
|
2
|
+
import { F as m } from "./messages-FzCustomConfirmDialog-CcADw89-.js";
|
|
3
3
|
const p = /* @__PURE__ */ l({
|
|
4
4
|
__name: "FzConfirmDialog",
|
|
5
5
|
setup(c, { expose: n }) {
|
|
@@ -15,4 +15,4 @@ const p = /* @__PURE__ */ l({
|
|
|
15
15
|
export {
|
|
16
16
|
p as _
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=messages-FzConfirmDialog-
|
|
18
|
+
//# sourceMappingURL=messages-FzConfirmDialog-BvnTIYZm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-FzConfirmDialog-
|
|
1
|
+
{"version":3,"file":"messages-FzConfirmDialog-BvnTIYZm.js","sources":["../../../src/components/messages/FzConfirmDialog.vue"],"sourcesContent":["<template>\n <FzCustomConfirmDialog ref=\"customDialogRef\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport FzCustomConfirmDialog from './FzCustomConfirmDialog.vue';\nimport type { ConfirmOptions } from '@/utils/types';\n\nconst customDialogRef = ref<InstanceType<typeof FzCustomConfirmDialog> | null>(null);\n\nconst confirmDialog = (title: string, message: string, options?: ConfirmOptions): Promise<boolean> => {\n if (!customDialogRef.value) return Promise.resolve(false);\n\n return customDialogRef.value.confirmDialog(title, message, options);\n};\n\ndefineExpose({\n confirmDialog,\n});\n</script>\n"],"names":["customDialogRef","ref","__expose","title","message","options","_createBlock","FzCustomConfirmDialog"],"mappings":";;;;;AASA,UAAMA,IAAkBC,EAAuD,IAAI;AAQnF,WAAAC,EAAa;AAAA,MACX,eAPoB,CAACC,GAAeC,GAAiBC,MAChDL,EAAgB,QAEdA,EAAgB,MAAM,cAAcG,GAAOC,GAASC,CAAO,IAF/B,QAAQ,QAAQ,EAAK;AAAA,IAMxD,CACD,mBAlBCC,EAA+CC,GAAA;AAAA,eAApB;AAAA,MAAJ,KAAIP;AAAA,IAAA;;;"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { defineComponent as L, ref as t, onMounted as M, onUnmounted as S, watch as j, resolveComponent as r, createBlock as D, openBlock as p, Teleport as O, createVNode as a, Transition as R, withCtx as n, createElementBlock as I, createCommentVNode as E, withModifiers as K, createElementVNode as U, createTextVNode as i, toDisplayString as u } from "vue";
|
|
2
|
+
import { u as N } from "../utils/confirm-DiGEPjua.js";
|
|
3
|
+
import { _ as Y } from "./inputs-FzMoneyField-Co9uqB9u.js";
|
|
4
|
+
const q = { class: "text-h6 font-weight-medium" }, A = /* @__PURE__ */ L({
|
|
5
|
+
__name: "FzCustomConfirmDialog",
|
|
6
|
+
setup(G, { expose: P }) {
|
|
7
|
+
const l = t(!1), x = t(""), f = t(""), d = t(!0), C = t(!1), y = t(""), g = t(""), k = t("primary"), w = t("secondary");
|
|
8
|
+
let c = null;
|
|
9
|
+
const h = (e, s, o) => (x.value = e, f.value = s, d.value = o?.persistent ?? !0, C.value = o?.enterToConfirm ?? !1, y.value = o?.confirmText ?? "Sim", g.value = o?.cancelText ?? "Não", k.value = o?.confirmColor ?? "primary", w.value = o?.cancelColor ?? "secondary", l.value = !0, new Promise((_) => {
|
|
10
|
+
c = _;
|
|
11
|
+
}));
|
|
12
|
+
M(() => {
|
|
13
|
+
N().setConfirmRef({ confirmDialog: h });
|
|
14
|
+
}), S(() => {
|
|
15
|
+
N().setConfirmRef({ confirmDialog: () => Promise.resolve(!1) }), document.removeEventListener("keydown", v);
|
|
16
|
+
});
|
|
17
|
+
const T = () => {
|
|
18
|
+
c && c(!0), l.value = !1;
|
|
19
|
+
}, m = () => {
|
|
20
|
+
c && c(!1), l.value = !1;
|
|
21
|
+
}, V = () => {
|
|
22
|
+
d.value || m();
|
|
23
|
+
}, v = (e) => {
|
|
24
|
+
if (e.key === "Enter" && C.value) {
|
|
25
|
+
e.preventDefault(), T();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (e.key === "Escape") {
|
|
29
|
+
if (d.value) return;
|
|
30
|
+
e.preventDefault(), m();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return j(l, (e) => {
|
|
34
|
+
e ? document.addEventListener("keydown", v) : document.removeEventListener("keydown", v);
|
|
35
|
+
}), P({
|
|
36
|
+
confirmDialog: h
|
|
37
|
+
}), (e, s) => {
|
|
38
|
+
const o = r("v-icon"), _ = r("v-card-title"), z = r("v-card-text"), b = r("v-btn"), B = r("v-card-actions"), F = r("v-card");
|
|
39
|
+
return p(), D(O, { to: "body" }, [
|
|
40
|
+
a(R, { name: "dialog-fade" }, {
|
|
41
|
+
default: n(() => [
|
|
42
|
+
l.value ? (p(), I("div", {
|
|
43
|
+
key: 0,
|
|
44
|
+
class: "custom-dialog-overlay d-flex align-center justify-center pa-4",
|
|
45
|
+
onClick: K(V, ["self"])
|
|
46
|
+
}, [
|
|
47
|
+
a(F, {
|
|
48
|
+
class: "flex-grow-1",
|
|
49
|
+
"max-width": "500",
|
|
50
|
+
elevation: 12
|
|
51
|
+
}, {
|
|
52
|
+
default: n(() => [
|
|
53
|
+
a(_, { class: "d-flex align-center ga-3 px-6 pb-4 pt-6" }, {
|
|
54
|
+
default: n(() => [
|
|
55
|
+
a(o, {
|
|
56
|
+
color: "warning",
|
|
57
|
+
size: "28"
|
|
58
|
+
}, {
|
|
59
|
+
default: n(() => [...s[0] || (s[0] = [
|
|
60
|
+
i("mdi-help-circle", -1)
|
|
61
|
+
])]),
|
|
62
|
+
_: 1
|
|
63
|
+
}),
|
|
64
|
+
U("span", q, u(x.value), 1)
|
|
65
|
+
]),
|
|
66
|
+
_: 1
|
|
67
|
+
}),
|
|
68
|
+
f.value ? (p(), D(z, {
|
|
69
|
+
key: 0,
|
|
70
|
+
class: "px-6 pb-4 text-body-2"
|
|
71
|
+
}, {
|
|
72
|
+
default: n(() => [
|
|
73
|
+
i(u(f.value), 1)
|
|
74
|
+
]),
|
|
75
|
+
_: 1
|
|
76
|
+
})) : E("", !0),
|
|
77
|
+
a(B, { class: "d-flex justify-end ga-2 px-6 pb-6 pt-2" }, {
|
|
78
|
+
default: n(() => [
|
|
79
|
+
a(b, {
|
|
80
|
+
color: k.value,
|
|
81
|
+
variant: "elevated",
|
|
82
|
+
class: "text-none",
|
|
83
|
+
onClick: T
|
|
84
|
+
}, {
|
|
85
|
+
default: n(() => [
|
|
86
|
+
i(u(y.value), 1)
|
|
87
|
+
]),
|
|
88
|
+
_: 1
|
|
89
|
+
}, 8, ["color"]),
|
|
90
|
+
a(b, {
|
|
91
|
+
color: w.value,
|
|
92
|
+
variant: "outlined",
|
|
93
|
+
class: "text-none",
|
|
94
|
+
onClick: m
|
|
95
|
+
}, {
|
|
96
|
+
default: n(() => [
|
|
97
|
+
i(u(g.value), 1)
|
|
98
|
+
]),
|
|
99
|
+
_: 1
|
|
100
|
+
}, 8, ["color"])
|
|
101
|
+
]),
|
|
102
|
+
_: 1
|
|
103
|
+
})
|
|
104
|
+
]),
|
|
105
|
+
_: 1
|
|
106
|
+
})
|
|
107
|
+
])) : E("", !0)
|
|
108
|
+
]),
|
|
109
|
+
_: 1
|
|
110
|
+
})
|
|
111
|
+
]);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}), W = /* @__PURE__ */ Y(A, [["__scopeId", "data-v-fe279f13"]]);
|
|
115
|
+
export {
|
|
116
|
+
W as F
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=messages-FzCustomConfirmDialog-CcADw89-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages-FzCustomConfirmDialog-CcADw89-.js","sources":["../../../src/components/messages/FzCustomConfirmDialog.vue"],"sourcesContent":["<template>\n <Teleport to=\"body\">\n <Transition name=\"dialog-fade\">\n <div\n v-if=\"isOpen\"\n class=\"custom-dialog-overlay d-flex align-center justify-center pa-4\"\n @click.self=\"handleOverlayClick\"\n >\n <v-card class=\"flex-grow-1\" max-width=\"500\" :elevation=\"12\">\n <v-card-title class=\"d-flex align-center ga-3 px-6 pb-4 pt-6\">\n <v-icon color=\"warning\" size=\"28\">mdi-help-circle</v-icon>\n <span class=\"text-h6 font-weight-medium\">{{ currentTitle }}</span>\n </v-card-title>\n\n <v-card-text v-if=\"currentMessage\" class=\"px-6 pb-4 text-body-2\">\n {{ currentMessage }}\n </v-card-text>\n\n <v-card-actions class=\"d-flex justify-end ga-2 px-6 pb-6 pt-2\">\n <v-btn :color=\"confirmColor\" variant=\"elevated\" class=\"text-none\" @click=\"handleYes\">\n {{ confirmText }}\n </v-btn>\n <v-btn :color=\"cancelColor\" variant=\"outlined\" class=\"text-none\" @click=\"handleNo\">\n {{ cancelText }}\n </v-btn>\n </v-card-actions>\n </v-card>\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, onMounted, onUnmounted } from 'vue';\nimport type { ConfirmOptions } from '@/utils/types';\nimport { useConfirmStore } from '@/utils/confirm';\n\nconst isOpen = ref(false);\nconst currentTitle = ref('');\nconst currentMessage = ref('');\nconst isPersistent = ref(true);\nconst enterToConfirm = ref(false);\nconst confirmText = ref('');\nconst cancelText = ref('');\nconst confirmColor = ref('primary');\nconst cancelColor = ref('secondary');\nlet resolvePromise: ((value: boolean) => void) | null = null;\n\nconst confirmDialog = (title: string, message: string, options?: ConfirmOptions): Promise<boolean> => {\n currentTitle.value = title;\n currentMessage.value = message;\n isPersistent.value = options?.persistent ?? true;\n enterToConfirm.value = options?.enterToConfirm ?? false;\n confirmText.value = options?.confirmText ?? 'Sim';\n cancelText.value = options?.cancelText ?? 'Não';\n confirmColor.value = options?.confirmColor ?? 'primary';\n cancelColor.value = options?.cancelColor ?? 'secondary';\n isOpen.value = true;\n\n return new Promise((resolve) => {\n resolvePromise = resolve;\n });\n};\n\nonMounted(() => {\n useConfirmStore().setConfirmRef({ confirmDialog });\n});\n\nonUnmounted(() => {\n useConfirmStore().setConfirmRef({ confirmDialog: () => Promise.resolve(false) });\n document.removeEventListener('keydown', handleKeydown);\n});\n\nconst handleYes = () => {\n if (resolvePromise) resolvePromise(true);\n\n isOpen.value = false;\n};\n\nconst handleNo = () => {\n if (resolvePromise) resolvePromise(false);\n\n isOpen.value = false;\n};\n\nconst handleOverlayClick = () => {\n if (isPersistent.value) return;\n\n handleNo();\n};\n\nconst handleKeydown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' && enterToConfirm.value) {\n event.preventDefault();\n handleYes();\n\n return;\n }\n\n if (event.key === 'Escape') {\n if (isPersistent.value) return;\n\n event.preventDefault();\n handleNo();\n }\n};\n\nwatch(isOpen, (open) => {\n if (open) {\n document.addEventListener('keydown', handleKeydown);\n } else {\n document.removeEventListener('keydown', handleKeydown);\n }\n});\n\ndefineExpose({\n confirmDialog,\n});\n</script>\n\n<style scoped>\n.custom-dialog-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 2400;\n}\n\n.dialog-fade-enter-active,\n.dialog-fade-leave-active {\n transition: opacity 0.2s ease;\n}\n\n.dialog-fade-enter-from,\n.dialog-fade-leave-to {\n opacity: 0;\n}\n\n.dialog-fade-enter-active .v-card,\n.dialog-fade-leave-active .v-card {\n transition: transform 0.2s ease;\n}\n\n.dialog-fade-enter-from .v-card {\n transform: scale(0.9);\n}\n\n.dialog-fade-leave-to .v-card {\n transform: scale(0.9);\n}\n</style>\n"],"names":["isOpen","ref","currentTitle","currentMessage","isPersistent","enterToConfirm","confirmText","cancelText","confirmColor","cancelColor","resolvePromise","confirmDialog","title","message","options","resolve","onMounted","useConfirmStore","onUnmounted","handleKeydown","handleYes","handleNo","handleOverlayClick","event","watch","open","__expose","_createBlock","_Teleport","_createVNode","_Transition","_createElementBlock","_component_v_card","_component_v_card_title","_component_v_icon","_cache","_createElementVNode","_hoisted_1","_toDisplayString","_component_v_card_text","_component_v_card_actions","_component_v_btn"],"mappings":"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"}
|
package/dist/chunks/components/{modals-FzModalBase-DmsJR5qM.js → modals-FzModalBase-CBZ5Ea3Z.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as F, computed as
|
|
1
|
+
import { defineComponent as F, computed as m, resolveComponent as a, createBlock as s, openBlock as c, withCtx as r, createVNode as u, createCommentVNode as _, createElementVNode as z, createTextVNode as p, toDisplayString as d, renderSlot as P, createElementBlock as M, Fragment as O, renderList as S } from "vue";
|
|
2
2
|
import { useTheme as W } from "vuetify";
|
|
3
3
|
import { _ as L } from "./inputs-FzMoneyField-Co9uqB9u.js";
|
|
4
4
|
const R = /* @__PURE__ */ F({
|
|
@@ -9,6 +9,7 @@ const R = /* @__PURE__ */ F({
|
|
|
9
9
|
message: { default: "" },
|
|
10
10
|
maxWidth: { default: 500 },
|
|
11
11
|
persistent: { type: Boolean, default: !0 },
|
|
12
|
+
enterToConfirm: { type: Boolean, default: !1 },
|
|
12
13
|
actions: { default: () => [] },
|
|
13
14
|
contentClass: { default: void 0 },
|
|
14
15
|
fullscreen: { type: Boolean, default: !1 },
|
|
@@ -16,10 +17,10 @@ const R = /* @__PURE__ */ F({
|
|
|
16
17
|
},
|
|
17
18
|
emits: ["update:modelValue"],
|
|
18
19
|
setup(t, { emit: g }) {
|
|
19
|
-
const n = t, x = g, h = W(), v =
|
|
20
|
+
const n = t, x = g, h = W(), v = m({
|
|
20
21
|
get: () => n.modelValue,
|
|
21
22
|
set: (e) => x("update:modelValue", e)
|
|
22
|
-
}),
|
|
23
|
+
}), y = m(() => `v-theme--${h.global.name.value}`), C = m(() => n.contentClass ? `${y.value} ${n.contentClass}` : y.value);
|
|
23
24
|
function V() {
|
|
24
25
|
return n.actions.find((e) => e.color === "secondary" || e.color === "error");
|
|
25
26
|
}
|
|
@@ -34,29 +35,31 @@ const R = /* @__PURE__ */ F({
|
|
|
34
35
|
function A(e) {
|
|
35
36
|
return !e || e === "primary" ? "elevated" : e === "secondary" || e === "error" ? "outlined" : "text";
|
|
36
37
|
}
|
|
37
|
-
async function
|
|
38
|
+
async function f(e) {
|
|
38
39
|
e.handler && await e.handler();
|
|
39
40
|
}
|
|
40
41
|
function E(e) {
|
|
41
42
|
if (n.actions.length !== 0) {
|
|
42
43
|
if (e.key === "Escape") {
|
|
44
|
+
if (n.persistent) return;
|
|
43
45
|
const l = V();
|
|
44
46
|
if (!l) return;
|
|
45
|
-
e.preventDefault(), e.stopPropagation(),
|
|
47
|
+
e.preventDefault(), e.stopPropagation(), f(l);
|
|
46
48
|
return;
|
|
47
49
|
}
|
|
48
50
|
if (e.key === "Enter" && !e.shiftKey && !e.ctrlKey && !e.altKey) {
|
|
51
|
+
if (!n.enterToConfirm) return;
|
|
49
52
|
const l = e.target;
|
|
50
53
|
if (B(l)) return;
|
|
51
54
|
const i = k();
|
|
52
55
|
if (!i) return;
|
|
53
|
-
e.preventDefault(), e.stopPropagation(),
|
|
56
|
+
e.preventDefault(), e.stopPropagation(), f(i);
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
60
|
return (e, l) => {
|
|
58
|
-
const i = a("v-icon"),
|
|
59
|
-
return c(), s(
|
|
61
|
+
const i = a("v-icon"), T = a("v-card-title"), b = a("v-card-text"), w = a("v-spacer"), D = a("v-btn"), I = a("v-card-actions"), K = a("v-card"), N = a("v-dialog");
|
|
62
|
+
return c(), s(N, {
|
|
60
63
|
modelValue: v.value,
|
|
61
64
|
"onUpdate:modelValue": l[0] || (l[0] = (o) => v.value = o),
|
|
62
65
|
"max-width": t.maxWidth,
|
|
@@ -68,9 +71,9 @@ const R = /* @__PURE__ */ F({
|
|
|
68
71
|
onKeydown: E
|
|
69
72
|
}, {
|
|
70
73
|
default: r(() => [
|
|
71
|
-
|
|
74
|
+
u(K, null, {
|
|
72
75
|
default: r(() => [
|
|
73
|
-
t.title ? (c(), s(
|
|
76
|
+
t.title ? (c(), s(T, {
|
|
74
77
|
key: 0,
|
|
75
78
|
class: "text-h5 d-flex align-center px-6 pt-6 modal-title"
|
|
76
79
|
}, {
|
|
@@ -80,36 +83,36 @@ const R = /* @__PURE__ */ F({
|
|
|
80
83
|
class: "mr-2"
|
|
81
84
|
}, {
|
|
82
85
|
default: r(() => [
|
|
83
|
-
p(
|
|
86
|
+
p(d(t.titleIcon), 1)
|
|
84
87
|
]),
|
|
85
88
|
_: 1
|
|
86
|
-
})) :
|
|
87
|
-
z("span", null,
|
|
89
|
+
})) : _("", !0),
|
|
90
|
+
z("span", null, d(t.title), 1)
|
|
88
91
|
]),
|
|
89
92
|
_: 1
|
|
90
|
-
})) :
|
|
91
|
-
|
|
93
|
+
})) : _("", !0),
|
|
94
|
+
u(b, { class: "px-6 pt-4" }, {
|
|
92
95
|
default: r(() => [
|
|
93
96
|
P(e.$slots, "default", {}, () => [
|
|
94
|
-
p(
|
|
97
|
+
p(d(t.message), 1)
|
|
95
98
|
], !0)
|
|
96
99
|
]),
|
|
97
100
|
_: 3
|
|
98
101
|
}),
|
|
99
|
-
|
|
102
|
+
u(I, null, {
|
|
100
103
|
default: r(() => [
|
|
101
|
-
|
|
102
|
-
(c(!0), M(O, null, S(t.actions, (o, $) => (c(), s(
|
|
104
|
+
u(w),
|
|
105
|
+
(c(!0), M(O, null, S(t.actions, (o, $) => (c(), s(D, {
|
|
103
106
|
key: $,
|
|
104
107
|
color: o.color || "primary",
|
|
105
108
|
"prepend-icon": o.icon,
|
|
106
109
|
variant: o.variant || A(o.color),
|
|
107
110
|
type: "button",
|
|
108
111
|
class: "text-none",
|
|
109
|
-
onClick: (U) =>
|
|
112
|
+
onClick: (U) => f(o)
|
|
110
113
|
}, {
|
|
111
114
|
default: r(() => [
|
|
112
|
-
p(
|
|
115
|
+
p(d(o.text), 1)
|
|
113
116
|
]),
|
|
114
117
|
_: 2
|
|
115
118
|
}, 1032, ["color", "prepend-icon", "variant", "onClick"]))), 128))
|
|
@@ -124,8 +127,8 @@ const R = /* @__PURE__ */ F({
|
|
|
124
127
|
}, 8, ["modelValue", "max-width", "persistent", "content-class", "fullscreen"]);
|
|
125
128
|
};
|
|
126
129
|
}
|
|
127
|
-
}), G = /* @__PURE__ */ L(R, [["__scopeId", "data-v-
|
|
130
|
+
}), G = /* @__PURE__ */ L(R, [["__scopeId", "data-v-90ba442f"]]);
|
|
128
131
|
export {
|
|
129
132
|
G as F
|
|
130
133
|
};
|
|
131
|
-
//# sourceMappingURL=modals-FzModalBase-
|
|
134
|
+
//# sourceMappingURL=modals-FzModalBase-CBZ5Ea3Z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modals-FzModalBase-CBZ5Ea3Z.js","sources":["../../../src/components/modals/FzModalBase.vue"],"sourcesContent":["<template>\n <v-dialog\n v-model=\"isOpen\"\n :max-width=\"maxWidth\"\n :persistent=\"persistent\"\n :content-class=\"dialogContentClass\"\n :fullscreen=\"fullscreen\"\n scrollable\n :z-index=\"2400\"\n @keydown=\"onDialogKeydown\"\n >\n <v-card>\n <v-card-title\n v-if=\"title\"\n class=\"text-h5 d-flex align-center px-6 pt-6 modal-title\"\n >\n <v-icon v-if=\"titleIcon\" class=\"mr-2\">{{ titleIcon }}</v-icon>\n <span>{{ title }}</span>\n </v-card-title>\n\n <v-card-text class=\"px-6 pt-4\">\n <slot>\n {{ message }}\n </slot>\n </v-card-text>\n\n <v-card-actions>\n <v-spacer />\n <v-btn\n v-for=\"(action, index) in actions\"\n :key=\"index\"\n :color=\"action.color || 'primary'\"\n :prepend-icon=\"action.icon\"\n :variant=\"action.variant || getDefaultVariant(action.color)\"\n type=\"button\"\n class=\"text-none\"\n @click=\"handleAction(action)\"\n >\n {{ action.text }}\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { useTheme } from 'vuetify';\n\nexport interface ModalAction {\n text: string;\n icon?: string;\n color?: string;\n variant?: 'text' | 'flat' | 'elevated' | 'tonal' | 'outlined' | 'plain';\n handler?: () => void | Promise<void>;\n}\n\ninterface Props {\n modelValue: boolean;\n title?: string;\n message?: string;\n maxWidth?: string | number;\n persistent?: boolean;\n enterToConfirm?: boolean;\n actions?: ModalAction[];\n contentClass?: string;\n fullscreen?: boolean;\n titleIcon?: string;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n title: undefined,\n message: '',\n maxWidth: 500,\n persistent: true,\n enterToConfirm: false,\n actions: () => [],\n contentClass: undefined,\n fullscreen: false,\n titleIcon: undefined,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: boolean];\n}>();\n\nconst theme = useTheme();\n\nconst isOpen = computed({\n get: () => props.modelValue,\n set: (val) => emit('update:modelValue', val),\n});\n\nconst dialogThemeClass = computed(() => `v-theme--${theme.global.name.value}`);\n\nconst dialogContentClass = computed(() => {\n if (!props.contentClass) return dialogThemeClass.value;\n\n return `${dialogThemeClass.value} ${props.contentClass}`;\n});\n\nfunction findCancelAction(): ModalAction | undefined {\n return props.actions.find((a) => a.color === 'secondary' || a.color === 'error');\n}\n\nfunction findPrimaryAction(): ModalAction | undefined {\n return props.actions.find(\n (a) => a.color === 'primary' || (!a.color && props.actions.indexOf(a) === props.actions.length - 1),\n );\n}\n\nfunction isInteractiveElement(target: HTMLElement): boolean {\n return target.tagName === 'TEXTAREA';\n}\n\nfunction getDefaultVariant(color?: string): 'elevated' | 'outlined' | 'text' {\n if (!color || color === 'primary') return 'elevated';\n\n if (color === 'secondary' || color === 'error') return 'outlined';\n\n return 'text';\n}\n\nasync function handleAction(action: ModalAction): Promise<void> {\n if (!action.handler) return;\n\n await action.handler();\n}\n\nfunction onDialogKeydown(e: KeyboardEvent): void {\n if (props.actions.length === 0) return;\n\n if (e.key === 'Escape') {\n if (props.persistent) return;\n\n const cancelAction = findCancelAction();\n\n if (!cancelAction) return;\n\n e.preventDefault();\n e.stopPropagation();\n handleAction(cancelAction);\n\n return;\n }\n\n if (e.key === 'Enter' && !e.shiftKey && !e.ctrlKey && !e.altKey) {\n if (!props.enterToConfirm) return;\n\n const target = e.target as HTMLElement;\n\n if (isInteractiveElement(target)) return;\n\n const primaryAction = findPrimaryAction();\n\n if (!primaryAction) return;\n\n e.preventDefault();\n e.stopPropagation();\n handleAction(primaryAction);\n }\n}\n\n</script>\n\n<style scoped>\n.modal-title {\n word-break: break-word;\n white-space: normal;\n}\n</style>\n\n<!-- Vuetify renders overlays as siblings at root; adjust z-index so v-select/v-menu popups inside this dialog appear above the dialog overlay -->\n<style>\n.v-overlay-container .v-menu > .v-overlay__content,\n.v-overlay-container .v-select__content,\n.v-overlay-container .v-autocomplete__content {\n z-index: 2500;\n}\n</style>\n"],"names":["props","__props","emit","__emit","theme","useTheme","isOpen","computed","val","dialogThemeClass","dialogContentClass","findCancelAction","a","findPrimaryAction","isInteractiveElement","target","getDefaultVariant","color","handleAction","action","onDialogKeydown","cancelAction","primaryAction","_createBlock","_component_v_dialog","$event","_createVNode","_component_v_card","_component_v_card_title","_component_v_icon","_createElementVNode","_component_v_card_text","_renderSlot","_ctx","_component_v_card_actions","_component_v_spacer","_openBlock","_createElementBlock","_Fragment","_renderList","index","_component_v_btn","_createTextVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _ as o } from "./components/FzConfigProvider-X6sXT-LE.js";
|
|
2
2
|
import { _ as m } from "./components/buttons-FzIconToolTip-D_cBN1TN.js";
|
|
3
|
-
import { F as r } from "./components/modals-FzModalBase-
|
|
4
|
-
import { _ as i } from "./components/messages-FzConfirmDialog-
|
|
5
|
-
import { F as a } from "./components/messages-FzCustomConfirmDialog-
|
|
3
|
+
import { F as r } from "./components/modals-FzModalBase-CBZ5Ea3Z.js";
|
|
4
|
+
import { _ as i } from "./components/messages-FzConfirmDialog-BvnTIYZm.js";
|
|
5
|
+
import { F as a } from "./components/messages-FzCustomConfirmDialog-CcADw89-.js";
|
|
6
6
|
import { F as s } from "./components/messages-FzFloatingNotify-CV5gLl9-.js";
|
|
7
7
|
import { F as f } from "./components/layout-FzLoadingOverlay-CWKZxowb.js";
|
|
8
8
|
import { F as t } from "./components/inputs-FzMoneyField-Co9uqB9u.js";
|
|
@@ -30,4 +30,4 @@ const P = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
30
30
|
export {
|
|
31
31
|
P as c
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=index-
|
|
33
|
+
//# sourceMappingURL=index-B-0CLj_d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-B-0CLj_d.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-DV6li0y5.js","sources":["../../../src/utils/types.ts"],"sourcesContent":["export interface ConfirmOptions {\n persistent?: boolean;\n confirmText?: string;\n cancelText?: string;\n confirmColor?: string;\n cancelColor?: string;\n}\n\nexport interface ConfirmComponentRef {\n confirmDialog: (title: string, message: string, options?: ConfirmOptions) => Promise<boolean>;\n}\n\nexport type NotifyType = 'success' | 'error' | 'warning' | 'info';\n\nexport interface NotifyOptions {\n type: NotifyType;\n title: string;\n message?: string;\n duration?: number;\n}\n\nexport const NOTIFY_DURATION = 3000;\n\nexport const API_TIMEOUT = 30000;\n\nexport type TextFieldVariant = 'outlined' | 'filled' | 'plain' | 'solo' | 'solo-filled' | 'solo-inverted' | 'underlined';\n"],"names":["NOTIFY_DURATION","API_TIMEOUT"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types-DV6li0y5.js","sources":["../../../src/utils/types.ts"],"sourcesContent":["export interface ConfirmOptions {\n persistent?: boolean;\n confirmText?: string;\n cancelText?: string;\n confirmColor?: string;\n cancelColor?: string;\n enterToConfirm?: boolean;\n}\n\nexport interface ConfirmComponentRef {\n confirmDialog: (title: string, message: string, options?: ConfirmOptions) => Promise<boolean>;\n}\n\nexport type NotifyType = 'success' | 'error' | 'warning' | 'info';\n\nexport interface NotifyOptions {\n type: NotifyType;\n title: string;\n message?: string;\n duration?: number;\n}\n\nexport const NOTIFY_DURATION = 3000;\n\nexport const API_TIMEOUT = 30000;\n\nexport type TextFieldVariant = 'outlined' | 'filled' | 'plain' | 'solo' | 'solo-filled' | 'solo-inverted' | 'underlined';\n"],"names":["NOTIFY_DURATION","API_TIMEOUT"],"mappings":"AAsBO,MAAMA,IAAkB,KAElBC,IAAc;"}
|
package/dist/components/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _ as e } from "../chunks/components/FzConfigProvider-X6sXT-LE.js";
|
|
2
2
|
import { _ as a } from "../chunks/components/buttons-FzIconToolTip-D_cBN1TN.js";
|
|
3
|
-
import { F as f } from "../chunks/components/modals-FzModalBase-
|
|
4
|
-
import { _ as s } from "../chunks/components/messages-FzConfirmDialog-
|
|
5
|
-
import { F as p } from "../chunks/components/messages-FzCustomConfirmDialog-
|
|
3
|
+
import { F as f } from "../chunks/components/modals-FzModalBase-CBZ5Ea3Z.js";
|
|
4
|
+
import { _ as s } from "../chunks/components/messages-FzConfirmDialog-BvnTIYZm.js";
|
|
5
|
+
import { F as p } from "../chunks/components/messages-FzCustomConfirmDialog-CcADw89-.js";
|
|
6
6
|
import { F as x } from "../chunks/components/messages-FzFloatingNotify-CV5gLl9-.js";
|
|
7
7
|
import { F as d } from "../chunks/components/layout-FzLoadingOverlay-CWKZxowb.js";
|
|
8
8
|
import { F as _ } from "../chunks/components/inputs-FzMoneyField-Co9uqB9u.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FzCustomConfirmDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/components/messages/FzCustomConfirmDialog.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FzCustomConfirmDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/components/messages/FzCustomConfirmDialog.vue"],"names":[],"mappings":"AA8JA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAiUpD,QAAA,MAAM,YAAY;2BAnTY,MAAM,WAAW,MAAM,YAAY,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC;0OAqThG,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -11,6 +11,7 @@ interface Props {
|
|
|
11
11
|
message?: string;
|
|
12
12
|
maxWidth?: string | number;
|
|
13
13
|
persistent?: boolean;
|
|
14
|
+
enterToConfirm?: boolean;
|
|
14
15
|
actions?: ModalAction[];
|
|
15
16
|
contentClass?: string;
|
|
16
17
|
fullscreen?: boolean;
|
|
@@ -30,6 +31,7 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
|
|
|
30
31
|
contentClass: string;
|
|
31
32
|
title: string;
|
|
32
33
|
message: string;
|
|
34
|
+
enterToConfirm: boolean;
|
|
33
35
|
actions: ModalAction[];
|
|
34
36
|
fullscreen: boolean;
|
|
35
37
|
titleIcon: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FzModalBase.vue.d.ts","sourceRoot":"","sources":["../../../src/components/modals/FzModalBase.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FzModalBase.vue.d.ts","sourceRoot":"","sources":["../../../src/components/modals/FzModalBase.vue"],"names":[],"mappings":"AA0LA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IACxE,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,UAAU,KAAK;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgTD,QAAA,IAAI,QAAQ,IAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAKhD,QAAA,MAAM,UAAU;;;;;gBA7TD,OAAO;cADT,MAAM,GAAG,MAAM;kBAIX,MAAM;WANb,MAAM;aACJ,MAAM;oBAGC,OAAO;aACd,WAAW,EAAE;gBAEV,OAAO;eACR,MAAM;6EA4TlB,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as s } from "./chunks/index-
|
|
1
|
+
import { c as s } from "./chunks/index-B-0CLj_d.js";
|
|
2
2
|
import { globalsPlugin as t } from "./plugins/index.js";
|
|
3
3
|
import { e as a } from "./chunks/utils/vuetify-check-DRI6ZYnO.js";
|
|
4
4
|
import { d as S } from "./chunks/utils/vuetify-check-DRI6ZYnO.js";
|
|
@@ -15,13 +15,13 @@ import { N as to, c as ao, u as io } from "./chunks/composables/useNumericInput-
|
|
|
15
15
|
import { F as fo, _ as mo } from "./chunks/components/FzConfigProvider-X6sXT-LE.js";
|
|
16
16
|
import { VTooltip as i, VTextField as n, VSpacer as f, VSelect as m, VRow as p, VProgressCircular as u, VMenu as l, VIcon as F, VDialog as x, VCol as c, VCardTitle as d, VCardText as V, VCardActions as g, VCard as z, VBtn as C, VAlert as T } from "vuetify/components";
|
|
17
17
|
import { _ as uo } from "./chunks/components/buttons-FzIconToolTip-D_cBN1TN.js";
|
|
18
|
-
import { _ as Fo } from "./chunks/components/messages-FzConfirmDialog-
|
|
18
|
+
import { _ as Fo } from "./chunks/components/messages-FzConfirmDialog-BvnTIYZm.js";
|
|
19
19
|
import { _ as co } from "./chunks/components/inputs-FzEmailField-CujT-RJo.js";
|
|
20
20
|
import { _ as go } from "./chunks/components/inputs-FzPhoneField-B8Mk05Hd.js";
|
|
21
21
|
import { _ as Co } from "./chunks/components/inputs-FzZipCodeField-B7fHUkXJ.js";
|
|
22
22
|
import { _ as _o } from "./chunks/components/inputs-FzFullAddress-Dj68efww.js";
|
|
23
|
-
import { F as Ao } from "./chunks/components/modals-FzModalBase-
|
|
24
|
-
import { F as yo } from "./chunks/components/messages-FzCustomConfirmDialog-
|
|
23
|
+
import { F as Ao } from "./chunks/components/modals-FzModalBase-CBZ5Ea3Z.js";
|
|
24
|
+
import { F as yo } from "./chunks/components/messages-FzCustomConfirmDialog-CcADw89-.js";
|
|
25
25
|
import { F as Eo } from "./chunks/components/messages-FzFloatingNotify-CV5gLl9-.js";
|
|
26
26
|
import { F as Do } from "./chunks/components/layout-FzLoadingOverlay-CWKZxowb.js";
|
|
27
27
|
import { F as Po } from "./chunks/components/inputs-FzMoneyField-Co9uqB9u.js";
|
package/dist/ui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-v-a32d1159] input{text-align:right}.modal-title[data-v-
|
|
1
|
+
[data-v-a32d1159] input{text-align:right}.modal-title[data-v-90ba442f]{word-break:break-word;white-space:normal}.v-overlay-container .v-menu>.v-overlay__content,.v-overlay-container .v-select__content,.v-overlay-container .v-autocomplete__content{z-index:2500}.custom-dialog-overlay[data-v-fe279f13]{position:fixed;inset:0;background-color:#00000080;z-index:2400}.dialog-fade-enter-active[data-v-fe279f13],.dialog-fade-leave-active[data-v-fe279f13]{transition:opacity .2s ease}.dialog-fade-enter-from[data-v-fe279f13],.dialog-fade-leave-to[data-v-fe279f13]{opacity:0}.dialog-fade-enter-active .v-card[data-v-fe279f13],.dialog-fade-leave-active .v-card[data-v-fe279f13]{transition:transform .2s ease}.dialog-fade-enter-from .v-card[data-v-fe279f13],.dialog-fade-leave-to .v-card[data-v-fe279f13]{transform:scale(.9)}.floating-notify[data-v-b4d8014f]{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;z-index:9999;border-radius:4px;overflow:hidden}.floating-notify[data-v-b4d8014f] .v-alert--border{border-inline-start-width:0}.progress-track[data-v-b4d8014f]{height:3px}.progress-fill[data-v-b4d8014f]{height:100%;transition:width .1s linear}.slide-fade-enter-active[data-v-b4d8014f]{transition:all .3s ease-out}.slide-fade-leave-active[data-v-b4d8014f]{transition:all .3s ease-in}.slide-fade-enter-from[data-v-b4d8014f],.slide-fade-leave-to[data-v-b4d8014f]{transform:translate(100%);opacity:0}.loading-overlay[data-v-7110b861]{position:fixed;inset:0;background-color:#000000b3;z-index:9998}.fade-enter-active[data-v-7110b861],.fade-leave-active[data-v-7110b861]{transition:opacity .2s ease}.fade-enter-from[data-v-7110b861],.fade-leave-to[data-v-7110b861]{opacity:0}.fade-delayed-enter-active[data-v-7110b861]{transition:opacity .3s ease .1s}.fade-delayed-leave-active[data-v-7110b861]{transition:opacity .2s ease}.fade-delayed-enter-from[data-v-7110b861],.fade-delayed-leave-to[data-v-7110b861]{opacity:0}[data-v-c53749c6] input{text-align:right}[data-v-c53749c6] input[type=number]::-webkit-inner-spin-button,[data-v-c53749c6] input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-c53749c6] input[type=number]{-moz-appearance:textfield;appearance:textfield}
|
package/dist/utils/notify.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export declare const useNotifyStore: import("pinia").StoreDefinition<"notify", P
|
|
|
29
29
|
pause: () => void;
|
|
30
30
|
resume: () => void;
|
|
31
31
|
cleanup: () => void;
|
|
32
|
-
}, "show" | "
|
|
32
|
+
}, "show" | "pause" | "hide" | "resume" | "cleanup">>;
|
|
33
33
|
export declare const notify: {
|
|
34
34
|
show: (type: NotifyType, title: string, message?: string) => void;
|
|
35
35
|
success: (title: string, message?: string) => void;
|
package/dist/utils/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface ConfirmOptions {
|
|
|
4
4
|
cancelText?: string;
|
|
5
5
|
confirmColor?: string;
|
|
6
6
|
cancelColor?: string;
|
|
7
|
+
enterToConfirm?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export interface ConfirmComponentRef {
|
|
9
10
|
confirmDialog: (title: string, message: string, options?: ConfirmOptions) => Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/F;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,WAAW,QAAQ,CAAC;AAEjC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,eAAe,GAAG,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { defineComponent as F, ref as e, onMounted as M, onUnmounted as S, resolveComponent as a, createBlock as b, openBlock as f, Teleport as j, createVNode as n, Transition as E, withCtx as t, createElementBlock as O, createCommentVNode as T, withModifiers as R, createElementVNode as I, createTextVNode as s, toDisplayString as i } from "vue";
|
|
2
|
-
import { u as w } from "../utils/confirm-DiGEPjua.js";
|
|
3
|
-
import { _ as U } from "./inputs-FzMoneyField-Co9uqB9u.js";
|
|
4
|
-
const Y = { class: "text-h6 font-weight-medium" }, q = /* @__PURE__ */ F({
|
|
5
|
-
__name: "FzCustomConfirmDialog",
|
|
6
|
-
setup(A, { expose: N }) {
|
|
7
|
-
const c = e(!1), m = e(""), u = e(""), v = e(!0), _ = e(""), p = e(""), x = e("primary"), C = e("secondary");
|
|
8
|
-
let l = null;
|
|
9
|
-
const g = (h, r, o) => (m.value = h, u.value = r, v.value = o?.persistent ?? !0, _.value = o?.confirmText ?? "Sim", p.value = o?.cancelText ?? "Não", x.value = o?.confirmColor ?? "primary", C.value = o?.cancelColor ?? "secondary", c.value = !0, new Promise((d) => {
|
|
10
|
-
l = d;
|
|
11
|
-
}));
|
|
12
|
-
M(() => {
|
|
13
|
-
w().setConfirmRef({ confirmDialog: g });
|
|
14
|
-
}), S(() => {
|
|
15
|
-
w().setConfirmRef({ confirmDialog: () => Promise.resolve(!1) });
|
|
16
|
-
});
|
|
17
|
-
const D = () => {
|
|
18
|
-
l && l(!0), c.value = !1;
|
|
19
|
-
}, y = () => {
|
|
20
|
-
l && l(!1), c.value = !1;
|
|
21
|
-
}, P = () => {
|
|
22
|
-
v.value || y();
|
|
23
|
-
};
|
|
24
|
-
return N({
|
|
25
|
-
confirmDialog: g
|
|
26
|
-
}), (h, r) => {
|
|
27
|
-
const o = a("v-icon"), d = a("v-card-title"), V = a("v-card-text"), k = a("v-btn"), z = a("v-card-actions"), B = a("v-card");
|
|
28
|
-
return f(), b(j, { to: "body" }, [
|
|
29
|
-
n(E, { name: "dialog-fade" }, {
|
|
30
|
-
default: t(() => [
|
|
31
|
-
c.value ? (f(), O("div", {
|
|
32
|
-
key: 0,
|
|
33
|
-
class: "custom-dialog-overlay d-flex align-center justify-center pa-4",
|
|
34
|
-
onClick: R(P, ["self"])
|
|
35
|
-
}, [
|
|
36
|
-
n(B, {
|
|
37
|
-
class: "flex-grow-1",
|
|
38
|
-
"max-width": "500",
|
|
39
|
-
elevation: 12
|
|
40
|
-
}, {
|
|
41
|
-
default: t(() => [
|
|
42
|
-
n(d, { class: "d-flex align-center ga-3 px-6 pb-4 pt-6" }, {
|
|
43
|
-
default: t(() => [
|
|
44
|
-
n(o, {
|
|
45
|
-
color: "warning",
|
|
46
|
-
size: "28"
|
|
47
|
-
}, {
|
|
48
|
-
default: t(() => [...r[0] || (r[0] = [
|
|
49
|
-
s("mdi-help-circle", -1)
|
|
50
|
-
])]),
|
|
51
|
-
_: 1
|
|
52
|
-
}),
|
|
53
|
-
I("span", Y, i(m.value), 1)
|
|
54
|
-
]),
|
|
55
|
-
_: 1
|
|
56
|
-
}),
|
|
57
|
-
u.value ? (f(), b(V, {
|
|
58
|
-
key: 0,
|
|
59
|
-
class: "px-6 pb-4 text-body-2"
|
|
60
|
-
}, {
|
|
61
|
-
default: t(() => [
|
|
62
|
-
s(i(u.value), 1)
|
|
63
|
-
]),
|
|
64
|
-
_: 1
|
|
65
|
-
})) : T("", !0),
|
|
66
|
-
n(z, { class: "d-flex justify-end ga-2 px-6 pb-6 pt-2" }, {
|
|
67
|
-
default: t(() => [
|
|
68
|
-
n(k, {
|
|
69
|
-
color: C.value,
|
|
70
|
-
variant: "outlined",
|
|
71
|
-
class: "text-none",
|
|
72
|
-
onClick: y
|
|
73
|
-
}, {
|
|
74
|
-
default: t(() => [
|
|
75
|
-
s(i(p.value), 1)
|
|
76
|
-
]),
|
|
77
|
-
_: 1
|
|
78
|
-
}, 8, ["color"]),
|
|
79
|
-
n(k, {
|
|
80
|
-
color: x.value,
|
|
81
|
-
variant: "elevated",
|
|
82
|
-
class: "text-none",
|
|
83
|
-
onClick: D
|
|
84
|
-
}, {
|
|
85
|
-
default: t(() => [
|
|
86
|
-
s(i(_.value), 1)
|
|
87
|
-
]),
|
|
88
|
-
_: 1
|
|
89
|
-
}, 8, ["color"])
|
|
90
|
-
]),
|
|
91
|
-
_: 1
|
|
92
|
-
})
|
|
93
|
-
]),
|
|
94
|
-
_: 1
|
|
95
|
-
})
|
|
96
|
-
])) : T("", !0)
|
|
97
|
-
]),
|
|
98
|
-
_: 1
|
|
99
|
-
})
|
|
100
|
-
]);
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
}), K = /* @__PURE__ */ U(q, [["__scopeId", "data-v-ecb0e1a5"]]);
|
|
104
|
-
export {
|
|
105
|
-
K as F
|
|
106
|
-
};
|
|
107
|
-
//# sourceMappingURL=messages-FzCustomConfirmDialog-DiuYkXxY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messages-FzCustomConfirmDialog-DiuYkXxY.js","sources":["../../../src/components/messages/FzCustomConfirmDialog.vue"],"sourcesContent":["<template>\n <Teleport to=\"body\">\n <Transition name=\"dialog-fade\">\n <div\n v-if=\"isOpen\"\n class=\"custom-dialog-overlay d-flex align-center justify-center pa-4\"\n @click.self=\"handleOverlayClick\"\n >\n <v-card class=\"flex-grow-1\" max-width=\"500\" :elevation=\"12\">\n <v-card-title class=\"d-flex align-center ga-3 px-6 pb-4 pt-6\">\n <v-icon color=\"warning\" size=\"28\">mdi-help-circle</v-icon>\n <span class=\"text-h6 font-weight-medium\">{{ currentTitle }}</span>\n </v-card-title>\n\n <v-card-text v-if=\"currentMessage\" class=\"px-6 pb-4 text-body-2\">\n {{ currentMessage }}\n </v-card-text>\n\n <v-card-actions class=\"d-flex justify-end ga-2 px-6 pb-6 pt-2\">\n <v-btn :color=\"cancelColor\" variant=\"outlined\" class=\"text-none\" @click=\"handleNo\">\n {{ cancelText }}\n </v-btn>\n <v-btn :color=\"confirmColor\" variant=\"elevated\" class=\"text-none\" @click=\"handleYes\">\n {{ confirmText }}\n </v-btn>\n </v-card-actions>\n </v-card>\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, onMounted, onUnmounted } from 'vue';\nimport type { ConfirmOptions } from '@/utils/types';\nimport { useConfirmStore } from '@/utils/confirm';\n\nconst isOpen = ref(false);\nconst currentTitle = ref('');\nconst currentMessage = ref('');\nconst isPersistent = ref(true);\nconst confirmText = ref('');\nconst cancelText = ref('');\nconst confirmColor = ref('primary');\nconst cancelColor = ref('secondary');\nlet resolvePromise: ((value: boolean) => void) | null = null;\n\nconst confirmDialog = (title: string, message: string, options?: ConfirmOptions): Promise<boolean> => {\n currentTitle.value = title;\n currentMessage.value = message;\n isPersistent.value = options?.persistent ?? true;\n confirmText.value = options?.confirmText ?? 'Sim';\n cancelText.value = options?.cancelText ?? 'Não';\n confirmColor.value = options?.confirmColor ?? 'primary';\n cancelColor.value = options?.cancelColor ?? 'secondary';\n isOpen.value = true;\n\n return new Promise((resolve) => {\n resolvePromise = resolve;\n });\n};\n\nonMounted(() => {\n useConfirmStore().setConfirmRef({ confirmDialog });\n});\n\nonUnmounted(() => {\n useConfirmStore().setConfirmRef({ confirmDialog: () => Promise.resolve(false) });\n});\n\nconst handleYes = () => {\n if (resolvePromise) resolvePromise(true);\n\n isOpen.value = false;\n};\n\nconst handleNo = () => {\n if (resolvePromise) resolvePromise(false);\n\n isOpen.value = false;\n};\n\nconst handleOverlayClick = () => {\n if (isPersistent.value) return;\n\n handleNo();\n};\n\ndefineExpose({\n confirmDialog,\n});\n</script>\n\n<style scoped>\n.custom-dialog-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 2400;\n}\n\n.dialog-fade-enter-active,\n.dialog-fade-leave-active {\n transition: opacity 0.2s ease;\n}\n\n.dialog-fade-enter-from,\n.dialog-fade-leave-to {\n opacity: 0;\n}\n\n.dialog-fade-enter-active .v-card,\n.dialog-fade-leave-active .v-card {\n transition: transform 0.2s ease;\n}\n\n.dialog-fade-enter-from .v-card {\n transform: scale(0.9);\n}\n\n.dialog-fade-leave-to .v-card {\n transform: scale(0.9);\n}\n</style>\n"],"names":["isOpen","ref","currentTitle","currentMessage","isPersistent","confirmText","cancelText","confirmColor","cancelColor","resolvePromise","confirmDialog","title","message","options","resolve","onMounted","useConfirmStore","onUnmounted","handleYes","handleNo","handleOverlayClick","__expose","_createBlock","_Teleport","_createVNode","_Transition","_createElementBlock","_component_v_card","_component_v_card_title","_component_v_icon","_cache","_createElementVNode","_hoisted_1","_toDisplayString","_component_v_card_text","_component_v_card_actions","_component_v_btn"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modals-FzModalBase-DmsJR5qM.js","sources":["../../../src/components/modals/FzModalBase.vue"],"sourcesContent":["<template>\n <v-dialog\n v-model=\"isOpen\"\n :max-width=\"maxWidth\"\n :persistent=\"persistent\"\n :content-class=\"dialogContentClass\"\n :fullscreen=\"fullscreen\"\n scrollable\n :z-index=\"2400\"\n @keydown=\"onDialogKeydown\"\n >\n <v-card>\n <v-card-title\n v-if=\"title\"\n class=\"text-h5 d-flex align-center px-6 pt-6 modal-title\"\n >\n <v-icon v-if=\"titleIcon\" class=\"mr-2\">{{ titleIcon }}</v-icon>\n <span>{{ title }}</span>\n </v-card-title>\n\n <v-card-text class=\"px-6 pt-4\">\n <slot>\n {{ message }}\n </slot>\n </v-card-text>\n\n <v-card-actions>\n <v-spacer />\n <v-btn\n v-for=\"(action, index) in actions\"\n :key=\"index\"\n :color=\"action.color || 'primary'\"\n :prepend-icon=\"action.icon\"\n :variant=\"action.variant || getDefaultVariant(action.color)\"\n type=\"button\"\n class=\"text-none\"\n @click=\"handleAction(action)\"\n >\n {{ action.text }}\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { useTheme } from 'vuetify';\n\nexport interface ModalAction {\n text: string;\n icon?: string;\n color?: string;\n variant?: 'text' | 'flat' | 'elevated' | 'tonal' | 'outlined' | 'plain';\n handler?: () => void | Promise<void>;\n}\n\ninterface Props {\n modelValue: boolean;\n title?: string;\n message?: string;\n maxWidth?: string | number;\n persistent?: boolean;\n actions?: ModalAction[];\n contentClass?: string;\n fullscreen?: boolean;\n titleIcon?: string;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n title: undefined,\n message: '',\n maxWidth: 500,\n persistent: true,\n actions: () => [],\n contentClass: undefined,\n fullscreen: false,\n titleIcon: undefined,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: boolean];\n}>();\n\nconst theme = useTheme();\n\nconst isOpen = computed({\n get: () => props.modelValue,\n set: (val) => emit('update:modelValue', val),\n});\n\nconst dialogThemeClass = computed(() => `v-theme--${theme.global.name.value}`);\n\nconst dialogContentClass = computed(() => {\n if (!props.contentClass) return dialogThemeClass.value;\n\n return `${dialogThemeClass.value} ${props.contentClass}`;\n});\n\nfunction findCancelAction(): ModalAction | undefined {\n return props.actions.find((a) => a.color === 'secondary' || a.color === 'error');\n}\n\nfunction findPrimaryAction(): ModalAction | undefined {\n return props.actions.find(\n (a) => a.color === 'primary' || (!a.color && props.actions.indexOf(a) === props.actions.length - 1),\n );\n}\n\nfunction isInteractiveElement(target: HTMLElement): boolean {\n return target.tagName === 'TEXTAREA';\n}\n\nfunction getDefaultVariant(color?: string): 'elevated' | 'outlined' | 'text' {\n if (!color || color === 'primary') return 'elevated';\n\n if (color === 'secondary' || color === 'error') return 'outlined';\n\n return 'text';\n}\n\nasync function handleAction(action: ModalAction): Promise<void> {\n if (!action.handler) return;\n\n await action.handler();\n}\n\nfunction onDialogKeydown(e: KeyboardEvent): void {\n if (props.actions.length === 0) return;\n\n if (e.key === 'Escape') {\n const cancelAction = findCancelAction();\n\n if (!cancelAction) return;\n\n e.preventDefault();\n e.stopPropagation();\n handleAction(cancelAction);\n\n return;\n }\n\n if (e.key === 'Enter' && !e.shiftKey && !e.ctrlKey && !e.altKey) {\n const target = e.target as HTMLElement;\n\n if (isInteractiveElement(target)) return;\n\n const primaryAction = findPrimaryAction();\n\n if (!primaryAction) return;\n\n e.preventDefault();\n e.stopPropagation();\n handleAction(primaryAction);\n }\n}\n\n</script>\n\n<style scoped>\n.modal-title {\n word-break: break-word;\n white-space: normal;\n}\n</style>\n\n<!-- Vuetify renders overlays as siblings at root; adjust z-index so v-select/v-menu popups inside this dialog appear above the dialog overlay -->\n<style>\n.v-overlay-container .v-menu > .v-overlay__content,\n.v-overlay-container .v-select__content,\n.v-overlay-container .v-autocomplete__content {\n z-index: 2500;\n}\n</style>\n"],"names":["props","__props","emit","__emit","theme","useTheme","isOpen","computed","val","dialogThemeClass","dialogContentClass","findCancelAction","a","findPrimaryAction","isInteractiveElement","target","getDefaultVariant","color","handleAction","action","onDialogKeydown","cancelAction","primaryAction","_createBlock","_component_v_dialog","$event","_createVNode","_component_v_card","_component_v_card_title","_component_v_icon","_createElementVNode","_component_v_card_text","_renderSlot","_ctx","_component_v_card_actions","_component_v_spacer","_openBlock","_createElementBlock","_Fragment","_renderList","index","_component_v_btn","_createTextVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BEN9ppaq.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|