@topvisor/ui 0.9.31-3 → 0.9.33-dev

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 (185) hide show
  1. package/.chunks/{datepicker-CCrqadMd.amd.js → datepicker-B2sjxM3R.amd.js} +29 -16
  2. package/.chunks/datepicker-B2sjxM3R.amd.js.map +1 -0
  3. package/.chunks/{datepicker-vwT52g9l.es.js → datepicker-V4rjmE4P.es.js} +44 -31
  4. package/.chunks/datepicker-V4rjmE4P.es.js.map +1 -0
  5. package/.chunks/forms-Dixfp052.amd.js +4 -0
  6. package/.chunks/forms-Dixfp052.amd.js.map +1 -0
  7. package/.chunks/forms-o7UeMJFf.es.js +1507 -0
  8. package/.chunks/forms-o7UeMJFf.es.js.map +1 -0
  9. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Fl7AM9wy.es.js → listItem.vue_vue_type_script_setup_true_lang-BliXIrA8.es.js} +2 -2
  10. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Fl7AM9wy.es.js.map → listItem.vue_vue_type_script_setup_true_lang-BliXIrA8.es.js.map} +1 -1
  11. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Cr9e1nzK.amd.js → listItem.vue_vue_type_script_setup_true_lang-C0tRJmSC.amd.js} +2 -2
  12. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Cr9e1nzK.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-C0tRJmSC.amd.js.map} +1 -1
  13. package/.chunks/{menu-CYVPcwEJ.es.js → menu-CHczkYl6.es.js} +2 -2
  14. package/.chunks/{menu-CYVPcwEJ.es.js.map → menu-CHczkYl6.es.js.map} +1 -1
  15. package/.chunks/{menu-BGUYnOx6.amd.js → menu-buQxcAhv.amd.js} +2 -2
  16. package/.chunks/{menu-BGUYnOx6.amd.js.map → menu-buQxcAhv.amd.js.map} +1 -1
  17. package/.chunks/{popup-CcxDRowY.amd.js → popup-BMNS1F2G.amd.js} +76 -22
  18. package/.chunks/popup-BMNS1F2G.amd.js.map +1 -0
  19. package/.chunks/{popup-kXOd0_xN.es.js → popup-CJLGyBwQ.es.js} +76 -22
  20. package/.chunks/popup-CJLGyBwQ.es.js.map +1 -0
  21. package/.chunks/{widgetInput-DfOBj0qz.amd.js → widgetInput-ASxjfQpi.amd.js} +2 -2
  22. package/.chunks/widgetInput-ASxjfQpi.amd.js.map +1 -0
  23. package/.chunks/{widgetInput-Dp8KRAPK.es.js → widgetInput-p8fSQGk9.es.js} +2 -2
  24. package/.chunks/widgetInput-p8fSQGk9.es.js.map +1 -0
  25. package/assets/core.css +1 -1
  26. package/assets/dark.css +1 -1
  27. package/assets/forms.css +1 -1
  28. package/assets/formsExt.css +1 -1
  29. package/assets/light.css +1 -1
  30. package/assets/menu.css +1 -1
  31. package/assets/tabs.css +1 -1
  32. package/assets/tabsView.css +1 -1
  33. package/assets/widgetInput.css +1 -1
  34. package/core/core.amd.js +1 -1
  35. package/core/core.js +1 -1
  36. package/forms/forms.amd.js +1 -1
  37. package/forms/forms.js +15 -14
  38. package/forms/forms.js.map +1 -1
  39. package/formsExt/formsExt.amd.js +1 -1
  40. package/formsExt/formsExt.amd.js.map +1 -1
  41. package/formsExt/formsExt.js +83 -82
  42. package/formsExt/formsExt.js.map +1 -1
  43. package/icomoon/demo.html +142 -2
  44. package/icomoon/fonts/Topvisor-2.svg +10 -0
  45. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  46. package/icomoon/fonts/Topvisor-2.woff +0 -0
  47. package/icomoon/selection.json +1 -1
  48. package/icomoon/style.css +33 -3
  49. package/package.json +22 -22
  50. package/popup/popup.amd.js +1 -1
  51. package/popup/popup.js +2 -2
  52. package/popup/worker.amd.js +1 -1
  53. package/popup/worker.js +2 -2
  54. package/project/project.amd.js +1 -1
  55. package/project/project.amd.js.map +1 -1
  56. package/project/project.js +33 -35
  57. package/project/project.js.map +1 -1
  58. package/src/components/forms/avatar/avatar.stories.d.ts +15 -14
  59. package/src/components/forms/avatar/avatar.vue.d.ts +7 -6
  60. package/src/components/forms/button/button.stories.d.ts +59 -57
  61. package/src/components/forms/button/button.vue.d.ts +10 -8
  62. package/src/components/forms/checkbox/checkbox.stories.d.ts +34 -33
  63. package/src/components/forms/checkbox/checkbox.vue.d.ts +17 -16
  64. package/src/components/forms/controlLabel/controlLabel.stories.d.ts +14 -13
  65. package/src/components/forms/controlLabel/controlLabel.vue.d.ts +4 -3
  66. package/src/components/forms/forms.d.ts +8 -0
  67. package/src/components/forms/hint/hint.stories.d.ts +43 -42
  68. package/src/components/forms/hint/hint.vue.d.ts +4 -3
  69. package/src/components/forms/input/input.stories.d.ts +64 -62
  70. package/src/components/forms/input/input.vue.d.ts +10 -8
  71. package/src/components/forms/inputDate/inputDate.stories.d.ts +31 -29
  72. package/src/components/forms/inputDate/inputDate.vue.d.ts +6 -5
  73. package/src/components/forms/inputRange/inputRange.stories.d.ts +93 -90
  74. package/src/components/forms/inputRange/inputRange.vue.d.ts +2 -1
  75. package/src/components/forms/loadbar/loadbar.stories.d.ts +2 -1
  76. package/src/components/forms/loadbar/loadbar.vue.d.ts +2 -1
  77. package/src/components/forms/radio/radio.stories.d.ts +32 -31
  78. package/src/components/forms/radio/radio.vue.d.ts +5 -4
  79. package/src/components/forms/select/select.stories.d.ts +24 -22
  80. package/src/components/forms/select/select.vue.d.ts +25 -22
  81. package/src/components/forms/switcher/switcher.stories.d.ts +32 -31
  82. package/src/components/forms/switcher/switcher.vue.d.ts +5 -4
  83. package/src/components/forms/textarea/textarea.stories.d.ts +24 -23
  84. package/src/components/forms/textarea/textarea.vue.d.ts +6 -5
  85. package/src/components/formsExt/editArea/editArea.stories.d.ts +40 -39
  86. package/src/components/formsExt/editArea/editArea.vue.d.ts +6 -5
  87. package/src/components/formsExt/editInput/editInput.stories.d.ts +22 -19
  88. package/src/components/formsExt/editInput/editInput.vue.d.ts +5 -4
  89. package/src/components/formsExt/menu/menu.stories.d.ts +15 -14
  90. package/src/components/formsExt/menu/menu.vue.d.ts +15 -14
  91. package/src/components/formsExt/radioGroup/radioGroup.stories.d.ts +16 -14
  92. package/src/components/formsExt/radioGroup/radioGroup.vue.d.ts +17 -14
  93. package/src/components/formsExt/selector2/itemMulti.vue.d.ts +5 -4
  94. package/src/components/formsExt/selector2/selector2.stories.d.ts +67 -65
  95. package/src/components/formsExt/selector2/selector2.vue.d.ts +33 -31
  96. package/src/components/popup/popup/listItem.vue.d.ts +5 -4
  97. package/src/components/popup/popup/opener.vue.d.ts +8 -7
  98. package/src/components/popup/popup/popup.stories.d.ts +218 -213
  99. package/src/components/popup/popup/popup.vue.d.ts +9 -8
  100. package/src/components/popup/popup/widgetInput.vue.d.ts +31 -28
  101. package/src/components/project/selectorCompetitors/composables.d.ts +5 -0
  102. package/src/components/project/selectorCompetitors/selectorCompetitors.d.ts +4 -2
  103. package/src/components/project/selectorCompetitors/selectorCompetitors.stories.d.ts +9 -8
  104. package/src/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +10 -8
  105. package/src/components/project/selectorCompetitors/stories/items.d.ts +2 -3
  106. package/src/components/project/selectorCompetitors/types/competitor.d.ts +7 -0
  107. package/src/components/tabs/tabs/content.vue.d.ts +4 -3
  108. package/src/components/tabs/tabs/tab.vue.d.ts +4 -3
  109. package/src/components/tabs/tabs/tabs.stories.d.ts +185 -182
  110. package/src/components/tabs/tabs/tabs.vue.d.ts +4 -3
  111. package/src/components/tabsView/tabsView/menu.vue.d.ts +7 -6
  112. package/src/components/tabsView/tabsView/menuDelimeter.vue.d.ts +2 -1
  113. package/src/components/tabsView/tabsView/menuItem.vue.d.ts +6 -5
  114. package/src/components/tabsView/tabsView/menuTitle.vue.d.ts +4 -3
  115. package/src/components/tabsView/tabsView/store.d.ts +124 -67
  116. package/src/components/tabsView/tabsView/tabsView.d.ts +1 -1
  117. package/src/components/tabsView/tabsView/tabsView.stories.d.ts +95 -94
  118. package/src/components/tabsView/tabsView/tabsView.vue.d.ts +13 -12
  119. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.d.ts +93 -92
  120. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.d.ts +45 -44
  121. package/src/core/core/core.d.ts +1 -0
  122. package/src/core/core/page.d.ts +4 -0
  123. package/src/core/core/plugin.d.ts +38 -0
  124. package/src/core/core/state.d.ts +4 -0
  125. package/src/core/utils/device.d.ts +6 -0
  126. package/src/core/utils/image.d.ts +12 -0
  127. package/src/core/utils/number.d.ts +7 -0
  128. package/src/core/utils/store/plugin.d.ts +2 -1
  129. package/src/core/utils/string.d.ts +4 -0
  130. package/tabs/tabs.amd.js +1 -1
  131. package/tabs/tabs.js +1 -1
  132. package/tabsView/tabsView.amd.js +1 -1
  133. package/tabsView/tabsView.amd.js.map +1 -1
  134. package/tabsView/tabsView.js +2 -2
  135. package/tabsView/tabsView.js.map +1 -1
  136. package/utils/check.amd.js +1 -1
  137. package/utils/check.amd.js.map +1 -1
  138. package/utils/check.js +5 -22
  139. package/utils/check.js.map +1 -1
  140. package/utils/date.amd.js +1 -1
  141. package/utils/date.js +4 -4
  142. package/utils/device.amd.js +1 -1
  143. package/utils/device.js +7 -6
  144. package/utils/image.amd.js +2 -0
  145. package/utils/image.amd.js.map +1 -0
  146. package/utils/image.d.ts +1 -0
  147. package/utils/image.js +13 -0
  148. package/utils/image.js.map +1 -0
  149. package/utils/number.amd.js +2 -0
  150. package/utils/number.amd.js.map +1 -0
  151. package/utils/number.d.ts +1 -0
  152. package/utils/number.js +9 -0
  153. package/utils/number.js.map +1 -0
  154. package/utils/scroll.amd.js +1 -1
  155. package/utils/scroll.js +1 -1
  156. package/utils/string.amd.js +1 -1
  157. package/utils/string.amd.js.map +1 -1
  158. package/utils/string.js +17 -128
  159. package/utils/string.js.map +1 -1
  160. package/utils/system.amd.js +1 -1
  161. package/utils/system.amd.js.map +1 -1
  162. package/utils/system.js +8 -8
  163. package/utils/system.js.map +1 -1
  164. package/utils/url.amd.js +1 -2
  165. package/utils/url.amd.js.map +1 -1
  166. package/utils/url.js +8 -173
  167. package/utils/url.js.map +1 -1
  168. package/utils/window.amd.js +1 -1
  169. package/utils/window.js +1 -1
  170. package/.chunks/datepicker-CCrqadMd.amd.js.map +0 -1
  171. package/.chunks/datepicker-vwT52g9l.es.js.map +0 -1
  172. package/.chunks/forms-0MQ_zU80.amd.js +0 -3
  173. package/.chunks/forms-0MQ_zU80.amd.js.map +0 -1
  174. package/.chunks/forms-DKvPSbG6.es.js +0 -1171
  175. package/.chunks/forms-DKvPSbG6.es.js.map +0 -1
  176. package/.chunks/popup-CcxDRowY.amd.js.map +0 -1
  177. package/.chunks/popup-kXOd0_xN.es.js.map +0 -1
  178. package/.chunks/widgetInput-DfOBj0qz.amd.js.map +0 -1
  179. package/.chunks/widgetInput-Dp8KRAPK.es.js.map +0 -1
  180. package/src/core/utils/common.d.ts +0 -21
  181. package/utils/common.amd.js +0 -2
  182. package/utils/common.amd.js.map +0 -1
  183. package/utils/common.d.ts +0 -1
  184. package/utils/common.js +0 -21
  185. package/utils/common.js.map +0 -1
