@topvisor/ui 1.5.8-0 → 1.5.8-5

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 (120) hide show
  1. package/.chunks/api-BlIxMRlW.amd.js +2 -0
  2. package/.chunks/api-BlIxMRlW.amd.js.map +1 -0
  3. package/.chunks/{api-Dy2x6A8L.esm.js → api-BlIxMRlW.esm.js} +4 -4
  4. package/.chunks/api-BlIxMRlW.esm.js.map +1 -0
  5. package/.chunks/app-CyODeY0D.amd.js.map +1 -1
  6. package/.chunks/app-CyODeY0D.esm.js.map +1 -1
  7. package/.chunks/dialog-C8fss11q.amd.js.map +1 -1
  8. package/.chunks/dialog-C8fss11q.esm.js.map +1 -1
  9. package/.chunks/forms-LywqKN9I.amd.js.map +1 -1
  10. package/.chunks/forms-LywqKN9I.esm.js.map +1 -1
  11. package/.chunks/formsExt-DIG40qsu.amd.js +2 -0
  12. package/.chunks/formsExt-DIG40qsu.amd.js.map +1 -0
  13. package/.chunks/{formsExt-D16-9Jor.esm.js → formsExt-DIG40qsu.esm.js} +15 -16
  14. package/.chunks/formsExt-DIG40qsu.esm.js.map +1 -0
  15. package/.chunks/notice-Dw5ZUJxW.amd.js.map +1 -1
  16. package/.chunks/notice-Dw5ZUJxW.esm.js.map +1 -1
  17. package/.chunks/popup-DWQEHSuw.amd.js +2 -0
  18. package/.chunks/popup-DWQEHSuw.amd.js.map +1 -0
  19. package/.chunks/{popup-BWD4eASc.esm.js → popup-DWQEHSuw.esm.js} +2 -2
  20. package/.chunks/{popup-BWD4eASc.esm.js.map → popup-DWQEHSuw.esm.js.map} +1 -1
  21. package/.chunks/store-DjQAOnrn.amd.js.map +1 -1
  22. package/.chunks/store-DjQAOnrn.esm.js.map +1 -1
  23. package/.chunks/utils-CZnFOkS6.amd.js.map +1 -1
  24. package/.chunks/utils-CZnFOkS6.esm.js.map +1 -1
  25. package/.chunks/utils-ZgQqVN0T.amd.js.map +1 -1
  26. package/.chunks/utils-ZgQqVN0T.esm.js.map +1 -1
  27. package/api/index.amd.js +1 -1
  28. package/api/index.amd.js.map +1 -1
  29. package/api/index.js +1 -1
  30. package/assets/core.css +1 -1
  31. package/assets/schedule.css +1 -1
  32. package/autoload-css-manifest.amd.json +2 -2
  33. package/autoload-css-manifest.json +2 -2
  34. package/formsExt/formsExt.amd.js +1 -1
  35. package/formsExt/formsExt.amd.js.map +1 -1
  36. package/formsExt/formsExt.js +1 -1
  37. package/icomoon/Topvisor icons.json +264 -233
  38. package/icomoon/demo-files/demo.amd.js +1 -1
  39. package/icomoon/demo-files/demo.amd.js.map +1 -1
  40. package/icomoon/demo-files/demo.js +2 -2
  41. package/icomoon/demo.amd.js +1 -1
  42. package/icomoon/demo.amd.js.map +1 -1
  43. package/icomoon/demo.html +15 -1
  44. package/icomoon/demo.js +2 -2
  45. package/icomoon/fonts/Topvisor-2.eot +0 -0
  46. package/icomoon/fonts/Topvisor-2.svg +1 -0
  47. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  48. package/icomoon/fonts/Topvisor-2.woff +0 -0
  49. package/icomoon/selection.json +1 -1
  50. package/icomoon/style.css +8 -5
  51. package/package.json +1 -1
  52. package/popup/popup.amd.js +1 -1
  53. package/popup/popup.amd.js.map +1 -1
  54. package/popup/popup.js +1 -1
  55. package/project/project.amd.js +1 -1
  56. package/project/project.amd.js.map +1 -1
  57. package/project/project.js +3 -3
  58. package/project/project.js.map +1 -1
  59. package/schedule/schedule.amd.js +1 -1
  60. package/schedule/schedule.amd.js.map +1 -1
  61. package/schedule/schedule.js +89 -81
  62. package/schedule/schedule.js.map +1 -1
  63. package/src/api/api/types/client/client.d.ts +1 -2
  64. package/src/api/api/types/client/request.d.ts +1 -1
  65. package/src/api/api/types/schema.d.ts +1 -1
  66. package/src/api/api/types/utils.d.ts +1 -1
  67. package/src/api/api/utils/common.d.ts +1 -1
  68. package/src/components/core/notice/types.d.ts +3 -1
  69. package/src/components/core/notice/utils.d.ts +2 -2
  70. package/src/components/dialog/dialog/composables/dialogHandle.d.ts +2 -2
  71. package/src/components/dialog/dialog/page/types.d.ts +4 -4
  72. package/src/components/dialog/dialog/types.d.ts +1 -1
  73. package/src/components/dialog/lib/utils.d.ts +1 -1
  74. package/src/components/dialog/lib/worker.d.ts +1 -1
  75. package/src/components/forms/button/types.d.ts +3 -4
  76. package/src/components/forms/caption/types.d.ts +2 -2
  77. package/src/components/forms/input/types.d.ts +2 -2
  78. package/src/components/forms/inputRange/types.d.ts +1 -0
  79. package/src/components/forms/select/types.d.ts +1 -1
  80. package/src/components/formsExt/editArea/types.d.ts +1 -1
  81. package/src/components/formsExt/info/types.d.ts +2 -2
  82. package/src/components/formsExt/selector2/composables/useMenu.d.ts +2 -2
  83. package/src/components/formsExt/selector2/types.d.ts +4 -2
  84. package/src/components/layout/islandRows/islandRowsRow/types.d.ts +1 -0
  85. package/src/components/layout/islandRows/types.d.ts +2 -2
  86. package/src/components/project/groupSelector/groups/utils.d.ts +14 -2
  87. package/src/components/project/projectSelector/utils.d.ts +2 -2
  88. package/src/components/project/regionSelector/utils/utils.d.ts +1 -1
  89. package/src/components/schedule/schedule/compoents/calendar/types.d.ts +8 -0
  90. package/src/components/schedule/schedule/types.d.ts +2 -2
  91. package/src/components/tabsView/tabsView/types.d.ts +1 -2
  92. package/src/components/tabsView/tabsView/utils.d.ts +1 -1
  93. package/src/core/plugins/core.d.ts +1 -1
  94. package/src/core/utils/route.d.ts +1 -1
  95. package/src/core/utils/store/store.d.ts +1 -1
  96. package/src/core/utils/system.d.ts +2 -2
  97. package/tabsView/tabsView.amd.js +1 -1
  98. package/tabsView/tabsView.amd.js.map +1 -1
  99. package/tabsView/tabsView.js +2 -2
  100. package/tabsView/tabsView.js.map +1 -1
  101. package/utils/route.amd.js +1 -1
  102. package/utils/route.amd.js.map +1 -1
  103. package/utils/route.js +2 -2
  104. package/utils/route.js.map +1 -1
  105. package/utils/searchers.amd.js +1 -1
  106. package/utils/searchers.amd.js.map +1 -1
  107. package/utils/searchers.js +0 -1
  108. package/utils/searchers.js.map +1 -1
  109. package/utils/string.amd.js.map +1 -1
  110. package/utils/string.js.map +1 -1
  111. package/utils/system.amd.js.map +1 -1
  112. package/utils/system.js.map +1 -1
  113. package/.chunks/api-Dy2x6A8L.amd.js +0 -2
  114. package/.chunks/api-Dy2x6A8L.amd.js.map +0 -1
  115. package/.chunks/api-Dy2x6A8L.esm.js.map +0 -1
  116. package/.chunks/formsExt-D16-9Jor.amd.js +0 -2
  117. package/.chunks/formsExt-D16-9Jor.amd.js.map +0 -1
  118. package/.chunks/formsExt-D16-9Jor.esm.js.map +0 -1
  119. package/.chunks/popup-BWD4eASc.amd.js +0 -2
  120. package/.chunks/popup-BWD4eASc.amd.js.map +0 -1
