@topvisor/ui 1.0.41 → 1.0.42-TopSelector.3

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 (159) hide show
  1. package/.chunks/{core-D2o3elGA.amd.js → core-CNHOrWnw.amd.js} +2 -2
  2. package/.chunks/{core-D2o3elGA.amd.js.map → core-CNHOrWnw.amd.js.map} +1 -1
  3. package/.chunks/{core-CwjGTMhd.es.js → core-kP5TitXz.es.js} +4 -4
  4. package/.chunks/{core-CwjGTMhd.es.js.map → core-kP5TitXz.es.js.map} +1 -1
  5. package/.chunks/{datepicker-Byyye2pn.amd.js → datepicker-DnMEQ2c7.amd.js} +2 -2
  6. package/.chunks/{datepicker-Byyye2pn.amd.js.map → datepicker-DnMEQ2c7.amd.js.map} +1 -1
  7. package/.chunks/{datepicker-N83oX3hx.es.js → datepicker-yhtd7Tx4.es.js} +2 -2
  8. package/.chunks/{datepicker-N83oX3hx.es.js.map → datepicker-yhtd7Tx4.es.js.map} +1 -1
  9. package/.chunks/{dialog_selectorRegions-pDIYvl7b.amd.js → dialog_selectorRegions-B7ylHRje.amd.js} +2 -2
  10. package/.chunks/{dialog_selectorRegions-pDIYvl7b.amd.js.map → dialog_selectorRegions-B7ylHRje.amd.js.map} +1 -1
  11. package/.chunks/{dialog_selectorRegions-lYV2SJBx.es.js → dialog_selectorRegions-C7d9L2z3.es.js} +4 -4
  12. package/.chunks/{dialog_selectorRegions-lYV2SJBx.es.js.map → dialog_selectorRegions-C7d9L2z3.es.js.map} +1 -1
  13. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd.js +2 -0
  14. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd.js.map +1 -0
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js → dialogs.vue_vue_type_script_setup_true_lang-ma6AxkKH.es.js} +113 -97
  16. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-ma6AxkKH.es.js.map +1 -0
  17. package/.chunks/forms-BduN5hFf.amd.js +3 -0
  18. package/.chunks/{forms-DO87ZZk9.amd.js.map → forms-BduN5hFf.amd.js.map} +1 -1
  19. package/.chunks/{forms-C-fyoosd.es.js → forms-CiEXUPjB.es.js} +482 -470
  20. package/.chunks/{forms-C-fyoosd.es.js.map → forms-CiEXUPjB.es.js.map} +1 -1
  21. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CXMPz7WD.es.js +184 -0
  22. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CXMPz7WD.es.js.map +1 -0
  23. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DUKoPDjZ.amd.js +2 -0
  24. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DUKoPDjZ.amd.js.map +1 -0
  25. package/.chunks/{menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js → menu.vue_vue_type_style_index_0_lang--iamwNSE.es.js} +2 -2
  26. package/.chunks/{menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js.map → menu.vue_vue_type_style_index_0_lang--iamwNSE.es.js.map} +1 -1
  27. package/.chunks/{menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js → menu.vue_vue_type_style_index_0_lang-C9cIXmj2.amd.js} +2 -2
  28. package/.chunks/{menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js.map → menu.vue_vue_type_style_index_0_lang-C9cIXmj2.amd.js.map} +1 -1
  29. package/.chunks/{notice-B8nfJMJN.amd.js → notice-CEYLelBs.amd.js} +2 -2
  30. package/.chunks/{notice-B8nfJMJN.amd.js.map → notice-CEYLelBs.amd.js.map} +1 -1
  31. package/.chunks/{notice-DCONQ8rR.es.js → notice-D13FhiHA.es.js} +2 -2
  32. package/.chunks/{notice-DCONQ8rR.es.js.map → notice-D13FhiHA.es.js.map} +1 -1
  33. package/.chunks/{page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js → page.vue_vue_type_script_setup_true_lang-B6YquNpa.es.js} +4 -4
  34. package/.chunks/page.vue_vue_type_script_setup_true_lang-B6YquNpa.es.js.map +1 -0
  35. package/.chunks/{page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js → page.vue_vue_type_script_setup_true_lang-DpmKeCWn.amd.js} +2 -2
  36. package/.chunks/page.vue_vue_type_script_setup_true_lang-DpmKeCWn.amd.js.map +1 -0
  37. package/.chunks/popup-C5-ffkMJ.amd.js +2 -0
  38. package/.chunks/popup-C5-ffkMJ.amd.js.map +1 -0
  39. package/.chunks/{popup-PpCQY5Zi.es.js → popup-a5ndofEo.es.js} +107 -74
  40. package/.chunks/popup-a5ndofEo.es.js.map +1 -0
  41. package/.chunks/{utils-DAIrXU57.amd.js → utils-BgjhCn4H.amd.js} +2 -2
  42. package/.chunks/{utils-DAIrXU57.amd.js.map → utils-BgjhCn4H.amd.js.map} +1 -1
  43. package/.chunks/{utils-DsICGMuv.es.js → utils-DUw1K93-.es.js} +2 -2
  44. package/.chunks/{utils-DsICGMuv.es.js.map → utils-DUw1K93-.es.js.map} +1 -1
  45. package/.chunks/utils-DWmOkm95.amd.js +2 -0
  46. package/.chunks/utils-DWmOkm95.amd.js.map +1 -0
  47. package/.chunks/{utils-BcKnFj1j.es.js → utils-DvEz97O5.es.js} +246 -169
  48. package/.chunks/utils-DvEz97O5.es.js.map +1 -0
  49. package/assets/core.css +1 -1
  50. package/assets/forms.css +1 -1
  51. package/assets/formsExt.css +1 -1
  52. package/assets/notice.css +1 -1
  53. package/assets/project.css +1 -1
  54. package/charts/charts.amd.js +1 -1
  55. package/charts/charts.js +1 -1
  56. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +3 -0
  57. package/components/dialog/lib/types.d.ts +23 -0
  58. package/components/dialog/lib/utils.d.ts +8 -8
  59. package/components/dialog/lib/utils.globalEvents.d.ts +2 -2
  60. package/components/dialog/lib/worker.d.ts +12 -11
  61. package/components/forms/button/button.vue.d.ts +2 -5
  62. package/components/forms/button/types.d.ts +10 -0
  63. package/components/formsExt/formsExt.d.ts +2 -0
  64. package/components/formsExt/policy/policy.vue.d.ts +4 -0
  65. package/components/formsExt/policy/types.d.ts +10 -0
  66. package/components/formsExt/selector2/composables/useAPI.d.ts +1 -1
  67. package/components/formsExt/selector2/composables/useMenu.d.ts +5 -1
  68. package/components/formsExt/selector2/selector2.vue.d.ts +10 -177
  69. package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +1 -2
  70. package/components/formsExt/selector2/types.d.ts +48 -22
  71. package/components/popup/alert/alert.vue.d.ts +1 -10
  72. package/components/popup/alert/types.d.ts +2 -2
  73. package/components/popup/confirm/confirm.vue.d.ts +1 -12
  74. package/components/popup/confirm/types.d.ts +1 -1
  75. package/components/popup/lib/popup.d.ts +6 -2
  76. package/components/popup/lib/worker.d.ts +6 -4
  77. package/components/popup/popup/opener.vue.d.ts +11 -17
  78. package/components/popup/popup/popup.vue.d.ts +30 -32
  79. package/components/popup/popup/types.d.ts +20 -11
  80. package/components/popup/prompt/prompt.vue.d.ts +1 -12
  81. package/components/popup/prompt/types.d.ts +1 -1
  82. package/core/app.amd.js +1 -1
  83. package/core/app.js +5 -5
  84. package/core/core/core.d.ts +1 -1
  85. package/core/core/options.d.ts +7 -6
  86. package/core/core/state.d.ts +1 -1
  87. package/core/plugins/core.d.ts +1 -1
  88. package/core/utils/date.d.ts +30 -12
  89. package/core/utils/dom.d.ts +11 -1
  90. package/core/utils/string.d.ts +1 -1
  91. package/dialog/dialog.amd.js +1 -1
  92. package/dialog/dialog.js +2 -2
  93. package/forms/forms.amd.js +1 -1
  94. package/forms/forms.js +1 -1
  95. package/formsExt/formsExt.amd.js +1 -1
  96. package/formsExt/formsExt.amd.js.map +1 -1
  97. package/formsExt/formsExt.js +434 -311
  98. package/formsExt/formsExt.js.map +1 -1
  99. package/icomoon/demo.html +15 -1
  100. package/icomoon/fonts/Topvisor-2.eot +0 -0
  101. package/icomoon/fonts/Topvisor-2.svg +1 -0
  102. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  103. package/icomoon/fonts/Topvisor-2.woff +0 -0
  104. package/icomoon/selection.json +1 -1
  105. package/icomoon/style.css +8 -5
  106. package/layout/layout.amd.js +1 -1
  107. package/layout/layout.js +1 -1
  108. package/package.json +1 -1
  109. package/popup/popup.amd.js +1 -1
  110. package/popup/popup.amd.js.map +1 -1
  111. package/popup/popup.js +27 -24
  112. package/popup/popup.js.map +1 -1
  113. package/popup/worker.amd.js +1 -1
  114. package/popup/worker.amd.js.map +1 -1
  115. package/popup/worker.js +30 -21
  116. package/popup/worker.js.map +1 -1
  117. package/project/project.amd.js +1 -1
  118. package/project/project.amd.js.map +1 -1
  119. package/project/project.js +6 -6
  120. package/project/project.js.map +1 -1
  121. package/tabsView/tabsView.amd.js +1 -1
  122. package/tabsView/tabsView.js +1 -1
  123. package/utils/clipboard.amd.js +1 -1
  124. package/utils/clipboard.js +1 -1
  125. package/utils/date.amd.js +1 -1
  126. package/utils/date.js +4 -3
  127. package/utils/device.amd.js +1 -1
  128. package/utils/device.js +1 -1
  129. package/utils/dom.amd.js +1 -1
  130. package/utils/dom.amd.js.map +1 -1
  131. package/utils/dom.js +27 -22
  132. package/utils/dom.js.map +1 -1
  133. package/utils/lodash.amd.js +1 -1
  134. package/utils/lodash.js +1 -1
  135. package/utils/price.amd.js +1 -1
  136. package/utils/price.js +1 -1
  137. package/utils/searchers.amd.js +1 -1
  138. package/utils/searchers.js +3 -3
  139. package/utils/string.amd.js +1 -1
  140. package/utils/string.amd.js.map +1 -1
  141. package/utils/string.js +34 -30
  142. package/utils/string.js.map +1 -1
  143. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js +0 -2
  144. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js.map +0 -1
  145. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js.map +0 -1
  146. package/.chunks/forms-DO87ZZk9.amd.js +0 -3
  147. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js +0 -181
  148. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js.map +0 -1
  149. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js +0 -2
  150. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js.map +0 -1
  151. package/.chunks/page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js.map +0 -1
  152. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js.map +0 -1
  153. package/.chunks/popup-PpCQY5Zi.es.js.map +0 -1
  154. package/.chunks/popup-XXfdNLmr.amd.js +0 -2
  155. package/.chunks/popup-XXfdNLmr.amd.js.map +0 -1
  156. package/.chunks/utils-BcKnFj1j.es.js.map +0 -1
  157. package/.chunks/utils-pvFg1FqE.amd.js +0 -2
  158. package/.chunks/utils-pvFg1FqE.amd.js.map +0 -1
  159. package/icomoon/Topvisor icons.json +0 -6612
