alytus-ff 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/App.vue.d.ts CHANGED
@@ -1,2 +1,65 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1
+ declare const _default: import('vue').DefineComponent<{}, {
2
+ showDialog: import('vue').Ref<boolean, boolean>;
3
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
4
+ PageTitle: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
+ title: {
6
+ type: StringConstructor;
7
+ required: true;
8
+ };
9
+ description: {
10
+ type: StringConstructor;
11
+ default: null;
12
+ };
13
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
14
+ title: {
15
+ type: StringConstructor;
16
+ required: true;
17
+ };
18
+ description: {
19
+ type: StringConstructor;
20
+ default: null;
21
+ };
22
+ }>> & Readonly<{}>, {
23
+ description: string;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
25
+ CustomDialog: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
26
+ value: {
27
+ type: BooleanConstructor;
28
+ required: true;
29
+ };
30
+ title: {
31
+ type: StringConstructor;
32
+ default: null;
33
+ };
34
+ persistent: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ noFooter: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
43
+ value: {
44
+ type: BooleanConstructor;
45
+ required: true;
46
+ };
47
+ title: {
48
+ type: StringConstructor;
49
+ default: null;
50
+ };
51
+ persistent: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
55
+ noFooter: {
56
+ type: BooleanConstructor;
57
+ default: boolean;
58
+ };
59
+ }>> & Readonly<{}>, {
60
+ title: string;
61
+ persistent: boolean;
62
+ noFooter: boolean;
63
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
64
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
65
  export default _default;
package/dist/alytus-ff.js CHANGED
@@ -1,5 +1,5 @@
1
- import { defineComponent as p, openBlock as c, createElementBlock as l, createElementVNode as s, toDisplayString as d, createCommentVNode as u, renderSlot as m } from "vue";
2
- const f = p({
1
+ import { defineComponent as m, openBlock as a, createElementBlock as u, createElementVNode as d, toDisplayString as f, createCommentVNode as v, renderSlot as i, resolveComponent as l, createBlock as $, withCtx as c, createVNode as p } from "vue";
2
+ const k = m({
3
3
  name: "PageTitle",
4
4
  props: {
5
5
  title: {
@@ -11,27 +11,27 @@ const f = p({
11
11
  default: null
12
12
  }
13
13
  }
14
- }), a = (e, t) => {
15
- const o = e.__vccOpts || e;
16
- for (const [r, n] of t)
17
- o[r] = n;
18
- return o;
19
- }, _ = { class: "mt-6 mb-3 ff-page-title" }, g = { class: "text-h5 ff-title" }, $ = {
14
+ }), _ = (e, t) => {
15
+ const n = e.__vccOpts || e;
16
+ for (const [s, o] of t)
17
+ n[s] = o;
18
+ return n;
19
+ }, S = { class: "mt-6 mb-3 ff-page-title" }, w = { class: "text-h5 ff-title" }, B = {
20
20
  key: 0,
21
21
  class: "text-body-2 ff-description"
22
22
  };
23
- function b(e, t, o, r, n, i) {
24
- return c(), l("div", _, [
25
- s("div", null, [
26
- s("span", g, d(e.title), 1),
27
- e.description ? (c(), l("div", $, d(e.description), 1)) : u("", !0)
23
+ function D(e, t, n, s, o, r) {
24
+ return a(), u("div", S, [
25
+ d("div", null, [
26
+ d("span", w, f(e.title), 1),
27
+ e.description ? (a(), u("div", B, f(e.description), 1)) : v("", !0)
28
28
  ]),
29
- s("div", null, [
30
- m(e.$slots, "buttons")
29
+ d("div", null, [
30
+ i(e.$slots, "buttons")
31
31
  ])
32
32
  ]);
33
33
  }
34
- const v = /* @__PURE__ */ a(f, [["render", b]]), h = p({
34
+ const I = /* @__PURE__ */ _(k, [["render", D]]), T = m({
35
35
  name: "PageSubtitle",
36
36
  props: {
37
37
  subtitle: {
@@ -39,21 +39,78 @@ const v = /* @__PURE__ */ a(f, [["render", b]]), h = p({
39
39
  required: !0
40
40
  }
41
41
  }
42
- }), k = { class: "text-h6 font-weight-bold mt-7 mb-4" };
43
- function C(e, t, o, r, n, i) {
44
- return c(), l("div", k, d(e.subtitle), 1);
42
+ }), U = { class: "text-h6 font-weight-bold mt-7 mb-4" };
43
+ function P(e, t, n, s, o, r) {
44
+ return a(), u("div", U, f(e.subtitle), 1);
45
45
  }
46
- const y = /* @__PURE__ */ a(h, [["render", C]]), x = (e) => e ? e.replace(/(?:\r\n|\r|\n)/g, "<br>") : "", T = (e) => {
46
+ const N = /* @__PURE__ */ _(T, [["render", P]]), R = m({
47
+ name: "CustomDialog",
48
+ props: {
49
+ value: {
50
+ type: Boolean,
51
+ required: !0
52
+ },
53
+ title: {
54
+ type: String,
55
+ default: null
56
+ },
57
+ persistent: {
58
+ type: Boolean,
59
+ default: !1
60
+ },
61
+ noFooter: {
62
+ type: Boolean,
63
+ default: !1
64
+ }
65
+ }
66
+ });
67
+ function V(e, t, n, s, o, r) {
68
+ const g = l("v-card-text"), y = l("v-spacer"), C = l("v-card-actions"), b = l("v-card"), h = l("v-dialog");
69
+ return a(), $(h, {
70
+ "model-value": e.value,
71
+ "max-width": "960",
72
+ persistent: e.persistent,
73
+ fullscreen: e.$vuetify.display.smAndDown,
74
+ "onUpdate:modelValue": t[0] || (t[0] = (q) => e.$emit("close"))
75
+ }, {
76
+ default: c(() => [
77
+ i(e.$slots, "card", {}, () => [
78
+ p(b, { title: e.title }, {
79
+ default: c(() => [
80
+ p(g, null, {
81
+ default: c(() => [
82
+ i(e.$slots, "default")
83
+ ]),
84
+ _: 3
85
+ }),
86
+ e.noFooter ? v("", !0) : (a(), $(C, { key: 0 }, {
87
+ default: c(() => [
88
+ i(e.$slots, "left-footer"),
89
+ p(y),
90
+ i(e.$slots, "footer")
91
+ ]),
92
+ _: 3
93
+ }))
94
+ ]),
95
+ _: 3
96
+ }, 8, ["title"])
97
+ ])
98
+ ]),
99
+ _: 3
100
+ }, 8, ["model-value", "persistent", "fullscreen"]);
101
+ }
102
+ const F = /* @__PURE__ */ _(R, [["render", V]]), A = (e) => e ? e.replace(/(?:\r\n|\r|\n)/g, "<br>") : "", O = (e) => {
47
103
  let t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
48
104
  return t ? decodeURIComponent(t[3]) : null;
49
- }, P = (e, t, o, r) => {
50
- let n, i;
51
- return r == null && (r = "/"), i = "", o && (n = /* @__PURE__ */ new Date(), n.setTime(n.getTime() + o * 24 * 60 * 60 * 1e3), i = "; expires=" + n.toUTCString()), document.cookie = encodeURIComponent(e) + "=" + encodeURIComponent(t) + i + "; path=" + r, !0;
105
+ }, j = (e, t, n, s) => {
106
+ let o, r;
107
+ return s == null && (s = "/"), r = "", n && (o = /* @__PURE__ */ new Date(), o.setTime(o.getTime() + n * 24 * 60 * 60 * 1e3), r = "; expires=" + o.toUTCString()), document.cookie = encodeURIComponent(e) + "=" + encodeURIComponent(t) + r + "; path=" + s, !0;
52
108
  };
53
109
  export {
54
- y as PageSubtitle,
55
- v as PageTitle,
56
- T as getCookie,
57
- x as nl2br,
58
- P as setCookie
110
+ F as CustomDialog,
111
+ N as PageSubtitle,
112
+ I as PageTitle,
113
+ O as getCookie,
114
+ A as nl2br,
115
+ j as setCookie
59
116
  };
@@ -1 +1 @@
1
- (function(n,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n["Alytus FF"]={},n.Vue))})(this,function(n,e){"use strict";const d=e.defineComponent({name:"PageTitle",props:{title:{type:String,required:!0},description:{type:String,default:null}}}),l=(t,o)=>{const r=t.__vccOpts||t;for(const[s,i]of o)r[s]=i;return r},p={class:"mt-6 mb-3 ff-page-title"},a={class:"text-h5 ff-title"},f={key:0,class:"text-body-2 ff-description"};function m(t,o,r,s,i,c){return e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",null,[e.createElementVNode("span",a,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",f,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.renderSlot(t.$slots,"buttons")])])}const u=l(d,[["render",m]]),g=e.defineComponent({name:"PageSubtitle",props:{subtitle:{type:String,required:!0}}}),_={class:"text-h6 font-weight-bold mt-7 mb-4"};function b(t,o,r,s,i,c){return e.openBlock(),e.createElementBlock("div",_,e.toDisplayString(t.subtitle),1)}const k=l(g,[["render",b]]),h=t=>t?t.replace(/(?:\r\n|\r|\n)/g,"<br>"):"",y=t=>{let o=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return o?decodeURIComponent(o[3]):null},S=(t,o,r,s)=>{let i,c;return s==null&&(s="/"),c="",r&&(i=new Date,i.setTime(i.getTime()+r*24*60*60*1e3),c="; expires="+i.toUTCString()),document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(o)+c+"; path="+s,!0};n.PageSubtitle=k,n.PageTitle=u,n.getCookie=y,n.nl2br=h,n.setCookie=S,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
1
+ (function(o,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(o=typeof globalThis<"u"?globalThis:o||self,e(o["Alytus FF"]={},o.Vue))})(this,function(o,e){"use strict";const d=e.defineComponent({name:"PageTitle",props:{title:{type:String,required:!0},description:{type:String,default:null}}}),c=(t,n)=>{const l=t.__vccOpts||t;for(const[s,r]of n)l[s]=r;return l},a={class:"mt-6 mb-3 ff-page-title"},p={class:"text-h5 ff-title"},m={key:0,class:"text-body-2 ff-description"};function f(t,n,l,s,r,i){return e.openBlock(),e.createElementBlock("div",a,[e.createElementVNode("div",null,[e.createElementVNode("span",p,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",m,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.renderSlot(t.$slots,"buttons")])])}const u=c(d,[["render",f]]),_=e.defineComponent({name:"PageSubtitle",props:{subtitle:{type:String,required:!0}}}),g={class:"text-h6 font-weight-bold mt-7 mb-4"};function C(t,n,l,s,r,i){return e.openBlock(),e.createElementBlock("div",g,e.toDisplayString(t.subtitle),1)}const $=c(_,[["render",C]]),y=e.defineComponent({name:"CustomDialog",props:{value:{type:Boolean,required:!0},title:{type:String,default:null},persistent:{type:Boolean,default:!1},noFooter:{type:Boolean,default:!1}}});function k(t,n,l,s,r,i){const V=e.resolveComponent("v-card-text"),w=e.resolveComponent("v-spacer"),T=e.resolveComponent("v-card-actions"),D=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{"model-value":t.value,"max-width":"960",persistent:t.persistent,fullscreen:t.$vuetify.display.smAndDown,"onUpdate:modelValue":n[0]||(n[0]=E=>t.$emit("close"))},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"card",{},()=>[e.createVNode(D,{title:t.title},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3}),t.noFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:0},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"left-footer"),e.createVNode(w),e.renderSlot(t.$slots,"footer")]),_:3}))]),_:3},8,["title"])])]),_:3},8,["model-value","persistent","fullscreen"])}const S=c(y,[["render",k]]),h=t=>t?t.replace(/(?:\r\n|\r|\n)/g,"<br>"):"",b=t=>{let n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},B=(t,n,l,s)=>{let r,i;return s==null&&(s="/"),i="",l&&(r=new Date,r.setTime(r.getTime()+l*24*60*60*1e3),i="; expires="+r.toUTCString()),document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(n)+i+"; path="+s,!0};o.CustomDialog=S,o.PageSubtitle=$,o.PageTitle=u,o.getCookie=b,o.nl2br=h,o.setCookie=B,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
@@ -0,0 +1,40 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ value: {
3
+ type: BooleanConstructor;
4
+ required: true;
5
+ };
6
+ title: {
7
+ type: StringConstructor;
8
+ default: null;
9
+ };
10
+ persistent: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ noFooter: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
19
+ value: {
20
+ type: BooleanConstructor;
21
+ required: true;
22
+ };
23
+ title: {
24
+ type: StringConstructor;
25
+ default: null;
26
+ };
27
+ persistent: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ noFooter: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ }>> & Readonly<{}>, {
36
+ title: string;
37
+ persistent: boolean;
38
+ noFooter: boolean;
39
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
40
+ export default _default;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { default as PageTitle } from './components/Page/PageTitle.vue';
2
2
  import { default as PageSubtitle } from './components/Page/PageSubtitle.vue';
3
+ import { default as CustomDialog } from './components/Dialog/CustomDialog.vue';
3
4
  import { nl2br } from './utils/HtmlUtil.ts';
4
5
  import { getCookie, setCookie } from './utils/CookieUtil.ts';
5
6
  import { NameValuePair } from './types/Base.ts';
6
- export { PageTitle, PageSubtitle, nl2br, getCookie, setCookie, NameValuePair };
7
+ export { PageTitle, PageSubtitle, CustomDialog, nl2br, getCookie, setCookie, NameValuePair };
@@ -0,0 +1,82 @@
1
+ declare const vuetify: {
2
+ install: (app: import('vue').App) => void;
3
+ defaults: import('vue').Ref<import('vuetify').DefaultsInstance>;
4
+ display: import('vuetify').DisplayInstance;
5
+ theme: import('vuetify').ThemeInstance & {
6
+ install: (app: import('vue').App) => void;
7
+ };
8
+ icons: {
9
+ defaultSet: string;
10
+ aliases: Partial<import('vuetify').IconAliases>;
11
+ sets: Record<string, import('vuetify').IconSet>;
12
+ };
13
+ locale: {
14
+ isRtl: import('vue').Ref<boolean>;
15
+ rtl: import('vue').Ref<Record<string, boolean>>;
16
+ rtlClasses: import('vue').Ref<string>;
17
+ name: string;
18
+ messages: import('vue').Ref<import('vuetify').LocaleMessages>;
19
+ current: import('vue').Ref<string>;
20
+ fallback: import('vue').Ref<string>;
21
+ t: (key: string, ...params: unknown[]) => string;
22
+ n: (value: number) => string;
23
+ provide: (props: import('vuetify').LocaleOptions) => import('vuetify').LocaleInstance;
24
+ };
25
+ date: {
26
+ options: {
27
+ adapter: (new (options: {
28
+ locale: any;
29
+ formats?: any;
30
+ }) => import('vuetify').DateInstance) | import('vuetify').DateInstance;
31
+ formats?: Record<string, any>;
32
+ locale: Record<string, any>;
33
+ };
34
+ instance: {
35
+ locale?: any;
36
+ date: (value?: any) => unknown;
37
+ format: (date: unknown, formatString: string) => string;
38
+ toJsDate: (value: unknown) => Date;
39
+ parseISO: (date: string) => unknown;
40
+ toISO: (date: unknown) => string;
41
+ startOfDay: (date: unknown) => unknown;
42
+ endOfDay: (date: unknown) => unknown;
43
+ startOfWeek: (date: unknown, firstDayOfWeek?: number | string) => unknown;
44
+ endOfWeek: (date: unknown) => unknown;
45
+ startOfMonth: (date: unknown) => unknown;
46
+ endOfMonth: (date: unknown) => unknown;
47
+ startOfYear: (date: unknown) => unknown;
48
+ endOfYear: (date: unknown) => unknown;
49
+ isAfter: (date: unknown, comparing: unknown) => boolean;
50
+ isAfterDay: (value: unknown, comparing: unknown) => boolean;
51
+ isSameDay: (date: unknown, comparing: unknown) => boolean;
52
+ isSameMonth: (date: unknown, comparing: unknown) => boolean;
53
+ isSameYear: (value: unknown, comparing: unknown) => boolean;
54
+ isBefore: (date: unknown, comparing: unknown) => boolean;
55
+ isEqual: (date: unknown, comparing: unknown) => boolean;
56
+ isValid: (date: any) => boolean;
57
+ isWithinRange: (date: unknown, range: [unknown, unknown]) => boolean;
58
+ addMinutes: (date: unknown, amount: number) => unknown;
59
+ addHours: (date: unknown, amount: number) => unknown;
60
+ addDays: (date: unknown, amount: number) => unknown;
61
+ addWeeks: (date: unknown, amount: number) => unknown;
62
+ addMonths: (date: unknown, amount: number) => unknown;
63
+ getYear: (date: unknown) => number;
64
+ setYear: (date: unknown, year: number) => unknown;
65
+ getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
66
+ getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
67
+ getWeekdays: (firstDayOfWeek?: number | string) => string[];
68
+ getMonth: (date: unknown) => number;
69
+ setMonth: (date: unknown, month: number) => unknown;
70
+ getDate: (date: unknown) => number;
71
+ setDate: (date: unknown, day: number) => unknown;
72
+ getNextMonth: (date: unknown) => unknown;
73
+ getPreviousMonth: (date: unknown) => unknown;
74
+ getHours: (date: unknown) => number;
75
+ setHours: (date: unknown, hours: number) => unknown;
76
+ getMinutes: (date: unknown) => number;
77
+ setMinutes: (date: unknown, minutes: number) => unknown;
78
+ };
79
+ };
80
+ goTo: import('vuetify').GoToInstance;
81
+ };
82
+ export default vuetify;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .ff-page-title,.ff-page-subtitle{display:flex;justify-content:space-between;align-items:center}.ff-page-title .v-btn,.ff-page-subtitle .v-btn{text-transform:unset;letter-spacing:.045em}#app{max-width:1280px;margin:0 auto;padding:2rem}
1
+ .ff-page-title,.ff-page-subtitle{display:flex;justify-content:space-between;align-items:center}.ff-page-title .v-btn,.ff-page-subtitle .v-btn{text-transform:unset;letter-spacing:.045em}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "alytus-ff",
3
3
  "private": false,
4
- "version": "0.1.18",
4
+ "version": "0.1.19",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -30,9 +30,12 @@
30
30
  "vue": "^3.3.11"
31
31
  },
32
32
  "peerDependencies": {
33
- "vue": "^3.0.0"
33
+ "vue": "^3.0.0",
34
+ "vuetify": "^3.0.0",
35
+ "@mdi/js": "^7.4.47"
34
36
  },
35
37
  "devDependencies": {
38
+ "@mdi/js": "^7.4.47",
36
39
  "@types/node": "^22.5.5",
37
40
  "@vitejs/plugin-vue": "^5.1.2",
38
41
  "path": "^0.12.7",
@@ -40,6 +43,7 @@
40
43
  "vite": "^5.4.1",
41
44
  "vite-plugin-dts": "^4.2.1",
42
45
  "vue-tsc": "^2.0.29",
43
- "vue": "^3.3.11"
46
+ "vue": "^3.3.11",
47
+ "vuetify": "^3.6.14"
44
48
  }
45
49
  }
@@ -0,0 +1,42 @@
1
+ <template>
2
+ <v-dialog :model-value="value" max-width="960" :persistent="persistent" :fullscreen="$vuetify.display.smAndDown" @update:modelValue="$emit('close')">
3
+ <slot name="card">
4
+ <v-card :title="title">
5
+ <v-card-text>
6
+ <slot></slot>
7
+ </v-card-text>
8
+ <v-card-actions v-if="!noFooter">
9
+ <slot name="left-footer"></slot>
10
+ <v-spacer></v-spacer>
11
+ <slot name="footer"></slot>
12
+ </v-card-actions>
13
+ </v-card>
14
+ </slot>
15
+ </v-dialog>
16
+ </template>
17
+
18
+ <script lang="ts">
19
+ import {defineComponent} from "vue";
20
+
21
+ export default defineComponent({
22
+ name: "CustomDialog",
23
+ props: {
24
+ value: {
25
+ type: Boolean,
26
+ required: true
27
+ },
28
+ title: {
29
+ type: String,
30
+ default: null
31
+ },
32
+ persistent: {
33
+ type: Boolean,
34
+ default: false
35
+ },
36
+ noFooter: {
37
+ type: Boolean,
38
+ default: false
39
+ }
40
+ }
41
+ })
42
+ </script>