@skyservice-developers/vue-dev-kit 1.5.12 → 2.1.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.
Files changed (57) hide show
  1. package/README.md +105 -15
  2. package/dist/api-CZ2GQABL.js +309 -0
  3. package/dist/api-JFgUnzEe.cjs +1 -0
  4. package/dist/components/BaseTeleport.vue.d.ts +14 -0
  5. package/dist/components/Dialog.vue.d.ts +28 -0
  6. package/dist/components/DialogModal.vue.d.ts +28 -0
  7. package/dist/components/DialogNext.vue.d.ts +28 -0
  8. package/dist/components/Header.vue.d.ts +37 -0
  9. package/dist/components/Modal.vue.d.ts +30 -0
  10. package/dist/components/SkyButton.vue.d.ts +22 -0
  11. package/dist/components/SkySelect.vue.d.ts +16 -0
  12. package/dist/components/index.d.ts +8 -0
  13. package/dist/index.d.ts +3 -0
  14. package/dist/sdk/api.d.ts +78 -0
  15. package/dist/sdk/bridge.d.ts +43 -0
  16. package/dist/sdk/index.d.ts +6 -0
  17. package/dist/sdk/types.d.ts +73 -0
  18. package/dist/sdk/webview.d.ts +16 -0
  19. package/dist/sdk.cjs +1 -0
  20. package/dist/sdk.js +33 -0
  21. package/dist/style.css +1 -0
  22. package/dist/vue-dev-kit.cjs +1 -0
  23. package/dist/vue-dev-kit.js +903 -0
  24. package/package.json +32 -43
  25. package/dist/vue2/style.css +0 -1
  26. package/dist/vue2/vue-dev-kit.cjs +0 -1
  27. package/dist/vue2/vue-dev-kit.js +0 -2622
  28. package/dist/vue3/style.css +0 -1
  29. package/dist/vue3/vue-dev-kit.cjs +0 -1
  30. package/dist/vue3/vue-dev-kit.js +0 -2277
  31. package/src/index.js +0 -9
  32. package/src/shared/index.js +0 -1
  33. package/src/shared/types/index.d.ts +0 -72
  34. package/src/shared/utils/index.js +0 -2
  35. package/src/shared/utils/parentBridge.js +0 -84
  36. package/src/shared/utils/webviewCheck.js +0 -54
  37. package/src/styles/scrollbar.css +0 -17
  38. package/src/vue2/components/BaseTeleport.vue +0 -16
  39. package/src/vue2/components/Dialog.vue +0 -106
  40. package/src/vue2/components/DialogModal.vue +0 -439
  41. package/src/vue2/components/DialogNext.vue +0 -379
  42. package/src/vue2/components/Header.vue +0 -466
  43. package/src/vue2/components/Modal.vue +0 -252
  44. package/src/vue2/components/SkyButton.vue +0 -144
  45. package/src/vue2/components/SkySelect.vue +0 -327
  46. package/src/vue2/components/index.js +0 -6
  47. package/src/vue2/index.js +0 -2
  48. package/src/vue3/components/BaseTeleport.vue +0 -16
  49. package/src/vue3/components/Dialog.vue +0 -97
  50. package/src/vue3/components/DialogModal.vue +0 -458
  51. package/src/vue3/components/DialogNext.vue +0 -427
  52. package/src/vue3/components/Header.vue +0 -505
  53. package/src/vue3/components/Modal.vue +0 -253
  54. package/src/vue3/components/SkyButton.vue +0 -140
  55. package/src/vue3/components/SkySelect.vue +0 -266
  56. package/src/vue3/components/index.js +0 -8
  57. package/src/vue3/index.js +0 -2
