vue-dialog-view 1.8.3 → 2.0.0-alpha.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/README.md +4 -0
- package/dist/DialogView.obf.vue.d.ts +14 -20
- package/dist/DialogView.vue.d.ts +14 -20
- package/dist/cssless-obfuscated.es.js +95 -95
- package/dist/cssless-obfuscated.es.js.map +1 -1
- package/dist/cssless-obfuscated.umd.js +2 -2
- package/dist/cssless-obfuscated.umd.js.map +1 -1
- package/dist/cssless.es.js +99 -100
- package/dist/cssless.es.js.map +1 -1
- package/dist/cssless.umd.js +2 -2
- package/dist/cssless.umd.js.map +1 -1
- package/dist/dialog-view.es.js +96 -96
- package/dist/dialog-view.es.js.map +1 -1
- package/dist/dialog-view.umd.js +3 -3
- package/dist/dialog-view.umd.js.map +1 -1
- package/dist/unobfuscated.es.js +100 -101
- package/dist/unobfuscated.es.js.map +1 -1
- package/dist/unobfuscated.umd.js +3 -3
- package/dist/unobfuscated.umd.js.map +1 -1
- package/dist/vue-dialog-view-obfuscated.css +2 -1
- package/dist/vue-dialog-view.css +2 -1
- package/package.json +14 -12
- package/src/DialogView.obf.vue +10 -3
- package/src/DialogView.vue +10 -3
- package/src/style.d.ts +1 -0
- package/tsconfig.json +1 -1
- package/vite.config.ts +11 -10
package/README.md
CHANGED
|
@@ -145,6 +145,10 @@ Example:
|
|
|
145
145
|
|
|
146
146
|
These variables work across all builds and are the recommended way to adjust spacing.
|
|
147
147
|
|
|
148
|
+
### Content Area Layout
|
|
149
|
+
|
|
150
|
+
The dialog's content area is a flex column container. Child components can use `flex: 1` (or `height: 100%`) to fill the available space, and overflow scrolling is handled by the wrapper — avoiding the `display:flex` + `overflow:auto` combination on the same element that causes issues in some browsers.
|
|
151
|
+
|
|
148
152
|
---
|
|
149
153
|
|
|
150
154
|
## 🛠️ Advanced: Build Variants
|
|
@@ -5,27 +5,22 @@ interface Props {
|
|
|
5
5
|
closable?: boolean;
|
|
6
6
|
closeOnClickMask?: boolean;
|
|
7
7
|
}
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
refs: {
|
|
16
|
-
dialogRef: HTMLDialogElement;
|
|
17
|
-
};
|
|
18
|
-
rootEl: HTMLDialogElement;
|
|
8
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
|
|
9
|
+
type __VLS_Slots = {} & {
|
|
10
|
+
title?: (props: typeof __VLS_1) => any;
|
|
11
|
+
} & {
|
|
12
|
+
default?: (props: typeof __VLS_3) => any;
|
|
13
|
+
} & {
|
|
14
|
+
footer?: (props: typeof __VLS_5) => any;
|
|
19
15
|
};
|
|
20
|
-
|
|
21
|
-
declare const __VLS_component: import('vue').DefineComponent<Props, {
|
|
16
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {
|
|
22
17
|
get: () => HTMLDialogElement | undefined;
|
|
23
18
|
open: () => void;
|
|
24
19
|
close: () => void;
|
|
25
|
-
}, {}, {}, {}, import(
|
|
20
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
26
21
|
"update:modelValue": (value: boolean) => any;
|
|
27
22
|
closed: () => any;
|
|
28
|
-
}, string, import(
|
|
23
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
29
24
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
30
25
|
onClosed?: (() => any) | undefined;
|
|
31
26
|
}>, {
|
|
@@ -33,12 +28,11 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {
|
|
|
33
28
|
showCloseButton: boolean;
|
|
34
29
|
closable: boolean;
|
|
35
30
|
closeOnClickMask: boolean;
|
|
36
|
-
}, {}, {}, {}, string, import(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
31
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
32
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
33
|
+
declare const _default: typeof __VLS_export;
|
|
40
34
|
export default _default;
|
|
41
|
-
type
|
|
35
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
42
36
|
new (): {
|
|
43
37
|
$slots: S;
|
|
44
38
|
};
|
package/dist/DialogView.vue.d.ts
CHANGED
|
@@ -5,27 +5,22 @@ interface Props {
|
|
|
5
5
|
closable?: boolean;
|
|
6
6
|
closeOnClickMask?: boolean;
|
|
7
7
|
}
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
refs: {
|
|
16
|
-
dialogRef: HTMLDialogElement;
|
|
17
|
-
};
|
|
18
|
-
rootEl: HTMLDialogElement;
|
|
8
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
|
|
9
|
+
type __VLS_Slots = {} & {
|
|
10
|
+
title?: (props: typeof __VLS_1) => any;
|
|
11
|
+
} & {
|
|
12
|
+
default?: (props: typeof __VLS_3) => any;
|
|
13
|
+
} & {
|
|
14
|
+
footer?: (props: typeof __VLS_5) => any;
|
|
19
15
|
};
|
|
20
|
-
|
|
21
|
-
declare const __VLS_component: import('vue').DefineComponent<Props, {
|
|
16
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {
|
|
22
17
|
get: () => HTMLDialogElement | undefined;
|
|
23
18
|
open: () => void;
|
|
24
19
|
close: () => void;
|
|
25
|
-
}, {}, {}, {}, import(
|
|
20
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
26
21
|
"update:modelValue": (value: boolean) => any;
|
|
27
22
|
closed: () => any;
|
|
28
|
-
}, string, import(
|
|
23
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
29
24
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
30
25
|
onClosed?: (() => any) | undefined;
|
|
31
26
|
}>, {
|
|
@@ -33,12 +28,11 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {
|
|
|
33
28
|
showCloseButton: boolean;
|
|
34
29
|
closable: boolean;
|
|
35
30
|
closeOnClickMask: boolean;
|
|
36
|
-
}, {}, {}, {}, string, import(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
31
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
32
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
33
|
+
declare const _default: typeof __VLS_export;
|
|
40
34
|
export default _default;
|
|
41
|
-
type
|
|
35
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
42
36
|
new (): {
|
|
43
37
|
$slots: S;
|
|
44
38
|
};
|
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
//# sourceMappingURL=cssless-obfuscated.es.js.map
|
|
1
|
+
import { computed as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, defineComponent as i, mergeProps as a, nextTick as o, onActivated as s, onBeforeUnmount as c, onDeactivated as l, onMounted as u, openBlock as d, ref as f, renderSlot as p, watch as m, withModifiers as h } from "vue";
|
|
2
|
+
//#region src/DialogView.obf.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var g = ["closedBy"], _ = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "_4d394b1507fdc584"
|
|
6
|
+
}, v = { class: "_088d860d2fd75292" }, y = { class: "_0be228fb3f6dcf6a" }, b = { class: "_da3b3b2a4aeed1ee" }, x = {
|
|
7
|
+
key: 1,
|
|
8
|
+
class: "_61879ba330d9a71c"
|
|
9
|
+
}, S = /* @__PURE__ */ i({
|
|
10
|
+
__name: "DialogView.obf",
|
|
11
|
+
props: {
|
|
12
|
+
modelValue: { type: Boolean },
|
|
13
|
+
showTitleBar: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: !0
|
|
16
|
+
},
|
|
17
|
+
showCloseButton: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: !0
|
|
20
|
+
},
|
|
21
|
+
closable: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: !0
|
|
24
|
+
},
|
|
25
|
+
closeOnClickMask: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: !1
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
emits: ["update:modelValue", "closed"],
|
|
31
|
+
setup(i, { expose: S, emit: C }) {
|
|
32
|
+
let w = i, T = C, E = f(), D = () => {
|
|
33
|
+
T("update:modelValue", !0);
|
|
34
|
+
}, O = () => {
|
|
35
|
+
T("update:modelValue", !1);
|
|
36
|
+
}, k = (e) => {
|
|
37
|
+
e.preventDefault(), w.closable && O();
|
|
38
|
+
}, A = f(!1), j = () => {
|
|
39
|
+
if (!A.value) {
|
|
40
|
+
if (!w.closable && w.modelValue) {
|
|
41
|
+
o(() => {
|
|
42
|
+
E.value && !E.value.open && E.value.showModal();
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
w.modelValue && T("update:modelValue", !1), o(() => {
|
|
47
|
+
w.modelValue && E.value && !E.value.open && E.value.showModal();
|
|
48
|
+
}), T("closed");
|
|
49
|
+
}
|
|
50
|
+
}, M = e(() => w.closable ? w.closeOnClickMask ? "any" : "closerequest" : "none");
|
|
51
|
+
m(() => w.modelValue, async (e) => {
|
|
52
|
+
await o(), e ? E.value && !E.value.open && E.value.showModal() : E.value && E.value.open && E.value.close();
|
|
53
|
+
});
|
|
54
|
+
let N = () => {
|
|
55
|
+
w.modelValue && E.value && !E.value.open && E.value.showModal();
|
|
56
|
+
};
|
|
57
|
+
return u(() => {
|
|
58
|
+
N();
|
|
59
|
+
}), c(() => {
|
|
60
|
+
E.value && E.value.open && E.value.close();
|
|
61
|
+
}), l(() => {
|
|
62
|
+
E.value && E.value.open && (A.value = !0, E.value.close(), o(() => A.value = !1));
|
|
63
|
+
}), s(() => {
|
|
64
|
+
N();
|
|
65
|
+
}), S({
|
|
66
|
+
get: () => E.value,
|
|
67
|
+
open: D,
|
|
68
|
+
close: O
|
|
69
|
+
}), (e, o) => (d(), n("dialog", a({
|
|
70
|
+
ref_key: "dialogRef",
|
|
71
|
+
ref: E,
|
|
72
|
+
class: "_b4102a3b79656a37"
|
|
73
|
+
}, e.$attrs, {
|
|
74
|
+
onClose: j,
|
|
75
|
+
onCancel: k,
|
|
76
|
+
closedBy: M.value
|
|
77
|
+
}), [
|
|
78
|
+
i.showTitleBar ? (d(), n("div", _, [r("span", v, [p(e.$slots, "title")]), i.showCloseButton && i.closable ? (d(), n("button", {
|
|
79
|
+
key: 0,
|
|
80
|
+
type: "button",
|
|
81
|
+
"aria-label": "Close the dialog",
|
|
82
|
+
class: "_468ff1da37ead40a",
|
|
83
|
+
onClick: h(O, ["prevent"])
|
|
84
|
+
}, "×")) : t("", !0)])) : t("", !0),
|
|
85
|
+
r("div", y, [r("div", b, [p(e.$slots, "default")])]),
|
|
86
|
+
e.$slots.footer ? (d(), n("div", x, [p(e.$slots, "footer")])) : t("", !0)
|
|
87
|
+
], 16, g));
|
|
88
|
+
}
|
|
89
|
+
}), C = { install: (e) => {
|
|
90
|
+
e.component("DialogView", S);
|
|
91
|
+
} };
|
|
92
|
+
//#endregion
|
|
93
|
+
export { S as DialogView, C as DialogViewPlugin, C as default };
|
|
94
|
+
|
|
95
|
+
//# sourceMappingURL=cssless-obfuscated.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cssless-obfuscated.es.js","sources":["../src/DialogView.obf.vue","../src/index.ts"],"sourcesContent":["<template>\n <dialog\n ref=\"dialogRef\"\n class=\"_b4102a3b79656a37\"\n v-bind=\"$attrs\"\n @close=\"handleDialogClose\"\n @cancel=\"handleDialogCancel\"\n :closedBy=\"closedBy\"\n >\n <div v-if=\"showTitleBar\" class=\"_4d394b1507fdc584\">\n <span class=\"_088d860d2fd75292\">\n <slot name=\"title\"></slot>\n </span>\n <button\n v-if=\"showCloseButton && closable\"\n type=\"button\"\n aria-label=\"Close the dialog\"\n class=\"_468ff1da37ead40a\"\n @click.prevent=\"closeDialog\"\n >×</button>\n </div>\n \n <div class=\"_da3b3b2a4aeed1ee\">\n <slot></slot>\n </div>\n\n <div v-if=\"$slots.footer\" class=\"_61879ba330d9a71c\">\n <slot name=\"footer\"></slot>\n </div>\n </dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, nextTick, onMounted, onBeforeUnmount, onDeactivated, onActivated } from 'vue'\n\ninterface Props {\n modelValue: boolean\n showTitleBar?: boolean\n showCloseButton?: boolean\n closable?: boolean\n closeOnClickMask?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n showTitleBar: true,\n showCloseButton: true,\n closable: true,\n closeOnClickMask: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'closed'): void\n}>()\n\nconst dialogRef = ref<HTMLDialogElement>();\n\nconst openDialog = (): void => {\n emit('update:modelValue', true)\n}\n\nconst closeDialog = (): void => {\n emit('update:modelValue', false)\n}\n\nconst handleDialogCancel = (e: Event) => {\n e.preventDefault();\n if (props.closable) closeDialog();\n}\n\nconst ignoreCloseEvent = ref(false);\n\nconst handleDialogClose = (): void => {\n if (ignoreCloseEvent.value) return;\n if (!props.closable) {\n if (props.modelValue) {\n // not programmatically close\n // re-open the dialog\n nextTick(() => {\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }) // Avoid using 'cancel' event because some browsers handle it incorrectly, see https://issues.chromium.org/issues/41491338\n return;\n }\n }\n if (props.modelValue) {\n emit('update:modelValue', false)\n }\n nextTick(() => {\n if (props.modelValue) {\n // model value keep unchanged\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }\n })\n emit('closed')\n}\n\nconst closedBy = computed(() => props.closable ? (props.closeOnClickMask ? 'any' : 'closerequest') : 'none') // see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/closedBy\n\nwatch(() => props.modelValue, async (newValue: boolean) => {\n await nextTick()\n \n if (newValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n } else {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n }\n})\n\nconst initDialog = () => {\n if (props.modelValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n }\n};\n\nonMounted(() => {\n initDialog();\n});\n\nonBeforeUnmount(() => {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n});\n\nonDeactivated(() => {\n if (dialogRef.value && dialogRef.value.open) {\n ignoreCloseEvent.value = true;\n dialogRef.value.close();\n nextTick(() => ignoreCloseEvent.value = false);\n }\n});\n\nonActivated(() => {\n initDialog();\n});\n\ndefineExpose({\n get: () => dialogRef.value,\n open: openDialog,\n close: closeDialog,\n});\n</script>\n\n<style>\n._b4102a3b79656a37 {\n padding: var(--dialog-padding, 20px);\n border-radius: 5px;\n border: 1px solid gray;\n outline: 0 !important;\n max-width: calc(100% - 2em);\n max-height: calc(100% - 2em);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n._b4102a3b79656a37[open] {\n display: flex;\n flex-direction: column;\n}\n\n._b4102a3b79656a37::backdrop {\n background: rgba(0, 0, 0, 0.5);\n}\n\n._4d394b1507fdc584 {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 0.5em;\n min-height: var(--dialog-title-height, 24px);\n white-space: pre;\n overflow: hidden;\n user-select: none;\n}\n\n._088d860d2fd75292 {\n flex: 1;\n text-align: center;\n font-weight: bold;\n font-size: large;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n._468ff1da37ead40a {\n margin-left: 0.5em;\n text-decoration: none;\n color: #666;\n font-size: 1.5em;\n line-height: 1;\n width: 24px;\n height: 24px;\n padding: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: none;\n background: none;\n}\n\n._468ff1da37ead40a:hover {\n color: #333;\n background-color: #f0f0f0;\n border-radius: 3px;\n}\n\n._468ff1da37ead40a:focus-visible {\n outline: 2px solid rgb(160, 207, 255);\n outline-offset: -2px;\n}\n\n._da3b3b2a4aeed1ee {\n flex: 1;\n overflow: auto;\n display: flex;\n flex-direction: column;\n}\n\n._61879ba330d9a71c {\n margin-top: 0.5em;\n}\n</style>\n","import { App, Plugin } from 'vue'\nimport DialogViewComponent from './DialogView.obf.vue'\n\nexport { default as DialogView } from './DialogView.obf.vue'\n\nexport const DialogViewPlugin: Plugin = {\n install: (app: App) => {\n app.component('DialogView', DialogViewComponent)\n }\n}\n\nexport default DialogViewPlugin\n"],"names":["props","__props","emit","__emit","dialogRef","ref","openDialog","closeDialog","handleDialogCancel","e","ignoreCloseEvent","handleDialogClose","nextTick","closedBy","computed","watch","newValue","initDialog","onMounted","onBeforeUnmount","onDeactivated","onActivated","__expose","_openBlock","_createElementBlock","_mergeProps","$attrs","_hoisted_2","_createElementVNode","_hoisted_3","_renderSlot","_ctx","_hoisted_4","$slots","_hoisted_5","DialogViewPlugin","app","DialogViewComponent"],"mappings":";;;;;;;;;;;;;;;;;;AA2CA,UAAMA,IAAQC,GAORC,IAAOC,GAKPC,IAAYC,EAAA,GAEZC,IAAa,MAAY;AAC7B,MAAAJ,EAAK,qBAAqB,EAAI;AAAA,IAChC,GAEMK,IAAc,MAAY;AAC9B,MAAAL,EAAK,qBAAqB,EAAK;AAAA,IACjC,GAEMM,IAAqB,CAACC,MAAa;AACvC,MAAAA,EAAE,eAAA,GACET,EAAM,YAAUO,EAAA;AAAA,IACtB,GAEMG,IAAmBL,EAAI,EAAK,GAE5BM,IAAoB,MAAY;AACpC,UAAI,CAAAD,EAAiB,OACrB;AAAA,YAAI,CAACV,EAAM,YACLA,EAAM,YAAY;AAGpB,UAAAY,EAAS,MAAM;AACb,YAAIR,EAAU,SAAS,CAACA,EAAU,MAAM,QAAMA,EAAU,MAAM,UAAA;AAAA,UAChE,CAAC;AACD;AAAA,QACF;AAEF,QAAIJ,EAAM,cACRE,EAAK,qBAAqB,EAAK,GAEjCU,EAAS,MAAM;AACb,UAAIZ,EAAM,cAEJI,EAAU,SAAS,CAACA,EAAU,MAAM,QAAMA,EAAU,MAAM,UAAA;AAAA,QAElE,CAAC,GACDF,EAAK,QAAQ;AAAA;AAAA,IACf,GAEMW,IAAWC,EAAS,MAAMd,EAAM,WAAYA,EAAM,mBAAmB,QAAQ,iBAAkB,MAAM;AAE3G,IAAAe,EAAM,MAAMf,EAAM,YAAY,OAAOgB,MAAsB;AACzD,YAAMJ,EAAA,GAEFI,IACEZ,EAAU,SAAS,CAACA,EAAU,MAAM,QACtCA,EAAU,MAAM,UAAA,IAGdA,EAAU,SAASA,EAAU,MAAM,QACrCA,EAAU,MAAM,MAAA;AAAA,IAGtB,CAAC;AAED,UAAMa,IAAa,MAAM;AACvB,MAAIjB,EAAM,cACJI,EAAU,SAAS,CAACA,EAAU,MAAM,QACtCA,EAAU,MAAM,UAAA;AAAA,IAGtB;AAEA,WAAAc,EAAU,MAAM;AACd,MAAAD,EAAA;AAAA,IACF,CAAC,GAEDE,EAAgB,MAAM;AACpB,MAAIf,EAAU,SAASA,EAAU,MAAM,QACrCA,EAAU,MAAM,MAAA;AAAA,IAEpB,CAAC,GAEDgB,EAAc,MAAM;AAClB,MAAIhB,EAAU,SAASA,EAAU,MAAM,SACrCM,EAAiB,QAAQ,IACzBN,EAAU,MAAM,MAAA,GAChBQ,EAAS,MAAMF,EAAiB,QAAQ,EAAK;AAAA,IAEjD,CAAC,GAEDW,EAAY,MAAM;AAChB,MAAAJ,EAAA;AAAA,IACF,CAAC,GAEDK,EAAa;AAAA,MACX,KAAK,MAAMlB,EAAU;AAAA,MACrB,MAAME;AAAA,MACN,OAAOC;AAAA,IAAA,CACR,cAjJCgB,EAAA,GAAAC,EA4BS,UA5BTC,EA4BS;AAAA,eA3BH;AAAA,MAAJ,KAAIrB;AAAA,MACJ,OAAM;AAAA,IAAA,GACEsB,EAAAA,QAAM;AAAA,MACb,SAAOf;AAAA,MACP,UAAQH;AAAA,MACR,UAAUK,EAAA;AAAA,IAAA;MAEAZ,EAAA,gBAAXsB,EAAA,GAAAC,EAWM,OAXNG,GAWM;AAAA,QAVJC,EAEO,QAFPC,GAEO;AAAA,UADLC,EAA0BC,EAAA,QAAA,OAAA;AAAA,QAAA;QAGpB9B,EAAA,mBAAmBA,EAAA,iBAD3BuB,EAMiB,UAAA;AAAA;UAJf,MAAK;AAAA,UACL,cAAW;AAAA,UACX,OAAM;AAAA,UACL,WAAejB,GAAW,CAAA,SAAA,CAAA;AAAA,QAAA,GAC5B,GAAO;;MAGVqB,EAEM,OAFNI,GAEM;AAAA,QADJF,EAAaC,EAAA,QAAA,SAAA;AAAA,MAAA;MAGJE,EAAAA,OAAO,UAAlBV,KAAAC,EAEM,OAFNU,GAEM;AAAA,QADJJ,EAA2BC,EAAA,QAAA,QAAA;AAAA,MAAA;;;ICtBpBI,IAA2B;AAAA,EACtC,SAAS,CAACC,MAAa;AACrB,IAAAA,EAAI,UAAU,cAAcC,CAAmB;AAAA,EACjD;AACF;"}
|
|
1
|
+
{"version":3,"file":"cssless-obfuscated.es.js","names":["$attrs","$slots"],"sources":["../src/DialogView.obf.vue","../src/DialogView.obf.vue","../src/index.ts"],"sourcesContent":["<template>\n <dialog\n ref=\"dialogRef\"\n class=\"_b4102a3b79656a37\"\n v-bind=\"$attrs\"\n @close=\"handleDialogClose\"\n @cancel=\"handleDialogCancel\"\n :closedBy=\"closedBy\"\n >\n <div v-if=\"showTitleBar\" class=\"_4d394b1507fdc584\">\n <span class=\"_088d860d2fd75292\">\n <slot name=\"title\"></slot>\n </span>\n <button\n v-if=\"showCloseButton && closable\"\n type=\"button\"\n aria-label=\"Close the dialog\"\n class=\"_468ff1da37ead40a\"\n @click.prevent=\"closeDialog\"\n >×</button>\n </div>\n \n <div class=\"_0be228fb3f6dcf6a\">\n <div class=\"_da3b3b2a4aeed1ee\">\n <slot></slot>\n </div>\n </div>\n\n <div v-if=\"$slots.footer\" class=\"_61879ba330d9a71c\">\n <slot name=\"footer\"></slot>\n </div>\n </dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, nextTick, onMounted, onBeforeUnmount, onDeactivated, onActivated } from 'vue'\n\ninterface Props {\n modelValue: boolean\n showTitleBar?: boolean\n showCloseButton?: boolean\n closable?: boolean\n closeOnClickMask?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n showTitleBar: true,\n showCloseButton: true,\n closable: true,\n closeOnClickMask: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'closed'): void\n}>()\n\nconst dialogRef = ref<HTMLDialogElement>();\n\nconst openDialog = (): void => {\n emit('update:modelValue', true)\n}\n\nconst closeDialog = (): void => {\n emit('update:modelValue', false)\n}\n\nconst handleDialogCancel = (e: Event) => {\n e.preventDefault();\n if (props.closable) closeDialog();\n}\n\nconst ignoreCloseEvent = ref(false);\n\nconst handleDialogClose = (): void => {\n if (ignoreCloseEvent.value) return;\n if (!props.closable) {\n if (props.modelValue) {\n // not programmatically close\n // re-open the dialog\n nextTick(() => {\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }) // Avoid using 'cancel' event because some browsers handle it incorrectly, see https://issues.chromium.org/issues/41491338\n return;\n }\n }\n if (props.modelValue) {\n emit('update:modelValue', false)\n }\n nextTick(() => {\n if (props.modelValue) {\n // model value keep unchanged\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }\n })\n emit('closed')\n}\n\nconst closedBy = computed(() => props.closable ? (props.closeOnClickMask ? 'any' : 'closerequest') : 'none') // see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/closedBy\n\nwatch(() => props.modelValue, async (newValue: boolean) => {\n await nextTick()\n \n if (newValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n } else {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n }\n})\n\nconst initDialog = () => {\n if (props.modelValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n }\n};\n\nonMounted(() => {\n initDialog();\n});\n\nonBeforeUnmount(() => {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n});\n\nonDeactivated(() => {\n if (dialogRef.value && dialogRef.value.open) {\n ignoreCloseEvent.value = true;\n dialogRef.value.close();\n nextTick(() => ignoreCloseEvent.value = false);\n }\n});\n\nonActivated(() => {\n initDialog();\n});\n\ndefineExpose({\n get: () => dialogRef.value,\n open: openDialog,\n close: closeDialog,\n});\n</script>\n\n<style>\n._b4102a3b79656a37 {\n padding: var(--dialog-padding, 20px);\n border-radius: 5px;\n border: 1px solid gray;\n outline: 0 !important;\n max-width: calc(100% - 2em);\n max-height: calc(100% - 2em);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n._b4102a3b79656a37[open] {\n display: flex;\n flex-direction: column;\n}\n\n._b4102a3b79656a37::backdrop {\n background: rgba(0, 0, 0, 0.5);\n}\n\n._4d394b1507fdc584 {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 0.5em;\n min-height: var(--dialog-title-height, 24px);\n white-space: pre;\n overflow: hidden;\n user-select: none;\n}\n\n._088d860d2fd75292 {\n flex: 1;\n text-align: center;\n font-weight: bold;\n font-size: large;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n._468ff1da37ead40a {\n margin-left: 0.5em;\n text-decoration: none;\n color: #666;\n font-size: 1.5em;\n line-height: 1;\n width: 24px;\n height: 24px;\n padding: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: none;\n background: none;\n}\n\n._468ff1da37ead40a:hover {\n color: #333;\n background-color: #f0f0f0;\n border-radius: 3px;\n}\n\n._468ff1da37ead40a:focus-visible {\n outline: 2px solid rgb(160, 207, 255);\n outline-offset: -2px;\n}\n\n._0be228fb3f6dcf6a {\n flex: 1;\n overflow: auto;\n}\n\n._da3b3b2a4aeed1ee {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n\n._61879ba330d9a71c {\n margin-top: 0.5em;\n}\n</style>\n","<template>\n <dialog\n ref=\"dialogRef\"\n class=\"_b4102a3b79656a37\"\n v-bind=\"$attrs\"\n @close=\"handleDialogClose\"\n @cancel=\"handleDialogCancel\"\n :closedBy=\"closedBy\"\n >\n <div v-if=\"showTitleBar\" class=\"_4d394b1507fdc584\">\n <span class=\"_088d860d2fd75292\">\n <slot name=\"title\"></slot>\n </span>\n <button\n v-if=\"showCloseButton && closable\"\n type=\"button\"\n aria-label=\"Close the dialog\"\n class=\"_468ff1da37ead40a\"\n @click.prevent=\"closeDialog\"\n >×</button>\n </div>\n \n <div class=\"_0be228fb3f6dcf6a\">\n <div class=\"_da3b3b2a4aeed1ee\">\n <slot></slot>\n </div>\n </div>\n\n <div v-if=\"$slots.footer\" class=\"_61879ba330d9a71c\">\n <slot name=\"footer\"></slot>\n </div>\n </dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, nextTick, onMounted, onBeforeUnmount, onDeactivated, onActivated } from 'vue'\n\ninterface Props {\n modelValue: boolean\n showTitleBar?: boolean\n showCloseButton?: boolean\n closable?: boolean\n closeOnClickMask?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n showTitleBar: true,\n showCloseButton: true,\n closable: true,\n closeOnClickMask: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'closed'): void\n}>()\n\nconst dialogRef = ref<HTMLDialogElement>();\n\nconst openDialog = (): void => {\n emit('update:modelValue', true)\n}\n\nconst closeDialog = (): void => {\n emit('update:modelValue', false)\n}\n\nconst handleDialogCancel = (e: Event) => {\n e.preventDefault();\n if (props.closable) closeDialog();\n}\n\nconst ignoreCloseEvent = ref(false);\n\nconst handleDialogClose = (): void => {\n if (ignoreCloseEvent.value) return;\n if (!props.closable) {\n if (props.modelValue) {\n // not programmatically close\n // re-open the dialog\n nextTick(() => {\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }) // Avoid using 'cancel' event because some browsers handle it incorrectly, see https://issues.chromium.org/issues/41491338\n return;\n }\n }\n if (props.modelValue) {\n emit('update:modelValue', false)\n }\n nextTick(() => {\n if (props.modelValue) {\n // model value keep unchanged\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }\n })\n emit('closed')\n}\n\nconst closedBy = computed(() => props.closable ? (props.closeOnClickMask ? 'any' : 'closerequest') : 'none') // see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/closedBy\n\nwatch(() => props.modelValue, async (newValue: boolean) => {\n await nextTick()\n \n if (newValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n } else {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n }\n})\n\nconst initDialog = () => {\n if (props.modelValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n }\n};\n\nonMounted(() => {\n initDialog();\n});\n\nonBeforeUnmount(() => {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n});\n\nonDeactivated(() => {\n if (dialogRef.value && dialogRef.value.open) {\n ignoreCloseEvent.value = true;\n dialogRef.value.close();\n nextTick(() => ignoreCloseEvent.value = false);\n }\n});\n\nonActivated(() => {\n initDialog();\n});\n\ndefineExpose({\n get: () => dialogRef.value,\n open: openDialog,\n close: closeDialog,\n});\n</script>\n\n<style>\n._b4102a3b79656a37 {\n padding: var(--dialog-padding, 20px);\n border-radius: 5px;\n border: 1px solid gray;\n outline: 0 !important;\n max-width: calc(100% - 2em);\n max-height: calc(100% - 2em);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n._b4102a3b79656a37[open] {\n display: flex;\n flex-direction: column;\n}\n\n._b4102a3b79656a37::backdrop {\n background: rgba(0, 0, 0, 0.5);\n}\n\n._4d394b1507fdc584 {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 0.5em;\n min-height: var(--dialog-title-height, 24px);\n white-space: pre;\n overflow: hidden;\n user-select: none;\n}\n\n._088d860d2fd75292 {\n flex: 1;\n text-align: center;\n font-weight: bold;\n font-size: large;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n._468ff1da37ead40a {\n margin-left: 0.5em;\n text-decoration: none;\n color: #666;\n font-size: 1.5em;\n line-height: 1;\n width: 24px;\n height: 24px;\n padding: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: none;\n background: none;\n}\n\n._468ff1da37ead40a:hover {\n color: #333;\n background-color: #f0f0f0;\n border-radius: 3px;\n}\n\n._468ff1da37ead40a:focus-visible {\n outline: 2px solid rgb(160, 207, 255);\n outline-offset: -2px;\n}\n\n._0be228fb3f6dcf6a {\n flex: 1;\n overflow: auto;\n}\n\n._da3b3b2a4aeed1ee {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n\n._61879ba330d9a71c {\n margin-top: 0.5em;\n}\n</style>\n","import { App, Plugin } from 'vue'\nimport DialogViewComponent from './DialogView.obf.vue'\n\nexport { default as DialogView } from './DialogView.obf.vue'\n\nexport const DialogViewPlugin: Plugin = {\n install: (app: App) => {\n app.component('DialogView', DialogViewComponent)\n }\n}\n\nexport default DialogViewPlugin\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CA,IAAM,IAAQ,GAOR,IAAO,GAKP,IAAY,EAAuB,GAEnC,UAAyB;GAC7B,EAAK,qBAAqB,EAAI;EAChC,GAEM,UAA0B;GAC9B,EAAK,qBAAqB,EAAK;EACjC,GAEM,KAAsB,MAAa;GAEvC,AADA,EAAE,eAAe,GACb,EAAM,YAAU,EAAY;EAClC,GAEM,IAAmB,EAAI,EAAK,GAE5B,UAAgC;GAChC,OAAiB,OACrB;QAAI,CAAC,EAAM,YACL,EAAM,YAAY;KAGpB,QAAe;MACb,AAAI,EAAU,SAAS,CAAC,EAAU,MAAM,QAAM,EAAU,MAAM,UAAU;KAC1E,CAAC;KACD;IACF;IAWF,AATI,EAAM,cACR,EAAK,qBAAqB,EAAK,GAEjC,QAAe;KACb,AAAI,EAAM,cAEJ,EAAU,SAAS,CAAC,EAAU,MAAM,QAAM,EAAU,MAAM,UAAU;IAE5E,CAAC,GACD,EAAK,QAAQ;;EACf,GAEM,IAAW,QAAe,EAAM,WAAY,EAAM,mBAAmB,QAAQ,iBAAkB,MAAM;EAE3G,QAAY,EAAM,YAAY,OAAO,MAAsB;GAGzD,AAFA,MAAM,EAAS,GAEX,IACE,EAAU,SAAS,CAAC,EAAU,MAAM,QACtC,EAAU,MAAM,UAAU,IAGxB,EAAU,SAAS,EAAU,MAAM,QACrC,EAAU,MAAM,MAAM;EAG5B,CAAC;EAED,IAAM,UAAmB;GACvB,AAAI,EAAM,cACJ,EAAU,SAAS,CAAC,EAAU,MAAM,QACtC,EAAU,MAAM,UAAU;EAGhC;SAEA,QAAgB;GACd,EAAW;EACb,CAAC,GAED,QAAsB;GACpB,AAAI,EAAU,SAAS,EAAU,MAAM,QACrC,EAAU,MAAM,MAAM;EAE1B,CAAC,GAED,QAAoB;GAClB,AAAI,EAAU,SAAS,EAAU,MAAM,SACrC,EAAiB,QAAQ,IACzB,EAAU,MAAM,MAAM,GACtB,QAAe,EAAiB,QAAQ,EAAK;EAEjD,CAAC,GAED,QAAkB;GAChB,EAAW;EACb,CAAC,GAED,EAAa;GACX,WAAW,EAAU;GACrB,MAAM;GACN,OAAO;EACT,CAAC,mBAnJC,EA8BS,UA9BT,EA8BS;YA7BH;GAAJ,KAAI;GACJ,OAAM;KACEA,EAAAA,QAAM;GACb,SAAO;GACP,UAAQ;GACR,UAAU,EAAA;;GAEA,EAAA,gBAAA,EAAA,GAAX,EAWM,OAXN,GAWM,CAVJ,EAEO,QAFP,GAEO,CADL,EAA0B,EAAA,QAAA,OAAA,CAAA,CAAA,GAGpB,EAAA,mBAAmB,EAAA,YAAA,EAAA,GAD3B,EAMiB,UAAA;;IAJf,MAAK;IACL,cAAW;IACX,OAAM;IACL,SAAK,EAAU,GAAW,CAAA,SAAA,CAAA;MAC5B,GAAO,KAAA,EAAA,IAAA,EAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;GAGV,EAIM,OAJN,GAIM,CAHJ,EAEM,OAFN,GAEM,CADJ,EAAa,EAAA,QAAA,SAAA,CAAA,CAAA,CAAA,CAAA;GAINC,EAAAA,OAAO,UAAA,EAAA,GAAlB,EAEM,OAFN,GAEM,CADJ,EAA2B,EAAA,QAAA,QAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;;;IExBpB,IAA2B,EACtC,UAAU,MAAa;CACrB,EAAI,UAAU,cAAc,CAAmB;AACjD,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
//# sourceMappingURL=cssless-obfuscated.umd.js.map
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue")):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.DialogView={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=[`closedBy`],r={key:0,class:`_4d394b1507fdc584`},i={class:`_088d860d2fd75292`},a={class:`_0be228fb3f6dcf6a`},o={class:`_da3b3b2a4aeed1ee`},s={key:1,class:`_61879ba330d9a71c`},c=(0,t.defineComponent)({__name:`DialogView.obf`,props:{modelValue:{type:Boolean},showTitleBar:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},closable:{type:Boolean,default:!0},closeOnClickMask:{type:Boolean,default:!1}},emits:[`update:modelValue`,`closed`],setup(e,{expose:c,emit:l}){let u=e,d=l,f=(0,t.ref)(),p=()=>{d(`update:modelValue`,!0)},m=()=>{d(`update:modelValue`,!1)},h=e=>{e.preventDefault(),u.closable&&m()},g=(0,t.ref)(!1),_=()=>{if(!g.value){if(!u.closable&&u.modelValue){(0,t.nextTick)(()=>{f.value&&!f.value.open&&f.value.showModal()});return}u.modelValue&&d(`update:modelValue`,!1),(0,t.nextTick)(()=>{u.modelValue&&f.value&&!f.value.open&&f.value.showModal()}),d(`closed`)}},v=(0,t.computed)(()=>u.closable?u.closeOnClickMask?`any`:`closerequest`:`none`);(0,t.watch)(()=>u.modelValue,async e=>{await(0,t.nextTick)(),e?f.value&&!f.value.open&&f.value.showModal():f.value&&f.value.open&&f.value.close()});let y=()=>{u.modelValue&&f.value&&!f.value.open&&f.value.showModal()};return(0,t.onMounted)(()=>{y()}),(0,t.onBeforeUnmount)(()=>{f.value&&f.value.open&&f.value.close()}),(0,t.onDeactivated)(()=>{f.value&&f.value.open&&(g.value=!0,f.value.close(),(0,t.nextTick)(()=>g.value=!1))}),(0,t.onActivated)(()=>{y()}),c({get:()=>f.value,open:p,close:m}),(c,l)=>((0,t.openBlock)(),(0,t.createElementBlock)(`dialog`,(0,t.mergeProps)({ref_key:`dialogRef`,ref:f,class:`_b4102a3b79656a37`},c.$attrs,{onClose:_,onCancel:h,closedBy:v.value}),[e.showTitleBar?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,r,[(0,t.createElementVNode)(`span`,i,[(0,t.renderSlot)(c.$slots,`title`)]),e.showCloseButton&&e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,"aria-label":`Close the dialog`,class:`_468ff1da37ead40a`,onClick:(0,t.withModifiers)(m,[`prevent`])},`×`)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,a,[(0,t.createElementVNode)(`div`,o,[(0,t.renderSlot)(c.$slots,`default`)])]),c.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,s,[(0,t.renderSlot)(c.$slots,`footer`)])):(0,t.createCommentVNode)(``,!0)],16,n))}}),l={install:e=>{e.component(`DialogView`,c)}};e.DialogView=c,e.DialogViewPlugin=l,e.default=l});
|
|
2
|
+
//# sourceMappingURL=cssless-obfuscated.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cssless-obfuscated.umd.js","sources":["../src/DialogView.obf.vue","../src/index.ts"],"sourcesContent":["<template>\n <dialog\n ref=\"dialogRef\"\n class=\"_b4102a3b79656a37\"\n v-bind=\"$attrs\"\n @close=\"handleDialogClose\"\n @cancel=\"handleDialogCancel\"\n :closedBy=\"closedBy\"\n >\n <div v-if=\"showTitleBar\" class=\"_4d394b1507fdc584\">\n <span class=\"_088d860d2fd75292\">\n <slot name=\"title\"></slot>\n </span>\n <button\n v-if=\"showCloseButton && closable\"\n type=\"button\"\n aria-label=\"Close the dialog\"\n class=\"_468ff1da37ead40a\"\n @click.prevent=\"closeDialog\"\n >×</button>\n </div>\n \n <div class=\"_da3b3b2a4aeed1ee\">\n <slot></slot>\n </div>\n\n <div v-if=\"$slots.footer\" class=\"_61879ba330d9a71c\">\n <slot name=\"footer\"></slot>\n </div>\n </dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, nextTick, onMounted, onBeforeUnmount, onDeactivated, onActivated } from 'vue'\n\ninterface Props {\n modelValue: boolean\n showTitleBar?: boolean\n showCloseButton?: boolean\n closable?: boolean\n closeOnClickMask?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n showTitleBar: true,\n showCloseButton: true,\n closable: true,\n closeOnClickMask: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'closed'): void\n}>()\n\nconst dialogRef = ref<HTMLDialogElement>();\n\nconst openDialog = (): void => {\n emit('update:modelValue', true)\n}\n\nconst closeDialog = (): void => {\n emit('update:modelValue', false)\n}\n\nconst handleDialogCancel = (e: Event) => {\n e.preventDefault();\n if (props.closable) closeDialog();\n}\n\nconst ignoreCloseEvent = ref(false);\n\nconst handleDialogClose = (): void => {\n if (ignoreCloseEvent.value) return;\n if (!props.closable) {\n if (props.modelValue) {\n // not programmatically close\n // re-open the dialog\n nextTick(() => {\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }) // Avoid using 'cancel' event because some browsers handle it incorrectly, see https://issues.chromium.org/issues/41491338\n return;\n }\n }\n if (props.modelValue) {\n emit('update:modelValue', false)\n }\n nextTick(() => {\n if (props.modelValue) {\n // model value keep unchanged\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }\n })\n emit('closed')\n}\n\nconst closedBy = computed(() => props.closable ? (props.closeOnClickMask ? 'any' : 'closerequest') : 'none') // see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/closedBy\n\nwatch(() => props.modelValue, async (newValue: boolean) => {\n await nextTick()\n \n if (newValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n } else {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n }\n})\n\nconst initDialog = () => {\n if (props.modelValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n }\n};\n\nonMounted(() => {\n initDialog();\n});\n\nonBeforeUnmount(() => {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n});\n\nonDeactivated(() => {\n if (dialogRef.value && dialogRef.value.open) {\n ignoreCloseEvent.value = true;\n dialogRef.value.close();\n nextTick(() => ignoreCloseEvent.value = false);\n }\n});\n\nonActivated(() => {\n initDialog();\n});\n\ndefineExpose({\n get: () => dialogRef.value,\n open: openDialog,\n close: closeDialog,\n});\n</script>\n\n<style>\n._b4102a3b79656a37 {\n padding: var(--dialog-padding, 20px);\n border-radius: 5px;\n border: 1px solid gray;\n outline: 0 !important;\n max-width: calc(100% - 2em);\n max-height: calc(100% - 2em);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n._b4102a3b79656a37[open] {\n display: flex;\n flex-direction: column;\n}\n\n._b4102a3b79656a37::backdrop {\n background: rgba(0, 0, 0, 0.5);\n}\n\n._4d394b1507fdc584 {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 0.5em;\n min-height: var(--dialog-title-height, 24px);\n white-space: pre;\n overflow: hidden;\n user-select: none;\n}\n\n._088d860d2fd75292 {\n flex: 1;\n text-align: center;\n font-weight: bold;\n font-size: large;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n._468ff1da37ead40a {\n margin-left: 0.5em;\n text-decoration: none;\n color: #666;\n font-size: 1.5em;\n line-height: 1;\n width: 24px;\n height: 24px;\n padding: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: none;\n background: none;\n}\n\n._468ff1da37ead40a:hover {\n color: #333;\n background-color: #f0f0f0;\n border-radius: 3px;\n}\n\n._468ff1da37ead40a:focus-visible {\n outline: 2px solid rgb(160, 207, 255);\n outline-offset: -2px;\n}\n\n._da3b3b2a4aeed1ee {\n flex: 1;\n overflow: auto;\n display: flex;\n flex-direction: column;\n}\n\n._61879ba330d9a71c {\n margin-top: 0.5em;\n}\n</style>\n","import { App, Plugin } from 'vue'\nimport DialogViewComponent from './DialogView.obf.vue'\n\nexport { default as DialogView } from './DialogView.obf.vue'\n\nexport const DialogViewPlugin: Plugin = {\n install: (app: App) => {\n app.component('DialogView', DialogViewComponent)\n }\n}\n\nexport default DialogViewPlugin\n"],"names":["props","__props","emit","__emit","dialogRef","ref","openDialog","closeDialog","handleDialogCancel","e","ignoreCloseEvent","handleDialogClose","nextTick","closedBy","computed","watch","newValue","initDialog","onMounted","onBeforeUnmount","onDeactivated","onActivated","__expose","_openBlock","_createElementBlock","_mergeProps","$attrs","_hoisted_2","_createElementVNode","_hoisted_3","_renderSlot","_ctx","_hoisted_4","$slots","_hoisted_5","DialogViewPlugin","app","DialogViewComponent"],"mappings":"usBA2CA,MAAMA,EAAQC,EAORC,EAAOC,EAKPC,EAAYC,EAAAA,IAAA,EAEZC,EAAa,IAAY,CAC7BJ,EAAK,oBAAqB,EAAI,CAChC,EAEMK,EAAc,IAAY,CAC9BL,EAAK,oBAAqB,EAAK,CACjC,EAEMM,EAAsBC,GAAa,CACvCA,EAAE,eAAA,EACET,EAAM,UAAUO,EAAA,CACtB,EAEMG,EAAmBL,EAAAA,IAAI,EAAK,EAE5BM,EAAoB,IAAY,CACpC,GAAI,CAAAD,EAAiB,MACrB,IAAI,CAACV,EAAM,UACLA,EAAM,WAAY,CAGpBY,EAAAA,SAAS,IAAM,CACTR,EAAU,OAAS,CAACA,EAAU,MAAM,MAAMA,EAAU,MAAM,UAAA,CAChE,CAAC,EACD,MACF,CAEEJ,EAAM,YACRE,EAAK,oBAAqB,EAAK,EAEjCU,EAAAA,SAAS,IAAM,CACTZ,EAAM,YAEJI,EAAU,OAAS,CAACA,EAAU,MAAM,MAAMA,EAAU,MAAM,UAAA,CAElE,CAAC,EACDF,EAAK,QAAQ,EACf,EAEMW,EAAWC,WAAS,IAAMd,EAAM,SAAYA,EAAM,iBAAmB,MAAQ,eAAkB,MAAM,EAE3Ge,EAAAA,MAAM,IAAMf,EAAM,WAAY,MAAOgB,GAAsB,CACzD,MAAMJ,WAAA,EAEFI,EACEZ,EAAU,OAAS,CAACA,EAAU,MAAM,MACtCA,EAAU,MAAM,UAAA,EAGdA,EAAU,OAASA,EAAU,MAAM,MACrCA,EAAU,MAAM,MAAA,CAGtB,CAAC,EAED,MAAMa,EAAa,IAAM,CACnBjB,EAAM,YACJI,EAAU,OAAS,CAACA,EAAU,MAAM,MACtCA,EAAU,MAAM,UAAA,CAGtB,EAEAc,OAAAA,EAAAA,UAAU,IAAM,CACdD,EAAA,CACF,CAAC,EAEDE,EAAAA,gBAAgB,IAAM,CAChBf,EAAU,OAASA,EAAU,MAAM,MACrCA,EAAU,MAAM,MAAA,CAEpB,CAAC,EAEDgB,EAAAA,cAAc,IAAM,CACdhB,EAAU,OAASA,EAAU,MAAM,OACrCM,EAAiB,MAAQ,GACzBN,EAAU,MAAM,MAAA,EAChBQ,EAAAA,SAAS,IAAMF,EAAiB,MAAQ,EAAK,EAEjD,CAAC,EAEDW,EAAAA,YAAY,IAAM,CAChBJ,EAAA,CACF,CAAC,EAEDK,EAAa,CACX,IAAK,IAAMlB,EAAU,MACrB,KAAME,EACN,MAAOC,CAAA,CACR,UAjJCgB,YAAA,EAAAC,qBA4BS,SA5BTC,EAAAA,WA4BS,SA3BH,YAAJ,IAAIrB,EACJ,MAAM,mBAAA,EACEsB,EAAAA,OAAM,CACb,QAAOf,EACP,SAAQH,EACR,SAAUK,EAAA,KAAA,IAEAZ,EAAA,cAAXsB,EAAAA,UAAA,EAAAC,EAAAA,mBAWM,MAXNG,EAWM,CAVJC,EAAAA,mBAEO,OAFPC,EAEO,CADLC,aAA0BC,EAAA,OAAA,OAAA,CAAA,GAGpB9B,EAAA,iBAAmBA,EAAA,wBAD3BuB,EAAAA,mBAMiB,SAAA,OAJf,KAAK,SACL,aAAW,mBACX,MAAM,oBACL,wBAAejB,EAAW,CAAA,SAAA,CAAA,CAAA,EAC5B,GAAO,8DAGVqB,EAAAA,mBAEM,MAFNI,EAEM,CADJF,aAAaC,EAAA,OAAA,SAAA,CAAA,GAGJE,EAAAA,OAAO,QAAlBV,EAAAA,YAAAC,EAAAA,mBAEM,MAFNU,EAEM,CADJJ,aAA2BC,EAAA,OAAA,QAAA,CAAA,2CCtBpBI,EAA2B,CACtC,QAAUC,GAAa,CACrBA,EAAI,UAAU,aAAcC,CAAmB,CACjD,CACF"}
|
|
1
|
+
{"version":3,"file":"cssless-obfuscated.umd.js","names":["$attrs","$slots"],"sources":["../src/DialogView.obf.vue","../src/DialogView.obf.vue","../src/index.ts"],"sourcesContent":["<template>\n <dialog\n ref=\"dialogRef\"\n class=\"_b4102a3b79656a37\"\n v-bind=\"$attrs\"\n @close=\"handleDialogClose\"\n @cancel=\"handleDialogCancel\"\n :closedBy=\"closedBy\"\n >\n <div v-if=\"showTitleBar\" class=\"_4d394b1507fdc584\">\n <span class=\"_088d860d2fd75292\">\n <slot name=\"title\"></slot>\n </span>\n <button\n v-if=\"showCloseButton && closable\"\n type=\"button\"\n aria-label=\"Close the dialog\"\n class=\"_468ff1da37ead40a\"\n @click.prevent=\"closeDialog\"\n >×</button>\n </div>\n \n <div class=\"_0be228fb3f6dcf6a\">\n <div class=\"_da3b3b2a4aeed1ee\">\n <slot></slot>\n </div>\n </div>\n\n <div v-if=\"$slots.footer\" class=\"_61879ba330d9a71c\">\n <slot name=\"footer\"></slot>\n </div>\n </dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, nextTick, onMounted, onBeforeUnmount, onDeactivated, onActivated } from 'vue'\n\ninterface Props {\n modelValue: boolean\n showTitleBar?: boolean\n showCloseButton?: boolean\n closable?: boolean\n closeOnClickMask?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n showTitleBar: true,\n showCloseButton: true,\n closable: true,\n closeOnClickMask: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'closed'): void\n}>()\n\nconst dialogRef = ref<HTMLDialogElement>();\n\nconst openDialog = (): void => {\n emit('update:modelValue', true)\n}\n\nconst closeDialog = (): void => {\n emit('update:modelValue', false)\n}\n\nconst handleDialogCancel = (e: Event) => {\n e.preventDefault();\n if (props.closable) closeDialog();\n}\n\nconst ignoreCloseEvent = ref(false);\n\nconst handleDialogClose = (): void => {\n if (ignoreCloseEvent.value) return;\n if (!props.closable) {\n if (props.modelValue) {\n // not programmatically close\n // re-open the dialog\n nextTick(() => {\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }) // Avoid using 'cancel' event because some browsers handle it incorrectly, see https://issues.chromium.org/issues/41491338\n return;\n }\n }\n if (props.modelValue) {\n emit('update:modelValue', false)\n }\n nextTick(() => {\n if (props.modelValue) {\n // model value keep unchanged\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }\n })\n emit('closed')\n}\n\nconst closedBy = computed(() => props.closable ? (props.closeOnClickMask ? 'any' : 'closerequest') : 'none') // see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/closedBy\n\nwatch(() => props.modelValue, async (newValue: boolean) => {\n await nextTick()\n \n if (newValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n } else {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n }\n})\n\nconst initDialog = () => {\n if (props.modelValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n }\n};\n\nonMounted(() => {\n initDialog();\n});\n\nonBeforeUnmount(() => {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n});\n\nonDeactivated(() => {\n if (dialogRef.value && dialogRef.value.open) {\n ignoreCloseEvent.value = true;\n dialogRef.value.close();\n nextTick(() => ignoreCloseEvent.value = false);\n }\n});\n\nonActivated(() => {\n initDialog();\n});\n\ndefineExpose({\n get: () => dialogRef.value,\n open: openDialog,\n close: closeDialog,\n});\n</script>\n\n<style>\n._b4102a3b79656a37 {\n padding: var(--dialog-padding, 20px);\n border-radius: 5px;\n border: 1px solid gray;\n outline: 0 !important;\n max-width: calc(100% - 2em);\n max-height: calc(100% - 2em);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n._b4102a3b79656a37[open] {\n display: flex;\n flex-direction: column;\n}\n\n._b4102a3b79656a37::backdrop {\n background: rgba(0, 0, 0, 0.5);\n}\n\n._4d394b1507fdc584 {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 0.5em;\n min-height: var(--dialog-title-height, 24px);\n white-space: pre;\n overflow: hidden;\n user-select: none;\n}\n\n._088d860d2fd75292 {\n flex: 1;\n text-align: center;\n font-weight: bold;\n font-size: large;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n._468ff1da37ead40a {\n margin-left: 0.5em;\n text-decoration: none;\n color: #666;\n font-size: 1.5em;\n line-height: 1;\n width: 24px;\n height: 24px;\n padding: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: none;\n background: none;\n}\n\n._468ff1da37ead40a:hover {\n color: #333;\n background-color: #f0f0f0;\n border-radius: 3px;\n}\n\n._468ff1da37ead40a:focus-visible {\n outline: 2px solid rgb(160, 207, 255);\n outline-offset: -2px;\n}\n\n._0be228fb3f6dcf6a {\n flex: 1;\n overflow: auto;\n}\n\n._da3b3b2a4aeed1ee {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n\n._61879ba330d9a71c {\n margin-top: 0.5em;\n}\n</style>\n","<template>\n <dialog\n ref=\"dialogRef\"\n class=\"_b4102a3b79656a37\"\n v-bind=\"$attrs\"\n @close=\"handleDialogClose\"\n @cancel=\"handleDialogCancel\"\n :closedBy=\"closedBy\"\n >\n <div v-if=\"showTitleBar\" class=\"_4d394b1507fdc584\">\n <span class=\"_088d860d2fd75292\">\n <slot name=\"title\"></slot>\n </span>\n <button\n v-if=\"showCloseButton && closable\"\n type=\"button\"\n aria-label=\"Close the dialog\"\n class=\"_468ff1da37ead40a\"\n @click.prevent=\"closeDialog\"\n >×</button>\n </div>\n \n <div class=\"_0be228fb3f6dcf6a\">\n <div class=\"_da3b3b2a4aeed1ee\">\n <slot></slot>\n </div>\n </div>\n\n <div v-if=\"$slots.footer\" class=\"_61879ba330d9a71c\">\n <slot name=\"footer\"></slot>\n </div>\n </dialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, nextTick, onMounted, onBeforeUnmount, onDeactivated, onActivated } from 'vue'\n\ninterface Props {\n modelValue: boolean\n showTitleBar?: boolean\n showCloseButton?: boolean\n closable?: boolean\n closeOnClickMask?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n showTitleBar: true,\n showCloseButton: true,\n closable: true,\n closeOnClickMask: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'closed'): void\n}>()\n\nconst dialogRef = ref<HTMLDialogElement>();\n\nconst openDialog = (): void => {\n emit('update:modelValue', true)\n}\n\nconst closeDialog = (): void => {\n emit('update:modelValue', false)\n}\n\nconst handleDialogCancel = (e: Event) => {\n e.preventDefault();\n if (props.closable) closeDialog();\n}\n\nconst ignoreCloseEvent = ref(false);\n\nconst handleDialogClose = (): void => {\n if (ignoreCloseEvent.value) return;\n if (!props.closable) {\n if (props.modelValue) {\n // not programmatically close\n // re-open the dialog\n nextTick(() => {\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }) // Avoid using 'cancel' event because some browsers handle it incorrectly, see https://issues.chromium.org/issues/41491338\n return;\n }\n }\n if (props.modelValue) {\n emit('update:modelValue', false)\n }\n nextTick(() => {\n if (props.modelValue) {\n // model value keep unchanged\n if (dialogRef.value && !dialogRef.value.open) dialogRef.value.showModal()\n }\n })\n emit('closed')\n}\n\nconst closedBy = computed(() => props.closable ? (props.closeOnClickMask ? 'any' : 'closerequest') : 'none') // see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/closedBy\n\nwatch(() => props.modelValue, async (newValue: boolean) => {\n await nextTick()\n \n if (newValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n } else {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n }\n})\n\nconst initDialog = () => {\n if (props.modelValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n }\n};\n\nonMounted(() => {\n initDialog();\n});\n\nonBeforeUnmount(() => {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\n});\n\nonDeactivated(() => {\n if (dialogRef.value && dialogRef.value.open) {\n ignoreCloseEvent.value = true;\n dialogRef.value.close();\n nextTick(() => ignoreCloseEvent.value = false);\n }\n});\n\nonActivated(() => {\n initDialog();\n});\n\ndefineExpose({\n get: () => dialogRef.value,\n open: openDialog,\n close: closeDialog,\n});\n</script>\n\n<style>\n._b4102a3b79656a37 {\n padding: var(--dialog-padding, 20px);\n border-radius: 5px;\n border: 1px solid gray;\n outline: 0 !important;\n max-width: calc(100% - 2em);\n max-height: calc(100% - 2em);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n._b4102a3b79656a37[open] {\n display: flex;\n flex-direction: column;\n}\n\n._b4102a3b79656a37::backdrop {\n background: rgba(0, 0, 0, 0.5);\n}\n\n._4d394b1507fdc584 {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 0.5em;\n min-height: var(--dialog-title-height, 24px);\n white-space: pre;\n overflow: hidden;\n user-select: none;\n}\n\n._088d860d2fd75292 {\n flex: 1;\n text-align: center;\n font-weight: bold;\n font-size: large;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n._468ff1da37ead40a {\n margin-left: 0.5em;\n text-decoration: none;\n color: #666;\n font-size: 1.5em;\n line-height: 1;\n width: 24px;\n height: 24px;\n padding: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: none;\n background: none;\n}\n\n._468ff1da37ead40a:hover {\n color: #333;\n background-color: #f0f0f0;\n border-radius: 3px;\n}\n\n._468ff1da37ead40a:focus-visible {\n outline: 2px solid rgb(160, 207, 255);\n outline-offset: -2px;\n}\n\n._0be228fb3f6dcf6a {\n flex: 1;\n overflow: auto;\n}\n\n._da3b3b2a4aeed1ee {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n\n._61879ba330d9a71c {\n margin-top: 0.5em;\n}\n</style>\n","import { App, Plugin } from 'vue'\nimport DialogViewComponent from './DialogView.obf.vue'\n\nexport { default as DialogView } from './DialogView.obf.vue'\n\nexport const DialogViewPlugin: Plugin = {\n install: (app: App) => {\n app.component('DialogView', DialogViewComponent)\n }\n}\n\nexport default DialogViewPlugin\n"],"mappings":"kzBA6CA,IAAM,EAAQ,EAOR,EAAO,EAKP,GAAA,EAAA,EAAA,KAAmC,EAEnC,MAAyB,CAC7B,EAAK,oBAAqB,EAAI,CAChC,EAEM,MAA0B,CAC9B,EAAK,oBAAqB,EAAK,CACjC,EAEM,EAAsB,GAAa,CACvC,EAAE,eAAe,EACb,EAAM,UAAU,EAAY,CAClC,EAEM,GAAA,EAAA,EAAA,KAAuB,EAAK,EAE5B,MAAgC,CAChC,MAAiB,MACrB,IAAI,CAAC,EAAM,UACL,EAAM,WAAY,EAGpB,EAAA,EAAA,cAAe,CACT,EAAU,OAAS,CAAC,EAAU,MAAM,MAAM,EAAU,MAAM,UAAU,CAC1E,CAAC,EACD,MACF,CAEE,EAAM,YACR,EAAK,oBAAqB,EAAK,GAEjC,EAAA,EAAA,cAAe,CACT,EAAM,YAEJ,EAAU,OAAS,CAAC,EAAU,MAAM,MAAM,EAAU,MAAM,UAAU,CAE5E,CAAC,EACD,EAAK,QAAQ,EACf,EAEM,GAAA,EAAA,EAAA,cAA0B,EAAM,SAAY,EAAM,iBAAmB,MAAQ,eAAkB,MAAM,GAE3G,EAAA,EAAA,WAAY,EAAM,WAAY,KAAO,IAAsB,CACzD,MAAA,EAAA,EAAA,UAAe,EAEX,EACE,EAAU,OAAS,CAAC,EAAU,MAAM,MACtC,EAAU,MAAM,UAAU,EAGxB,EAAU,OAAS,EAAU,MAAM,MACrC,EAAU,MAAM,MAAM,CAG5B,CAAC,EAED,IAAM,MAAmB,CACnB,EAAM,YACJ,EAAU,OAAS,CAAC,EAAU,MAAM,MACtC,EAAU,MAAM,UAAU,CAGhC,SAEA,EAAA,EAAA,eAAgB,CACd,EAAW,CACb,CAAC,GAED,EAAA,EAAA,qBAAsB,CAChB,EAAU,OAAS,EAAU,MAAM,MACrC,EAAU,MAAM,MAAM,CAE1B,CAAC,GAED,EAAA,EAAA,mBAAoB,CACd,EAAU,OAAS,EAAU,MAAM,OACrC,EAAiB,MAAQ,GACzB,EAAU,MAAM,MAAM,GACtB,EAAA,EAAA,cAAe,EAAiB,MAAQ,EAAK,EAEjD,CAAC,GAED,EAAA,EAAA,iBAAkB,CAChB,EAAW,CACb,CAAC,EAED,EAAa,CACX,QAAW,EAAU,MACrB,KAAM,EACN,MAAO,CACT,CAAC,qDArHU,UAAA,EAAA,EAAA,YAAA,SA7BH,YAAJ,IAAI,EACJ,MAAM,qBACEA,EAAAA,OAAM,CACb,QAAO,EACP,SAAQ,EACR,SAAU,EAAA,SAEA,EAAA,eAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,oBAWL,MAXN,EAWM,EAAA,EAAA,EAAA,oBARG,OAFP,EAEO,EAAA,EAAA,EAAA,YADqB,EAAA,OAAA,OAAA,CAAA,CAAA,EAGpB,EAAA,iBAAmB,EAAA,WAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,oBAKV,SAAA,OAJf,KAAK,SACL,aAAW,mBACX,MAAM,oBACL,SAAA,EAAA,EAAA,eAAe,EAAW,CAAA,SAAA,CAAA,GAC5B,GAAO,IAAA,EAAA,EAAA,oBAAA,GAAA,EAAA,CAAA,CAAA,IAAA,EAAA,EAAA,oBAAA,GAAA,EAAA,2BAOJ,MAJN,EAIM,EAAA,EAAA,EAAA,oBADE,MAFN,EAEM,EAAA,EAAA,EAAA,YADS,EAAA,OAAA,SAAA,CAAA,CAAA,CAAA,CAAA,EAINC,EAAAA,OAAO,SAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,oBAEZ,MAFN,EAEM,EAAA,EAAA,EAAA,YADuB,EAAA,OAAA,QAAA,CAAA,CAAA,IAAA,EAAA,EAAA,oBAAA,GAAA,EAAA,aExBpB,EAA2B,CACtC,QAAU,GAAa,CACrB,EAAI,UAAU,aAAc,CAAmB,CACjD,CACF"}
|