@skyservice-developers/vue-dev-kit 2.5.7 → 2.6.0

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
@@ -101,6 +101,10 @@ const tradepoints = await api.getTradepoints()
101
101
  const categories = await api.getCategoryTree(tradepointId)
102
102
  const products = await api.getProducts({ tradepointId })
103
103
 
104
+ // Права доступу
105
+ const canInventory = await api.getPerms('204') // → boolean
106
+ const allPerms = await api.getPerms() // → PermsMap { '204': true, ... }
107
+
104
108
  // Активація/деактивація міні-додатку
105
109
  await api.setAppActive({ isActive: true, title: 'Glovo', settings: { foo: 'bar' } })
106
110
  await api.setAppActive({ isActive: false, title: 'Glovo' })
@@ -111,6 +115,22 @@ await api.setAppActive({ isActive: false, title: 'Glovo' })
111
115
  > `deploymentId` + `appName` задані в конфізі — додатково шле `sendActiveApp`
112
116
  > postMessage в parent (Dashboard) з відповіддю сервера та новим станом.
113
117
 
118
+ #### Права доступу — `getPerms`
119
+
120
+ Повертає права поточного користувача. Джерело за пріоритетом:
121
+
122
+ 1. **Стор Dashboard** через iframe bridge (`store.perms`) — миттєво, без токена, працює всередині iframe;
123
+ 2. **HTTP fallback** `section=adminPanel&action=getStart` → `data.settings.perms` — поза iframe (standalone-сторінка, Node) або поки стор ще порожній.
124
+
125
+ ```ts
126
+ await api.getPerms('9006') // → boolean — чи надано право 9006
127
+ await api.getPerms() // → PermsMap: { '9006': true, '100': false, ... }
128
+ api.clearPermsCache() // скинути кеш (наступний getPerms перезапросить джерело)
129
+ ```
130
+
131
+ > Результат кешується на інстансі — повторні виклики не роблять зайвих запитів/postMessage.
132
+ > Значення нормалізуються в `boolean` (бек може віддавати `0/1`); відсутній код → `false`.
133
+
114
134
  ### Webview detection
115
135
 
116
136
  ```ts
@@ -841,7 +861,7 @@ src/
841
861
  │ ├── bridge.ts # iframe postMessage API
842
862
  │ ├── api.ts # SkyserviceAPI HTTP клієнт
843
863
  │ ├── webview.ts # детекція webview/iframe
844
- │ ├── types.ts # DTO типи (Tradepoint, Category, Product, AppIntegration)
864
+ │ ├── types.ts # DTO типи (Tradepoint, Category, Product, AppIntegration, PermsMap)
845
865
  │ └── index.ts
846
866
  └── styles/
847
867
  ```
@@ -1,142 +1,142 @@
1
- import S from "ua-parser-js";
2
- const l = "DASHBOARD", b = 5e3;
3
- let k = 0, u = null;
1
+ import b from "ua-parser-js";
2
+ const h = "DASHBOARD", k = 5e3;
3
+ let P = 0, u = null;
4
4
  function A() {
5
- return `sdk_${Date.now()}_${++k}`;
5
+ return `sdk_${Date.now()}_${++P}`;
6
6
  }