@@ -0,0 +1,16 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {
2
+ $emit: (event: "update:modelValue", ...args: any[]) => void;
3
+ modelValue: null;
4
+ disabled: boolean;
5
+ block: boolean;
6
+ options: unknown[];
7
+ placeholder: string;
8
+ $props: {
9
+ readonly modelValue?: null | undefined;
10
+ readonly disabled?: boolean | undefined;
11
+ readonly block?: boolean | undefined;
12
+ readonly options?: unknown[] | undefined;
13
+ readonly placeholder?: string | undefined;
14
+ };
15
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
16
+ export default _default;
@@ -0,0 +1,8 @@
1
+ export { default as Header } from './Header.vue';
2
+ export { default as Dialog } from './Dialog.vue';
3
+ export { default as DialogModal } from './DialogModal.vue';
4
+ export { default as DialogNext } from './DialogNext.vue';
5
+ export { default as Modal } from './Modal.vue';
6
+ export { default as SkyButton } from './SkyButton.vue';
7
+ export { default as SkySelect } from './SkySelect.vue';
8
+ export { default as BaseTeleport } from './BaseTeleport.vue';
@@ -0,0 +1,3 @@
1
+
2
+ export * from './components';
3
+ export * from './sdk';
@@ -0,0 +1,78 @@
1
+ import { Tradepoint, Category, Product } from './types';
2
+
3
+ export interface SkyserviceAPIConfig {
4
+ token: string;
5
+ domain: string;
6
+ companyId: string;
7
+ appId: string;
8
+ developerId?: string;
9
+ }
10
+ /**
11
+ * HTTP client for Skyservice API.
12
+ *
13
+ * Works anywhere (browser, Node, edge) — no iframe dependency.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const api = SkyserviceAPI.create({
18
+ * token,
19
+ * domain: 'api.skyservice.online',
20
+ * companyId,
21
+ * appId,
22
+ * });
23
+ * const tradepoints = await api.getTradepoints();
24
+ * ```
25
+ */
26
+ export declare class SkyserviceAPI {
27
+ private baseUrl;
28
+ private token;
29
+ private companyId;
30
+ private appId;
31
+ private developerId;
32
+ private constructor();
33
+ /** Factory — create a new SkyserviceAPI instance. */
34
+ static create(config: SkyserviceAPIConfig): SkyserviceAPI;
35
+ private get;
36
+ private post;
37
+ /**
38
+ * Get all tradepoints for the current company.
39
+ * Filters out deleted and frozen by default.
40
+ */
41
+ getTradepoints(options?: {
42
+ includeDeleted?: boolean;
43
+ }): Promise<Tradepoint[]>;
44
+ /**
45
+ * Get the full category tree, cleaned from POS-specific bloat.
46
+ *
47
+ * Returns only fields relevant for menu building:
48
+ * `id`, `pid`, `name`, `active`, `background`, `show`, `img`, `children`.
49
+ *
50
+ * If `tradepointId` is provided, filters to categories visible for that tradepoint.
51
+ */
52
+ getCategoryTree(tradepointId?: number): Promise<Category[]>;
53
+ /**
54
+ * Get products, cleaned from POS-specific fields.
55
+ *
56
+ * Filters out ingredients by default — returns only sellable items
57
+ * (type `product` or `techcard`).
58
+ *
59
+ * If `tradepointId` is provided, scopes to that tradepoint.
60
+ */
61
+ getProducts(options?: {
62
+ tradepointId?: number;
63
+ includeInactive?: boolean;
64
+ }): Promise<Product[]>;
65
+ /**
66
+ * Activate or deactivate the mini-app for the current company.
67
+ *
68
+ * Sends POST to `api.cabinet.developer.skyservice.online`:
69
+ * - `isActive: true` → `section=integrations&action=activateApp`
70
+ * - `isActive: false` → `section=integrations&action=deactivateApp`
71
+ *
72
+ * `settings` are sent only when activating.
73
+ */
74
+ setAppActive({ isActive, settings, }: {
75
+ isActive: boolean;
76
+ settings?: Record<string, unknown>;
77
+ }): Promise<unknown>;
78
+ }
@@ -0,0 +1,43 @@
1
+ /** Set a custom sender id. Dashboard uses it to route responses back to the right mini-app. */
2
+ export declare function setSenderId(id: string): void;
3
+ /** Get current sender id (auto-generates a random one on first call). */
4
+ export declare function getSenderId(): string;
5
+ /** Navigate Dashboard to a given path. */
6
+ export declare function navigate(path: string): void;
7
+ /** Exit current iframe app and return to Dashboard home. */
8
+ export declare function exit(): void;
9
+ /** Alias for exit(). */
10
+ export declare const getBack: typeof exit;
11
+ /** Get a value from Dashboard's Vuex store by dot-notated key. Resolves to null on timeout or when not in iframe. */
12
+ export declare function getStoreData<T = unknown>(key: string): Promise<T | null>;
13
+ /** Get a value from Dashboard's localStorage. Resolves to null on timeout or when not in iframe. */
14
+ export declare function getLocalStorageData<T = unknown>(key: string): Promise<T | null>;
15
+ /** Get a value from Dashboard's window object. Resolves to null on timeout or when not in iframe. */
16
+ export declare function getWindowData<T = unknown>(key: string): Promise<T | null>;
17
+ export declare function getCompany(): Promise<Record<string, unknown> | null>;
18
+ export declare function getUser(): Promise<Record<string, unknown> | null>;
19
+ export declare function getToken(): Promise<string | null>;
20
+ export declare function getLang(): Promise<string | null>;
21
+ export declare function getProductCategories(): Promise<unknown[] | null>;
22
+ /** Set a key in Dashboard's localStorage. */
23
+ export declare function setLocalStorage(key: string, value: unknown): void;
24
+ /** Toggle rocket mode in Dashboard. */
25
+ export declare function setRocketMode(value: boolean): void;
26
+ /** Track a page visit for analytics. */
27
+ export declare function trackVisit(name: string, path?: string): void;
28
+ /** Open an external link (handles webview bridges). */
29
+ export declare function openExternalLink(url: string): void;
30
+ /** Open Crisp support chat. */
31
+ export declare function openCrispChat(): void;
32
+ /** Show a success notification in Dashboard. */
33
+ export declare function notify(text: string): void;
34
+ /** Show an error notification in Dashboard. */
35
+ export declare function notifyError(text: string): void;
36
+ /** Show a warning notification in Dashboard. */
37
+ export declare function notifyWarn(text: string): void;
38
+ /** Check if the current window is running inside an iframe (cross-origin safe). */
39
+ export declare function isInsideIframe(): boolean;
40
+ /** Alias for isInsideIframe(). */
41
+ export declare const isInIframe: typeof isInsideIframe;
42
+ /** Listen for raw messages from Dashboard. */
43
+ export declare function onMessage(callback: (data: unknown) => void): () => void;
@@ -0,0 +1,6 @@
1
+ export { navigate, exit, getBack, getStoreData, getLocalStorageData, getWindowData, getCompany, getUser, getToken, getLang, getProductCategories, setLocalStorage, setRocketMode, trackVisit, openExternalLink, openCrispChat, notify, notifyError, notifyWarn, isInsideIframe, isInIframe, onMessage, setSenderId, getSenderId, } from './bridge';
2
+ export { webviewCheck, isIosWebview, isAndroidWebview, isCefWebview, isWebview, } from './webview';
3
+ export type { WebviewType } from './webview';
4
+ export { SkyserviceAPI } from './api';
5
+ export type { SkyserviceAPIConfig } from './api';
6
+ export type { Tradepoint, TradepointWorkDay, Category, RawCategory, Product, RawProduct, } from './types';
@@ -0,0 +1,73 @@
1
+ export interface SkyserviceResponse<T> {
2
+ status: string;
3
+ data: T;
4
+ }
5
+ export interface Tradepoint {
6
+ tradepointId: number;
7
+ tradepointName: string;
8
+ contacts: {
9
+ address?: string;
10
+ };
11
+ workTime: Record<string, TradepointWorkDay>;
12
+ deleted: boolean;
13
+ frozen: boolean;
14
+ }
15
+ export interface TradepointWorkDay {
16
+ name: string;
17
+ isOpen: boolean;
18
+ startTiem: string;
19
+ endTiem: string;
20
+ }
21
+ export interface Category {
22
+ id: number;
23
+ pid: number;
24
+ name: string;
25
+ active: 0 | 1;
26
+ background: string;
27
+ show: boolean;
28
+ img?: string;
29
+ children?: Category[];
30
+ }
31
+ /**
32
+ * Raw category from Skyservice API — includes per-tradepoint visibility.
33
+ * Stripped down to `Category` by SkyserviceAPI methods.
34
+ */
35
+ export interface RawCategory extends Category {
36
+ tradepointShow: Record<string, boolean>;
37
+ tradepointsShow?: Record<string, unknown>;
38
+ children?: RawCategory[];
39
+ }
40
+ export interface Product {
41
+ id: number;
42
+ name: string;
43
+ price: number;
44
+ categoryId: number | null;
45
+ categoryName: string;
46
+ active: 0 | 1;
47
+ type: 'product' | 'techcard';
48
+ unit: string;
49
+ logo: string;
50
+ }
51
+ /**
52
+ * Raw product from Skyservice API — includes POS-specific fields.
53
+ * Stripped down to `Product` by SkyserviceAPI methods.
54
+ */
55
+ export interface RawProduct {
56
+ id: number;
57
+ nomenclatureName: string;
58
+ nomenclatureCode: string;
59
+ nomenclatureId: number;
60
+ price: number;
61
+ categoryId: number | null;
62
+ categoryTitle: string;
63
+ active: 0 | 1;
64
+ defaultActive: 0 | 1;
65
+ type: string;
66
+ unit: string;
67
+ weight: number;
68
+ logo: string;
69
+ background: string;
70
+ workshopId: number;
71
+ activeProductAppearance: 0 | 1;
72
+ [key: string]: unknown;
73
+ }
@@ -0,0 +1,16 @@
1
+ export type WebviewType = 'ios_webview' | 'android_webview' | 'cef_webview' | 'browser';
2
+ declare global {
3
+ interface Window {
4
+ webkit?: {
5
+ messageHandlers?: unknown;
6
+ };
7
+ cefQuery?: unknown;
8
+ }
9
+ var Android: unknown;
10
+ }
11
+ /** Detect the current webview host (iOS, Android, CEF) or plain browser. */
12
+ export declare function webviewCheck(): WebviewType;
13
+ export declare function isIosWebview(): boolean;
14
+ export declare function isAndroidWebview(): boolean;
15
+ export declare function isCefWebview(): boolean;
16
+ export declare function isWebview(): boolean;
package/dist/sdk.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./api-JFgUnzEe.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 ADDED
@@ -0,0 +1,33 @@
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-CZ2GQABL.js";
2
+ export {
3
+ s as SkyserviceAPI,
4
+ t as exit,
5
+ i as getBack,
6
+ o as getCompany,
7
+ r as getLang,
8
+ n as getLocalStorageData,
9
+ g as getProductCategories,
10
+ d as getSenderId,
11
+ c as getStoreData,
12
+ f as getToken,
13
+ k as getUser,
14
+ v as getWindowData,
15
+ w as isAndroidWebview,
16
+ I as isCefWebview,
17
+ C as isInIframe,
18
+ S as isInsideIframe,
19
+ b as isIosWebview,
20
+ p as isWebview,
21
+ y as navigate,
22
+ W as notify,
23
+ m as notifyError,
24
+ l as notifyWarn,
25
+ x as onMessage,
26
+ L as openCrispChat,
27
+ h as openExternalLink,
28
+ A as setLocalStorage,
29
+ D as setRocketMode,
30
+ u as setSenderId,
31
+ B as trackVisit,
32
+ E as webviewCheck
33
+ };
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ ::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.sky-header-container[data-v-ad8f398f]{width:100%;min-height:var(--sky-header-min-height, 82px);background-color:var(--sky-header-bg, transparent);display:flex;flex-direction:row;padding:var(--sky-header-padding, 10px);border-bottom:1px solid var(--sky-header-border-color, #dee2e6);z-index:var(--sky-header-z-index, 4);position:relative}.topmenubox[data-v-ad8f398f]{width:100%;display:flex;padding:4px;justify-content:space-between;align-items:center;background-color:transparent}.header-left[data-v-ad8f398f]{display:flex;align-items:center}.header-left[data-v-ad8f398f]>*+*{margin-left:12px}.titleAndDesc[data-v-ad8f398f]{display:flex;flex-direction:column;position:relative}.notPadding[data-v-ad8f398f]{margin:0;padding:0;font-size:var(--sky-header-title-size, 18px);font-weight:var(--sky-header-title-weight, 500);color:var(--sky-header-title-color, #252525);line-height:1.5;-webkit-user-select:none;user-select:none;display:flex;align-items:center;flex-wrap:nowrap}.topmenu-title[data-v-ad8f398f]{white-space:pre-line}.title-dropdown-toggle[data-v-ad8f398f]{display:flex;flex-direction:row;padding:0;margin:0;background:transparent;border:none;text-align:left;font:inherit;color:inherit}.title-dropdown-toggle-active[data-v-ad8f398f]{cursor:pointer}.arrow[data-v-ad8f398f]{width:12px;position:relative;margin-left:5px;flex-shrink:0;transition:transform .25s ease;color:var(--sky-header-title-color, #252525)}.arrow.open[data-v-ad8f398f]{transform:rotate(180deg)}.title-dropdown[data-v-ad8f398f]{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border-radius:5px;box-shadow:0 1px 12px #0000001a;border:none;z-index:10;padding:4px 0;margin-top:4px}.title-dropdown-header[data-v-ad8f398f]{padding:4px 24px;font-size:13px;color:#6c757d}.title-dropdown-divider[data-v-ad8f398f]{height:0;margin:4px 0;border-top:1px solid #e9ecef}.title-dropdown-item[data-v-ad8f398f]{padding:4px 24px;cursor:pointer;transition:background-color .1s}.title-dropdown-item[data-v-ad8f398f]:hover{background-color:#f8f9fa}.title-dropdown-item[data-v-ad8f398f]:active{background-color:#e9ecef}.pageName[data-v-ad8f398f]{padding-bottom:0;margin:0;font-weight:500;font-size:14px}.pageVisit[data-v-ad8f398f]{color:gray;font-weight:400;font-size:11px}.topmenu-description[data-v-ad8f398f]{margin:0 0 5px;color:var(--sky-header-subtitle-color, #5d5d5d);font-size:13px;font-weight:400;line-height:1.5}.topmenubox-button[data-v-ad8f398f]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.btn-back[data-v-ad8f398f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;cursor:pointer;border-radius:6px;transition:background-color .2s;color:var(--sky-header-back-btn-color, #374151)}.btn-back img[data-v-ad8f398f],.btn-back svg[data-v-ad8f398f]{display:block}.btn-back[data-v-ad8f398f]:hover{background-color:var(--sky-header-back-btn-hover-bg, #f8f9fa)}.btn-back[data-v-ad8f398f]:active{background-color:var(--sky-header-back-btn-active-bg, #e9ecef)}@media (max-width: 499px){.topmenu-description[data-v-ad8f398f]{display:none}.notPadding[data-v-ad8f398f]{font-size:13px}}@media (min-width: 500px) and (max-width: 1099px){.topmenu-description[data-v-ad8f398f]{font-size:11px}}@supports (padding-top: env(safe-area-inset-top)){.sky-header-container[data-v-ad8f398f]{padding-top:calc(10px + env(safe-area-inset-top))}}.sky-dialogbox-classic{display:block;position:fixed;padding:0;top:0;left:0;width:100%;height:100%;z-index:var(--sky-dialog-z-index, 9998);background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sky-dialog-overlay[data-v-d1a407c7]{display:flex;justify-content:center;align-items:center;position:fixed;padding:0;top:0;left:0;width:100%;height:100%;z-index:9999}.sky-dialog-content[data-v-d1a407c7]{background:var(--sky-dialog-bg, white);width:100%;height:100%;border-radius:var(--sky-dialog-radius, 5px);box-shadow:0 1px 3px #0000004d,0 1px 2px #0000003d}.sky-dialog-title[data-v-d1a407c7]{max-width:calc(100% - 80px);font-size:var(--sky-dialog-title-size, 13pt);padding:24px 0 24px 24px;float:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sky-dialog-title-color, #252525)}.sky-dialog-subtitle[data-v-d1a407c7]{display:block;font-size:var(--sky-dialog-subtitle-size, 12pt);line-height:24px;color:var(--sky-dialog-subtitle-color, #6c757d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky-dialog-close[data-v-d1a407c7]{cursor:pointer;font-size:16pt;margin:15px;padding:17px;float:right;border-radius:50%;width:50px;height:50px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:var(--sky-dialog-close-color, #333);transition:background-color .2s}.sky-dialog-close[data-v-d1a407c7]:hover{background-color:var(--sky-dialog-close-hover-bg, #f0f0f0)}.sky-dialog-clearfix[data-v-d1a407c7]{clear:both}.sky-dialog-paper[data-v-d1a407c7]{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative}.sky-dialog-swipe-area[data-v-d1a407c7]{position:absolute;width:35px;height:100%;left:0}.sky-dialog-footer[data-v-d1a407c7]{padding:5px 10px;display:flex;justify-content:center;width:100%;transform:translateY(-52px)}.sky-dialog-footer[data-v-d1a407c7]>*+*{margin-left:10px}.sky-dialog-footer[data-v-d1a407c7]>*{flex:1;min-width:0}.sky-dialog-footer[data-v-d1a407c7]:has(>:deep(*:only-child))>*{max-width:100%}.sky-dialog-footer[data-v-d1a407c7]:has(>:deep(*:nth-child(2)):not(:has(>:deep(*:nth-child(3)))))>*{flex:1 1 50%}@media only screen and (min-width: 1400px){.sky-dialog-content[data-v-d1a407c7]{width:75%;margin:0 auto}}@media screen and (min-width: 710px){.sky-dialog-paper[data-v-d1a407c7]{height:calc(100% - 150px);max-height:calc(100% - 150px);background-color:#fff;margin:0 10px 60px;border-radius:5px}.sky-dialog-paper-no-footer[data-v-d1a407c7]{height:calc(100% - 70px);max-height:calc(100% - 70px);margin-bottom:10px}.sky-dialogbox[data-v-d1a407c7],.sky-dialog-overlay[data-v-d1a407c7]{padding:10px}}@media screen and (max-width: 709px){.sky-dialog-paper[data-v-d1a407c7]{height:calc(100% - 142px);max-height:calc(100% - 142px);background-color:#fff;margin:0 10px 10px;border-radius:5px;max-width:100vw!important}.sky-dialog-paper-no-footer[data-v-d1a407c7]{height:calc(100% - 60px);max-height:calc(100% - 60px)}.sky-dialog-footer[data-v-d1a407c7]{transform:translateY(-6px)}}@media screen and (max-width: 500px){.sky-dialog-subtitle[data-v-d1a407c7]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky-dialog-title-with-subtitle[data-v-d1a407c7]{padding:12px 24px!important}}@media screen and (max-width: 374px){.sky-dialog-subtitle[data-v-d1a407c7]{font-size:9pt}}@supports (padding-top: env(safe-area-inset-top)){.sky-dialog-paper[data-v-d1a407c7]{height:calc(100% - 150px - env(safe-area-inset-top))}.sky-dialog-paper-no-footer[data-v-d1a407c7]{height:calc(100% - 60px - env(safe-area-inset-top))}.sky-dialog-footer[data-v-d1a407c7]{padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}}@supports (padding-top: env(safe-area-inset-top)){.sky-dialog-title[data-v-d1a407c7]{padding-top:calc(24px + env(safe-area-inset-top))}.sky-dialog-close[data-v-d1a407c7]{margin-top:calc(15px + env(safe-area-inset-top))}.sky-dialog-paper[data-v-d1a407c7]{padding-bottom:env(safe-area-inset-bottom)}}.sky-dialogbox-next{display:block;position:fixed;padding:0;top:0;left:0;width:100%;height:100%;z-index:var(--sky-dialog-z-index, 9998);background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sky-dialog-overlay[data-v-c2e2d8f9]{display:flex;justify-content:center;align-items:center;position:fixed;padding:0;top:0;left:0;width:100%;height:100%;z-index:9999}.sky-dialog-content[data-v-c2e2d8f9]{background:var(--sky-dialog-bg, white);width:100%;height:100%;box-shadow:0 1px 3px #0000004d,0 1px 2px #0000003d;display:flex;flex-direction:column}.sky-dialog-header[data-v-c2e2d8f9]{display:flex;align-items:center;padding:10px 14px}.sky-dialog-back[data-v-c2e2d8f9]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;cursor:pointer;border-radius:6px;color:var(--sky-dialog-back-color, #374151);transition:background-color .2s;margin-right:12px;flex-shrink:0}.sky-dialog-back svg[data-v-c2e2d8f9]{display:block}.sky-dialog-back[data-v-c2e2d8f9]:hover{background-color:var(--sky-dialog-back-hover-bg, #f8f9fa)}.sky-dialog-back[data-v-c2e2d8f9]:active{background-color:var(--sky-dialog-back-active-bg, #e9ecef)}.sky-dialog-title[data-v-c2e2d8f9]{font-size:var(--sky-dialog-title-size, 13pt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sky-dialog-title-color, #252525);min-width:0}.sky-dialog-title-with-subtitle[data-v-c2e2d8f9]{line-height:1.2}.sky-dialog-subtitle[data-v-c2e2d8f9]{display:block;font-size:var(--sky-dialog-subtitle-size, 12pt);line-height:24px;color:var(--sky-dialog-subtitle-color, #6c757d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky-dialog-paper[data-v-c2e2d8f9]{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative}.sky-dialog-swipe-area[data-v-c2e2d8f9]{position:absolute;width:35px;height:100%;left:0}.sky-dialog-footer[data-v-c2e2d8f9]{padding:5px 10px;display:flex;justify-content:center;width:100%;flex-shrink:0}.sky-dialog-footer[data-v-c2e2d8f9]>*+*{margin-left:10px}.sky-dialog-footer[data-v-c2e2d8f9]>*{flex:1;min-width:0}.sky-dialog-footer[data-v-c2e2d8f9]:has(>:deep(*:only-child))>*{max-width:100%}.sky-dialog-footer[data-v-c2e2d8f9]:has(>:deep(*:nth-child(2)):not(:has(>:deep(*:nth-child(3)))))>*{flex:1 1 50%}@media only screen and (min-width: 1400px){.sky-dialog-content[data-v-c2e2d8f9]{width:100%;margin:0 auto}}@media screen and (min-width: 710px){.sky-dialog-paper[data-v-c2e2d8f9]{background-color:#fff;margin:0 10px 10px}}@media screen and (max-width: 709px){.sky-dialog-paper[data-v-c2e2d8f9]{background-color:#fff;margin:0 10px 10px;max-width:100vw!important}}@media screen and (max-width: 500px){.sky-dialog-subtitle[data-v-c2e2d8f9]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky-dialog-title-with-subtitle[data-v-c2e2d8f9]{padding:12px 24px!important}}@media screen and (max-width: 374px){.sky-dialog-subtitle[data-v-c2e2d8f9]{font-size:9pt}}@supports (padding-top: env(safe-area-inset-top)){.sky-dialog-footer[data-v-c2e2d8f9]{padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}}@supports (padding-top: env(safe-area-inset-top)){.sky-dialog-header[data-v-c2e2d8f9]{padding-top:calc(10px + env(safe-area-inset-top))}.sky-dialog-paper[data-v-c2e2d8f9]{padding-bottom:env(safe-area-inset-bottom)}}.sky-modal-overlay[data-v-e16b0dc3]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--sky-modal-z-index, 9998);display:flex;justify-content:center;align-items:center}.sky-modal[data-v-e16b0dc3]{background:var(--sky-modal-bg, white);border-radius:var(--sky-modal-radius, 0);box-shadow:0 1px 3px #0000004d,0 1px 2px #0000003d;display:flex;flex-direction:column;max-width:100%;max-height:100%}.sky-modal-header[data-v-e16b0dc3]{display:flex;align-items:center;padding:var(--sky-modal-header-padding, 10px 14px);border-bottom:1px solid var(--sky-modal-border-color, #dee2e6);flex-shrink:0}.sky-modal-back[data-v-e16b0dc3]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;cursor:pointer;border-radius:6px;transition:background-color .2s;color:var(--sky-modal-back-color, #374151);margin-right:12px}.sky-modal-back svg[data-v-e16b0dc3]{display:block}.sky-modal-back[data-v-e16b0dc3]:hover{background-color:var(--sky-modal-back-hover-bg, #f8f9fa)}.sky-modal-back[data-v-e16b0dc3]:active{background-color:var(--sky-modal-back-active-bg, #e9ecef)}.sky-modal-title-wrapper[data-v-e16b0dc3]{flex:1;min-width:0}.sky-modal-title[data-v-e16b0dc3]{margin:0;font-size:var(--sky-modal-title-size, 18px);font-weight:var(--sky-modal-title-weight, 500);color:var(--sky-modal-title-color, #252525);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky-modal-subtitle[data-v-e16b0dc3]{font-size:var(--sky-modal-subtitle-size, 14px);color:var(--sky-modal-subtitle-color, #6c757d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky-modal-body[data-v-e16b0dc3]{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--sky-modal-body-padding, 14px)}.sky-modal-footer[data-v-e16b0dc3]{padding:var(--sky-modal-footer-padding, 10px 14px);border-top:1px solid var(--sky-modal-border-color, #dee2e6);display:flex;justify-content:flex-end;flex-shrink:0}.sky-modal-footer[data-v-e16b0dc3]>*+*{margin-left:10px}@media (min-width: 768px){.sky-modal[data-v-e16b0dc3]{border-radius:var(--sky-modal-radius, 8px)}}@supports (padding-top: env(safe-area-inset-top)){.sky-modal-header[data-v-e16b0dc3]{padding-top:calc(10px + env(safe-area-inset-top))}.sky-modal-footer[data-v-e16b0dc3]{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.sky-modal-body[data-v-e16b0dc3]:last-child{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}.sky-btn[data-v-0d61fbfd]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:var(--sky-btn-padding, 16px 20px);border:var(--sky-btn-border, none);border-radius:var(--sky-btn-radius, 6px);font-size:var(--sky-btn-font-size, 14px);font-weight:var(--sky-btn-font-weight, 500);line-height:1;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.sky-btn-icon[data-v-0d61fbfd]{padding:var(--sky-btn-icon-padding, 10px);border-radius:var(--sky-btn-icon-radius, 6px)}.sky-btn-block[data-v-0d61fbfd]{width:100%}.sky-btn[data-v-0d61fbfd]:disabled{opacity:.6;cursor:not-allowed}.sky-btn-primary[data-v-0d61fbfd]{background:var(--sky-btn-primary-bg, #24973f);color:var(--sky-btn-primary-color, #fff)}.sky-btn-primary[data-v-0d61fbfd]:hover:not(:disabled){background:var(--sky-btn-primary-hover-bg, #1e7a33)}.sky-btn-primary[data-v-0d61fbfd]:active:not(:disabled){background:var(--sky-btn-primary-active-bg, #196b2c)}.sky-btn-danger[data-v-0d61fbfd]{background:var(--sky-btn-danger-bg, #dc2626);color:var(--sky-btn-danger-color, #fff)}.sky-btn-danger[data-v-0d61fbfd]:hover:not(:disabled){background:var(--sky-btn-danger-hover-bg, #b91c1c)}.sky-btn-danger[data-v-0d61fbfd]:active:not(:disabled){background:var(--sky-btn-danger-active-bg, #991b1b)}.sky-btn-secondary[data-v-0d61fbfd]{background:var(--sky-btn-secondary-bg, #f3f4f6);color:var(--sky-btn-secondary-color, #374151)}.sky-btn-secondary[data-v-0d61fbfd]:hover:not(:disabled){background:var(--sky-btn-secondary-hover-bg, #e5e7eb)}.sky-btn-secondary[data-v-0d61fbfd]:active:not(:disabled){background:var(--sky-btn-secondary-active-bg, #d1d5db)}.sky-btn-outline[data-v-0d61fbfd]{background:var(--sky-btn-outline-bg, transparent);color:var(--sky-btn-outline-color, #374151);border:var(--sky-btn-border, 1px solid #d1d5db)}.sky-btn-outline[data-v-0d61fbfd]:hover:not(:disabled){background:var(--sky-btn-outline-hover-bg, #f3f4f6)}.sky-btn-outline[data-v-0d61fbfd]:active:not(:disabled){background:var(--sky-btn-outline-active-bg, #e5e7eb)}.sky-btn-spinner[data-v-0d61fbfd]{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:sky-btn-spin-0d61fbfd .6s linear infinite;flex-shrink:0}@keyframes sky-btn-spin-0d61fbfd{to{transform:rotate(360deg)}}.sky-select[data-v-5ca23325]{position:relative;display:inline-block;font-size:var(--sky-select-font-size, 14px)}.sky-select-block[data-v-5ca23325]{display:block;width:100%}.sky-select-block .sky-select-trigger[data-v-5ca23325]{width:100%}.sky-select-trigger[data-v-5ca23325]{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:var(--sky-select-padding, 10px 14px);background:var(--sky-select-bg, #fff);border:var(--sky-select-border, 1px solid #d1d5db);border-radius:var(--sky-select-radius, 6px);font-size:inherit;font-weight:var(--sky-select-font-weight, 400);color:var(--sky-select-color, #374151);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;white-space:nowrap}.sky-select-trigger[data-v-5ca23325]:hover:not(:disabled){border-color:var(--sky-select-border-hover, #9ca3af)}.sky-select-open .sky-select-trigger[data-v-5ca23325]{border-color:var(--sky-select-border-focus, #6b7280);outline:none}.sky-select-trigger[data-v-5ca23325]:focus-visible{outline:2px solid var(--sky-select-focus-ring, #24973f);outline-offset:2px}.sky-select-disabled .sky-select-trigger[data-v-5ca23325]{opacity:.6;cursor:not-allowed}.sky-select-value[data-v-5ca23325]{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.sky-select-placeholder[data-v-5ca23325]{color:var(--sky-select-placeholder-color, #9ca3af)}.sky-select-chevron[data-v-5ca23325]{width:16px;height:16px;flex-shrink:0;color:var(--sky-select-chevron-color, #6b7280);transition:transform .15s ease}.sky-select-open .sky-select-chevron[data-v-5ca23325]{transform:rotate(180deg)}.sky-select-dropdown[data-v-5ca23325]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--sky-select-dropdown-z-index, 100);background:var(--sky-select-dropdown-bg, #fff);border:var(--sky-select-dropdown-border, 1px solid #d1d5db);border-radius:var(--sky-select-dropdown-radius, 6px);box-shadow:var(--sky-select-dropdown-shadow, 0 4px 12px rgba(0, 0, 0, .1));max-height:var(--sky-select-dropdown-max-height, 220px);overflow-y:auto;padding:4px}.sky-select-option[data-v-5ca23325]{display:flex;align-items:center;justify-content:space-between;padding:var(--sky-select-option-padding, 9px 10px);border-radius:var(--sky-select-option-radius, 4px);cursor:pointer;color:var(--sky-select-option-color, #374151)}.sky-select-option-focused[data-v-5ca23325],.sky-select-option[data-v-5ca23325]:hover{background:var(--sky-select-option-hover-bg, #f3f4f6)}.sky-select-option-selected[data-v-5ca23325]{color:var(--sky-select-option-selected-color, #24973f);font-weight:500}.sky-select-check[data-v-5ca23325]{width:14px;height:14px;flex-shrink:0;color:var(--sky-select-check-color, #24973f)}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("./api-JFgUnzEe.cjs");require("ua-parser-js");const B=(t,v)=>{const a=t.__vccOpts||t;for(const[c,m]of v)a[c]=m;return a},M={class:"sky-header-container"},z={class:"topmenubox"},P={class:"header-left"},O=["title"],A={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},W={class:"notPadding"},R={class:"topmenu-title"},_={key:0,class:"title-dropdown"},U={class:"title-dropdown-header"},X=["onClick"],F={class:"pageName"},K={class:"pageVisit"},j={key:0,class:"topmenu-description"},q={class:"topmenubox-button"},H={__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(t,{emit:v}){const a=t;o.setSenderId(a.appId||o.getSenderId());const c=v,m=e.ref(null),i=e.ref(!1),k=e.ref([]),d=e.ref({});o.isInsideIframe()&&a.trackPageName&&o.trackVisit(a.trackPageName,a.trackPagePath||`/${a.trackPageName}`);const r=e.ref(null);o.isInsideIframe()&&o.getLocalStorageData("rocketMode").then(async n=>{r.value=n,await o.getLocalStorageData("fallbackRocketMode")===null&&o.setLocalStorage("fallbackRocketMode",n===!0||n==="true"?"true":"false"),o.setRocketMode(!0)}),e.onUnmounted(()=>{S()}),o.isInsideIframe()&&o.getWindowData("lang").then(n=>{n!=null&&(d.value=n)});function y(n){try{if(!n)return;const u=typeof n=="string"?JSON.parse(n):n;u!=null&&u.pages&&(k.value=Object.values(u.pages))}catch{}}y(localStorage.componentStats),o.isInsideIframe()&&o.getLocalStorageData("componentStats").then(n=>{n!=null&&(localStorage.setItem("componentStats",JSON.stringify(n)),y(n))});const p=e.computed(()=>[...a.dropdownItems.length?a.dropdownItems:k.value].sort((u,E)=>E.lastVisit-u.lastVisit)),g=()=>{p.value.length&&(i.value=!i.value)},h=()=>{i.value=!1},b=n=>{c("navigate",n.path),o.isInsideIframe()&&o.navigate(n.path),h()},w=n=>{if(!n)return"";const u=d.value[n]||n;return u.charAt(0).toUpperCase()+u.slice(1)},s=n=>{const E=Date.now()-n,N=Math.floor(E/1e3),C=Math.floor(N/60),$=Math.floor(C/60),D=Math.floor($/24);return D>0?`${D}д тому`:$>0?`${$}год тому`:C>0?`${C}хв тому`:`${N}с тому`},l=n=>{m.value&&!m.value.contains(n.target)&&h()};e.onMounted(()=>{document.addEventListener("click",l,!0)}),e.onUnmounted(()=>{document.removeEventListener("click",l,!0)});const f=e.computed(()=>a.backEvent||a.showBackButton&&o.isInsideIframe()),S=()=>{if(r.value!==null){const n=r.value===!0||r.value==="true";o.setRocketMode(n)}},V=()=>p.value.find(n=>n.name!==a.trackPageName&&n.path),L=async()=>{if(a.backEvent)return S(),a.backEvent();let n=V();if(!n&&o.isInsideIframe()){const u=await o.getLocalStorageData("componentStats");u&&(y(u),n=V())}S(),n?o.navigate(n.path):o.exit()};return(n,u)=>(e.openBlock(),e.createElementBlock("header",M,[e.createElementVNode("div",z,[e.createElementVNode("div",P,[f.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-back",onClick:L,title:t.backButtonTitle},[(e.openBlock(),e.createElementBlock("svg",A,[...u[0]||(u[0]=[e.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)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"dropdownRef",ref:m,class:"titleAndDesc"},[e.createElementVNode("button",{class:e.normalizeClass(["title-dropdown-toggle",{"title-dropdown-toggle-active":p.value.length}]),onClick:g},[e.renderSlot(n.$slots,"title",{},()=>[e.createElementVNode("h4",W,[e.createElementVNode("span",R,e.toDisplayString(t.title),1),p.value.length?(e.openBlock(),e.createElementBlock("svg",{key:0,class:e.normalizeClass(["arrow",{open:i.value}]),width:"12",height:"12",viewBox:"0 0 451.847 451.847",style:{"flex-shrink":"0"}},[...u[1]||(u[1]=[e.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)):e.createCommentVNode("",!0)])],!0)],2),i.value&&p.value.length?(e.openBlock(),e.createElementBlock("div",_,[e.createElementVNode("div",U,e.toDisplayString(t.dropdownTitle),1),u[2]||(u[2]=e.createElementVNode("div",{class:"title-dropdown-divider"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(E,N)=>(e.openBlock(),e.createElementBlock("div",{key:N,class:"title-dropdown-item",onClick:C=>b(E)},[e.createElementVNode("p",F,e.toDisplayString(w(E.name)),1),e.createElementVNode("small",K," ("+e.toDisplayString(t.visitLabel)+" "+e.toDisplayString(s(E.lastVisit))+") ",1)],8,X))),128))])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"subtitle",{},()=>[t.subtitle?(e.openBlock(),e.createElementBlock("p",j,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)],!0)],512)]),e.createElementVNode("div",q,[u[3]||(u[3]=e.createElementVNode("div",null,null,-1)),e.renderSlot(n.$slots,"default",{},void 0,!0),u[4]||(u[4]=e.createElementVNode("div",null,null,-1))])])]))}},J=B(H,[["__scopeId","data-v-ad8f398f"]]),G={class:"sky-dialog-overlay"},Q={key:0,class:"sky-dialog-subtitle"},Y=["title"],Z={key:0,class:"sky-dialog-swipe-area"},ee={key:0,class:"sky-dialog-footer"},te={__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(t,{emit:v}){const a=e.useSlots(),c=t,m=v,i=e.ref(null),k=e.ref(null),d=e.ref(0),r=e.computed(()=>{try{return o.isIosWebview()}catch{return!1}}),y=e.computed(()=>{try{return o.isAndroidWebview()}catch{return!1}}),p=e.computed(()=>c.hasButtons!==null?c.hasButtons:!!a.buttons),g=()=>{m("update:modelValue",!1),m("close")},h=l=>{l.key==="Escape"&&c.closeOnEsc&&c.modelValue&&g(),l.key==="Enter"&&c.modelValue&&m("save")},b=l=>{l.touches[0].clientX<35&&(d.value=l.touches[0].clientX)},w=l=>{d.value>0&&d.value<35&&l.changedTouches[0].clientX-d.value>50&&g(),d.value=0},s=()=>{if(!(!y.value||!i.value))try{if(typeof Android<"u"&&Android.getDisplayCutoutTop){const l=Android.getDisplayCutoutTop();if(l&&window.devicePixelRatio>1){const f=l/window.devicePixelRatio;i.value.style.paddingTop=f+"px"}}}catch{}};return e.watch(()=>c.modelValue,l=>{l?(document.body.style.overflow="hidden",e.nextTick(()=>{s()})):document.body.style.overflow=""}),e.onMounted(()=>{document.addEventListener("keydown",h),window.addEventListener("resize",s)}),e.onUnmounted(()=>{document.removeEventListener("keydown",h),window.removeEventListener("resize",s),document.body.style.overflow=""}),(l,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:"sky-dialogbox sky-dialogbox-classic",style:e.normalizeStyle([t.zIndex?{"z-index":t.zIndex}:null])},[e.createElementVNode("div",G,[e.createElementVNode("div",{ref_key:"dialogContent",ref:i,class:"sky-dialog-content"},[e.createElementVNode("div",{class:e.normalizeClass(["sky-dialog-title",{"sky-dialog-title-with-subtitle":t.subtitle}])},[e.createTextVNode(e.toDisplayString(t.title)+" ",1),t.subtitle?(e.openBlock(),e.createElementBlock("span",Q,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)],2),e.createElementVNode("button",{class:"sky-dialog-close",title:t.closeText,onClick:g},[...f[0]||(f[0]=[e.createElementVNode("svg",{viewBox:"0 0 16 16",width:"16",height:"16"},[e.createElementVNode("line",{x1:"1",y1:"15",x2:"15",y2:"1",stroke:"currentColor","stroke-width":"2"}),e.createElementVNode("line",{x1:"1",y1:"1",x2:"15",y2:"15",stroke:"currentColor","stroke-width":"2"})],-1)])],8,Y),f[1]||(f[1]=e.createElementVNode("div",{class:"sky-dialog-clearfix"},null,-1)),e.createElementVNode("div",{ref_key:"dialogPaper",ref:k,class:e.normalizeClass(["sky-dialog-paper",{"sky-dialog-paper-no-footer":!p.value}]),onTouchstart:b,onTouchend:w},[r.value?(e.openBlock(),e.createElementBlock("div",Z)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},void 0,!0)],34),p.value?(e.openBlock(),e.createElementBlock("div",ee,[e.renderSlot(l.$slots,"buttons",{},void 0,!0)])):e.createCommentVNode("",!0)],512)])],4)):e.createCommentVNode("",!0)]))}},I=B(te,[["__scopeId","data-v-d1a407c7"]]),oe={class:"sky-dialog-overlay"},le={class:"sky-dialog-header"},ne=["title"],ae={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},se={key:0,class:"sky-dialog-subtitle"},de={key:0,class:"sky-dialog-swipe-area"},ie={key:0,class:"sky-dialog-footer"},re={__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(t,{emit:v}){const a=e.useSlots(),c=t,m=v,i=e.ref(null),k=e.ref(null),d=e.ref(0),r=e.computed(()=>{try{return o.isIosWebview()}catch{return!1}}),y=e.computed(()=>{try{return o.isAndroidWebview()}catch{return!1}}),p=e.computed(()=>c.hasButtons!==null?c.hasButtons:!!a.buttons),g=()=>{m("update:modelValue",!1),m("close")},h=l=>{l.key==="Escape"&&c.closeOnEsc&&c.modelValue&&g(),l.key==="Enter"&&c.modelValue&&m("save")},b=l=>{l.touches[0].clientX<35&&(d.value=l.touches[0].clientX)},w=l=>{d.value>0&&d.value<35&&l.changedTouches[0].clientX-d.value>50&&g(),d.value=0},s=()=>{if(!(!y.value||!i.value))try{if(typeof Android<"u"&&Android.getDisplayCutoutTop){const l=Android.getDisplayCutoutTop();if(l&&window.devicePixelRatio>1){const f=l/window.devicePixelRatio;i.value.style.paddingTop=f+"px"}}}catch{}};return e.watch(()=>c.modelValue,l=>{l?(document.body.style.overflow="hidden",e.nextTick(()=>{s()})):document.body.style.overflow=""}),e.onMounted(()=>{document.addEventListener("keydown",h),window.addEventListener("resize",s)}),e.onUnmounted(()=>{document.removeEventListener("keydown",h),window.removeEventListener("resize",s),document.body.style.overflow=""}),(l,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:"sky-dialogbox sky-dialogbox-next",style:e.normalizeStyle([t.zIndex?{"z-index":t.zIndex}:null])},[e.createElementVNode("div",oe,[e.createElementVNode("div",{ref_key:"dialogContent",ref:i,class:"sky-dialog-content"},[e.createElementVNode("div",le,[e.createElementVNode("button",{class:"sky-dialog-back",title:t.closeText,onClick:g},[(e.openBlock(),e.createElementBlock("svg",ae,[...f[0]||(f[0]=[e.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,ne),e.createElementVNode("div",{class:e.normalizeClass(["sky-dialog-title",{"sky-dialog-title-with-subtitle":t.subtitle}])},[e.createTextVNode(e.toDisplayString(t.title)+" ",1),t.subtitle?(e.openBlock(),e.createElementBlock("span",se,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)],2)]),e.createElementVNode("div",{ref_key:"dialogPaper",ref:k,class:e.normalizeClass(["sky-dialog-paper",{"sky-dialog-paper-no-footer":!p.value}]),onTouchstart:b,onTouchend:w},[r.value?(e.openBlock(),e.createElementBlock("div",de)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},void 0,!0)],34),p.value?(e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(l.$slots,"buttons",{},void 0,!0)])):e.createCommentVNode("",!0)],512)])],4)):e.createCommentVNode("",!0)]))}},x=B(re,[["__scopeId","data-v-c2e2d8f9"]]),ce={__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:t=>[null,"next","classic"].includes(t)}},emits:["update:modelValue","close","save"],setup(t,{emit:v}){const a=t,c=v,m=e.computed({get:()=>a.modelValue,set:d=>c("update:modelValue",d)}),i=e.ref(!0);e.onMounted(()=>{try{new URLSearchParams(window.location.search).get("rocketMode")==="false"?i.value=!1:i.value=!0}catch{i.value=!0}});const k=e.computed(()=>a.mode==="next"?x:a.mode==="classic"?I:i.value?x:I);return(d,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.value),{modelValue:m.value,"onUpdate:modelValue":r[0]||(r[0]=y=>m.value=y),title:t.title,subtitle:t.subtitle,"z-index":t.zIndex,"close-text":t.closeText,"close-on-esc":t.closeOnEsc,"has-buttons":!!d.$slots.buttons,onClose:r[1]||(r[1]=y=>d.$emit("close")),onSave:r[2]||(r[2]=y=>d.$emit("save"))},e.createSlots({default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:2},[d.$slots.buttons?{name:"buttons",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"buttons")]),key:"0"}:void 0]),1064,["modelValue","title","subtitle","z-index","close-text","close-on-esc","has-buttons"]))}},ue={props:{to:{type:String,default:"body"}}};function me(t,v,a,c,m,i){return e.openBlock(),e.createBlock(e.Teleport,{to:a.to},[e.renderSlot(t.$slots,"default")],8,["to"])}const T=B(ue,[["render",me]]),fe={class:"sky-modal-header"},ke=["title"],ye={width:"15",height:"15",viewBox:"0 0 451.847 451.847",style:{transform:"rotate(90deg)"}},ve={class:"sky-modal-title-wrapper"},pe={class:"sky-modal-title"},ge={key:0,class:"sky-modal-subtitle"},he={class:"sky-modal-body"},be={key:0,class:"sky-modal-footer"},we={__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(t,{emit:v}){const a=t,c=v,m=e.computed(()=>({width:a.width,height:a.height})),i=()=>{c("update:modelValue",!1),c("close")},k=()=>{a.closeOnOverlay&&i()},d=r=>{r.key==="Escape"&&a.closeOnEsc&&a.modelValue&&i()};return e.watch(()=>a.modelValue,r=>{r?document.body.style.overflow="hidden":document.body.style.overflow=""}),e.onMounted(()=>{document.addEventListener("keydown",d)}),e.onUnmounted(()=>{document.removeEventListener("keydown",d),document.body.style.overflow=""}),(r,y)=>(e.openBlock(),e.createBlock(T,{to:"body"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:"sky-modal-overlay",onMousedown:e.withModifiers(k,["self"])},[e.createElementVNode("div",{class:"sky-modal",style:e.normalizeStyle(m.value)},[e.createElementVNode("div",fe,[e.createElementVNode("button",{class:"sky-modal-back",onClick:i,title:t.closeTitle},[(e.openBlock(),e.createElementBlock("svg",ye,[...y[0]||(y[0]=[e.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,ke),e.createElementVNode("div",ve,[e.createElementVNode("h4",pe,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("div",ge,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",he,[e.renderSlot(r.$slots,"default",{},void 0,!0)]),r.$slots.footer?(e.openBlock(),e.createElementBlock("div",be,[y[1]||(y[1]=e.createElementVNode("div",null,null,-1)),e.renderSlot(r.$slots,"footer",{},void 0,!0),y[2]||(y[2]=e.createElementVNode("div",null,null,-1))])):e.createCommentVNode("",!0)],4)],32)):e.createCommentVNode("",!0)]),_:3}))}},Ee=B(we,[["__scopeId","data-v-e16b0dc3"]]),Be=["disabled"],Se={key:0,class:"sky-btn-spinner"},Ve={__name:"SkyButton",props:{variant:{type:String,default:"primary",validator:t=>["primary","danger","secondary","outline"].includes(t)},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1},icon:{type:Boolean,default:!1}},setup(t){return(v,a)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps({class:["sky-btn",[`sky-btn-${t.variant}`,{"sky-btn-block":t.block,"sky-btn-loading":t.loading,"sky-btn-icon":t.icon}]],disabled:t.disabled||t.loading},v.$attrs),[t.loading?(e.openBlock(),e.createElementBlock("span",Se)):e.createCommentVNode("",!0),e.renderSlot(v.$slots,"default",{},void 0,!0)],16,Be))}},Ne=B(Ve,[["__scopeId","data-v-0d61fbfd"]]),Ce=["disabled"],$e={key:0,class:"sky-select-dropdown"},Ie=["onClick","onMouseenter"],xe={key:0,class:"sky-select-check",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true"},De={__name:"SkySelect",props:{modelValue:{default:null},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:v}){const a=t,c=v,m=e.ref(null),i=e.ref(!1),k=e.ref(-1),d=e.computed(()=>a.options.map(s=>typeof s=="string"?{label:s,value:s}:s)),r=e.computed(()=>d.value.find(s=>s.value===a.modelValue)??null);function y(){a.disabled||(i.value?g():p())}function p(){i.value=!0,k.value=d.value.findIndex(s=>s.value===a.modelValue),document.addEventListener("mousedown",b)}function g(){i.value=!1,document.removeEventListener("mousedown",b)}function h(s){c("update:modelValue",s.value),g()}function b(s){var l;(l=m.value)!=null&&l.contains(s.target)||g()}function w(s){if(!i.value){(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),p());return}s.key==="Escape"?g():s.key==="ArrowDown"?(s.preventDefault(),k.value=Math.min(k.value+1,d.value.length-1)):s.key==="ArrowUp"?(s.preventDefault(),k.value=Math.max(k.value-1,0)):s.key==="Enter"&&(s.preventDefault(),k.value>=0&&h(d.value[k.value]))}return e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",b)}),(s,l)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:m,class:e.normalizeClass(["sky-select",{"sky-select-block":t.block,"sky-select-open":i.value,"sky-select-disabled":t.disabled}])},[e.createElementVNode("button",{type:"button",class:"sky-select-trigger",disabled:t.disabled,onClick:y,onKeydown:w},[e.createElementVNode("span",{class:e.normalizeClass(["sky-select-value",{"sky-select-placeholder":r.value===null}])},e.toDisplayString(r.value?r.value.label:t.placeholder),3),l[0]||(l[0]=e.createElementVNode("svg",{class:"sky-select-chevron",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true"},[e.createElementVNode("path",{d:"M4 6l4 4 4-4",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],40,Ce),i.value?(e.openBlock(),e.createElementBlock("div",$e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(f,S)=>(e.openBlock(),e.createElementBlock("div",{key:f.value,class:e.normalizeClass(["sky-select-option",{"sky-select-option-selected":f.value===t.modelValue,"sky-select-option-focused":S===k.value}]),onClick:V=>h(f),onMouseenter:V=>k.value=S},[e.createElementVNode("span",null,e.toDisplayString(f.label),1),f.value===t.modelValue?(e.openBlock(),e.createElementBlock("svg",xe,[...l[1]||(l[1]=[e.createElementVNode("path",{d:"M3 8l4 4 6-6",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):e.createCommentVNode("",!0)],42,Ie))),128))])):e.createCommentVNode("",!0)],2))}},Te=B(De,[["__scopeId","data-v-5ca23325"]]);exports.SkyserviceAPI=o.SkyserviceAPI;exports.exit=o.exit;exports.getBack=o.getBack;exports.getCompany=o.getCompany;exports.getLang=o.getLang;exports.getLocalStorageData=o.getLocalStorageData;exports.getProductCategories=o.getProductCategories;exports.getSenderId=o.getSenderId;exports.getStoreData=o.getStoreData;exports.getToken=o.getToken;exports.getUser=o.getUser;exports.getWindowData=o.getWindowData;exports.isAndroidWebview=o.isAndroidWebview;exports.isCefWebview=o.isCefWebview;exports.isInIframe=o.isInIframe;exports.isInsideIframe=o.isInsideIframe;exports.isIosWebview=o.isIosWebview;exports.isWebview=o.isWebview;exports.navigate=o.navigate;exports.notify=o.notify;exports.notifyError=o.notifyError;exports.notifyWarn=o.notifyWarn;exports.onMessage=o.onMessage;exports.openCrispChat=o.openCrispChat;exports.openExternalLink=o.openExternalLink;exports.setLocalStorage=o.setLocalStorage;exports.setRocketMode=o.setRocketMode;exports.setSenderId=o.setSenderId;exports.trackVisit=o.trackVisit;exports.webviewCheck=o.webviewCheck;exports.BaseTeleport=T;exports.Dialog=ce;exports.DialogModal=I;exports.DialogNext=x;exports.Header=J;exports.Modal=Ee;exports.SkyButton=Ne;exports.SkySelect=Te;