vue-dialog-view 1.8.2 → 1.8.4

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.
@@ -5,20 +5,15 @@ 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;
@@ -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,20 +5,15 @@ 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;
@@ -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,85 +1,95 @@
1
- import { defineComponent as b, ref as g, computed as w, watch as y, nextTick as d, onMounted as B, onBeforeUnmount as k, openBlock as s, createElementBlock as n, mergeProps as C, createElementVNode as f, renderSlot as i, withModifiers as _, createCommentVNode as c } from "vue";
2
- const D = ["closedBy"], M = {
3
- key: 0,
4
- class: "_4d394b1507fdc584"
5
- }, $ = { class: "_088d860d2fd75292" }, T = { class: "_da3b3b2a4aeed1ee" }, E = {
6
- key: 1,
7
- class: "_61879ba330d9a71c"
8
- }, N = /* @__PURE__ */ b({
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: r, emit: p }) {
19
- const o = a, t = p, e = g(), m = () => {
20
- t("update:modelValue", !0);
21
- }, u = () => {
22
- t("update:modelValue", !1);
23
- }, v = (l) => {
24
- l.preventDefault(), o.closable && u();
25
- }, h = () => {
26
- if (!o.closable && o.modelValue) {
27
- d(() => {
28
- e.value && !e.value.open && e.value.showModal();
29
- });
30
- return;
31
- }
32
- o.modelValue && t("update:modelValue", !1), d(() => {
33
- o.modelValue && e.value && !e.value.open && e.value.showModal();
34
- }), t("closed");
35
- }, V = w(() => o.closable ? o.closeOnClickMask ? "any" : "closerequest" : "none");
36
- return y(() => o.modelValue, async (l) => {
37
- await d(), l ? e.value && !e.value.open && e.value.showModal() : e.value && e.value.open && e.value.close();
38
- }), B(() => {
39
- o.modelValue && e.value && !e.value.open && e.value.showModal();
40
- }), k(() => {
41
- e.value && e.value.open && e.value.close();
42
- }), r({
43
- get: () => e.value,
44
- open: m,
45
- close: u
46
- }), (l, O) => (s(), n("dialog", C({
47
- ref_key: "dialogRef",
48
- ref: e,
49
- class: "_b4102a3b79656a37"
50
- }, l.$attrs, {
51
- onClose: h,
52
- onCancel: v,
53
- closedBy: V.value
54
- }), [
55
- a.showTitleBar ? (s(), n("div", M, [
56
- f("span", $, [
57
- i(l.$slots, "title")
58
- ]),
59
- a.showCloseButton && a.closable ? (s(), n("button", {
60
- key: 0,
61
- type: "button",
62
- "aria-label": "Close the dialog",
63
- class: "_468ff1da37ead40a",
64
- onClick: _(u, ["prevent"])
65
- }, "×")) : c("", !0)
66
- ])) : c("", !0),
67
- f("div", T, [
68
- i(l.$slots, "default")
69
- ]),
70
- l.$slots.footer ? (s(), n("div", E, [
71
- i(l.$slots, "footer")
72
- ])) : c("", !0)
73
- ], 16, D));
74
- }
75
- }), R = {
76
- install: (a) => {
77
- a.component("DialogView", N);
78
- }
79
- };
80
- export {
81
- N as DialogView,
82
- R as DialogViewPlugin,
83
- R as default
84
- };
85
- //# 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: "_da3b3b2a4aeed1ee" }, b = {
7
+ key: 1,
8
+ class: "_61879ba330d9a71c"
9
+ }, x = /* @__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: x, emit: S }) {
32
+ let C = i, w = S, T = f(), E = () => {
33
+ w("update:modelValue", !0);
34
+ }, D = () => {
35
+ w("update:modelValue", !1);
36
+ }, O = (e) => {
37
+ e.preventDefault(), C.closable && D();
38
+ }, k = f(!1), A = () => {
39
+ if (!k.value) {
40
+ if (!C.closable && C.modelValue) {
41
+ o(() => {
42
+ T.value && !T.value.open && T.value.showModal();
43
+ });
44
+ return;
45
+ }
46
+ C.modelValue && w("update:modelValue", !1), o(() => {
47
+ C.modelValue && T.value && !T.value.open && T.value.showModal();
48
+ }), w("closed");
49
+ }
50
+ }, j = e(() => C.closable ? C.closeOnClickMask ? "any" : "closerequest" : "none");
51
+ m(() => C.modelValue, async (e) => {
52
+ await o(), e ? T.value && !T.value.open && T.value.showModal() : T.value && T.value.open && T.value.close();
53
+ });
54
+ let M = () => {
55
+ C.modelValue && T.value && !T.value.open && T.value.showModal();
56
+ };
57
+ return u(() => {
58
+ M();
59
+ }), c(() => {
60
+ T.value && T.value.open && T.value.close();
61
+ }), l(() => {
62
+ T.value && T.value.open && (k.value = !0, T.value.close(), o(() => k.value = !1));
63
+ }), s(() => {
64
+ M();
65
+ }), x({
66
+ get: () => T.value,
67
+ open: E,
68
+ close: D
69
+ }), (e, o) => (d(), n("dialog", a({
70
+ ref_key: "dialogRef",
71
+ ref: T,
72
+ class: "_b4102a3b79656a37"
73
+ }, e.$attrs, {
74
+ onClose: A,
75
+ onCancel: O,
76
+ closedBy: j.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(D, ["prevent"])
84
+ }, "×")) : t("", !0)])) : t("", !0),
85
+ r("div", y, [p(e.$slots, "default")]),
86
+ e.$slots.footer ? (d(), n("div", b, [p(e.$slots, "footer")])) : t("", !0)
87
+ ], 16, g));
88
+ }
89
+ }), S = { install: (e) => {
90
+ e.component("DialogView", x);
91
+ } };
92
+ //#endregion
93
+ export { x as DialogView, S as DialogViewPlugin, S 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 } 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 handleDialogClose = (): void => {\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\nonMounted(() => {\n if (props.modelValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n }\n});\n\nonBeforeUnmount(() => {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\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","handleDialogClose","nextTick","closedBy","computed","watch","newValue","onMounted","onBeforeUnmount","__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,IAAoB,MAAY;AACpC,UAAI,CAACV,EAAM,YACLA,EAAM,YAAY;AAGpB,QAAAW,EAAS,MAAM;AACb,UAAIP,EAAU,SAAS,CAACA,EAAU,MAAM,QAAMA,EAAU,MAAM,UAAA;AAAA,QAChE,CAAC;AACD;AAAA,MACF;AAEF,MAAIJ,EAAM,cACRE,EAAK,qBAAqB,EAAK,GAEjCS,EAAS,MAAM;AACb,QAAIX,EAAM,cAEJI,EAAU,SAAS,CAACA,EAAU,MAAM,QAAMA,EAAU,MAAM,UAAA;AAAA,MAElE,CAAC,GACDF,EAAK,QAAQ;AAAA,IACf,GAEMU,IAAWC,EAAS,MAAMb,EAAM,WAAYA,EAAM,mBAAmB,QAAQ,iBAAkB,MAAM;AAE3G,WAAAc,EAAM,MAAMd,EAAM,YAAY,OAAOe,MAAsB;AACzD,YAAMJ,EAAA,GAEFI,IACEX,EAAU,SAAS,CAACA,EAAU,MAAM,QACtCA,EAAU,MAAM,UAAA,IAGdA,EAAU,SAASA,EAAU,MAAM,QACrCA,EAAU,MAAM,MAAA;AAAA,IAGtB,CAAC,GAEDY,EAAU,MAAM;AACd,MAAIhB,EAAM,cACJI,EAAU,SAAS,CAACA,EAAU,MAAM,QACtCA,EAAU,MAAM,UAAA;AAAA,IAGtB,CAAC,GAEDa,EAAgB,MAAM;AACpB,MAAIb,EAAU,SAASA,EAAU,MAAM,QACrCA,EAAU,MAAM,MAAA;AAAA,IAEpB,CAAC,GAEDc,EAAa;AAAA,MACX,KAAK,MAAMd,EAAU;AAAA,MACrB,MAAME;AAAA,MACN,OAAOC;AAAA,IAAA,CACR,cA9HCY,EAAA,GAAAC,EA4BS,UA5BTC,EA4BS;AAAA,eA3BH;AAAA,MAAJ,KAAIjB;AAAA,MACJ,OAAM;AAAA,IAAA,GACEkB,EAAAA,QAAM;AAAA,MACb,SAAOZ;AAAA,MACP,UAAQF;AAAA,MACR,UAAUI,EAAA;AAAA,IAAA;MAEAX,EAAA,gBAAXkB,EAAA,GAAAC,EAWM,OAXNG,GAWM;AAAA,QAVJC,EAEO,QAFPC,GAEO;AAAA,UADLC,EAA0BC,EAAA,QAAA,OAAA;AAAA,QAAA;QAGpB1B,EAAA,mBAAmBA,EAAA,iBAD3BmB,EAMiB,UAAA;AAAA;UAJf,MAAK;AAAA,UACL,cAAW;AAAA,UACX,OAAM;AAAA,UACL,WAAeb,GAAW,CAAA,SAAA,CAAA;AAAA,QAAA,GAC5B,GAAO;;MAGViB,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=\"_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","<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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CA,IAAM,IAAQ,GAOR,IAAO,GAKP,IAAY,GAAwB,EAEpC,UAAyB;GAC7B,EAAK,qBAAqB,GAAI;KAG1B,UAA0B;GAC9B,EAAK,qBAAqB,GAAK;KAG3B,KAAsB,MAAa;GAEvC,AADA,EAAE,gBAAgB,EACd,EAAM,YAAU,GAAa;KAG7B,IAAmB,EAAI,GAAM,EAE7B,UAAgC;GAChC,OAAiB,OACrB;QAAI,CAAC,EAAM,YACL,EAAM,YAAY;KAGpB,QAAe;MACb,AAAI,EAAU,SAAS,CAAC,EAAU,MAAM,QAAM,EAAU,MAAM,WAAU;OACxE;KACF;;IAYJ,AATI,EAAM,cACR,EAAK,qBAAqB,GAAK,EAEjC,QAAe;KACb,AAAI,EAAM,cAEJ,EAAU,SAAS,CAAC,EAAU,MAAM,QAAM,EAAU,MAAM,WAAU;MAE3E,EACD,EAAK,SAAQ;;KAGT,IAAW,QAAe,EAAM,WAAY,EAAM,mBAAmB,QAAQ,iBAAkB,OAAO;EAE5G,QAAY,EAAM,YAAY,OAAO,MAAsB;GAGzD,AAFA,MAAM,GAAS,EAEX,IACE,EAAU,SAAS,CAAC,EAAU,MAAM,QACtC,EAAU,MAAM,WAAU,GAGxB,EAAU,SAAS,EAAU,MAAM,QACrC,EAAU,MAAM,OAAM;IAG3B;EAED,IAAM,UAAmB;GACvB,AAAI,EAAM,cACJ,EAAU,SAAS,CAAC,EAAU,MAAM,QACtC,EAAU,MAAM,WAAU;;SAKhC,QAAgB;GACd,GAAY;IACZ,EAEF,QAAsB;GACpB,AAAI,EAAU,SAAS,EAAU,MAAM,QACrC,EAAU,MAAM,OAAM;IAExB,EAEF,QAAoB;GAClB,AAAI,EAAU,SAAS,EAAU,MAAM,SACrC,EAAiB,QAAQ,IACzB,EAAU,MAAM,OAAO,EACvB,QAAe,EAAiB,QAAQ,GAAM;IAEhD,EAEF,QAAkB;GAChB,GAAY;IACZ,EAEF,EAAa;GACX,WAAW,EAAU;GACrB,MAAM;GACN,OAAO;GACR,CAAC,kBAjJA,EA4BS,UA5BT,EA4BS;YA3BH;GAAJ,KAAI;GACJ,OAAM;KACEA,EAAAA,QAAM;GACb,SAAO;GACP,UAAQ;GACR,UAAU,EAAA;;GAEA,EAAA,gBAAA,GAAA,EAAX,EAWM,OAXN,GAWM,CAVJ,EAEO,QAFP,GAEO,CADL,EAA0B,EAAA,QAAA,QAAA,CAAA,CAAA,EAGpB,EAAA,mBAAmB,EAAA,YAAA,GAAA,EAD3B,EAMiB,UAAA;;IAJf,MAAK;IACL,cAAW;IACX,OAAM;IACL,SAAK,EAAU,GAAW,CAAA,UAAA,CAAA;MAC5B,IAAO,IAAA,EAAA,IAAA,GAAA,CAAA,CAAA,IAAA,EAAA,IAAA,GAAA;GAGV,EAEM,OAFN,GAEM,CADJ,EAAa,EAAA,QAAA,UAAA,CAAA,CAAA;GAGJC,EAAAA,OAAO,UAAA,GAAA,EAAlB,EAEM,OAFN,GAEM,CADJ,EAA2B,EAAA,QAAA,SAAA,CAAA,CAAA,IAAA,EAAA,IAAA,GAAA;;;IEtBpB,IAA2B,EACtC,UAAU,MAAa;CACrB,EAAI,UAAU,cAAc,EAAoB;GAEnD"}
@@ -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 u=["closedBy"],f={key:0,class:"_4d394b1507fdc584"},r={class:"_088d860d2fd75292"},m={class:"_da3b3b2a4aeed1ee"},p={key:1,class:"_61879ba330d9a71c"},d=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:h,emit:V}){const a=n,s=V,o=e.ref(),B=()=>{s("update:modelValue",!0)},i=()=>{s("update:modelValue",!1)},k=t=>{t.preventDefault(),a.closable&&i()},g=()=>{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")},y=e.computed(()=>a.closable?a.closeOnClickMask?"any":"closerequest":"none");return 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()}),e.onMounted(()=>{a.modelValue&&o.value&&!o.value.open&&o.value.showModal()}),e.onBeforeUnmount(()=>{o.value&&o.value.open&&o.value.close()}),h({get:()=>o.value,open:B,close:i}),(t,b)=>(e.openBlock(),e.createElementBlock("dialog",e.mergeProps({ref_key:"dialogRef",ref:o,class:"_b4102a3b79656a37"},t.$attrs,{onClose:g,onCancel:k,closedBy:y.value}),[n.showTitleBar?(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("span",r,[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",m,[e.renderSlot(t.$slots,"default")]),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",p,[e.renderSlot(t.$slots,"footer")])):e.createCommentVNode("",!0)],16,u))}}),c={install:n=>{n.component("DialogView",d)}};l.DialogView=d,l.DialogViewPlugin=c,l.default=c,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:`_da3b3b2a4aeed1ee`},o={key:1,class:`_61879ba330d9a71c`},s=(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:s,emit:c}){let l=e,u=c,d=(0,t.ref)(),f=()=>{u(`update:modelValue`,!0)},p=()=>{u(`update:modelValue`,!1)},m=e=>{e.preventDefault(),l.closable&&p()},h=(0,t.ref)(!1),g=()=>{if(!h.value){if(!l.closable&&l.modelValue){(0,t.nextTick)(()=>{d.value&&!d.value.open&&d.value.showModal()});return}l.modelValue&&u(`update:modelValue`,!1),(0,t.nextTick)(()=>{l.modelValue&&d.value&&!d.value.open&&d.value.showModal()}),u(`closed`)}},_=(0,t.computed)(()=>l.closable?l.closeOnClickMask?`any`:`closerequest`:`none`);(0,t.watch)(()=>l.modelValue,async e=>{await(0,t.nextTick)(),e?d.value&&!d.value.open&&d.value.showModal():d.value&&d.value.open&&d.value.close()});let v=()=>{l.modelValue&&d.value&&!d.value.open&&d.value.showModal()};return(0,t.onMounted)(()=>{v()}),(0,t.onBeforeUnmount)(()=>{d.value&&d.value.open&&d.value.close()}),(0,t.onDeactivated)(()=>{d.value&&d.value.open&&(h.value=!0,d.value.close(),(0,t.nextTick)(()=>h.value=!1))}),(0,t.onActivated)(()=>{v()}),s({get:()=>d.value,open:f,close:p}),(s,c)=>((0,t.openBlock)(),(0,t.createElementBlock)(`dialog`,(0,t.mergeProps)({ref_key:`dialogRef`,ref:d,class:`_b4102a3b79656a37`},s.$attrs,{onClose:g,onCancel:m,closedBy:_.value}),[e.showTitleBar?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,r,[(0,t.createElementVNode)(`span`,i,[(0,t.renderSlot)(s.$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)(p,[`prevent`])},`×`)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,a,[(0,t.renderSlot)(s.$slots,`default`)]),s.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,o,[(0,t.renderSlot)(s.$slots,`footer`)])):(0,t.createCommentVNode)(``,!0)],16,n))}}),c={install:e=>{e.component(`DialogView`,s)}};e.DialogView=s,e.DialogViewPlugin=c,e.default=c});
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 } 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 handleDialogClose = (): void => {\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\nonMounted(() => {\n if (props.modelValue) {\n if (dialogRef.value && !dialogRef.value.open) {\n dialogRef.value.showModal()\n }\n }\n});\n\nonBeforeUnmount(() => {\n if (dialogRef.value && dialogRef.value.open) {\n dialogRef.value.close()\n }\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","handleDialogClose","nextTick","closedBy","computed","watch","newValue","onMounted","onBeforeUnmount","__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,EAAoB,IAAY,CACpC,GAAI,CAACV,EAAM,UACLA,EAAM,WAAY,CAGpBW,EAAAA,SAAS,IAAM,CACTP,EAAU,OAAS,CAACA,EAAU,MAAM,MAAMA,EAAU,MAAM,UAAA,CAChE,CAAC,EACD,MACF,CAEEJ,EAAM,YACRE,EAAK,oBAAqB,EAAK,EAEjCS,EAAAA,SAAS,IAAM,CACTX,EAAM,YAEJI,EAAU,OAAS,CAACA,EAAU,MAAM,MAAMA,EAAU,MAAM,UAAA,CAElE,CAAC,EACDF,EAAK,QAAQ,CACf,EAEMU,EAAWC,WAAS,IAAMb,EAAM,SAAYA,EAAM,iBAAmB,MAAQ,eAAkB,MAAM,EAE3Gc,OAAAA,EAAAA,MAAM,IAAMd,EAAM,WAAY,MAAOe,GAAsB,CACzD,MAAMJ,WAAA,EAEFI,EACEX,EAAU,OAAS,CAACA,EAAU,MAAM,MACtCA,EAAU,MAAM,UAAA,EAGdA,EAAU,OAASA,EAAU,MAAM,MACrCA,EAAU,MAAM,MAAA,CAGtB,CAAC,EAEDY,EAAAA,UAAU,IAAM,CACVhB,EAAM,YACJI,EAAU,OAAS,CAACA,EAAU,MAAM,MACtCA,EAAU,MAAM,UAAA,CAGtB,CAAC,EAEDa,EAAAA,gBAAgB,IAAM,CAChBb,EAAU,OAASA,EAAU,MAAM,MACrCA,EAAU,MAAM,MAAA,CAEpB,CAAC,EAEDc,EAAa,CACX,IAAK,IAAMd,EAAU,MACrB,KAAME,EACN,MAAOC,CAAA,CACR,UA9HCY,YAAA,EAAAC,qBA4BS,SA5BTC,EAAAA,WA4BS,SA3BH,YAAJ,IAAIjB,EACJ,MAAM,mBAAA,EACEkB,EAAAA,OAAM,CACb,QAAOZ,EACP,SAAQF,EACR,SAAUI,EAAA,KAAA,IAEAX,EAAA,cAAXkB,EAAAA,UAAA,EAAAC,EAAAA,mBAWM,MAXNG,EAWM,CAVJC,EAAAA,mBAEO,OAFPC,EAEO,CADLC,aAA0BC,EAAA,OAAA,OAAA,CAAA,GAGpB1B,EAAA,iBAAmBA,EAAA,wBAD3BmB,EAAAA,mBAMiB,SAAA,OAJf,KAAK,SACL,aAAW,mBACX,MAAM,oBACL,wBAAeb,EAAW,CAAA,SAAA,CAAA,CAAA,EAC5B,GAAO,8DAGViB,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=\"_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","<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"],"mappings":"oxBA2CA,IAAM,EAAQ,EAOR,EAAO,EAKP,GAAA,EAAA,EAAA,MAAoC,CAEpC,MAAyB,CAC7B,EAAK,oBAAqB,GAAI,EAG1B,MAA0B,CAC9B,EAAK,oBAAqB,GAAK,EAG3B,EAAsB,GAAa,CACvC,EAAE,gBAAgB,CACd,EAAM,UAAU,GAAa,EAG7B,GAAA,EAAA,EAAA,KAAuB,GAAM,CAE7B,MAAgC,CAChC,MAAiB,MACrB,IAAI,CAAC,EAAM,UACL,EAAM,WAAY,EAGpB,EAAA,EAAA,cAAe,CACT,EAAU,OAAS,CAAC,EAAU,MAAM,MAAM,EAAU,MAAM,WAAU,EACxE,CACF,OAGA,EAAM,YACR,EAAK,oBAAqB,GAAK,EAEjC,EAAA,EAAA,cAAe,CACT,EAAM,YAEJ,EAAU,OAAS,CAAC,EAAU,MAAM,MAAM,EAAU,MAAM,WAAU,EAE3E,CACD,EAAK,SAAQ,GAGT,GAAA,EAAA,EAAA,cAA0B,EAAM,SAAY,EAAM,iBAAmB,MAAQ,eAAkB,OAAO,EAE5G,EAAA,EAAA,WAAY,EAAM,WAAY,KAAO,IAAsB,CACzD,MAAA,EAAA,EAAA,WAAe,CAEX,EACE,EAAU,OAAS,CAAC,EAAU,MAAM,MACtC,EAAU,MAAM,WAAU,CAGxB,EAAU,OAAS,EAAU,MAAM,MACrC,EAAU,MAAM,OAAM,EAG3B,CAED,IAAM,MAAmB,CACnB,EAAM,YACJ,EAAU,OAAS,CAAC,EAAU,MAAM,MACtC,EAAU,MAAM,WAAU,SAKhC,EAAA,EAAA,eAAgB,CACd,GAAY,EACZ,EAEF,EAAA,EAAA,qBAAsB,CAChB,EAAU,OAAS,EAAU,MAAM,MACrC,EAAU,MAAM,OAAM,EAExB,EAEF,EAAA,EAAA,mBAAoB,CACd,EAAU,OAAS,EAAU,MAAM,OACrC,EAAiB,MAAQ,GACzB,EAAU,MAAM,OAAO,EACvB,EAAA,EAAA,cAAe,EAAiB,MAAQ,GAAM,GAEhD,EAEF,EAAA,EAAA,iBAAkB,CAChB,GAAY,EACZ,CAEF,EAAa,CACX,QAAW,EAAU,MACrB,KAAM,EACN,MAAO,EACR,CAAC,oDArHS,UAAA,EAAA,EAAA,YAAA,SA3BH,YAAJ,IAAI,EACJ,MAAM,qBACEA,EAAAA,OAAM,CACb,QAAO,EACP,SAAQ,EACR,SAAU,EAAA,SAEA,EAAA,eAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAWL,MAXN,EAWM,EAAA,EAAA,EAAA,oBARG,OAFP,EAEO,EAAA,EAAA,EAAA,YADqB,EAAA,OAAA,QAAA,CAAA,CAAA,CAGpB,EAAA,iBAAmB,EAAA,WAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAKV,SAAA,OAJf,KAAK,SACL,aAAW,mBACX,MAAM,oBACL,SAAA,EAAA,EAAA,eAAe,EAAW,CAAA,UAAA,CAAA,EAC5B,IAAO,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,CAAA,CAAA,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,0BAKJ,MAFN,EAEM,EAAA,EAAA,EAAA,YADS,EAAA,OAAA,UAAA,CAAA,CAAA,CAGJC,EAAAA,OAAO,SAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAEZ,MAFN,EAEM,EAAA,EAAA,EAAA,YADuB,EAAA,OAAA,SAAA,CAAA,CAAA,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,YEtBpB,EAA2B,CACtC,QAAU,GAAa,CACrB,EAAI,UAAU,aAAc,EAAoB,EAEnD"}
@@ -1,90 +1,99 @@
1
- import { defineComponent as w, ref as V, computed as y, watch as B, nextTick as c, onMounted as k, onBeforeUnmount as C, openBlock as n, createElementBlock as i, mergeProps as _, createElementVNode as p, renderSlot as r, withModifiers as b, createCommentVNode as f } from "vue";
2
- const D = ["closedBy"], M = {
3
- key: 0,
4
- class: "dialog-title-bar"
5
- }, $ = { class: "dialog-title" }, O = { class: "dialog-content" }, T = {
6
- key: 1,
7
- class: "dialog-footer"
8
- }, E = /* @__PURE__ */ w({
9
- __name: "DialogView",
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(l, { expose: u, emit: s }) {
19
- const o = l, t = s, e = V(), v = () => {
20
- t("update:modelValue", !0);
21
- }, d = () => {
22
- t("update:modelValue", !1);
23
- }, m = (a) => {
24
- a.preventDefault(), o.closable && d();
25
- }, g = () => {
26
- if (!o.closable && o.modelValue) {
27
- c(() => {
28
- e.value && !e.value.open && e.value.showModal();
29
- });
30
- return;
31
- }
32
- o.modelValue && t("update:modelValue", !1), c(() => {
33
- o.modelValue && e.value && !e.value.open && e.value.showModal();
34
- }), t("closed");
35
- }, h = y(() => o.closable ? o.closeOnClickMask ? "any" : "closerequest" : "none");
36
- return B(() => o.modelValue, async (a) => {
37
- await c(), a ? e.value && !e.value.open && e.value.showModal() : e.value && e.value.open && e.value.close();
38
- }), k(() => {
39
- o.modelValue && e.value && !e.value.open && e.value.showModal();
40
- }), C(() => {
41
- e.value && e.value.open && e.value.close();
42
- }), u({
43
- get: () => e.value,
44
- open: v,
45
- close: d
46
- }), (a, R) => (n(), i("dialog", _({
47
- ref_key: "dialogRef",
48
- ref: e,
49
- class: "dialog-view"
50
- }, a.$attrs, {
51
- onClose: g,
52
- onCancel: m,
53
- closedBy: h.value
54
- }), [
55
- l.showTitleBar ? (n(), i("div", M, [
56
- p("span", $, [
57
- r(a.$slots, "title", {}, void 0, !0)
58
- ]),
59
- l.showCloseButton && l.closable ? (n(), i("button", {
60
- key: 0,
61
- type: "button",
62
- "aria-label": "Close the dialog",
63
- class: "dialog-close-button",
64
- onClick: b(d, ["prevent"])
65
- }, "×")) : f("", !0)
66
- ])) : f("", !0),
67
- p("div", O, [
68
- r(a.$slots, "default", {}, void 0, !0)
69
- ]),
70
- a.$slots.footer ? (n(), i("div", T, [
71
- r(a.$slots, "footer", {}, void 0, !0)
72
- ])) : f("", !0)
73
- ], 16, D));
74
- }
75
- }), N = (l, u) => {
76
- const s = l.__vccOpts || l;
77
- for (const [o, t] of u)
78
- s[o] = t;
79
- return s;
80
- }, P = /* @__PURE__ */ N(E, [["__scopeId", "data-v-da4085e6"]]), I = {
81
- install: (l) => {
82
- l.component("DialogView", P);
83
- }
84
- };
85
- export {
86
- P as DialogView,
87
- I as DialogViewPlugin,
88
- I as default
89
- };
90
- //# sourceMappingURL=cssless.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.vue?vue&type=script&setup=true&lang.ts
3
+ var g = ["closedBy"], _ = {
4
+ key: 0,
5
+ class: "dialog-title-bar"
6
+ }, v = { class: "dialog-title" }, y = { class: "dialog-content" }, b = {
7
+ key: 1,
8
+ class: "dialog-footer"
9
+ }, x = /* @__PURE__ */ ((e, t) => {
10
+ let n = e.__vccOpts || e;
11
+ for (let [e, r] of t) n[e] = r;
12
+ return n;
13
+ })(/* @__PURE__ */ i({
14
+ __name: "DialogView",
15
+ props: {
16
+ modelValue: { type: Boolean },
17
+ showTitleBar: {
18
+ type: Boolean,
19
+ default: !0
20
+ },
21
+ showCloseButton: {
22
+ type: Boolean,
23
+ default: !0
24
+ },
25
+ closable: {
26
+ type: Boolean,
27
+ default: !0
28
+ },
29
+ closeOnClickMask: {
30
+ type: Boolean,
31
+ default: !1
32
+ }
33
+ },
34
+ emits: ["update:modelValue", "closed"],
35
+ setup(i, { expose: x, emit: S }) {
36
+ let C = i, w = S, T = f(), E = () => {
37
+ w("update:modelValue", !0);
38
+ }, D = () => {
39
+ w("update:modelValue", !1);
40
+ }, O = (e) => {
41
+ e.preventDefault(), C.closable && D();
42
+ }, k = f(!1), A = () => {
43
+ if (!k.value) {
44
+ if (!C.closable && C.modelValue) {
45
+ o(() => {
46
+ T.value && !T.value.open && T.value.showModal();
47
+ });
48
+ return;
49
+ }
50
+ C.modelValue && w("update:modelValue", !1), o(() => {
51
+ C.modelValue && T.value && !T.value.open && T.value.showModal();
52
+ }), w("closed");
53
+ }
54
+ }, j = e(() => C.closable ? C.closeOnClickMask ? "any" : "closerequest" : "none");
55
+ m(() => C.modelValue, async (e) => {
56
+ await o(), e ? T.value && !T.value.open && T.value.showModal() : T.value && T.value.open && T.value.close();
57
+ });
58
+ let M = () => {
59
+ C.modelValue && T.value && !T.value.open && T.value.showModal();
60
+ };
61
+ return u(() => {
62
+ M();
63
+ }), c(() => {
64
+ T.value && T.value.open && T.value.close();
65
+ }), l(() => {
66
+ T.value && T.value.open && (k.value = !0, T.value.close(), o(() => k.value = !1));
67
+ }), s(() => {
68
+ M();
69
+ }), x({
70
+ get: () => T.value,
71
+ open: E,
72
+ close: D
73
+ }), (e, o) => (d(), n("dialog", a({
74
+ ref_key: "dialogRef",
75
+ ref: T,
76
+ class: "dialog-view"
77
+ }, e.$attrs, {
78
+ onClose: A,
79
+ onCancel: O,
80
+ closedBy: j.value
81
+ }), [
82
+ i.showTitleBar ? (d(), n("div", _, [r("span", v, [p(e.$slots, "title", {}, void 0, !0)]), i.showCloseButton && i.closable ? (d(), n("button", {
83
+ key: 0,
84
+ type: "button",
85
+ "aria-label": "Close the dialog",
86
+ class: "dialog-close-button",
87
+ onClick: h(D, ["prevent"])
88
+ }, "×")) : t("", !0)])) : t("", !0),
89
+ r("div", y, [p(e.$slots, "default", {}, void 0, !0)]),
90
+ e.$slots.footer ? (d(), n("div", b, [p(e.$slots, "footer", {}, void 0, !0)])) : t("", !0)
91
+ ], 16, g));
92
+ }
93
+ }), [["__scopeId", "data-v-7641dcfa"]]), S = { install: (e) => {
94
+ e.component("DialogView", x);
95
+ } };
96
+ //#endregion
97
+ export { x as DialogView, S as DialogViewPlugin, S as default };
98
+
99
+ //# sourceMappingURL=cssless.es.js.map