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 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 function __VLS_template(): {
9
- attrs: Partial<{}>;
10
- slots: {
11
- title?(_: {}): any;
12
- default?(_: {}): any;
13
- footer?(_: {}): any;
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
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
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('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
20
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
26
21
  "update:modelValue": (value: boolean) => any;
27
22
  closed: () => any;
28
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
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('vue').ComponentProvideOptions, false, {
37
- dialogRef: HTMLDialogElement;
38
- }, HTMLDialogElement>;
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 __VLS_WithTemplateSlots<T, S> = T & {
35
+ type __VLS_WithSlots<T, S> = T & {
42
36
  new (): {
43
37
  $slots: S;
44
38
  };
@@ -5,27 +5,22 @@ interface Props {
5
5
  closable?: boolean;
6
6
  closeOnClickMask?: boolean;
7
7
  }
8
- declare function __VLS_template(): {
9
- attrs: Partial<{}>;
10
- slots: {
11
- title?(_: {}): any;
12
- default?(_: {}): any;
13
- footer?(_: {}): any;
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
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
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('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
20
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
26
21
  "update:modelValue": (value: boolean) => any;
27
22
  closed: () => any;
28
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
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('vue').ComponentProvideOptions, false, {
37
- dialogRef: HTMLDialogElement;
38
- }, HTMLDialogElement>;
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 __VLS_WithTemplateSlots<T, S> = T & {
35
+ type __VLS_WithSlots<T, S> = T & {
42
36
  new (): {
43
37
  $slots: S;
44
38
  };
@@ -1,95 +1,95 @@
1
- import { defineComponent as y, ref as v, computed as B, watch as C, nextTick as s, onMounted as k, onBeforeUnmount as _, onDeactivated as D, onActivated as M, openBlock as n, createElementBlock as u, mergeProps as $, createElementVNode as p, renderSlot as c, withModifiers as E, createCommentVNode as f } from "vue";
2
- const T = ["closedBy"], N = {
3
- key: 0,
4
- class: "_4d394b1507fdc584"
5
- }, O = { class: "_088d860d2fd75292" }, P = { class: "_da3b3b2a4aeed1ee" }, R = {
6
- key: 1,
7
- class: "_61879ba330d9a71c"
8
- }, q = /* @__PURE__ */ y({
9
- __name: "DialogView.obf",
10
- props: {
11
- modelValue: { type: Boolean },
12
- showTitleBar: { type: Boolean, default: !0 },
13
- showCloseButton: { type: Boolean, default: !0 },
14
- closable: { type: Boolean, default: !0 },
15
- closeOnClickMask: { type: Boolean, default: !1 }
16
- },
17
- emits: ["update:modelValue", "closed"],
18
- setup(a, { expose: m, emit: h }) {
19
- const o = a, t = h, e = v(), g = () => {
20
- t("update:modelValue", !0);
21
- }, i = () => {
22
- t("update:modelValue", !1);
23
- }, V = (l) => {
24
- l.preventDefault(), o.closable && i();
25
- }, d = v(!1), b = () => {
26
- if (!d.value) {
27
- if (!o.closable && o.modelValue) {
28
- s(() => {
29
- e.value && !e.value.open && e.value.showModal();
30
- });
31
- return;
32
- }
33
- o.modelValue && t("update:modelValue", !1), s(() => {
34
- o.modelValue && e.value && !e.value.open && e.value.showModal();
35
- }), t("closed");
36
- }
37
- }, w = B(() => o.closable ? o.closeOnClickMask ? "any" : "closerequest" : "none");
38
- C(() => o.modelValue, async (l) => {
39
- await s(), l ? e.value && !e.value.open && e.value.showModal() : e.value && e.value.open && e.value.close();
40
- });
41
- const r = () => {
42
- o.modelValue && e.value && !e.value.open && e.value.showModal();
43
- };
44
- return k(() => {
45
- r();
46
- }), _(() => {
47
- e.value && e.value.open && e.value.close();
48
- }), D(() => {
49
- e.value && e.value.open && (d.value = !0, e.value.close(), s(() => d.value = !1));
50
- }), M(() => {
51
- r();
52
- }), m({
53
- get: () => e.value,
54
- open: g,
55
- close: i
56
- }), (l, A) => (n(), u("dialog", $({
57
- ref_key: "dialogRef",
58
- ref: e,
59
- class: "_b4102a3b79656a37"
60
- }, l.$attrs, {
61
- onClose: b,
62
- onCancel: V,
63
- closedBy: w.value
64
- }), [
65
- a.showTitleBar ? (n(), u("div", N, [
66
- p("span", O, [
67
- c(l.$slots, "title")
68
- ]),
69
- a.showCloseButton && a.closable ? (n(), u("button", {
70
- key: 0,
71
- type: "button",
72
- "aria-label": "Close the dialog",
73
- class: "_468ff1da37ead40a",
74
- onClick: E(i, ["prevent"])
75
- }, "×")) : f("", !0)
76
- ])) : f("", !0),
77
- p("div", P, [
78
- c(l.$slots, "default")
79
- ]),
80
- l.$slots.footer ? (n(), u("div", R, [
81
- c(l.$slots, "footer")
82
- ])) : f("", !0)
83
- ], 16, T));
84
- }
85
- }), U = {
86
- install: (a) => {
87
- a.component("DialogView", q);
88
- }
89
- };
90
- export {
91
- q as DialogView,
92
- U as DialogViewPlugin,
93
- U as default
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 >&times;</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 >&times;</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 >&times;</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(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.DialogView={},l.Vue))})(this,(function(l,e){"use strict";const r=["closedBy"],m={key:0,class:"_4d394b1507fdc584"},p={class:"_088d860d2fd75292"},h={class:"_da3b3b2a4aeed1ee"},V={key:1,class:"_61879ba330d9a71c"},c=e.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(n,{expose:g,emit:k}){const a=n,s=k,o=e.ref(),B=()=>{s("update:modelValue",!0)},i=()=>{s("update:modelValue",!1)},y=t=>{t.preventDefault(),a.closable&&i()},d=e.ref(!1),b=()=>{if(!d.value){if(!a.closable&&a.modelValue){e.nextTick(()=>{o.value&&!o.value.open&&o.value.showModal()});return}a.modelValue&&s("update:modelValue",!1),e.nextTick(()=>{a.modelValue&&o.value&&!o.value.open&&o.value.showModal()}),s("closed")}},w=e.computed(()=>a.closable?a.closeOnClickMask?"any":"closerequest":"none");e.watch(()=>a.modelValue,async t=>{await e.nextTick(),t?o.value&&!o.value.open&&o.value.showModal():o.value&&o.value.open&&o.value.close()});const u=()=>{a.modelValue&&o.value&&!o.value.open&&o.value.showModal()};return e.onMounted(()=>{u()}),e.onBeforeUnmount(()=>{o.value&&o.value.open&&o.value.close()}),e.onDeactivated(()=>{o.value&&o.value.open&&(d.value=!0,o.value.close(),e.nextTick(()=>d.value=!1))}),e.onActivated(()=>{u()}),g({get:()=>o.value,open:B,close:i}),(t,C)=>(e.openBlock(),e.createElementBlock("dialog",e.mergeProps({ref_key:"dialogRef",ref:o,class:"_b4102a3b79656a37"},t.$attrs,{onClose:b,onCancel:y,closedBy:w.value}),[n.showTitleBar?(e.openBlock(),e.createElementBlock("div",m,[e.createElementVNode("span",p,[e.renderSlot(t.$slots,"title")]),n.showCloseButton&&n.closable?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":"Close the dialog",class:"_468ff1da37ead40a",onClick:e.withModifiers(i,["prevent"])},"×")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",h,[e.renderSlot(t.$slots,"default")]),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",V,[e.renderSlot(t.$slots,"footer")])):e.createCommentVNode("",!0)],16,r))}}),f={install:n=>{n.component("DialogView",c)}};l.DialogView=c,l.DialogViewPlugin=f,l.default=f,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
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 >&times;</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 >&times;</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 >&times;</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"}