alytus-ff 0.1.23 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,12 +9,14 @@ docker-compose up
9
9
  # Publish new version
10
10
 
11
11
  ````commandline
12
- ? npm login
12
+ npm login
13
13
 
14
14
  npm version patch # Increment patch version (1.0.0 → 1.0.1)
15
15
  npm version minor # Increment minor version (1.0.0 → 1.1.0)
16
16
  npm version major # Increment major version (1.0.0 → 2.0.0)
17
17
 
18
+ docker exec -it alytusff_vue_1 npm run build
19
+
18
20
  npm publish
19
21
 
20
22
  git push && git push --tags
package/dist/App.vue.d.ts CHANGED
@@ -6,12 +6,22 @@ declare const _default: import('vue').DefineComponent<{}, {
6
6
  type: StringConstructor;
7
7
  required: true;
8
8
  };
9
+ firstPosition: {
10
+ type: BooleanConstructor;
11
+ default: boolean;
12
+ };
9
13
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
10
14
  subtitle: {
11
15
  type: StringConstructor;
12
16
  required: true;
13
17
  };
14
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
18
+ firstPosition: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ }>> & Readonly<{}>, {
23
+ firstPosition: boolean;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
15
25
  UserAvatar: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
16
26
  user: {
17
27
  type: import('vue').PropType<import('.').IUser>;
@@ -100,6 +110,14 @@ declare const _default: import('vue').DefineComponent<{}, {
100
110
  type: BooleanConstructor;
101
111
  default: boolean;
102
112
  };
113
+ noFullScreen: {
114
+ type: BooleanConstructor;
115
+ default: boolean;
116
+ };
117
+ fullHeight: {
118
+ type: BooleanConstructor;
119
+ default: boolean;
120
+ };
103
121
  }>, {}, {}, {}, {
104
122
  mdiClose(): string;
105
123
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
@@ -119,10 +137,20 @@ declare const _default: import('vue').DefineComponent<{}, {
119
137
  type: BooleanConstructor;
120
138
  default: boolean;
121
139
  };
140
+ noFullScreen: {
141
+ type: BooleanConstructor;
142
+ default: boolean;
143
+ };
144
+ fullHeight: {
145
+ type: BooleanConstructor;
146
+ default: boolean;
147
+ };
122
148
  }>> & Readonly<{}>, {
123
149
  title: string;
124
150
  persistent: boolean;
125
151
  noFooter: boolean;
152
+ noFullScreen: boolean;
153
+ fullHeight: boolean;
126
154
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
127
155
  }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
128
156
  export default _default;
package/dist/alytus-ff.js CHANGED
@@ -1,5 +1,5 @@
1
- import { defineComponent as f, createElementBlock as $, openBlock as a, createElementVNode as c, createCommentVNode as b, toDisplayString as p, renderSlot as u, resolveComponent as r, createBlock as m, withCtx as l, createVNode as _, normalizeClass as y, createTextVNode as N, computed as S } from "vue";
2
- const U = f({
1
+ import { defineComponent as v, createElementBlock as g, openBlock as a, createElementVNode as c, createCommentVNode as y, toDisplayString as p, renderSlot as u, normalizeClass as f, resolveComponent as r, createBlock as m, withCtx as i, createVNode as _, createTextVNode as N, computed as z } from "vue";
2
+ const B = v({
3
3
  name: "PageTitle",
4
4
  props: {
5
5
  title: {
@@ -11,50 +11,56 @@ const U = f({
11
11
  default: null
12
12
  }
13
13
  }
14
- }), v = (e, t) => {
14
+ }), $ = (e, t) => {
15
15
  const o = e.__vccOpts || e;
16
16
  for (const [s, n] of t)
17
17
  o[s] = n;
18
18
  return o;
19
- }, q = { class: "mt-6 mb-3 ff-page-title" }, A = { class: "text-h5 ff-title" }, w = {
19
+ }, U = { class: "mt-6 mb-3 ff-page-title" }, q = { class: "text-h5 ff-title" }, A = {
20
20
  key: 0,
21
21
  class: "text-body-2 ff-description"
22
22
  };
23
- function B(e, t, o, s, n, i) {
24
- return a(), $("div", q, [
23
+ function w(e, t, o, s, n, l) {
24
+ return a(), g("div", U, [
25
25
  c("div", null, [
26
- c("span", A, p(e.title), 1),
27
- e.description ? (a(), $("div", w, p(e.description), 1)) : b("", !0)
26
+ c("span", q, p(e.title), 1),
27
+ e.description ? (a(), g("div", A, p(e.description), 1)) : y("", !0)
28
28
  ]),
29
29
  c("div", null, [
30
30
  u(e.$slots, "buttons")
31
31
  ])
32
32
  ]);
33
33
  }
34
- const Q = /* @__PURE__ */ v(U, [["render", B]]), T = f({
34
+ const K = /* @__PURE__ */ $(B, [["render", w]]), P = v({
35
35
  name: "PageSubtitle",
36
36
  props: {
37
37
  subtitle: {
38
38
  type: String,
39
39
  required: !0
40
+ },
41
+ firstPosition: {
42
+ type: Boolean,
43
+ default: !1
40
44
  }
41
45
  }
42
- }), D = { class: "mt-7 mb-4 ff-page-subtitle" }, V = { class: "text-h6 font-weight-bold" };
43
- function P(e, t, o, s, n, i) {
44
- return a(), $("div", D, [
45
- c("div", V, p(e.subtitle), 1),
46
+ }), T = { class: "text-h6 font-weight-bold" };
47
+ function D(e, t, o, s, n, l) {
48
+ return a(), g("div", {
49
+ class: f([e.firstPosition ? "mt-0" : "mt-7", "mb-4 ff-page-subtitle"])
50
+ }, [
51
+ c("div", T, p(e.subtitle), 1),
46
52
  c("div", null, [
47
53
  u(e.$slots, "buttons")
48
54
  ])
49
- ]);
55
+ ], 2);
50
56
  }
51
- const W = /* @__PURE__ */ v(T, [["render", P]]);
52
- var R = "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";
53
- const E = f({
57
+ const Q = /* @__PURE__ */ $(P, [["render", D]]);
58
+ var F = "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";
59
+ const O = v({
54
60
  name: "CustomDialog",
55
61
  methods: {
56
62
  mdiClose() {
57
- return R;
63
+ return F;
58
64
  }
59
65
  },
60
66
  props: {
@@ -73,55 +79,67 @@ const E = f({
73
79
  noFooter: {
74
80
  type: Boolean,
75
81
  default: !1
82
+ },
83
+ noFullScreen: {
84
+ type: Boolean,
85
+ default: !1
86
+ },
87
+ fullHeight: {
88
+ type: Boolean,
89
+ default: !1
76
90
  }
77
91
  }
78
- }), F = { class: "close-btn" };
79
- function I(e, t, o, s, n, i) {
80
- const d = r("v-btn"), g = r("v-card-text"), h = r("v-spacer"), C = r("v-card-actions"), k = r("v-card"), L = r("v-dialog");
81
- return a(), m(L, {
92
+ }), V = { class: "close-btn" };
93
+ function H(e, t, o, s, n, l) {
94
+ const d = r("v-btn"), h = r("v-card-text"), b = r("v-spacer"), C = r("v-card-actions"), S = r("v-card"), k = r("v-dialog");
95
+ return a(), m(k, {
82
96
  "model-value": e.value,
83
97
  "max-width": "960",
84
98
  persistent: e.persistent,
85
- fullscreen: e.$vuetify.display.smAndDown,
86
- class: "ff-dialog",
87
- "onUpdate:modelValue": t[1] || (t[1] = (z) => e.$emit("close"))
99
+ fullscreen: e.$vuetify.display.smAndDown && !e.noFullScreen,
100
+ class: f([e.fullHeight ? "ff-dialog" : "ff-dialog ff-full-height"]),
101
+ "content-class": e.fullHeight ? "ff-full-height" : "",
102
+ "onUpdate:modelValue": t[1] || (t[1] = (L) => e.$emit("close"))
88
103
  }, {
89
- default: l(() => [
104
+ default: i(() => [
90
105
  u(e.$slots, "card", {}, () => [
91
- _(k, { title: e.title }, {
92
- append: l(() => [
93
- c("div", F, [
106
+ _(S, {
107
+ title: e.title,
108
+ class: f(e.fullHeight ? "ff-full-height" : "")
109
+ }, {
110
+ append: i(() => [
111
+ c("div", V, [
94
112
  _(d, {
95
113
  variant: "text",
96
114
  icon: e.mdiClose(),
97
- onClick: t[0] || (t[0] = (z) => e.$emit("close"))
115
+ onClick: t[0] || (t[0] = (L) => e.$emit("close"))
98
116
  }, null, 8, ["icon"])
99
117
  ])
100
118
  ]),
101
- default: l(() => [
102
- _(g, null, {
103
- default: l(() => [
119
+ default: i(() => [
120
+ _(h, null, {
121
+ default: i(() => [
104
122
  u(e.$slots, "default")
105
123
  ]),
106
124
  _: 3
107
125
  }),
108
- e.noFooter ? b("", !0) : (a(), m(C, { key: 0 }, {
109
- default: l(() => [
126
+ e.noFooter ? y("", !0) : (a(), m(C, { key: 0 }, {
127
+ default: i(() => [
110
128
  u(e.$slots, "left-footer"),
111
- _(h),
129
+ _(b),
112
130
  u(e.$slots, "footer")
113
131
  ]),
114
132
  _: 3
115
133
  }))
116
134
  ]),
117
135
  _: 3
118
- }, 8, ["title"])
136
+ }, 8, ["title", "class"])
119
137
  ])
120
138
  ]),
121
139
  _: 3
122
- }, 8, ["model-value", "persistent", "fullscreen"]);
140
+ }, 8, ["model-value", "persistent", "fullscreen", "class", "content-class"]);
123
141
  }
124
- const X = /* @__PURE__ */ v(E, [["render", I]]), O = f({
142
+ const W = /* @__PURE__ */ $(O, [["render", H]]), R = v({
125
143
  name: "AccountAvatar",
126
144
  props: {
127
145
  item: {
@@ -134,19 +152,19 @@ const X = /* @__PURE__ */ v(E, [["render", I]]), O = f({
134
152
  }
135
153
  }
136
154
  });
137
- function M(e, t, o, s, n, i) {
155
+ function E(e, t, o, s, n, l) {
138
156
  const d = r("v-avatar");
139
157
  return a(), m(d, {
140
- class: y(`ff-avatar avatar-${e.size}-${e.item.initials.length >= 3 ? "l" : "s"}`),
158
+ class: f(`ff-avatar avatar-${e.size}-${e.item.initials.length >= 3 ? "l" : "s"}`),
141
159
  size: e.size
142
160
  }, {
143
- default: l(() => [
161
+ default: i(() => [
144
162
  N(p(e.item.initials), 1)
145
163
  ]),
146
164
  _: 1
147
165
  }, 8, ["class", "size"]);
148
166
  }
149
- const Y = /* @__PURE__ */ v(O, [["render", M]]), Z = (e) => e.surname ? `${e.name} ${e.surname}` : e.name, G = f({
167
+ const X = /* @__PURE__ */ $(R, [["render", E]]), I = (e) => e.surname ? `${e.name} ${e.surname}` : e.name, J = v({
150
168
  name: "UserAvatar",
151
169
  props: {
152
170
  user: {
@@ -163,41 +181,42 @@ const Y = /* @__PURE__ */ v(O, [["render", M]]), Z = (e) => e.surname ? `${e.nam
163
181
  }
164
182
  },
165
183
  setup(e) {
166
- return { fullName: S(() => Z(e.user)) };
184
+ return { fullName: z(() => I(e.user)) };
167
185
  }
168
- }), H = { key: 1 };
169
- function J(e, t, o, s, n, i) {
170
- const d = r("v-img"), g = r("v-avatar");
171
- return a(), m(g, {
186
+ }), M = { key: 1 };
187
+ function Z(e, t, o, s, n, l) {
188
+ const d = r("v-img"), h = r("v-avatar");
189
+ return a(), m(h, {
172
190
  color: e.user.avatar_thumb ? "light_grey_bg" : e.user.color ?? "primary",
173
- class: y(`avatar-${e.size}-${e.user.initials.length >= 3 ? "l" : "s"}`),
191
+ class: f(`avatar-${e.size}-${e.user.initials.length >= 3 ? "l" : "s"}`),
174
192
  size: e.size
175
193
  }, {
176
- default: l(() => [
194
+ default: i(() => [
177
195
  e.user.avatar_thumb ? (a(), m(d, {
178
196
  key: 0,
179
197
  alt: e.fullName,
180
198
  src: `${e.baseUrl}/${e.user.avatar_thumb}`
181
- }, null, 8, ["alt", "src"])) : (a(), $("span", H, p(e.user.initials), 1))
199
+ }, null, 8, ["alt", "src"])) : (a(), g("span", M, p(e.user.initials), 1))
182
200
  ]),
183
201
  _: 1
184
202
  }, 8, ["color", "class", "size"]);
185
203
  }
186
- const j = /* @__PURE__ */ v(G, [["render", J]]), x = (e) => e ? e.replace(/(?:\r\n|\r|\n)/g, "<br>") : "", ee = (e) => {
204
+ const Y = /* @__PURE__ */ $(J, [["render", Z]]), j = (e) => e ? e.replace(/(?:\r\n|\r|\n)/g, "<br>") : "", x = (e) => JSON.parse(JSON.stringify(e)), ee = (e) => {
187
205
  let t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
188
206
  return t ? decodeURIComponent(t[3]) : null;
189
207
  }, te = (e, t, o, s) => {
190
- let n, i;
191
- return s == null && (s = "/"), 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=" + s, !0;
208
+ let n, l;
209
+ return s == null && (s = "/"), l = "", o && (n = /* @__PURE__ */ new Date(), n.setTime(n.getTime() + o * 24 * 60 * 60 * 1e3), l = "; expires=" + n.toUTCString()), document.cookie = encodeURIComponent(e) + "=" + encodeURIComponent(t) + l + "; path=" + s, !0;
192
210
  };
193
211
  export {
194
- Y as AccountAvatar,
195
- X as CustomDialog,
196
- W as PageSubtitle,
197
- Q as PageTitle,
198
- j as UserAvatar,
199
- Z as formatFullName,
212
+ X as AccountAvatar,
213
+ W as CustomDialog,
214
+ Q as PageSubtitle,
215
+ K as PageTitle,
216
+ Y as UserAvatar,
217
+ x as deepClone,
218
+ I as formatFullName,
200
219
  ee as getCookie,
201
- x as nl2br,
220
+ j as nl2br,
202
221
  te as setCookie
203
222
  };
@@ -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 m=e.defineComponent({name:"PageTitle",props:{title:{type:String,required:!0},description:{type:String,default:null}}}),i=(t,o)=>{const s=t.__vccOpts||t;for(const[l,r]of o)s[l]=r;return s},f={class:"mt-6 mb-3 ff-page-title"},u={class:"text-h5 ff-title"},_={key:0,class:"text-body-2 ff-description"};function $(t,o,s,l,r,a){return e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",null,[e.createElementVNode("span",u,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",_,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.renderSlot(t.$slots,"buttons")])])}const g=i(m,[["render",$]]),C=e.defineComponent({name:"PageSubtitle",props:{subtitle:{type:String,required:!0}}}),y={class:"mt-7 mb-4 ff-page-subtitle"},h={class:"text-h6 font-weight-bold"};function k(t,o,s,l,r,a){return e.openBlock(),e.createElementBlock("div",y,[e.createElementVNode("div",h,e.toDisplayString(t.subtitle),1),e.createElementVNode("div",null,[e.renderSlot(t.$slots,"buttons")])])}const b=i(C,[["render",k]]);var S="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";const B=e.defineComponent({name:"CustomDialog",methods:{mdiClose(){return S}},props:{value:{type:Boolean,required:!0},title:{type:String,default:null},persistent:{type:Boolean,default:!1},noFooter:{type:Boolean,default:!1}}}),N={class:"close-btn"};function V(t,o,s,l,r,a){const c=e.resolveComponent("v-btn"),d=e.resolveComponent("v-card-text"),O=e.resolveComponent("v-spacer"),R=e.resolveComponent("v-card-actions"),I=e.resolveComponent("v-card"),M=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(M,{"model-value":t.value,"max-width":"960",persistent:t.persistent,fullscreen:t.$vuetify.display.smAndDown,class:"ff-dialog","onUpdate:modelValue":o[1]||(o[1]=j=>t.$emit("close"))},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"card",{},()=>[e.createVNode(I,{title:t.title},{append:e.withCtx(()=>[e.createElementVNode("div",N,[e.createVNode(c,{variant:"text",icon:t.mdiClose(),onClick:o[0]||(o[0]=j=>t.$emit("close"))},null,8,["icon"])])]),default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3}),t.noFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(R,{key:0},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"left-footer"),e.createVNode(O),e.renderSlot(t.$slots,"footer")]),_:3}))]),_:3},8,["title"])])]),_:3},8,["model-value","persistent","fullscreen"])}const w=i(B,[["render",V]]),z=e.defineComponent({name:"AccountAvatar",props:{item:{type:Object,required:!0},size:{type:Number,default:32}}});function L(t,o,s,l,r,a){const c=e.resolveComponent("v-avatar");return e.openBlock(),e.createBlock(c,{class:e.normalizeClass(`ff-avatar avatar-${t.size}-${t.item.initials.length>=3?"l":"s"}`),size:t.size},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.item.initials),1)]),_:1},8,["class","size"])}const A=i(z,[["render",L]]),p=t=>t.surname?`${t.name} ${t.surname}`:t.name,E=e.defineComponent({name:"UserAvatar",props:{user:{type:Object,required:!0},size:{type:Number,required:!0},baseUrl:{type:String,required:!0}},setup(t){return{fullName:e.computed(()=>p(t.user))}}}),D={key:1};function T(t,o,s,l,r,a){const c=e.resolveComponent("v-img"),d=e.resolveComponent("v-avatar");return e.openBlock(),e.createBlock(d,{color:t.user.avatar_thumb?"light_grey_bg":t.user.color??"primary",class:e.normalizeClass(`avatar-${t.size}-${t.user.initials.length>=3?"l":"s"}`),size:t.size},{default:e.withCtx(()=>[t.user.avatar_thumb?(e.openBlock(),e.createBlock(c,{key:0,alt:t.fullName,src:`${t.baseUrl}/${t.user.avatar_thumb}`},null,8,["alt","src"])):(e.openBlock(),e.createElementBlock("span",D,e.toDisplayString(t.user.initials),1))]),_:1},8,["color","class","size"])}const U=i(E,[["render",T]]),q=t=>t?t.replace(/(?:\r\n|\r|\n)/g,"<br>"):"",P=t=>{let o=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return o?decodeURIComponent(o[3]):null},F=(t,o,s,l)=>{let r,a;return l==null&&(l="/"),a="",s&&(r=new Date,r.setTime(r.getTime()+s*24*60*60*1e3),a="; expires="+r.toUTCString()),document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(o)+a+"; path="+l,!0};n.AccountAvatar=A,n.CustomDialog=w,n.PageSubtitle=b,n.PageTitle=g,n.UserAvatar=U,n.formatFullName=p,n.getCookie=P,n.nl2br=q,n.setCookie=F,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 m=e.defineComponent({name:"PageTitle",props:{title:{type:String,required:!0},description:{type:String,default:null}}}),i=(t,n)=>{const s=t.__vccOpts||t;for(const[r,l]of n)s[r]=l;return s},f={class:"mt-6 mb-3 ff-page-title"},u={class:"text-h5 ff-title"},$={key:0,class:"text-body-2 ff-description"};function g(t,n,s,r,l,a){return e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",null,[e.createElementVNode("span",u,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",$,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.renderSlot(t.$slots,"buttons")])])}const C=i(m,[["render",g]]),_=e.defineComponent({name:"PageSubtitle",props:{subtitle:{type:String,required:!0},firstPosition:{type:Boolean,default:!1}}}),h={class:"text-h6 font-weight-bold"};function y(t,n,s,r,l,a){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.firstPosition?"mt-0":"mt-7","mb-4 ff-page-subtitle"])},[e.createElementVNode("div",h,e.toDisplayString(t.subtitle),1),e.createElementVNode("div",null,[e.renderSlot(t.$slots,"buttons")])],2)}const k=i(_,[["render",y]]);var b="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";const S=e.defineComponent({name:"CustomDialog",methods:{mdiClose(){return b}},props:{value:{type:Boolean,required:!0},title:{type:String,default:null},persistent:{type:Boolean,default:!1},noFooter:{type:Boolean,default:!1},noFullScreen:{type:Boolean,default:!1},fullHeight:{type:Boolean,default:!1}}}),B={class:"close-btn"};function N(t,n,s,r,l,a){const c=e.resolveComponent("v-btn"),d=e.resolveComponent("v-card-text"),O=e.resolveComponent("v-spacer"),H=e.resolveComponent("v-card-actions"),R=e.resolveComponent("v-card"),I=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(I,{"model-value":t.value,"max-width":"960",persistent:t.persistent,fullscreen:t.$vuetify.display.smAndDown&&!t.noFullScreen,class:e.normalizeClass([t.fullHeight?"ff-dialog":"ff-dialog ff-full-height"]),"content-class":t.fullHeight?"ff-full-height":"","onUpdate:modelValue":n[1]||(n[1]=J=>t.$emit("close"))},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"card",{},()=>[e.createVNode(R,{title:t.title,class:e.normalizeClass(t.fullHeight?"ff-full-height":"")},{append:e.withCtx(()=>[e.createElementVNode("div",B,[e.createVNode(c,{variant:"text",icon:t.mdiClose(),onClick:n[0]||(n[0]=J=>t.$emit("close"))},null,8,["icon"])])]),default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3}),t.noFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(H,{key:0},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"left-footer"),e.createVNode(O),e.renderSlot(t.$slots,"footer")]),_:3}))]),_:3},8,["title","class"])])]),_:3},8,["model-value","persistent","fullscreen","class","content-class"])}const z=i(S,[["render",N]]),V=e.defineComponent({name:"AccountAvatar",props:{item:{type:Object,required:!0},size:{type:Number,default:32}}});function w(t,n,s,r,l,a){const c=e.resolveComponent("v-avatar");return e.openBlock(),e.createBlock(c,{class:e.normalizeClass(`ff-avatar avatar-${t.size}-${t.item.initials.length>=3?"l":"s"}`),size:t.size},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.item.initials),1)]),_:1},8,["class","size"])}const L=i(V,[["render",w]]),p=t=>t.surname?`${t.name} ${t.surname}`:t.name,A=e.defineComponent({name:"UserAvatar",props:{user:{type:Object,required:!0},size:{type:Number,required:!0},baseUrl:{type:String,required:!0}},setup(t){return{fullName:e.computed(()=>p(t.user))}}}),E={key:1};function D(t,n,s,r,l,a){const c=e.resolveComponent("v-img"),d=e.resolveComponent("v-avatar");return e.openBlock(),e.createBlock(d,{color:t.user.avatar_thumb?"light_grey_bg":t.user.color??"primary",class:e.normalizeClass(`avatar-${t.size}-${t.user.initials.length>=3?"l":"s"}`),size:t.size},{default:e.withCtx(()=>[t.user.avatar_thumb?(e.openBlock(),e.createBlock(c,{key:0,alt:t.fullName,src:`${t.baseUrl}/${t.user.avatar_thumb}`},null,8,["alt","src"])):(e.openBlock(),e.createElementBlock("span",E,e.toDisplayString(t.user.initials),1))]),_:1},8,["color","class","size"])}const T=i(A,[["render",D]]),U=t=>t?t.replace(/(?:\r\n|\r|\n)/g,"<br>"):"",P=t=>JSON.parse(JSON.stringify(t)),q=t=>{let n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},F=(t,n,s,r)=>{let l,a;return r==null&&(r="/"),a="",s&&(l=new Date,l.setTime(l.getTime()+s*24*60*60*1e3),a="; expires="+l.toUTCString()),document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(n)+a+"; path="+r,!0};o.AccountAvatar=L,o.CustomDialog=z,o.PageSubtitle=k,o.PageTitle=C,o.UserAvatar=T,o.deepClone=P,o.formatFullName=p,o.getCookie=q,o.nl2br=U,o.setCookie=F,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
@@ -15,6 +15,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
15
15
  type: BooleanConstructor;
16
16
  default: boolean;
17
17
  };
18
+ noFullScreen: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ fullHeight: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
18
26
  }>, {}, {}, {}, {
19
27
  mdiClose(): string;
20
28
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
@@ -34,9 +42,19 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
34
42
  type: BooleanConstructor;
35
43
  default: boolean;
36
44
  };
45
+ noFullScreen: {
46
+ type: BooleanConstructor;
47
+ default: boolean;
48
+ };
49
+ fullHeight: {
50
+ type: BooleanConstructor;
51
+ default: boolean;
52
+ };
37
53
  }>> & Readonly<{}>, {
38
54
  title: string;
39
55
  persistent: boolean;
40
56
  noFooter: boolean;
57
+ noFullScreen: boolean;
58
+ fullHeight: boolean;
41
59
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
42
60
  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
+ firstPosition: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
6
10
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
7
11
  subtitle: {
8
12
  type: StringConstructor;
9
13
  required: true;
10
14
  };
11
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
15
+ firstPosition: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
19
+ }>> & Readonly<{}>, {
20
+ firstPosition: boolean;
21
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
12
22
  export default _default;
package/dist/index.d.ts CHANGED
@@ -4,9 +4,10 @@ import { default as CustomDialog } from './components/Dialog/CustomDialog.vue';
4
4
  import { default as AccountAvatar } from './components/Avatar/AccountAvatar.vue';
5
5
  import { default as UserAvatar } from './components/Avatar/UserAvatar.vue';
6
6
  import { nl2br } from './utils/HtmlUtil.ts';
7
+ import { deepClone } from './utils/ObjectUtil.ts';
7
8
  import { getCookie, setCookie } from './utils/CookieUtil.ts';
8
9
  import { formatFullName } from './utils/StringUtil.ts';
9
10
  import { NameValuePair } from './types/Base.ts';
10
11
  import { IAccount } from './types/Account.ts';
11
12
  import { IUser } from './types/User.ts';
12
- export { PageTitle, PageSubtitle, CustomDialog, AccountAvatar, UserAvatar, nl2br, getCookie, setCookie, formatFullName, NameValuePair, IAccount, IUser };
13
+ export { PageTitle, PageSubtitle, CustomDialog, AccountAvatar, UserAvatar, nl2br, deepClone, getCookie, setCookie, formatFullName, NameValuePair, IAccount, IUser };
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}.ff-dialog.v-dialog .close-btn{margin-right:-4px}@media screen and (min-width: 600px){.ff-dialog.v-dialog .close-btn{margin-right:-12px}}.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-item{padding-left:16px;padding-right:16px}@media screen and (min-width: 600px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-item{padding-left:24px;padding-right:24px}}@media screen and (min-width: 960px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-item{padding-left:36px;padding-right:36px}}.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-text{padding-left:16px;padding-right:16px}@media screen and (min-width: 600px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-text{padding-left:24px;padding-right:24px}}@media screen and (min-width: 960px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-text{padding-left:36px;padding-right:36px}}.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-actions{padding:12px 16px 16px}@media screen and (min-width: 600px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-actions{padding-left:24px;padding-right:24px}}@media screen and (min-width: 960px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-actions{padding-left:36px;padding-right:36px}}.ff-avatar{background:linear-gradient(180deg,#3c3c3c,#4f4f4f 25%,#787878)!important;color:#fff!important}.avatar-96-s{font-size:32px!important;font-weight:500!important}.avatar-96-l{font-size:26px!important;font-weight:500!important}.avatar-32-s{font-size:14px!important;font-weight:500!important;line-height:normal!important;letter-spacing:1px}.avatar-32-l{font-size:11px!important;font-weight:500!important;line-height:normal!important;letter-spacing:1px}
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}.ff-dialog.v-dialog .close-btn{margin-right:-4px}@media screen and (min-width: 600px){.ff-dialog.v-dialog .close-btn{margin-right:-12px}}.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-item{padding-left:16px;padding-right:16px}@media screen and (min-width: 600px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-item{padding-left:24px;padding-right:24px}}@media screen and (min-width: 960px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-item{padding-left:36px;padding-right:36px}}.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-text{padding-left:16px;padding-right:16px}@media screen and (min-width: 600px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-text{padding-left:24px;padding-right:24px}}@media screen and (min-width: 960px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-text{padding-left:36px;padding-right:36px}}.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-actions{padding:12px 16px 16px}@media screen and (min-width: 600px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-actions{padding-left:24px;padding-right:24px}}@media screen and (min-width: 960px){.ff-dialog.v-dialog>.v-overlay__content>.v-card>.v-card-actions{padding-left:36px;padding-right:36px}}.ff-full-height{height:100%}.ff-avatar{background:linear-gradient(180deg,#3c3c3c,#4f4f4f 25%,#787878)!important;color:#fff!important}.avatar-96-s{font-size:32px!important;font-weight:500!important}.avatar-96-l{font-size:26px!important;font-weight:500!important}.avatar-32-s{font-size:14px!important;font-weight:500!important;line-height:normal!important;letter-spacing:1px}.avatar-32-l{font-size:11px!important;font-weight:500!important;line-height:normal!important;letter-spacing:1px}
@@ -0,0 +1 @@
1
+ export declare const deepClone: <T>(o: T) => T;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "alytus-ff",
3
3
  "private": false,
4
- "version": "0.1.23",
4
+ "version": "0.1.25",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -3,7 +3,7 @@
3
3
  :model-value="value"
4
4
  max-width="960"
5
5
  :persistent="persistent"
6
- :fullscreen="$vuetify.display.smAndDown"
6
+ :fullscreen="$vuetify.display.smAndDown && !noFullScreen"
7
7
  :class="[fullHeight ? 'ff-dialog' : 'ff-dialog ff-full-height']"
8
8
  :content-class="fullHeight ? 'ff-full-height' : ''"
9
9
  @update:modelValue="$emit('close')"
@@ -56,6 +56,10 @@ export default defineComponent({
56
56
  type: Boolean,
57
57
  default: false
58
58
  },
59
+ noFullScreen: {
60
+ type: Boolean,
61
+ default: false
62
+ },
59
63
  fullHeight: {
60
64
  type: Boolean,
61
65
  default: false
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="mt-7 mb-4 ff-page-subtitle">
2
+ <div :class="[firstPosition ? 'mt-0' : 'mt-7', 'mb-4 ff-page-subtitle']">
3
3
  <div class="text-h6 font-weight-bold">{{ subtitle }}</div>
4
4
  <div><slot name="buttons"></slot></div>
5
5
  </div>
@@ -14,6 +14,10 @@ export default defineComponent({
14
14
  subtitle: {
15
15
  type: String,
16
16
  required: true
17
+ },
18
+ firstPosition: {
19
+ type: Boolean,
20
+ default: false
17
21
  }
18
22
  }
19
23
  })