@@ -1,40 +1,38 @@
1
1
  import { TopLibPopup } from '../lib/popup';
2
2
  import { Props, PopupEvent } from './types';
3
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
4
- declare function __VLS_template(): {
5
- attrs: Partial<{}>;
3
+ import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
4
+ declare const _default: <T extends Record<string, any> | undefined = undefined>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
6
+ readonly onClose?: ((popupEvent: PopupEvent<T>) => any) | undefined;
7
+ readonly onOpen?: ((popupEvent: PopupEvent<T>) => any) | undefined;
8
+ readonly onScrollContentList?: ((e: Event) => any) | undefined;
9
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onClose" | "onOpen" | "onScrollContentList"> & Props<T> & Partial<{}>> & PublicProps;
10
+ expose(exposed: ShallowUnwrapRef<{
11
+ id: string;
12
+ popup: TopLibPopup<T> | undefined;
13
+ }>): void;
14
+ attrs: any;
6
15
  slots: {
7
16
  opener?(_: {}): any;
8
- header?(_: {}): any;
17
+ header?(_: {
18
+ data: T | undefined;
19
+ }): any;
9
20
  widget?(_: {}): any;
10
- content?(_: {}): any;
11
- contentList?(_: {}): any;
12
- footer?(_: {}): any;
21
+ content?(_: {
22
+ data: T | undefined;
23
+ }): any;
24
+ contentList?(_: {
25
+ data: T | undefined;
26
+ }): any;
27
+ footer?(_: {
28
+ data: T | undefined;
29
+ }): any;
13
30
  };
14
- refs: {};
15
- rootEl: any;
31
+ emit: ((evt: "close", popupEvent: PopupEvent<T>) => void) & ((evt: "open", popupEvent: PopupEvent<T>) => void) & ((evt: "scrollContentList", e: Event) => void);
32
+ }>) => VNode & {
33
+ __ctx?: Awaited<typeof __VLS_setup>;
16
34
  };