package/icomoon/style.css CHANGED
@@ -1,9 +1,9 @@
1
1
  @font-face {
2
2
  font-family: 'Topvisor-2';
3
3
  src:
4
- url('fonts/Topvisor-2.ttf?309rt4') format('truetype'),
5
- url('fonts/Topvisor-2.woff?309rt4') format('woff'),
6
- url('fonts/Topvisor-2.svg?309rt4#Topvisor-2') format('svg');
4
+ url('fonts/Topvisor-2.ttf?iq1e5v') format('truetype'),
5
+ url('fonts/Topvisor-2.woff?iq1e5v') format('woff'),
6
+ url('fonts/Topvisor-2.svg?iq1e5v#Topvisor-2') format('svg');
7
7
  font-weight: normal;
8
8
  font-style: normal;
9
9
  font-display: block;
@@ -72,6 +72,27 @@
72
72
  .icon2-searcher-107:before {
73
73
  content: "\e989";
74
74
  }
75
+ .icon2-arrows-expand-horizontal:before {
76
+ content: "\e9e7";
77
+ }
78
+ .icon2-arrows-expand-vertical:before {
79
+ content: "\e9e8";
80
+ }
81
+ .icon2-arrows-in:before {
82
+ content: "\e9e9";
83
+ }
84
+ .icon2-arrows-out:before {
85
+ content: "\e9ea";
86
+ }
87
+ .icon2-arrows-vertical-up:before {
88
+ content: "\e9eb";
89
+ }
90
+ .icon2-chevron-contract:before {
91
+ content: "\e9ec";
92
+ }
93
+ .icon2-chevron-expand:before {
94
+ content: "\e9ed";
95
+ }
75
96
  .icon2-select:before {
76
97
  content: "\e9ce";
77
98
  }
@@ -162,6 +183,15 @@
162
183
  .icon2-snapshot:before {
163
184
  content: "\e91b";
164
185
  }
186
+ .icon2-circle:before {
187
+ content: "\e9e4";
188
+ }
189
+ .icon2-filled-circle:before {
190
+ content: "\e9e5";
191
+ }
192
+ .icon2-circles:before {
193
+ content: "\e9e6";
194
+ }
165
195
  .icon2-campaign:before {
166
196
  content: "\e9cf";
167
197
  }
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
- "name": "@topvisor/ui",
3
- "private": false,
4
- "version": "0.9.31-3",
5
- "type": "module",
6
- "description": "Topvisor UI-kit Vue",
7
- "author": "Topvisor",
8
- "keywords": [
9
- "topvisor",
10
- "vue",
11
- "ui framework",
12
- "component framework",
13
- "component library"
14
- ],
15
- "license": "MIT",
16
- "engines": {
17
- "npm": ">=10.0.0",
18
- "node": ">=22.0.0"
19
- },
20
- "peerDependencies": {
21
- "lodash": "^4.17.21",
22
- "vue": "^3.4.31"
23
- }
2
+ "name": "@topvisor/ui",
3
+ "private": false,
4
+ "version": "0.9.33-dev",
5
+ "type": "module",
6
+ "description": "Topvisor UI-kit Vue",
7
+ "author": "Topvisor",
8
+ "keywords": [
9
+ "topvisor",
10
+ "vue",
11
+ "ui framework",
12
+ "component framework",
13
+ "component library"
14
+ ],
15
+ "license": "MIT",
16
+ "engines": {
17
+ "npm": ">=10.0.0",
18
+ "node": ">=22.0.0"
19
+ },
20
+ "peerDependencies": {
21
+ "lodash": "^4.17.21",
22
+ "vue": "^3.4.38"
23
+ }
24
24
  }
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/listItem.vue_vue_type_script_setup_true_lang-Cr9e1nzK.amd","../.chunks/widgetInput-DfOBj0qz.amd"],function(d,n,e,i){"use strict";if(typeof u>"u")var u=window.Vue;n.Popup=e._sfc_main,n.PopupListItem=e._sfc_main$2,n.PopupOpener=e._sfc_main$1,n.PopupWidgetInput=i.PopupWidgetInput,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/listItem.vue_vue_type_script_setup_true_lang-C0tRJmSC.amd","../.chunks/widgetInput-ASxjfQpi.amd"],function(d,n,e,i){"use strict";if(typeof u>"u")var u=window.Vue;n.Popup=e._sfc_main,n.PopupListItem=e._sfc_main$2,n.PopupOpener=e._sfc_main$1,n.PopupWidgetInput=i.PopupWidgetInput,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=popup.amd.js.map
package/popup/popup.js CHANGED
@@ -1,5 +1,5 @@
1
- import { _ as e, b as t, a } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-Fl7AM9wy.es.js";
2
- import { P as s } from "../.chunks/widgetInput-Dp8KRAPK.es.js";
1
+ import { _ as e, b as t, a } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-BliXIrA8.es.js";
2
+ import { P as s } from "../.chunks/widgetInput-p8fSQGk9.es.js";
3
3
  export {
4
4
  e as Popup,
5
5
  t as PopupListItem,
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-0MQ_zU80.amd","../utils/dom.amd","../utils/scroll.amd"],function(require,exports,forms,utils_dom,utils_scroll){"use strict";if(typeof vue>"u")var vue=window.Vue;class WorkerEvents{static init(){document.addEventListener("mouseover",t=>{var o;!(t.target instanceof HTMLElement)||!((o=t.target.dataset)!=null&&o.topPopupOpenByHover)||t.target.click()}),document.addEventListener("scroll",()=>{forms.Core.state.isMobile||forms.Core.state.isMobileUA||Worker$1.getAll().forEach(t=>Worker$1.close(t))}),forms.Events.addOnReize(t=>{forms.Core.state.isMobile&&t.topEvent.widthDiff&&Worker$1.getAll().forEach(o=>Worker$1.close(o))}),document.addEventListener("click",this.onclick)}static async onclick(t){var p,a,r,s,n;if(!(t.target instanceof HTMLElement))return;let o;switch(!0){case!!((p=t.target.dataset)!=null&&p.topPopup):o=t.target;break;case!!((a=t.target.parentElement)!=null&&a.dataset.topPopup):o=t.target.parentElement;break;case!!((s=(r=t.target.parentElement)==null?void 0:r.parentElement)!=null&&s.dataset.topPopup):o=(n=t.target.parentElement)==null?void 0:n.parentElement;break}o&&(o.dataset.topPopupDisabled||o.dataset.topPopupOpened||(t.preventDefault(),await Worker$1.openByOpener(o)))}}let decoratorBeforeOpen,decoratorAfterOpen,decoratorIsIgnoreOuterClick,i18n={Close:"Close"};class Worker{static noClose=!1;static vueConnectors=new Map;static onInitApp(e){e&&(decoratorBeforeOpen=e.decoratorBeforeOpen,decoratorAfterOpen=e.decoratorAfterOpen,decoratorIsIgnoreOuterClick=e.decoratorIsIgnoreOuterClick,i18n=e.i18n)}static getPopup(e){return utils_dom.default.storage(e,"Popup")}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(e){if(!(e instanceof HTMLElement))return;const t={};return t.popup=e.dataset.topPopup,e.dataset.topPopupP&&(t.p=parseInt(e.dataset.topPopupP)),e.dataset.topPopupNotch&&(t.notch=e.dataset.topPopupNotch==="true"||e.dataset.topPopupNotch==="1"),e.dataset.topPopupClass&&(t.class=e.dataset.topPopupClass),e.dataset.topPopupPosBy&&(t.posBy=e.dataset.topPopupPosBy),e.dataset.topPopupFront&&(t.frontSelector=e.dataset.topPopupFront),e.dataset.topPopupInvertX&&(t.invertX=e.dataset.topPopupInvertX==="true"||e.dataset.topPopupInvertX==="1"),e.dataset.topPopupOpenByHover&&(t.openByHover=e.dataset.topPopupOpenByHover==="true"||e.dataset.topPopupOpenByHover==="1"),e.dataset.topPopupUseOriginal&&(t.useOriginal=e.dataset.topPopupUseOriginal==="true"||e.dataset.topPopupUseOriginal==="1"),await Worker.open(e,t)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened="opened");const{default:Popup}=await new Promise((e,t)=>require(["../.chunks/popup-CcxDRowY.amd"],e,t));if(forms.Core.$){const $elOpener=forms.Core.$(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,options.i18n=i18n,new Popup(elOpener,options)}static close(e){const t=Worker.getPopup(e);t&&t.close()}static recalcPosition(e){const t=Worker.getPopup(e);t&&t.elPopupBody instanceof HTMLElement&&(t.recalcPosition(),utils_scroll.genHasScroll(t.elPopupBody))}static scrollToActive(e){if(!utils_dom.default.querySelectorVisible(e,"ul.top-popup_content > li > .top-active"))return;const o=e.querySelector("ul.top-popup_content"),p=utils_dom.default.querySelectorAllVisible(e,"ul.top-popup_content > li");e.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>e.classList.remove("top-popup-wrapper-no_animate"),100);let a=100;for(const r of p){if(r.querySelector(":scope > .top-active"))break;r instanceof HTMLElement&&(a+=r.offsetHeight)}if(o instanceof HTMLElement){const r=o.offsetHeight;a>r?o.scrollTop=a-r:o.scrollTop=0}}static decoratorBeforeOpen(e){decoratorBeforeOpen&&decoratorBeforeOpen(e)}static decoratorAfterOpen(e){decoratorAfterOpen&&decoratorAfterOpen(e)}static decoratorIsIgnoreOuterClick(e){return decoratorIsIgnoreOuterClick?decoratorIsIgnoreOuterClick(e):!1}static regVueComponent(e,t){if(Worker.vueConnectors.get(e))throw"Vue component Popup use duplicated id: "+e;Worker.vueConnectors.set(e,t)}static unregVueComponent(e){Worker.vueConnectors.delete(e)}}WorkerEvents.init();const Worker$1=Worker;exports.PopupWorker=Worker$1,exports.default=Worker$1,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ define(["require","exports","../.chunks/forms-Dixfp052.amd","../utils/dom.amd","../utils/scroll.amd"],function(require,exports,forms,utils_dom,utils_scroll){"use strict";if(typeof vue>"u")var vue=window.Vue;class WorkerEvents{static init(){document.addEventListener("mouseover",t=>{var o;!(t.target instanceof HTMLElement)||!((o=t.target.dataset)!=null&&o.topPopupOpenByHover)||t.target.click()}),document.addEventListener("scroll",()=>{forms.Core.state.isMobile||forms.Core.state.isMobileUA||Worker$1.getAll().forEach(t=>Worker$1.close(t))}),forms.Events.addOnReize(t=>{forms.Core.state.isMobile&&t.topEvent.widthDiff&&Worker$1.getAll().forEach(o=>Worker$1.close(o))}),document.addEventListener("click",this.onclick)}static async onclick(t){var p,a,r,s,n;if(!(t.target instanceof HTMLElement))return;let o;switch(!0){case!!((p=t.target.dataset)!=null&&p.topPopup):o=t.target;break;case!!((a=t.target.parentElement)!=null&&a.dataset.topPopup):o=t.target.parentElement;break;case!!((s=(r=t.target.parentElement)==null?void 0:r.parentElement)!=null&&s.dataset.topPopup):o=(n=t.target.parentElement)==null?void 0:n.parentElement;break}o&&(o.dataset.topPopupDisabled||o.dataset.topPopupOpened||(t.preventDefault(),await Worker$1.openByOpener(o)))}}let decoratorBeforeOpen,decoratorAfterOpen,decoratorIsIgnoreOuterClick,i18n={Close:"Close"};class Worker{static noClose=!1;static vueConnectors=new Map;static onInitApp(e){e&&(decoratorBeforeOpen=e.decoratorBeforeOpen,decoratorAfterOpen=e.decoratorAfterOpen,decoratorIsIgnoreOuterClick=e.decoratorIsIgnoreOuterClick,i18n=e.i18n)}static getPopup(e){return utils_dom.default.storage(e,"Popup")}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(e){if(!(e instanceof HTMLElement))return;const t={};return t.popup=e.dataset.topPopup,e.dataset.topPopupP&&(t.p=parseInt(e.dataset.topPopupP)),e.dataset.topPopupNotch&&(t.notch=e.dataset.topPopupNotch==="true"||e.dataset.topPopupNotch==="1"),e.dataset.topPopupClass&&(t.class=e.dataset.topPopupClass),e.dataset.topPopupPosBy&&(t.posBy=e.dataset.topPopupPosBy),e.dataset.topPopupFront&&(t.frontSelector=e.dataset.topPopupFront),e.dataset.topPopupInvertX&&(t.invertX=e.dataset.topPopupInvertX==="true"||e.dataset.topPopupInvertX==="1"),e.dataset.topPopupOpenByHover&&(t.openByHover=e.dataset.topPopupOpenByHover==="true"||e.dataset.topPopupOpenByHover==="1"),e.dataset.topPopupUseOriginal&&(t.useOriginal=e.dataset.topPopupUseOriginal==="true"||e.dataset.topPopupUseOriginal==="1"),await Worker.open(e,t)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened="opened");const{default:Popup}=await new Promise((e,t)=>require(["../.chunks/popup-BMNS1F2G.amd"],e,t));if(forms.Core.$){const $elOpener=forms.Core.$(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,options.i18n=i18n,new Popup(elOpener,options)}static close(e){const t=Worker.getPopup(e);t&&t.close()}static recalcPosition(e){const t=Worker.getPopup(e);t&&t.elPopupBody instanceof HTMLElement&&(t.recalcPosition(),utils_scroll.genHasScroll(t.elPopupBody))}static scrollToActive(e){if(!utils_dom.default.querySelectorVisible(e,"ul.top-popup_content > li > .top-active"))return;const o=e.querySelector("ul.top-popup_content"),p=utils_dom.default.querySelectorAllVisible(e,"ul.top-popup_content > li");e.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>e.classList.remove("top-popup-wrapper-no_animate"),100);let a=100;for(const r of p){if(r.querySelector(":scope > .top-active"))break;r instanceof HTMLElement&&(a+=r.offsetHeight)}if(o instanceof HTMLElement){const r=o.offsetHeight;a>r?o.scrollTop=a-r:o.scrollTop=0}}static decoratorBeforeOpen(e){decoratorBeforeOpen&&decoratorBeforeOpen(e)}static decoratorAfterOpen(e){decoratorAfterOpen&&decoratorAfterOpen(e)}static decoratorIsIgnoreOuterClick(e){return decoratorIsIgnoreOuterClick?decoratorIsIgnoreOuterClick(e):!1}static regVueComponent(e,t){if(Worker.vueConnectors.get(e))throw"Vue component Popup use duplicated id: "+e;Worker.vueConnectors.set(e,t)}static unregVueComponent(e){Worker.vueConnectors.delete(e)}}WorkerEvents.init();const Worker$1=Worker;exports.PopupWorker=Worker$1,exports.default=Worker$1,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=worker.amd.js.map
package/popup/worker.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as Core, E as Events } from "../.chunks/forms-DKvPSbG6.es.js";
1
+ import { C as Core, E as Events } from "../.chunks/forms-o7UeMJFf.es.js";
2
2
  import DOM from "../utils/dom.js";
3
3
  import { genHasScroll } from "../utils/scroll.js";
4
4
  class WorkerEvents {
@@ -74,7 +74,7 @@ class Worker {
74
74
  */
75
75
  static async open(elOpener, options) {
76
76
  elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = "opened");
77
- const { default: Popup } = await import("../.chunks/popup-kXOd0_xN.es.js");
77
+ const { default: Popup } = await import("../.chunks/popup-CJLGyBwQ.es.js");
78
78
  if (Core.$) {
79
79
  const $elOpener = Core.$(elOpener);
80
80
  if ($elOpener.data("aftershow")) {
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-0MQ_zU80.amd","../.chunks/listItem.vue_vue_type_script_setup_true_lang-Cr9e1nzK.amd","../.chunks/menu-BGUYnOx6.amd","../require/css.amd!../assets/project.css"],function(y,r,e,n,a,m){"use strict";if(typeof e>"u")var e=window.Vue;const p={key:0,class:"top-selectorCompetitors"},d={class:"top-ellipsis"},f=e.defineComponent({__name:"selectorCompetitors",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(i){const C=i,o=e.useModel(i,"modelValue"),_=e.computed(()=>{if(C.showSelectAllItem)return{icon:"",title:"Выбрать все",value:"all",content:""}});return(s,u)=>s.items.length>1?(e.openBlock(),e.createElementBlock("div",p,[e.unref(n.Core).state.isMobile?(e.openBlock(),e.createBlock(a._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(n.Button,{class:"top-selectorCompetitors_opener top-select_arrow",color:"theme",icon:""},{default:e.withCtx(()=>{var t;return[e.createTextVNode(e.toDisplayString((t=s.items.find(c=>{var l;return c.value===((l=o.value)==null?void 0:l[0])}))==null?void 0:t.content),1)]}),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.items,(t,c)=>{var l;return e.openBlock(),e.createBlock(a._sfc_main$2,{class:e.normalizeClass({"top-ellipsis":!0,"top-active":(l=o.value)==null?void 0:l.includes(t.value)}),"data-top-icon2":c===0?"":"",onClick:()=>o.value=[t.value]},{default:e.withCtx(()=>[e.createElementVNode("span",d,e.toDisplayString(t.content),1)]),_:2},1032,["class","data-top-icon2","onClick"])}),256))]),_:1})):(e.openBlock(),e.createBlock(m.Menu,{key:1,modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=t=>o.value=t),items:s.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:_.value},null,8,["modelValue","items","selectAllItem"]))])):e.createCommentVNode("",!0)}}),k={$style:{"top-selectorCompetitors_opener":"top-selectorCompetitors_opener","top-button":"top-button"}},v=n._export_sfc(f,[["__cssModules",k]]);r.SelectorCompetitors=v,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-Dixfp052.amd","../.chunks/listItem.vue_vue_type_script_setup_true_lang-C0tRJmSC.amd","../.chunks/menu-buQxcAhv.amd","../require/css.amd!../assets/project.css"],function(y,c,e,s,i,p){"use strict";if(typeof e>"u")var e=window.Vue;const d={class:"top-selectorCompetitors"},m={class:"top-ellipsis1"},f=e.defineComponent({__name:"selectorCompetitors",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const C=a,o=e.useModel(a,"modelValue"),_=e.computed(()=>{if(C.showSelectAllItem)return{icon:"",title:"Select all",value:"all",content:""}});return(n,r)=>(e.openBlock(),e.createElementBlock("div",d,[e.unref(s.Core).state.isMobile?(e.openBlock(),e.createBlock(i._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(s.Button,{class:"top-selectorCompetitors_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>{var t;return[e.createTextVNode(e.toDisplayString((t=n.items.find(u=>{var l;return u.value===((l=o.value)==null?void 0:l[0])}))==null?void 0:t.content),1)]}),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.items,(t,u)=>{var l;return e.openBlock(),e.createBlock(i._sfc_main$2,{class:e.normalizeClass({"top-active":(l=o.value)==null?void 0:l.includes(t.value)}),"data-top-icon":t.icon,title:t.title,onClick:()=>o.value=[t.value]},{default:e.withCtx(()=>[e.createElementVNode("span",m,e.toDisplayString(t.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"])}),256))]),_:1})):(e.openBlock(),e.createBlock(p.Menu,{key:1,modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=t=>o.value=t),items:n.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:_.value},null,8,["modelValue","items","selectAllItem"]))]))}}),k={$style:{"top-selectorCompetitors_opener":"top-selectorCompetitors_opener","top-button":"top-button"}},v=s._export_sfc(f,[["__cssModules",k]]);c.SelectorCompetitors=v,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=project.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.amd.js","sources":["../../src/components/project/selectorCompetitors/selectorCompetitors.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Props } from './selectorCompetitors';\nimport Core from '@/core/core/core';\nimport Button from '@/components/forms/button/button.vue';\nimport Popup from '@/components/popup/popup/popup.vue';\nimport ListItem from '@/components/popup/popup/listItem.vue';\nimport Menu from '@/components/formsExt/menu/menu.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tshowSelectAllItem: true,\n});\nconst model = defineModel<Props['modelValue']>();\n\nconst selectAllItem = computed(() => {\n\tif (props.showSelectAllItem) {\n\t\treturn {\n\t\t\ticon: '',\n\t\t\ttitle: 'Выбрать все', // ### TODO: сделать перевод\n\t\t\tvalue: 'all',\n\t\t\tcontent: '',\n\t\t};\n\t}\n});\n</script>\n\n<template>\n\t<div\n\t\tv-if=\"items.length > 1\"\n\t\tclass=\"top-selectorCompetitors\"\n\t>\n\t\t<Popup v-if=\"Core.state.isMobile\">\n\t\t\t<template #opener>\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"top-selectorCompetitors_opener top-select_arrow\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\ticon=\"\"\n\t\t\t\t>\n\t\t\t\t\t{{ items.find((item) => item.value === model?.[0])?.content }}\n\t\t\t\t</Button>\n\t\t\t</template>\n\n\t\t\t<template #contentList>\n\t\t\t\t<ListItem\n\t\t\t\t\tv-for=\"(item, index) in items\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'top-ellipsis': true,\n\t\t\t\t\t\t\t'top-active': model?.includes(item.value)\n\t\t\t\t\t\t}\"\n\t\t\t\t\t:data-top-icon2=\"index === 0 ? '' : ''\"\n\t\t\t\t\t@click=\"() => model = [item.value]\"\n\t\t\t\t>\n\t\t\t\t\t\t<span class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ item.content }}\n\t\t\t\t\t\t</span>\n\t\t\t\t</ListItem>\n\t\t\t</template>\n\t\t</Popup>\n\t\t<Menu\n\t\t\tv-else\n\t\t\tv-model=\"model\"\n\t\t\t:items=\"items\"\n\t\t\t:isMultiple=\"true\"\n\t\t\tstyling=\"bar\"\n\t\t\t:canBeEmptyMultiple=\"false\"\n\t\t\t:selectAllItem=\"selectAllItem\"\n\t\t/>\n\t</div>\n</template>\n\n<style module>\n.top-selectorCompetitors_opener.top-button {\n\twidth: 100%;\n}\n</style>"],"names":["props","__props","selectAllItem","vue"],"mappings":"ojBASA,MAAAA,EAAAC,+BAKAC,EAAAC,EAAA,SAAA,IAAA,CACC,GAAAH,EAAA,kBACC,MAAA,oDAIU,CAEX,CAAA"}
1
+ {"version":3,"file":"project.amd.js","sources":["../../src/components/project/selectorCompetitors/selectorCompetitors.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Props } from './selectorCompetitors';\nimport Core from '@/core/core/core';\nimport Button from '@/components/forms/button/button.vue';\nimport Popup from '@/components/popup/popup/popup.vue';\nimport ListItem from '@/components/popup/popup/listItem.vue';\nimport Menu from '@/components/formsExt/menu/menu.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tshowSelectAllItem: true,\n});\nconst model = defineModel<Props['modelValue']>();\n\nconst selectAllItem = computed(() => {\n\tif (props.showSelectAllItem) {\n\t\treturn {\n\t\t\ticon: '',\n\t\t\ttitle: 'Select all', // ### TODO: translate\n\t\t\tvalue: 'all',\n\t\t\tcontent: '',\n\t\t};\n\t}\n});\n</script>\n\n<template>\n\t<div class=\"top-selectorCompetitors\">\n\t\t<Popup v-if=\"Core.state.isMobile\">\n\t\t\t<template #opener>\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"top-selectorCompetitors_opener\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\ticon=\"\"\n\t\t\t\t\ticon2=\"\"\n\t\t\t\t>\n\t\t\t\t\t{{ items.find((item) => item.value === model?.[0])?.content }}\n\t\t\t\t</Button>\n\t\t\t</template>\n\n\t\t\t<template #contentList>\n\t\t\t\t<ListItem\n\t\t\t\t\tv-for=\"(item, index) in items\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'top-active': model?.includes(item.value)\n\t\t\t\t\t}\"\n\t\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t\t\t:title=\"item.title\"\n\t\t\t\t\t@click=\"() => model = [item.value]\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"top-ellipsis1\">\n\t\t\t\t\t\t{{ item.content }}\n\t\t\t\t\t</span>\n\t\t\t\t</ListItem>\n\t\t\t</template>\n\t\t</Popup>\n\n\t\t<Menu\n\t\t\tv-else\n\t\t\tv-model=\"model\"\n\t\t\t:items=\"items\"\n\t\t\t:isMultiple=\"true\"\n\t\t\tstyling=\"bar\"\n\t\t\t:canBeEmptyMultiple=\"false\"\n\t\t\t:selectAllItem=\"selectAllItem\"\n\t\t/>\n\t</div>\n</template>\n\n<style module>\n.top-selectorCompetitors_opener.top-button {\n\twidth: 100%;\n}\n</style>"],"names":["props","__props","selectAllItem","vue"],"mappings":"+iBASA,MAAAA,EAAAC,+BAKAC,EAAAC,EAAA,SAAA,IAAA,CACC,GAAAH,EAAA,kBACC,MAAA,mDAIU,CAEX,CAAA"}
@@ -1,14 +1,11 @@
1
1
  import { insertToPage as f } from "../utils/css.js";
