@topvisor/ui 1.0.12-jquery → 1.0.13-fix-dialog-scroll

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 (171) hide show
  1. package/.chunks/datepicker-B8syh3Uk.es.js +44 -0
  2. package/.chunks/datepicker-B8syh3Uk.es.js.map +1 -0
  3. package/.chunks/datepicker-BLuImSNi.amd.js +2 -0
  4. package/.chunks/datepicker-BLuImSNi.amd.js.map +1 -0
  5. package/.chunks/{forms-CIeG_5LP.es.js → forms-C4-jc5q2.es.js} +129 -129
  6. package/.chunks/forms-C4-jc5q2.es.js.map +1 -0
  7. package/.chunks/{forms-DHMogHmw.amd.js → forms-CiwhEtPE.amd.js} +3 -3
  8. package/.chunks/forms-CiwhEtPE.amd.js.map +1 -0
  9. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Gofkt4lj.es.js → listItem.vue_vue_type_script_setup_true_lang-CtqSJHeU.es.js} +2 -2
  10. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CtqSJHeU.es.js.map +1 -0
  11. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-DQXATE8-.amd.js → listItem.vue_vue_type_script_setup_true_lang-sNbmDi34.amd.js} +2 -2
  12. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-sNbmDi34.amd.js.map +1 -0
  13. package/.chunks/{menu.vue_vue_type_style_index_0_lang-uGV-A-kW.es.js → menu.vue_vue_type_style_index_0_lang-BCFxRsJ_.es.js} +2 -2
  14. package/.chunks/menu.vue_vue_type_style_index_0_lang-BCFxRsJ_.es.js.map +1 -0
  15. package/.chunks/{menu.vue_vue_type_style_index_0_lang-CeoVr4RC.amd.js → menu.vue_vue_type_style_index_0_lang-jctlBjKS.amd.js} +2 -2
  16. package/.chunks/menu.vue_vue_type_style_index_0_lang-jctlBjKS.amd.js.map +1 -0
  17. package/.chunks/{notice-BA5zBdx2.es.js → notice-Dgu-SIPq.es.js} +2 -2
  18. package/.chunks/notice-Dgu-SIPq.es.js.map +1 -0
  19. package/.chunks/{notice-BPG1753z.amd.js → notice-DkCLhqSq.amd.js} +2 -2
  20. package/.chunks/notice-DkCLhqSq.amd.js.map +1 -0
  21. package/.chunks/popup-D6LvyJ7M.amd.js +2 -0
  22. package/.chunks/popup-D6LvyJ7M.amd.js.map +1 -0
  23. package/.chunks/{popup-BnUijzts.es.js → popup-DEG8x2yE.es.js} +46 -492
  24. package/.chunks/popup-DEG8x2yE.es.js.map +1 -0
  25. package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
  26. package/.chunks/store-esTid5oI.amd.js.map +1 -1
  27. package/.chunks/utils-B3ycYRqM.amd.js +2 -0
  28. package/.chunks/utils-B3ycYRqM.amd.js.map +1 -0
  29. package/.chunks/utils-BiyYJ_AB.es.js +330 -0
  30. package/.chunks/utils-BiyYJ_AB.es.js.map +1 -0
  31. package/.chunks/utils-DdsRxaK5.es.js +220 -0
  32. package/.chunks/utils-DdsRxaK5.es.js.map +1 -0
  33. package/.chunks/utils-DpejCylJ.amd.js +2 -0
  34. package/.chunks/utils-DpejCylJ.amd.js.map +1 -0
  35. package/README.md +82 -87
  36. package/assets/charts.css +1 -1
  37. package/assets/core.css +1 -1
  38. package/assets/forms.css +1 -1
  39. package/charts/charts.amd.js +1 -1
  40. package/charts/charts.amd.js.map +1 -1
  41. package/charts/charts.js +134 -81
  42. package/charts/charts.js.map +1 -1
  43. package/components/charts/charts.d.ts +2 -0
  44. package/components/charts/miniChart/miniChart.d.ts +8 -1
  45. package/components/charts/miniCharts/miniCharts.d.ts +20 -0
  46. package/components/charts/miniCharts/miniCharts.vue.d.ts +29 -0
  47. package/components/charts/miniCharts/stories/dummy.d.ts +6 -0
  48. package/components/dialog/dialog/composables/asyncDialogWorker.d.ts +51 -0
  49. package/components/dialog/dialog/composables/dialogWorker.d.ts +108 -0
  50. package/components/dialog/dialog/composables/types.d.ts +11 -0
  51. package/components/dialog/dialog/composables/utils.d.ts +21 -0
  52. package/components/dialog/dialog/dialog.vue.d.ts +27 -0
  53. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +10 -0
  54. package/components/dialog/dialog/page/page.vue.d.ts +18 -0
  55. package/components/dialog/dialog/page/types.d.ts +65 -0
  56. package/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +6 -0
  57. package/components/dialog/dialog/pageComponent/types.d.ts +18 -0
  58. package/components/dialog/dialog/stories/autoload.d.ts +2 -0
  59. package/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +7 -0
  60. package/components/dialog/dialog/types.d.ts +58 -0
  61. package/components/dialog/dialog.d.ts +6 -0
  62. package/components/dialog/lib/types.d.ts +16 -0
  63. package/components/dialog/lib/utils.d.ts +14 -0
  64. package/components/dialog/lib/utils.globalEvents.d.ts +8 -0
  65. package/components/dialog/lib/worker.d.ts +55 -0
  66. package/components/forms/select/select.d.ts +1 -1
  67. package/components/project/tagSelector/tagSelector.vue.d.ts +2 -2
  68. package/components/project/tagSelector/types.d.ts +2 -2
  69. package/components/tabsView/tabsView/tabsView.d.ts +1 -1
  70. package/core/app.amd.js +1 -1
  71. package/core/app.amd.js.map +1 -1
  72. package/core/app.d.ts +2 -0
  73. package/core/app.js +57 -50
  74. package/core/app.js.map +1 -1
  75. package/core/core/core.d.ts +1 -1
  76. package/core/core/options.d.ts +2 -2
  77. package/core/plugins/core.d.ts +12 -3
  78. package/dialog/dialog.amd.js +2 -0
  79. package/dialog/dialog.amd.js.map +1 -0
  80. package/dialog/dialog.d.ts +2 -0
  81. package/dialog/dialog.js +183 -0
  82. package/dialog/dialog.js.map +1 -0
  83. package/forms/forms.amd.js +1 -1
  84. package/forms/forms.js +1 -1
  85. package/forms/helpers.amd.js.map +1 -1
  86. package/forms/helpers.js.map +1 -1
  87. package/formsExt/formsExt.amd.js +1 -1
  88. package/formsExt/formsExt.amd.js.map +1 -1
  89. package/formsExt/formsExt.js +54 -54
  90. package/formsExt/formsExt.js.map +1 -1
  91. package/icomoon/Read Me.txt +7 -7
  92. package/icomoon/Topvisor icons.json +5845 -5845
  93. package/icomoon/demo-files/demo.css +161 -161
  94. package/icomoon/demo-files/demo.js +30 -30
  95. package/icomoon/demo.html +3379 -3379
  96. package/icomoon/fonts/Topvisor-2.svg +263 -263
  97. package/icomoon/style.css +740 -740
  98. package/jquery-ui.min.css +6 -0
  99. package/package.json +33 -33
  100. package/popup/popup.amd.js +1 -1
  101. package/popup/popup.amd.js.map +1 -1
  102. package/popup/popup.js +2 -2
  103. package/popup/popup.js.map +1 -1
  104. package/popup/worker.amd.js +1 -1
  105. package/popup/worker.amd.js.map +1 -1
  106. package/popup/worker.js +2 -2
  107. package/popup/worker.js.map +1 -1
  108. package/project/project.amd.js +1 -1
  109. package/project/project.amd.js.map +1 -1
  110. package/project/project.js +3 -3
  111. package/project/project.js.map +1 -1
  112. package/require/css.amd.js +12 -12
  113. package/tabs/tabs.amd.js.map +1 -1
  114. package/tabs/tabs.js.map +1 -1
  115. package/tabsView/tabsView.amd.js +1 -1
  116. package/tabsView/tabsView.amd.js.map +1 -1
  117. package/tabsView/tabsView.js +16 -16
  118. package/tabsView/tabsView.js.map +1 -1
  119. package/utils/check.amd.js.map +1 -1
  120. package/utils/check.js.map +1 -1
  121. package/utils/clipboard.amd.js.map +1 -1
  122. package/utils/clipboard.js.map +1 -1
  123. package/utils/date.amd.js +1 -1
  124. package/utils/date.js +1 -1
  125. package/utils/device.amd.js +1 -1
  126. package/utils/device.js +1 -1
  127. package/utils/dom.amd.js.map +1 -1
  128. package/utils/dom.js.map +1 -1
  129. package/utils/image.amd.js.map +1 -1
  130. package/utils/image.js.map +1 -1
  131. package/utils/keyboard.amd.js.map +1 -1
  132. package/utils/keyboard.js.map +1 -1
  133. package/utils/lodash.amd.js +1 -1
  134. package/utils/lodash.js +5 -5
  135. package/utils/number.amd.js.map +1 -1
  136. package/utils/number.js.map +1 -1
  137. package/utils/price.amd.js +1 -1
  138. package/utils/price.amd.js.map +1 -1
  139. package/utils/price.js +1 -1
  140. package/utils/price.js.map +1 -1
  141. package/utils/route.amd.js.map +1 -1
  142. package/utils/route.js.map +1 -1
  143. package/utils/scroll.amd.js.map +1 -1
  144. package/utils/scroll.js.map +1 -1
  145. package/utils/searchers.amd.js.map +1 -1
  146. package/utils/searchers.js.map +1 -1
  147. package/utils/string.amd.js +1 -1
  148. package/utils/string.amd.js.map +1 -1
  149. package/utils/string.js +1 -1
  150. package/utils/string.js.map +1 -1
  151. package/utils/system.amd.js.map +1 -1
  152. package/utils/system.js.map +1 -1
  153. package/utils/url.amd.js.map +1 -1
  154. package/utils/url.js.map +1 -1
  155. package/web-types.json +89 -89
  156. package/.chunks/datepicker-DWXjh2hB.es.js +0 -290
  157. package/.chunks/datepicker-DWXjh2hB.es.js.map +0 -1
  158. package/.chunks/datepicker-NJ8JOvZG.amd.js +0 -248
  159. package/.chunks/datepicker-NJ8JOvZG.amd.js.map +0 -1
  160. package/.chunks/forms-CIeG_5LP.es.js.map +0 -1
  161. package/.chunks/forms-DHMogHmw.amd.js.map +0 -1
  162. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DQXATE8-.amd.js.map +0 -1
  163. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Gofkt4lj.es.js.map +0 -1
  164. package/.chunks/menu.vue_vue_type_style_index_0_lang-CeoVr4RC.amd.js.map +0 -1
  165. package/.chunks/menu.vue_vue_type_style_index_0_lang-uGV-A-kW.es.js.map +0 -1
  166. package/.chunks/notice-BA5zBdx2.es.js.map +0 -1
  167. package/.chunks/notice-BPG1753z.amd.js.map +0 -1
  168. package/.chunks/popup-B-A8QzhE.amd.js +0 -448
  169. package/.chunks/popup-B-A8QzhE.amd.js.map +0 -1
  170. package/.chunks/popup-BnUijzts.es.js.map +0 -1
  171. package/components/core/dialog/types.d.ts +0 -2
