@forizi-tecnologia/ui 0.0.6 → 0.0.8
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/{inputs-FzFullAddress-Dj68efww.js → inputs-FzFullAddress-VTqqGmqm.js} +10 -10
- package/dist/chunks/components/{inputs-FzFullAddress-Dj68efww.js.map → inputs-FzFullAddress-VTqqGmqm.js.map} +1 -1
- package/dist/chunks/components/{inputs-FzMoneyField-Co9uqB9u.js → inputs-FzMoneyField-C8nCfRgx.js} +8 -8
- package/dist/chunks/components/{inputs-FzMoneyField-Co9uqB9u.js.map → inputs-FzMoneyField-C8nCfRgx.js.map} +1 -1
- package/dist/chunks/components/{inputs-FzNumberField-DG-uYIEA.js → inputs-FzNumberField-BoJ_kxJg.js} +2 -2
- package/dist/chunks/components/{inputs-FzNumberField-DG-uYIEA.js.map → inputs-FzNumberField-BoJ_kxJg.js.map} +1 -1
- package/dist/chunks/components/inputs-datepicker-FzDatePicker-FDVslsba.js +129 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePicker-FDVslsba.js.map +1 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerCalendar-TOO_5iVD.js +170 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerCalendar-TOO_5iVD.js.map +1 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerDaysView-0m1isZIx.js +82 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerDaysView-0m1isZIx.js.map +1 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerMonthsView-DfjKo8Y0.js +52 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerMonthsView-DfjKo8Y0.js.map +1 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerYearsView-BLqOg5T9.js +58 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerYearsView-BLqOg5T9.js.map +1 -0
- package/dist/chunks/components/{layout-FzLoadingOverlay-CWKZxowb.js → layout-FzLoadingOverlay-DTejZcvu.js} +2 -2
- package/dist/chunks/components/{layout-FzLoadingOverlay-CWKZxowb.js.map → layout-FzLoadingOverlay-DTejZcvu.js.map} +1 -1
- package/dist/chunks/components/messages-FzConfirmDialog-C3KyhNp5.js +18 -0
- package/dist/chunks/components/messages-FzConfirmDialog-C3KyhNp5.js.map +1 -0
- package/dist/chunks/components/messages-FzCustomConfirmDialog-MMylgbvn.js +118 -0
- package/dist/chunks/components/messages-FzCustomConfirmDialog-MMylgbvn.js.map +1 -0
- package/dist/chunks/components/messages-FzFloatingNotify-DU8K95A2.js +96 -0
- package/dist/chunks/components/messages-FzFloatingNotify-DU8K95A2.js.map +1 -0
- package/dist/chunks/components/{modals-FzModalBase-DmsJR5qM.js → modals-FzModalBase-OltWGin-.js} +27 -24
- package/dist/chunks/components/modals-FzModalBase-OltWGin-.js.map +1 -0
- package/dist/chunks/composables/useDatePicker-DlPanUqu.js +78 -0
- package/dist/chunks/composables/useDatePicker-DlPanUqu.js.map +1 -0
- package/dist/chunks/index-CykPyQ3c.js +35 -0
- package/dist/chunks/index-CykPyQ3c.js.map +1 -0
- package/dist/chunks/utils/date-BCG-p19e.js +106 -0
- package/dist/chunks/utils/date-BCG-p19e.js.map +1 -0
- package/dist/chunks/utils/types-DV6li0y5.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +15 -13
- package/dist/components/index.js.map +1 -1
- package/dist/components/inputs/FzFullAddress.vue.d.ts.map +1 -1
- package/dist/components/inputs/datepicker/FzDatePicker.vue.d.ts +66 -0
- package/dist/components/inputs/datepicker/FzDatePicker.vue.d.ts.map +1 -0
- package/dist/components/inputs/datepicker/FzDatePickerCalendar.vue.d.ts +33 -0
- package/dist/components/inputs/datepicker/FzDatePickerCalendar.vue.d.ts.map +1 -0
- package/dist/components/inputs/datepicker/FzDatePickerDaysView.vue.d.ts +17 -0
- package/dist/components/inputs/datepicker/FzDatePickerDaysView.vue.d.ts.map +1 -0
- package/dist/components/inputs/datepicker/FzDatePickerMonthsView.vue.d.ts +13 -0
- package/dist/components/inputs/datepicker/FzDatePickerMonthsView.vue.d.ts.map +1 -0
- package/dist/components/inputs/datepicker/FzDatePickerYearsView.vue.d.ts +13 -0
- package/dist/components/inputs/datepicker/FzDatePickerYearsView.vue.d.ts.map +1 -0
- package/dist/components/messages/FzConfirmDialog.vue.d.ts.map +1 -1
- package/dist/components/messages/FzCustomConfirmDialog.vue.d.ts.map +1 -1
- package/dist/components/messages/FzFloatingNotify.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/composables/index.d.ts +1 -0
- package/dist/composables/index.d.ts.map +1 -1
- package/dist/composables/index.js +6 -4
- package/dist/composables/index.js.map +1 -1
- package/dist/composables/useDatePicker.d.ts +30 -0
- package/dist/composables/useDatePicker.d.ts.map +1 -0
- package/dist/index.js +64 -60
- package/dist/index.js.map +1 -1
- package/dist/ui.css +1 -1
- package/dist/utils/date.d.ts +28 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +19 -18
- package/dist/utils/index.js.map +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-FzConfirmDialog-vB2NQFVy.js +0 -18
- package/dist/chunks/components/messages-FzConfirmDialog-vB2NQFVy.js.map +0 -1
- package/dist/chunks/components/messages-FzCustomConfirmDialog-DF73kvKq.js +0 -107
- package/dist/chunks/components/messages-FzCustomConfirmDialog-DF73kvKq.js.map +0 -1
- package/dist/chunks/components/messages-FzFloatingNotify-CV5gLl9-.js +0 -96
- package/dist/chunks/components/messages-FzFloatingNotify-CV5gLl9-.js.map +0 -1
- package/dist/chunks/components/modals-FzModalBase-DmsJR5qM.js.map +0 -1
- package/dist/chunks/index-OarSr4I3.js +0 -33
- package/dist/chunks/index-OarSr4I3.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messages-FzCustomConfirmDialog-DF73kvKq.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, 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,96 +0,0 @@
|
|
|
1
|
-
import { defineComponent as T, ref as E, computed as a, watch as A, onUnmounted as D, resolveComponent as x, createBlock as B, openBlock as k, Transition as I, withCtx as S, createElementBlock as R, createCommentVNode as V, unref as s, normalizeStyle as p, createVNode as q, createElementVNode as b } from "vue";
|
|
2
|
-
import { useTheme as z } from "vuetify";
|
|
3
|
-
import { u as G } from "../utils/notify-CE_gbk11.js";
|
|
4
|
-
import { N as h } from "../utils/types-DV6li0y5.js";
|
|
5
|
-
import { _ as L } from "./inputs-FzMoneyField-Co9uqB9u.js";
|
|
6
|
-
const O = 350, H = "#1E1E1E", K = /* @__PURE__ */ T({
|
|
7
|
-
__name: "FzFloatingNotify",
|
|
8
|
-
setup(M) {
|
|
9
|
-
const d = z(), e = G(), v = E(null), n = E(100), F = a(() => d.global.name.value === "dark"), y = {
|
|
10
|
-
success: "#4CAF50",
|
|
11
|
-
error: "#F44336",
|
|
12
|
-
warning: "#FF9800",
|
|
13
|
-
info: "#2196F3"
|
|
14
|
-
}, _ = a(() => {
|
|
15
|
-
try {
|
|
16
|
-
const t = d.global.current.value.colors?.[e.type];
|
|
17
|
-
if (typeof t == "string" && t.startsWith("#")) return t;
|
|
18
|
-
} catch {
|
|
19
|
-
}
|
|
20
|
-
return y[e.type] || y.info;
|
|
21
|
-
}), l = {
|
|
22
|
-
success: "#E8F5E9",
|
|
23
|
-
error: "#FFEBEE",
|
|
24
|
-
warning: "#FFF3E0",
|
|
25
|
-
info: "#E3F2FD"
|
|
26
|
-
}, w = a(() => ({
|
|
27
|
-
backgroundColor: F.value ? H : l[e.type] || l.info,
|
|
28
|
-
borderInlineStart: `4px solid ${_.value}`
|
|
29
|
-
})), C = a(() => F.value ? "rgba(255, 255, 255, 0.05)" : l[e.type] || l.info), N = a(() => _.value);
|
|
30
|
-
function i() {
|
|
31
|
-
if (!e.isVisible) return;
|
|
32
|
-
const r = Date.now() >= g && (v.value?.matches(":hover") ?? !1);
|
|
33
|
-
if (r && !o) {
|
|
34
|
-
o = !0, u += Date.now() - c, e.pause(), requestAnimationFrame(i);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
if (!r && o && (o = !1, c = Date.now(), e.resume()), o) {
|
|
38
|
-
requestAnimationFrame(i);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const t = Date.now() - c, f = u + t, m = h - f;
|
|
42
|
-
if (m <= 0) {
|
|
43
|
-
n.value = 0;
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
n.value = m / h * 100, requestAnimationFrame(i);
|
|
47
|
-
}
|
|
48
|
-
let u = 0, c = 0, g = 0, o = !1;
|
|
49
|
-
return A(() => e.isVisible, (r) => {
|
|
50
|
-
if (r) {
|
|
51
|
-
u = 0, c = Date.now(), g = Date.now() + O, o = !1, n.value = 100, requestAnimationFrame(i);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
o = !1, n.value = 100;
|
|
55
|
-
}), D(() => {
|
|
56
|
-
e.cleanup();
|
|
57
|
-
}), (r, t) => {
|
|
58
|
-
const f = x("v-alert");
|
|
59
|
-
return k(), B(I, { name: "slide-fade" }, {
|
|
60
|
-
default: S(() => [
|
|
61
|
-
s(e).isVisible ? (k(), R("div", {
|
|
62
|
-
key: 0,
|
|
63
|
-
ref_key: "notificationRef",
|
|
64
|
-
ref: v,
|
|
65
|
-
class: "floating-notify elevation-6",
|
|
66
|
-
style: p(w.value)
|
|
67
|
-
}, [
|
|
68
|
-
q(f, {
|
|
69
|
-
type: s(e).type,
|
|
70
|
-
title: s(e).title,
|
|
71
|
-
text: s(e).message,
|
|
72
|
-
variant: "text",
|
|
73
|
-
closable: "",
|
|
74
|
-
class: "floating-notify-alert",
|
|
75
|
-
"onClick:close": t[0] || (t[0] = (m) => s(e).hide())
|
|
76
|
-
}, null, 8, ["type", "title", "text"]),
|
|
77
|
-
b("div", {
|
|
78
|
-
class: "progress-track",
|
|
79
|
-
style: p({ backgroundColor: C.value })
|
|
80
|
-
}, [
|
|
81
|
-
b("div", {
|
|
82
|
-
class: "progress-fill",
|
|
83
|
-
style: p({ width: n.value + "%", backgroundColor: N.value })
|
|
84
|
-
}, null, 4)
|
|
85
|
-
], 4)
|
|
86
|
-
], 4)) : V("", !0)
|
|
87
|
-
]),
|
|
88
|
-
_: 1
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
}), j = /* @__PURE__ */ L(K, [["__scopeId", "data-v-b4d8014f"]]);
|
|
93
|
-
export {
|
|
94
|
-
j as F
|
|
95
|
-
};
|
|
96
|
-
//# sourceMappingURL=messages-FzFloatingNotify-CV5gLl9-.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messages-FzFloatingNotify-CV5gLl9-.js","sources":["../../../src/components/messages/FzFloatingNotify.vue"],"sourcesContent":["<template>\n <Transition name=\"slide-fade\">\n <div\n v-if=\"store.isVisible\"\n ref=\"notificationRef\"\n class=\"floating-notify elevation-6\"\n :style=\"wrapperStyle\"\n >\n <v-alert\n :type=\"store.type\"\n :title=\"store.title\"\n :text=\"store.message\"\n variant=\"text\"\n closable\n class=\"floating-notify-alert\"\n @click:close=\"store.hide()\"\n />\n\n <div\n class=\"progress-track\"\n :style=\"{ backgroundColor: trackBg }\"\n >\n <div\n class=\"progress-fill\"\n :style=\"{ width: progress + '%', backgroundColor: fillColor }\"\n />\n </div>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onUnmounted } from 'vue';\nimport { useTheme } from 'vuetify';\nimport { useNotifyStore } from '@/utils/notify';\nimport { NOTIFY_DURATION } from '@/utils/types';\n\nconst theme = useTheme();\nconst store = useNotifyStore();\n\nconst notificationRef = ref<HTMLElement | null>(null);\nconst progress = ref(100);\nconst ENTER_TRANSITION_MS = 350;\n\nconst isDark = computed(() => theme.global.name.value === 'dark');\n\nconst FALLBACK: Record<string, string> = {\n success: '#4CAF50', error: '#F44336', warning: '#FF9800', info: '#2196F3',\n};\n\nconst themeTypeColor = computed(() => {\n try {\n const colors = theme.global.current.value.colors;\n const hex = colors?.[store.type];\n\n if (typeof hex === 'string' && hex.startsWith('#')) return hex;\n } catch {\n // theme not accessible\n }\n\n return FALLBACK[store.type] || FALLBACK.info;\n});\n\nconst LIGHT_BG: Record<string, string> = {\n success: '#E8F5E9', error: '#FFEBEE', warning: '#FFF3E0', info: '#E3F2FD',\n};\nconst DARK_BG = '#1E1E1E';\n\nconst wrapperStyle = computed(() => ({\n backgroundColor: isDark.value ? DARK_BG : LIGHT_BG[store.type] || LIGHT_BG.info,\n borderInlineStart: `4px solid ${themeTypeColor.value}`,\n}));\n\nconst trackBg = computed(() => {\n if (isDark.value) return 'rgba(255, 255, 255, 0.05)';\n\n return LIGHT_BG[store.type] || LIGHT_BG.info;\n});\n\nconst fillColor = computed(() => themeTypeColor.value);\n\nfunction updateProgress() {\n if (!store.isVisible) return;\n\n const hovered = Date.now() >= enterTransitionEndTime && (notificationRef.value?.matches(':hover') ?? false);\n\n if (hovered && !isHovered) {\n isHovered = true;\n totalElapsedMs += Date.now() - intervalStartTime;\n\n store.pause();\n\n requestAnimationFrame(updateProgress);\n\n return;\n }\n\n if (!hovered && isHovered) {\n isHovered = false;\n intervalStartTime = Date.now();\n\n store.resume();\n }\n\n if (isHovered) {\n requestAnimationFrame(updateProgress);\n\n return;\n }\n\n const elapsed = Date.now() - intervalStartTime;\n const totalElapsed = totalElapsedMs + elapsed;\n const remaining = NOTIFY_DURATION - totalElapsed;\n\n if (remaining <= 0) {\n progress.value = 0;\n\n return;\n }\n\n progress.value = (remaining / NOTIFY_DURATION) * 100;\n\n requestAnimationFrame(updateProgress);\n}\n\nlet totalElapsedMs = 0;\nlet intervalStartTime = 0;\nlet enterTransitionEndTime = 0;\nlet isHovered = false;\n\nwatch(() => store.isVisible, (visible) => {\n if (visible) {\n totalElapsedMs = 0;\n intervalStartTime = Date.now();\n enterTransitionEndTime = Date.now() + ENTER_TRANSITION_MS;\n isHovered = false;\n progress.value = 100;\n\n requestAnimationFrame(updateProgress);\n\n return;\n }\n\n isHovered = false;\n progress.value = 100;\n});\n\nonUnmounted(() => {\n store.cleanup();\n});\n</script>\n\n<style scoped>\n.floating-notify {\n position: fixed;\n top: 20px;\n right: 20px;\n min-width: 300px;\n max-width: 500px;\n z-index: 9999;\n border-radius: 4px;\n overflow: hidden;\n}\n\n.floating-notify :deep(.v-alert--border) {\n border-inline-start-width: 0;\n}\n\n.progress-track {\n height: 3px;\n}\n\n.progress-fill {\n height: 100%;\n transition: width 100ms linear;\n}\n\n.slide-fade-enter-active {\n transition: all 0.3s ease-out;\n}\n\n.slide-fade-leave-active {\n transition: all 0.3s ease-in;\n}\n\n.slide-fade-enter-from {\n transform: translateX(100%);\n opacity: 0;\n}\n\n.slide-fade-leave-to {\n transform: translateX(100%);\n opacity: 0;\n}\n</style>\n"],"names":["ENTER_TRANSITION_MS","DARK_BG","theme","useTheme","store","useNotifyStore","notificationRef","ref","progress","isDark","computed","FALLBACK","themeTypeColor","hex","LIGHT_BG","wrapperStyle","trackBg","fillColor","updateProgress","hovered","enterTransitionEndTime","isHovered","totalElapsedMs","intervalStartTime","elapsed","totalElapsed","remaining","NOTIFY_DURATION","watch","visible","onUnmounted","_createBlock","_Transition","_unref","_createElementBlock","_createVNode","_component_v_alert","_cache","$event","_createElementVNode","_normalizeStyle"],"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,33 +0,0 @@
|
|
|
1
|
-
import { _ as o } from "./components/FzConfigProvider-X6sXT-LE.js";
|
|
2
|
-
import { _ as m } from "./components/buttons-FzIconToolTip-D_cBN1TN.js";
|
|
3
|
-
import { F as r } from "./components/modals-FzModalBase-DmsJR5qM.js";
|
|
4
|
-
import { _ as i } from "./components/messages-FzConfirmDialog-vB2NQFVy.js";
|
|
5
|
-
import { F as a } from "./components/messages-FzCustomConfirmDialog-DF73kvKq.js";
|
|
6
|
-
import { F as s } from "./components/messages-FzFloatingNotify-CV5gLl9-.js";
|
|
7
|
-
import { F as f } from "./components/layout-FzLoadingOverlay-CWKZxowb.js";
|
|
8
|
-
import { F as t } from "./components/inputs-FzMoneyField-Co9uqB9u.js";
|
|
9
|
-
import { _ as F } from "./components/inputs-FzEmailField-CujT-RJo.js";
|
|
10
|
-
import { F as e } from "./components/inputs-FzNumberField-DG-uYIEA.js";
|
|
11
|
-
import { _ } from "./components/inputs-FzPhoneField-B8Mk05Hd.js";
|
|
12
|
-
import { _ as n } from "./components/inputs-FzZipCodeField-B7fHUkXJ.js";
|
|
13
|
-
import { _ as p } from "./components/inputs-FzFullAddress-Dj68efww.js";
|
|
14
|
-
const P = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
15
|
-
__proto__: null,
|
|
16
|
-
FzConfigProvider: o,
|
|
17
|
-
FzConfirmDialog: i,
|
|
18
|
-
FzCustomConfirmDialog: a,
|
|
19
|
-
FzEmailField: F,
|
|
20
|
-
FzFloatingNotify: s,
|
|
21
|
-
FzFullAddress: p,
|
|
22
|
-
FzIconToolTip: m,
|
|
23
|
-
FzLoadingOverlay: f,
|
|
24
|
-
FzModalBase: r,
|
|
25
|
-
FzMoneyField: t,
|
|
26
|
-
FzNumberField: e,
|
|
27
|
-
FzPhoneField: _,
|
|
28
|
-
FzZipCodeField: n
|
|
29
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
30
|
-
export {
|
|
31
|
-
P as c
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=index-OarSr4I3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-OarSr4I3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|