2
- import { defineComponent as C, mergeModels as v, useModel as V, computed as M, openBlock as s, createElementBlock as c, unref as y, createBlock as i, withCtx as a, createVNode as k, createTextVNode as g, toDisplayString as p, Fragment as B, renderList as h, normalizeClass as I, createElementVNode as S, createCommentVNode as b } from "vue";
3
- import { C as A, B as N, a as w } from "../.chunks/forms-DKvPSbG6.es.js";
4
- import { _ as E, b as T } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-Fl7AM9wy.es.js";
5
- import { M as $ } from "../.chunks/menu-CYVPcwEJ.es.js";
6
- const _ = ["../assets/project.css"].map((l) => import.meta.resolve(l));
2
+ import { defineComponent as C, mergeModels as v, useModel as M, computed as V, openBlock as l, createElementBlock as m, unref as y, createBlock as r, withCtx as a, createVNode as k, createTextVNode as B, toDisplayString as p, Fragment as S, renderList as g, normalizeClass as I, createElementVNode as b } from "vue";
3
+ import { C as h, B as A, a as N } from "../.chunks/forms-o7UeMJFf.es.js";
4
+ import { _ as w, b as x } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-BliXIrA8.es.js";
5
+ import { M as E } from "../.chunks/menu-CHczkYl6.es.js";
6
+ const _ = ["../assets/project.css"].map((s) => import.meta.resolve(s));
7
7
  f(_, !0);