@@ -0,0 +1,27 @@
1
+ import { Props, Slots } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ declare function __VLS_template(): {
4
+ slots: Readonly<Slots> & Slots;
5
+ refs: {};
6
+ attrs: Partial<{}>;
7
+ };
8
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
+ declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
10
+ close: (pageName: string) => any;
11
+ open: (pageName: string) => any;
12
+ }, string, PublicProps, Readonly<Props> & Readonly<{
13
+ onClose?: ((pageName: string) => any) | undefined;
14
+ onOpen?: ((pageName: string) => any) | undefined;
15
+ }>, {
16
+ width: string;
17
+ height: string;
18
+ modal: boolean;
19
+ historyType: "push" | "replace";
20
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
22
+ export default _default;
23
+ type __VLS_WithTemplateSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1,10 @@
1
+ import { TopDialogHandle } from '../composables/dialogWorker';
2
+ import { TopDialogComponent } from '../composables/types';
3
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
4
+ export declare const getDialogWorker: (id: string) => TopDialogHandle<TopDialogComponent> | undefined;
5
+ /**
6
+ * Добавить компонент диалогового окна для использования
7
+ */
8
+ export declare const addDialogWorker: <T extends TopDialogComponent>(TopDialogComponent: T) => TopDialogHandle<T>;
9
+ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
10
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import { Props, Slots } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ declare function __VLS_template(): {
4
+ slots: Readonly<Slots> & Slots;
5
+ refs: {};
6
+ attrs: Partial<{}>;
7
+ };
8
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
+ declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {
10
+ order: number;
11
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
13
+ export default _default;
14
+ type __VLS_WithTemplateSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,65 @@
1
+ export interface Props extends PropsCommon {
2
+ /**
3
+ * Статус загрузки страницы диалогового окна
4
+ *
5
+ * При включении взаимодействие со страницей блокируется, отображается анимация загрузки
6
+ */
7
+ isLoading?: boolean;
8
+ }
9
+ /**
10
+ * Общие props для компонентов реализуюущих TopDialogPage
11
+ */
12
+ export interface PropsCommon {
13
+ /**
14
+ * Имя страницы для диалогового окна
15
+ *
16
+ * Имя страницы нужно для навигации между страницами в одном диалоговом окне
17
+ */
18
+ name: string;
19
+ /**
20
+ * Порядкой номер страницы в диалоговом окне
21
+ *
22
+ * Одна и та же страница может быть подключена в разные диалоговые окна и иметь разный порядковый номер
23
+ */
24
+ order: number;
25
+ /**
26
+ * Имя предыдущей страницы
27
+ *
28
+ * Для кнопки Назад / Закрыть в мобильной версии
29
+ */
30
+ prevName?: string;
31
+ }
32
+ /**
33
+ * Общие props для компонентов реализуюущих TopDialogPage
34
+ *
35
+ * Для не SFC компонентов
36
+ */
37
+ export declare const propsPageCommon: {
38
+ name: {
39
+ type: StringConstructor;
40
+ required: boolean;
41
+ };
42
+ order: {
43
+ type: NumberConstructor;
44
+ required: boolean;
45
+ };
46
+ prevName: StringConstructor;
47
+ };
48
+ export interface Slots {
49
+ /**
50
+ * Шапка страницы
51
+ */
52
+ header(props: {}): any;
53
+ /**
54
+ * Кнопки для шапки страницы
55
+ */
56
+ headerButtons(props: {}): any;
57
+ /**
58
+ * Контент страницы
59
+ */
60
+ body(props: {}): any;
61
+ /**
62
+ * Футер страницы
63
+ */
64
+ footer(props: {}): any;
65
+ }
@@ -0,0 +1,6 @@
1
+ import { Props } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {
4
+ keepAlive: boolean;
5
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import { PropsCommon } from '../page/types';
2
+ import { Component } from 'vue';
3
+ export interface Props extends PropsCommon {
4
+ /**
5
+ * Компонент страницы с реализицией TopDialogPage
6
+ */
7
+ component: Component;
8
+ /**
9
+ * Кешировать ли эту страницу
10
+ *
11
+ * По умолчанию: true
12
+ */
13
+ keepAlive?: boolean;
14
+ /**
15
+ * Произвольный набор props, который будет передан в компонент страницы
16
+ */
17
+ props?: Record<string, any>;
18
+ }
@@ -0,0 +1,2 @@
1
+ import { TopDialogLoad } from '../../lib/types';
2
+ export declare const load: TopDialogLoad;
@@ -0,0 +1,7 @@
1
+ import { DefineProps } from 'vue';
2
+ import { TopDialogPagePropsCommon } from '../../..';
3
+ /**
4
+ * Логирования в console.log() событий страницы диалогового окна
5
+ * @param props
6
+ */
7
+ export declare const useLog: (props: DefineProps<TopDialogPagePropsCommon, never>) => void;
@@ -0,0 +1,58 @@
1
+ export interface Props {
2
+ id: string;
3
+ /**
4
+ * Имя активной страницы
5
+ */
6
+ pageActive: string;
7
+ /**
8
+ * Базовая ширина окна
9
+ */
10
+ width?: string;
11
+ /**
12
+ * Базовая высота окна
13
+ *
14
+ * Установите auto, если окно должно подстраиваться под размеры содержимого
15
+ *
16
+ * Установите значение, если окно должно подстраиваться под размеры содержимого
17
+ *
18
+ * @example 'auto'
19
+ * @example '200px'
20
+ */
21
+ height?: string;
22
+ /**
23
+ * Является ли окно модальным
24
+ *
25
+ * @see https://api.jqueryui.com/dialog/#option-modal
26
+ */
27
+ modal?: boolean;
28
+ /**
29
+ * Позиция окна
30
+ *
31
+ * @see https://api.jqueryui.com/dialog/#option-position
32
+ */
33
+ position?: string;
34
+ /**
35
+ * Для хеш-навигации
36
+ */
37
+ historyType?: 'push' | 'replace';
38
+ /**
39
+ * Список css классов для диалогового окна
40
+ */
41
+ classes?: string[];
42
+ }
43
+ export type Emits = {
44
+ /**
45
+ * Диалоговое окно было открыто
46
+ */
47
+ open: [pageName: string];
48
+ /**
49
+ * Диалоговое окно было закрыто
50
+ */
51
+ close: [pageName: string];
52
+ };
53
+ export interface Slots {
54
+ /**
55
+ * Слот с компонентами `TopDialogPage` и / или `TopDialogPageComponent`
56
+ */
57
+ default(props: {}): any;
58
+ }
@@ -0,0 +1,6 @@
1
+ export { default as TopDialog } from './dialog/dialog.vue';
2
+ export { default as TopDialogPage } from './dialog/page/page.vue';
3
+ export type { PropsCommon as TopDialogPagePropsCommon } from './dialog/page/types';
4
+ export { propsPageCommon } from './dialog/page/types';
5
+ export { default as TopDialogPageComponent } from './dialog/pageComponent/pageComponent.vue';
6
+ export { useTopDialogSelf } from './dialog/composables/utils';
@@ -0,0 +1,16 @@
1
+ export type TopDialogOptions = {
2
+ /**
3
+ * Загрузчик для компонентов диалоговых окон по их id
4
+ */
5
+ load?: TopDialogLoad;
6
+ /**
7
+ * Пауза перед загрузкой утилиты диалоговых окон в ms
8
+ *
9
+ * Для производительности
10
+ *
11
+ * Утилиты будут в любом случае загружены при работе с диалоговыми окнами, но их не надо грузить каждый раз после открытия страинцы
12
+ */
13
+ autoInitDelay?: number;
14
+ };
15
+ export type TopDialogLoad = (dialogId: string, callback?: () => void) => Promise<void>;
16
+ export type MoveDirection = 'next' | 'prev' | 'none';
@@ -0,0 +1,14 @@
1
+ import { MoveDirection } from './types';
2
+ import { $el } from '../../types';
3
+ export declare const TopDialogUtils: {
4
+ updatePageVue: (dialogId: string, pageName?: string, pageNameNext?: string) => Promise<void>;
5
+ recalcPositions: () => void;
6
+ toViewDirty: (toViewPageName: string, moveDirection?: MoveDirection) => Promise<void>;
7
+ toView: (viewNameOr$Dialog: $el | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: Function) => Promise<void>;
8
+ toViewPage: ($dialog: $el, pageName?: string, args?: string[], moveDirection?: MoveDirection) => Promise<void>;
9
+ toPrevPage: ($dialog: $el) => void;
10
+ setLoading: ($page: $el, isLoading: boolean, duration?: number) => void;
11
+ isLoading: ($page: $el) => boolean;
12
+ inAnimation: ($dialog: $el) => boolean;
13
+ close: (dialogId: string) => void;
14
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Инициализация глобальных событий для диалоговых окон
3
+ *
4
+ * Проивзодится один раз при подклчюении диалогового окна
5
+ *
6
+ * События не размонитруются
7
+ */
8
+ export declare const initDialogGlobalEvents: () => void;
@@ -0,0 +1,55 @@
1
+ import { MoveDirection, TopDialogOptions } from './types';
2
+ import { $el } from '../../types';
3
+ export declare abstract class TopDialogWorker {
4
+ static state: {
5
+ load: TopDialogOptions["load"] | undefined;
6
+ /**
7
+ * Порядковай номер перехода в диалоговых окнах
8
+ *
9
+ * Для расчета направления Вперед / Назад
10
+ */
11
+ viewPageN: number;
12
+ locationHashPrev: string;
13
+ };
14
+ private static inited;
15
+ /**
16
+ * Инициировать события слежения за парамтерами url
17
+ *
18
+ * Если в параметрах есть запрос на открытие диалогового окна, TopDialog будет автоматически подключен на страницу
19
+ */
20
+ static init(options?: TopDialogOptions): void;
21
+ static getDialogsUtils(): Promise<{
22
+ updatePageVue: (dialogId: string, pageName?: string, pageNameNext?: string) => Promise<void>;
23
+ recalcPositions: () => void;
24
+ toViewDirty: (toViewPageName: string, moveDirection?: MoveDirection) => Promise<void>;
25
+ toView: (viewNameOr$Dialog: $el | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: Function) => Promise<void>;
26
+ toViewPage: ($dialog: $el, pageName?: string, args?: string[], moveDirection?: MoveDirection) => Promise<void>;
27
+ toPrevPage: ($dialog: $el) => void;
28
+ setLoading: ($page: $el, isLoading: boolean, duration?: number) => void;
29
+ isLoading: ($page: $el) => boolean;
30
+ inAnimation: ($dialog: $el) => boolean;
31
+ close: (dialogId: string) => void;
32
+ }>;
33
+ static get$dialog($el: $el): JQuery<HTMLElement>;
34
+ static get$page($el: $el): JQuery<HTMLElement>;
35
+ /**
36
+ * Закрыть диалоговое окно
37
+ */
38
+ static close(dialogId: string): void;
39
+ /**
40
+ * Размонтировать $.dialog
41
+ */
42
+ static destroy(dialogId: string): void;
43
+ /**
44
+ * Сгенерировать ссылку на страницу в диалоговом окне
45
+ * @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}
46
+ * @param moveDirection
47
+ */
48
+ static genViewPageHash(toView: string, moveDirection?: MoveDirection): string;
49
+ /**
50
+ * Сравнить версию открытых диалоговых окон
51
+ * @returns вернет true, если состояния открытых окон изменилось
52
+ */
53
+ static compareStates(hash: string, hash2: string): boolean;
54
+ static opendDialogsFromUrl: () => Promise<true | void>;
55
+ }
@@ -5,7 +5,7 @@ export interface Props {
5
5
  * Словарь для генерации элементов <option>
6
6
  *
7
7
  * Поддерживает 3 типа аргумента:
8
- * - Словарь со значениями: базовый спобоб создать простой список
8
+ * - Словарь со значениями: базовый способ создать простой список
9
9
  * - Словарь с объектами Option: расширенный способ, позволяющий указать для <option disabled> и вынести <option> в <optgroup>
10
10
  * - Массив с объектами Option: альтернативный словарю расширенный способ, в новых версиях js использовать не рекомендуется, работает медленнее
11
11
  *
@@ -6,8 +6,8 @@ type __VLS_PublicProps = {
6
6
  'tags'?: Tag[];
7
7
  } & typeof __VLS_typeProps;
8
8
  declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
9
- selector: (tagsIds: ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12" | "-13" | "-14" | "-15" | "-16" | "-17" | "-18" | "-19" | "-20")[]) => any;
10
9
  "update:modelValue": (modelValue: ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12" | "-13" | "-14" | "-15" | "-16" | "-17" | "-18" | "-19" | "-20")[]) => any;
10
+ selector: (tagsIds: ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12" | "-13" | "-14" | "-15" | "-16" | "-17" | "-18" | "-19" | "-20")[]) => any;
11
11
  setter: (event: {
12
12
  tagsIds: Tag["id"][];
13
13
  targetId?: number | string;
@@ -18,8 +18,8 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
18
18
  tagsChanged: (tags: Tag[]) => any;
19
19
  "update:tags": (tags: Tag[]) => any;
20
20
  }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
- onSelector?: ((tagsIds: ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12" | "-13" | "-14" | "-15" | "-16" | "-17" | "-18" | "-19" | "-20")[]) => any) | undefined;
22
21
  "onUpdate:modelValue"?: ((modelValue: ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12" | "-13" | "-14" | "-15" | "-16" | "-17" | "-18" | "-19" | "-20")[]) => any) | undefined;
22
+ onSelector?: ((tagsIds: ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12" | "-13" | "-14" | "-15" | "-16" | "-17" | "-18" | "-19" | "-20")[]) => any) | undefined;
23
23
  onSetter?: ((event: {
24
24
  tagsIds: Tag["id"][];
25
25
  targetId?: number | string;
@@ -93,7 +93,7 @@ export interface Props {
93
93
  export type FiltersAction = 'add' | 'replace' | 'delete';
94
94
  export type Emits = {
95
95
  /**
96
- * Измнен выбор тегов
96
+ * Изменен выбор тегов
97
97
  *
98
98
  * При выборе тегов в режиме `filter`
99
99
  */
@@ -132,7 +132,7 @@ export type Emits = {
132
132
  }
133
133
  ];
134
134
  /**
135
- * Измнен список тегов
135
+ * Изменен список тегов
136
136
  */
137
137
  tagsChanged: [tags: NonNullable<Props['tags']>];
138
138
  };
@@ -28,7 +28,7 @@ export interface Props {
28
28
  */
29
29
  modelValue: string;
30
30
  /**
31
- * Указывает на то, что компоеннт испоьзуется в основной области документа
31
+ * Указывает на то, что компоеннт Используется в основной области документа
32
32
  *
33
33
  * props - константа, после инициализации менять нельзя
34
34
  *
package/core/app.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DHMogHmw.amd","vue","../popup/worker.amd","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd"],function(w,p,a,h,d,P,k,E){"use strict";if(typeof h>"u")var h=window.Vue;class I{static isInited=!1;static init(){this.isInited||(this.isInited=!0,document.addEventListener("mouseover",t=>{var e;!(t.target instanceof HTMLElement)||!((e=t.target.dataset)!=null&&e.topPopupOpenByHover)||t.target.click()}),document.addEventListener("scroll",()=>{a.Core.state.isMobile||a.Core.state.isMobileUA||d.TopPopupWorker.getAll().forEach(t=>d.TopPopupWorker.close(t))}),a.Events.addOnReize(t=>{a.Core.state.isMobile&&t.topEvent.widthDiff&&d.TopPopupWorker.getAll().forEach(e=>d.TopPopupWorker.close(e))}),document.addEventListener("click",this.onclick))}static async onclick(t){var o,n,s,r,c;if(!(t.target instanceof HTMLElement))return;let e;switch(!0){case!!((o=t.target.dataset)!=null&&o.topPopup):e=t.target;break;case!!((n=t.target.parentElement)!=null&&n.dataset.topPopup):e=t.target.parentElement;break;case!!((r=(s=t.target.parentElement)==null?void 0:s.parentElement)!=null&&r.dataset.topPopup):e=(c=t.target.parentElement)==null?void 0:c.parentElement;break}e&&(e.dataset.topPopupDisabled||e.dataset.topPopupOpened||(t.preventDefault(),await d.TopPopupWorker.openByOpener(e)))}}let m;const L={mounted:async(i,t)=>{m||(m=(await new Promise((s,r)=>w(["../utils/dom.amd"],s,r))).storage);const e=t.arg,o=t.value;m(i,e,o)}},C={mounted:function(i,t){t.value.disabled||i.focus()}};let u;const O={mounted(i,t,e){const o=t.value||"top-sticky";u=new IntersectionObserver(n=>{let s=n[0].intersectionRatio<1;s&&t.modifiers.bottom&&n[0].intersectionRect.y===0&&(s=!1),i.classList.toggle(o,s)},{threshold:[1]}),u.observe(i)},unmounted(i,t,e){u==null||u.disconnect()}};let v=!1,g;const f=new Map,y=(i,t)=>{const{distance:e,percent:o}=i.directiveSwipUpOptions,n=i.getBoundingClientRect().top,s=t*o/100/e,r=(t-n)/s;r<=e?i.style.transform=`translateY(${e-r}px)`:i.style.transform="translateY(0px)"},N=i=>{let t=window.innerHeight;window.addEventListener("scroll",()=>{f.forEach(e=>y(e,t))},{passive:!0}),g=new IntersectionObserver(e=>{t=window.innerHeight,e.forEach(o=>{const n=o.target;if(o.intersectionRatio<.1?f.delete(n):f.set(n,n),o.intersectionRatio===0){const{distance:s}=n.directiveSwipUpOptions;n.style.transform=`translateY(${s}px)`}})},{threshold:.1})},M={mounted(i,t,e){var o,n;a.Core.state.isMobileUA||(i.directiveSwipUpOptions={distance:((o=t.value)==null?void 0:o.distance)??100,percent:((n=t.value)==null?void 0:n.percent)??30},v||(N(),v=!0),g.observe(i))},unmounted(i,t,e){f.delete(i),g==null||g.unobserve(i)}},T=i=>{var t,e;if(!((e=(t=a.Core.$)==null?void 0:t.ui)!=null&&e.tooltip)){console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");return}return a.Core.$(i)},S=(i,t)=>{var o;const e=i.value??{};return e.content??=(o=t.props)==null?void 0:o.title,e.content=String(e.content).replace(/\r\n|\r|\n/g,"<br>"),e.position??={my:"bottom-18px",at:"top center"},e},H={mounted(i,t,e){var o;(o=T(i))==null||o.tooltip(S(t,e))},updated(i,t,e,o){var r;const n=S(t,e),s=(r=T(i))==null?void 0:r.tooltip("instance");s&&(s.options={...s.options,...n})},unmounted(i,t,e){var o;(o=T(i))==null||o.tooltip("destroy")}},U=h.defineAsyncComponent(()=>new Promise((i,t)=>w(["../.chunks/notice-BPG1753z.amd"],i,t))),F={install:(i,t)=>{i.config.globalProperties.$core=a.Core;for(const e in t)a.Core.state[e]=t[e];t.widthForMobile&&(a.Core.widthForMobile=t.widthForMobile),t.themeName&&(a.Core.themeName=t.themeName),a.Core._setState(),t.topPopupOptions&&(d.TopPopupWorker.options=t.topPopupOptions),I.init(),i.directive("top-data",L),i.directive("top-focus",C),i.directive("top-sticky",O),i.directive("top-swim-up",M),i.directive("top-tooltip",H),i.component("TopAvatar",a.TopAvatar),i.component("TopButton",a.TopButton),i.component("TopCheckbox",a.TopCheckbox),i.component("TopControlLabel",a.TopControlLabel),i.component("TopHint",a.TopHint),i.component("TopInput",a.TopInput),i.component("TopInputDate",a.TopInputDate),i.component("TopInputRange",a.TopInputRange),i.component("TopLoadbar",a.TopLoadbar),i.component("TopRadio",a.TopRadio),i.component("TopSelect",a.TopSelect),i.component("TopSwitcher",a.TopSwitcher),i.component("TopTextarea",a.TopTextarea),i.component("TopNotice",U)}};class R{#e;#t;#o;#n;#p;#i=[];#s=[];#d=[];#a=[];constructor(t){var o;this.#t=t.store,this.#e=this.#t.$id,this.#o=t.options.Page,this.#n=t.options.user,this.#p=t.options.Api,this.#i=t.options.tpaNamesUrlHash||[],this.#s=t.options.tpaNamesStorage||[],this.#d=t.options.tpaNamesStorageLocal||[],this.#a=t.options.tpaNamesGuestLink||[],t.store.genGuestLink=(n,s)=>this.genGuestLink(n,s),(o=this.#n.guest_data)!=null&&o.data||(this.#l(),this.#l(!0),this.#g()),this.#T(),this.#b();const e=a.debounce(()=>{this.#f(),this.#m()});t.store.$subscribe(e)}async genGuestLink(t,e){var r;const o=this.#h();e=Object.assign(e,Object.fromEntries(o));const n=await this.#p.gen(t,"fetchColumn").call({},e);if(n!=null&&n.errors)return;await P.setClipboard(n.result);const s=(r=a.useI18n().Common)==null?void 0:r.Guest_link_copied_to_clipboard;a.Core.notice(s+': <a href="'+n.result+'" target="_blank">'+n.result+"</a>","info")}#h(){const t=new Map;return this.#a.forEach(e=>{const o=k.camelToSnakeCase(e);t.set(o,this.#t[e])}),t}#r(t){if(Object.isFrozen(this))throw"Please, use setOptions only inner commit function";t.forEach((e,o)=>{const n=this.#t[o];if(e!=null&&e!=null&&e.constructor&&e.constructor===n.constructor){if(o.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[o]=e}})}#u(t){const e=new Map;return t.forEach((o,n)=>{o!==null&&(o=JSON.stringify(o),e.set(n,o))}),e}#c(t){const e=new Map;return t.forEach((o,n)=>{if(!(o==null||o==="false")){try{if(typeof o=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(o)&&(o=JSON.parse(o)),o==null||o==="false")return}catch{}e.set(n,o)}}),e}#g(){let t;try{t=JSON.parse(E.getHash(this.#e))}catch{}if(!t)return;const e=new Map;this.#i.forEach(n=>{const s=t[n];s&&e.set(n,s)});const o=this.#c(e);this.#r(o)}#f(){const t=new Map;this.#i.forEach(n=>{const s=this.#t[n];t.set(n,s)});const e=Object.fromEntries(t),o=JSON.stringify(e);E.setHash(this.#e,o)}#l(t=!1){const e=new Map;let o="state:"+this.#e;t&&(o="state:"+this.#e+":"+location.pathname),this.#s.forEach(s=>{const r=localStorage.getItem(o+":"+s);e.set(s,r)});const n=this.#c(e);this.#r(n)}#m(t=!1){const e=new Map;let o=this.#s,n="state:"+this.#e;t&&(o=this.#d,n="state:"+this.#e+":"+location.pathname),o.forEach(r=>{const c=this.#t[r];e.set(r,c)});const s=this.#u(e);o.forEach(r=>{const c=s.get(r);localStorage.setItem(n+":"+r,c)})}#T(){var s,r,c;const t=(r=(s=this.#n)==null?void 0:s.guest_data)==null?void 0:r.data;if(!t)return;this.#n.id===-1&&(this.#n.positionsReverseDates=t.positionsReverseDates);const e=new Map;this.#a.forEach(l=>{const b=t[l];e.set(l,b)});const o=this.#c(e);this.#r(o);const n=$(".mod_guest_title");if(((c=this.#t.competitorsIds)==null?void 0:c.length)===1&&this.#o.page.data.competitors){let l=this.#o.page.data.competitors.filter(b=>b.id===t.competitorsIds[0]);l.length&&($("a",n).attr("href","http://"+l[0].url),$("a",n).text(l[0].name))}}#b(){this.#t.regionsIndexes&&h.watch(this.#t,t=>{if(!t.length)return;t.forEach((n,s)=>t[s]=n);const e=TplProjectSelectorRegion.genSearchersMap(),o=[];e.forEach(n=>{n.regions.forEach(s=>{s.index!==-1&&o.push(s.index)})}),this.#t.regionsIndexes=t.filter(n=>o.includes(n))},{immediate:!0}),this.#t.competitorsIds&&h.watch(this.#t,t=>{if(!t.length)return;t.forEach((o,n)=>o[n]=o);const e=[this.#o.page.data.project.id];this.#o.page.data.project.competitors.forEach(o=>{o.on>=0&&e.push(o.id)}),this.#t.competitorsIds=t.filter(o=>e.includes(o))})}}const _=i=>{var e,o,n,s;const t=i;!((e=t.options.tpaNamesUrlHash)!=null&&e.length)&&!((o=t.options.tpaNamesStorage)!=null&&o.length)&&!((n=t.options.tpaNamesStorageLocal)!=null&&n.length)&&!((s=t.options.tpaNamesGuestLink)!=null&&s.length)||new R(t)};p.Core=a.Core,p.i18nPlugin=a.i18n,p.useI18n=a.useI18n,p.useI18nLang=a.useI18nLang,p.useI18nSetLang=a.useI18nSetLang,p.corePlugin=F,p.piniaTPAPlugin=_,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-CiwhEtPE.amd","vue","../popup/worker.amd","../.chunks/utils-DpejCylJ.amd","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd"],function(v,c,a,u,d,h,P,I,E){"use strict";if(typeof u>"u")var u=window.Vue;class y{static isInited=!1;static init(){this.isInited||(this.isInited=!0,document.addEventListener("mouseover",t=>{var e;!(t.target instanceof HTMLElement)||!((e=t.target.dataset)!=null&&e.topPopupOpenByHover)||t.target.click()}),document.addEventListener("scroll",()=>{a.Core.state.isMobile||a.Core.state.isMobileUA||d.TopPopupWorker.getAll().forEach(t=>d.TopPopupWorker.close(t))}),a.Events.addOnReize(t=>{a.Core.state.isMobile&&t.topEvent.widthDiff&&d.TopPopupWorker.getAll().forEach(e=>d.TopPopupWorker.close(e))}),document.addEventListener("click",this.onclick))}static async onclick(t){var o,n,s,r,p;if(!(t.target instanceof HTMLElement))return;let e;switch(!0){case!!((o=t.target.dataset)!=null&&o.topPopup):e=t.target;break;case!!((n=t.target.parentElement)!=null&&n.dataset.topPopup):e=t.target.parentElement;break;case!!((r=(s=t.target.parentElement)==null?void 0:s.parentElement)!=null&&r.dataset.topPopup):e=(p=t.target.parentElement)==null?void 0:p.parentElement;break}e&&(e.dataset.topPopupDisabled||e.dataset.topPopupOpened||(t.preventDefault(),await d.TopPopupWorker.openByOpener(e)))}}let T;const L={mounted:async(i,t)=>{T||(T=(await new Promise((s,r)=>v(["../utils/dom.amd"],s,r))).storage);const e=t.arg,o=t.value;T(i,e,o)}},O={mounted:function(i,t){t.value.disabled||i.focus()}};let g;const C={mounted(i,t,e){const o=t.value||"top-sticky";g=new IntersectionObserver(n=>{let s=n[0].intersectionRatio<1;s&&t.modifiers.bottom&&n[0].intersectionRect.y===0&&(s=!1),i.classList.toggle(o,s)},{threshold:[1]}),g.observe(i)},unmounted(i,t,e){g==null||g.disconnect()}};let k=!1,f;const m=new Map,D=(i,t)=>{const{distance:e,percent:o}=i.directiveSwipUpOptions,n=i.getBoundingClientRect().top,s=t*o/100/e,r=(t-n)/s;r<=e?i.style.transform=`translateY(${e-r}px)`:i.style.transform="translateY(0px)"},N=i=>{let t=window.innerHeight;window.addEventListener("scroll",()=>{m.forEach(e=>D(e,t))},{passive:!0}),f=new IntersectionObserver(e=>{t=window.innerHeight,e.forEach(o=>{const n=o.target;if(o.intersectionRatio<.1?m.delete(n):m.set(n,n),o.intersectionRatio===0){const{distance:s}=n.directiveSwipUpOptions;n.style.transform=`translateY(${s}px)`}})},{threshold:.1})},M={mounted(i,t,e){var o,n;a.Core.state.isMobileUA||(i.directiveSwipUpOptions={distance:((o=t.value)==null?void 0:o.distance)??100,percent:((n=t.value)==null?void 0:n.percent)??30},k||(N(),k=!0),f.observe(i))},unmounted(i,t,e){m.delete(i),f==null||f.unobserve(i)}},b=i=>{var t,e;if(!((e=(t=a.Core.$)==null?void 0:t.ui)!=null&&e.tooltip)){console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");return}return a.Core.$(i)},S=(i,t)=>{var o;const e=i.value??{};return e.content??=(o=t.props)==null?void 0:o.title,e.content=String(e.content).replace(/\r\n|\r|\n/g,"<br>"),e.position??={my:"bottom-18px",at:"top center"},e},H={mounted(i,t,e){var o;(o=b(i))==null||o.tooltip(S(t,e))},updated(i,t,e,o){var r;const n=S(t,e),s=(r=b(i))==null?void 0:r.tooltip("instance");s&&(s.options={...s.options,...n})},unmounted(i,t,e){var o;(o=b(i))==null||o.tooltip("destroy")}},_=u.defineAsyncComponent(()=>new Promise((i,t)=>v(["../.chunks/notice-DkCLhqSq.amd"],i,t)));window.vd=console.log;const A={install:(i,t)=>{i.config.globalProperties.$core=a.Core,i.config.globalProperties.$vd=console.log;for(const e in t)a.Core.state[e]=t[e];t.widthForMobile&&(a.Core.widthForMobile=t.widthForMobile),t.themeName&&(a.Core.themeName=t.themeName),a.Core._setState(),t.topPopupOptions&&(d.TopPopupWorker.options=t.topPopupOptions),y.init(),h.TopDialogWorker.init(t.topDialogOptions),i.directive("top-data",L),i.directive("top-focus",O),i.directive("top-sticky",C),i.directive("top-swim-up",M),i.directive("top-tooltip",H),i.component("TopAvatar",a.TopAvatar),i.component("TopButton",a.TopButton),i.component("TopCheckbox",a.TopCheckbox),i.component("TopControlLabel",a.TopControlLabel),i.component("TopHint",a.TopHint),i.component("TopInput",a.TopInput),i.component("TopInputDate",a.TopInputDate),i.component("TopInputRange",a.TopInputRange),i.component("TopLoadbar",a.TopLoadbar),i.component("TopRadio",a.TopRadio),i.component("TopSelect",a.TopSelect),i.component("TopSwitcher",a.TopSwitcher),i.component("TopTextarea",a.TopTextarea),i.component("TopNotice",_),i.component("TopDialogs",h._sfc_main)}};class U{#e;#t;#o;#n;#p;#i=[];#s=[];#d=[];#a=[];constructor(t){var o;this.#t=t.store,this.#e=this.#t.$id,this.#o=t.options.Page,this.#n=t.options.user,this.#p=t.options.Api,this.#i=t.options.tpaNamesUrlHash||[],this.#s=t.options.tpaNamesStorage||[],this.#d=t.options.tpaNamesStorageLocal||[],this.#a=t.options.tpaNamesGuestLink||[],t.store.genGuestLink=(n,s)=>this.genGuestLink(n,s),(o=this.#n.guest_data)!=null&&o.data||(this.#l(),this.#l(!0),this.#g()),this.#T(),this.#b();const e=a.debounce(()=>{this.#f(),this.#m()});t.store.$subscribe(e)}async genGuestLink(t,e){var r;const o=this.#h();e=Object.assign(e,Object.fromEntries(o));const n=await this.#p.gen(t,"fetchColumn").call({},e);if(n!=null&&n.errors)return;await P.setClipboard(n.result);const s=(r=a.useI18n().Common)==null?void 0:r.Guest_link_copied_to_clipboard;a.Core.notice(s+': <a href="'+n.result+'" target="_blank">'+n.result+"</a>","info")}#h(){const t=new Map;return this.#a.forEach(e=>{const o=I.camelToSnakeCase(e);t.set(o,this.#t[e])}),t}#r(t){if(Object.isFrozen(this))throw"Please, use setOptions only inner commit function";t.forEach((e,o)=>{const n=this.#t[o];if(e!=null&&e!=null&&e.constructor&&e.constructor===n.constructor){if(o.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[o]=e}})}#u(t){const e=new Map;return t.forEach((o,n)=>{o!==null&&(o=JSON.stringify(o),e.set(n,o))}),e}#c(t){const e=new Map;return t.forEach((o,n)=>{if(!(o==null||o==="false")){try{if(typeof o=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(o)&&(o=JSON.parse(o)),o==null||o==="false")return}catch{}e.set(n,o)}}),e}#g(){let t;try{t=JSON.parse(E.getHash(this.#e))}catch{}if(!t)return;const e=new Map;this.#i.forEach(n=>{const s=t[n];s&&e.set(n,s)});const o=this.#c(e);this.#r(o)}#f(){const t=new Map;this.#i.forEach(n=>{const s=this.#t[n];t.set(n,s)});const e=Object.fromEntries(t),o=JSON.stringify(e);E.setHash(this.#e,o)}#l(t=!1){const e=new Map;let o="state:"+this.#e;t&&(o="state:"+this.#e+":"+location.pathname),this.#s.forEach(s=>{const r=localStorage.getItem(o+":"+s);e.set(s,r)});const n=this.#c(e);this.#r(n)}#m(t=!1){const e=new Map;let o=this.#s,n="state:"+this.#e;t&&(o=this.#d,n="state:"+this.#e+":"+location.pathname),o.forEach(r=>{const p=this.#t[r];e.set(r,p)});const s=this.#u(e);o.forEach(r=>{const p=s.get(r);localStorage.setItem(n+":"+r,p)})}#T(){var s,r,p;const t=(r=(s=this.#n)==null?void 0:s.guest_data)==null?void 0:r.data;if(!t)return;this.#n.id===-1&&(this.#n.positionsReverseDates=t.positionsReverseDates);const e=new Map;this.#a.forEach(l=>{const w=t[l];e.set(l,w)});const o=this.#c(e);this.#r(o);const n=$(".mod_guest_title");if(((p=this.#t.competitorsIds)==null?void 0:p.length)===1&&this.#o.page.data.competitors){let l=this.#o.page.data.competitors.filter(w=>w.id===t.competitorsIds[0]);l.length&&($("a",n).attr("href","http://"+l[0].url),$("a",n).text(l[0].name))}}#b(){this.#t.regionsIndexes&&u.watch(this.#t,t=>{if(!t.length)return;t.forEach((n,s)=>t[s]=n);const e=TplProjectSelectorRegion.genSearchersMap(),o=[];e.forEach(n=>{n.regions.forEach(s=>{s.index!==-1&&o.push(s.index)})}),this.#t.regionsIndexes=t.filter(n=>o.includes(n))},{immediate:!0}),this.#t.competitorsIds&&u.watch(this.#t,t=>{if(!t.length)return;t.forEach((o,n)=>o[n]=o);const e=[this.#o.page.data.project.id];this.#o.page.data.project.competitors.forEach(o=>{o.on>=0&&e.push(o.id)}),this.#t.competitorsIds=t.filter(o=>e.includes(o))})}}const F=i=>{var e,o,n,s;const t=i;!((e=t.options.tpaNamesUrlHash)!=null&&e.length)&&!((o=t.options.tpaNamesStorage)!=null&&o.length)&&!((n=t.options.tpaNamesStorageLocal)!=null&&n.length)&&!((s=t.options.tpaNamesGuestLink)!=null&&s.length)||new U(t)};c.Core=a.Core,c.i18nPlugin=a.i18n,c.useI18n=a.useI18n,c.useI18nLang=a.useI18nLang,c.useI18nSetLang=a.useI18nSetLang,c.TopDialogWorker=h.TopDialogWorker,c.useAsyncTopDialog=h.useAsyncTopDialog,c.useTopDialog=h.useTopDialog,c.corePlugin=A,c.piniaTPAPlugin=F,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=app.amd.js.map