7
- function E() {
7
+ function C() {
8
8
  return "APP_" + Math.random().toString(36).slice(2, 10);
9
9
  }
10
- function N(t) {
10
+ function R(t) {
11
11
  u = t;
12
12
  }
13
- function g() {
14
- return u || (u = E()), u;
13
+ function m() {
14
+ return u || (u = C()), u;
15
15
  }
16
- function s(t) {
16
+ function o(t) {
17
17
  window.parent.postMessage(
18
18
  {
19
19
  ...t,
20
- sender: g(),
21
- target: t.target || l
20
+ sender: m(),
21
+ target: t.target || h
22
22
  },
23
23
  "*"
24
24
  );
25
25
  }
26
- function w(t, e, r = b) {
27
- return h() ? new Promise((n) => {
28
- const i = A(), a = g(), o = setTimeout(() => {
26
+ function w(t, e, r = k) {
27
+ return y() ? new Promise((n) => {
28
+ const a = A(), i = m(), s = setTimeout(() => {
29
29
  window.removeEventListener("message", d), n(null);
30
30
  }, r);
31
- function d(I) {
32
- const c = I.data;
33
- (c == null ? void 0 : c.type) === "DATA_RESPONSE" && (c == null ? void 0 : c.requestId) === i && (!c.target || c.target === a) && (clearTimeout(o), window.removeEventListener("message", d), n(c.data ?? null));
31
+ function d(S) {
32
+ const c = S.data;
33
+ (c == null ? void 0 : c.type) === "DATA_RESPONSE" && (c == null ? void 0 : c.requestId) === a && (!c.target || c.target === i) && (clearTimeout(s), window.removeEventListener("message", d), n(c.data ?? null));
34
34
  }
35
- window.addEventListener("message", d), s({ type: "DATA_REQUEST", requestId: i, source: t, key: e });
35
+ window.addEventListener("message", d), o({ type: "DATA_REQUEST", requestId: a, source: t, key: e });
36
36
  }) : Promise.resolve(null);
37
37
  }
38
- function R(t) {
39
- s({ type: "navigate", path: t });
38
+ function U(t) {
39
+ o({ type: "navigate", path: t });
40
40
  }
41
- function L() {
42
- s({ type: "exit" });
41
+ function E() {
42
+ o({ type: "exit" });
43
43
  }
44
- const U = L;
45
- function f(t) {
44
+ const $ = E;
45
+ function p(t) {
46
46
  return w("store", t);
47
47
  }
48
- function y(t) {
48
+ function g(t) {
49
49
  return w("localStorage", t);
50
50
  }
51
- function $(t) {
51
+ function O(t) {
52
52
  return w("window", t);
53
53
  }
54
- function O() {
55
- return f("company");
54
+ function j() {
55
+ return p("company");
56
56
  }
57
57
  function W() {
58
- return f("user");
58
+ return p("user");
59
59
  }
60
60
  function x() {
61
- return y("token");
61
+ return g("token");
62
62
  }
63
- function M() {
64
- return y("lang");
63
+ function B() {
64
+ return g("lang");
65
65
  }
66
- function j() {
67
- return f("productCategories");
66
+ function M() {
67
+ return p("productCategories");
68
68
  }
69
69
  function q(t, e) {
70
- s({ type: "setLocalStorage", key: t, value: e });
70
+ o({ type: "setLocalStorage", key: t, value: e });
71
71
  }
72
- function B(t) {
73
- s({ type: "setRocketMode", value: t });
72
+ function z(t) {
73
+ o({ type: "setRocketMode", value: t });
74
74
  }
75
75
  function G(t, e) {
76
- s({ type: "trackVisit", name: t, path: e });
76
+ o({ type: "trackVisit", name: t, path: e });
77
77
  }
78
- function z(t) {
79
- s({ type: "openExternalLink", url: t });
78
+ function F(t) {
79
+ o({ type: "openExternalLink", url: t });
80
80
  }
81
- function F() {
82
- s({ type: "openCrispChat" });
83
- }
84
- function H(t) {
85
- s({ type: "notification", text: t });
81
+ function H() {
82
+ o({ type: "openCrispChat" });
86
83
  }
87
84
  function Q(t) {
88
- s({ type: "notification", text: t, variant: "error" });
85
+ o({ type: "notification", text: t });
89
86
  }
90
87
  function V(t) {
91
- s({ type: "notification", text: t, variant: "warn" });
88
+ o({ type: "notification", text: t, variant: "error" });
89
+ }
90
+ function J(t) {
91
+ o({ type: "notification", text: t, variant: "warn" });
92
92
  }
93
- function h() {
93
+ function y() {
94
94
  try {
95
95
  return window.self !== window.top;
96
96
  } catch {
97
97
  return !0;
98
98
  }
99
99
  }
100
- const J = h;
101
- function K(t) {
100
+ const K = y;
101
+ function Y(t) {
102
102
  function e(r) {
103
103
  var n;
104
- ((n = r.data) == null ? void 0 : n.sender) === l && t(r.data);
104
+ ((n = r.data) == null ? void 0 : n.sender) === h && t(r.data);
105
105
  }
106
106
  return window.addEventListener("message", e), () => window.removeEventListener("message", e);
107
107
  }
108
- function p() {
108
+ function f() {
109
109
  if (typeof window > "u") return "browser";
110
110
  if (window.webkit != null && window.webkit.messageHandlers !== void 0)
111
111
  try {
112
- if (S(navigator.userAgent).browser.name === "WebKit") return "ios_webview";
112
+ if (b(navigator.userAgent).browser.name === "WebKit") return "ios_webview";
113
113
  } catch (t) {
114
114
  console.error(t);
115
115
  }
116
116
  return typeof Android < "u" ? "android_webview" : typeof window.cefQuery < "u" ? "cef_webview" : "browser";
117
117
  }
118
- function Y() {
119
- return p() === "ios_webview";
120
- }
121
118
  function X() {
122
- return p() === "android_webview";
119
+ return f() === "ios_webview";
123
120
  }
124
121
  function Z() {
125
- return p() === "cef_webview";
122
+ return f() === "android_webview";
126
123
  }
127
124
  function ee() {
128
- return p() !== "browser";
125
+ return f() === "cef_webview";
129
126
  }
130
- const P = "https://api.cabinet.developer.skyservice.online/index.php";
131
- class m {
127
+ function te() {
128
+ return f() !== "browser";
129
+ }
130
+ const L = "https://api.cabinet.developer.skyservice.online/index.php";
131
+ class v {
132
132
  constructor(e) {
133
- this.token = e.token, this.companyId = e.companyId, this.appId = e.appId, this.developerId = e.developerId, this.deploymentId = e.deploymentId, this.appName = e.appName;
133
+ this.permsCache = null, this.token = e.token, this.companyId = e.companyId, this.appId = e.appId, this.developerId = e.developerId, this.deploymentId = e.deploymentId, this.appName = e.appName;
134
134
  const r = e.domain.replace("dashboard", "api");
135
135
  this.baseUrl = r.startsWith("http") ? r : `https://${r}`;
136
136
  }
137
137
  /** Factory — create a new SkyserviceAPI instance. */
138
138
  static create(e) {
139
- return new m(e);
139
+ return new v(e);
140
140
  }
141
141
  // --- Low-level ---
142
142
  async get(e) {
@@ -147,26 +147,26 @@ class m {
147
147
  }), n = await fetch(`${this.baseUrl}/?${r}`);
148
148
  if (!n.ok)
149
149
  throw new Error(`Skyservice API error: ${n.status}`);
150
- const i = await n.json();
151
- if (i.status !== "done")
152
- throw new Error(`Skyservice API returned status: ${i.status}`);
153
- return i.data;
150
+ const a = await n.json();
151
+ if (a.status !== "done")
152
+ throw new Error(`Skyservice API returned status: ${a.status}`);
153
+ return a.data;
154
154
  }
155
155
  async post(e, r, n) {
156
- const i = new URLSearchParams({
156
+ const a = new URLSearchParams({
157
157
  token: this.token,
158
158
  ...r
159
- }), a = await fetch(`${e}?${i}`, {
159
+ }), i = await fetch(`${e}?${a}`, {
160
160
  method: "POST",
161
161
  headers: { "Content-Type": "application/json" },
162
162
  body: JSON.stringify(n)
163
163
  });
164
- if (!a.ok)
165
- throw new Error(`Skyservice API error: ${a.status}`);
166
- const o = await a.json();
167
- if (o.status !== "done")
168
- throw new Error(`Skyservice API returned status: ${o.status}`);
169
- return o.data;
164
+ if (!i.ok)
165
+ throw new Error(`Skyservice API error: ${i.status}`);
166
+ const s = await i.json();
167
+ if (s.status !== "done")
168
+ throw new Error(`Skyservice API returned status: ${s.status}`);
169
+ return s.data;
170
170
  }
171
171
  // --- Tradepoints ---
172
172
  /**
@@ -195,7 +195,7 @@ class m {
195
195
  action: "getCategories",
196
196
  ...e ? { tradepointId: String(e) } : {}
197
197
  });
198
- return v(r, e);
198
+ return I(r, e);
199
199
  }
200
200
  // --- Products ---
201
201
  /**
@@ -215,7 +215,7 @@ class m {
215
215
  of: "nomenclatureId",
216
216
  ...e != null && e.tradepointId ? { tradepointId: String(e.tradepointId) } : {}
217
217
  });
218
- return C(r.items, e == null ? void 0 : e.includeInactive);
218
+ return D(r.items, e == null ? void 0 : e.includeInactive);
219
219
  }
220
220
  // --- Integrations ---
221
221
  /**
@@ -235,49 +235,80 @@ class m {
235
235
  title: r,
236
236
  settings: n
237
237
  }) {
238
- const i = e ? "activateApp" : "deactivateApp", a = {
238
+ const a = e ? "activateApp" : "deactivateApp", i = {
239
239
  company_id: this.companyId,
240
240
  app_id: this.appId,
241
241
  ...this.developerId !== void 0 && { developer_id: this.developerId },
242
242
  ...e && n !== void 0 && { settings: n }
243
- }, o = await this.post(
244
- P,
245
- { section: "integrations", action: i },
246
- a
243
+ }, s = await this.post(
244
+ L,
245
+ { section: "integrations", action: a },
246
+ i
247
247
  );
248
248
  return this.deploymentId && this.appName && typeof window < "u" && window.self !== window.top && window.parent.postMessage(
249
249
  {
250
250
  type: "sendActiveApp",
251
- id: o.id,
251
+ id: s.id,
252
252
  is_active: e,
253
253
  deploymentId: this.deploymentId,
254
254
  appName: this.appName,
255
255
  title: r
256
256
  },
257
257
  "*"
258
- ), o;
258
+ ), s;
259
+ }
260
+ async getPerms(e) {
261
+ const r = await this.loadPerms();
262
+ return e === void 0 ? r : !!r[String(e)];
259
263
  }
264
+ /** Drop the cached permissions so the next {@link getPerms} call refetches. */
265
+ clearPermsCache() {
266
+ this.permsCache = null;
267
+ }
268
+ async loadPerms() {
269
+ var r;
270
+ if (this.permsCache) return this.permsCache;
271
+ if (typeof window < "u")
272
+ try {
273
+ const n = await p("perms");
274
+ if (n && Object.keys(n).length > 0)
275
+ return this.permsCache = l(n), this.permsCache;
276
+ } catch {
277
+ }
278
+ const e = await this.get({
279
+ section: "adminPanel",
280
+ action: "getStart"
281
+ });
282
+ return this.permsCache = l((r = e == null ? void 0 : e.settings) == null ? void 0 : r.perms), this.permsCache;
283
+ }
284
+ }
285
+ function l(t) {
286
+ const e = {};
287
+ if (!t || typeof t != "object") return e;
288
+ for (const [r, n] of Object.entries(t))
289
+ e[r] = !!n;
290
+ return e;
260
291
  }
261
- function v(t, e) {
262
- var n, i;
292
+ function I(t, e) {
293
+ var n, a;
263
294
  const r = [];
264
- for (const a of t) {
265
- if (e != null && !((n = a.tradepointShow) == null ? void 0 : n[String(e)]))
295
+ for (const i of t) {
296
+ if (e != null && !((n = i.tradepointShow) == null ? void 0 : n[String(e)]))
266
297
  continue;
267
- const o = {
268
- id: a.id,
269
- pid: a.pid,
270
- name: a.name,
271
- active: a.active,
272
- background: a.background,
273
- show: a.show
298
+ const s = {
299
+ id: i.id,
300
+ pid: i.pid,
301
+ name: i.name,
302
+ active: i.active,
303
+ background: i.background,
304
+ show: i.show
274
305
  };
275
- a.img && (o.img = a.img), (i = a.children) != null && i.length && (o.children = v(a.children, e)), r.push(o);
306
+ i.img && (s.img = i.img), (a = i.children) != null && a.length && (s.children = I(i.children, e)), r.push(s);
276
307
  }
277
308
  return r;
278
309
  }
279
310
  const _ = /* @__PURE__ */ new Set(["product", "techcard"]), T = "/img/no.png";
280
- function C(t, e) {
311
+ function D(t, e) {
281
312
  const r = [];
282
313
  for (const n of t)
283
314
  _.has(n.type) && (!e && !n.active || r.push({
@@ -294,34 +325,34 @@ function C(t, e) {
294
325
  return r;
295
326
  }
296
327
  export {
297
- N as A,
328
+ R as A,
298
329
  G as B,
299
- p as C,
300
- m as S,
301
- O as a,
302
- M as b,
303
- y as c,
304
- j as d,
305
- L as e,
306
- g as f,
307
- U as g,
308
- f as h,
330
+ f as C,
331
+ v as S,
332
+ j as a,
333
+ B as b,
334
+ g as c,
335
+ M as d,
336
+ E as e,
337
+ m as f,
338
+ $ as g,
339
+ p as h,
309
340
  x as i,
310
341
  W as j,
311
- $ as k,
312
- X as l,
313
- Z as m,
314
- J as n,
315
- h as o,
316
- Y as p,
317
- ee as q,
318
- R as r,
319
- H as s,
320
- Q as t,
321
- V as u,
322
- K as v,
323
- F as w,
324
- z as x,
342
+ O as k,
343
+ Z as l,
344
+ ee as m,
345
+ K as n,
346
+ y as o,
347
+ X as p,
348
+ te as q,
349
+ U as r,
350
+ Q as s,
351
+ V as t,
352
+ J as u,
353
+ Y as v,
354
+ H as w,
355
+ F as x,
325
356
  q as y,
326
- B as z
357
+ z
327
358
  };
@@ -0,0 +1 @@
1
+ "use strict";const k=require("ua-parser-js"),v="DASHBOARD",C=5e3;let P=0,f=null;function A(){return`sdk_${Date.now()}_${++P}`}function E(){return"APP_"+Math.random().toString(36).slice(2,10)}function L(t){f=t}function w(){return f||(f=E()),f}function s(t){window.parent.postMessage({...t,sender:w(),target:t.target||v},"*")}function g(t,e,r=C){return h()?new Promise(n=>{const o=A(),i=w(),a=setTimeout(()=>{window.removeEventListener("message",p),n(null)},r);function p(b){const c=b.data;(c==null?void 0:c.type)==="DATA_RESPONSE"&&(c==null?void 0:c.requestId)===o&&(!c.target||c.target===i)&&(clearTimeout(a),window.removeEventListener("message",p),n(c.data??null))}window.addEventListener("message",p),s({type:"DATA_REQUEST",requestId:o,source:t,key:e})}):Promise.resolve(null)}function T(t){s({type:"navigate",path:t})}function I(){s({type:"exit"})}const _=I;function d(t){return g("store",t)}function l(t){return g("localStorage",t)}function D(t){return g("window",t)}function W(){return d("company")}function R(){return d("user")}function U(){return l("token")}function N(){return l("lang")}function $(){return d("productCategories")}function O(t,e){s({type:"setLocalStorage",key:t,value:e})}function M(t){s({type:"setRocketMode",value:t})}function j(t,e){s({type:"trackVisit",name:t,path:e})}function x(t){s({type:"openExternalLink",url:t})}function B(){s({type:"openCrispChat"})}function q(t){s({type:"notification",text:t})}function G(t){s({type:"notification",text:t,variant:"error"})}function V(t){s({type:"notification",text:t,variant:"warn"})}function h(){try{return window.self!==window.top}catch{return!0}}const z=h;function F(t){function e(r){var n;((n=r.data)==null?void 0:n.sender)===v&&t(r.data)}return window.addEventListener("message",e),()=>window.removeEventListener("message",e)}function u(){if(typeof window>"u")return"browser";if(window.webkit!=null&&window.webkit.messageHandlers!==void 0)try{if(k(navigator.userAgent).browser.name==="WebKit")return"ios_webview"}catch(t){console.error(t)}return typeof Android<"u"?"android_webview":typeof window.cefQuery<"u"?"cef_webview":"browser"}function H(){return u()==="ios_webview"}function Q(){return u()==="android_webview"}function J(){return u()==="cef_webview"}function K(){return u()!=="browser"}const Y="https://api.cabinet.developer.skyservice.online/index.php";class m{constructor(e){this.permsCache=null,this.token=e.token,this.companyId=e.companyId,this.appId=e.appId,this.developerId=e.developerId,this.deploymentId=e.deploymentId,this.appName=e.appName;const r=e.domain.replace("dashboard","api");this.baseUrl=r.startsWith("http")?r:`https://${r}`}static create(e){return new m(e)}async get(e){const r=new URLSearchParams({token:this.token,companyId:this.companyId,...e}),n=await fetch(`${this.baseUrl}/?${r}`);if(!n.ok)throw new Error(`Skyservice API error: ${n.status}`);const o=await n.json();if(o.status!=="done")throw new Error(`Skyservice API returned status: ${o.status}`);return o.data}async post(e,r,n){const o=new URLSearchParams({token:this.token,...r}),i=await fetch(`${e}?${o}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!i.ok)throw new Error(`Skyservice API error: ${i.status}`);const a=await i.json();if(a.status!=="done")throw new Error(`Skyservice API returned status: ${a.status}`);return a.data}async getTradepoints(e){const r=await this.get({section:"tradepoints",action:"getTradepoints"});return e!=null&&e.includeDeleted?r.items:r.items.filter(n=>!n.deleted&&!n.frozen)}async getCategoryTree(e){const r=await this.get({section:"productCategory",action:"getCategories",...e?{tradepointId:String(e)}:{}});return S(r,e)}async getProducts(e){const r=await this.get({section:"products",action:"getProducts",pagelimit:"9999",ot:"desc",of:"nomenclatureId",...e!=null&&e.tradepointId?{tradepointId:String(e.tradepointId)}:{}});return ee(r.items,e==null?void 0:e.includeInactive)}async setAppActive({isActive:e,title:r,settings:n}){const o=e?"activateApp":"deactivateApp",i={company_id:this.companyId,app_id:this.appId,...this.developerId!==void 0&&{developer_id:this.developerId},...e&&n!==void 0&&{settings:n}},a=await this.post(Y,{section:"integrations",action:o},i);return this.deploymentId&&this.appName&&typeof window<"u"&&window.self!==window.top&&window.parent.postMessage({type:"sendActiveApp",id:a.id,is_active:e,deploymentId:this.deploymentId,appName:this.appName,title:r},"*"),a}async getPerms(e){const r=await this.loadPerms();return e===void 0?r:!!r[String(e)]}clearPermsCache(){this.permsCache=null}async loadPerms(){var r;if(this.permsCache)return this.permsCache;if(typeof window<"u")try{const n=await d("perms");if(n&&Object.keys(n).length>0)return this.permsCache=y(n),this.permsCache}catch{}const e=await this.get({section:"adminPanel",action:"getStart"});return this.permsCache=y((r=e==null?void 0:e.settings)==null?void 0:r.perms),this.permsCache}}function y(t){const e={};if(!t||typeof t!="object")return e;for(const[r,n]of Object.entries(t))e[r]=!!n;return e}function S(t,e){var n,o;const r=[];for(const i of t){if(e!=null&&!((n=i.tradepointShow)==null?void 0:n[String(e)]))continue;const a={id:i.id,pid:i.pid,name:i.name,active:i.active,background:i.background,show:i.show};i.img&&(a.img=i.img),(o=i.children)!=null&&o.length&&(a.children=S(i.children,e)),r.push(a)}return r}const X=new Set(["product","techcard"]),Z="/img/no.png";function ee(t,e){const r=[];for(const n of t)X.has(n.type)&&(!e&&!n.active||r.push({id:n.id,name:n.nomenclatureName,price:n.price,categoryId:n.categoryId,categoryName:n.categoryTitle||"",active:n.active,type:n.type,unit:n.unit,logo:n.logo&&n.logo!==Z?n.logo:""}));return r}exports.SkyserviceAPI=m;exports.exit=I;exports.getBack=_;exports.getCompany=W;exports.getLang=N;exports.getLocalStorageData=l;exports.getProductCategories=$;exports.getSenderId=w;exports.getStoreData=d;exports.getToken=U;exports.getUser=R;exports.getWindowData=D;exports.isAndroidWebview=Q;exports.isCefWebview=J;exports.isInIframe=z;exports.isInsideIframe=h;exports.isIosWebview=H;exports.isWebview=K;exports.navigate=T;exports.notify=q;exports.notifyError=G;exports.notifyWarn=V;exports.onMessage=F;exports.openCrispChat=B;exports.openExternalLink=x;exports.setLocalStorage=O;exports.setRocketMode=M;exports.setSenderId=L;exports.trackVisit=j;exports.webviewCheck=u;
package/dist/sdk/api.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Tradepoint, Category, Product, AppIntegration } from './types';
1
+ import { Tradepoint, Category, Product, AppIntegration, PermsMap } from './types';
2
2
 
3
3
  export interface SkyserviceAPIConfig {
4
4
  token: string;
@@ -33,6 +33,7 @@ export declare class SkyserviceAPI {
33
33
  private developerId;
34
34
  private deploymentId;
35
35
  private appName;
36
+ private permsCache;
36
37
  private constructor();
37
38
  /** Factory — create a new SkyserviceAPI instance. */
38
39
  static create(config: SkyserviceAPIConfig): SkyserviceAPI;
@@ -83,4 +84,29 @@ export declare class SkyserviceAPI {
83
84
  title?: string;
84
85
  settings?: Record<string, unknown>;
85
86
  }): Promise<AppIntegration>;
87
+ /**
88
+ * Get access permissions for the current user.
89
+ *
90
+ * Source priority:
91
+ * 1. Dashboard's Vuex store via iframe bridge (`getStoreData('perms')`) —
92
+ * instant, no token needed, includes Dashboard's computed perms. Used when
93
+ * running inside the Dashboard iframe.
94
+ * 2. HTTP fallback `section=adminPanel&action=getStart` → `data.settings.perms`
95
+ * — used outside the iframe (standalone page, Node) or while the store is
96
+ * still empty.
97
+ *
98
+ * The resolved map is cached on the instance — repeated calls don't re-request.
99
+ * Call {@link clearPermsCache} to force a refetch.
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * await api.getPerms('9006') // → boolean — is permission 9006 granted?
104
+ * await api.getPerms() // → { '9006': true, '100': false, ... }
105
+ * ```
106
+ */
107
+ getPerms(): Promise<PermsMap>;
108
+ getPerms(code: string | number): Promise<boolean>;
109
+ /** Drop the cached permissions so the next {@link getPerms} call refetches. */
110
+ clearPermsCache(): void;
111
+ private loadPerms;
86
112
  }
@@ -3,4 +3,4 @@ export { webviewCheck, isIosWebview, isAndroidWebview, isCefWebview, isWebview,
3
3
  export type { WebviewType } from './webview';
4
4
  export { SkyserviceAPI } from './api';
5
5
  export type { SkyserviceAPIConfig } from './api';
6
- export type { Tradepoint, TradepointWorkDay, Category, RawCategory, Product, RawProduct, AppIntegration, } from './types';
6
+ export type { Tradepoint, TradepointWorkDay, Category, RawCategory, Product, RawProduct, AppIntegration, PermsMap, } from './types';
@@ -12,6 +12,13 @@ export interface AppIntegration {
12
12
  created_at: string;
13
13
  updated_at: string;
14
14
  }
15
+ /**
16
+ * Access permissions map — access-code → granted.
17
+ *
18
+ * Mirrors Dashboard's `store.perms` (e.g. `{ '9006': true, '100': false }`).
19
+ * A missing code means "not granted". Returned by `SkyserviceAPI.getPerms()`.
20
+ */
21
+ export type PermsMap = Record<string, boolean>;
15
22
  export interface Tradepoint {
16
23
  tradepointId: number;
17
24
  tradepointName: string;
package/dist/sdk.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./api-lQ6dAmaI.cjs");exports.SkyserviceAPI=e.SkyserviceAPI;exports.exit=e.exit;exports.getBack=e.getBack;exports.getCompany=e.getCompany;exports.getLang=e.getLang;exports.getLocalStorageData=e.getLocalStorageData;exports.getProductCategories=e.getProductCategories;exports.getSenderId=e.getSenderId;exports.getStoreData=e.getStoreData;exports.getToken=e.getToken;exports.getUser=e.getUser;exports.getWindowData=e.getWindowData;exports.isAndroidWebview=e.isAndroidWebview;exports.isCefWebview=e.isCefWebview;exports.isInIframe=e.isInIframe;exports.isInsideIframe=e.isInsideIframe;exports.isIosWebview=e.isIosWebview;exports.isWebview=e.isWebview;exports.navigate=e.navigate;exports.notify=e.notify;exports.notifyError=e.notifyError;exports.notifyWarn=e.notifyWarn;exports.onMessage=e.onMessage;exports.openCrispChat=e.openCrispChat;exports.openExternalLink=e.openExternalLink;exports.setLocalStorage=e.setLocalStorage;exports.setRocketMode=e.setRocketMode;exports.setSenderId=e.setSenderId;exports.trackVisit=e.trackVisit;exports.webviewCheck=e.webviewCheck;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./api-DAgEQpwF.cjs");exports.SkyserviceAPI=e.SkyserviceAPI;exports.exit=e.exit;exports.getBack=e.getBack;exports.getCompany=e.getCompany;exports.getLang=e.getLang;exports.getLocalStorageData=e.getLocalStorageData;exports.getProductCategories=e.getProductCategories;exports.getSenderId=e.getSenderId;exports.getStoreData=e.getStoreData;exports.getToken=e.getToken;exports.getUser=e.getUser;exports.getWindowData=e.getWindowData;exports.isAndroidWebview=e.isAndroidWebview;exports.isCefWebview=e.isCefWebview;exports.isInIframe=e.isInIframe;exports.isInsideIframe=e.isInsideIframe;exports.isIosWebview=e.isIosWebview;exports.isWebview=e.isWebview;exports.navigate=e.navigate;exports.notify=e.notify;exports.notifyError=e.notifyError;exports.notifyWarn=e.notifyWarn;exports.onMessage=e.onMessage;exports.openCrispChat=e.openCrispChat;exports.openExternalLink=e.openExternalLink;exports.setLocalStorage=e.setLocalStorage;exports.setRocketMode=e.setRocketMode;exports.setSenderId=e.setSenderId;exports.trackVisit=e.trackVisit;exports.webviewCheck=e.webviewCheck;
package/dist/sdk.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as s, e as t, g as i, a as o, b as r, c as n, d as g, f as d, h as c, i as f, j as k, k as v, l as w, m as I, n as C, o as S, p as b, q as p, r as y, s as W, t as m, u as l, v as x, w as L, x as h, y as A, z as D, A as u, B, C as E } from "./api-AhLH5w3p.js";
1
+ import { S as s, e as t, g as i, a as o, b as r, c as n, d as g, f as d, h as c, i as f, j as k, k as v, l as w, m as I, n as C, o as S, p as b, q as p, r as y, s as W, t as m, u as l, v as x, w as L, x as h, y as A, z as D, A as u, B, C as E } from "./api-C6FKIf2t.js";
2
2
  export {
3
3
  s as SkyserviceAPI,
4
4
  t as exit,
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("vue"),ne=require("./api-lQ6dAmaI.cjs");require("ua-parser-js");const vt=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},F0={props:{to:{type:String,default:"body"}}};function z0(e,t,n,r,o,a){return p.openBlock(),p.createBlock(p.Teleport,{to:n.to},[p.renderSlot(e.$slots,"default")],8,["to"])}const xv=vt(F0,[["render",z0]]),K0={class:"sky-dialog-overlay"},W0={key:0,class:"sky-dialog-subtitle"},G0=["title"],Y0={key:0,class:"sky-dialog-swipe-area"},Z0={key:0,class:"sky-dialog-footer"},q0={__name:"DialogModal",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},zIndex:{type:[Number,String],default:null},closeText:{type:String,default:"Закрити"},closeOnEsc:{type:Boolean,default:!0},hasButtons:{type:Boolean,default:null}},emits:["update:modelValue","close","save"],setup(e,{emit:t}){const n=p.useSlots(),r=e,o=t,a=p.ref(null),i=p.ref(null),s=p.ref(0),u=p.computed(()=>{try{return ne.isIosWebview()}catch{return!1}}),c=p.computed(()=>{try{return ne.isAndroidWebview()}catch{return!1}}),l=p.computed(()=>r.hasButtons!==null?r.hasButtons:!!n.buttons),f=()=>{o("update:modelValue",!1),o("close")},d=y=>{y.key==="Escape"&&r.closeOnEsc&&r.modelValue&&f(),y.key==="Enter"&&r.modelValue&&o("save")},v=y=>{y.touches[0].clientX<35&&(s.value=y.touches[0].clientX)},g=y=>{s.value>0&&s.value<35&&y.changedTouches[0].clientX-s.value>50&&f(),s.value=0},m=()=>{if(!(!c.value||!a.value))try{if(typeof Android<"u"&&Android.getDisplayCutoutTop){const y=Android.getDisplayCutoutTop();if(y&&window.devicePixelRatio>1){const _=y/window.devicePixelRatio;a.value.style.paddingTop=_+"px"}}}catch{}};return p.watch(()=>r.modelValue,y=>{y?(document.body.style.overflow="hidden",p.nextTick(()=>{m()})):document.body.style.overflow=""}),p.onMounted(()=>{document.addEventListener("keydown",d),window.addEventListener("resize",m)}),p.onUnmounted(()=>{document.removeEventListener("keydown",d),window.removeEventListener("resize",m),document.body.style.overflow=""}),(y,_)=>(p.openBlock(),p.createBlock(p.Teleport,{to:"body"},[e.modelValue?(p.openBlock(),p.createElementBlock("div",{key:0,class:"sky-dialogbox sky-dialogbox-classic",style:p.normalizeStyle([e.zIndex?{"z-index":e.zIndex}:null])},[p.createElementVNode("div",K0,[p.createElementVNode("div",{ref_key:"dialogContent",ref:a,class:"sky-dialog-content"},[p.createElementVNode("div",{class:p.normalizeClass(["sky-dialog-title",{"sky-dialog-title-with-subtitle":e.subtitle}])},[p.createTextVNode(p.toDisplayString(e.title)+" ",1),e.subtitle?(p.openBlock(),p.createElementBlock("span",W0,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)],2),p.createElementVNode("button",{class:"sky-dialog-close",title:e.closeText,onClick:f},[..._[0]||(_[0]=[p.createElementVNode("svg",{viewBox:"0 0 16 16",width:"16",height:"16"},[p.createElementVNode("line",{x1:"1",y1:"15",x2:"15",y2:"1",stroke:"currentColor","stroke-width":"2"}),p.createElementVNode("line",{x1:"1",y1:"1",x2:"15",y2:"15",stroke:"currentColor","stroke-width":"2"})],-1)])],8,G0),_[1]||(_[1]=p.createElementVNode("div",{class:"sky-dialog-clearfix"},null,-1)),p.createElementVNode("div",{ref_key:"dialogPaper",ref:i,class:p.normalizeClass(["sky-dialog-paper",{"sky-dialog-paper-no-footer":!l.value}]),onTouchstart:v,onTouchend:g},[u.value?(p.openBlock(),p.createElementBlock("div",Y0)):p.createCommentVNode("",!0),p.renderSlot(y.$slots,"default",{},void 0,!0)],34),_[2]||(_[2]=p.createElementVNode("div",null,null,-1)),l.value?(p.openBlock(),p.createElementBlock("div",Z0,[p.renderSlot(y.$slots,"buttons",{},void 0,!0)])):p.createCommentVNode("",!0)],512)])],4)):p.createCommentVNode("",!0)]))}},rc=vt(q0,[["__scopeId","data-v-4fc05000"]]),X0={class:"sky-dialog-overlay"},J0={class:"sky-dialog-header"},Q0=["title"],e_={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},t_={key:0,class:"sky-dialog-subtitle"},n_={key:0,class:"sky-dialog-swipe-area"},r_={key:0,class:"sky-dialog-footer"},o_={__name:"DialogNext",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},zIndex:{type:[Number,String],default:null},closeText:{type:String,default:"Назад"},closeOnEsc:{type:Boolean,default:!0},hasButtons:{type:Boolean,default:null}},emits:["update:modelValue","close","save"],setup(e,{emit:t}){const n=p.useSlots(),r=e,o=t,a=p.ref(null),i=p.ref(null),s=p.ref(0),u=p.computed(()=>{try{return ne.isIosWebview()}catch{return!1}}),c=p.computed(()=>{try{return ne.isAndroidWebview()}catch{return!1}}),l=p.computed(()=>r.hasButtons!==null?r.hasButtons:!!n.buttons),f=()=>{o("update:modelValue",!1),o("close")},d=y=>{y.key==="Escape"&&r.closeOnEsc&&r.modelValue&&f(),y.key==="Enter"&&r.modelValue&&o("save")},v=y=>{y.touches[0].clientX<35&&(s.value=y.touches[0].clientX)},g=y=>{s.value>0&&s.value<35&&y.changedTouches[0].clientX-s.value>50&&f(),s.value=0},m=()=>{if(!(!c.value||!a.value))try{if(typeof Android<"u"&&Android.getDisplayCutoutTop){const y=Android.getDisplayCutoutTop();if(y&&window.devicePixelRatio>1){const _=y/window.devicePixelRatio;a.value.style.paddingTop=_+"px"}}}catch{}};return p.watch(()=>r.modelValue,y=>{y?(document.body.style.overflow="hidden",p.nextTick(()=>{m()})):document.body.style.overflow=""}),p.onMounted(()=>{document.addEventListener("keydown",d),window.addEventListener("resize",m)}),p.onUnmounted(()=>{document.removeEventListener("keydown",d),window.removeEventListener("resize",m),document.body.style.overflow=""}),(y,_)=>(p.openBlock(),p.createBlock(p.Teleport,{to:"body"},[e.modelValue?(p.openBlock(),p.createElementBlock("div",{key:0,class:"sky-dialogbox sky-dialogbox-next",style:p.normalizeStyle([e.zIndex?{"z-index":e.zIndex}:null])},[p.createElementVNode("div",X0,[p.createElementVNode("div",{ref_key:"dialogContent",ref:a,class:"sky-dialog-content"},[p.createElementVNode("div",J0,[p.createElementVNode("button",{class:"sky-dialog-back",title:e.closeText,onClick:f},[(p.openBlock(),p.createElementBlock("svg",e_,[..._[0]||(_[0]=[p.createElementVNode("path",{fill:"currentColor",d:"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"},null,-1)])]))],8,Q0),p.createElementVNode("div",{class:p.normalizeClass(["sky-dialog-title",{"sky-dialog-title-with-subtitle":e.subtitle}])},[p.createTextVNode(p.toDisplayString(e.title)+" ",1),e.subtitle?(p.openBlock(),p.createElementBlock("span",t_,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)],2)]),p.createElementVNode("div",{ref_key:"dialogPaper",ref:i,class:p.normalizeClass(["sky-dialog-paper",{"sky-dialog-paper-no-footer":!l.value}]),onTouchstart:v,onTouchend:g},[u.value?(p.openBlock(),p.createElementBlock("div",n_)):p.createCommentVNode("",!0),p.renderSlot(y.$slots,"default",{},void 0,!0)],34),l.value?(p.openBlock(),p.createElementBlock("div",r_,[p.renderSlot(y.$slots,"buttons",{},void 0,!0)])):p.createCommentVNode("",!0)],512)])],4)):p.createCommentVNode("",!0)]))}},oc=vt(o_,[["__scopeId","data-v-857b5f70"]]),a_={__name:"Dialog",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},zIndex:{type:[Number,String],default:null},closeText:{type:String,default:""},closeOnEsc:{type:Boolean,default:!0},mode:{type:String,default:null,validator:e=>[null,"next","classic"].includes(e)}},emits:["update:modelValue","close","save"],setup(e,{emit:t}){const n=e,r=t,o=p.computed({get:()=>n.modelValue,set:s=>r("update:modelValue",s)}),a=p.ref(!0);p.onMounted(()=>{try{new URLSearchParams(window.location.search).get("rocketMode")==="false"?a.value=!1:a.value=!0}catch{a.value=!0}});const i=p.computed(()=>n.mode==="next"?oc:n.mode==="classic"?rc:a.value?oc:rc);return(s,u)=>(p.openBlock(),p.createBlock(p.resolveDynamicComponent(i.value),{modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=c=>o.value=c),title:e.title,subtitle:e.subtitle,"z-index":e.zIndex,"close-text":e.closeText,"close-on-esc":e.closeOnEsc,"has-buttons":!!s.$slots.buttons,onClose:u[1]||(u[1]=c=>s.$emit("close")),onSave:u[2]||(u[2]=c=>s.$emit("save"))},p.createSlots({default:p.withCtx(()=>[p.renderSlot(s.$slots,"default")]),_:2},[s.$slots.buttons?{name:"buttons",fn:p.withCtx(()=>[p.renderSlot(s.$slots,"buttons")]),key:"0"}:void 0]),1064,["modelValue","title","subtitle","z-index","close-text","close-on-esc","has-buttons"]))}},i_={class:"sky-header-container"},s_={class:"topmenubox"},u_={class:"header-left"},c_=["title"],l_={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},f_={class:"notPadding"},d_={class:"topmenu-title"},p_={key:0,class:"title-dropdown"},v_={class:"title-dropdown-header"},h_=["onClick"],m_={class:"pageName"},g_={class:"pageVisit"},__={key:0,class:"topmenu-description"},y_={class:"topmenubox-button"},b_={__name:"Header",props:{title:{type:String,default:""},subtitle:{type:String,default:""},showBackButton:{type:Boolean,default:!0},backButtonTitle:{type:String,default:"Назад"},backEvent:{type:Function,default:null},dropdownItems:{type:Array,default:()=>[]},dropdownTitle:{type:String,default:"Останні відвідані розділи"},visitLabel:{type:String,default:"Останнє відвідування"},trackPageName:{type:String,default:""},trackPagePath:{type:String,default:""},appId:{type:String,default:""}},emits:["back","navigate"],setup(e,{emit:t}){const n=e;ne.setSenderId(n.appId||ne.getSenderId());const r=t,o=p.ref(null),a=p.ref(!1),i=p.ref([]),s=p.ref({});ne.isInsideIframe()&&n.trackPageName&&ne.trackVisit(n.trackPageName,n.trackPagePath||`/${n.trackPageName}`);const u=p.ref(null);ne.isInsideIframe()&&ne.getLocalStorageData("rocketMode").then(async k=>{u.value=k,await ne.getLocalStorageData("fallbackRocketMode")===null&&ne.setLocalStorage("fallbackRocketMode",k===!0||k==="true"?"true":"false"),ne.setRocketMode(!0)}),p.onUnmounted(()=>{b()}),ne.isInsideIframe()&&ne.getWindowData("lang").then(k=>{k!=null&&(s.value=k)});function c(k){try{if(!k)return;const T=typeof k=="string"?JSON.parse(k):k;T!=null&&T.pages&&(i.value=Object.values(T.pages))}catch{}}c(localStorage.componentStats),ne.isInsideIframe()&&ne.getLocalStorageData("componentStats").then(k=>{k!=null&&(localStorage.setItem("componentStats",JSON.stringify(k)),c(k))});const l=p.computed(()=>[...n.dropdownItems.length?n.dropdownItems:i.value].sort((T,E)=>E.lastVisit-T.lastVisit)),f=()=>{l.value.length&&(a.value=!a.value)},d=()=>{a.value=!1},v=k=>{r("navigate",k.path),ne.isInsideIframe()&&ne.navigate(k.path),d()},g=k=>{if(!k)return"";const T=s.value[k]||k;return T.charAt(0).toUpperCase()+T.slice(1)},m=k=>{const E=Date.now()-k,D=Math.floor(E/1e3),C=Math.floor(D/60),U=Math.floor(C/60),A=Math.floor(U/24);return A>0?`${A}д тому`:U>0?`${U}год тому`:C>0?`${C}хв тому`:`${D}с тому`},y=k=>{o.value&&!o.value.contains(k.target)&&d()};p.onMounted(()=>{document.addEventListener("click",y,!0)}),p.onUnmounted(()=>{document.removeEventListener("click",y,!0)});const _=p.computed(()=>n.backEvent||n.showBackButton&&ne.isInsideIframe()),b=()=>{if(u.value!==null){const k=u.value===!0||u.value==="true";ne.setRocketMode(k)}},S=()=>l.value.find(k=>k.name!==n.trackPageName&&k.path),w=async()=>{if(n.backEvent)return b(),n.backEvent();let k=S();if(!k&&ne.isInsideIframe()){const T=await ne.getLocalStorageData("componentStats");T&&(c(T),k=S())}b(),k?ne.navigate(k.path):ne.exit()};return(k,T)=>(p.openBlock(),p.createElementBlock("header",i_,[p.createElementVNode("div",s_,[p.createElementVNode("div",u_,[_.value?(p.openBlock(),p.createElementBlock("button",{key:0,class:"btn-back",onClick:w,title:e.backButtonTitle},[(p.openBlock(),p.createElementBlock("svg",l_,[...T[0]||(T[0]=[p.createElementVNode("path",{fill:"currentColor",d:"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"},null,-1)])]))],8,c_)):p.createCommentVNode("",!0),p.createElementVNode("div",{ref_key:"dropdownRef",ref:o,class:"titleAndDesc"},[p.createElementVNode("button",{class:p.normalizeClass(["title-dropdown-toggle",{"title-dropdown-toggle-active":l.value.length}]),onClick:f},[p.renderSlot(k.$slots,"title",{},()=>[p.createElementVNode("h4",f_,[p.createElementVNode("span",d_,p.toDisplayString(e.title),1),l.value.length?(p.openBlock(),p.createElementBlock("svg",{key:0,class:p.normalizeClass(["arrow",{open:a.value}]),width:"12",height:"12",viewBox:"0 0 451.847 451.847",style:{"flex-shrink":"0"}},[...T[1]||(T[1]=[p.createElementVNode("path",{fill:"currentColor",d:"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"},null,-1)])],2)):p.createCommentVNode("",!0)])],!0)],2),a.value&&l.value.length?(p.openBlock(),p.createElementBlock("div",p_,[p.createElementVNode("div",v_,p.toDisplayString(e.dropdownTitle),1),T[2]||(T[2]=p.createElementVNode("div",{class:"title-dropdown-divider"},null,-1)),(p.openBlock(!0),p.createElementBlock(p.Fragment,null,p.renderList(l.value,(E,D)=>(p.openBlock(),p.createElementBlock("div",{key:D,class:"title-dropdown-item",onClick:C=>v(E)},[p.createElementVNode("p",m_,p.toDisplayString(g(E.name)),1),p.createElementVNode("small",g_," ("+p.toDisplayString(e.visitLabel)+" "+p.toDisplayString(m(E.lastVisit))+") ",1)],8,h_))),128))])):p.createCommentVNode("",!0),p.renderSlot(k.$slots,"subtitle",{},()=>[e.subtitle?(p.openBlock(),p.createElementBlock("p",__,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)],!0)],512)]),p.createElementVNode("div",y_,[T[3]||(T[3]=p.createElementVNode("div",null,null,-1)),p.renderSlot(k.$slots,"default",{},void 0,!0),T[4]||(T[4]=p.createElementVNode("div",null,null,-1))])])]))}},E_=vt(b_,[["__scopeId","data-v-8bf4384c"]]),w_={class:"sky-modal-header"},O_=["title"],k_={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},S_={class:"sky-modal-title-wrapper"},C_={class:"sky-modal-title"},N_={key:0,class:"sky-modal-subtitle"},T_={class:"sky-modal-body"},V_={key:0,class:"sky-modal-footer"},I_={__name:"Modal",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},closeTitle:{type:String,default:"Закрити"},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},width:{type:String,default:"100%"},height:{type:String,default:"100%"}},emits:["update:modelValue","close"],setup(e,{emit:t}){const n=e,r=t,o=p.computed(()=>({width:n.width,height:n.height})),a=p.computed(()=>n.width==="100%"&&n.height==="100%"),i=()=>{r("update:modelValue",!1),r("close")},s=()=>{n.closeOnOverlay&&i()},u=c=>{c.key==="Escape"&&n.closeOnEsc&&n.modelValue&&i()};return p.watch(()=>n.modelValue,c=>{c?document.body.style.overflow="hidden":document.body.style.overflow=""}),p.onMounted(()=>{document.addEventListener("keydown",u)}),p.onUnmounted(()=>{document.removeEventListener("keydown",u),document.body.style.overflow=""}),(c,l)=>(p.openBlock(),p.createBlock(xv,{to:"body"},{default:p.withCtx(()=>[e.modelValue?(p.openBlock(),p.createElementBlock("div",{key:0,class:"sky-modal-overlay",onMousedown:p.withModifiers(s,["self"])},[p.createElementVNode("div",{class:p.normalizeClass(["sky-modal",{"sky-modal--fullscreen":a.value}]),style:p.normalizeStyle(o.value)},[p.createElementVNode("div",w_,[p.createElementVNode("button",{class:"sky-modal-back",onClick:i,title:e.closeTitle},[(p.openBlock(),p.createElementBlock("svg",k_,[...l[0]||(l[0]=[p.createElementVNode("path",{fill:"currentColor",d:"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"},null,-1)])]))],8,O_),p.createElementVNode("div",S_,[p.createElementVNode("h4",C_,p.toDisplayString(e.title),1),e.subtitle?(p.openBlock(),p.createElementBlock("div",N_,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)])]),p.createElementVNode("div",T_,[p.renderSlot(c.$slots,"default",{},void 0,!0)]),c.$slots.footer?(p.openBlock(),p.createElementBlock("div",V_,[p.renderSlot(c.$slots,"footer",{},void 0,!0)])):p.createCommentVNode("",!0)],6)],32)):p.createCommentVNode("",!0)]),_:3}))}},D_=vt(I_,[["__scopeId","data-v-f48c6fd4"]]),$_={key:0,class:"sky-alert-icon",width:"16",height:"16",viewBox:"0 0 20 20",fill:"none"},A_={class:"sky-alert-body"},P_={__name:"SkyAlert",props:{tone:{type:String,default:"info",validator:e=>["success","error","warning","info"].includes(e)},showIcon:{type:Boolean,default:!0}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",{class:p.normalizeClass(["sky-alert",`sky-alert-${e.tone}`])},[e.showIcon?(p.openBlock(),p.createElementBlock("svg",$_,[...n[0]||(n[0]=[p.createElementVNode("path",{d:"M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0zm1 15H9v-2h2v2zm0-4H9V5h2v6z",fill:"currentColor"},null,-1)])])):p.createCommentVNode("",!0),p.createElementVNode("span",A_,[p.renderSlot(t.$slots,"default",{},void 0,!0)])],2))}},x_=vt(P_,[["__scopeId","data-v-ae1976b5"]]),R_={key:0,class:"sky-badge-dot"},j_={__name:"SkyBadge",props:{tone:{type:String,default:"default",validator:e=>["success","error","warning","pending","info","default"].includes(e)},label:{type:String,default:""},dot:{type:Boolean,default:!0}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("span",{class:p.normalizeClass(["sky-badge",`sky-badge-${e.tone}`])},[e.dot?(p.openBlock(),p.createElementBlock("span",R_)):p.createCommentVNode("",!0),p.renderSlot(t.$slots,"default",{},()=>[p.createTextVNode(p.toDisplayString(e.label),1)],!0)],2))}},L_=vt(j_,[["__scopeId","data-v-03b6ebdb"]]),B_=["disabled"],U_={key:0,class:"sky-btn-spinner"},M_={__name:"SkyButton",props:{variant:{type:String,default:"primary",validator:e=>["primary","danger","secondary","outline"].includes(e)},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1},icon:{type:Boolean,default:!1}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("button",p.mergeProps({class:["sky-btn",[`sky-btn-${e.variant}`,{"sky-btn-block":e.block,"sky-btn-loading":e.loading,"sky-btn-icon":e.icon}]],disabled:e.disabled||e.loading},t.$attrs),[e.loading?(p.openBlock(),p.createElementBlock("span",U_)):p.createCommentVNode("",!0),p.renderSlot(t.$slots,"default",{},void 0,!0)],16,B_))}},H_=vt(M_,[["__scopeId","data-v-755083cb"]]),F_={class:"sky-card"},z_={key:0,class:"sky-card-ribbon"},K_={key:1,class:"sky-card-header"},W_={key:2,class:"sky-card-body"},G_={key:3,class:"sky-card-footer"},Y_={__name:"SkyCard",setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",F_,[t.$slots.ribbon?(p.openBlock(),p.createElementBlock("div",z_,[p.renderSlot(t.$slots,"ribbon",{},void 0,!0)])):p.createCommentVNode("",!0),t.$slots.header?(p.openBlock(),p.createElementBlock("div",K_,[p.renderSlot(t.$slots,"header",{},void 0,!0)])):p.createCommentVNode("",!0),t.$slots.default?(p.openBlock(),p.createElementBlock("div",W_,[p.renderSlot(t.$slots,"default",{},void 0,!0)])):p.createCommentVNode("",!0),t.$slots.footer?(p.openBlock(),p.createElementBlock("div",G_,[p.renderSlot(t.$slots,"footer",{},void 0,!0)])):p.createCommentVNode("",!0)]))}},Z_=vt(Y_,[["__scopeId","data-v-6a2d353e"]]),q_={class:"sky-card-header-content"},X_={key:0,class:"sky-card-header-icon"},J_=["src","alt"],Q_={class:"sky-card-header-titles"},ey={class:"sky-card-header-title"},ty={key:0,class:"sky-card-header-subtitle"},ny={__name:"SkyCardHeader",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},iconSrc:{type:String,default:""}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",q_,[t.$slots.icon||e.iconSrc?(p.openBlock(),p.createElementBlock("div",X_,[p.renderSlot(t.$slots,"icon",{},()=>[e.iconSrc?(p.openBlock(),p.createElementBlock("img",{key:0,src:e.iconSrc,alt:e.title,width:"48",height:"48"},null,8,J_)):p.createCommentVNode("",!0)],!0)])):p.createCommentVNode("",!0),p.createElementVNode("div",Q_,[p.createElementVNode("h3",ey,p.toDisplayString(e.title),1),e.subtitle?(p.openBlock(),p.createElementBlock("p",ty,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)])]))}},ry=vt(ny,[["__scopeId","data-v-ab38d71f"]]),oy={class:"sky-card-row"},ay={class:"sky-card-row-label"},iy={class:"sky-card-row-value"},sy={__name:"SkyCardRow",props:{label:{type:String,required:!0},value:{type:[String,Number],default:""}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",oy,[p.createElementVNode("span",ay,p.toDisplayString(e.label),1),p.renderSlot(t.$slots,"default",{},()=>[p.createElementVNode("span",iy,p.toDisplayString(e.value),1)],!0)]))}},uy=vt(sy,[["__scopeId","data-v-8bd0b0e7"]]),cy=["checked","disabled"],ly={key:0,class:"sky-checkbox__track"},fy={key:1,class:"sky-checkbox__box"},dy={key:2,class:"sky-checkbox__label"},py=p.defineComponent({__name:"SkyCheckbox",props:{modelValue:{type:[Boolean,Array]},value:{},switch:{type:Boolean},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,o=n.switch;function a(s){const u=s.target;if(Array.isArray(n.modelValue)){const c=[...n.modelValue];u.checked?c.push(n.value):c.splice(c.indexOf(n.value),1),r("update:modelValue",c)}else r("update:modelValue",u.checked)}const i=()=>Array.isArray(n.modelValue)?n.modelValue.includes(n.value):n.modelValue;return(s,u)=>(p.openBlock(),p.createElementBlock("label",{class:p.normalizeClass(["sky-checkbox",{"sky-checkbox--switch":p.unref(o),"sky-checkbox--disabled":e.disabled}])},[p.createElementVNode("input",{type:"checkbox",class:"sky-checkbox__input",checked:i(),disabled:e.disabled,onChange:a},null,40,cy),p.unref(o)?(p.openBlock(),p.createElementBlock("span",ly,[...u[0]||(u[0]=[p.createElementVNode("span",{class:"sky-checkbox__thumb"},null,-1)])])):(p.openBlock(),p.createElementBlock("span",fy,[...u[1]||(u[1]=[p.createElementVNode("svg",{class:"sky-checkbox__check",viewBox:"0 0 10 8",fill:"none"},[p.createElementVNode("path",{d:"M1 4L3.5 6.5L9 1",stroke:"white","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])),s.$slots.default?(p.openBlock(),p.createElementBlock("span",dy,[p.renderSlot(s.$slots,"default",{},void 0,!0)])):p.createCommentVNode("",!0)],2))}}),Rv=vt(py,[["__scopeId","data-v-f4591efa"]]),vy=["id","type","value","placeholder","disabled"],hy=p.defineComponent({__name:"SkyInput",props:{modelValue:{},type:{},placeholder:{},id:{},disabled:{type:Boolean},state:{},hint:{}},emits:["update:modelValue"],setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock(p.Fragment,null,[p.createElementVNode("input",{id:e.id,class:p.normalizeClass(["sky-input",e.state]),type:e.type??"text",value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,onInput:n[0]||(n[0]=r=>t.$emit("update:modelValue",r.target.value))},null,42,vy),e.hint?(p.openBlock(),p.createElementBlock("small",{key:0,class:p.normalizeClass(["setting-hint",e.state])},p.toDisplayString(e.hint),3)):p.createCommentVNode("",!0)],64))}}),my=vt(hy,[["__scopeId","data-v-6fe5a450"]]),gy={class:"sky-loader"},_y={key:0,class:"sky-loader-text"},yy={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",width:"40px",height:"50px",viewBox:"0 0 44.96 56.12",style:{"enable-background":"new 0 0 44.96 56.12",fill:"#ffffff",display:"block",margin:"auto","margin-top":"39px"},"xml:space":"preserve"},by=p.defineComponent({__name:"SkyLoader",props:{text:{}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",gy,[e.text?(p.openBlock(),p.createElementBlock("div",_y,p.toDisplayString(e.text),1)):p.createCommentVNode("",!0),(p.openBlock(),p.createElementBlock("svg",yy,[...n[0]||(n[0]=[p.createElementVNode("path",{d:"m0.84382,47.05821l28.6299,0c4.64652,0 4.86634,-4.02966 4.86634,-5.8895c0,-2.16243 -0.51403,-4.63853 -5.01514,-6.10722l-20.36828,-6.73085c-0.80824,-0.23248 -4.05472,-1.39119 -6.12097,-4.02597c-2.36046,-2.94475 -2.65467,-7.19581 -2.65467,-10.21806c0,-3.25103 0.36861,-7.19581 3.3175,-10.06307c2.65467,-2.6237 5.97893,-3.01855 8.48819,-3.01855l29.73235,0l0,8.12942l-26.41485,0c-1.32565,0 -2.87787,0.07749 -4.05472,1.23989c-1.25463,1.2362 -1.32565,3.16985 -1.32565,4.17726c0,2.40229 0.66282,4.71972 4.79194,6.1146l18.88707,6.26958c3.46291,1.1624 5.83014,2.3248 7.3756,3.86729c3.10106,3.09605 3.39528,7.89694 3.39528,10.44685c0,3.40602 -0.44301,7.20319 -2.58028,10.07045c-2.58366,3.48351 -5.83014,3.86729 -9.22203,3.86729l-31.72758,0l0,-8.12942z"},null,-1)])])),n[1]||(n[1]=p.createElementVNode("div",{class:"sky-loader-double-ring"},[p.createElementVNode("div")],-1))]))}}),Ey=vt(by,[["__scopeId","data-v-934935ba"]]),wy=["id","value","disabled"],Oy={key:0,value:"",disabled:"",hidden:""},ky=["value"],Sy=p.defineComponent({__name:"SkySelect",props:{modelValue:{},options:{},id:{},disabled:{type:Boolean},state:{},placeholder:{},hint:{}},emits:["update:modelValue"],setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock(p.Fragment,null,[p.createElementVNode("select",{id:e.id,class:p.normalizeClass(["sky-select",e.state]),value:e.modelValue,disabled:e.disabled,onChange:n[0]||(n[0]=r=>t.$emit("update:modelValue",r.target.value))},[e.placeholder?(p.openBlock(),p.createElementBlock("option",Oy,p.toDisplayString(e.placeholder),1)):p.createCommentVNode("",!0),(p.openBlock(!0),p.createElementBlock(p.Fragment,null,p.renderList(e.options,r=>(p.openBlock(),p.createElementBlock("option",{key:r.value,value:r.value},p.toDisplayString(r.text),9,ky))),128))],42,wy),e.hint?(p.openBlock(),p.createElementBlock("small",{key:0,class:p.normalizeClass(["setting-hint",e.state])},p.toDisplayString(e.hint),3)):p.createCommentVNode("",!0)],64))}}),Cy=vt(Sy,[["__scopeId","data-v-dc5ff9bc"]]),Ny="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20width='1024'%20height='1024'%3e%3cmask%20id='doorCutout'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='1024'%20height='1024'%3e%3crect%20width='1024'%20height='1024'%20fill='white'/%3e%3cpath%20d='M0%200%20C0.71968964%20-0.00700928%201.43937927%20-0.01401855%202.18087769%20-0.02124023%20C4.53968888%20-0.03872211%206.89728194%20-0.02723241%209.25610352%20-0.01367188%20C10.90845467%20-0.01636993%2012.56080427%20-0.02025496%2014.21315002%20-0.02526855%20C17.6687844%20-0.03115055%2021.12400388%20-0.02264408%2024.57958984%20-0.00390625%20C28.99232552%200.01886496%2033.40408691%200.00576414%2037.81678677%20-0.01819611%20C41.22706843%20-0.03270484%2044.63712214%20-0.02802469%2048.04741096%20-0.01768494%20C49.67358581%20-0.0150307%2051.29978186%20-0.01824119%2052.92593193%20-0.02760315%20C69.87342689%20-0.10376397%2069.87342689%20-0.10376397%2075.44750977%204.51757812%20C81.77544038%2011.15115655%2081.12718673%2019.01439831%2081.01513672%2027.65429688%20C81.01372463%2029.18255059%2081.01452136%2030.7108077%2081.01734924%2032.23905945%20C81.01877857%2036.36891989%2080.98946805%2040.49804807%2080.95447946%2044.62773895%20C80.92313473%2048.95051825%2080.92027884%2053.273316%2080.91435242%2057.59619141%20C80.89883773%2065.773633%2080.85784165%2073.95073871%2080.80760497%2082.12803268%20C80.74116384%2093.18398679%2080.71425777%20104.24003333%2080.68509388%20115.29613686%20C80.63813785%20132.70353533%2080.5385101%20150.11022514%2080.44750977%20167.51757812%20C47.44750977%20167.51757812%2014.44750977%20167.51757812%20-19.55249023%20167.51757812%20C-19.75400541%20128.96996495%20-19.75400541%20128.96996495%20-19.79663086%20112.81054688%20C-19.82629345%20101.65499371%20-19.86115507%2090.49962943%20-19.9296875%2079.34423828%20C-19.9795767%2071.2196221%20-20.01179411%2063.09515924%20-20.02293271%2054.97039413%20C-20.02944217%2050.66966519%20-20.044704%2046.36937479%20-20.08114052%2042.06878662%20C-20.11518745%2038.01724955%20-20.12552586%2033.96632987%20-20.11802864%2029.91466331%20C-20.11939933%2028.43121162%20-20.12928048%2026.94773837%20-20.14851761%2025.46441078%20C-20.31994571%2011.55888315%20-20.31994571%2011.55888315%20-16.08115768%206.03028107%20C-11.33789555%201.33655478%20-6.67499482%200.01643261%200%200%20Z%20'%20fill='black'%20transform='translate(481.552490234375,561.482421875)'/%3e%3c/mask%3e%3cg%20mask='url(%23doorCutout)'%3e%3cpath%20d='M0%200%20C4.77025411%203.24811326%209.54995152%206.4822498%2014.33056641%209.71508789%20C15.31726318%2010.38239929%2016.30395996%2011.04971069%2017.32055664%2011.73724365%20C27.56943173%2018.65721894%2037.89827701%2025.45356978%2048.23681641%2032.23852539%20C63.70757381%2042.39575713%2079.08876899%2052.67577653%2094.4140625%2063.05102539%20C107.95573396%2072.21541636%20121.56891245%2081.26359889%20135.23681641%2090.23852539%20C150.70586805%20100.39616199%20166.08681738%20110.67430759%20181.41104126%20121.04901123%20C194.10175317%20129.63768216%20206.84992823%20138.13219047%20219.65756226%20146.54550171%20C226.93757749%20151.32917217%20234.20919481%20156.12561112%20241.48095703%20160.92181396%20C243.34111617%20162.14806389%20245.20180618%20163.37350884%20247.06298828%20164.59820557%20C252.65071885%20168.27520707%20258.22895331%20171.96583466%20263.7940979%20175.67694092%20C265.52028129%20176.82484576%20267.24966244%20177.96795933%20268.98251343%20179.10577393%20C283.07952443%20188.36868628%20295.16273494%20197.52844414%20300.04541016%20214.55883789%20C302.97062567%20228.72091575%20301.32633387%20242.71379426%20293.88916016%20255.24243164%20C286.10852553%20266.99615628%20274.11859478%20274.86442543%20260.23681641%20277.73852539%20C258.28165343%20277.82493738%20256.32376637%20277.85623255%20254.36669922%20277.85205078%20C253.18577698%20277.85197525%20252.00485474%20277.85189972%20250.78814697%20277.8518219%20C249.51823914%20277.84666061%20248.2483313%20277.84149933%20246.93994141%20277.83618164%20C245.63603455%20277.83476669%20244.33212769%20277.83335175%20242.9887085%20277.83189392%20C239.52978585%20277.82808406%20236.0709055%20277.8182669%20232.61199951%20277.80718994%20C229.07939221%20277.79694285%20225.54677805%20277.79238924%20222.01416016%20277.78735352%20C215.08836158%20277.77664321%20208.16259103%20277.75958523%20201.23681641%20277.73852539%20C201.23795557%20278.34510426%20201.23909473%20278.95168312%20201.24026841%20279.57664317%20C201.30746129%20315.55953322%20201.35890569%20351.54241244%20201.39001239%20387.52535222%20C201.39376433%20391.84974664%20201.39764732%20396.17414093%20201.40161133%20400.49853516%20C201.40239826%20401.35941279%20201.40318519%20402.22029042%20201.40399597%20403.10725526%20C201.41703558%20417.03062396%20201.44068144%20430.95395535%20201.46827479%20444.87730195%20C201.49636923%20459.17314928%20201.51300119%20473.46897712%20201.51908189%20487.76485091%20C201.52318997%20496.58001117%20201.53614612%20505.39506595%20201.56056581%20514.21019373%20C201.57647289%20520.26216649%20201.58120555%20526.31408503%20201.57732054%20532.36607715%20C201.57540669%20535.85324376%20201.57825679%20539.34022656%20201.59443283%20542.82736015%20C201.60943924%20546.61960446%20201.60573992%20550.41140365%20201.59757996%20554.20365906%20C201.60631848%20555.29027618%20201.615057%20556.3768933%20201.62406033%20557.49643821%20C201.53155137%20573.48857632%20197.13157326%20586.59455363%20186.02587891%20598.19165039%20C172.60172101%20610.45012511%20156.23132748%20612.35118168%20138.91059875%20612.23973083%20C137.21090757%20612.2436326%20135.51121967%20612.24928001%20133.81153935%20612.25650173%20C129.18243172%20612.27114826%20124.55366801%20612.26114008%20119.92457187%20612.24676502%20C114.91636288%20612.23559741%20109.90819987%20612.24761677%20104.8999939%20612.25660706%20C95.10615172%20612.27050136%2085.31243896%20612.26301198%2075.518603%20612.24793147%20C64.10406126%20612.23102762%2052.68955135%20612.23428707%2041.27500095%20612.23802555%20C20.90539448%20612.24389695%200.53584992%20612.22975977%20-19.83374023%20612.20507812%20C-39.58376383%20612.18115002%20-59.33370474%20612.17407849%20-79.08374023%20612.18457031%20C-100.61305041%20612.19598691%20-122.14232239%20612.19790113%20-143.67163211%20612.18347222%20C-145.96839797%20612.18194644%20-148.26516384%20612.18042608%20-150.5619297%20612.17891121%20C-151.69186566%20612.17815339%20-152.82180162%20612.17739558%20-153.98597806%20612.1766148%20C-161.93645035%20612.17187846%20-169.88690553%20612.17371873%20-177.83737755%20612.17797661%20C-187.52816674%20612.18290983%20-197.21887787%20612.17688934%20-206.90964922%20612.15708231%20C-211.85090274%20612.1472306%20-216.79203754%20612.14208234%20-221.73329735%20612.14997482%20C-226.26140177%20612.15705931%20-230.7892672%20612.15016259%20-235.31734023%20612.13237119%20C-236.95033363%20612.12834467%20-238.58334901%20612.1292962%20-240.21633407%20612.13589006%20C-258.08996439%20612.20185402%20-272.27416072%20608.69688708%20-285.54052734%20596.08227539%20C-296.5468394%20584.47632243%20-298.92412223%20570.50718428%20-298.88343811%20555.04544067%20C-298.88429254%20553.86016749%20-298.88514696%20552.67489431%20-298.88602728%20551.45370376%20C-298.88738794%20548.17219027%20-298.88426895%20544.89071643%20-298.87924922%20541.60920763%20C-298.87492603%20538.06735773%20-298.87639247%20534.52550964%20-298.87715149%20530.98365784%20C-298.87767554%20524.8499419%20-298.87454115%20518.71623661%20-298.86891365%20512.58252335%20C-298.86078256%20503.71423175%20-298.85818178%20494.8459453%20-298.85692566%20485.97765039%20C-298.85473767%20471.58901987%20-298.84808444%20457.20039502%20-298.83862305%20442.81176758%20C-298.82944238%20428.83553089%20-298.82236475%20414.85929574%20-298.81811523%20400.88305664%20C-298.81785251%20400.02139126%20-298.81758979%20399.15972588%20-298.8173191%20398.27194943%20C-298.81601405%20393.94917665%20-298.81475035%20389.62640386%20-298.8135072%20385.30363107%20C-298.80314247%20349.44859184%20-298.78553103%20313.59355906%20-298.76318359%20277.73852539%20C-299.40416992%20277.74740784%20-300.04515625%20277.75629028%20-300.70556641%20277.76544189%20C-307.45547447%20277.85482983%20-314.20521096%20277.91463373%20-320.95556641%20277.95825195%20C-323.46540165%20277.97820704%20-325.97519139%20278.00538092%20-328.48486328%20278.0402832%20C-348.80799272%20278.31557659%20-368.66938574%20278.38482639%20-384.45068359%20263.80102539%20C-393.99076069%20254.13445739%20-398.57107239%20241.89526285%20-399.07568359%20228.42602539%20C-398.73538597%20213.3678555%20-393.28635008%20200.77279137%20-382.53585815%20190.30438232%20C-376.7991329%20185.23695979%20-370.10257225%20181.27951023%20-363.66650391%20177.17529297%20C-359.73984285%20174.6710173%20-355.83613209%20172.13189378%20-351.93063354%20169.5947876%20C-349.89653031%20168.27369407%20-347.86130242%20166.95433065%20-345.82498169%20165.63665771%20C-336.43706498%20159.55523653%20-327.16208116%20153.31427141%20-317.90719604%20147.03289795%20C-301.69307684%20136.02910311%20-285.38256576%20125.18159042%20-269.00292969%20114.42602539%20C-255.35566021%20105.46147677%20-241.78420572%2096.39227956%20-228.26318359%2087.23852539%20C-212.91876201%2076.85032679%20-197.4921545%2066.59690855%20-182.00292969%2056.42602539%20C-168.35562859%2047.46145599%20-154.78552199%2038.3903693%20-141.26318359%2029.23852539%20C-127.12242047%2019.67603921%20-112.95779321%2010.15062943%20-98.72607422%200.72387695%20C-96.81938655%20-0.54018636%20-94.91422764%20-1.80655921%20-93.01074219%20-3.07543945%20C-56.60316438%20-27.33199629%20-35.65391528%20-24.285668%200%200%20Z%20'%20fill='%23FEFEFE'%20transform='translate(560.76318359375,217.261474609375)'/%3e%3c/g%3e%3c/svg%3e",Ty={class:"sky-tile-card"},Vy={class:"sky-tile-card-head"},Iy=["src","alt"],Dy={class:"sky-tile-card-titles"},$y={class:"sky-tile-card-title"},Ay={key:0,class:"sky-tile-card-subtitle"},Py={key:0,class:"sky-tile-card-body"},xy={__name:"SkyTileCard",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},imageUrl:{type:String,default:""}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",Ty,[p.createElementVNode("div",Vy,[p.createElementVNode("div",{class:p.normalizeClass(["sky-tile-card-icon",{"is-default":!e.imageUrl&&!t.$slots.icon}])},[p.renderSlot(t.$slots,"icon",{},()=>[p.createElementVNode("img",{src:e.imageUrl||p.unref(Ny),alt:e.title},null,8,Iy)],!0)],2),p.createElementVNode("div",Dy,[p.createElementVNode("h3",$y,p.toDisplayString(e.title),1),e.subtitle?(p.openBlock(),p.createElementBlock("p",Ay,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)])]),t.$slots.default?(p.openBlock(),p.createElementBlock("div",Py,[p.renderSlot(t.$slots,"default",{},void 0,!0)])):p.createCommentVNode("",!0)]))}},Ry=vt(xy,[["__scopeId","data-v-ea9d56a4"]]),jy={class:"sky-checkbox-filter"},Ly={key:0,class:"header-filter-block__title"},By={key:1,class:"header-filter-block__title"},Uy={key:2,class:"header-filter-block__count"},My={class:"dialog-buttons"},Hy={class:"filtersCurtain__innerWrap_middle"},Fy=["placeholder"],zy={class:"sky-checkbox-filter__options"},Ky={class:"dialog-buttons",style:{"padding-top":"10px","padding-bottom":"0"}},Wy=p.defineComponent({__name:"SkyCheckboxFilter",props:{title:{},options:{},modelValue:{default:()=>[]},selectAllLabel:{default:"Вибрати всі"},clearLabel:{default:"Очистити"},doneLabel:{default:"Готово"},searchPlaceholder:{default:"Пошук"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,o=p.ref(null),a=p.ref({}),i=p.ref(!1),s=p.ref(""),u=p.computed(()=>{const S=s.value.trim().toLowerCase();return S?n.options.filter(w=>w.name.toLowerCase().includes(S)):n.options}),c=p.computed({get:()=>n.modelValue,set:S=>r("update:modelValue",S)}),l=p.computed(()=>{if(c.value.length!==1)return"";const S=n.options.find(w=>w.value===c.value[0]);return S?S.name.length<20?S.name:S.name.slice(0,20)+"...":""});function f(){if(!n.disabled){if(i.value){v();return}d()}}function d(){i.value=!0,s.value="",p.nextTick(()=>{const S=o.value;if(!S)return;const w=S.getBoundingClientRect();a.value={left:`${w.left}px`,top:`${w.bottom+5}px`}})}function v(){i.value=!1,s.value=""}function g(){c.value=n.options.map(S=>S.value)}function m(){c.value=[]}function y(){s.value=""}function _(S){var T;if(!i.value)return;const w=S.target;if((T=o.value)!=null&&T.contains(w))return;const k=document.querySelector(".sky-checkbox-filter__dropdown");k&&k.contains(w)||v()}let b="";return p.watch(i,S=>{S?(b=document.body.style.overflow,document.body.style.overflow="hidden"):document.body.style.overflow=b}),p.onMounted(()=>document.addEventListener("click",_)),p.onBeforeUnmount(()=>{document.removeEventListener("click",_),i.value&&(document.body.style.overflow=b)}),(S,w)=>(p.openBlock(),p.createElementBlock("div",jy,[p.createElementVNode("div",{ref_key:"triggerRef",ref:o,class:p.normalizeClass(["header-filter-block",{"hf-check":i.value,"hf-disabled":e.disabled}]),onClick:f},[c.value.length===1?(p.openBlock(),p.createElementBlock("span",Ly,p.toDisplayString(l.value||e.title),1)):(p.openBlock(),p.createElementBlock("span",By,p.toDisplayString(e.title)+p.toDisplayString(c.value.length>0?":":""),1)),!e.disabled&&c.value.length>1?(p.openBlock(),p.createElementBlock("div",Uy,p.toDisplayString(c.value.length),1)):p.createCommentVNode("",!0),w[2]||(w[2]=p.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"sol-caret"},[p.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1))],2),p.createVNode(p.Transition,{name:"fade-select"},{default:p.withCtx(()=>[i.value?(p.openBlock(),p.createElementBlock("div",{key:0,class:"selectColumn selectHeaderFilter sky-checkbox-filter__dropdown",style:p.normalizeStyle(a.value)},[p.createElementVNode("div",My,[p.createElementVNode("span",{style:{cursor:"pointer"},onClick:g},p.toDisplayString(e.selectAllLabel),1),p.createElementVNode("span",{style:{cursor:"pointer"},onClick:m},p.toDisplayString(e.clearLabel),1)]),p.createElementVNode("div",Hy,[p.withDirectives(p.createElementVNode("input",{"onUpdate:modelValue":w[0]||(w[0]=k=>s.value=k),class:"searchInput",type:"text",placeholder:e.searchPlaceholder},null,8,Fy),[[p.vModelText,s.value]]),s.value.trim()?(p.openBlock(),p.createElementBlock("i",{key:0,class:"filtersCurtain__innerWrap_middleIcon",onClick:y},"×")):p.createCommentVNode("",!0)]),p.createElementVNode("div",zy,[(p.openBlock(!0),p.createElementBlock(p.Fragment,null,p.renderList(u.value,k=>(p.openBlock(),p.createElementBlock("div",{key:k.value,class:"filter-option"},[p.createVNode(Rv,{modelValue:c.value,"onUpdate:modelValue":w[1]||(w[1]=T=>c.value=T),value:k.value},{default:p.withCtx(()=>[p.createTextVNode(p.toDisplayString(k.name),1)]),_:2},1032,["modelValue","value"])]))),128))]),w[3]||(w[3]=p.createElementVNode("hr",{style:{"margin-top":"0","margin-bottom":"2px"}},null,-1)),p.createElementVNode("div",Ky,[p.createElementVNode("span",{style:{cursor:"pointer"},onClick:v},p.toDisplayString(e.doneLabel),1)])],4)):p.createCommentVNode("",!0)]),_:1})]))}}),Gy=vt(Wy,[["__scopeId","data-v-b5219e61"]]);var Ai;function Yy(e){return Mv(e)||Hv(e)||zs(e)||Uv()}function Df(e,t,n,r){var o=ac(Ho(e.prototype),t,n);return typeof o=="function"?function(a){return o.apply(n,a)}:o}function ac(){return ac=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=Zy(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},ac.apply(null,arguments)}function Zy(e,t){for(;!{}.hasOwnProperty.call(e,t)&&(e=Ho(e))!==null;);return e}function $f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ge(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$f(Object(n),!0).forEach(function(r){he(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$f(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function de(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(v,g,m,y){var _=g&&g.prototype instanceof s?g:s,b=Object.create(_.prototype);return Pt(b,"_invoke",function(S,w,k){var T,E,D,C=0,U=k||[],A=!1,F={p:0,n:0,v:e,a:V,f:V.bind(e,4),d:function(M,Z){return T=M,E=0,D=e,F.n=Z,i}};function V($,M){for(E=$,D=M,t=0;!A&&C&&!Z&&t<U.length;t++){var Z,Y=U[t],N=F.p,Q=Y[2];$>3?(Z=Q===M)&&(D=Y[(E=Y[4])?5:(E=3,3)],Y[4]=Y[5]=e):Y[0]<=N&&((Z=$<2&&N<Y[1])?(E=0,F.v=M,F.n=Y[1]):N<Q&&(Z=$<3||Y[0]>M||M>Q)&&(Y[4]=$,Y[5]=M,F.n=Q,E=0))}if(Z||$>1)return i;throw A=!0,M}return function($,M,Z){if(C>1)throw TypeError("Generator is already running");for(A&&M===1&&V(M,Z),E=M,D=Z;(t=E<2?e:D)||!A;){T||(E?E<3?(E>1&&(F.n=-1),V(E,D)):F.n=D:F.v=D);try{if(C=2,T){if(E||($="next"),t=T[$]){if(!(t=t.call(T,D)))throw TypeError("iterator result is not an object");if(!t.done)return t;D=t.value,E<2&&(E=0)}else E===1&&(t=T.return)&&t.call(T),E<2&&(D=TypeError("The iterator does not provide a '"+$+"' method"),E=1);T=e}else if((t=(A=F.n<0)?D:S.call(w,F))!==i)break}catch(Y){T=e,E=1,D=Y}finally{C=1}}return{value:t,done:A}}}(v,m,y),!0),b}var i={};function s(){}function u(){}function c(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(Pt(t={},r,function(){return this}),t),f=c.prototype=s.prototype=Object.create(l);function d(v){return Object.setPrototypeOf?Object.setPrototypeOf(v,c):(v.__proto__=c,Pt(v,o,"GeneratorFunction")),v.prototype=Object.create(f),v}return u.prototype=c,Pt(f,"constructor",c),Pt(c,"constructor",u),u.displayName="GeneratorFunction",Pt(c,o,"GeneratorFunction"),Pt(f),Pt(f,o,"Generator"),Pt(f,r,function(){return this}),Pt(f,"toString",function(){return"[object Generator]"}),(de=function(){return{w:a,m:d}})()}function Pt(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Pt=function(i,s,u,c){function l(f,d){Pt(i,f,function(v){return this._invoke(f,d,v)})}s?o?o(i,s,{value:u,enumerable:!c,configurable:!c,writable:!c}):i[s]=u:(l("next",0),l("throw",1),l("return",2))},Pt(e,t,n,r)}function Af(e,t,n,r,o,a,i){try{var s=e[a](i),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(r,o)}function Me(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(u){Af(a,r,o,i,s,"next",u)}function s(u){Af(a,r,o,i,s,"throw",u)}i(void 0)})}}function hi(e,t,n){return t=Ho(t),qy(e,Lv()?Reflect.construct(t,n||[],Ho(e).constructor):t.apply(e,n))}function qy(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jv(e)}function jv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lv(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Lv=function(){return!!e})()}function Ho(e){return Ho=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ho(e)}function mi(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ic(e,t)}function ic(e,t){return ic=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},ic(e,t)}function Be(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Xy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Bv(r.key),r)}}function Ue(e,t,n){return t&&Xy(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function he(e,t,n){return(t=Bv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bv(e){var t=Jy(e,"string");return typeof t=="symbol"?t:t+""}function Jy(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ge(e,t){return Mv(e)||Qy(e,t)||zs(e,t)||Uv()}function Uv(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("vue"),ne=require("./api-DAgEQpwF.cjs");require("ua-parser-js");const vt=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},F0={props:{to:{type:String,default:"body"}}};function z0(e,t,n,r,o,a){return p.openBlock(),p.createBlock(p.Teleport,{to:n.to},[p.renderSlot(e.$slots,"default")],8,["to"])}const xv=vt(F0,[["render",z0]]),K0={class:"sky-dialog-overlay"},W0={key:0,class:"sky-dialog-subtitle"},G0=["title"],Y0={key:0,class:"sky-dialog-swipe-area"},Z0={key:0,class:"sky-dialog-footer"},q0={__name:"DialogModal",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},zIndex:{type:[Number,String],default:null},closeText:{type:String,default:"Закрити"},closeOnEsc:{type:Boolean,default:!0},hasButtons:{type:Boolean,default:null}},emits:["update:modelValue","close","save"],setup(e,{emit:t}){const n=p.useSlots(),r=e,o=t,a=p.ref(null),i=p.ref(null),s=p.ref(0),u=p.computed(()=>{try{return ne.isIosWebview()}catch{return!1}}),c=p.computed(()=>{try{return ne.isAndroidWebview()}catch{return!1}}),l=p.computed(()=>r.hasButtons!==null?r.hasButtons:!!n.buttons),f=()=>{o("update:modelValue",!1),o("close")},d=y=>{y.key==="Escape"&&r.closeOnEsc&&r.modelValue&&f(),y.key==="Enter"&&r.modelValue&&o("save")},v=y=>{y.touches[0].clientX<35&&(s.value=y.touches[0].clientX)},g=y=>{s.value>0&&s.value<35&&y.changedTouches[0].clientX-s.value>50&&f(),s.value=0},m=()=>{if(!(!c.value||!a.value))try{if(typeof Android<"u"&&Android.getDisplayCutoutTop){const y=Android.getDisplayCutoutTop();if(y&&window.devicePixelRatio>1){const _=y/window.devicePixelRatio;a.value.style.paddingTop=_+"px"}}}catch{}};return p.watch(()=>r.modelValue,y=>{y?(document.body.style.overflow="hidden",p.nextTick(()=>{m()})):document.body.style.overflow=""}),p.onMounted(()=>{document.addEventListener("keydown",d),window.addEventListener("resize",m)}),p.onUnmounted(()=>{document.removeEventListener("keydown",d),window.removeEventListener("resize",m),document.body.style.overflow=""}),(y,_)=>(p.openBlock(),p.createBlock(p.Teleport,{to:"body"},[e.modelValue?(p.openBlock(),p.createElementBlock("div",{key:0,class:"sky-dialogbox sky-dialogbox-classic",style:p.normalizeStyle([e.zIndex?{"z-index":e.zIndex}:null])},[p.createElementVNode("div",K0,[p.createElementVNode("div",{ref_key:"dialogContent",ref:a,class:"sky-dialog-content"},[p.createElementVNode("div",{class:p.normalizeClass(["sky-dialog-title",{"sky-dialog-title-with-subtitle":e.subtitle}])},[p.createTextVNode(p.toDisplayString(e.title)+" ",1),e.subtitle?(p.openBlock(),p.createElementBlock("span",W0,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)],2),p.createElementVNode("button",{class:"sky-dialog-close",title:e.closeText,onClick:f},[..._[0]||(_[0]=[p.createElementVNode("svg",{viewBox:"0 0 16 16",width:"16",height:"16"},[p.createElementVNode("line",{x1:"1",y1:"15",x2:"15",y2:"1",stroke:"currentColor","stroke-width":"2"}),p.createElementVNode("line",{x1:"1",y1:"1",x2:"15",y2:"15",stroke:"currentColor","stroke-width":"2"})],-1)])],8,G0),_[1]||(_[1]=p.createElementVNode("div",{class:"sky-dialog-clearfix"},null,-1)),p.createElementVNode("div",{ref_key:"dialogPaper",ref:i,class:p.normalizeClass(["sky-dialog-paper",{"sky-dialog-paper-no-footer":!l.value}]),onTouchstart:v,onTouchend:g},[u.value?(p.openBlock(),p.createElementBlock("div",Y0)):p.createCommentVNode("",!0),p.renderSlot(y.$slots,"default",{},void 0,!0)],34),_[2]||(_[2]=p.createElementVNode("div",null,null,-1)),l.value?(p.openBlock(),p.createElementBlock("div",Z0,[p.renderSlot(y.$slots,"buttons",{},void 0,!0)])):p.createCommentVNode("",!0)],512)])],4)):p.createCommentVNode("",!0)]))}},rc=vt(q0,[["__scopeId","data-v-4fc05000"]]),X0={class:"sky-dialog-overlay"},J0={class:"sky-dialog-header"},Q0=["title"],e_={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},t_={key:0,class:"sky-dialog-subtitle"},n_={key:0,class:"sky-dialog-swipe-area"},r_={key:0,class:"sky-dialog-footer"},o_={__name:"DialogNext",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},zIndex:{type:[Number,String],default:null},closeText:{type:String,default:"Назад"},closeOnEsc:{type:Boolean,default:!0},hasButtons:{type:Boolean,default:null}},emits:["update:modelValue","close","save"],setup(e,{emit:t}){const n=p.useSlots(),r=e,o=t,a=p.ref(null),i=p.ref(null),s=p.ref(0),u=p.computed(()=>{try{return ne.isIosWebview()}catch{return!1}}),c=p.computed(()=>{try{return ne.isAndroidWebview()}catch{return!1}}),l=p.computed(()=>r.hasButtons!==null?r.hasButtons:!!n.buttons),f=()=>{o("update:modelValue",!1),o("close")},d=y=>{y.key==="Escape"&&r.closeOnEsc&&r.modelValue&&f(),y.key==="Enter"&&r.modelValue&&o("save")},v=y=>{y.touches[0].clientX<35&&(s.value=y.touches[0].clientX)},g=y=>{s.value>0&&s.value<35&&y.changedTouches[0].clientX-s.value>50&&f(),s.value=0},m=()=>{if(!(!c.value||!a.value))try{if(typeof Android<"u"&&Android.getDisplayCutoutTop){const y=Android.getDisplayCutoutTop();if(y&&window.devicePixelRatio>1){const _=y/window.devicePixelRatio;a.value.style.paddingTop=_+"px"}}}catch{}};return p.watch(()=>r.modelValue,y=>{y?(document.body.style.overflow="hidden",p.nextTick(()=>{m()})):document.body.style.overflow=""}),p.onMounted(()=>{document.addEventListener("keydown",d),window.addEventListener("resize",m)}),p.onUnmounted(()=>{document.removeEventListener("keydown",d),window.removeEventListener("resize",m),document.body.style.overflow=""}),(y,_)=>(p.openBlock(),p.createBlock(p.Teleport,{to:"body"},[e.modelValue?(p.openBlock(),p.createElementBlock("div",{key:0,class:"sky-dialogbox sky-dialogbox-next",style:p.normalizeStyle([e.zIndex?{"z-index":e.zIndex}:null])},[p.createElementVNode("div",X0,[p.createElementVNode("div",{ref_key:"dialogContent",ref:a,class:"sky-dialog-content"},[p.createElementVNode("div",J0,[p.createElementVNode("button",{class:"sky-dialog-back",title:e.closeText,onClick:f},[(p.openBlock(),p.createElementBlock("svg",e_,[..._[0]||(_[0]=[p.createElementVNode("path",{fill:"currentColor",d:"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"},null,-1)])]))],8,Q0),p.createElementVNode("div",{class:p.normalizeClass(["sky-dialog-title",{"sky-dialog-title-with-subtitle":e.subtitle}])},[p.createTextVNode(p.toDisplayString(e.title)+" ",1),e.subtitle?(p.openBlock(),p.createElementBlock("span",t_,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)],2)]),p.createElementVNode("div",{ref_key:"dialogPaper",ref:i,class:p.normalizeClass(["sky-dialog-paper",{"sky-dialog-paper-no-footer":!l.value}]),onTouchstart:v,onTouchend:g},[u.value?(p.openBlock(),p.createElementBlock("div",n_)):p.createCommentVNode("",!0),p.renderSlot(y.$slots,"default",{},void 0,!0)],34),l.value?(p.openBlock(),p.createElementBlock("div",r_,[p.renderSlot(y.$slots,"buttons",{},void 0,!0)])):p.createCommentVNode("",!0)],512)])],4)):p.createCommentVNode("",!0)]))}},oc=vt(o_,[["__scopeId","data-v-857b5f70"]]),a_={__name:"Dialog",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},zIndex:{type:[Number,String],default:null},closeText:{type:String,default:""},closeOnEsc:{type:Boolean,default:!0},mode:{type:String,default:null,validator:e=>[null,"next","classic"].includes(e)}},emits:["update:modelValue","close","save"],setup(e,{emit:t}){const n=e,r=t,o=p.computed({get:()=>n.modelValue,set:s=>r("update:modelValue",s)}),a=p.ref(!0);p.onMounted(()=>{try{new URLSearchParams(window.location.search).get("rocketMode")==="false"?a.value=!1:a.value=!0}catch{a.value=!0}});const i=p.computed(()=>n.mode==="next"?oc:n.mode==="classic"?rc:a.value?oc:rc);return(s,u)=>(p.openBlock(),p.createBlock(p.resolveDynamicComponent(i.value),{modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=c=>o.value=c),title:e.title,subtitle:e.subtitle,"z-index":e.zIndex,"close-text":e.closeText,"close-on-esc":e.closeOnEsc,"has-buttons":!!s.$slots.buttons,onClose:u[1]||(u[1]=c=>s.$emit("close")),onSave:u[2]||(u[2]=c=>s.$emit("save"))},p.createSlots({default:p.withCtx(()=>[p.renderSlot(s.$slots,"default")]),_:2},[s.$slots.buttons?{name:"buttons",fn:p.withCtx(()=>[p.renderSlot(s.$slots,"buttons")]),key:"0"}:void 0]),1064,["modelValue","title","subtitle","z-index","close-text","close-on-esc","has-buttons"]))}},i_={class:"sky-header-container"},s_={class:"topmenubox"},u_={class:"header-left"},c_=["title"],l_={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},f_={class:"notPadding"},d_={class:"topmenu-title"},p_={key:0,class:"title-dropdown"},v_={class:"title-dropdown-header"},h_=["onClick"],m_={class:"pageName"},g_={class:"pageVisit"},__={key:0,class:"topmenu-description"},y_={class:"topmenubox-button"},b_={__name:"Header",props:{title:{type:String,default:""},subtitle:{type:String,default:""},showBackButton:{type:Boolean,default:!0},backButtonTitle:{type:String,default:"Назад"},backEvent:{type:Function,default:null},dropdownItems:{type:Array,default:()=>[]},dropdownTitle:{type:String,default:"Останні відвідані розділи"},visitLabel:{type:String,default:"Останнє відвідування"},trackPageName:{type:String,default:""},trackPagePath:{type:String,default:""},appId:{type:String,default:""}},emits:["back","navigate"],setup(e,{emit:t}){const n=e;ne.setSenderId(n.appId||ne.getSenderId());const r=t,o=p.ref(null),a=p.ref(!1),i=p.ref([]),s=p.ref({});ne.isInsideIframe()&&n.trackPageName&&ne.trackVisit(n.trackPageName,n.trackPagePath||`/${n.trackPageName}`);const u=p.ref(null);ne.isInsideIframe()&&ne.getLocalStorageData("rocketMode").then(async k=>{u.value=k,await ne.getLocalStorageData("fallbackRocketMode")===null&&ne.setLocalStorage("fallbackRocketMode",k===!0||k==="true"?"true":"false"),ne.setRocketMode(!0)}),p.onUnmounted(()=>{b()}),ne.isInsideIframe()&&ne.getWindowData("lang").then(k=>{k!=null&&(s.value=k)});function c(k){try{if(!k)return;const T=typeof k=="string"?JSON.parse(k):k;T!=null&&T.pages&&(i.value=Object.values(T.pages))}catch{}}c(localStorage.componentStats),ne.isInsideIframe()&&ne.getLocalStorageData("componentStats").then(k=>{k!=null&&(localStorage.setItem("componentStats",JSON.stringify(k)),c(k))});const l=p.computed(()=>[...n.dropdownItems.length?n.dropdownItems:i.value].sort((T,E)=>E.lastVisit-T.lastVisit)),f=()=>{l.value.length&&(a.value=!a.value)},d=()=>{a.value=!1},v=k=>{r("navigate",k.path),ne.isInsideIframe()&&ne.navigate(k.path),d()},g=k=>{if(!k)return"";const T=s.value[k]||k;return T.charAt(0).toUpperCase()+T.slice(1)},m=k=>{const E=Date.now()-k,D=Math.floor(E/1e3),C=Math.floor(D/60),U=Math.floor(C/60),A=Math.floor(U/24);return A>0?`${A}д тому`:U>0?`${U}год тому`:C>0?`${C}хв тому`:`${D}с тому`},y=k=>{o.value&&!o.value.contains(k.target)&&d()};p.onMounted(()=>{document.addEventListener("click",y,!0)}),p.onUnmounted(()=>{document.removeEventListener("click",y,!0)});const _=p.computed(()=>n.backEvent||n.showBackButton&&ne.isInsideIframe()),b=()=>{if(u.value!==null){const k=u.value===!0||u.value==="true";ne.setRocketMode(k)}},S=()=>l.value.find(k=>k.name!==n.trackPageName&&k.path),w=async()=>{if(n.backEvent)return b(),n.backEvent();let k=S();if(!k&&ne.isInsideIframe()){const T=await ne.getLocalStorageData("componentStats");T&&(c(T),k=S())}b(),k?ne.navigate(k.path):ne.exit()};return(k,T)=>(p.openBlock(),p.createElementBlock("header",i_,[p.createElementVNode("div",s_,[p.createElementVNode("div",u_,[_.value?(p.openBlock(),p.createElementBlock("button",{key:0,class:"btn-back",onClick:w,title:e.backButtonTitle},[(p.openBlock(),p.createElementBlock("svg",l_,[...T[0]||(T[0]=[p.createElementVNode("path",{fill:"currentColor",d:"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"},null,-1)])]))],8,c_)):p.createCommentVNode("",!0),p.createElementVNode("div",{ref_key:"dropdownRef",ref:o,class:"titleAndDesc"},[p.createElementVNode("button",{class:p.normalizeClass(["title-dropdown-toggle",{"title-dropdown-toggle-active":l.value.length}]),onClick:f},[p.renderSlot(k.$slots,"title",{},()=>[p.createElementVNode("h4",f_,[p.createElementVNode("span",d_,p.toDisplayString(e.title),1),l.value.length?(p.openBlock(),p.createElementBlock("svg",{key:0,class:p.normalizeClass(["arrow",{open:a.value}]),width:"12",height:"12",viewBox:"0 0 451.847 451.847",style:{"flex-shrink":"0"}},[...T[1]||(T[1]=[p.createElementVNode("path",{fill:"currentColor",d:"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"},null,-1)])],2)):p.createCommentVNode("",!0)])],!0)],2),a.value&&l.value.length?(p.openBlock(),p.createElementBlock("div",p_,[p.createElementVNode("div",v_,p.toDisplayString(e.dropdownTitle),1),T[2]||(T[2]=p.createElementVNode("div",{class:"title-dropdown-divider"},null,-1)),(p.openBlock(!0),p.createElementBlock(p.Fragment,null,p.renderList(l.value,(E,D)=>(p.openBlock(),p.createElementBlock("div",{key:D,class:"title-dropdown-item",onClick:C=>v(E)},[p.createElementVNode("p",m_,p.toDisplayString(g(E.name)),1),p.createElementVNode("small",g_," ("+p.toDisplayString(e.visitLabel)+" "+p.toDisplayString(m(E.lastVisit))+") ",1)],8,h_))),128))])):p.createCommentVNode("",!0),p.renderSlot(k.$slots,"subtitle",{},()=>[e.subtitle?(p.openBlock(),p.createElementBlock("p",__,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)],!0)],512)]),p.createElementVNode("div",y_,[T[3]||(T[3]=p.createElementVNode("div",null,null,-1)),p.renderSlot(k.$slots,"default",{},void 0,!0),T[4]||(T[4]=p.createElementVNode("div",null,null,-1))])])]))}},E_=vt(b_,[["__scopeId","data-v-8bf4384c"]]),w_={class:"sky-modal-header"},O_=["title"],k_={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},S_={class:"sky-modal-title-wrapper"},C_={class:"sky-modal-title"},N_={key:0,class:"sky-modal-subtitle"},T_={class:"sky-modal-body"},V_={key:0,class:"sky-modal-footer"},I_={__name:"Modal",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},closeTitle:{type:String,default:"Закрити"},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},width:{type:String,default:"100%"},height:{type:String,default:"100%"}},emits:["update:modelValue","close"],setup(e,{emit:t}){const n=e,r=t,o=p.computed(()=>({width:n.width,height:n.height})),a=p.computed(()=>n.width==="100%"&&n.height==="100%"),i=()=>{r("update:modelValue",!1),r("close")},s=()=>{n.closeOnOverlay&&i()},u=c=>{c.key==="Escape"&&n.closeOnEsc&&n.modelValue&&i()};return p.watch(()=>n.modelValue,c=>{c?document.body.style.overflow="hidden":document.body.style.overflow=""}),p.onMounted(()=>{document.addEventListener("keydown",u)}),p.onUnmounted(()=>{document.removeEventListener("keydown",u),document.body.style.overflow=""}),(c,l)=>(p.openBlock(),p.createBlock(xv,{to:"body"},{default:p.withCtx(()=>[e.modelValue?(p.openBlock(),p.createElementBlock("div",{key:0,class:"sky-modal-overlay",onMousedown:p.withModifiers(s,["self"])},[p.createElementVNode("div",{class:p.normalizeClass(["sky-modal",{"sky-modal--fullscreen":a.value}]),style:p.normalizeStyle(o.value)},[p.createElementVNode("div",w_,[p.createElementVNode("button",{class:"sky-modal-back",onClick:i,title:e.closeTitle},[(p.openBlock(),p.createElementBlock("svg",k_,[...l[0]||(l[0]=[p.createElementVNode("path",{fill:"currentColor",d:"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"},null,-1)])]))],8,O_),p.createElementVNode("div",S_,[p.createElementVNode("h4",C_,p.toDisplayString(e.title),1),e.subtitle?(p.openBlock(),p.createElementBlock("div",N_,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)])]),p.createElementVNode("div",T_,[p.renderSlot(c.$slots,"default",{},void 0,!0)]),c.$slots.footer?(p.openBlock(),p.createElementBlock("div",V_,[p.renderSlot(c.$slots,"footer",{},void 0,!0)])):p.createCommentVNode("",!0)],6)],32)):p.createCommentVNode("",!0)]),_:3}))}},D_=vt(I_,[["__scopeId","data-v-f48c6fd4"]]),$_={key:0,class:"sky-alert-icon",width:"16",height:"16",viewBox:"0 0 20 20",fill:"none"},A_={class:"sky-alert-body"},P_={__name:"SkyAlert",props:{tone:{type:String,default:"info",validator:e=>["success","error","warning","info"].includes(e)},showIcon:{type:Boolean,default:!0}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",{class:p.normalizeClass(["sky-alert",`sky-alert-${e.tone}`])},[e.showIcon?(p.openBlock(),p.createElementBlock("svg",$_,[...n[0]||(n[0]=[p.createElementVNode("path",{d:"M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0zm1 15H9v-2h2v2zm0-4H9V5h2v6z",fill:"currentColor"},null,-1)])])):p.createCommentVNode("",!0),p.createElementVNode("span",A_,[p.renderSlot(t.$slots,"default",{},void 0,!0)])],2))}},x_=vt(P_,[["__scopeId","data-v-ae1976b5"]]),R_={key:0,class:"sky-badge-dot"},j_={__name:"SkyBadge",props:{tone:{type:String,default:"default",validator:e=>["success","error","warning","pending","info","default"].includes(e)},label:{type:String,default:""},dot:{type:Boolean,default:!0}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("span",{class:p.normalizeClass(["sky-badge",`sky-badge-${e.tone}`])},[e.dot?(p.openBlock(),p.createElementBlock("span",R_)):p.createCommentVNode("",!0),p.renderSlot(t.$slots,"default",{},()=>[p.createTextVNode(p.toDisplayString(e.label),1)],!0)],2))}},L_=vt(j_,[["__scopeId","data-v-03b6ebdb"]]),B_=["disabled"],U_={key:0,class:"sky-btn-spinner"},M_={__name:"SkyButton",props:{variant:{type:String,default:"primary",validator:e=>["primary","danger","secondary","outline"].includes(e)},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1},icon:{type:Boolean,default:!1}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("button",p.mergeProps({class:["sky-btn",[`sky-btn-${e.variant}`,{"sky-btn-block":e.block,"sky-btn-loading":e.loading,"sky-btn-icon":e.icon}]],disabled:e.disabled||e.loading},t.$attrs),[e.loading?(p.openBlock(),p.createElementBlock("span",U_)):p.createCommentVNode("",!0),p.renderSlot(t.$slots,"default",{},void 0,!0)],16,B_))}},H_=vt(M_,[["__scopeId","data-v-755083cb"]]),F_={class:"sky-card"},z_={key:0,class:"sky-card-ribbon"},K_={key:1,class:"sky-card-header"},W_={key:2,class:"sky-card-body"},G_={key:3,class:"sky-card-footer"},Y_={__name:"SkyCard",setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",F_,[t.$slots.ribbon?(p.openBlock(),p.createElementBlock("div",z_,[p.renderSlot(t.$slots,"ribbon",{},void 0,!0)])):p.createCommentVNode("",!0),t.$slots.header?(p.openBlock(),p.createElementBlock("div",K_,[p.renderSlot(t.$slots,"header",{},void 0,!0)])):p.createCommentVNode("",!0),t.$slots.default?(p.openBlock(),p.createElementBlock("div",W_,[p.renderSlot(t.$slots,"default",{},void 0,!0)])):p.createCommentVNode("",!0),t.$slots.footer?(p.openBlock(),p.createElementBlock("div",G_,[p.renderSlot(t.$slots,"footer",{},void 0,!0)])):p.createCommentVNode("",!0)]))}},Z_=vt(Y_,[["__scopeId","data-v-6a2d353e"]]),q_={class:"sky-card-header-content"},X_={key:0,class:"sky-card-header-icon"},J_=["src","alt"],Q_={class:"sky-card-header-titles"},ey={class:"sky-card-header-title"},ty={key:0,class:"sky-card-header-subtitle"},ny={__name:"SkyCardHeader",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},iconSrc:{type:String,default:""}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",q_,[t.$slots.icon||e.iconSrc?(p.openBlock(),p.createElementBlock("div",X_,[p.renderSlot(t.$slots,"icon",{},()=>[e.iconSrc?(p.openBlock(),p.createElementBlock("img",{key:0,src:e.iconSrc,alt:e.title,width:"48",height:"48"},null,8,J_)):p.createCommentVNode("",!0)],!0)])):p.createCommentVNode("",!0),p.createElementVNode("div",Q_,[p.createElementVNode("h3",ey,p.toDisplayString(e.title),1),e.subtitle?(p.openBlock(),p.createElementBlock("p",ty,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)])]))}},ry=vt(ny,[["__scopeId","data-v-ab38d71f"]]),oy={class:"sky-card-row"},ay={class:"sky-card-row-label"},iy={class:"sky-card-row-value"},sy={__name:"SkyCardRow",props:{label:{type:String,required:!0},value:{type:[String,Number],default:""}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",oy,[p.createElementVNode("span",ay,p.toDisplayString(e.label),1),p.renderSlot(t.$slots,"default",{},()=>[p.createElementVNode("span",iy,p.toDisplayString(e.value),1)],!0)]))}},uy=vt(sy,[["__scopeId","data-v-8bd0b0e7"]]),cy=["checked","disabled"],ly={key:0,class:"sky-checkbox__track"},fy={key:1,class:"sky-checkbox__box"},dy={key:2,class:"sky-checkbox__label"},py=p.defineComponent({__name:"SkyCheckbox",props:{modelValue:{type:[Boolean,Array]},value:{},switch:{type:Boolean},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,o=n.switch;function a(s){const u=s.target;if(Array.isArray(n.modelValue)){const c=[...n.modelValue];u.checked?c.push(n.value):c.splice(c.indexOf(n.value),1),r("update:modelValue",c)}else r("update:modelValue",u.checked)}const i=()=>Array.isArray(n.modelValue)?n.modelValue.includes(n.value):n.modelValue;return(s,u)=>(p.openBlock(),p.createElementBlock("label",{class:p.normalizeClass(["sky-checkbox",{"sky-checkbox--switch":p.unref(o),"sky-checkbox--disabled":e.disabled}])},[p.createElementVNode("input",{type:"checkbox",class:"sky-checkbox__input",checked:i(),disabled:e.disabled,onChange:a},null,40,cy),p.unref(o)?(p.openBlock(),p.createElementBlock("span",ly,[...u[0]||(u[0]=[p.createElementVNode("span",{class:"sky-checkbox__thumb"},null,-1)])])):(p.openBlock(),p.createElementBlock("span",fy,[...u[1]||(u[1]=[p.createElementVNode("svg",{class:"sky-checkbox__check",viewBox:"0 0 10 8",fill:"none"},[p.createElementVNode("path",{d:"M1 4L3.5 6.5L9 1",stroke:"white","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])),s.$slots.default?(p.openBlock(),p.createElementBlock("span",dy,[p.renderSlot(s.$slots,"default",{},void 0,!0)])):p.createCommentVNode("",!0)],2))}}),Rv=vt(py,[["__scopeId","data-v-f4591efa"]]),vy=["id","type","value","placeholder","disabled"],hy=p.defineComponent({__name:"SkyInput",props:{modelValue:{},type:{},placeholder:{},id:{},disabled:{type:Boolean},state:{},hint:{}},emits:["update:modelValue"],setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock(p.Fragment,null,[p.createElementVNode("input",{id:e.id,class:p.normalizeClass(["sky-input",e.state]),type:e.type??"text",value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,onInput:n[0]||(n[0]=r=>t.$emit("update:modelValue",r.target.value))},null,42,vy),e.hint?(p.openBlock(),p.createElementBlock("small",{key:0,class:p.normalizeClass(["setting-hint",e.state])},p.toDisplayString(e.hint),3)):p.createCommentVNode("",!0)],64))}}),my=vt(hy,[["__scopeId","data-v-6fe5a450"]]),gy={class:"sky-loader"},_y={key:0,class:"sky-loader-text"},yy={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",width:"40px",height:"50px",viewBox:"0 0 44.96 56.12",style:{"enable-background":"new 0 0 44.96 56.12",fill:"#ffffff",display:"block",margin:"auto","margin-top":"39px"},"xml:space":"preserve"},by=p.defineComponent({__name:"SkyLoader",props:{text:{}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",gy,[e.text?(p.openBlock(),p.createElementBlock("div",_y,p.toDisplayString(e.text),1)):p.createCommentVNode("",!0),(p.openBlock(),p.createElementBlock("svg",yy,[...n[0]||(n[0]=[p.createElementVNode("path",{d:"m0.84382,47.05821l28.6299,0c4.64652,0 4.86634,-4.02966 4.86634,-5.8895c0,-2.16243 -0.51403,-4.63853 -5.01514,-6.10722l-20.36828,-6.73085c-0.80824,-0.23248 -4.05472,-1.39119 -6.12097,-4.02597c-2.36046,-2.94475 -2.65467,-7.19581 -2.65467,-10.21806c0,-3.25103 0.36861,-7.19581 3.3175,-10.06307c2.65467,-2.6237 5.97893,-3.01855 8.48819,-3.01855l29.73235,0l0,8.12942l-26.41485,0c-1.32565,0 -2.87787,0.07749 -4.05472,1.23989c-1.25463,1.2362 -1.32565,3.16985 -1.32565,4.17726c0,2.40229 0.66282,4.71972 4.79194,6.1146l18.88707,6.26958c3.46291,1.1624 5.83014,2.3248 7.3756,3.86729c3.10106,3.09605 3.39528,7.89694 3.39528,10.44685c0,3.40602 -0.44301,7.20319 -2.58028,10.07045c-2.58366,3.48351 -5.83014,3.86729 -9.22203,3.86729l-31.72758,0l0,-8.12942z"},null,-1)])])),n[1]||(n[1]=p.createElementVNode("div",{class:"sky-loader-double-ring"},[p.createElementVNode("div")],-1))]))}}),Ey=vt(by,[["__scopeId","data-v-934935ba"]]),wy=["id","value","disabled"],Oy={key:0,value:"",disabled:"",hidden:""},ky=["value"],Sy=p.defineComponent({__name:"SkySelect",props:{modelValue:{},options:{},id:{},disabled:{type:Boolean},state:{},placeholder:{},hint:{}},emits:["update:modelValue"],setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock(p.Fragment,null,[p.createElementVNode("select",{id:e.id,class:p.normalizeClass(["sky-select",e.state]),value:e.modelValue,disabled:e.disabled,onChange:n[0]||(n[0]=r=>t.$emit("update:modelValue",r.target.value))},[e.placeholder?(p.openBlock(),p.createElementBlock("option",Oy,p.toDisplayString(e.placeholder),1)):p.createCommentVNode("",!0),(p.openBlock(!0),p.createElementBlock(p.Fragment,null,p.renderList(e.options,r=>(p.openBlock(),p.createElementBlock("option",{key:r.value,value:r.value},p.toDisplayString(r.text),9,ky))),128))],42,wy),e.hint?(p.openBlock(),p.createElementBlock("small",{key:0,class:p.normalizeClass(["setting-hint",e.state])},p.toDisplayString(e.hint),3)):p.createCommentVNode("",!0)],64))}}),Cy=vt(Sy,[["__scopeId","data-v-dc5ff9bc"]]),Ny="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20width='1024'%20height='1024'%3e%3cmask%20id='doorCutout'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='1024'%20height='1024'%3e%3crect%20width='1024'%20height='1024'%20fill='white'/%3e%3cpath%20d='M0%200%20C0.71968964%20-0.00700928%201.43937927%20-0.01401855%202.18087769%20-0.02124023%20C4.53968888%20-0.03872211%206.89728194%20-0.02723241%209.25610352%20-0.01367188%20C10.90845467%20-0.01636993%2012.56080427%20-0.02025496%2014.21315002%20-0.02526855%20C17.6687844%20-0.03115055%2021.12400388%20-0.02264408%2024.57958984%20-0.00390625%20C28.99232552%200.01886496%2033.40408691%200.00576414%2037.81678677%20-0.01819611%20C41.22706843%20-0.03270484%2044.63712214%20-0.02802469%2048.04741096%20-0.01768494%20C49.67358581%20-0.0150307%2051.29978186%20-0.01824119%2052.92593193%20-0.02760315%20C69.87342689%20-0.10376397%2069.87342689%20-0.10376397%2075.44750977%204.51757812%20C81.77544038%2011.15115655%2081.12718673%2019.01439831%2081.01513672%2027.65429688%20C81.01372463%2029.18255059%2081.01452136%2030.7108077%2081.01734924%2032.23905945%20C81.01877857%2036.36891989%2080.98946805%2040.49804807%2080.95447946%2044.62773895%20C80.92313473%2048.95051825%2080.92027884%2053.273316%2080.91435242%2057.59619141%20C80.89883773%2065.773633%2080.85784165%2073.95073871%2080.80760497%2082.12803268%20C80.74116384%2093.18398679%2080.71425777%20104.24003333%2080.68509388%20115.29613686%20C80.63813785%20132.70353533%2080.5385101%20150.11022514%2080.44750977%20167.51757812%20C47.44750977%20167.51757812%2014.44750977%20167.51757812%20-19.55249023%20167.51757812%20C-19.75400541%20128.96996495%20-19.75400541%20128.96996495%20-19.79663086%20112.81054688%20C-19.82629345%20101.65499371%20-19.86115507%2090.49962943%20-19.9296875%2079.34423828%20C-19.9795767%2071.2196221%20-20.01179411%2063.09515924%20-20.02293271%2054.97039413%20C-20.02944217%2050.66966519%20-20.044704%2046.36937479%20-20.08114052%2042.06878662%20C-20.11518745%2038.01724955%20-20.12552586%2033.96632987%20-20.11802864%2029.91466331%20C-20.11939933%2028.43121162%20-20.12928048%2026.94773837%20-20.14851761%2025.46441078%20C-20.31994571%2011.55888315%20-20.31994571%2011.55888315%20-16.08115768%206.03028107%20C-11.33789555%201.33655478%20-6.67499482%200.01643261%200%200%20Z%20'%20fill='black'%20transform='translate(481.552490234375,561.482421875)'/%3e%3c/mask%3e%3cg%20mask='url(%23doorCutout)'%3e%3cpath%20d='M0%200%20C4.77025411%203.24811326%209.54995152%206.4822498%2014.33056641%209.71508789%20C15.31726318%2010.38239929%2016.30395996%2011.04971069%2017.32055664%2011.73724365%20C27.56943173%2018.65721894%2037.89827701%2025.45356978%2048.23681641%2032.23852539%20C63.70757381%2042.39575713%2079.08876899%2052.67577653%2094.4140625%2063.05102539%20C107.95573396%2072.21541636%20121.56891245%2081.26359889%20135.23681641%2090.23852539%20C150.70586805%20100.39616199%20166.08681738%20110.67430759%20181.41104126%20121.04901123%20C194.10175317%20129.63768216%20206.84992823%20138.13219047%20219.65756226%20146.54550171%20C226.93757749%20151.32917217%20234.20919481%20156.12561112%20241.48095703%20160.92181396%20C243.34111617%20162.14806389%20245.20180618%20163.37350884%20247.06298828%20164.59820557%20C252.65071885%20168.27520707%20258.22895331%20171.96583466%20263.7940979%20175.67694092%20C265.52028129%20176.82484576%20267.24966244%20177.96795933%20268.98251343%20179.10577393%20C283.07952443%20188.36868628%20295.16273494%20197.52844414%20300.04541016%20214.55883789%20C302.97062567%20228.72091575%20301.32633387%20242.71379426%20293.88916016%20255.24243164%20C286.10852553%20266.99615628%20274.11859478%20274.86442543%20260.23681641%20277.73852539%20C258.28165343%20277.82493738%20256.32376637%20277.85623255%20254.36669922%20277.85205078%20C253.18577698%20277.85197525%20252.00485474%20277.85189972%20250.78814697%20277.8518219%20C249.51823914%20277.84666061%20248.2483313%20277.84149933%20246.93994141%20277.83618164%20C245.63603455%20277.83476669%20244.33212769%20277.83335175%20242.9887085%20277.83189392%20C239.52978585%20277.82808406%20236.0709055%20277.8182669%20232.61199951%20277.80718994%20C229.07939221%20277.79694285%20225.54677805%20277.79238924%20222.01416016%20277.78735352%20C215.08836158%20277.77664321%20208.16259103%20277.75958523%20201.23681641%20277.73852539%20C201.23795557%20278.34510426%20201.23909473%20278.95168312%20201.24026841%20279.57664317%20C201.30746129%20315.55953322%20201.35890569%20351.54241244%20201.39001239%20387.52535222%20C201.39376433%20391.84974664%20201.39764732%20396.17414093%20201.40161133%20400.49853516%20C201.40239826%20401.35941279%20201.40318519%20402.22029042%20201.40399597%20403.10725526%20C201.41703558%20417.03062396%20201.44068144%20430.95395535%20201.46827479%20444.87730195%20C201.49636923%20459.17314928%20201.51300119%20473.46897712%20201.51908189%20487.76485091%20C201.52318997%20496.58001117%20201.53614612%20505.39506595%20201.56056581%20514.21019373%20C201.57647289%20520.26216649%20201.58120555%20526.31408503%20201.57732054%20532.36607715%20C201.57540669%20535.85324376%20201.57825679%20539.34022656%20201.59443283%20542.82736015%20C201.60943924%20546.61960446%20201.60573992%20550.41140365%20201.59757996%20554.20365906%20C201.60631848%20555.29027618%20201.615057%20556.3768933%20201.62406033%20557.49643821%20C201.53155137%20573.48857632%20197.13157326%20586.59455363%20186.02587891%20598.19165039%20C172.60172101%20610.45012511%20156.23132748%20612.35118168%20138.91059875%20612.23973083%20C137.21090757%20612.2436326%20135.51121967%20612.24928001%20133.81153935%20612.25650173%20C129.18243172%20612.27114826%20124.55366801%20612.26114008%20119.92457187%20612.24676502%20C114.91636288%20612.23559741%20109.90819987%20612.24761677%20104.8999939%20612.25660706%20C95.10615172%20612.27050136%2085.31243896%20612.26301198%2075.518603%20612.24793147%20C64.10406126%20612.23102762%2052.68955135%20612.23428707%2041.27500095%20612.23802555%20C20.90539448%20612.24389695%200.53584992%20612.22975977%20-19.83374023%20612.20507812%20C-39.58376383%20612.18115002%20-59.33370474%20612.17407849%20-79.08374023%20612.18457031%20C-100.61305041%20612.19598691%20-122.14232239%20612.19790113%20-143.67163211%20612.18347222%20C-145.96839797%20612.18194644%20-148.26516384%20612.18042608%20-150.5619297%20612.17891121%20C-151.69186566%20612.17815339%20-152.82180162%20612.17739558%20-153.98597806%20612.1766148%20C-161.93645035%20612.17187846%20-169.88690553%20612.17371873%20-177.83737755%20612.17797661%20C-187.52816674%20612.18290983%20-197.21887787%20612.17688934%20-206.90964922%20612.15708231%20C-211.85090274%20612.1472306%20-216.79203754%20612.14208234%20-221.73329735%20612.14997482%20C-226.26140177%20612.15705931%20-230.7892672%20612.15016259%20-235.31734023%20612.13237119%20C-236.95033363%20612.12834467%20-238.58334901%20612.1292962%20-240.21633407%20612.13589006%20C-258.08996439%20612.20185402%20-272.27416072%20608.69688708%20-285.54052734%20596.08227539%20C-296.5468394%20584.47632243%20-298.92412223%20570.50718428%20-298.88343811%20555.04544067%20C-298.88429254%20553.86016749%20-298.88514696%20552.67489431%20-298.88602728%20551.45370376%20C-298.88738794%20548.17219027%20-298.88426895%20544.89071643%20-298.87924922%20541.60920763%20C-298.87492603%20538.06735773%20-298.87639247%20534.52550964%20-298.87715149%20530.98365784%20C-298.87767554%20524.8499419%20-298.87454115%20518.71623661%20-298.86891365%20512.58252335%20C-298.86078256%20503.71423175%20-298.85818178%20494.8459453%20-298.85692566%20485.97765039%20C-298.85473767%20471.58901987%20-298.84808444%20457.20039502%20-298.83862305%20442.81176758%20C-298.82944238%20428.83553089%20-298.82236475%20414.85929574%20-298.81811523%20400.88305664%20C-298.81785251%20400.02139126%20-298.81758979%20399.15972588%20-298.8173191%20398.27194943%20C-298.81601405%20393.94917665%20-298.81475035%20389.62640386%20-298.8135072%20385.30363107%20C-298.80314247%20349.44859184%20-298.78553103%20313.59355906%20-298.76318359%20277.73852539%20C-299.40416992%20277.74740784%20-300.04515625%20277.75629028%20-300.70556641%20277.76544189%20C-307.45547447%20277.85482983%20-314.20521096%20277.91463373%20-320.95556641%20277.95825195%20C-323.46540165%20277.97820704%20-325.97519139%20278.00538092%20-328.48486328%20278.0402832%20C-348.80799272%20278.31557659%20-368.66938574%20278.38482639%20-384.45068359%20263.80102539%20C-393.99076069%20254.13445739%20-398.57107239%20241.89526285%20-399.07568359%20228.42602539%20C-398.73538597%20213.3678555%20-393.28635008%20200.77279137%20-382.53585815%20190.30438232%20C-376.7991329%20185.23695979%20-370.10257225%20181.27951023%20-363.66650391%20177.17529297%20C-359.73984285%20174.6710173%20-355.83613209%20172.13189378%20-351.93063354%20169.5947876%20C-349.89653031%20168.27369407%20-347.86130242%20166.95433065%20-345.82498169%20165.63665771%20C-336.43706498%20159.55523653%20-327.16208116%20153.31427141%20-317.90719604%20147.03289795%20C-301.69307684%20136.02910311%20-285.38256576%20125.18159042%20-269.00292969%20114.42602539%20C-255.35566021%20105.46147677%20-241.78420572%2096.39227956%20-228.26318359%2087.23852539%20C-212.91876201%2076.85032679%20-197.4921545%2066.59690855%20-182.00292969%2056.42602539%20C-168.35562859%2047.46145599%20-154.78552199%2038.3903693%20-141.26318359%2029.23852539%20C-127.12242047%2019.67603921%20-112.95779321%2010.15062943%20-98.72607422%200.72387695%20C-96.81938655%20-0.54018636%20-94.91422764%20-1.80655921%20-93.01074219%20-3.07543945%20C-56.60316438%20-27.33199629%20-35.65391528%20-24.285668%200%200%20Z%20'%20fill='%23FEFEFE'%20transform='translate(560.76318359375,217.261474609375)'/%3e%3c/g%3e%3c/svg%3e",Ty={class:"sky-tile-card"},Vy={class:"sky-tile-card-head"},Iy=["src","alt"],Dy={class:"sky-tile-card-titles"},$y={class:"sky-tile-card-title"},Ay={key:0,class:"sky-tile-card-subtitle"},Py={key:0,class:"sky-tile-card-body"},xy={__name:"SkyTileCard",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},imageUrl:{type:String,default:""}},setup(e){return(t,n)=>(p.openBlock(),p.createElementBlock("div",Ty,[p.createElementVNode("div",Vy,[p.createElementVNode("div",{class:p.normalizeClass(["sky-tile-card-icon",{"is-default":!e.imageUrl&&!t.$slots.icon}])},[p.renderSlot(t.$slots,"icon",{},()=>[p.createElementVNode("img",{src:e.imageUrl||p.unref(Ny),alt:e.title},null,8,Iy)],!0)],2),p.createElementVNode("div",Dy,[p.createElementVNode("h3",$y,p.toDisplayString(e.title),1),e.subtitle?(p.openBlock(),p.createElementBlock("p",Ay,p.toDisplayString(e.subtitle),1)):p.createCommentVNode("",!0)])]),t.$slots.default?(p.openBlock(),p.createElementBlock("div",Py,[p.renderSlot(t.$slots,"default",{},void 0,!0)])):p.createCommentVNode("",!0)]))}},Ry=vt(xy,[["__scopeId","data-v-ea9d56a4"]]),jy={class:"sky-checkbox-filter"},Ly={key:0,class:"header-filter-block__title"},By={key:1,class:"header-filter-block__title"},Uy={key:2,class:"header-filter-block__count"},My={class:"dialog-buttons"},Hy={class:"filtersCurtain__innerWrap_middle"},Fy=["placeholder"],zy={class:"sky-checkbox-filter__options"},Ky={class:"dialog-buttons",style:{"padding-top":"10px","padding-bottom":"0"}},Wy=p.defineComponent({__name:"SkyCheckboxFilter",props:{title:{},options:{},modelValue:{default:()=>[]},selectAllLabel:{default:"Вибрати всі"},clearLabel:{default:"Очистити"},doneLabel:{default:"Готово"},searchPlaceholder:{default:"Пошук"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,o=p.ref(null),a=p.ref({}),i=p.ref(!1),s=p.ref(""),u=p.computed(()=>{const S=s.value.trim().toLowerCase();return S?n.options.filter(w=>w.name.toLowerCase().includes(S)):n.options}),c=p.computed({get:()=>n.modelValue,set:S=>r("update:modelValue",S)}),l=p.computed(()=>{if(c.value.length!==1)return"";const S=n.options.find(w=>w.value===c.value[0]);return S?S.name.length<20?S.name:S.name.slice(0,20)+"...":""});function f(){if(!n.disabled){if(i.value){v();return}d()}}function d(){i.value=!0,s.value="",p.nextTick(()=>{const S=o.value;if(!S)return;const w=S.getBoundingClientRect();a.value={left:`${w.left}px`,top:`${w.bottom+5}px`}})}function v(){i.value=!1,s.value=""}function g(){c.value=n.options.map(S=>S.value)}function m(){c.value=[]}function y(){s.value=""}function _(S){var T;if(!i.value)return;const w=S.target;if((T=o.value)!=null&&T.contains(w))return;const k=document.querySelector(".sky-checkbox-filter__dropdown");k&&k.contains(w)||v()}let b="";return p.watch(i,S=>{S?(b=document.body.style.overflow,document.body.style.overflow="hidden"):document.body.style.overflow=b}),p.onMounted(()=>document.addEventListener("click",_)),p.onBeforeUnmount(()=>{document.removeEventListener("click",_),i.value&&(document.body.style.overflow=b)}),(S,w)=>(p.openBlock(),p.createElementBlock("div",jy,[p.createElementVNode("div",{ref_key:"triggerRef",ref:o,class:p.normalizeClass(["header-filter-block",{"hf-check":i.value,"hf-disabled":e.disabled}]),onClick:f},[c.value.length===1?(p.openBlock(),p.createElementBlock("span",Ly,p.toDisplayString(l.value||e.title),1)):(p.openBlock(),p.createElementBlock("span",By,p.toDisplayString(e.title)+p.toDisplayString(c.value.length>0?":":""),1)),!e.disabled&&c.value.length>1?(p.openBlock(),p.createElementBlock("div",Uy,p.toDisplayString(c.value.length),1)):p.createCommentVNode("",!0),w[2]||(w[2]=p.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"sol-caret"},[p.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1))],2),p.createVNode(p.Transition,{name:"fade-select"},{default:p.withCtx(()=>[i.value?(p.openBlock(),p.createElementBlock("div",{key:0,class:"selectColumn selectHeaderFilter sky-checkbox-filter__dropdown",style:p.normalizeStyle(a.value)},[p.createElementVNode("div",My,[p.createElementVNode("span",{style:{cursor:"pointer"},onClick:g},p.toDisplayString(e.selectAllLabel),1),p.createElementVNode("span",{style:{cursor:"pointer"},onClick:m},p.toDisplayString(e.clearLabel),1)]),p.createElementVNode("div",Hy,[p.withDirectives(p.createElementVNode("input",{"onUpdate:modelValue":w[0]||(w[0]=k=>s.value=k),class:"searchInput",type:"text",placeholder:e.searchPlaceholder},null,8,Fy),[[p.vModelText,s.value]]),s.value.trim()?(p.openBlock(),p.createElementBlock("i",{key:0,class:"filtersCurtain__innerWrap_middleIcon",onClick:y},"×")):p.createCommentVNode("",!0)]),p.createElementVNode("div",zy,[(p.openBlock(!0),p.createElementBlock(p.Fragment,null,p.renderList(u.value,k=>(p.openBlock(),p.createElementBlock("div",{key:k.value,class:"filter-option"},[p.createVNode(Rv,{modelValue:c.value,"onUpdate:modelValue":w[1]||(w[1]=T=>c.value=T),value:k.value},{default:p.withCtx(()=>[p.createTextVNode(p.toDisplayString(k.name),1)]),_:2},1032,["modelValue","value"])]))),128))]),w[3]||(w[3]=p.createElementVNode("hr",{style:{"margin-top":"0","margin-bottom":"2px"}},null,-1)),p.createElementVNode("div",Ky,[p.createElementVNode("span",{style:{cursor:"pointer"},onClick:v},p.toDisplayString(e.doneLabel),1)])],4)):p.createCommentVNode("",!0)]),_:1})]))}}),Gy=vt(Wy,[["__scopeId","data-v-b5219e61"]]);var Ai;function Yy(e){return Mv(e)||Hv(e)||zs(e)||Uv()}function Df(e,t,n,r){var o=ac(Ho(e.prototype),t,n);return typeof o=="function"?function(a){return o.apply(n,a)}:o}function ac(){return ac=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=Zy(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},ac.apply(null,arguments)}function Zy(e,t){for(;!{}.hasOwnProperty.call(e,t)&&(e=Ho(e))!==null;);return e}function $f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ge(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$f(Object(n),!0).forEach(function(r){he(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$f(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function de(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(v,g,m,y){var _=g&&g.prototype instanceof s?g:s,b=Object.create(_.prototype);return Pt(b,"_invoke",function(S,w,k){var T,E,D,C=0,U=k||[],A=!1,F={p:0,n:0,v:e,a:V,f:V.bind(e,4),d:function(M,Z){return T=M,E=0,D=e,F.n=Z,i}};function V($,M){for(E=$,D=M,t=0;!A&&C&&!Z&&t<U.length;t++){var Z,Y=U[t],N=F.p,Q=Y[2];$>3?(Z=Q===M)&&(D=Y[(E=Y[4])?5:(E=3,3)],Y[4]=Y[5]=e):Y[0]<=N&&((Z=$<2&&N<Y[1])?(E=0,F.v=M,F.n=Y[1]):N<Q&&(Z=$<3||Y[0]>M||M>Q)&&(Y[4]=$,Y[5]=M,F.n=Q,E=0))}if(Z||$>1)return i;throw A=!0,M}return function($,M,Z){if(C>1)throw TypeError("Generator is already running");for(A&&M===1&&V(M,Z),E=M,D=Z;(t=E<2?e:D)||!A;){T||(E?E<3?(E>1&&(F.n=-1),V(E,D)):F.n=D:F.v=D);try{if(C=2,T){if(E||($="next"),t=T[$]){if(!(t=t.call(T,D)))throw TypeError("iterator result is not an object");if(!t.done)return t;D=t.value,E<2&&(E=0)}else E===1&&(t=T.return)&&t.call(T),E<2&&(D=TypeError("The iterator does not provide a '"+$+"' method"),E=1);T=e}else if((t=(A=F.n<0)?D:S.call(w,F))!==i)break}catch(Y){T=e,E=1,D=Y}finally{C=1}}return{value:t,done:A}}}(v,m,y),!0),b}var i={};function s(){}function u(){}function c(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(Pt(t={},r,function(){return this}),t),f=c.prototype=s.prototype=Object.create(l);function d(v){return Object.setPrototypeOf?Object.setPrototypeOf(v,c):(v.__proto__=c,Pt(v,o,"GeneratorFunction")),v.prototype=Object.create(f),v}return u.prototype=c,Pt(f,"constructor",c),Pt(c,"constructor",u),u.displayName="GeneratorFunction",Pt(c,o,"GeneratorFunction"),Pt(f),Pt(f,o,"Generator"),Pt(f,r,function(){return this}),Pt(f,"toString",function(){return"[object Generator]"}),(de=function(){return{w:a,m:d}})()}function Pt(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Pt=function(i,s,u,c){function l(f,d){Pt(i,f,function(v){return this._invoke(f,d,v)})}s?o?o(i,s,{value:u,enumerable:!c,configurable:!c,writable:!c}):i[s]=u:(l("next",0),l("throw",1),l("return",2))},Pt(e,t,n,r)}function Af(e,t,n,r,o,a,i){try{var s=e[a](i),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(r,o)}function Me(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(u){Af(a,r,o,i,s,"next",u)}function s(u){Af(a,r,o,i,s,"throw",u)}i(void 0)})}}function hi(e,t,n){return t=Ho(t),qy(e,Lv()?Reflect.construct(t,n||[],Ho(e).constructor):t.apply(e,n))}function qy(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jv(e)}function jv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lv(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Lv=function(){return!!e})()}function Ho(e){return Ho=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ho(e)}function mi(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ic(e,t)}function ic(e,t){return ic=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},ic(e,t)}function Be(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Xy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Bv(r.key),r)}}function Ue(e,t,n){return t&&Xy(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function he(e,t,n){return(t=Bv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bv(e){var t=Jy(e,"string");return typeof t=="symbol"?t:t+""}function Jy(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ge(e,t){return Mv(e)||Qy(e,t)||zs(e,t)||Uv()}function Uv(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qy(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,o,a,i,s=[],u=!0,c=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(l){c=!0,o=l}finally{try{if(!u&&n.return!=null&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}function Mv(e){if(Array.isArray(e))return e}function ce(e){return t2(e)||Hv(e)||zs(e)||e2()}function e2(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hv(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function t2(e){if(Array.isArray(e))return hs(e)}function $t(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=zs(e))||t){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(c){throw c},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
4
4
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var c=n.next();return i=c.done,c},e:function(c){s=!0,a=c},f:function(){try{i||n.return==null||n.return()}finally{if(s)throw a}}}}function zs(e,t){if(e){if(typeof e=="string")return hs(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hs(e,t):void 0}}function hs(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}(function(){(function(e){try{if(typeof document<"u"){var t=document.createElement("style");t.setAttribute("type","text/css"),t.appendChild(document.createTextNode("".concat(e))),document.head.appendChild(t)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})(".Vue-Toastification__container{z-index:9999;position:fixed;padding:4px;width:600px;box-sizing:border-box;display:flex;min-height:100%;color:#fff;flex-direction:column;pointer-events:none}@media only screen and (min-width:600px){.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right,.Vue-Toastification__container.top-center{top:1em}.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right,.Vue-Toastification__container.bottom-center{bottom:1em;flex-direction:column-reverse}.Vue-Toastification__container.top-left,.Vue-Toastification__container.bottom-left{left:1em}.Vue-Toastification__container.top-left .Vue-Toastification__toast,.Vue-Toastification__container.bottom-left .Vue-Toastification__toast{margin-right:auto}@supports not (-moz-appearance: none){.Vue-Toastification__container.top-left .Vue-Toastification__toast--rtl,.Vue-Toastification__container.bottom-left .Vue-Toastification__toast--rtl{margin-right:unset;margin-left:auto}}.Vue-Toastification__container.top-right,.Vue-Toastification__container.bottom-right{right:1em}.Vue-Toastification__container.top-right .Vue-Toastification__toast,.Vue-Toastification__container.bottom-right .Vue-Toastification__toast{margin-left:auto}@supports not (-moz-appearance: none){.Vue-Toastification__container.top-right .Vue-Toastification__toast--rtl,.Vue-Toastification__container.bottom-right .Vue-Toastification__toast--rtl{margin-left:unset;margin-right:auto}}.Vue-Toastification__container.top-center,.Vue-Toastification__container.bottom-center{left:50%;margin-left:-300px}.Vue-Toastification__container.top-center .Vue-Toastification__toast,.Vue-Toastification__container.bottom-center .Vue-Toastification__toast{margin-left:auto;margin-right:auto}}@media only screen and (max-width:600px){.Vue-Toastification__container{width:100vw;padding:0;left:0;margin:0}.Vue-Toastification__container .Vue-Toastification__toast{width:100%}.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right,.Vue-Toastification__container.top-center{top:0}.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right,.Vue-Toastification__container.bottom-center{bottom:0;flex-direction:column-reverse}}.Vue-Toastification__toast{display:inline-flex;position:relative;max-height:800px;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:22px 24px;border-radius:8px;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d;justify-content:space-between;font-family:Lato,Helvetica,Roboto,Arial,sans-serif;max-width:600px;min-width:326px;pointer-events:auto;overflow:hidden;transform:translateZ(0);direction:ltr}.Vue-Toastification__toast--rtl{direction:rtl}.Vue-Toastification__toast--default{background-color:#1976d2;color:#fff}.Vue-Toastification__toast--info{background-color:#2196f3;color:#fff}.Vue-Toastification__toast--success{background-color:#4caf50;color:#fff}.Vue-Toastification__toast--error{background-color:#ff5252;color:#fff}.Vue-Toastification__toast--warning{background-color:#ffc107;color:#fff}@media only screen and (max-width:600px){.Vue-Toastification__toast{border-radius:0;margin-bottom:.5rem}}.Vue-Toastification__toast-body{flex:1;line-height:24px;font-size:16px;word-break:break-word;white-space:pre-wrap}.Vue-Toastification__toast-component-body{flex:1}.Vue-Toastification__toast.disable-transition{animation:none!important}.Vue-Toastification__close-button{font-weight:700;font-size:24px;line-height:24px;background:transparent;outline:none;border:none;padding:0 0 0 10px;cursor:pointer;transition:.3s ease;align-items:center;color:#fff;opacity:.3;transition:visibility 0s,opacity .2s linear}.Vue-Toastification__close-button:hover,.Vue-Toastification__close-button:focus{opacity:1}.Vue-Toastification__toast:not(:hover) .Vue-Toastification__close-button.show-on-hover{opacity:0}.Vue-Toastification__toast--rtl .Vue-Toastification__close-button{padding-left:unset;padding-right:10px}@keyframes scale-x-frames{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Vue-Toastification__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:10000;background-color:#ffffffb3;transform-origin:left;animation:scale-x-frames linear 1 forwards}.Vue-Toastification__toast--rtl .Vue-Toastification__progress-bar{right:0;left:unset;transform-origin:right}.Vue-Toastification__icon{margin:auto 18px auto 0;background:transparent;outline:none;border:none;padding:0;transition:.3s ease;align-items:center;width:20px;height:100%}.Vue-Toastification__toast--rtl .Vue-Toastification__icon{margin:auto 0 auto 18px}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{40%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(1000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Vue-Toastification__bounce-enter-active.top-left,.Vue-Toastification__bounce-enter-active.bottom-left{animation-name:bounceInLeft}.Vue-Toastification__bounce-enter-active.top-right,.Vue-Toastification__bounce-enter-active.bottom-right{animation-name:bounceInRight}.Vue-Toastification__bounce-enter-active.top-center{animation-name:bounceInDown}.Vue-Toastification__bounce-enter-active.bottom-center{animation-name:bounceInUp}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-left,.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-left{animation-name:bounceOutLeft}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-right,.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-right{animation-name:bounceOutRight}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-center{animation-name:bounceOutUp}.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-center{animation-name:bounceOutDown}.Vue-Toastification__bounce-leave-active,.Vue-Toastification__bounce-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__bounce-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes fadeOutTop{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}@keyframes fadeOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-50px);opacity:0}}@keyframes fadeOutBottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(50px);opacity:0}}@keyframes fadeOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(50px);opacity:0}}@keyframes fadeInLeft{0%{transform:translate(-50px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInRight{0%{transform:translate(50px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInTop{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInBottom{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.Vue-Toastification__fade-enter-active.top-left,.Vue-Toastification__fade-enter-active.bottom-left{animation-name:fadeInLeft}.Vue-Toastification__fade-enter-active.top-right,.Vue-Toastification__fade-enter-active.bottom-right{animation-name:fadeInRight}.Vue-Toastification__fade-enter-active.top-center{animation-name:fadeInTop}.Vue-Toastification__fade-enter-active.bottom-center{animation-name:fadeInBottom}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-left,.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-left{animation-name:fadeOutLeft}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-right,.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-right{animation-name:fadeOutRight}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-center{animation-name:fadeOutTop}.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-center{animation-name:fadeOutBottom}.Vue-Toastification__fade-leave-active,.Vue-Toastification__fade-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__fade-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes slideInBlurredLeft{0%{transform:translate(-1000px) scaleX(2.5) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}to{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredTop{0%{transform:translateY(-1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 0%;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredRight{0%{transform:translate(1000px) scaleX(2.5) scaleY(.2);transform-origin:0% 50%;filter:blur(40px);opacity:0}to{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredBottom{0%{transform:translateY(1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideOutBlurredTop{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 0%;filter:blur(0);opacity:1}to{transform:translateY(-1000px) scaleY(2) scaleX(.2);transform-origin:50% 0%;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredBottom{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateY(1000px) scaleY(2) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredLeft{0%{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translate(-1000px) scaleX(2) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}}@keyframes slideOutBlurredRight{0%{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translate(1000px) scaleX(2) scaleY(.2);transform-origin:0% 50%;filter:blur(40px);opacity:0}}.Vue-Toastification__slideBlurred-enter-active.top-left,.Vue-Toastification__slideBlurred-enter-active.bottom-left{animation-name:slideInBlurredLeft}.Vue-Toastification__slideBlurred-enter-active.top-right,.Vue-Toastification__slideBlurred-enter-active.bottom-right{animation-name:slideInBlurredRight}.Vue-Toastification__slideBlurred-enter-active.top-center{animation-name:slideInBlurredTop}.Vue-Toastification__slideBlurred-enter-active.bottom-center{animation-name:slideInBlurredBottom}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-left,.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-left{animation-name:slideOutBlurredLeft}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-right,.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-right{animation-name:slideOutBlurredRight}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-center{animation-name:slideOutBlurredTop}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-center{animation-name:slideOutBlurredBottom}.Vue-Toastification__slideBlurred-leave-active,.Vue-Toastification__slideBlurred-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__slideBlurred-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}.Vue-Toastification__container{z-index:2147483647!important}.sky-vt-custom-toast{background:transparent!important;box-shadow:none!important;min-height:unset!important;cursor:default!important;overflow:visible!important;padding:0!important}.sky-vt-custom-toast .Vue-Toastification__toast-body{padding:0!important;width:100%}.sky-vt-custom-toast .Vue-Toastification__icon{display:none!important}.Vue-Toastification__fade-move{transition-duration:0s!important}.sky-vt-custom-toast.Vue-Toastification__toast{margin-bottom:.6rem!important}")})();/**
@@ -1,6 +1,6 @@
1
1
  import { openBlock as q, createBlock as Ci, Teleport as Il, renderSlot as He, useSlots as ih, ref as Ot, computed as Dt, watch as au, nextTick as Dl, onMounted as ca, onUnmounted as Wa, createElementBlock as ee, normalizeStyle as iu, createElementVNode as Z, normalizeClass as Tt, createTextVNode as su, toDisplayString as Ne, createCommentVNode as Oe, resolveDynamicComponent as v_, createSlots as h_, withCtx as Ga, Fragment as Ya, renderList as Al, withModifiers as g_, mergeProps as m_, defineComponent as Ni, unref as Ec, onBeforeUnmount as __, createVNode as qf, Transition as y_, withDirectives as b_, vModelText as E_ } from "vue";
2
- import { p as sh, l as uh, A as w_, f as O_, o as Gr, B as k_, c as Gi, y as S_, z as Jf, k as T_, r as Qf, e as C_ } from "./api-AhLH5w3p.js";
3
- import { S as AC, g as PC, a as xC, b as RC, d as jC, h as LC, i as UC, j as MC, m as BC, n as HC, q as FC, s as zC, t as KC, u as WC, v as GC, w as YC, x as ZC, C as XC } from "./api-AhLH5w3p.js";
2
+ import { p as sh, l as uh, A as w_, f as O_, o as Gr, B as k_, c as Gi, y as S_, z as Jf, k as T_, r as Qf, e as C_ } from "./api-C6FKIf2t.js";
3
+ import { S as AC, g as PC, a as xC, b as RC, d as jC, h as LC, i as UC, j as MC, m as BC, n as HC, q as FC, s as zC, t as KC, u as WC, v as GC, w as YC, x as ZC, C as XC } from "./api-C6FKIf2t.js";
4
4
  import "ua-parser-js";
5
5
  const _t = (e, t) => {
6
6
  const n = e.__vccOpts || e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyservice-developers/vue-dev-kit",
3
- "version": "2.5.7",
3
+ "version": "2.6.0",
4
4
  "description": "Vue 3 component library + TypeScript SDK (iframe bridge + HTTP API) for Skyservice mini-apps",
5
5
  "type": "module",
6
6
  "main": "./dist/vue-dev-kit.cjs",
@@ -1 +0,0 @@
1
- "use strict";const S=require("ua-parser-js"),m="DASHBOARD",b=5e3;let A=0,p=null;function E(){return`sdk_${Date.now()}_${++A}`}function L(){return"APP_"+Math.random().toString(36).slice(2,10)}function P(t){p=t}function f(){return p||(p=L()),p}function s(t){window.parent.postMessage({...t,sender:f(),target:t.target||m},"*")}function g(t,e,r=b){return y()?new Promise(n=>{const o=E(),i=f(),a=setTimeout(()=>{window.removeEventListener("message",u),n(null)},r);function u(k){const c=k.data;(c==null?void 0:c.type)==="DATA_RESPONSE"&&(c==null?void 0:c.requestId)===o&&(!c.target||c.target===i)&&(clearTimeout(a),window.removeEventListener("message",u),n(c.data??null))}window.addEventListener("message",u),s({type:"DATA_REQUEST",requestId:o,source:t,key:e})}):Promise.resolve(null)}function C(t){s({type:"navigate",path:t})}function v(){s({type:"exit"})}const T=v;function w(t){return g("store",t)}function l(t){return g("localStorage",t)}function _(t){return g("window",t)}function D(){return w("company")}function W(){return w("user")}function R(){return l("token")}function U(){return l("lang")}function N(){return w("productCategories")}function $(t,e){s({type:"setLocalStorage",key:t,value:e})}function M(t){s({type:"setRocketMode",value:t})}function O(t,e){s({type:"trackVisit",name:t,path:e})}function x(t){s({type:"openExternalLink",url:t})}function q(){s({type:"openCrispChat"})}function j(t){s({type:"notification",text:t})}function B(t){s({type:"notification",text:t,variant:"error"})}function G(t){s({type:"notification",text:t,variant:"warn"})}function y(){try{return window.self!==window.top}catch{return!0}}const V=y;function F(t){function e(r){var n;((n=r.data)==null?void 0:n.sender)===m&&t(r.data)}return window.addEventListener("message",e),()=>window.removeEventListener("message",e)}function d(){if(typeof window>"u")return"browser";if(window.webkit!=null&&window.webkit.messageHandlers!==void 0)try{if(S(navigator.userAgent).browser.name==="WebKit")return"ios_webview"}catch(t){console.error(t)}return typeof Android<"u"?"android_webview":typeof window.cefQuery<"u"?"cef_webview":"browser"}function H(){return d()==="ios_webview"}function Q(){return d()==="android_webview"}function z(){return d()==="cef_webview"}function J(){return d()!=="browser"}const K="https://api.cabinet.developer.skyservice.online/index.php";class h{constructor(e){this.token=e.token,this.companyId=e.companyId,this.appId=e.appId,this.developerId=e.developerId,this.deploymentId=e.deploymentId,this.appName=e.appName;const r=e.domain.replace("dashboard","api");this.baseUrl=r.startsWith("http")?r:`https://${r}`}static create(e){return new h(e)}async get(e){const r=new URLSearchParams({token:this.token,companyId:this.companyId,...e}),n=await fetch(`${this.baseUrl}/?${r}`);if(!n.ok)throw new Error(`Skyservice API error: ${n.status}`);const o=await n.json();if(o.status!=="done")throw new Error(`Skyservice API returned status: ${o.status}`);return o.data}async post(e,r,n){const o=new URLSearchParams({token:this.token,...r}),i=await fetch(`${e}?${o}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!i.ok)throw new Error(`Skyservice API error: ${i.status}`);const a=await i.json();if(a.status!=="done")throw new Error(`Skyservice API returned status: ${a.status}`);return a.data}async getTradepoints(e){const r=await this.get({section:"tradepoints",action:"getTradepoints"});return e!=null&&e.includeDeleted?r.items:r.items.filter(n=>!n.deleted&&!n.frozen)}async getCategoryTree(e){const r=await this.get({section:"productCategory",action:"getCategories",...e?{tradepointId:String(e)}:{}});return I(r,e)}async getProducts(e){const r=await this.get({section:"products",action:"getProducts",pagelimit:"9999",ot:"desc",of:"nomenclatureId",...e!=null&&e.tradepointId?{tradepointId:String(e.tradepointId)}:{}});return Z(r.items,e==null?void 0:e.includeInactive)}async setAppActive({isActive:e,title:r,settings:n}){const o=e?"activateApp":"deactivateApp",i={company_id:this.companyId,app_id:this.appId,...this.developerId!==void 0&&{developer_id:this.developerId},...e&&n!==void 0&&{settings:n}},a=await this.post(K,{section:"integrations",action:o},i);return this.deploymentId&&this.appName&&typeof window<"u"&&window.self!==window.top&&window.parent.postMessage({type:"sendActiveApp",id:a.id,is_active:e,deploymentId:this.deploymentId,appName:this.appName,title:r},"*"),a}}function I(t,e){var n,o;const r=[];for(const i of t){if(e!=null&&!((n=i.tradepointShow)==null?void 0:n[String(e)]))continue;const a={id:i.id,pid:i.pid,name:i.name,active:i.active,background:i.background,show:i.show};i.img&&(a.img=i.img),(o=i.children)!=null&&o.length&&(a.children=I(i.children,e)),r.push(a)}return r}const Y=new Set(["product","techcard"]),X="/img/no.png";function Z(t,e){const r=[];for(const n of t)Y.has(n.type)&&(!e&&!n.active||r.push({id:n.id,name:n.nomenclatureName,price:n.price,categoryId:n.categoryId,categoryName:n.categoryTitle||"",active:n.active,type:n.type,unit:n.unit,logo:n.logo&&n.logo!==X?n.logo:""}));return r}exports.SkyserviceAPI=h;exports.exit=v;exports.getBack=T;exports.getCompany=D;exports.getLang=U;exports.getLocalStorageData=l;exports.getProductCategories=N;exports.getSenderId=f;exports.getStoreData=w;exports.getToken=R;exports.getUser=W;exports.getWindowData=_;exports.isAndroidWebview=Q;exports.isCefWebview=z;exports.isInIframe=V;exports.isInsideIframe=y;exports.isIosWebview=H;exports.isWebview=J;exports.navigate=C;exports.notify=j;exports.notifyError=B;exports.notifyWarn=G;exports.onMessage=F;exports.openCrispChat=q;exports.openExternalLink=x;exports.setLocalStorage=$;exports.setRocketMode=M;exports.setSenderId=P;exports.trackVisit=O;exports.webviewCheck=d;