@@ -1 +1,3 @@
1
- export type Props = {};
1
+ export interface Props {
2
+ [key: string]: unknown;
3
+ }
@@ -2,7 +2,7 @@ import { Props as ItemProps, Props, Style } from './item/types';
2
2
  import { Reactive } from 'vue';
3
3
  export declare const transitionDuration = 300;
4
4
  export type Item = Props & {
5
- onClose?: Function;
5
+ onClose?: () => void;
6
6
  };
7
7
  export declare const itemById: Reactive<Map<string, Item>>;
8
8
  export type Options = {
@@ -12,7 +12,7 @@ export type Options = {
12
12
  buttonsProps?: ItemProps['buttonsProps'];
13
13
  isSafeHTML?: ItemProps['isSafeHTML'];
14
14
  selectToClose?: ItemProps['selectToClose'];
15
- onClose?: Function;
15
+ onClose?: () => void;
16
16
  };
17
17
  /**
18
18
  * Показать сообщением в стиле push уведомления
@@ -78,13 +78,13 @@ export declare class TopDialogHandle<T extends TopDialogComponent> {
78
78
  *
79
79
  * Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента
80
80
  */
81
- open(pageName?: string, props?: {}, args?: [], onCloseOnce?: typeof this.onCloseOnce, moveDirection?: MoveDirection): Promise<void>;
81
+ open(pageName?: string, props?: Record<string, unknown>, args?: [], onCloseOnce?: typeof this.onCloseOnce, moveDirection?: MoveDirection): Promise<void>;
82
82
  /**
83
83
  * Открыть диалоговое окно как ссылку, для хеш-навигации
84
84
  *
85
85
  * Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader
86
86
  */
87
- openAsLink(pageName?: string, props?: {}, _args?: string[], onCloseOnce?: typeof this.onCloseOnce, moveDirection?: MoveDirection): Promise<void>;
87
+ openAsLink(pageName?: string, props?: Record<string, unknown>, _args?: string[], onCloseOnce?: typeof this.onCloseOnce, moveDirection?: MoveDirection): Promise<void>;
88
88
  /**
89
89
  * Закрыть диалоговое окно
90
90
  *
@@ -56,17 +56,17 @@ export interface Slots {
56
56
  /**
57
57
  * Шапка страницы
58
58
  */
59
- header(props: {}): any;
59
+ header(props: Record<string, unknown>): any;
60
60
  /**
61
61
  * Кнопки для шапки страницы
62
62
  */
63
- headerButtons?(props: {}): any;
63
+ headerButtons?(props: Record<string, unknown>): any;
64
64
  /**
65
65
  * Контент страницы
66
66
  */
67
- body(props: {}): any;
67
+ body(props: Record<string, unknown>): any;
68
68
  /**
69
69
  * Футер страницы
70
70
  */
71
- footer?(props: {}): any;
71
+ footer?(props: Record<string, unknown>): any;
72
72
  }