17
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
- declare const __VLS_component: DefineComponent<Props, {
19
- popup: TopLibPopup | undefined;
20
- }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
21
- close: (popupEvent: PopupEvent) => any;
22
- open: (popupEvent: PopupEvent) => any;
23
- scrollContentList: (e: Event) => any;
24
- }, string, PublicProps, Readonly<Props> & Readonly<{
25
- onClose?: ((popupEvent: PopupEvent) => any) | undefined;
26
- onOpen?: ((popupEvent: PopupEvent) => any) | undefined;
27
- onScrollContentList?: ((e: Event) => any) | undefined;
28
- }>, {
29
- id: string;
30
- posBy: "fixed" | "left" | "right";
31
- pos: "0" | "1" | "2" | "3" | "4";
32
- notch: boolean;
33
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
34
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
35
35
  export default _default;
36
- type __VLS_WithTemplateSlots<T, S> = T & {
37
- new (): {
38
- $slots: S;
39
- };
40
- };
36
+ type __VLS_PrettifyLocal<T> = {
37
+ [K in keyof T]: T[K];
38
+ } & {};
@@ -1,6 +1,8 @@
1
- export interface Props extends OpenerProps {
1
+ export interface Props<T extends Record<string, any> | undefined = undefined> extends OpenerProps<T> {
2
2
  /**
3
- * Уникальный id компонента, используется только в setup, т.е. изменение id будет проигнорировано
3
+ * Уникальный id компонента
4
+ *
5
+ * Используется только в setup, т.е. изменение `id` будет проигнорировано
4
6
  *
5
7
  * Генерируется автоматически при создании кнопки Popup
6
8
  *
@@ -23,25 +25,31 @@ export interface Props extends OpenerProps {
23
25
  */
24
26
  footerSupportLink?: string;
25
27
  }
26
- export type PopupEvent = {
28
+ export type PopupEvent<T extends Record<string, any> | undefined> = {
27
29
  elPopup: HTMLElement;
28
30
  elPopupOpener: HTMLElement;
31
+ /**
32
+ * Данные, с которым был открыт Popup
33
+ *
34
+ * @see {OpenerProps['data']}
35
+ */
36
+ data: OpenerProps<T>['data'];
29
37
  };
30
- export type Emits = {
38
+ export type Emits<T extends Record<string, any> | undefined> = {
31
39
  /**
32
40
  * Будет вызвано при открытии Popup
33
41
  */
34
- open: [popupEvent: PopupEvent];
42
+ open: [popupEvent: PopupEvent<T>];
35
43
  /**
36
44
  * Будет вызвано после закрытия Popup перед его удалением
37
45
  */
38
- close: [popupEvent: PopupEvent];
46
+ close: [popupEvent: PopupEvent<T>];
39
47
  /**
40
48
  * Будет вызвано при скролле списка в Popup
41
49
  */
42
50
  scrollContentList: [e: Event];
43
51
  };
44
- export interface OpenerProps {
52
+ export interface OpenerProps<T extends Record<string, any> | undefined = undefined> {
45
53
  /**
46
54
  * id компонента Popup, который необходимо открыть
47
55
  */
@@ -72,14 +80,15 @@ export interface OpenerProps {
72
80
  * fixed - по документу
73
81
  */
74
82
  posBy?: 'fixed' | 'left' | 'right';
83
+ data?: T;
75
84
  }
76
85
  export interface ListItemProps {
77
86
  /**
78
87
  * Тип элемента списка
79
- * * button - обычный кликабельный (выбираемый) элемент, поддерижвает вставку ссылок через атрибут href
80
- * * regular - произвольное содержимое
81
- * * title - заголовок
82
- * * delimiter - разделитель
88
+ * - button: обычный кликабельный (выбираемый) элемент, поддерживает вставку ссылок через атрибут href
89
+ * - regular: произвольное содержимое
90
+ * - title: заголовок
91
+ * - delimiter: разделитель
83
92
  */
84
93
  type?: 'button' | 'regular' | 'title' | 'delimiter';
85
94
  /**
@@ -1,4 +1,3 @@
1
- import { PopupEvent } from '../popup/types';
2
1
  import { Props } from './types';
3
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
4
3
  declare function __VLS_template(): {
@@ -13,17 +12,7 @@ declare function __VLS_template(): {
13
12
  rootEl: any;
14
13
  };
15
14
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
16
- declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
17
- close: (popupEvent: PopupEvent) => any;
18
- open: (popupEvent: PopupEvent) => any;
19
- submit: (value: string) => any;
20
- scrollContentList: (e: Event) => any;
21
- }, string, PublicProps, Readonly<Props> & Readonly<{
22
- onClose?: ((popupEvent: PopupEvent) => any) | undefined;
23
- onOpen?: ((popupEvent: PopupEvent) => any) | undefined;
24
- onSubmit?: ((value: string) => any) | undefined;
25
- onScrollContentList?: ((e: Event) => any) | undefined;
26
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
15
+ declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, any, string, PublicProps, any, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
27
16
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
28
17
  export default _default;
29
18
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -13,7 +13,7 @@ export interface Props extends PopupProps {
13
13
  */
14
14
  defaultValue?: string;
15
15
  }
16
- export type Emits = PopupEmits & {
16
+ export type Emits<T extends Record<string, any> | undefined> = PopupEmits<T> & {
17
17
  /**
18
18
  * Будет вызвано при нажатии кнопки подтверждения
19
19
  */
package/core/app.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DO87ZZk9.amd","../.chunks/core-D2o3elGA.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-DAIrXU57.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd"],function(y,n,c,l,d,m,S,p,g,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#c;#a=[];#o=[];#n=[];#r=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#c=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#n=s.options.tpaNamesStorageLocal||[],this.#r=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#l()),this.#S(),this.#k();const e=c.debounce(()=>{this.#m(),this.#p(),this.#p(!0)});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#g();e=Object.assign(e,Object.fromEntries(t));const i=await this.#c.gen(s,"fetchColumn").call({},e);i!=null&&i.errors||await m.guestLinkToClipboard(i.result)}#g(){const s=new Map;return this.#r.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#h(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#f(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#l(){let s;try{s=JSON.parse(p.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#h(e)}#m(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);p.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=localStorage.getItem(i+":"+o);e.set(o,r)});const a=this.#d(e);this.#h(a)}#p(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=this.#t[o];e.set(o,r)});const a=this.#f(e);t.forEach(o=>{const r=a.get(o);localStorage.setItem(i+":"+o,r)})}#S(){var a,o,r;const s=(o=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:o.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#r.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#h(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=f=>{var e,t,i,a;const s=f;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};n.Core=c.Core,n.i18nPlugin=c.i18n,n.useI18n=c.useI18n,n.useI18nLang=c.useI18nLang,n.corePlugin=l.core,n.useAsyncTopDialog=g.useAsyncTopDialog,n.useTopDialog=g.useTopDialog,n.TopDialogWorker=k.TopDialogWorker,n.piniaTPAPlugin=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-BduN5hFf.amd","../.chunks/core-CNHOrWnw.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-BgjhCn4H.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd"],function(y,n,c,l,d,m,S,p,g,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#c;#a=[];#o=[];#n=[];#r=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#c=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#n=s.options.tpaNamesStorageLocal||[],this.#r=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#l()),this.#S(),this.#k();const e=c.debounce(()=>{this.#m(),this.#p(),this.#p(!0)});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#g();e=Object.assign(e,Object.fromEntries(t));const i=await this.#c.gen(s,"fetchColumn").call({},e);i!=null&&i.errors||await m.guestLinkToClipboard(i.result)}#g(){const s=new Map;return this.#r.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#h(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#f(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#l(){let s;try{s=JSON.parse(p.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#h(e)}#m(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);p.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=localStorage.getItem(i+":"+o);e.set(o,r)});const a=this.#d(e);this.#h(a)}#p(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=this.#t[o];e.set(o,r)});const a=this.#f(e);t.forEach(o=>{const r=a.get(o);localStorage.setItem(i+":"+o,r)})}#S(){var a,o,r;const s=(o=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:o.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#r.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#h(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=f=>{var e,t,i,a;const s=f;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};n.Core=c.Core,n.i18nPlugin=c.i18n,n.useI18n=c.useI18n,n.useI18nLang=c.useI18nLang,n.corePlugin=l.core,n.useAsyncTopDialog=g.useAsyncTopDialog,n.useTopDialog=g.useTopDialog,n.TopDialogWorker=k.TopDialogWorker,n.piniaTPAPlugin=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=app.amd.js.map
package/core/app.js CHANGED
@@ -1,12 +1,12 @@
1
- import { d } from "../.chunks/forms-C-fyoosd.es.js";
2
- import { C as P, i as T, u as b, a as y } from "../.chunks/forms-C-fyoosd.es.js";
3
- import { c as G } from "../.chunks/core-CwjGTMhd.es.js";
1
+ import { d } from "../.chunks/forms-CiEXUPjB.es.js";
2
+ import { C as P, i as T, u as b, a as y } from "../.chunks/forms-CiEXUPjB.es.js";
3
+ import { c as G } from "../.chunks/core-kP5TitXz.es.js";
4
4
  import { watch as p } from "vue";
5
5
  import { guestLinkToClipboard as f } from "../utils/clipboard.js";
6
6
  import { camelToSnakeCase as g } from "../utils/string.js";
7
7
  import { getHash as m, setHash as l } from "../utils/route.js";
8
- import { u as A, a as D } from "../.chunks/utils-DsICGMuv.es.js";
9
- import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js";
8
+ import { u as A, a as D } from "../.chunks/utils-DUw1K93-.es.js";
9
+ import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-ma6AxkKH.es.js";
10
10
  class u {
11
11
  #s;
12
12
  #t;
@@ -11,7 +11,7 @@ export default class Core {
11
11
  documentClassModificators: Map<string | number, string> & Omit<Map<string | number, string>, keyof Map<any, any>>;
12
12
  dateFormat: string;
13
13
  currency: "USD" | "RUB" | "EUR";
14
- gmt: string;
14
+ timezoneOffset: number;
15
15
  isMobile: boolean;
16
16
  isMobileUA: boolean;
17
17
  isRetina: boolean;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Конфигурация UI
3
3
  *
4
- * Начальные значений устанавилаются при подклчюении Core во Vue приложение через app.use(PluginCore, options)
4
+ * Начальные значений устанавливаются при подключении Core во Vue приложение через app.use(PluginCore, options)
5
5
  */
6
6
  declare const _default: {
7
7
  /**
@@ -17,7 +17,7 @@ declare const _default: {
17
17
  /**
18
18
  * CSS-классы модификаторы для документа страницы
19
19
  *
20
- * Могут испоьзвоаться компонентами для включения необхоимых режимов отображения страницы
20
+ * Могут использоваться компонентами для включения необходимых режимов отображения страницы
21
21
  *
22
22
  * Разные компоненты могут добавлять один и тот же класс, чтобы не было конфликтов каждый компонент управляет только своим классом:
23
23
  * - Ключ - уникальное имя компонента, например в setup: `const uid = Math.random();`
@@ -31,16 +31,17 @@ declare const _default: {
31
31
  */
32
32
  widthForMobile: number;
33
33
  /**
34
- * Формат даты, который будет испоьзоваться по умолчанию для вывода даты, как правило, завсит от текущего пользователя
34
+ * Формат даты, который будет использоваться по умолчанию для вывода даты, как правило, зависит от текущего пользователя
35
35
  */
36
36
  dateFormat: string;
37
37
  /**
38
- * Валюта, которая будет испоьзоваться по умолчанию, как правило, завсит от текущего пользователя
38
+ * Валюта, которая будет использоваться по умолчанию, как правило, зависит от текущего пользователя
39
39
  */
40
40
  currency: "RUB" | "USD" | "EUR";
41
41
  /**
42
- * Для Москвы: +0300
42
+ * Смещение timezone относительно UTC в минутах
43
+ * Для Москвы: -180
43
44
  */
44
- gmt: string;
45
+ timezoneOffset: number;
45
46
  };
46
47
  export default _default;
@@ -8,7 +8,7 @@ declare const state: {
8
8
  documentClassModificators: Map<string | number, string>;
9
9
  dateFormat: string;
10
10
  currency: "USD" | "RUB" | "EUR";
11
- gmt: string;
11
+ timezoneOffset: number;
12
12
  /**
13
13
  * Device by size
14
14
  *
@@ -42,7 +42,7 @@ declare module '@vue/runtime-core' {
42
42
  TopDialogs: typeof TopDialogs;
43
43
  }
44
44
  }
45
- type CoreOptions = PartialBy<typeof coreDefaultOptions, 'gmt' | 'documentClassModificators'>;
45
+ type CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators'>;
46
46
  type Options = CoreOptions & {
47
47
  topPopupOptions?: TopPopupOptions;
48
48
  topDialogOptions?: TopDialogOptions;
@@ -2,6 +2,15 @@
2
2
  * Работа с датами
3
3
  * @packageDocumentation
4
4
  */
5
+ /**
6
+ * Уровень детализации времени
7
+ *
8
+ * - 0: только дата
9
+ * - 1: дата и часы
10
+ * - 2: дата и часы с минутами
11
+ * - 3: дата и часы с минутами и секундами
12
+ */
13
+ type Time = 0 | 1 | 2 | 3;
5
14
  /**
6
15
  * Получить день недели
7
16
  */
@@ -10,26 +19,32 @@ export declare const getDayOfWeek: (y: number, m: number, d: number) => string;
10
19
  * Преобразовать дату в строку формата Y-m-d H:i:s
11
20
  * @param dateObject - объект Date
12
21
  * @param langFormat - если true, формат даты будет взят из Core.state.dateFormat
13
- * @param timeFormat - 0-только дата | 1-дата и часы | 2-дата и часы с минутами | 3-дата и часы с минутами и секундами
22
+ * @param timeFormat - уровень детализации времени
14
23
  */
15
- export declare const dateToString: (dateObject: Date, langFormat?: boolean, timeFormat?: 0 | 1 | 2 | 3) => string;
24
+ export declare const dateToString: (dateObject: Date, langFormat?: boolean, timeFormat?: Time) => string;
16
25
  /**
17
26
  * Получить объект Date из строки
18
27
  * @param date - строка с датой
19
28
  */
20
29
  export declare function stringToDate(date: string): Date;
30
+ /**
31
+ * Генерация даты-строки из миллисекунд (UTC), в формате Y-m-d H:i:s с учётом часового пояса пользователя
32
+ *
33
+ * Для настройки часового пояса пользователя используется `Core.state.timezoneOffset`
34
+ *
35
+ * @see genDate()
36
+ */
37
+ export declare const genUserDate: (timestamp?: number, useFormat?: boolean, time?: Time | "auto") => string;
21
38
  /**
22
39
  * Генерация даты-строки из миллисекунд (UTC), в формате Y-m-d H:i:s
23
40
  * @param timestamp - дата в мс, если не передана, берется дата на момент вызова функции
24
41
  * @param useFormat - если true, формат даты будет взят из Core.state.dateFormat
25
- * @param time
26
- * - 0: только дата
27
- * - 1: дата часы
28
- * - 2: дата и часы с минутами
29
- * - 3: дата и часы с минутами и секундами
30
- * - auto: часы и минуты будут выводиться только, если они не равны нулю
42
+ * @param time - уровень детализации времени
43
+ * - auto: часы и минуты будут выводиться, только если они не равны нулю
44
+ * @param timezoneOffset - смещение часового пояса от UTC в минутах.
45
+ * Если не указано используется локальный часовой пояс пользователя
31
46
  */
32
- export declare function genDate(timestamp: number | undefined, useFormat?: boolean, time?: 0 | 1 | 2 | 3 | 'auto'): string;
47
+ export declare function genDate(timestamp?: number, useFormat?: boolean, time?: Time | 'auto', timezoneOffset?: number): string;
33
48
  /**
34
49
  * Генерация даты-строки (время московское) из миллисекунд (UTC), в формате Y-m-d H:i:s
35
50
  * @param ms - дата в мс, если не передана, берется дата на момент вызова функции
@@ -39,14 +54,17 @@ export declare function genDateMoscow(ms: number | undefined, useFormat?: boolea
39
54
  /**
40
55
  * Перевод даты в формат пользователя
41
56
  * @param dateMixed - объект даты или строка в формате Y-m-d H:i:s
42
- * @param time - 0-только дата | 1-дата и часы | 2-дата и часы с минутами | 3-дата и часы с минутами и секундами
43
- * @param dateFormat -
57
+ * @param time - уровень детализации времени
58
+ * @param dateFormat - формат даты, если не указан, будет взят из Core.state.dateFormat
44
59
  * @param emptyValue - значение, которое надо вернуть, если дата не указана
60
+ *
61
+ * @todo Привести к единой логике обработку строк и дат
45
62
  */
46
- export declare function dateFormat(dateMixed: string | Date, time?: 0 | 1 | 2 | 3, dateFormat?: string, emptyValue?: string): string;
63
+ export declare function dateFormat(dateMixed: string | Date, time?: Time, dateFormat?: string, emptyValue?: string): string;
47
64
  /**
48
65
  * Перевод даты из формата пользователя в системный формат Y-m-d H:i:s
49
66
  * @param date - строка с датой
50
67
  * @param emptyValue - значение, которое надо вернуть, если дата не указана
51
68
  */
52
69
  export declare function dateUnformat(date: string, emptyValue?: string): string;
70
+ export {};
@@ -27,11 +27,20 @@ export declare function offset(el: HTMLElement): {
27
27
  };
28
28
  /**
29
29
  * Получить значение css свойства элемента
30
+ *
30
31
  * @param el
31
32
  * @param property - имя свойства
32
33
  * @return - значение css стиля
33
34
  */
34
35
  export declare function css(el: HTMLElement, property: string): string;
36
+ /**
37
+ * Получить значение css свойства целочисленного типа
38
+ *
39
+ * @param el
40
+ * @param property - имя свойства
41
+ * @return - значение css стиля
42
+ */
43
+ export declare function cssNumber(el: HTMLElement, property: string): number;
35
44
  /**
36
45
  * Обернуть элемент и вернуть только что созданный элемент
37
46
  * @param el - элемент, который требуется обернуть
@@ -61,7 +70,7 @@ export declare function querySelectorAllVisible(el: HTMLElement | Document, sele
61
70
  * @param el - корневой элемент поиска
62
71
  * @param selectors - см. параметр selectors в Document.querySelectorAll()
63
72
  */
64
- export declare function querySelectorAllArray(el: HTMLElement | Document, selectors: string): HTMLElement[];
73
+ export declare function querySelectorAllArray<El extends HTMLElement = HTMLElement>(el: HTMLElement | Document, selectors: string): El[];
65
74
  /**
66
75
  * Хранилище данных элемента
67
76
  * @param el
@@ -83,6 +92,7 @@ declare const _default: {
83
92
  isVisible: typeof isVisible;
84
93
  offset: typeof offset;
85
94
  css: typeof css;
95
+ cssNumber: typeof cssNumber;
86
96
  wrap: typeof wrap;
87
97
  querySelectorVisible: typeof querySelectorVisible;
88
98
  querySelectorVisibleLast: typeof querySelectorVisibleLast;
@@ -38,7 +38,7 @@ export declare const nl2br: (str: string) => string;
38
38
  * @param dimension - размерность, по умолчанию 1000
39
39
  * @param suffix - суффикс к десятичной приставке (по умолчанию выводится латинская заглавная буква)
40
40
  */
41
- export declare const numberWithWord: (number: number, precision?: number, dimension?: number, suffix?: string) => string;
41
+ export declare const numberWithWord: (number: number | string, precision?: number, dimension?: number, suffix?: string) => string;
42
42
  /**
43
43
  * Обрезать текст под три точки
44
44
  * @param string
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd","vue","../.chunks/utils-DAIrXU57.amd"],function(c,n,u,e,t){"use strict";if(typeof e>"u")var e=window.Vue;const i={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},l=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(m){const a=m,r=t.useTopDialogSelf(),s=(o,p)=>{if(!p.value){if(o.name!=="AsyncComponentWrapper"){p.value=!0;return}r.needShowPage(a.name)&&(r.isLoadingPage.value=!0,o.__asyncResolved&&(p.value=!0,r.isLoadingPage.value=!1))}};if(a.component.name==="AsyncComponentWrapper"){const o=e.ref(!1);e.onUpdated(()=>{s(a.component,o)})}return(o,p)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:o.keepAlive?"":"none"},[e.unref(r).needShowPage(o.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:0},a,{name:o.name,order:o.order,prevName:o.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});n.TopDialog=u._sfc_main,n.TopDialogPage=u._sfc_main$1,n.useTopDialogSelf=t.useTopDialogSelf,n.TopDialogPageComponent=l,n.propsPageCommon=i,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-DpmKeCWn.amd","vue","../.chunks/utils-BgjhCn4H.amd"],function(c,n,u,e,t){"use strict";if(typeof e>"u")var e=window.Vue;const i={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},l=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(m){const a=m,r=t.useTopDialogSelf(),s=(o,p)=>{if(!p.value){if(o.name!=="AsyncComponentWrapper"){p.value=!0;return}r.needShowPage(a.name)&&(r.isLoadingPage.value=!0,o.__asyncResolved&&(p.value=!0,r.isLoadingPage.value=!1))}};if(a.component.name==="AsyncComponentWrapper"){const o=e.ref(!1);e.onUpdated(()=>{s(a.component,o)})}return(o,p)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:o.keepAlive?"":"none"},[e.unref(r).needShowPage(o.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:0},a,{name:o.name,order:o.order,prevName:o.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});n.TopDialog=u._sfc_main,n.TopDialogPage=u._sfc_main$1,n.useTopDialogSelf=t.useTopDialogSelf,n.TopDialogPageComponent=l,n.propsPageCommon=i,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=dialog.amd.js.map
package/dialog/dialog.js CHANGED
@@ -1,6 +1,6 @@
1
- import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js";
1
+ import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-B6YquNpa.es.js";
2
2
  import { defineComponent as l, ref as i, onUpdated as u, createBlock as a, openBlock as p, KeepAlive as s, createCommentVNode as d, unref as g, resolveDynamicComponent as c, mergeProps as f } from "vue";
3
- import { b as v } from "../.chunks/utils-DsICGMuv.es.js";
3
+ import { b as v } from "../.chunks/utils-DUw1K93-.es.js";
4
4
  const C = {
5
5
  name: {
6
6
  type: String,
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DO87ZZk9.amd"],function(o,T,a){"use strict";if(typeof e>"u")var e=window.Vue;T.TopAvatar=a.TopAvatar,T.TopButton=a.TopButton,T.TopCaption=a.TopCaption,T.TopCheckbox=a.TopCheckbox,T.TopControlLabel=a.TopControlLabel,T.TopHint=a.TopHint,T.TopInput=a.TopInput,T.TopInputDate=a.TopInputDate,T.TopInputRange=a.TopInputRange,T.TopLoadbar=a.TopLoadbar,T.TopPreloader=a.TopPreloader,T.TopRadio=a.TopRadio,T.TopSelect=a.TopSelect,T.TopSwitcher=a.TopSwitcher,T.TopTextarea=a.TopTextarea,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-BduN5hFf.amd"],function(o,T,a){"use strict";if(typeof e>"u")var e=window.Vue;T.TopAvatar=a.TopAvatar,T.TopButton=a.TopButton,T.TopCaption=a.TopCaption,T.TopCheckbox=a.TopCheckbox,T.TopControlLabel=a.TopControlLabel,T.TopHint=a.TopHint,T.TopInput=a.TopInput,T.TopInputDate=a.TopInputDate,T.TopInputRange=a.TopInputRange,T.TopLoadbar=a.TopLoadbar,T.TopPreloader=a.TopPreloader,T.TopRadio=a.TopRadio,T.TopSelect=a.TopSelect,T.TopSwitcher=a.TopSwitcher,T.TopTextarea=a.TopTextarea,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=forms.amd.js.map
package/forms/forms.js CHANGED
@@ -1,4 +1,4 @@
1
- import { T as p, g as T, W as s, h as t, j as e, k as r, l as n, m as l, n as i, o as u, x, p as b, q as c, r as d, s as h } from "../.chunks/forms-C-fyoosd.es.js";
1
+ import { T as p, g as T, X as s, h as t, j as e, k as r, l as n, m as l, n as i, o as u, x, p as b, q as c, r as d, s as h } from "../.chunks/forms-CiEXUPjB.es.js";
2
2
  export {
3
3
  p as TopAvatar,
4
4
  T as TopButton,
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-DO87ZZk9.amd","../popup/popup.amd","../utils/keyboard.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd","../require/css.amd!../assets/formsExt.css"],function(te,B,e,k,g,V,T){"use strict";if(typeof e>"u")var e=window.Vue;const E={class:"top-editArea_footer"},S=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["submit","close","clickOnTitle"],setup(a,{emit:t}){const o=a,r=t,i=e.ref(o.defaultValue),l=e.ref(o.isFocused),c=e.computed(()=>i.value!==o.defaultValue),p=u=>{r("submit",u),i.value=o.defaultValue},v=()=>{if(o.forceShowCloseBtn&&!c.value){r("close");return}i.value=o.defaultValue},y=()=>{o.attachToKeyboard&&r("clickOnTitle")};return(u,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":u.attachToKeyboard})},[u.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:m[0]||(m[0]=s=>y())},e.toDisplayString(u.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":u.isError,"top-focus":l.value})},[e.createVNode(k._sfc_main$3,{modelValue:i.value,"onUpdate:modelValue":m[1]||(m[1]=s=>i.value=s),name:u.name,placeholder:u.placeholder,rows:u.rows,minHeight:u.minHeight,expandable:u.expandable,disabled:u.disabled,readonly:u.readonly,isError:u.isError,hint:u.hint,class:"top-editArea_element",onFocus:m[2]||(m[2]=()=>l.value=!0),onBlur:m[3]||(m[3]=()=>l.value=!1),onKeyup:[e.withKeys(v,["esc"]),m[4]||(m[4]=e.withKeys(e.withModifiers(s=>p(i.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",E,[c.value||u.forceShowCloseBtn?(e.openBlock(),e.createBlock(k._sfc_main,{key:0,icon:u.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:v},e.createSlots({_:2},[u.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createBlock(k._sfc_main,{key:1,class:"top-editArea_button",icon:u.$core.state.isMobile?"":"",onClick:m[5]||(m[5]=s=>p(i.value))},e.createSlots({_:2},[u.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),A={class:"top-editInput"},$=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(a,{emit:t}){const o=a,r=e.ref(o.modelValue);e.watch(e.toRef(o.modelValue),()=>{r.value=o.modelValue});const i=t,l=()=>{i("update:modelValue",r.value)};return(c,p)=>(e.openBlock(),e.createElementBlock("div",A,[e.createVNode(k._sfc_main$2,e.mergeProps(c.input,{onKeydownCapture:p[0]||(p[0]=e.withKeys(e.withModifiers(v=>r.value=c.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(l,["stop"]),["enter"]),modelValue:r.value,"onUpdate:modelValue":p[1]||(p[1]=v=>r.value=v)}),null,16,["onKeydown","modelValue"]),r.value!==c.modelValue?(e.openBlock(),e.createBlock(k._sfc_main,e.mergeProps({key:0,icon:"",styling:"soft"},c.button,{onClick:l}),null,16)):e.createCommentVNode("",!0)]))}}),I=["data-top-icon","onClick"],N={key:0,class:"top-radioGroup_circle"},M=["value","disabled"],L=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue"),o=a,r=e.ref(null);e.watch(t,()=>{var l,c,p,v,y;(l=o.radiosProps)!=null&&l.some(u=>u.value===t.value)||(t.value=((p=(c=o.radiosProps)==null?void 0:c[0])==null?void 0:p.value)??""),(y=(v=r.value)==null?void 0:v.querySelector(".radioGroup_item-selected"))==null||y.scrollIntoView()},{immediate:!0});const i="radioGroup-"+Math.random();return(l,c)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:r,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+l.size]:!!l.size,"top-error":l.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.radiosProps,p=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":p.value===t.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":p.disabled}),"data-top-icon":p.icon,onClick:v=>t.value=p.value},[e.createTextVNode(e.toDisplayString(p.title)+" ",1),l.showIndicator?(e.openBlock(),e.createElementBlock("span",N)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=v=>t.value=v),name:i,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:p.value,disabled:p.disabled},null,8,M),[[e.vModelRadio,t.value]])],10,I))),256))],2))}}),_=["data-top-icon"],z=["value","checked","disabled","onChange"],K=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},styling:{default:"outline"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue"),o=r=>{const i=[...t.value],l=i.indexOf(r);l===-1?i.push(r):i.splice(l,1),t.value=i};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-checkboxGroup":!0,["top-checkboxGroup-"+r.styling]:!0,"top-scrollBarXHidding":!0,["top-size_"+r.size]:!!r.size,"top-error":r.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,l=>(e.openBlock(),e.createElementBlock("label",{key:l.id,class:e.normalizeClass({"top-checkboxGroup_item":!0,"top-checkboxGroup_item-selected":t.value.includes(l.id),"top-forms-focusable":!0,"top-disabled":l.disabled}),"data-top-icon":l.icon},[e.createElementVNode("input",{type:"checkbox",class:"top-unvisible",value:l.id,checked:t.value.includes(l.id),disabled:l.disabled,onChange:c=>o(l.id)},null,40,z),e.createTextVNode(" "+e.toDisplayString(l.title),1)],10,_))),128))],2))}}),P={class:"top-selector2_itemMulti top-ellipsis"},D=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("div",P,[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:o[0]||(o[0]=r=>t.$emit("delete",t.id)),onMousedown:o[1]||(o[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),G=(a,t,o)=>{const r=e.ref([]),i=e.ref(!1);let l="",c;a&&!a.params.limit&&(a.params.limit=100);const p=async()=>{if(!a)return;let s,f;if(o&&(a.cache??=new Map,f=JSON.stringify(a.params),s=a.cache.get(f),s))return s;if(i.value=!0,s=await a.call(),i.value=!1,s.errors)return;if(!Array.isArray(s.result)){console.warn("В result ожидался массив");return}const n=s.result.findIndex(d=>d.id===void 0||d.name===void 0);if(n!==-1){console.warn(`В result[${n}] нет id или name`);return}return o&&a.cache.set(f,s),s},v=async()=>{if(!a)return;a.params.offset=0,a.params.search=l;const s=await p();s&&(c=s.nextOffset,r.value=s.result)},y=async()=>{if(!a||!c||i.value)return;a.params.offset=c,a.params.search=l;const s=await p();s&&(c=s.nextOffset,r.value=r.value.concat(s.result))},u=k.debounce(()=>v(),200);return{apiRequest:a,items:r,isLoading:i,loadAppend:y,setSearchTextAndLoad:(s,f=!0)=>{a&&(s.length<t||s===l&&r.value.length||(l=s,f?u():v()))}}},F=0,b=(a,t,o=!0)=>o&&t.id===null?Array.isArray(a)?a.some(r=>r.id===t.id&&r.name===t.name):t.name===a.name:Array.isArray(a)?a.some(r=>r.id===t.id):t.id===a.id,O=(a,t,o,r,i,l)=>{const c=e.ref(""),p={id:F,name:k.useI18n().Common.All},v=()=>{c.value="",l.items.value=[]},y=e.computed(()=>{var s;const m=[];return!o&&r.value&&m.push(p),(s=t.value)==null||s.forEach(f=>m.push({...f})),m}),u=e.computed(()=>{const m=c.value.toLowerCase(),s=V.invertKeyboardLayout(m);let f=[];return y.value.forEach(n=>{const d=n.name.toLowerCase();(n.id===Number(m)||d.includes(m)||d.includes(s))&&(d===m||d===s?f.unshift(n):f.push(n))}),f.push(...l.items.value),i.value&&c.value&&(!f.length||f[0].name.toLowerCase()!==m)&&f.push({id:null,name:c.value}),o&&(f=f.filter(n=>!b(a.value,n))),f});return{searchText:c,resetSearch:v,items:y,itemsForShow:u}},H={key:0,class:"top-selector2_activeItems"},R={key:1,class:"top-selector2_activeName top-ellipsis"},U=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},multiselect:{type:Boolean},disabled:{type:Boolean},size:{default:"s"},isError:{type:Boolean},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},placeholder:{},showSelectedInInput:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,o=e.useModel(a,"modelValue"),r=e.ref(null),i=G(t.apiRequest,t.minLength||0,t.useCache),l=O(o,e.toRef(t,"items"),t.multiselect,e.toRef(t,"appendAllValue"),e.toRef(t,"appendSearchToResult"),i),c=e.ref(null),p=()=>{var n;return(n=c.value)==null?void 0:n.popup},v=()=>{if(!Array.isArray(o.value)){const d=(l.itemsForShow.value.findIndex(w=>w.id===o.value.id)+1)%l.itemsForShow.value.length;o.value={...l.itemsForShow.value[d]}}},y=async n=>{Array.isArray(o.value)&&(o.value=o.value.filter(d=>d.id!==n),setTimeout(()=>{var d;(d=p())==null||d.recalcPosition()}))},u=e.ref(!1);i.apiRequest&&(e.watch(u,()=>{u.value&&i.setSearchTextAndLoad(l.searchText.value,!1)}),e.watch(l.searchText,()=>i.setSearchTextAndLoad(l.searchText.value)));const m=n=>{t.multiselect&&Array.isArray(o.value)?b(o.value,n)||(o.value=[...o.value,n]):o.value=n},s=()=>{var n;u.value=!1,(n=r.value)==null||n.focus(),l.searchText.value&&l.resetSearch()},f=n=>{const d=n.target;d.scrollTop/(d.scrollHeight-d.offsetHeight)>.8&&i.loadAppend()};return window.__STORYBOOK_PREVIEW__&&!t.modelValue&&e.watch(()=>t.multiselect,()=>{o.value=t.multiselect?[]:{id:null,name:""}},{immediate:!0}),(n,d)=>{const w=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(g.TopPopup),{ref_key:"popupRef",ref:c,onOpen:d[3]||(d[3]=h=>u.value=!0),onClose:d[4]||(d[4]=h=>s()),onScrollContentList:d[5]||(d[5]=h=>n.apiRequest?f(h):void 0),notch:!1,transitionDuration:0},e.createSlots({opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:r,class:e.normalizeClass({"top-selector2":!0,"top-selector2-multiselect":n.multiselect,["top-size_"+n.size]:!0,"top-disabled":n.disabled,"top-forms-focusable":!n.disabled,"top-error":n.isError}),onKeydown:[d[0]||(d[0]=e.withKeys(e.withModifiers(h=>h.currentTarget.click(),["stop","prevent"]),["up","down","enter","space"])),d[1]||(d[1]=e.withKeys(h=>o.value=[],["delete"]))],tabindex:"0"},[n.multiselect?(e.openBlock(),e.createElementBlock("div",H,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,h=>(e.openBlock(),e.createBlock(D,{id:h.id,name:h.name,onDelete:y},null,8,["id","name"]))),256))])):e.createCommentVNode("",!0),n.multiselect?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",R,e.toDisplayString(Array.isArray(o.value)?"":o.value.name),1)),n.addChanger&&!n.multiselect&&e.unref(l).items.value.length>1&&!n.disabled?(e.openBlock(),e.createElementBlock("span",{key:2,class:"top-changer top-changer-selector","data-top-popup-disabled":"true",onClick:v})):e.createCommentVNode("",!0)],34)),[[w,n.isError,void 0,{onupdate:!0}]])]),contentList:e.withCtx(()=>{var h;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).itemsForShow.value,C=>(e.openBlock(),e.createBlock(e.unref(g.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(o.value)&&!n.multiselect&&o.value.id===C.id&&o.value.name===C.name}),key:C.id??void 0,closeByClick:!n.multiselect||e.unref(k.Core).state.isMobile,onClick:le=>m(C)},{default:e.withCtx(()=>[n.$slots.item?e.renderSlot(n.$slots,"item",{key:0,item:C}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(C.name),1)],64))]),_:2},1032,["class","closeByClick","onClick"]))),128)),!e.unref(i).isLoading.value&&!e.unref(l).itemsForShow.value.length?(e.openBlock(),e.createBlock(e.unref(g.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0),e.unref(i).isLoading.value&&(!n.showSearch||(h=n.apiRequest)!=null&&h.params.offset)?(e.openBlock(),e.createBlock(e.unref(g.TopPopupListItem),{key:1,type:"regular"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.TopPreloader),{type:"circles"})]),_:1})):e.createCommentVNode("",!0)]}),_:2},[n.showSearch?{name:"widget",fn:e.withCtx(()=>{var h;return[e.createVNode(e.unref(g.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:e.unref(l).searchText.value,"onUpdate:modelValue":d[2]||(d[2]=C=>e.unref(l).searchText.value=C),isLoading:e.unref(i).isLoading.value&&!((h=n.apiRequest)!=null&&h.params.offset),placeholder:!Array.isArray(o.value)&&!n.multiselect&&n.showSelectedInInput?o.value.name:n.placeholder},null,8,["modelValue","isLoading","placeholder"])]}),key:"0"}:void 0]),1536)}}}),W=["data-top-icon"],X={class:"top-info_text"},j={key:0,class:"top-info_value"},J=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+t.size]:!0,["top-info-styling_"+t.styling]:!0}),"data-top-icon":t.icon},[e.createElementVNode("div",X,[e.renderSlot(t.$slots,"default")]),t.$slots.additional?(e.openBlock(),e.createElementBlock("span",j,[e.renderSlot(t.$slots,"additional")])):e.createCommentVNode("",!0)],10,W))}}),Y=S,Q=$,Z=L,q=K,x=U,ee=T._sfc_main,oe=J;B.TopCheckboxGroup=q,B.TopEditArea=Y,B.TopEditInput=Q,B.TopInfo=oe,B.TopMenu=ee,B.TopRadioGroup=Z,B.TopSelector2=x,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-BduN5hFf.amd","../popup/popup.amd","../utils/keyboard.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-C9cIXmj2.amd","../require/css.amd!../assets/formsExt.css"],function(pe,b,e,C,T,S,$){"use strict";if(typeof e>"u")var e=window.Vue;const I={class:"top-editArea_footer"},_=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["submit","close","clickOnTitle"],setup(n,{emit:o}){const a=n,l=o,d=e.ref(a.defaultValue),r=e.ref(a.isFocused),s=e.computed(()=>d.value!==a.defaultValue),p=c=>{l("submit",c),d.value=a.defaultValue},m=()=>{if(a.forceShowCloseBtn&&!s.value){l("close");return}d.value=a.defaultValue},B=()=>{a.attachToKeyboard&&l("clickOnTitle")};return(c,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":c.attachToKeyboard})},[c.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:y[0]||(y[0]=u=>B())},e.toDisplayString(c.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-forms-focusable":!0,"top-as-input":!0,"top-error":c.isError,"top-focus":r.value})},[e.createVNode(C._sfc_main$3,{modelValue:d.value,"onUpdate:modelValue":y[1]||(y[1]=u=>d.value=u),name:c.name,placeholder:c.placeholder,rows:c.rows,minHeight:c.minHeight,expandable:c.expandable,disabled:c.disabled,readonly:c.readonly,isError:c.isError,hint:c.hint,class:"top-editArea_element",onFocus:y[2]||(y[2]=()=>r.value=!0),onBlur:y[3]||(y[3]=()=>r.value=!1),onKeyup:[e.withKeys(m,["esc"]),y[4]||(y[4]=e.withKeys(e.withModifiers(u=>p(d.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",I,[s.value||c.forceShowCloseBtn?(e.openBlock(),e.createBlock(C._sfc_main,{key:0,icon:c.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:m},e.createSlots({_:2},[c.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(C._sfc_main,{key:1,class:"top-editArea_button",icon:c.$core.state.isMobile?"":"",onClick:y[5]||(y[5]=u=>p(d.value))},e.createSlots({_:2},[c.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),N={class:"top-editInput"},L=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(n,{emit:o}){const a=n,l=e.ref(a.modelValue);e.watch(e.toRef(a.modelValue),()=>{l.value=a.modelValue});const d=o,r=()=>{d("update:modelValue",l.value)};return(s,p)=>(e.openBlock(),e.createElementBlock("div",N,[e.createVNode(C._sfc_main$2,e.mergeProps(s.input,{onKeydownCapture:p[0]||(p[0]=e.withKeys(e.withModifiers(m=>l.value=s.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(r,["stop"]),["enter"]),modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=m=>l.value=m)}),null,16,["onKeydown","modelValue"]),l.value!==s.modelValue?(e.openBlock(),e.createBlock(C._sfc_main,e.mergeProps({key:0,icon:"",styling:"soft"},s.button,{onClick:r}),null,16)):e.createCommentVNode("",!0)]))}}),M=["data-top-icon","onClick"],P={key:0,class:"top-radioGroup_circle"},D=["value","disabled"],z=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue"),a=n,l=e.ref(null);e.watch(o,()=>{var r,s,p,m,B;(r=a.radiosProps)!=null&&r.some(c=>c.value===o.value)||(o.value=((p=(s=a.radiosProps)==null?void 0:s[0])==null?void 0:p.value)??""),(B=(m=l.value)==null?void 0:m.querySelector(".radioGroup_item-selected"))==null||B.scrollIntoView()},{immediate:!0});const d="radioGroup-"+Math.random();return(r,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:l,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+r.size]:!!r.size,"top-error":r.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.radiosProps,p=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":p.value===o.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":p.disabled}),"data-top-icon":p.icon,onClick:m=>o.value=p.value},[e.createTextVNode(e.toDisplayString(p.title)+" ",1),r.showIndicator?(e.openBlock(),e.createElementBlock("span",P)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[0]=m=>o.value=m),name:d,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:p.value,disabled:p.disabled},null,8,D),[[e.vModelRadio,o.value]])],10,M))),256))],2))}}),K=["data-top-icon"],O=["value","checked","disabled","onChange"],G=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},styling:{default:"outline"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue"),a=l=>{const d=[...o.value],r=d.indexOf(l);r===-1?d.push(l):d.splice(r,1),o.value=d};return(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-checkboxGroup":!0,["top-checkboxGroup-"+l.styling]:!0,"top-scrollBarXHidding":!0,["top-size_"+l.size]:!!l.size,"top-error":l.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,r=>(e.openBlock(),e.createElementBlock("label",{key:r.id,class:e.normalizeClass({"top-checkboxGroup_item":!0,"top-checkboxGroup_item-selected":o.value.includes(r.id),"top-forms-focusable":!0,"top-disabled":r.disabled}),"data-top-icon":r.icon},[e.createElementVNode("input",{type:"checkbox",class:"top-unvisible",value:r.id,checked:o.value.includes(r.id),disabled:r.disabled,onChange:s=>a(r.id)},null,40,O),e.createTextVNode(" "+e.toDisplayString(r.title),1)],10,K))),128))],2))}}),F={class:"top-selector2_itemMulti top-ellipsis"},H=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("div",F,[e.createTextVNode(e.toDisplayString(o.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:a[0]||(a[0]=l=>o.$emit("delete",o.id)),onMousedown:a[1]||(a[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),R=(n,o,a)=>{const l=e.ref([]),d=e.ref(!1);let r="",s;n&&!n.params.limit&&(n.params.limit=100);const p=async()=>{if(!n)return;let u,g;if(a&&(n.cache??=new Map,g=JSON.stringify(n.params),u=n.cache.get(g),u))return u;if(d.value=!0,u=await n.call(),d.value=!1,u.errors)return;if(!Array.isArray(u.result)){console.warn("В result ожидался массив");return}const V=u.result.findIndex(w=>w.id===void 0||w.name===void 0);if(V!==-1){console.warn(`В result[${V}] нет id или name`);return}return a&&n.cache.set(g,u),u},m=async()=>{if(!n)return;n.params.offset=0,n.params.search=r;const u=await p();u&&(s=u.nextOffset,l.value=u.result)},B=async()=>{if(!n||!s||d.value)return;n.params.offset=s,n.params.search=r;const u=await p();u&&(s=u.nextOffset,l.value=l.value.concat(u.result))},c=C.debounce(()=>m(),200);return{apiRequest:n,items:l,isLoading:d,loadAppend:B,setSearchTextAndLoad:(u,g=!0)=>{n&&(u.length<o||u===r&&l.value.length||(r=u,g?c():m()))}}},U=0,A=(n,o,a=!0)=>a&&o.id===null?Array.isArray(n)?n.some(l=>l.id===o.id&&l.name===o.name):o.name===n.name:Array.isArray(n)?n.some(l=>l.id===o.id):o.id===n.id,x=(n,o,a,l,d,r,s,p)=>{const m=e.ref(""),B={id:U,name:C.useI18n().Common.All},c=()=>{m.value="",p.items.value=[]},y=()=>!(!p.apiRequest||r.value!=="inline"||m.value.length>=s),u=e.computed(()=>{var t;const v=[];return!a&&l.value&&v.push(B),(t=o.value)==null||t.forEach(i=>v.push({...i})),v}),g=e.computed(()=>{const v=m.value.toLowerCase(),t=S.invertKeyboardLayout(v);let i=[];return u.value.forEach(h=>{const f=h.name.toLowerCase();(h.id===Number(v)||f.includes(v)||f.includes(t))&&(f===v||f===t?i.unshift(h):i.push(h))}),i.push(...p.items.value),d.value&&m.value&&(!i.length||i[0].name.toLowerCase()!==v)&&i.push({id:null,name:m.value}),a&&(i=i.filter(h=>!A(n.value,h))),i});return{searchText:m,resetSearch:c,genIsShort:y,items:u,itemsForShow:g,selectItem:v=>{a&&Array.isArray(n.value)?A(n.value,v)||(n.value=[...n.value,v]):n.value=v},selectNextItem:()=>{if(!Array.isArray(n.value)){const t=(g.value.findIndex(i=>i.id===n.value.id)+1)%g.value.length;n.value={...g.value[t]}}},deleteItemById:async v=>{Array.isArray(n.value)&&(n.value=n.value.filter(t=>t.id!==v))}}},W={key:0,class:"top-selector2_activeItems"},j={key:1,class:"top-selector2_activeName top-ellipsis"},X={key:2,class:"top-selector2_placeholder top-ellipsis"},J=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},title:{},disabled:{type:Boolean},size:{default:"s"},isError:{type:Boolean},searchType:{default:"popup"},placeholder:{},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},multiselect:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},buttonProps:{},selectedAsPlaceholder:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=n,a=e.useModel(n,"modelValue"),l=e.computed(()=>o.searchType==="inline"&&o.multiselect||o.searchType==="inline"&&C.Core.state.isMobile?"popup":o.searchType);let d=0;l.value==="inline"&&o.minLength&&(d=o.minLength);const r=R(o.apiRequest,d,o.useCache),s=x(a,e.toRef(o,"items"),o.multiselect,e.toRef(o,"appendAllValue"),e.toRef(o,"appendSearchToResult"),l,d,r),p=e.computed(()=>o.buttonProps?"TopButton":l.value==="inline"?"TopInput":"div"),m=e.ref(null),B=()=>{var t;return(t=m.value)==null?void 0:t.popup};r.apiRequest&&e.watch(s.searchText,()=>{var t;r.setSearchTextAndLoad(s.searchText.value),l.value==="inline"&&s.genIsShort()&&((t=B())==null||t.close())}),e.watch(a,()=>{l.value==="inline"&&s.resetSearch()});const c=e.computed(()=>{var t;return Array.isArray(a.value)||o.multiselect||!o.selectedAsPlaceholder&&l.value!=="inline"?o.placeholder:((t=a.value)==null?void 0:t.name)||o.placeholder}),y=t=>{var f,k;let i=!1;switch(t.key){case"Delete":case"Backspace":Array.isArray(a.value)&&(t.preventDefault(),t.stopPropagation(),a.value.pop());break;case"ArrowUp":case"ArrowRight":case"ArrowDown":case"ArrowLeft":case"Enter":case" ":i=!0;break;case"Escape":l.value==="inline"&&s.resetSearch();break}const h=t.key.length===1&&!t.ctrlKey&&!t.metaKey;(l.value==="popup"||l.value==="inline")&&h&&(i=!0),(f=B())!=null&&f.elPopup&&(i=!1),i&&(l.value==="popup"&&(t.preventDefault(),t.stopPropagation(),h&&(s.searchText.value||(s.searchText.value=t.key))),(k=t.currentTarget)==null||k.click())};let u=!1;const g=t=>{var i;u||l.value==="inline"&&((i=t.currentTarget)==null||i.click())},V=t=>{var i,h;t.preventDefault(),u=!0,(h=(i=t.currentTarget)==null?void 0:i.parentElement)==null||h.focus(),u=!1,s.selectNextItem()},w=()=>{var t;if(u=!0,r.apiRequest){if(s.genIsShort()){(t=B())==null||t.close();return}r.setSearchTextAndLoad(s.searchText.value,!1)}},E=()=>{setTimeout(()=>{u=!1},100),l.value==="popup"&&s.searchText.value&&s.resetSearch()},v=t=>{const i=t.target;i.scrollTop/(i.scrollHeight-i.offsetHeight)>.8&&r.loadAppend()};return window.__STORYBOOK_PREVIEW__&&(e.watch(()=>o.multiselect,()=>{o.multiselect?Array.isArray(a.value)||(a.value=[{id:1,name:"Выбери меня"}]):Array.isArray(a.value)&&(a.value={id:null,name:""})},{immediate:!0}),e.watch(()=>o.searchType,()=>{setTimeout(()=>{location.reload()},500)})),(t,i)=>{const h=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(T.TopPopup),{ref_key:"popupRef",ref:m,onOpen:i[3]||(i[3]=f=>w()),onClose:i[4]||(i[4]=f=>E()),onScrollContentList:i[5]||(i[5]=f=>t.apiRequest?v(f):void 0),notch:l.value!=="inline",transitionDuration:0},e.createSlots({opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),e.mergeProps(t.buttonProps,{ref:"subcomponentSelector",class:{"top-selector2":!0,"top-selector2-multiselect":t.multiselect,"top-as-input":!t.buttonProps,"top-as-selector":!0,["top-size_"+t.size]:!0,"top-disabled":t.disabled,"top-forms-focusable":!t.disabled,"top-error":t.isError},tabindex:"0",onKeydown:y,placeholder:c.value,modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[0]||(i[0]=f=>e.unref(s).searchText.value=f),onFocus:g,onBlur:i[1]||(i[1]=f=>{var k;return(k=B())!=null&&k.isClosed?e.unref(s).resetSearch():""})}),{default:e.withCtx(()=>[t.multiselect?(e.openBlock(),e.createElementBlock("div",W,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,f=>(e.openBlock(),e.createBlock(H,{id:f.id,name:f.name,onDelete:e.unref(s).deleteItemById},null,8,["id","name","onDelete"]))),256))])):e.createCommentVNode("",!0),l.value!=="inline"&&!t.multiselect?(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(Array.isArray(a.value)?"":a.value.name),1)):e.createCommentVNode("",!0),t.multiselect&&!a.value.length?(e.openBlock(),e.createElementBlock("span",X,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0),t.addChanger&&!t.buttonProps&&!t.multiselect&&e.unref(s).items.value.length>1&&!t.disabled?(e.openBlock(),e.createElementBlock("span",{key:3,class:"top-changer top-changer-selector top-popup_widget","data-top-popup-disabled":"true",onClick:V})):e.createCommentVNode("",!0)]),_:1},16,["class","placeholder","modelValue"])),[[h,t.isError,void 0,{onupdate:!0}]])]),contentList:e.withCtx(()=>{var f;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).itemsForShow.value,k=>(e.openBlock(),e.createBlock(e.unref(T.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(a.value)&&!t.multiselect&&a.value.id===k.id&&a.value.name===k.name}),key:k.id??void 0,closeByClick:!t.multiselect||e.unref(C.Core).state.isMobile,onClick:me=>e.unref(s).selectItem(k)},{default:e.withCtx(()=>[t.$slots.item?e.renderSlot(t.$slots,"item",{key:0,item:k}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(k.name),1)],64))]),_:2},1032,["class","closeByClick","onClick"]))),128)),!e.unref(r).isLoading.value&&!e.unref(s).itemsForShow.value.length?(e.openBlock(),e.createBlock(e.unref(T.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0),e.unref(r).isLoading.value&&(t.searchType!=="popup"||(f=t.apiRequest)!=null&&f.params.offset)?(e.openBlock(),e.createBlock(e.unref(T.TopPopupListItem),{key:1,type:"regular"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.TopPreloader),{type:"circles"})]),_:1})):e.createCommentVNode("",!0)]}),_:2},[l.value==="popup"?{name:"widget",fn:e.withCtx(()=>{var f;return[e.createVNode(e.unref(T.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[2]||(i[2]=k=>e.unref(s).searchText.value=k),isLoading:e.unref(r).isLoading.value&&!((f=t.apiRequest)!=null&&f.params.offset),placeholder:c.value},null,8,["modelValue","isLoading","placeholder"])]}),key:"0"}:void 0]),1032,["notch"])}}}),Y=["data-top-icon"],q={class:"top-info_text"},Q={key:0,class:"top-info_value"},Z=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+o.size]:!0,["top-info-styling_"+o.styling]:!0}),"data-top-icon":o.icon},[e.createElementVNode("div",q,[e.renderSlot(o.$slots,"default")]),o.$slots.additional?(e.openBlock(),e.createElementBlock("span",Q,[e.renderSlot(o.$slots,"additional")])):e.createCommentVNode("",!0)],10,Y))}}),ee={key:0,class:"top-policy"},te={class:"top-policy_title"},oe=["innerHTML"],le=e.defineComponent({__name:"policy",props:{title:{},text:{}},setup(n){const o=e.ref(!0),a=()=>{const l=location.hostname.split(".").slice(-2).join(".");document.cookie=`cookie_consent=accepted; path=/; domain=.${l}; max-age=31536000`,o.value=!1};return(l,d)=>o.value?(e.openBlock(),e.createElementBlock("div",ee,[e.createElementVNode("div",te,e.toDisplayString(l.title),1),e.createElementVNode("div",{class:"top-policy_description",innerHTML:l.text},null,8,oe),e.createVNode(e.unref(C.TopButton),{size:"m",onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.$i18n.Common.Allow),1)]),_:1})])):e.createCommentVNode("",!0)}}),ne=_,ae=L,re=z,se=G,ie=J,ue=$._sfc_main,ce=Z,de=le;b.TopCheckboxGroup=se,b.TopEditArea=ne,b.TopEditInput=ae,b.TopInfo=ce,b.TopMenu=ue,b.TopPolicy=de,b.TopRadioGroup=re,b.TopSelector2=ie,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=formsExt.amd.js.map