8
- const L = {
9
- key: 0,
10
- class: "top-selectorCompetitors"
11
- }, P = { class: "top-ellipsis" }, U = /* @__PURE__ */ C({
8
+ const T = { class: "top-selectorCompetitors" }, $ = { class: "top-ellipsis1" }, L = /* @__PURE__ */ C({
12
9
  __name: "selectorCompetitors",
13
10
  props: /* @__PURE__ */ v({
14
11
  modelValue: {},
@@ -19,31 +16,32 @@ const L = {
19
16
  modelModifiers: {}
20
17
  }),
21
18
  emits: ["update:modelValue"],
22
- setup(l) {
23
- const u = l, t = V(l, "modelValue"), d = M(() => {
19
+ setup(s) {
20
+ const u = s, t = M(s, "modelValue"), d = V(() => {
24
21
  if (u.showSelectAllItem)
25
22
  return {
26
23
  icon: "",
27
- title: "Выбрать все",
28
- // ### TODO: сделать перевод
24
+ title: "Select all",
25
+ // ### TODO: translate
29
26
  value: "all",
30
27
  content: ""
31
28
  };
32
29
  });
33
- return (r, m) => r.items.length > 1 ? (s(), c("div", L, [
34
- y(A).state.isMobile ? (s(), i(E, { key: 0 }, {
30
+ return (n, i) => (l(), m("div", T, [
31
+ y(h).state.isMobile ? (l(), r(w, { key: 0 }, {
35
32
  opener: a(() => [
36
- k(N, {
37
- class: "top-selectorCompetitors_opener top-select_arrow",
33
+ k(A, {
34
+ class: "top-selectorCompetitors_opener",
38
35
  color: "theme",
39
- icon: ""
36
+ icon: "",
37
+ icon2: ""
40
38
  }, {
41
39
  default: a(() => {
42
40
  var e;
43
41
  return [
44
- g(p((e = r.items.find((n) => {
42
+ B(p((e = n.items.find((c) => {
45
43
  var o;
46
- return n.value === ((o = t.value) == null ? void 0 : o[0]);
44
+ return c.value === ((o = t.value) == null ? void 0 : o[0]);
47
45
  })) == null ? void 0 : e.content), 1)
48
46
  ];
49
47
  }),
@@ -51,43 +49,43 @@ const L = {
51
49
  })
52
50
  ]),
53
51
  contentList: a(() => [
54
- (s(!0), c(B, null, h(r.items, (e, n) => {
52
+ (l(!0), m(S, null, g(n.items, (e, c) => {
55
53
  var o;
56
- return s(), i(T, {
54
+ return l(), r(x, {
57
55
  class: I({
58
- "top-ellipsis": !0,
59
56
  "top-active": (o = t.value) == null ? void 0 : o.includes(e.value)
60
57
  }),
61
- "data-top-icon2": n === 0 ? "" : "",
58
+ "data-top-icon": e.icon,
59
+ title: e.title,
62
60
  onClick: () => t.value = [e.value]
63
61
  }, {
64
62
  default: a(() => [
65
- S("span", P, p(e.content), 1)
63
+ b("span", $, p(e.content), 1)
66
64
  ]),
67
65
  _: 2
68
- }, 1032, ["class", "data-top-icon2", "onClick"]);
66
+ }, 1032, ["class", "data-top-icon", "title", "onClick"]);
69
67
  }), 256))
70
68
  ]),
71
69
  _: 1
72
- })) : (s(), i($, {
70
+ })) : (l(), r(E, {
73
71
  key: 1,
74
72
  modelValue: t.value,
75
- "onUpdate:modelValue": m[0] || (m[0] = (e) => t.value = e),
76
- items: r.items,
73
+ "onUpdate:modelValue": i[0] || (i[0] = (e) => t.value = e),
74
+ items: n.items,
77
75
  isMultiple: !0,
78
76
  styling: "bar",
79
77
  canBeEmptyMultiple: !1,
80
78
  selectAllItem: d.value
81
79
  }, null, 8, ["modelValue", "items", "selectAllItem"]))
82
- ])) : b("", !0);
80
+ ]));
83
81
  }
84
- }), j = {
82
+ }), P = {
85
83
  "top-selectorCompetitors_opener": "top-selectorCompetitors_opener",
86
84
  "top-button": "top-button"
87
- }, x = {
88
- $style: j
89
- }, H = /* @__PURE__ */ w(U, [["__cssModules", x]]);
85
+ }, U = {
86
+ $style: P
87
+ }, G = /* @__PURE__ */ N(L, [["__cssModules", U]]);
90
88
  export {
91
- H as SelectorCompetitors
89
+ G as SelectorCompetitors
92
90
  };
93
91
  //# sourceMappingURL=project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sources":["../../src/components/project/selectorCompetitors/selectorCompetitors.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Props } from './selectorCompetitors';\nimport Core from '@/core/core/core';\nimport Button from '@/components/forms/button/button.vue';\nimport Popup from '@/components/popup/popup/popup.vue';\nimport ListItem from '@/components/popup/popup/listItem.vue';\nimport Menu from '@/components/formsExt/menu/menu.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tshowSelectAllItem: true,\n});\nconst model = defineModel<Props['modelValue']>();\n\nconst selectAllItem = computed(() => {\n\tif (props.showSelectAllItem) {\n\t\treturn {\n\t\t\ticon: '',\n\t\t\ttitle: 'Выбрать все', // ### TODO: сделать перевод\n\t\t\tvalue: 'all',\n\t\t\tcontent: '',\n\t\t};\n\t}\n});\n</script>\n\n<template>\n\t<div\n\t\tv-if=\"items.length > 1\"\n\t\tclass=\"top-selectorCompetitors\"\n\t>\n\t\t<Popup v-if=\"Core.state.isMobile\">\n\t\t\t<template #opener>\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"top-selectorCompetitors_opener top-select_arrow\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\ticon=\"\"\n\t\t\t\t>\n\t\t\t\t\t{{ items.find((item) => item.value === model?.[0])?.content }}\n\t\t\t\t</Button>\n\t\t\t</template>\n\n\t\t\t<template #contentList>\n\t\t\t\t<ListItem\n\t\t\t\t\tv-for=\"(item, index) in items\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'top-ellipsis': true,\n\t\t\t\t\t\t\t'top-active': model?.includes(item.value)\n\t\t\t\t\t\t}\"\n\t\t\t\t\t:data-top-icon2=\"index === 0 ? '' : ''\"\n\t\t\t\t\t@click=\"() => model = [item.value]\"\n\t\t\t\t>\n\t\t\t\t\t\t<span class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ item.content }}\n\t\t\t\t\t\t</span>\n\t\t\t\t</ListItem>\n\t\t\t</template>\n\t\t</Popup>\n\t\t<Menu\n\t\t\tv-else\n\t\t\tv-model=\"model\"\n\t\t\t:items=\"items\"\n\t\t\t:isMultiple=\"true\"\n\t\t\tstyling=\"bar\"\n\t\t\t:canBeEmptyMultiple=\"false\"\n\t\t\t:selectAllItem=\"selectAllItem\"\n\t\t/>\n\t</div>\n</template>\n\n<style module>\n.top-selectorCompetitors_opener.top-button {\n\twidth: 100%;\n}\n</style>"],"names":["props","__props","model","useModel","selectAllItem","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AASA,UAAAA,IAAAC,GAGAC,IAAAC,EAAAF,GAAA,YAAA,GAEAG,IAAAC,EAAA,MAAA;AACC,UAAAL,EAAA;AACC,eAAA;AAAA,UAAO,MAAA;AAAA,UACA,OAAA;AAAA;AAAA,UACC,OAAA;AAAA,UACA,SAAA;AAAA,QACE;AAAA,IAEX,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"project.js","sources":["../../src/components/project/selectorCompetitors/selectorCompetitors.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Props } from './selectorCompetitors';\nimport Core from '@/core/core/core';\nimport Button from '@/components/forms/button/button.vue';\nimport Popup from '@/components/popup/popup/popup.vue';\nimport ListItem from '@/components/popup/popup/listItem.vue';\nimport Menu from '@/components/formsExt/menu/menu.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tshowSelectAllItem: true,\n});\nconst model = defineModel<Props['modelValue']>();\n\nconst selectAllItem = computed(() => {\n\tif (props.showSelectAllItem) {\n\t\treturn {\n\t\t\ticon: '',\n\t\t\ttitle: 'Select all', // ### TODO: translate\n\t\t\tvalue: 'all',\n\t\t\tcontent: '',\n\t\t};\n\t}\n});\n</script>\n\n<template>\n\t<div class=\"top-selectorCompetitors\">\n\t\t<Popup v-if=\"Core.state.isMobile\">\n\t\t\t<template #opener>\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"top-selectorCompetitors_opener\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\ticon=\"\"\n\t\t\t\t\ticon2=\"\"\n\t\t\t\t>\n\t\t\t\t\t{{ items.find((item) => item.value === model?.[0])?.content }}\n\t\t\t\t</Button>\n\t\t\t</template>\n\n\t\t\t<template #contentList>\n\t\t\t\t<ListItem\n\t\t\t\t\tv-for=\"(item, index) in items\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'top-active': model?.includes(item.value)\n\t\t\t\t\t}\"\n\t\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t\t\t:title=\"item.title\"\n\t\t\t\t\t@click=\"() => model = [item.value]\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"top-ellipsis1\">\n\t\t\t\t\t\t{{ item.content }}\n\t\t\t\t\t</span>\n\t\t\t\t</ListItem>\n\t\t\t</template>\n\t\t</Popup>\n\n\t\t<Menu\n\t\t\tv-else\n\t\t\tv-model=\"model\"\n\t\t\t:items=\"items\"\n\t\t\t:isMultiple=\"true\"\n\t\t\tstyling=\"bar\"\n\t\t\t:canBeEmptyMultiple=\"false\"\n\t\t\t:selectAllItem=\"selectAllItem\"\n\t\t/>\n\t</div>\n</template>\n\n<style module>\n.top-selectorCompetitors_opener.top-button {\n\twidth: 100%;\n}\n</style>"],"names":["props","__props","model","useModel","selectAllItem","computed"],"mappings":";;;;;;;;;;;;;;;;;;;AASA,UAAAA,IAAAC,GAGAC,IAAAC,EAAAF,GAAA,YAAA,GAEAG,IAAAC,EAAA,MAAA;AACC,UAAAL,EAAA;AACC,eAAA;AAAA,UAAO,MAAA;AAAA,UACA,OAAA;AAAA;AAAA,UACC,OAAA;AAAA,UACA,SAAA;AAAA,QACE;AAAA,IAEX,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { StoryObj } from '@storybook/vue3';
2
+ import { DefineComponent, PropType, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
2
3
 
3
4
  import * as ComponentsConst from './avatar';
4
5
  /**
@@ -7,26 +8,26 @@ import * as ComponentsConst from './avatar';
7
8
  * Рекомендуемый размер изображения: 128x128
8
9
  */
9
10
  declare const meta: {
10
- component: import('vue').DefineComponent<{
11
+ component: DefineComponent<{
11
12
  image: {
12
- type: import('vue').PropType<string>;
13
+ type: PropType<string>;
13
14
  required: true;
14
15
  };
15
16
  size: {
16
- type: import('vue').PropType<ComponentsConst.Size>;
17
+ type: PropType<ComponentsConst.Size>;
17
18
  default: number;
18
19
  };
19
20
  nickname: {
20
- type: import('vue').PropType<string>;
21
+ type: PropType<string>;
21
22
  };
22
23
  isOnline: {
23
- type: import('vue').PropType<boolean>;
24
+ type: PropType<boolean>;
24
25
  };
25
26
  lastActiveTime: {
26
- type: import('vue').PropType<string>;
27
+ type: PropType<string>;
27
28
  };
28
29
  i18n: {
29
- type: import('vue').PropType<{
30
+ type: PropType<{
30
31
  Online: string;
31
32
  LastSeen: string;
32
33
  }>;
@@ -35,26 +36,26 @@ declare const meta: {
35
36
  LastSeen: string;
36
37
  };
37
38
  };
38
- }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
39
+ }, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
39
40
  image: {
40
- type: import('vue').PropType<string>;
41
+ type: PropType<string>;
41
42
  required: true;
42
43
  };
43
44
  size: {
44
- type: import('vue').PropType<ComponentsConst.Size>;
45
+ type: PropType<ComponentsConst.Size>;
45
46
  default: number;
46
47
  };
47
48
  nickname: {
48
- type: import('vue').PropType<string>;
49
+ type: PropType<string>;
49
50
  };
50
51
  isOnline: {
51
- type: import('vue').PropType<boolean>;
52
+ type: PropType<boolean>;
52
53
  };
53
54
  lastActiveTime: {
54
- type: import('vue').PropType<string>;
55
+ type: PropType<string>;
55
56
  };
56
57
  i18n: {
57
- type: import('vue').PropType<{
58
+ type: PropType<{
58
59
  Online: string;
59
60
  LastSeen: string;
60
61
  }>;
@@ -1,19 +1,20 @@
1
- import { Props } from './avatar';
1
+ import { Props, Size } from './avatar';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
2
3
 
3
- declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
4
+ declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
4
5
  size: number;
5
6
  i18n: () => {
6
7
  Online: string;
7
8
  LastSeen: string;
8
9
  };
9
- }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
10
+ }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
10
11
  size: number;
11
12
  i18n: () => {
12
13
  Online: string;
13
14
  LastSeen: string;
14
15
  };
15
16
  }>>>, {
16
- size: import('./avatar').Size;
17
+ size: Size;
17
18
  i18n: {
18
19
  Online: string;
19
20
  LastSeen: string;
@@ -23,9 +24,9 @@ export default _default;
23
24
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
24
25
  type __VLS_TypePropsToRuntimeProps<T> = {
25
26
  [K in keyof T]-?: {} extends Pick<T, K> ? {
26
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
27
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
27
28
  } : {
28
- type: import('vue').PropType<T[K]>;
29
+ type: PropType<T[K]>;
29
30
  required: true;
30
31
  };
31
32
  };