@@ -56,5 +56,5 @@ export interface Slots {
56
56
  /**
57
57
  * Слот с компонентами `TopDialogPage` и / или `TopDialogPageComponent`
58
58
  */
59
- default(props: {}): any;
59
+ default(props: Record<string, unknown>): any;
60
60
  }
@@ -4,7 +4,7 @@ export declare const TopDialogUtils: {
4
4
  updatePageVue: (dialogId: string, pageName?: string, pageNameNext?: string) => Promise<void>;
5
5
  recalcPositions: () => void;
6
6
  toViewDirty: (toViewPageName: string, moveDirection?: MoveDirection) => Promise<void>;
7
- toView: (viewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: Function) => Promise<void>;
7
+ toView: (viewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: (dialog: JQuery<ElTopDialog>) => void) => Promise<void>;
8
8
  toViewPage: (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => Promise<void>;
9
9
  toPrevPage: (elDialog: ElTopDialog) => void;
10
10
  setLoading: (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => void;
@@ -24,7 +24,7 @@ export declare abstract class TopDialogWorker {
24
24
  updatePageVue: (dialogId: string, pageName?: string, pageNameNext?: string) => Promise<void>;
25
25
  recalcPositions: () => void;
26
26
  toViewDirty: (toViewPageName: string, moveDirection?: MoveDirection) => Promise<void>;
27
- toView: (viewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: Function) => Promise<void>;
27
+ toView: (viewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: (dialog: JQuery<ElTopDialog>) => void) => Promise<void>;
28
28
  toViewPage: (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => Promise<void>;
29
29
  toPrevPage: (elDialog: ElTopDialog) => void;
30
30
  setLoading: (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => void;
@@ -39,17 +39,16 @@ export interface Slots {
39
39
  /**
40
40
  * Текст в кнопке
41
41
  */
42
- default?(props: {}): any;
42
+ default?(props: Record<string, unknown>): any;
43
43
  /**
44
44
  * HTML в кнопке
45
45
  */
46
- html?(props: {}): any;
46
+ html?(props: Record<string, unknown>): any;
47
47
  }
48
48
  /**
49
49
  * Определение событий
50
50
  */
51
- export interface Emits {
52
- }
51
+ export type Emits = Record<string, never>;
53
52
  export type Color = 'theme' | 'blue' | 'green' | 'orange' | 'red' | 'pink' | 'brand';
54
53
  export type Styling = '' | 'soft' | 'outline';
55
54
  export type { Size };
@@ -5,9 +5,9 @@ export interface Slots {
5
5
  /**
6
6
  * Слот для вставки html вместо **props.text**
7
7
  */
8
- text(props: {}): any;
8
+ text(props: Record<string, unknown>): any;
9
9
  /**
10
10
  * Слот с элементом ввода
11
11
  */
12
- default(props: {}): any;
12
+ default(props: Record<string, unknown>): any;
13
13
  }
@@ -24,11 +24,11 @@ export interface Slots {
24
24
  * - Если слот передан, показываем его содержимое (**props.title** игнорируется полностью)
25
25
  * - Если слот не передан, показываем обычный **props.title** (если он есть)
26
26
  */
27
- caption(props: {}): any;
27
+ caption(props: Record<string, unknown>): any;
28
28
  /**
29
29
  * Слот для вставки произвольного кода в label
30
30
  */
31
- default(props: {}): any;
31
+ default(props: Record<string, unknown>): any;
32
32
  }
33
33
  export interface Emits {
34
34
  'update:modelValue': [value: string];
@@ -1,2 +1,3 @@
1
1
  export interface Props {
2
+ [key: string]: unknown;
2
3
  }
@@ -25,7 +25,7 @@ export interface Slots {
25
25
  /**
26
26
  * Слот для вставки html вместо **props.title**
27
27
  */
28
- caption(props: {}): any;
28
+ caption(props: Record<string, unknown>): any;
29
29
  }
30
30
  export declare const styling: {
31
31
  readonly regular: "";
@@ -27,7 +27,7 @@ export interface Slots {
27
27
  /**
28
28
  * Слот для вставки html вместо **props.title**
29
29
  */
30
- caption(props: {}): any;
30
+ caption(props: Record<string, unknown>): any;
31
31
  }
32
32
  export interface Emits {
33
33
  (e: 'submit', value: string): void;
@@ -13,9 +13,9 @@ export interface Slots {
13
13
  /**
14
14
  * Текст сообщения
15
15
  */
16
- default(props: {}): any;
16
+ default(props: Record<string, unknown>): any;
17
17
  /**
18
18
  * Текст справа от сообещния с дополнительной информацией (например, сумма к оплате)
19
19
  */
20
- additional?(props: {}): any;
20
+ additional?(props: Record<string, unknown>): any;
21
21
  }
@@ -406,8 +406,8 @@ export declare const useMenu: <T extends Item = Item>(model: Ref<Props<T>["model
406
406
  } | undefined;
407
407
  } | undefined;
408
408
  }[]>;
409
- showMoreLocalItems: () => void;
410
- resetItemsRenderLimit: () => void;
409
+ revelItemsForShow: () => void;
410
+ resetItemsForShow: () => void;
411
411
  selectItem: (item: Item) => void;
412
412
  selectNextItem: () => void;
413
413
  deleteItemByItem: (item: Item) => Promise<void>;
@@ -21,10 +21,12 @@ export interface Props<T extends Item = Item> {
21
21
  items?: T[];
22
22
  /**
23
23
  * Количество элементов отображаемых при первом рендере
24
+ *
24
25
  * При прокрутке списка следующие элементы загружаются такими же порциями
25
26
  *
26
- * Только для элементов загружаемых локально
27
- * Если не передан выводится весь список сразу
27
+ * - Только для элементов, указанных в `props.items`
28
+ * - Выключается, если используется `props.api`
29
+ * - Если не передан — выводится весь список сразу
28
30
  */
29
31
  itemsChunkSize?: number;
30
32
  /**
@@ -1,2 +1,3 @@
1
1
  export interface Props {
2
+ [key: string]: unknown;
2
3
  }
@@ -2,9 +2,9 @@ export interface Slots {
2
2
  /**
3
3
  * Заголовок
4
4
  */
5
- title?(props: {}): any;
5
+ title?(props: Record<string, unknown>): any;
6
6
  /**
7
7
  * Содержимое TopRows
8
8
  */
9
- default(props: {}): any;
9
+ default(props: Record<string, unknown>): any;
10
10
  }
@@ -67,7 +67,19 @@ export declare const genApiGetGroups: (client: Api.Client<Api.TV.Paths, true>, s
67
67
  /**
68
68
  * Создать API запрос на добавление групп
69
69
  */
70
- export declare const genApiAddGroups: (client: Api.Client<Api.TV.Paths, true>, service: NonNullable<Props["service"]>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/add/keywordsAi_2/groups/" | "/add/keywords_2/groups/", true>, never, Omit<{
70
+ export declare const genApiAddGroups: (client: Api.Client<Api.TV.Paths, true>, service: NonNullable<Props["service"]>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/add/keywordsAi_2/groups/" | "/add/keywords_2/groups/", true>, never, Api.Params<Api.ClientRequestContext< paths, "/add/keywordsAi_2/groups/" | "/add/keywords_2/groups/", true>, undefined, {
71
+ "COUNT(*)"?: any;
72
+ id?: any;
73
+ project_id?: any;
74
+ folder_id?: any;
75
+ name?: any;
76
+ on?: any;
77
+ status?: any;
78
+ ord?: any;
79
+ folder_path?: any;
80
+ folder_ord?: any;
81
+ count_keywords?: any;
82
+ }, {
71
83
  to_id?: number;
72
84
  to_type?: components["schemas"]["Keywords_2.Types.Groups.ToType"];
73
85
  names?: unknown[] | null;
@@ -75,7 +87,7 @@ export declare const genApiAddGroups: (client: Api.Client<Api.TV.Paths, true>, s
75
87
  on?: boolean;
76
88
  status?: boolean;
77
89
  project_id: number;
78
- }, "fields" | "filters" | "orders" | "fetch_style">, never>;
90
+ }>, never>;
79
91
  /**
80
92
  * Создать API запрос на удаление группы
81
93
  */
@@ -256,11 +256,11 @@ export declare const genApiGetProjects: (client: Api.Client<Api.TV.Paths, true>)
256
256
  /**
257
257
  * Создать API запрос для добавления проекта
258
258
  */
259
- export declare const genApiAddProject: (client: Api.Client<Api.TV.Paths, true>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/add/projects_2/projects/", true>, never, Omit<{
259
+ export declare const genApiAddProject: (client: Api.Client<Api.TV.Paths, true>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/add/projects_2/projects/", true>, never, Api.Params<Api.ClientRequestContext< paths, "/add/projects_2/projects/", true>, undefined, never, {
260
260
  url: components["schemas"]["TV.API.Types.UrlShort"];
261
261
  name?: string | null;
262
262
  tags?: unknown[] | null;
263
263
  folder_id?: number | null;
264
264
  on?: number | null;
265
265
  is_task?: boolean | null;
266
- }, "fields" | "filters" | "orders" | "fetch_style">, never>;
266
+ }>, never>;
@@ -28,4 +28,4 @@ export declare const findRegion: (forMode: ForMode, searchRegion: Partial<Region
28
28
  *
29
29
  * @see import('../dialog_regionSelectorRegions/types').Props
30
30
  */
31
- export declare const dialogRegionSelector: AsyncTopDialogHandle<DefineComponent<{}, {}, any>>;
31
+ export declare const dialogRegionSelector: AsyncTopDialogHandle<DefineComponent<Record<string, never>, Record<string, never>, any>>;
@@ -10,6 +10,14 @@ export interface Props {
10
10
  * Режим отображения календаря: дни недели или дни месяца
11
11
  */
12
12
  mode: Extract<TriggerType, 'dayOfWeek' | 'dayOfMonth'>;
13
+ /**
14
+ * Количество выбранных временных слотов
15
+ *
16
+ * Используется при возможности выбора нескольких временных слотов
17
+ *
18
+ * @default 1
19
+ */
20
+ timesCount?: number;
13
21
  }
14
22
  export interface Emits {
15
23
  (e: 'update:modelValue', value: Props['modelValue']): void;
@@ -59,11 +59,11 @@ export interface Slots {
59
59
  /**
60
60
  * Слот для вставки проивзольного контента после календаря
61
61
  */
62
- settings?(props: {}): any;
62
+ settings?(props: Record<string, unknown>): any;
63
63
  /**
64
64
  * Слот для вставки футера
65
65
  */
66
- footer?(props: {}): any;
66
+ footer?(props: Record<string, unknown>): any;
67
67
  }
68
68
  export interface Emits {
69
69
  (e: 'update:triggerType', value: TriggerType): void;
@@ -52,8 +52,7 @@ export interface Props {
52
52
  */
53
53
  idState?: string;
54
54
  }
55
- export interface Emits {
56
- }
55
+ export type Emits = Record<string, never>;
57
56
  export interface PropsMenu {
58
57
  /**
59
58
  * Если true - будет выведена кнопка сжатия меню
@@ -8,4 +8,4 @@ export declare const checkComponentIsLoading: (component: any) => boolean;
8
8
  *
9
9
  * Некоторое время ожидает загрузку компонента, прежде чем завершит работу
10
10
  */
11
- export declare const preResolveComponent: (component: any, condition: Function) => Promise<void>;
11
+ export declare const preResolveComponent: (component: any, condition: () => boolean) => Promise<void>;
@@ -6,7 +6,7 @@ import { default as TopDialogs } from '../../components/dialog/dialog/dialogs/di
6
6
  import { TopDialogOptions } from '../../components/dialog/lib/types';
7
7
  import { DefineComponent, App } from 'vue';
8
8
  import * as Forms from '../../components/forms/forms';
9
- declare const TopNotice: DefineComponent<{}, {}, any>;
9
+ declare const TopNotice: DefineComponent<Record<string, never>, Record<string, never>, any>;
10
10
  declare global {
11
11
  const vd: typeof console.log;
12
12
  }
@@ -13,7 +13,7 @@ export declare const setHash: (name: string, value: string | number | null, repl
13
13
  /**
14
14
  * Удалить значение из хэш параметра страницы
15
15
  */
16
- export declare const delHash: (name: string, value: string, replaceState?: boolean) => void;
16
+ export declare const delHash: (name: string, replaceState?: boolean) => void;
17
17
  /**
18
18
  * Сгенерировать новое значение для хэш параметра страницы с указанным параметром
19
19
  */
@@ -25,7 +25,7 @@ export interface Store {
25
25
  * Не уникален в рамках приложения
26
26
  */
27
27
  $id?: string;
28
- $subscribe?: Function;
28
+ $subscribe?: (callback: () => void) => void;
29
29
  }
30
30
  declare const _default: {
31
31
  defineStore: <T extends object>(injectionKey: InjectionKey<UnwrapNestedRefs<T>>, setup: () => T | object, $id?: string, options?: object) => UnwrapNestedRefs<T> & Store;
@@ -9,7 +9,7 @@
9
9
  * @param period - период в мс между выполнениями condition()
10
10
  * @param timeout - максмальное время ожидания в мс
11
11
  */
12
- export declare const waitWhile: (condition: Function, period?: number, timeout?: number) => Promise<void> | undefined;
12
+ export declare const waitWhile: (condition: () => boolean, period?: number, timeout?: number) => Promise<void> | undefined;
13
13
  /**
14
14
  * Приостановить выполнение кода
15
15
  *
@@ -22,4 +22,4 @@ export declare const sleep: (delay: number) => Promise<void>;
22
22
  * @param delay - время задержки в мс
23
23
  * @param period - период в мс между выполнениями condition()
24
24
  */
25
- export declare const sleepWhile: (condition: Function, delay?: number, period?: number) => Promise<void> | undefined;
25
+ export declare const sleepWhile: (condition: () => boolean, delay?: number, period?: number) => Promise<void> | undefined;
@@ -1,2 +1,2 @@
1
- define([`require`,`exports`,`../.chunks/forms-LywqKN9I.amd`,`../utils/system.amd`,`../utils/route.amd`,`../.chunks/store-DjQAOnrn.amd`,`../.chunks/popup-BWD4eASc.amd`,`vue`,`../require/css.amd!../assets/tabsView.css`],function(e,t,n,r,i,a,o,s){"use strict";if(c===void 0)var c=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.TopTabsViewMenuTitle=t.TopTabsViewMenuItem=t.TopTabsView=void 0;var l=(e,t)=>`top:${String(e)}:${t}`,u={loadLocalStorge:(e,t)=>{if(!t.$id)return;let n=l(e,t.$id);try{let r=JSON.parse(localStorage.getItem(n));typeof r==typeof t[e]&&(t[e]=r)}catch{console.warn(Error(`В localStorage[${n}] не корректный json`))}},addSaverLocalStorge:(e,t)=>{if(!t.$id)return;let n=l(e,t.$id);(0,s.watch)(()=>t[e],()=>{localStorage.setItem(n,JSON.stringify(t[e]))},{immediate:!0})}},d=new Set;addEventListener(`popstate`,e=>{d.forEach(t=>t(e))});var f=Symbol(),p=(e,t)=>{let r=(0,a.t)(f,()=>({showMenuInPopup:(0,s.computed)(()=>e.showMenuInPopup??n.O.state.isMobile),pageMod:(0,s.computed)(()=>e.pageMod),isShort:(0,s.ref)(!1),activeItemName:t,component:(0,s.ref)(void 0),scrollable:(0,s.ref)(!0)}),e.idState);if(e.isShortable){let e=`isShort`;u.loadLocalStorge(e,r),u.addSaverLocalStorge(e,r)}return r.$id&&d.add(e=>{t.value=(0,i.getHash)(r.$id)}),r},m=()=>(0,a.r)(f),h={key:1,class:`top-ellipsis`},g=(0,s.defineComponent)({__name:`menuItem`,props:{name:{},href:{},icon:{},disabled:{type:Boolean},component:{default:void 0},scrollable:{type:Boolean,default:!0}},setup(e){let t=e,n=m(),r=(0,s.computed)(()=>t.name&&n.$id?(0,i.genHash)(n.$id,t.name):t.href),a=(0,s.computed)(()=>n.showMenuInPopup?o.o:r.value?`a`:`button`),c=e=>{!t.href&&r.value&&e.preventDefault(),t.name&&(n.activeItemName=t.name)};return(t,i)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(a.value),{target:`_self`,class:(0,s.normalizeClass)({"top-tabsView_menuItem":!(0,s.unref)(n).showMenuInPopup,"top-active":e.name&&(0,s.unref)(n).activeItemName===e.name,"top-disabled":e.disabled,"top-spa-disabled":!0}),href:r.value,"data-top-icon":e.icon||void 0,disabled:e.disabled||void 0,onClick:c},{default:(0,s.withCtx)(()=>[(0,s.unref)(n).showMenuInPopup?(0,s.renderSlot)(t.$slots,`default`,{},void 0,void 0,0):t.$slots.default&&!(0,s.unref)(n).isShort?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,h,[(0,s.renderSlot)(t.$slots,`default`)])):(0,s.createCommentVNode)(``,!0)]),_:3},8,[`class`,`href`,`data-top-icon`,`disabled`]))}}),_=e=>e?.name===`AsyncComponentWrapper`&&!e?.__asyncResolved,v=async(e,t)=>{e?.name===`AsyncComponentWrapper`&&(e?.__asyncResolved||(e.__asyncLoader(),await(0,r.sleepWhile)(()=>t()&&_(e),200)))},y={class:`top-tabsView_menuOpener`},b=[`data-top-icon`],x={class:`top-ellipsis`},S={class:`top-tabsView_menuList`},C={key:0,class:`top-tabsView_menuFooter`},w=(0,s.defineComponent)({__name:`menu`,props:(0,s.mergeModels)({isShortable:{type:Boolean},isLoading:{type:Boolean}},{isLoading:{},isLoadingModifiers:{}}),emits:[`update:isLoading`],setup(e){let t=(0,s.useModel)(e,`isLoading`),n=m(),r=(0,s.useSlots)(),a=new Map,c=()=>{if(!r.default)return;let e=r.default({}).find(e=>e.key===`_menu`);e&&l(e.children)},l=e=>{e.forEach(e=>{if(e.type.__name&&e.type.__name!==g.__name)return;if(!e.type.__name&&typeof e.children==`object`){l(e.children);return}if(!e.props?.name||e.props?.disabled)return;let t={title:(e.children.default?.()[0].children).trim(),icon:e.props.icon,component:e.props.component?(0,s.markRaw)(e.props.component):g.props.component.default,scrollable:e.props.scrollable??g.props.scrollable.default};a.set(e.props.name,t)})},u=(0,s.ref)(null),d=0;return(0,s.watch)(()=>n.activeItemName,async()=>{let e=++d;if(a.size===0&&c(),a.size===0){n.activeItemName=``;return}if(u.value=a.get(n.activeItemName)??null,!u.value&&n.$id){let e=(0,i.getHash)(n.$id);if(u.value=a.get(e)??null,u.value){n.activeItemName=e;return}}if(!u.value){n.activeItemName=a.keys().next().value;return}if(u.value.component===n.component){t.value=!1;return}n.$id&&(0,i.setHash)(n.$id,n.activeItemName,!1),t.value=!0,await v(u.value.component,()=>e===d),e===d&&(n.scrollable=u.value.scrollable,n.component=u.value.component,u.value&&!n.component&&console.warn(`Компонент вкладки ${n.activeItemName} не найден. Добавьте props.component для пункта меню ${n.activeItemName}.`))},{immediate:!0}),(t,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)({"top-tabsView_menu":!0,"top-tabsView_menu-inPopup_0":!(0,s.unref)(n).showMenuInPopup,"top-tabsView_menu-inPopup_1":(0,s.unref)(n).showMenuInPopup,"top-tabsView_menu-short":(0,s.unref)(n).isShort&&!(0,s.unref)(n).showMenuInPopup})},[(0,s.unref)(n).showMenuInPopup?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.s),{key:0},{opener:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,y,[u.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`top-tabsView_menuOpenerActiveItem`,"data-top-icon":u.value.icon},[(0,s.createElementVNode)(`span`,x,(0,s.toDisplayString)(u.value.title),1)],8,b)):(0,s.createCommentVNode)(``,!0),r[1]||=(0,s.createElementVNode)(`div`,{class:`top-tabsView_menuOpenerIcon`,"data-top-icon":``},null,-1)])]),contentList:(0,s.withCtx)(()=>[(0,s.renderSlot)(t.$slots,`default`)]),_:3})):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createElementVNode)(`div`,S,[(0,s.renderSlot)(t.$slots,`default`)]),e.isShortable?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,C,[e.isShortable?((0,s.openBlock)(),(0,s.createBlock)(g,{key:0,icon:(0,s.unref)(n).isShort?``:``,onClick:r[0]||=e=>(0,s.unref)(n).isShort=!(0,s.unref)(n).isShort},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(n).isShort?``:`Свернуть`),1)]),_:1},8,[`icon`])):(0,s.createCommentVNode)(``,!0)])):(0,s.createCommentVNode)(``,!0)],64))],2))}}),T=(0,s.defineComponent)({__name:`tabsView`,props:(0,s.mergeModels)({modelValue:{},pageMod:{type:Boolean},showMenuInPopup:{type:Boolean,default:void 0},isShortable:{type:Boolean,default:!1},idState:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,r=p(t,(0,s.useModel)(e,`modelValue`)),a=Math.random();t.pageMod&&n.O.state.documentClassModificators.set(a,`top-hasTabsViewPageMod`),(0,s.onUnmounted)(()=>{t.pageMod&&n.O.state.documentClassModificators.delete(a),r.$id&&(0,i.delHash)(r.$id,r.activeItemName,!0)});let o=(0,s.ref)(),c=(0,s.ref)(!1);return(0,s.watch)([o,()=>r.component],()=>{c.value=_(r.component)},{immediate:!0}),(i,a)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)({"top-tabsView":!0,"top-tabsView-pageMod":t.pageMod,"top-tabsView-inPopup":(0,s.unref)(r).showMenuInPopup})},[(0,s.createVNode)(w,{isShortable:e.isShortable,isLoading:c.value,"onUpdate:isLoading":a[0]||=e=>c.value=e},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(i.$slots,`menu`)]),_:3},8,[`isShortable`,`isLoading`]),(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)({"top-tabsView_contents":!0,"top-tabsView_contents-isLoading":c.value,"top-tabsView_contents-noScrollable":!(0,s.unref)(r).scrollable})},[c.value?((0,s.openBlock)(),(0,s.createBlock)(n.l,{key:0})):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(),(0,s.createBlock)(s.KeepAlive,null,[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)((0,s.unref)(r).component),{ref_key:`componentRef`,ref:o},null,512))],1024))],2)],2))}}),E={},D={class:`top-tabsView_menuDelimeter`};t.TopTabsViewMenuItem=g,t.TopTabsView=T;function O(e,t){return(0,s.openBlock)(),(0,s.createElementBlock)(`div`,D)}var k=(0,n.u)(E,[[`render`,O]]);t.TopTabsViewMenuTitle=(0,s.defineComponent)({__name:`menuTitle`,props:{isSubtitle:{type:Boolean}},setup(e){let t=m();return(n,r)=>(0,s.unref)(t).showMenuInPopup?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.o),{key:0,type:`title`},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(n.$slots,`default`)]),_:3})):(0,s.unref)(t).isShort?((0,s.openBlock)(),(0,s.createBlock)(k,{key:1})):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:2,class:(0,s.normalizeClass)({"top-tabsView_menuTitle":!0,"top-tabsView_menuTitle-subtitle":e.isSubtitle})},[(0,s.renderSlot)(n.$slots,`default`)],2))}})});
1
+ define([`require`,`exports`,`../.chunks/forms-LywqKN9I.amd`,`../utils/system.amd`,`../utils/route.amd`,`../.chunks/store-DjQAOnrn.amd`,`../.chunks/popup-DWQEHSuw.amd`,`vue`,`../require/css.amd!../assets/tabsView.css`],function(e,t,n,r,i,a,o,s){"use strict";if(c===void 0)var c=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.TopTabsViewMenuTitle=t.TopTabsViewMenuItem=t.TopTabsView=void 0;var l=(e,t)=>`top:${String(e)}:${t}`,u={loadLocalStorge:(e,t)=>{if(!t.$id)return;let n=l(e,t.$id);try{let r=JSON.parse(localStorage.getItem(n));typeof r==typeof t[e]&&(t[e]=r)}catch{console.warn(Error(`В localStorage[${n}] не корректный json`))}},addSaverLocalStorge:(e,t)=>{if(!t.$id)return;let n=l(e,t.$id);(0,s.watch)(()=>t[e],()=>{localStorage.setItem(n,JSON.stringify(t[e]))},{immediate:!0})}},d=new Set;addEventListener(`popstate`,e=>{d.forEach(t=>t(e))});var f=Symbol(),p=(e,t)=>{let r=(0,a.t)(f,()=>({showMenuInPopup:(0,s.computed)(()=>e.showMenuInPopup??n.O.state.isMobile),pageMod:(0,s.computed)(()=>e.pageMod),isShort:(0,s.ref)(!1),activeItemName:t,component:(0,s.ref)(void 0),scrollable:(0,s.ref)(!0)}),e.idState);if(e.isShortable){let e=`isShort`;u.loadLocalStorge(e,r),u.addSaverLocalStorge(e,r)}return r.$id&&d.add(e=>{t.value=(0,i.getHash)(r.$id)}),r},m=()=>(0,a.r)(f),h={key:1,class:`top-ellipsis`},g=(0,s.defineComponent)({__name:`menuItem`,props:{name:{},href:{},icon:{},disabled:{type:Boolean},component:{default:void 0},scrollable:{type:Boolean,default:!0}},setup(e){let t=e,n=m(),r=(0,s.computed)(()=>t.name&&n.$id?(0,i.genHash)(n.$id,t.name):t.href),a=(0,s.computed)(()=>n.showMenuInPopup?o.o:r.value?`a`:`button`),c=e=>{!t.href&&r.value&&e.preventDefault(),t.name&&(n.activeItemName=t.name)};return(t,i)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(a.value),{target:`_self`,class:(0,s.normalizeClass)({"top-tabsView_menuItem":!(0,s.unref)(n).showMenuInPopup,"top-active":e.name&&(0,s.unref)(n).activeItemName===e.name,"top-disabled":e.disabled,"top-spa-disabled":!0}),href:r.value,"data-top-icon":e.icon||void 0,disabled:e.disabled||void 0,onClick:c},{default:(0,s.withCtx)(()=>[(0,s.unref)(n).showMenuInPopup?(0,s.renderSlot)(t.$slots,`default`,{},void 0,void 0,0):t.$slots.default&&!(0,s.unref)(n).isShort?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,h,[(0,s.renderSlot)(t.$slots,`default`)])):(0,s.createCommentVNode)(``,!0)]),_:3},8,[`class`,`href`,`data-top-icon`,`disabled`]))}}),_=e=>e?.name===`AsyncComponentWrapper`&&!e?.__asyncResolved,v=async(e,t)=>{e?.name===`AsyncComponentWrapper`&&(e?.__asyncResolved||(e.__asyncLoader(),await(0,r.sleepWhile)(()=>t()&&_(e),200)))},y={class:`top-tabsView_menuOpener`},b=[`data-top-icon`],x={class:`top-ellipsis`},S={class:`top-tabsView_menuList`},C={key:0,class:`top-tabsView_menuFooter`},w=(0,s.defineComponent)({__name:`menu`,props:(0,s.mergeModels)({isShortable:{type:Boolean},isLoading:{type:Boolean}},{isLoading:{},isLoadingModifiers:{}}),emits:[`update:isLoading`],setup(e){let t=(0,s.useModel)(e,`isLoading`),n=m(),r=(0,s.useSlots)(),a=new Map,c=()=>{if(!r.default)return;let e=r.default({}).find(e=>e.key===`_menu`);e&&l(e.children)},l=e=>{e.forEach(e=>{if(e.type.__name&&e.type.__name!==g.__name)return;if(!e.type.__name&&typeof e.children==`object`){l(e.children);return}if(!e.props?.name||e.props?.disabled)return;let t={title:(e.children.default?.()[0].children).trim(),icon:e.props.icon,component:e.props.component?(0,s.markRaw)(e.props.component):g.props.component.default,scrollable:e.props.scrollable??g.props.scrollable.default};a.set(e.props.name,t)})},u=(0,s.ref)(null),d=0;return(0,s.watch)(()=>n.activeItemName,async()=>{let e=++d;if(a.size===0&&c(),a.size===0){n.activeItemName=``;return}if(u.value=a.get(n.activeItemName)??null,!u.value&&n.$id){let e=(0,i.getHash)(n.$id);if(u.value=a.get(e)??null,u.value){n.activeItemName=e;return}}if(!u.value){n.activeItemName=a.keys().next().value;return}if(u.value.component===n.component){t.value=!1;return}n.$id&&(0,i.setHash)(n.$id,n.activeItemName,!1),t.value=!0,await v(u.value.component,()=>e===d),e===d&&(n.scrollable=u.value.scrollable,n.component=u.value.component,u.value&&!n.component&&console.warn(`Компонент вкладки ${n.activeItemName} не найден. Добавьте props.component для пункта меню ${n.activeItemName}.`))},{immediate:!0}),(t,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)({"top-tabsView_menu":!0,"top-tabsView_menu-inPopup_0":!(0,s.unref)(n).showMenuInPopup,"top-tabsView_menu-inPopup_1":(0,s.unref)(n).showMenuInPopup,"top-tabsView_menu-short":(0,s.unref)(n).isShort&&!(0,s.unref)(n).showMenuInPopup})},[(0,s.unref)(n).showMenuInPopup?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.s),{key:0},{opener:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,y,[u.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`top-tabsView_menuOpenerActiveItem`,"data-top-icon":u.value.icon},[(0,s.createElementVNode)(`span`,x,(0,s.toDisplayString)(u.value.title),1)],8,b)):(0,s.createCommentVNode)(``,!0),r[1]||=(0,s.createElementVNode)(`div`,{class:`top-tabsView_menuOpenerIcon`,"data-top-icon":``},null,-1)])]),contentList:(0,s.withCtx)(()=>[(0,s.renderSlot)(t.$slots,`default`)]),_:3})):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createElementVNode)(`div`,S,[(0,s.renderSlot)(t.$slots,`default`)]),e.isShortable?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,C,[e.isShortable?((0,s.openBlock)(),(0,s.createBlock)(g,{key:0,icon:(0,s.unref)(n).isShort?``:``,onClick:r[0]||=e=>(0,s.unref)(n).isShort=!(0,s.unref)(n).isShort},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(n).isShort?``:`Свернуть`),1)]),_:1},8,[`icon`])):(0,s.createCommentVNode)(``,!0)])):(0,s.createCommentVNode)(``,!0)],64))],2))}}),T=(0,s.defineComponent)({__name:`tabsView`,props:(0,s.mergeModels)({modelValue:{},pageMod:{type:Boolean},showMenuInPopup:{type:Boolean,default:void 0},isShortable:{type:Boolean,default:!1},idState:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,r=p(t,(0,s.useModel)(e,`modelValue`)),a=Math.random();t.pageMod&&n.O.state.documentClassModificators.set(a,`top-hasTabsViewPageMod`),(0,s.onUnmounted)(()=>{t.pageMod&&n.O.state.documentClassModificators.delete(a),r.$id&&(0,i.delHash)(r.$id,!0)});let o=(0,s.ref)(),c=(0,s.ref)(!1);return(0,s.watch)([o,()=>r.component],()=>{c.value=_(r.component)},{immediate:!0}),(i,a)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)({"top-tabsView":!0,"top-tabsView-pageMod":t.pageMod,"top-tabsView-inPopup":(0,s.unref)(r).showMenuInPopup})},[(0,s.createVNode)(w,{isShortable:e.isShortable,isLoading:c.value,"onUpdate:isLoading":a[0]||=e=>c.value=e},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(i.$slots,`menu`)]),_:3},8,[`isShortable`,`isLoading`]),(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)({"top-tabsView_contents":!0,"top-tabsView_contents-isLoading":c.value,"top-tabsView_contents-noScrollable":!(0,s.unref)(r).scrollable})},[c.value?((0,s.openBlock)(),(0,s.createBlock)(n.l,{key:0})):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(),(0,s.createBlock)(s.KeepAlive,null,[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)((0,s.unref)(r).component),{ref_key:`componentRef`,ref:o},null,512))],1024))],2)],2))}}),E={},D={class:`top-tabsView_menuDelimeter`};t.TopTabsViewMenuItem=g,t.TopTabsView=T;function O(e,t){return(0,s.openBlock)(),(0,s.createElementBlock)(`div`,D)}var k=(0,n.u)(E,[[`render`,O]]);t.TopTabsViewMenuTitle=(0,s.defineComponent)({__name:`menuTitle`,props:{isSubtitle:{type:Boolean}},setup(e){let t=m();return(n,r)=>(0,s.unref)(t).showMenuInPopup?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.o),{key:0,type:`title`},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(n.$slots,`default`)]),_:3})):(0,s.unref)(t).isShort?((0,s.openBlock)(),(0,s.createBlock)(k,{key:1})):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:2,class:(0,s.normalizeClass)({"top-tabsView_menuTitle":!0,"top-tabsView_menuTitle-subtitle":e.isSubtitle})},[(0,s.renderSlot)(n.$slots,`default`)],2))}})});
2
2
  //# sourceMappingURL=tabsView.amd.js.map