alytus-ff 0.1.17 → 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,58 +1,116 @@
1
- import { defineComponent as c, openBlock as i, createElementBlock as l, toDisplayString as s, createElementVNode as u, renderSlot as d } from "vue";
2
- const _ = c({
3
- name: "WelcomeText",
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
+ name: "PageTitle",
4
4
  props: {
5
- fullName: {
5
+ title: {
6
6
  type: String,
7
7
  required: !0
8
8
  },
9
- no: {
10
- type: Number,
11
- default: 0
9
+ description: {
10
+ type: String,
11
+ default: null
12
12
  }
13
13
  }
14
- }), a = (e, n) => {
15
- const t = e.__vccOpts || e;
16
- for (const [r, o] of n)
17
- t[r] = o;
18
- return t;
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
+ key: 0,
21
+ class: "text-body-2 ff-description"
19
22
  };
20
- function f(e, n, t, r, o, p) {
21
- return i(), l("h1", null, "Welcome, " + s(e.fullName) + " " + s(e.no), 1);
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
+ ]),
29
+ d("div", null, [
30
+ i(e.$slots, "buttons")
31
+ ])
32
+ ]);
22
33
  }
23
- const x = /* @__PURE__ */ a(_, [["render", f], ["__scopeId", "data-v-34d102f4"]]), m = c({
24
- name: "PageTitle",
34
+ const I = /* @__PURE__ */ _(k, [["render", D]]), T = m({
35
+ name: "PageSubtitle",
25
36
  props: {
26
- title: {
37
+ subtitle: {
27
38
  type: String,
28
39
  required: !0
29
40
  }
30
41
  }
31
- }), $ = { class: "mt-6 mb-3 ff-page-title" }, g = { class: "text-h5 font-weight-bold" };
32
- function b(e, n, t, r, o, p) {
33
- return i(), l("div", $, [
34
- u("span", g, s(e.title), 1),
35
- u("div", null, [
36
- d(e.$slots, "buttons")
37
- ])
38
- ]);
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);
39
45
  }
40
- const N = /* @__PURE__ */ a(m, [["render", b]]), h = c({
41
- name: "PageSubtitle",
46
+ const N = /* @__PURE__ */ _(T, [["render", P]]), R = m({
47
+ name: "CustomDialog",
42
48
  props: {
43
- subtitle: {
44
- type: String,
49
+ value: {
50
+ type: Boolean,
45
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
46
64
  }
47
65
  }
48
- }), S = { class: "text-h6 font-weight-bold mt-7 mb-4" };
49
- function v(e, n, t, r, o, p) {
50
- return i(), l("div", S, s(e.subtitle), 1);
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"]);
51
101
  }
52
- const P = /* @__PURE__ */ a(h, [["render", v]]), T = (e) => e ? e.replace(/(?:\r\n|\r|\n)/g, "<br>") : "";
102
+ const F = /* @__PURE__ */ _(R, [["render", V]]), A = (e) => e ? e.replace(/(?:\r\n|\r|\n)/g, "<br>") : "", O = (e) => {
103
+ let t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
104
+ return t ? decodeURIComponent(t[3]) : null;
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;
108
+ };
53
109
  export {
54
- P as PageSubtitle,
55
- N as PageTitle,
56
- x as WelcomeText,
57
- T as nl2br
110
+ F as CustomDialog,
111
+ N as PageSubtitle,
112
+ I as PageTitle,
113
+ O as getCookie,
114
+ A as nl2br,
115
+ j as setCookie
58
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 a=e.defineComponent({name:"WelcomeText",props:{fullName:{type:String,required:!0},no:{type:Number,default:0}}}),l=(t,r)=>{const o=t.__vccOpts||t;for(const[i,s]of r)o[i]=s;return o};function p(t,r,o,i,s,c){return e.openBlock(),e.createElementBlock("h1",null,"Welcome, "+e.toDisplayString(t.fullName)+" "+e.toDisplayString(t.no),1)}const d=l(a,[["render",p],["__scopeId","data-v-34d102f4"]]),f=e.defineComponent({name:"PageTitle",props:{title:{type:String,required:!0}}}),u={class:"mt-6 mb-3 ff-page-title"},m={class:"text-h5 font-weight-bold"};function _(t,r,o,i,s,c){return e.openBlock(),e.createElementBlock("div",u,[e.createElementVNode("span",m,e.toDisplayString(t.title),1),e.createElementVNode("div",null,[e.renderSlot(t.$slots,"buttons")])])}const g=l(f,[["render",_]]),$=e.defineComponent({name:"PageSubtitle",props:{subtitle:{type:String,required:!0}}}),b={class:"text-h6 font-weight-bold mt-7 mb-4"};function h(t,r,o,i,s,c){return e.openBlock(),e.createElementBlock("div",b,e.toDisplayString(t.subtitle),1)}const y=l($,[["render",h]]),S=t=>t?t.replace(/(?:\r\n|\r|\n)/g,"<br>"):"";n.PageSubtitle=y,n.PageTitle=g,n.WelcomeText=d,n.nl2br=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;
@@ -3,10 +3,20 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
3
3
  type: StringConstructor;
4
4
  required: true;
5
5
  };
6
+ description: {
7
+ type: StringConstructor;
8
+ default: null;
9
+ };
6
10
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
7
11
  title: {
8
12
  type: StringConstructor;
9
13
  required: true;
10
14
  };
11
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
15
+ description: {
16
+ type: StringConstructor;
17
+ default: null;
18
+ };
19
+ }>> & Readonly<{}>, {
20
+ description: string;
21
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
12
22
  export default _default;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { default as WelcomeText } from './components/WelcomeText.vue';
2
1
  import { default as PageTitle } from './components/Page/PageTitle.vue';
3
2
  import { default as PageSubtitle } from './components/Page/PageSubtitle.vue';
4
- import { nl2br } from './utils/HtmlUtils.ts';
3
+ import { default as CustomDialog } from './components/Dialog/CustomDialog.vue';
4
+ import { nl2br } from './utils/HtmlUtil.ts';
5
+ import { getCookie, setCookie } from './utils/CookieUtil.ts';
5
6
  import { NameValuePair } from './types/Base.ts';
6
- export { WelcomeText, PageTitle, PageSubtitle, nl2br, 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}h1[data-v-34d102f4]{color:#f354f2}
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}
@@ -0,0 +1,2 @@
1
+ export declare const getCookie: (name: string) => string | null;
2
+ export declare const setCookie: (name: string, value: string, days: number, path: string | null) => boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "alytus-ff",
3
3
  "private": false,
4
- "version": "0.1.17",
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>
@@ -1,6 +1,9 @@
1
1
  <template>
2
2
  <div class="mt-6 mb-3 ff-page-title">
3
- <span class="text-h5 font-weight-bold">{{ title }}</span>
3
+ <div>
4
+ <span class="text-h5 ff-title">{{ title }}</span>
5
+ <div v-if="description" class="text-body-2 ff-description">{{description}}</div>
6
+ </div>
4
7
  <div><slot name="buttons"></slot></div>
5
8
  </div>
6
9
  </template>
@@ -14,6 +17,10 @@ export default defineComponent({
14
17
  title: {
15
18
  type: String,
16
19
  required: true
20
+ },
21
+ description: {
22
+ type: String,
23
+ default: null
17
24
  }
18
25
  }
19
26
  })
@@ -1,22 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- fullName: {
3
- type: StringConstructor;
4
- required: true;
5
- };
6
- no: {
7
- type: NumberConstructor;
8
- default: number;
9
- };
10
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
11
- fullName: {
12
- type: StringConstructor;
13
- required: true;
14
- };
15
- no: {
16
- type: NumberConstructor;
17
- default: number;
18
- };
19
- }>> & Readonly<{}>, {
20
- no: number;
21
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
22
- export default _default;
@@ -1,27 +0,0 @@
1
- <template>
2
- <h1>Welcome, {{fullName}} {{no}}</h1>
3
- </template>
4
-
5
- <script lang="ts">
6
- import {defineComponent} from "vue";
7
-
8
- export default defineComponent({
9
- name: "WelcomeText",
10
- props: {
11
- fullName: {
12
- type: String,
13
- required: true
14
- },
15
- no: {
16
- type: Number,
17
- default: 0
18
- }
19
- }
20
- })
21
- </script>
22
-
23
- <style lang="scss" scoped>
24
- h1 {
25
- color: #f354f2;
26
- }
27
- </style>
File without changes